gjy 3 tahun lalu
induk
melakukan
3a66936023
48 mengubah file dengan 20435 tambahan dan 20535 penghapusan
  1. 6 1
      src/api/V2/statisticalReport/index.js
  2. 2 0
      src/api/common/index.js
  3. 5 1
      src/model/signIn/index.js
  4. 10 1
      src/model/statisticalReport/index.js
  5. 854 889
      src/views/contractManagement/futuresPurchaseContract.vue
  6. 1576 1628
      src/views/contractManagement/futuresPurchaseContractAdd.vue
  7. 92 35
      src/views/contractManagement/futuresPurchaseContractEdit.vue
  8. 855 890
      src/views/contractManagement/futuresSalesContract.vue
  9. 1832 1654
      src/views/contractManagement/futuresSalesContractAdd.vue
  10. 1422 1569
      src/views/contractManagement/futuresSalesContractEdit.vue
  11. 745 634
      src/views/contractManagement/priceConfirmationSheetAdd.vue
  12. 806 793
      src/views/contractManagement/purchaseContract.vue
  13. 1485 1537
      src/views/contractManagement/purchaseContractAdd.vue
  14. 6 4
      src/views/contractManagement/purchaseContractEdit.vue
  15. 4 4
      src/views/contractManagement/purchaseContractExamine.vue
  16. 835 795
      src/views/contractManagement/salesContract.vue
  17. 1466 1633
      src/views/contractManagement/salesContractAdd.vue
  18. 1303 1371
      src/views/contractManagement/salesContractEdit.vue
  19. 20 5
      src/views/contractManagement/salesContractExamine.vue
  20. 362 391
      src/views/houseSelfCollect/inspectionManagement.vue
  21. 6 6
      src/views/houseSelfCollect/paymentManagement.vue
  22. 389 415
      src/views/houseSelfCollect/weighingManagement.vue
  23. 715 1030
      src/views/login/index.vue
  24. 1 0
      src/views/outboundManagement/collectionManagement.vue
  25. 1 1
      src/views/outboundManagement/weighingManagement.vue
  26. 37 6
      src/views/statisticalReport/autoSettlementList.vue
  27. 256 128
      src/views/statisticalReport/huoyunList.vue
  28. 166 30
      src/views/statisticalReport/shippingList.vue
  29. 1 1
      src/views/statisticalReport/stockSaleOutReportList.vue
  30. 3 3
      src/views/taskManagement/tranManagementTransport.vue
  31. 142 138
      src/views/taskManagement/tranManagementTransportAdd.vue
  32. 77 76
      src/views/taskManagement/tranManagementTransportEdit.vue
  33. 4 4
      src/views/taskManagement/tranManagementWarehouseInOutTask.vue
  34. 1793 1775
      src/views/taskManagement/tranManagementWarehouseInOutTaskAdd.vue
  35. 997 967
      src/views/tranManagement/tranManagementFireFeedback.vue
  36. 2 1
      src/views/tranManagement/tranManagementFireReceivingFeedback.vue
  37. 2 2
      src/views/tranManagement/tranManagementReceivingFeedback.vue
  38. 3 3
      src/views/tranManagement/tranManagementReceivingloading.vue
  39. 2 2
      src/views/tranManagement/tranManagementShipping.vue
  40. 12 12
      src/views/tranManagement/tranManagementShippingArrangemen.vue
  41. 1056 1049
      src/views/tranManagement/tranManagementShippingFeedback.vue
  42. 17 0
      src/views/tranManagement/tranManagementShippingLook.vue
  43. 1032 1017
      src/views/tranManagement/tranManagementTransporFeedback.vue
  44. 2 2
      src/views/tranManagement/tranManagementTransporHairRespond.vue
  45. 17 0
      src/views/tranManagement/tranManagementTransporTrainDetails.vue
  46. 9 1
      src/views/tranManagement/tranManagementTransporTrainNo.vue
  47. 1 0
      src/views/tranManagement/tranManagementUnShippingFeedback.vue
  48. 6 31
      src/views/tranManagement/tranManagementVehicleDispatching.vue

+ 6 - 1
src/api/V2/statisticalReport/index.js

@@ -93,4 +93,9 @@ export const API_POST_DISORREMARKS = '/stockSaleReceiptReport/api/disAndRemark'
 export const API_POST_SALEEDITSETTLEMENTWEIGHT = '/stockSaleReceiptReport/api/editSettlementWeight'
 //现货销售出库合同下拉
 export const API_GET_STOCK_SALE_CONTRACTNO = '/stockSaleReceiptReport/selectContractNoList'
-
+// 火运,船运合同编号下拉
+export const API_GET_YUNSHUXIALA = '/tranTaskInfo/selectTranTask'
+// 火运,船运运输编号下拉
+export const API_GET_YUNSHUNUMBER = '/tranTaskInfo/selectTask'
+// 火运,船运实际价格
+export const API_POST_YUNSHUSETPRICE = '/tranProcessInfo/api/setUpTranPrice'

+ 2 - 0
src/api/common/index.js

@@ -99,3 +99,5 @@ export const API_POST_UPLOADFILES = `/appendix/api/uploadFiles`
 export const API_POST_DELETEFILES = `/appendix/api/deleteFiles`
 // 上传附件
 export const API_POST_OTHERUPLOADFILES = `/appendix/api/uploadFiles`
+//获取公司下拉列表
+export const API_GET_API_COMPLIST = `/commonUser/getComp`

+ 5 - 1
src/model/signIn/index.js

@@ -13,7 +13,8 @@ import {
   API_POST_VERICODE_API_SENDREGISTERCODE,
   API_POST_AUTH_API_GETTENANTINFOBYUSER,
   API_GET_COMPANY_COMPANYINFOBYDOMAINNAME,
-  API_GET_SYSTEM_FINDVESSELSYSVERSION
+  API_GET_SYSTEM_FINDVESSELSYSVERSION,
+  API_GET_API_COMPLIST
 } from '@/api/common'
 import { API_POST_REGISTER } from '@/api/V2/operation'
 // 登录页注册接口
@@ -34,3 +35,6 @@ export const getTenantInfoByUser = appRx.post(API_POST_AUTH_API_GETTENANTINFOBYU
 // 通过域名获取公司信息
 export const getCompanyInfo = appRx.get(API_GET_COMPANY_COMPANYINFOBYDOMAINNAME, errorCatcher, errorHandle, filter)
 export const findVesselSysVersion = appRx.get(API_GET_SYSTEM_FINDVESSELSYSVERSION, errorCatcher, errorHandle, filter)
+
+//获取公司下拉列表
+export const getcompList = appRx.get(API_GET_API_COMPLIST, errorCatcher, errorHandle, filter)

+ 10 - 1
src/model/statisticalReport/index.js

@@ -43,7 +43,10 @@ import {
     API_POST_STOCKSALECOLLECTMONEY,
     API_POST_DISORREMARKS,
     API_POST_SALEEDITSETTLEMENTWEIGHT,
-    API_GET_STOCK_SALE_CONTRACTNO
+    API_GET_STOCK_SALE_CONTRACTNO,
+    API_GET_YUNSHUXIALA,
+    API_GET_YUNSHUNUMBER,
+    API_POST_YUNSHUSETPRICE
 } from '@/api/V2/statisticalReport'
 //期货采购入库报表
 export const getpurchreceipt = appRx.get(API_GET_PURCHRECEIPT, errorCatcher, errorHandle, filter)
@@ -142,3 +145,9 @@ export const saleEditSettlementWeight = appRx.post(API_POST_SALEEDITSETTLEMENTWE
 //现货销售出库合同下拉
 export const getStockSaleContractNoList = appRx.get(API_GET_STOCK_SALE_CONTRACTNO, errorCatcher, errorHandle, filter)
 
+// 火运,船运合同编号下拉
+export const getYunShuXiaLa = appRx.get(API_GET_YUNSHUXIALA, errorCatcher, errorHandle, filter)
+// 火运,船运运输编号下拉
+export const getYunShuNumber= appRx.get(API_GET_YUNSHUNUMBER, errorCatcher, errorHandle, filter)
+// 火运,船运实际价格
+export const SetYunShuPrice = appRx.post(API_POST_YUNSHUSETPRICE, errorCatcher, errorHandle, filter)

+ 854 - 889
src/views/contractManagement/futuresPurchaseContract.vue

@@ -1,916 +1,881 @@
 <!--期货采购合同-->
 <template>
-  <div>
-    <BaseHeaderLayout :leftSpan="8">
-      <template slot="left">
-        <ws-button
-          type="primary"
-          @click="handleAdd()"
-          v-hasPermission="`contractManagement.buyContract.buyContractInfo.add`"
-          ><img
-            width="13"
-            height="13"
-            style="
+	<div>
+		<BaseHeaderLayout :leftSpan="8">
+			<template slot="left">
+				<ws-button type="primary" @click="handleAdd()"
+					v-hasPermission="`contractManagement.buyContract.buyContractInfo.add`"><img width="13" height="13"
+						style="
               vertical-align: text-top;
               position: relative;
               top: 2px;
               left: -4px;
-            "
-            src="../../../public/img/header-add.png"
-            alt=""
-          />添加</ws-button
-        >
-        <ws-button
-          @click="exportlist()"
-          v-hasPermission="
+            " src="../../../public/img/header-add.png" alt="" />添加</ws-button>
+				<ws-button @click="exportlist()" v-hasPermission="
             `contractManagement.buyContract.buyContractInfo.view`
-          "
-          >导出</ws-button
-        >
-      </template>
-      <template slot="right">
-        <span style="width: 142px; display: inline-block; color: #8890b1"
-          >状态:</span
-        >
-        <ws-select
-          v-model="searchTypeText"
-          placeholder=""
-          class="typeselect"
-          @change="selecttaskType"
-          :value="searchType"
-        >
-          <ws-option
-            v-for="item in taskTypeList"
-            :key="item.value"
-            :label="item.value"
-            :value="item.value"
-            style="color: #8890b1"
-          />
-        </ws-select>
-
-        <el-date-picker
-          v-model="value2"
-          type="daterange"
-          align="right"
-          unlink-panels
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :picker-options="pickerOptions"
-        >
-        </el-date-picker>
-        <ws-input
-          v-model="searchKeyWord"
-          placeholder="可按照合同编号、买方名称、卖方名称进行查找"
-          clearable
-          maxlength="500"
-          type="input"
-          class="findValue"
-        ></ws-input>
-        <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
-        <ws-button class="find" type="primary" @click="find()"
-          ><img
-            width="16"
-            height="16"
-            style="
+          ">导出</ws-button>
+			</template>
+			<template slot="right">
+				<span style="width: 142px; display: inline-block; color: #8890b1">状态:</span>
+				<ws-select v-model="searchTypeText" placeholder="" class="typeselect" @change="selecttaskType"
+					:value="searchType">
+					<ws-option v-for="item in taskTypeList" :key="item.value" :label="item.value" :value="item.value"
+						style="color: #8890b1" />
+				</ws-select>
+
+				<el-date-picker v-model="value2" type="daterange" align="right" unlink-panels range-separator="至"
+					start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions">
+				</el-date-picker>
+				<ws-input v-model="searchKeyWord" placeholder="可按照合同编号、买方名称、卖方名称进行查找" clearable maxlength="500"
+					type="input" class="findValue"></ws-input>
+				<!-- v-hasPermission="'procurement.sparepart.directShip'" -->
+				<ws-button class="find" type="primary" @click="find()"><img width="16" height="16" style="
               vertical-align: text-top;
               position: relative;
               top: 0px;
               left: -8px;
-            "
-            src="../../../public/img/sousuo.png"
-            alt=""
-        /></ws-button>
-      </template>
-    </BaseHeaderLayout>
-    <el-table
-      class="wenzi"
-      :data="contractList.records"
-      style="width: 100%; margin-top: 10px"
-      height="780"
-    >
-      <el-table-column type="index" label="序号">
-        <template scope="scope">
-          <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
-          <span v-else>{{ scope.$index + 1 }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="contractNo" label="合同编号" width="80">
-      </el-table-column>
-      <el-table-column prop="goodsName" label="货名" width="80">
-      </el-table-column>
-      <el-table-column prop="weight" label="重量(吨)"> </el-table-column>
-      <el-table-column prop="pointPrice" label="暂定点价(元/吨)">
-      </el-table-column>
-      <el-table-column prop="basisPrice" 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="status" label="状态">
-        <template slot-scope="scope">
-          <el-popover
-            placement="left"
-            :width="285"
-            trigger="click"
-            visible-arrow="false"
-            @show="history(scope.row)"
-          >
-            <template>
-              <span slot="reference">
-                <span
-                  v-if="scope.row.status == '待执行'"
-                  class="executory"
-                ></span>
-                <span
-                  v-if="scope.row.status == '执行中'"
-                  class="inExecution"
-                ></span>
-                <span v-if="scope.row.status == '已完成'" class="done"></span
-                >{{ scope.row.status }}
-              </span>
-            </template>
-            <div>
-              <p style="margin-top: 0; padding-left: 10px">操作历史</p>
-              <div
-                v-for="(item, index) in historyList"
-                :key="index"
-                class="flex"
-              >
-                <div class="vertical-text vertical-text-left">
-                  {{ item.updateDate }}
-                </div>
-                <div>
-                  <div class="vertical-circle"></div>
-                  <div
-                    v-if="index != historyList.length - 1"
-                    class="vertical-line"
-                  ></div>
-                </div>
-                <div class="vertical-text">
-                  {{ item.operateUser }}<br />{{ item.dealMsg }}
-                </div>
-              </div>
-            </div>
-          </el-popover>
-          <img
-            width="17"
-            height="18"
-            style="vertical-align: text-top; position: relative; top: -1px"
-            src="../../../public/img/edit.png"
-            @click="editClick(scope.row)"
-            alt=""
-          />
-        </template>
-      </el-table-column>
-      <el-table-column prop="signingDate" label="签订日期"> </el-table-column>
-      <el-table-column prop="mildewGrain" label="已付款(元)">
-      </el-table-column>
-      <el-table-column prop="addressUrl" label="附件">
-        <template slot-scope="scope">
-          <img
-            width="18"
-            height="20"
-            style="vertical-align: text-top; position: relative; top: -1px"
-            src="../../../public/img/fujian.png"
-            @click="fujian(scope.row)"
-            alt=""
-          />
-          <span v-if="scope.row.addressUrlArray.length > 0">{{
+            " src="../../../public/img/sousuo.png" alt="" /></ws-button>
+			</template>
+		</BaseHeaderLayout>
+		<el-table class="wenzi" :data="contractList.records" style="width: 100%; margin-top: 10px" height="780">
+			<el-table-column type="index" label="序号">
+				<template scope="scope">
+					<span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+					<span v-else>{{ scope.$index + 1 }}</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="contractNo" label="合同编号" width="150">
+			</el-table-column>
+			<el-table-column prop="goodsName" label="货名" width="80">
+			</el-table-column>
+			<el-table-column prop="weight" label="重量(吨)"> </el-table-column>
+			<el-table-column prop="pointPrice" label="暂定点价(元/吨)">
+			</el-table-column>
+			<el-table-column prop="basisPrice" 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="status" label="状态">
+				<template slot-scope="scope">
+					<el-popover placement="left" :width="285" trigger="click" visible-arrow="false"
+						@show="history(scope.row)">
+						<template>
+							<span slot="reference">
+								<span v-if="scope.row.status == '待执行'" class="executory"></span>
+								<span v-if="scope.row.status == '执行中'" class="inExecution"></span>
+								<span v-if="scope.row.status == '已完成'" class="done"></span>{{ scope.row.status }}
+							</span>
+						</template>
+						<div>
+							<p style="margin-top: 0; padding-left: 10px">操作历史</p>
+							<div v-for="(item, index) in historyList" :key="index" class="flex">
+								<div class="vertical-text vertical-text-left">
+									{{ item.updateDate }}
+								</div>
+								<div>
+									<div class="vertical-circle"></div>
+									<div v-if="index != historyList.length - 1" class="vertical-line"></div>
+								</div>
+								<div class="vertical-text">
+									{{ item.operateUser }}<br />{{ item.dealMsg }}
+								</div>
+							</div>
+						</div>
+					</el-popover>
+					<img width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
+						src="../../../public/img/edit.png" @click="editClick(scope.row)" alt="" />
+				</template>
+			</el-table-column>
+			<el-table-column prop="signingDate" label="签订日期"> </el-table-column>
+			<el-table-column prop="mildewGrain" label="已付款(元)">
+			</el-table-column>
+			<el-table-column prop="addressUrl" label="附件">
+				<template slot-scope="scope">
+					<img width="18" height="20" style="vertical-align: text-top; position: relative; top: -1px"
+						src="../../../public/img/fujian.png" @click="fujian(scope.row)" alt="" />
+					<span v-if="scope.row.addressUrlArray.length > 0">{{
             scope.row.addressUrlArray.length
           }}</span>
-          <!-- <i @click="fujian(scope.row)" class="el-icon-paperclip iconCss"></i> -->
-        </template>
-      </el-table-column>
-      <el-table-column prop="confirmCount" label="确认单" >
-      </el-table-column>
-      <el-table-column prop="address" label="操作" width="200">
-        <template slot-scope="scope">
-          <img
-            width="16"
-            height="16"
-            style="vertical-align: text-top; margin: 0 6px"
-            src="../../../public/img/chakan.png"
-            @click="handleExamine(scope.row)"
-            v-hasPermission="
+					<!-- <i @click="fujian(scope.row)" class="el-icon-paperclip iconCss"></i> -->
+				</template>
+			</el-table-column>
+			<el-table-column prop="confirmCount" label="确认单">
+			</el-table-column>
+			<el-table-column prop="address" label="操作" width="140">
+				<template slot-scope="scope">
+					<img width="16" height="16" style="vertical-align: text-top; margin: 0 6px"
+						src="../../../public/img/chakan.png" @click="handleExamine(scope.row)" v-hasPermission="
               `contractManagement.buyContract.buyContractInfo.view`
-            "
-            alt=""
-          />
-          <img
-            width="17"
-            height="16"
-            style="vertical-align: text-top; margin: 0 6px"
-            src="../../../public/img/bianji.png"
-            @click="handleEdit(scope.row)"
-            v-hasPermission="
+            " alt="" />
+					<img width="17" height="16" style="vertical-align: text-top; margin: 0 6px"
+						src="../../../public/img/bianji.png" @click="handleEdit(scope.row)" v-hasPermission="
               `contractManagement.buyContract.buyContractInfo.edit`
-            "
-            alt=""
-          />
-          <img
-            width="16"
-            height="17"
-            style="
+            " alt="" />
+					<img width="16" height="17" style="
               vertical-align: text-top;
               position: relative;
               top: -1px;
               margin: 0 6px;
-            "
-            src="../../../public/img/shanchu.png"
-            v-hasPermission="
+            " src="../../../public/img/shanchu.png" v-hasPermission="
               `contractManagement.buyContract.buyContractInfo.delete`
-            "
-            @click="handleDelete(scope.row)"
-            alt=""
-          />
-        </template>
-      </el-table-column>
-    </el-table>
-    <el-pagination
-      @size-change="handleSizeChange"
-      @current-change="handleCurrentChange"
-      :current-page="currentPage"
-      :page-size="deptCircularPage.pageSize"
-      layout="total, sizes, prev, pager, next, jumper"
-      :total="deptBudgetTotal"
-    >
-    </el-pagination>
-    <WinseaContentModal
-      v-model="accessoryTFs"
-      :title="$t('system.noticeCircular.information')"
-      @on-cancel="handleClose"
-    >
-    <ws-upload
-        ref="upload"
-        :comp-id="compId"
-        :appendix-ids="appendixIdss"
-        :editable="false"
-        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
-      />
-      
-    </WinseaContentModal>
-  </div>
+            " @click="handleDelete(scope.row)" alt="" />
+				</template>
+			</el-table-column>
+		</el-table>
+		<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+			:page-size="deptCircularPage.pageSize" layout="total, sizes, prev, pager, next, jumper"
+			:total="deptBudgetTotal">
+		</el-pagination>
+		<WinseaContentModal v-model="accessoryTFs" :title="$t('system.noticeCircular.information')"
+			@on-cancel="handleClose">
+			<ws-upload ref="upload" :comp-id="compId" :appendix-ids="appendixIdss" :editable="false"
+				accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+
+		</WinseaContentModal>
+	</div>
 </template>
 <script>
-import {
-  getList,
-  export1,
-  editstatus,
-  billoperatehis,
-  deletecontract,
-} from '@/model/contarct/index'
-import { downloadFile } from '@/utils/batchDown'
-import Pagination from '@/components/Pagination'
-import WsUpload from '@/components/WsUpload'
-import { dayjs, EventBus } from 'base-core-lib'
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-    Pagination,
-  },
-  watch: {
-    vesselId(val) {
-      this.getList()
-    },
-    isShow(val) {
-      this.showType = val
-    },
-  },
-  data() {
-    return {
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      size: 10,
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      deliver_type: 1,
-      deptBudgetTotal: 0,
-      currentPage: 1,
-      pageSize: 10,
-      appendixIdsAdd: '',
-      searchType: 1,
-      searchTypeText: '未完成',
-      searchKeyWord: '',
-      contractType: 2,
-      goodsType: 2,
-      startDate: null,
-      endDate: null,
-      addressUrls: [],
-      accessurl: '',
-      accesscard: false,
-      // 提交类型
-      submitType: true,
-      deptCircularPage: {},
-      date: {
-        year: dayjs().format('YYYY'),
-        month: dayjs().format('MM'),
-      },
-      contractList: [],
-      deptBudgetList: {},
-      historyList: [],
-      appendixIdss: [],
-      fileList:[],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
-        },
-      },
-      accessoryTFs: false,
-      taskTypeList: [
-        { value: '未完成', type: 1 },
-        { value: '已完成', type: 2 },
-        { value: '全部合同', type: '' },
-      ],
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: '本周',
-            onClick(picker) {
-              const end = new Date()
-              const start = new Date()
-              var thisDay = start.getDay()
-              var thisDate = start.getDate()
-              if (thisDay != 0) {
-                start.setDate(thisDate - thisDay)
-              }
-              picker.$emit('pick', [start, end])
-            },
-          },
-          {
-            text: '本月',
-            onClick(picker) {
-              const end = new Date()
-              const start = new Date()
-              start.setDate(1)
-              picker.$emit('pick', [start, end])
-            },
-          },
-          {
-            text: '本季度',
-            onClick(picker) {
-              var oDate = new Date()
-
-              var thisYear = oDate.getFullYear()
-              var thisMonth = oDate.getMonth() + 1
-
-              var n = Math.ceil(thisMonth / 3) // 季度
-
-              var Month = n * 3 - 1
-
-              var start = new Date(thisYear, Month - 2, 1)
-              var end = new Date()
-
-              picker.$emit('pick', [start, end])
-            },
-          },
-        ],
-      },
-      value1: '',
-      value2: '',
-    }
-  },
-  activated() {
-    //cg.viewBudget
-    //cg.viewSpareMoney
-    // this.getVesselData();
-    this.getList()
-    this.showType = this.isShow
-  },
-  methods: {
-    dateFormat(fmt, date) {
-      let ret
-      const opt = {
-        'Y+': date.getFullYear().toString(), // 年
-        'm+': (date.getMonth() + 1).toString(), // 月
-        'd+': date.getDate().toString(), // 日
-        'H+': date.getHours().toString(), // 时
-        // "M+": date.getMinutes().toString(),         // 分
-        // "S+": date.getSeconds().toString()          // 秒
-        // 有其他格式化字符需求可以继续添加,必须转化成字符串
-      }
-      for (let k in opt) {
-        ret = new RegExp('(' + k + ')').exec(fmt)
-        if (ret) {
-          fmt = fmt.replace(
-            ret[1],
-            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
-          )
-        }
-      }
-      return fmt
-    },
-
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    handleClose1() {
-      this.accesscard = false
-    },
-    handleSizeChange(val) {
-      console.log(`每页 ${val} 条`)
-      this.pageSize = val
-      this.getList()
-    },
-    handleCurrentChange(val) {
-      this.currentPage = val
-      console.log(`当前页: ${val}`)
-      this.getList()
-    },
-    getList() {
-      getList({
-        compId: sessionStorage.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,
-        contrPage: this.contrPage,
-      })
-        .toPromise()
-        .then((response) => {
-          for (var i = 0; i < response.records.length; i++) {
-            if (response.records[i].addressUrl != null&&response.records[i].addressUrl != "") {
-              response.records[i].addressUrlArray =
-                response.records[i].addressUrl.split(',')
-            } else {
-              response.records[i].addressUrlArray = []
-            }
-          }
-          this.deptCircularPage.currentPage = response.current
-          this.deptCircularPage.pageSize = response.size
-          this.deptBudgetTotal = response.total
-          this.contractList = response
-          for (var i = 0; i < response.records.length; i++) {
-            var arr = new Array()
-            this.addressUrls[i] = new Array()
-            if (this.contractList.records[i].addressUrl != null) {
-              arr = this.contractList.records[i].addressUrl.split(',')
-              this.addressUrls[i] = arr
-            }
-          }
-        })
-    },
-    // 上传附件
-    uploadSuccess(data, files, url) {
-      console.log(data, files, url)
-
-      // this.deptBudgetList.
-      // this.formData.append('files', files)
-      // this.feedbackObj.uploadNameAttachment = data.appendixName
-      // this.feedbackObj.pathUploadAttachment = data.appendixPath
-      // // this.newAppendixs = files
-      // this.onChangeFlag = true
-    },
-    editClick(row) {
-      var status = ''
-      if (row.status == '待执行' || row.status == '已完成') {
-        status = '执行中'
-      } else if (row.status == '执行中') {
-        status = '已完成'
-      }
-      this.$confirm(`是否将状态改为${status}`, '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          editstatus({ id: row.id })
-            .toPromise()
-            .then((response) => {
-              this.$notify.success({
-                title: '成功',
-                message: '状态修改成功',
-              })
-              this.getList()
-            })
-            .catch((response) => {
-              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-            })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    selecttaskType(e) {
-      for (var i = 0; i < this.taskTypeList.length; i++) {
-        if (this.taskTypeList[i].value == e) {
-          this.searchType = this.taskTypeList[i].type
-        }
-      }
-    },
-    fujian(row) {
-      if (row.addressUrl === null || row.addressUrl === '') {
-        EventBus.$emit(
-          'warning',
-          this.$t('system.noticeCircular.NoInformation')
-        )
-      }
-      this.appendixIdss = row.addressUrl
-      console.log(this.appendixIdss)
-      this.accessoryTFs = true
-    },
-    handleExamine(row) {
-      console.log(row)
-      this.$router.push({
-        name: 'futuresPurchaseContractExamine',
-        query: { id: row.id, status: row.status },
-      })
-    },
-    handleAdd() {
-      this.$router.push({ path: 'futuresPurchaseContractAdd' })
-    },
-    handleEdit(row) {
-      this.$router.push({
-        name: 'futuresPurchaseContractEdit',
-        query: { id: row.id },
-      })
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleCloe() {
-      this.dialogViewSpareMoney = false
-    },
-    history(row) {
-      console.log(row)
-      billoperatehis({ id: row.id })
-        .toPromise()
-        .then((response) => {
-          this.historyList = response
-        })
-    },
-    find() {
-      if (this.value2) {
-        this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
-        this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
-      } else {
-        this.startDate = ''
-        this.endDate = ''
-      }
-      this.currentPage = 1
-      this.getList()
-    },
-    async exportlist() {
-      const { data } = await export1(
-        {
-          compId: sessionStorage.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,
-        },
-        {},
-        { responseType: 'blob' }
-      ).toPromise()
-      downloadFile({
-        res: data,
-        fileName: `${
+	import {
+		getList,
+		export1,
+		editstatus,
+		billoperatehis,
+		deletecontract,
+	} from '@/model/contarct/index'
+	import {
+		downloadFile
+	} from '@/utils/batchDown'
+	import Pagination from '@/components/Pagination'
+	import WsUpload from '@/components/WsUpload'
+	import {
+		dayjs,
+		EventBus
+	} from 'base-core-lib'
+	export default {
+		name: 'viewSpareMoney',
+		components: {
+			WsUpload,
+			Pagination,
+		},
+		watch: {
+			vesselId(val) {
+				this.getList()
+			},
+			isShow(val) {
+				this.showType = val
+			},
+		},
+		data() {
+			return {
+				//弹出框
+				dialogViewSpareMoney: false,
+				dialogApproveFormVisible: false,
+				// 船舶类型
+				monetaryKey: null,
+				// 表格显示数据
+				tableDate: [],
+				size: 10,
+				// 是否显示
+				showType: true,
+				// 年
+				year: '',
+				deliver_type: 1,
+				deptBudgetTotal: 0,
+				currentPage: 1,
+				pageSize: 10,
+				appendixIdsAdd: '',
+				searchType: 1,
+				searchTypeText: '未完成',
+				searchKeyWord: '',
+				contractType: 2,
+				goodsType: 2,
+				startDate: null,
+				endDate: null,
+				addressUrls: [],
+				accessurl: '',
+				accesscard: false,
+				// 提交类型
+				submitType: true,
+				deptCircularPage: {},
+				date: {
+					year: dayjs().format('YYYY'),
+					month: dayjs().format('MM'),
+				},
+				contractList: [],
+				deptBudgetList: {},
+				historyList: [],
+				appendixIdss: [],
+				fileList: [],
+				compId: sessionStorage.getItem('ws-pf_compId'),
+				pickerBeginDateBefore: {
+					disabledDate: (time) => {
+						return time.getTime() > Date.now()
+					},
+				},
+				accessoryTFs: false,
+				taskTypeList: [{
+						value: '未完成',
+						type: 1
+					},
+					{
+						value: '已完成',
+						type: 2
+					},
+					{
+						value: '全部合同',
+						type: ''
+					},
+				],
+				pickerOptions: {
+					shortcuts: [{
+							text: '本周',
+							onClick(picker) {
+								const end = new Date()
+								const start = new Date()
+								var thisDay = start.getDay()
+								var thisDate = start.getDate()
+								if (thisDay != 0) {
+									start.setDate(thisDate - thisDay)
+								}
+								picker.$emit('pick', [start, end])
+							},
+						},
+						{
+							text: '本月',
+							onClick(picker) {
+								const end = new Date()
+								const start = new Date()
+								start.setDate(1)
+								picker.$emit('pick', [start, end])
+							},
+						},
+						{
+							text: '本季度',
+							onClick(picker) {
+								var oDate = new Date()
+
+								var thisYear = oDate.getFullYear()
+								var thisMonth = oDate.getMonth() + 1
+
+								var n = Math.ceil(thisMonth / 3) // 季度
+
+								var Month = n * 3 - 1
+
+								var start = new Date(thisYear, Month - 2, 1)
+								var end = new Date()
+
+								picker.$emit('pick', [start, end])
+							},
+						},
+					],
+				},
+				value1: '',
+				value2: '',
+			}
+		},
+		activated() {
+			//cg.viewBudget
+			//cg.viewSpareMoney
+			// this.getVesselData();
+			this.getList()
+			this.showType = this.isShow
+		},
+		methods: {
+			dateFormat(fmt, date) {
+				let ret
+				const opt = {
+					'Y+': date.getFullYear().toString(), // 年
+					'm+': (date.getMonth() + 1).toString(), // 月
+					'd+': date.getDate().toString(), // 日
+					'H+': date.getHours().toString(), // 时
+					// "M+": date.getMinutes().toString(),         // 分
+					// "S+": date.getSeconds().toString()          // 秒
+					// 有其他格式化字符需求可以继续添加,必须转化成字符串
+				}
+				for (let k in opt) {
+					ret = new RegExp('(' + k + ')').exec(fmt)
+					if (ret) {
+						fmt = fmt.replace(
+							ret[1],
+							ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+						)
+					}
+				}
+				return fmt
+			},
+
+			handleClose() {
+				this.dialogViewSpareMoney = false
+			},
+			handleClose1() {
+				this.accesscard = false
+			},
+			handleSizeChange(val) {
+				console.log(`每页 ${val} 条`)
+				this.pageSize = val
+				this.getList()
+			},
+			handleCurrentChange(val) {
+				this.currentPage = val
+				console.log(`当前页: ${val}`)
+				this.getList()
+			},
+			getList() {
+				getList({
+						compId: sessionStorage.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,
+						contrPage: this.contrPage,
+					})
+					.toPromise()
+					.then((response) => {
+						for (var i = 0; i < response.records.length; i++) {
+							if (response.records[i].addressUrl != null && response.records[i].addressUrl != "") {
+								response.records[i].addressUrlArray =
+									response.records[i].addressUrl.split(',')
+							} else {
+								response.records[i].addressUrlArray = []
+							}
+						}
+						this.deptCircularPage.currentPage = response.current
+						this.deptCircularPage.pageSize = response.size
+						this.deptBudgetTotal = response.total
+						this.contractList = response
+						for (var i = 0; i < response.records.length; i++) {
+							var arr = new Array()
+							this.addressUrls[i] = new Array()
+							if (this.contractList.records[i].addressUrl != null) {
+								arr = this.contractList.records[i].addressUrl.split(',')
+								this.addressUrls[i] = arr
+							}
+						}
+					})
+			},
+			// 上传附件
+			uploadSuccess(data, files, url) {
+				console.log(data, files, url)
+
+				// this.deptBudgetList.
+				// this.formData.append('files', files)
+				// this.feedbackObj.uploadNameAttachment = data.appendixName
+				// this.feedbackObj.pathUploadAttachment = data.appendixPath
+				// // this.newAppendixs = files
+				// this.onChangeFlag = true
+			},
+			editClick(row) {
+				var status = ''
+				if (row.status == '待执行' || row.status == '已完成') {
+					status = '执行中'
+				} else if (row.status == '执行中') {
+					status = '已完成'
+				}
+				this.$confirm(`是否将状态改为${status}`, '提示', {
+						confirmButtonText: '确定',
+						cancelButtonText: '取消',
+						type: 'warning',
+					})
+					.then(() => {
+						editstatus({
+								id: row.id
+							})
+							.toPromise()
+							.then((response) => {
+								this.$notify.success({
+									title: '成功',
+									message: '状态修改成功',
+								})
+								this.getList()
+							})
+							.catch((response) => {
+								// EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+							})
+					})
+					.catch(() => {
+						return false
+					})
+			},
+			selecttaskType(e) {
+				for (var i = 0; i < this.taskTypeList.length; i++) {
+					if (this.taskTypeList[i].value == e) {
+						this.searchType = this.taskTypeList[i].type
+					}
+				}
+			},
+			fujian(row) {
+				if (row.addressUrl === null || row.addressUrl === '') {
+					EventBus.$emit(
+						'warning',
+						this.$t('system.noticeCircular.NoInformation')
+					)
+				}
+				this.appendixIdss = row.addressUrl
+				console.log(this.appendixIdss)
+				this.accessoryTFs = true
+			},
+			handleExamine(row) {
+				console.log(row)
+				this.$router.push({
+					name: 'futuresPurchaseContractExamine',
+					query: {
+						id: row.id,
+						status: row.status
+					},
+				})
+			},
+			handleAdd() {
+				this.$router.push({
+					path: 'futuresPurchaseContractAdd'
+				})
+			},
+			handleEdit(row) {
+				this.$router.push({
+					name: 'futuresPurchaseContractEdit',
+					query: {
+						id: row.id
+					},
+				})
+			},
+			// 关闭 dialog时 处理文件url 初始化upload组件
+			handleCloe() {
+				this.dialogViewSpareMoney = false
+			},
+			history(row) {
+				console.log(row)
+				billoperatehis({
+						id: row.id
+					})
+					.toPromise()
+					.then((response) => {
+						this.historyList = response
+					})
+			},
+			find() {
+				if (this.value2) {
+					this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
+					this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
+				} else {
+					this.startDate = ''
+					this.endDate = ''
+				}
+				this.currentPage = 1
+				this.getList()
+			},
+			async exportlist() {
+				const {
+					data
+				} = await export1({
+					compId: sessionStorage.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,
+				}, {}, {
+					responseType: 'blob'
+				}).toPromise()
+				downloadFile({
+					res: data,
+					fileName: `${
           this.date.year + (this.date.month ? `-${this.date.month}` : '')
         }_采购合同`,
-        type: 'xls',
-      })
-    },
-    // deletecontract(){},
-    //删除
-    handleDelete(row) {
-      var text = ''
-    //   if (row.deliverType == 1) {
-    //     text =
-    //       '删除该合同将同时永久删除合同对应的临时仓库相关数据,是否确定删除?'
-    //   } else {
-    //     text = '合同删除后不可恢复,是否继续删除?'
-    //   }
-      this.$confirm('合同删除后不可恢复,是否继续删除?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          deletecontract({ id: row.id })
-            .toPromise()
-            .then((response) => {
-              this.$notify.success({
-                title: '成功',
-                message: '删除成功',
-              })
-              this.getList()
-            })
-            .catch((response) => {})
-        })
-        .catch(() => {
-          return false
-        })
-    },
-  },
-}
+					type: 'xls',
+				})
+			},
+			// deletecontract(){},
+			//删除
+			handleDelete(row) {
+				var text = ''
+				//   if (row.deliverType == 1) {
+				//     text =
+				//       '删除该合同将同时永久删除合同对应的临时仓库相关数据,是否确定删除?'
+				//   } else {
+				//     text = '合同删除后不可恢复,是否继续删除?'
+				//   }
+				this.$confirm('合同删除后不可恢复,是否继续删除?', '提示', {
+						confirmButtonText: '确定',
+						cancelButtonText: '取消',
+						type: 'warning',
+					})
+					.then(() => {
+						deletecontract({
+								id: row.id
+							})
+							.toPromise()
+							.then((response) => {
+								this.$notify.success({
+									title: '成功',
+									message: '删除成功',
+								})
+								this.getList()
+							})
+							.catch((response) => {})
+					})
+					.catch(() => {
+						return false
+					})
+			},
+		},
+	}
 </script>
 <style lang="scss" scoped>
-.vertical-text-left {
-  width: 62px;
-  text-align: right;
-}
-.flex {
-  display: flex;
-}
-.el-range-editor.el-input__inner {
-  margin-left: 10px;
-}
-/deep/.base_header_layout .grid-content.right .find.el-button--primary {
-  width: 30px;
-  margin-left: -10px;
-  border-top-left-radius: 0px;
-  border-bottom-left-radius: 0px;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-button--default {
-  border: 1px solid #5473e8;
-  color: #5473e8;
-}
-.warning {
-  width: 100%;
-  height: 2px;
-  background: red;
-}
-.executory,
-.inExecution,
-.done {
-  width: 6px;
-  height: 6px;
-  display: inline-block;
-  border-radius: 50%;
-  position: relative;
-  top: -1px;
-}
-.executory {
-  background: #ff9f24;
-}
-.inExecution {
-  background: #5878e8;
-}
-.done {
-  background: #50cad4;
-}
-.top-grade {
-  background: linear-gradient(90deg, #5678e9, #7993f6);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.second-class {
-  background: linear-gradient(90deg, #50cdd9, #82e2ea);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.third-class {
-  background: linear-gradient(90deg, #ffa735, #ffbf70);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.substandard {
-  background: linear-gradient(90deg, #b2b4bb, #ced0d5);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.wrap {
-  width: 400px;
-  position: absolute;
-  top: 131px;
-  left: 794px;
-  transform-origin: right center;
-  z-index: 2005;
-}
-.vertical-line {
-  height: 64px;
-  border-left: 2px solid #e9ecf7;
-  margin-left: 4px;
-  padding: 0 3px;
-  // border-image: -webkit-linear-gradient(#00eba7, #08b8e6) 30 30;
-  // border-image: -moz-linear-gradient(#00eba7, #08b8e6) 30 30;
-  // border-image: linear-gradient(#00eba7, #08b8e6) 30 30;
-}
-.el-pagination {
-  padding: 10px 15px;
-  margin-bottom: 0;
-  text-align: center;
-}
-/deep/.el-pager li.active {
-  color: #5878e8;
-  cursor: default;
-}
-/deep/.el-pager li:hover {
-  color: #5878e8;
-  cursor: default;
-}
-.vertical-circle {
-  width: 10px;
-  height: 10px;
-  border: 2px solid #5878e8;
-  background-color: #ffffff;
-  -webkit-border-radius: 100px;
-}
-.vertical-circle:first-child {
-  color: red;
-}
-.vertical-text {
-  margin: 0 10px;
-  color: #8890b1;
-  font-size: 12px;
-  margin-top: -4px;
-}
-/deep/.el-table .el-table__header .cell,
-/deep/.el-table .el-table__body .cell {
-  text-align: center;
-}
-.typeselect {
-  width: 500px;
-}
-.padding-xs {
-  padding: 15px;
-  text-align: right;
-}
-.clearfix:after {
-  content: '';
-  display: block;
-  clear: both;
-}
-.el-table {
-  font-size: 16px;
-}
-.taskType {
-  width: 100%;
-  background-color: #fff;
-  margin-top: 2px;
-  margin-bottom: 10px;
-  list-style: none;
-  // padding-bottom: 20px;
-  li {
-    float: left;
-    border: 1px solid #6ea0f3;
-    border-radius: 5px;
-    max-width: 190px;
-    padding: 0 5px;
-    text-align: center;
-    margin: 10px 20px;
-    cursor: pointer;
-    font-size: 14px;
-    p {
-      margin: 8px 0px;
-      span {
-        color: #e74c3c;
-      }
-    }
-  }
-  li:hover {
-    background-color: #e4eeff;
-    color: #1d6ced;
-  }
-}
-.el-date-editor--date {
-  margin: 0 10px;
-}
-.findValue {
-  margin: 0 10px;
-}
-/deep/.findValue .el-input__inner {
-  border-top-right-radius: 0px;
-  border-bottom-right-radius: 0px;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    &/deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-/deep/.typeselect .el-input__inner {
-  color: #8890b1;
-}
+	.vertical-text-left {
+		width: 62px;
+		text-align: right;
+	}
+
+	.flex {
+		display: flex;
+	}
+
+	.el-range-editor.el-input__inner {
+		margin-left: 10px;
+	}
+
+	/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+		width: 30px;
+		margin-left: -10px;
+		border-top-left-radius: 0px;
+		border-bottom-left-radius: 0px;
+	}
+
+	.el-button--primary {
+		background-color: #5878e8;
+		border-color: #5878e8;
+	}
+
+	.el-button--default {
+		border: 1px solid #5473e8;
+		color: #5473e8;
+	}
+
+	.warning {
+		width: 100%;
+		height: 2px;
+		background: red;
+	}
+
+	.executory,
+	.inExecution,
+	.done {
+		width: 6px;
+		height: 6px;
+		display: inline-block;
+		border-radius: 50%;
+		position: relative;
+		top: -1px;
+	}
+
+	.executory {
+		background: #ff9f24;
+	}
+
+	.inExecution {
+		background: #5878e8;
+	}
+
+	.done {
+		background: #50cad4;
+	}
+
+	.top-grade {
+		background: linear-gradient(90deg, #5678e9, #7993f6);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.second-class {
+		background: linear-gradient(90deg, #50cdd9, #82e2ea);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.third-class {
+		background: linear-gradient(90deg, #ffa735, #ffbf70);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.substandard {
+		background: linear-gradient(90deg, #b2b4bb, #ced0d5);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.wrap {
+		width: 400px;
+		position: absolute;
+		top: 131px;
+		left: 794px;
+		transform-origin: right center;
+		z-index: 2005;
+	}
+
+	.vertical-line {
+		height: 64px;
+		border-left: 2px solid #e9ecf7;
+		margin-left: 4px;
+		padding: 0 3px;
+		// border-image: -webkit-linear-gradient(#00eba7, #08b8e6) 30 30;
+		// border-image: -moz-linear-gradient(#00eba7, #08b8e6) 30 30;
+		// border-image: linear-gradient(#00eba7, #08b8e6) 30 30;
+	}
+
+	.el-pagination {
+		padding: 10px 15px;
+		margin-bottom: 0;
+		text-align: center;
+	}
+
+	/deep/.el-pager li.active {
+		color: #5878e8;
+		cursor: default;
+	}
+
+	/deep/.el-pager li:hover {
+		color: #5878e8;
+		cursor: default;
+	}
+
+	.vertical-circle {
+		width: 10px;
+		height: 10px;
+		border: 2px solid #5878e8;
+		background-color: #ffffff;
+		-webkit-border-radius: 100px;
+	}
+
+	.vertical-circle:first-child {
+		color: red;
+	}
+
+	.vertical-text {
+		margin: 0 10px;
+		color: #8890b1;
+		font-size: 12px;
+		margin-top: -4px;
+	}
+
+	/deep/.el-table .el-table__header .cell,
+	/deep/.el-table .el-table__body .cell {
+		text-align: center;
+	}
+
+	.typeselect {
+		width: 500px;
+	}
+
+	.padding-xs {
+		padding: 15px;
+		text-align: right;
+	}
+
+	.clearfix:after {
+		content: '';
+		display: block;
+		clear: both;
+	}
+
+	.el-table {
+		font-size: 16px;
+	}
+
+	.taskType {
+		width: 100%;
+		background-color: #fff;
+		margin-top: 2px;
+		margin-bottom: 10px;
+		list-style: none;
+
+		// padding-bottom: 20px;
+		li {
+			float: left;
+			border: 1px solid #6ea0f3;
+			border-radius: 5px;
+			max-width: 190px;
+			padding: 0 5px;
+			text-align: center;
+			margin: 10px 20px;
+			cursor: pointer;
+			font-size: 14px;
+
+			p {
+				margin: 8px 0px;
+
+				span {
+					color: #e74c3c;
+				}
+			}
+		}
+
+		li:hover {
+			background-color: #e4eeff;
+			color: #1d6ced;
+		}
+	}
+
+	.el-date-editor--date {
+		margin: 0 10px;
+	}
+
+	.findValue {
+		margin: 0 10px;
+	}
+
+	/deep/.findValue .el-input__inner {
+		border-top-right-radius: 0px;
+		border-bottom-right-radius: 0px;
+	}
+
+	.button-container {
+		display: flex;
+		flex-wrap: nowrap;
+		justify-content: space-between;
+		align-items: center;
+		background-color: #fff;
+		width: 100%;
+		height: 50px;
+		padding: 0 10px;
+
+		&>div {
+			margin-left: 10px;
+			display: flex;
+			flex-wrap: nowrap;
+			flex-direction: row;
+
+			&>span {
+				line-height: 50px;
+			}
+		}
+
+		/deep/.auditFlow-box {
+			position: unset;
+			margin-left: 10px;
+
+			&/deep/.auditFlow-icon {
+				width: auto;
+				padding-right: 30px;
+			}
+
+			&/deep/.auditFlow-main {
+				position: absolute;
+			}
+		}
+	}
+
+	.box-app {
+		display: inline-block;
+		float: left;
+		margin-left: 30px;
+		line-height: 50px;
+	}
+
+	/deep/.el-dialog {
+		.el-form-item {
+			margin-bottom: 0 !important;
+
+			.el-input--medium {
+				textarea {
+					min-height: 100px !important;
+				}
+			}
+		}
+	}
+
+	.collapse-bottom {
+		margin-bottom: 20px;
+	}
+
+	.input-main .textarea .el-textarea__inner {
+		width: 100%;
+		z-index: 1;
+	}
+
+	/*.crt-main .textarea /deep/ .el-form-item__label {*/
+	/*  height: 82px;*/
+	/*}*/
+	// 控制select为只读的时候显示样式
+
+	.hide-sel {
+		.el-input__inner {
+			border: 0px;
+		}
+
+		.el-icon-arrow-up {
+			display: none;
+		}
+
+		.el-textarea__inner {
+			background-color: #fff !important;
+			border: 0;
+		}
+
+		.el-date-editor {
+			i {
+				display: none;
+			}
+		}
+
+		.is-disabled {
+			.el-input__inner:hover {
+				background-color: #fff !important;
+				border: 0;
+			}
+
+			color: #606266;
+
+			.el-input__inner {
+				background-color: #fff !important;
+				border: 0;
+				color: #606266;
+			}
+
+			.el-textarea__inner {
+				background-color: #fff !important;
+				border: 0;
+				color: #606266;
+			}
+		}
+	}
+
+	// 控制select为只读的时候显示样式
+	/deep/.ws-class-table-col {
+		height: auto;
+		padding: 0px 2px;
+
+		/deep/.el-input__inner {
+			padding: 0px 2px;
+		}
+	}
+
+	/deep/.is-disabled {
+		.el-input__prefix,
+		.el-input__suffix {
+			display: none;
+		}
+
+		.el-input__inner {
+			background-color: #fff;
+			border-color: #fff !important;
+			color: #000 !important;
+			font-size: 14px;
+			cursor: text;
+			padding: 0 !important;
+		}
+	}
+
+	/deep/.typeselect .el-input__inner {
+		color: #8890b1;
+	}
 </style>

+ 1576 - 1628
src/views/contractManagement/futuresPurchaseContractAdd.vue

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

+ 92 - 35
src/views/contractManagement/futuresPurchaseContractEdit.vue

@@ -277,7 +277,7 @@
         </ws-form-item>
         <!--交货所在地区-->
         <ws-form-item label="交货所在地区" span="1" prop="">
-          <el-cascader
+          <!-- <el-cascader
             :options="options_"
             v-model="selectedOptions"
             clearable
@@ -285,7 +285,13 @@
             placeholder="请选择交货所在地区"
             style="width: 200%"
             @change="handleChange"
-          />
+          /> -->
+          <el-button
+              @click="mapInputClick('deliveryProv')"
+              class="address-btn"
+            >
+              {{ newSelectedOptions1 }}
+            </el-button>
         </ws-form-item>
         <!--点价(元/吨)-->
         <ws-form-item label="点价(元/吨)" span="1" prop="pointPrice">
@@ -483,7 +489,7 @@
         </ws-form-item>
         <!--产地-->
         <ws-form-item label="产地" span="1" prop="protein">
-          <el-cascader
+          <!-- <el-cascader
             :options="options1_"
             v-model="selectedOptions1"
             clearable
@@ -491,7 +497,10 @@
             placeholder="请选择产地"
             @change="handleChange1"
             style="width: 200%"
-          />
+          /> -->
+          <el-button @click="mapInputClick('source')" class="address-btn">
+              {{ newSelectedOptions }}
+            </el-button>
         </ws-form-item>
       </ws-info-table>
 
@@ -578,6 +587,15 @@
         accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
       />
     </ws-form>
+    <div v-if="dialogVisible" class="map">
+        <map-drag
+          @marker="marker"
+          :isShowaddress="true"
+          v-on:addressListen="getAddress"
+          :type="type"
+        >
+        </map-drag>
+      </div>
     <div style="text-align: right; padding: 10px" class="center">
       <el-button
         class="bg-bottom"
@@ -621,6 +639,7 @@ import {
 } from '@/model/dataManageMent'
 import WsUpload from '@/components/WsUpload'
 import { EventBus, dayjs } from 'base-core-lib'
+import mapDrag from '@/components/mapdrag/mapdrag'
 export default {
   name: 'viewSpareMoney',
   watch: {
@@ -632,10 +651,14 @@ export default {
     },
   },
   components: {
-    WsUpload,
+    WsUpload,mapDrag
   },
   data() {
     return {
+      type: '',
+      dialogVisible: false,
+      newSelectedOptions1: '请选择交货所在地区',
+      newSelectedOptions: '请选择产地',
       //弹出框
       dialogViewSpareMoney: false,
       dialogApproveFormVisible: false,
@@ -655,6 +678,8 @@ export default {
       deptBudgetList: {
         contractProcessInfo: {},
         contractGoodsInfo: {},
+		sourceGoods:'',
+		placeDelivery:'',
       },
       options_: regionData,
       selectedOptions: [],
@@ -695,7 +720,36 @@ export default {
     this.showType = this.isShow
   },
   methods: {
-
+       marker: function (item) {
+      this.deptBudgetList.warehousePositioning =
+        item.lnglat.lat + ',' + item.lnglat.lng
+    },
+    getAddress(data) {
+      console.log('getAddress', data)
+      if (data[4] == 'source') {
+        
+        this.newSelectedOptions = data[0] + '/' + data[1] + '/' + data[2]
+        this.deptBudgetList.contractGoodsInfo.outputPrivate =  data[0]
+        this.deptBudgetList.contractGoodsInfo.outputCity =  data[1]
+        this.deptBudgetList.contractGoodsInfo.outputArea =  data[2]
+      } else {
+        this.newSelectedOptions1 = data[0] + '/' + data[1] + '/' + data[2]
+        this.deptBudgetList.deliveryProvince = CodeToText[this.selectedOptions[0]]
+        this.deptBudgetList.deliveryCity = data[1]
+        this.deptBudgetList.deliveryArea = data[2]
+        this.deptBudgetList.placeDelivery = data[3]
+      }
+    },
+    mapInputClick(type) {
+      this.dialogVisible = true
+      this.type = type
+	},
+	blurMap(){
+        this.dialogVisible = false
+    },
+    focusMap(){
+      this.dialogVisible = true
+    },
     dataFilter(val) {
       this.deptBudgetList.personCharge = val
       if (val) {
@@ -1228,13 +1282,20 @@ export default {
         })
         return
       }
-      if (this.selectedOptions.length == 0) {
+       if (!this.newSelectedOptions1) {
         this.$message({
           message: '请选择交货所在地区!',
           type: 'warning',
         })
         return
       }
+      if (!this.newSelectedOptions) {
+        this.$message({
+          message: '请选择产地!',
+          type: 'warning',
+        })
+        return
+      }
       if (!this.deptBudgetList.contractNumber) {
         this.$message({
           message: '请输入合约号!',
@@ -1321,13 +1382,6 @@ export default {
         return
       }
       //货物信息
-      if (this.selectedOptions1.length == 0) {
-        this.$message({
-          message: '请选择产地!',
-          type: 'warning',
-        })
-        return
-      }
       if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
         this.$message({
           message: '请选择货名',
@@ -1612,30 +1666,9 @@ export default {
       .then(() => {
       this.$refs.deptBudgetList.validate((valid) => {
         if (valid) {
-          this.deptBudgetList.contractGoodsInfo.outputPrivate =
-            CodeToText[this.selectedOptions1[0]]
-          this.deptBudgetList.contractGoodsInfo.outputCity =
-            CodeToText[this.selectedOptions1[1]]
-
-          this.deptBudgetList.deliveryProvince =
-            CodeToText[this.selectedOptions[0]]
-          this.deptBudgetList.deliveryCity = CodeToText[this.selectedOptions[1]]
-            this.deptBudgetList.deliveryArea = CodeToText[this.selectedOptions[2]]
-
           this.deptBudgetList.compId = this.compId
           this.deptBudgetList.contractType = 2
 
-          if (
-            this.deptBudgetList.deliveryProvince == '澳门特别行政区' ||
-            this.deptBudgetList.deliveryProvince == '澳门特别行政区'
-          ) {
-            this.deptBudgetList.deliveryArea = '特别行政区'
-          } else {
-            this.deptBudgetList.deliveryArea =
-              CodeToText[this.selectedOptions[2]]
-
-          }
-
           editInfo(this.deptBudgetList)
             .toPromise()
             .then((response) => {
@@ -1911,4 +1944,28 @@ export default {
   line-height: inherit;
   display: none;
 }
+.map {
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  margin: auto;
+  width: 800px;
+  height: 400px;
+  background: gainsboro;
+  border-radius: 20px;
+  padding: 10px;
+  box-sizing: border-box;
+  z-index: 99;
+}
+
+.amap-container {
+  width: 100% !important;
+}
+
+.address-btn {
+  width: 100%;
+  text-align: left;
+}
 </style>

+ 855 - 890
src/views/contractManagement/futuresSalesContract.vue

@@ -1,917 +1,882 @@
 <!--期货销售合同-->
 <template>
-  <div>
-    <BaseHeaderLayout :leftSpan="8">
-      <template slot="left">
-        <ws-button
-          type="primary"
-          @click="handleAdd()"
-          v-hasPermission="`contractManagement.buyContract.buyContractInfo.add`"
-          ><img
-            width="13"
-            height="13"
-            style="
+	<div>
+		<BaseHeaderLayout :leftSpan="8">
+			<template slot="left">
+				<ws-button type="primary" @click="handleAdd()"
+					v-hasPermission="`contractManagement.buyContract.buyContractInfo.add`"><img width="13" height="13"
+						style="
               vertical-align: text-top;
               position: relative;
               top: 2px;
               left: -4px;
-            "
-            src="../../../public/img/header-add.png"
-            alt=""
-          />添加</ws-button
-        >
-        <ws-button
-          @click="exportlist()"
-          v-hasPermission="
+            " src="../../../public/img/header-add.png" alt="" />添加</ws-button>
+				<ws-button @click="exportlist()" v-hasPermission="
             `contractManagement.buyContract.buyContractInfo.view`
-          "
-          >导出</ws-button
-        >
-      </template>
-      <template slot="right">
-        <span style="width: 142px; display: inline-block; color: #8890b1"
-          >状态:</span
-        >
-        <ws-select
-          v-model="searchTypeText"
-          placeholder=""
-          class="typeselect"
-          @change="selecttaskType"
-          :value="searchType"
-        >
-          <ws-option
-            v-for="item in taskTypeList"
-            :key="item.value"
-            :label="item.value"
-            :value="item.value"
-            style="color: #8890b1"
-          />
-        </ws-select>
-
-        <el-date-picker
-          v-model="value2"
-          type="daterange"
-          align="right"
-          unlink-panels
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :picker-options="pickerOptions"
-        >
-        </el-date-picker>
-        <ws-input
-          v-model="searchKeyWord"
-          placeholder="可按照合同编号、买方名称、卖方名称进行查找"
-          clearable
-          maxlength="500"
-          type="input"
-          class="findValue"
-        ></ws-input>
-        <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
-        <ws-button class="find" type="primary" @click="find()"
-          ><img
-            width="16"
-            height="16"
-            style="
+          ">导出</ws-button>
+			</template>
+			<template slot="right">
+				<span style="width: 142px; display: inline-block; color: #8890b1">状态:</span>
+				<ws-select v-model="searchTypeText" placeholder="" class="typeselect" @change="selecttaskType"
+					:value="searchType">
+					<ws-option v-for="item in taskTypeList" :key="item.value" :label="item.value" :value="item.value"
+						style="color: #8890b1" />
+				</ws-select>
+
+				<el-date-picker v-model="value2" type="daterange" align="right" unlink-panels range-separator="至"
+					start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions">
+				</el-date-picker>
+				<ws-input v-model="searchKeyWord" placeholder="可按照合同编号、买方名称、卖方名称进行查找" clearable maxlength="500"
+					type="input" class="findValue"></ws-input>
+				<!-- v-hasPermission="'procurement.sparepart.directShip'" -->
+				<ws-button class="find" type="primary" @click="find()"><img width="16" height="16" style="
               vertical-align: text-top;
               position: relative;
               top: 0px;
               left: -8px;
-            "
-            src="../../../public/img/sousuo.png"
-            alt=""
-        /></ws-button>
-      </template>
-    </BaseHeaderLayout>
-    <el-table
-      class="wenzi"
-      :data="contractList.records"
-      style="width: 100%; margin-top: 10px"
-      height="780"
-    >
-      <el-table-column type="index" label="序号">
-        <template scope="scope">
-          <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
-          <span v-else>{{ scope.$index + 1 }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="contractNo" label="合同编号" width="80">
-      </el-table-column>
-      <el-table-column prop="goodsName" label="货名" width="80">
-      </el-table-column>
-      <el-table-column prop="weight" label="重量(吨)"> </el-table-column>
-      <el-table-column prop="pointPrice" label="暂定点价(元/吨)">
-      </el-table-column>
-      <el-table-column prop="basisPrice" 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="status" label="状态">
-        <template slot-scope="scope">
-          <el-popover
-            placement="left"
-            :width="285"
-            trigger="click"
-            visible-arrow="false"
-            @show="history(scope.row)"
-          >
-            <template>
-              <span slot="reference">
-                <span
-                  v-if="scope.row.status == '待执行'"
-                  class="executory"
-                ></span>
-                <span
-                  v-if="scope.row.status == '执行中'"
-                  class="inExecution"
-                ></span>
-                <span v-if="scope.row.status == '已完成'" class="done"></span
-                >{{ scope.row.status }}
-              </span>
-            </template>
-            <div>
-              <p style="margin-top: 0; padding-left: 10px">操作历史</p>
-              <div
-                v-for="(item, index) in historyList"
-                :key="index"
-                class="flex"
-              >
-                <div class="vertical-text vertical-text-left">
-                  {{ item.updateDate }}
-                </div>
-                <div>
-                  <div class="vertical-circle"></div>
-                  <div
-                    v-if="index != historyList.length - 1"
-                    class="vertical-line"
-                  ></div>
-                </div>
-                <div class="vertical-text">
-                  {{ item.operateUser }}<br />{{ item.dealMsg }}
-                </div>
-              </div>
-            </div>
-          </el-popover>
-          <img
-            width="17"
-            height="18"
-            style="vertical-align: text-top; position: relative; top: -1px"
-            src="../../../public/img/edit.png"
-            @click="editClick(scope.row)"
-            alt=""
-          />
-          <!-- <i class="el-icon-edit" @click="editClick(scope.row)"></i> -->
-        </template>
-      </el-table-column>
-      <el-table-column prop="signingDate" label="签订日期"> </el-table-column>
-      <el-table-column prop="mildewGrain" label="已付款(元)">
-      </el-table-column>
-      <el-table-column prop="addressUrl" label="附件">
-        <template slot-scope="scope">
-          <img
-            width="18"
-            height="20"
-            style="vertical-align: text-top; position: relative; top: -1px"
-            src="../../../public/img/fujian.png"
-            @click="fujian(scope.row)"
-            alt=""
-          />
-          <span v-if="scope.row.addressUrlArray.length > 0">{{
+            " src="../../../public/img/sousuo.png" alt="" /></ws-button>
+			</template>
+		</BaseHeaderLayout>
+		<el-table class="wenzi" :data="contractList.records" style="width: 100%; margin-top: 10px" height="780">
+			<el-table-column type="index" label="序号">
+				<template scope="scope">
+					<span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+					<span v-else>{{ scope.$index + 1 }}</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="contractNo" label="合同编号" width="150">
+			</el-table-column>
+			<el-table-column prop="goodsName" label="货名" width="80">
+			</el-table-column>
+			<el-table-column prop="weight" label="重量(吨)"> </el-table-column>
+			<el-table-column prop="pointPrice" label="暂定点价(元/吨)">
+			</el-table-column>
+			<el-table-column prop="basisPrice" 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="status" label="状态">
+				<template slot-scope="scope">
+					<el-popover placement="left" :width="285" trigger="click" visible-arrow="false"
+						@show="history(scope.row)">
+						<template>
+							<span slot="reference">
+								<span v-if="scope.row.status == '待执行'" class="executory"></span>
+								<span v-if="scope.row.status == '执行中'" class="inExecution"></span>
+								<span v-if="scope.row.status == '已完成'" class="done"></span>{{ scope.row.status }}
+							</span>
+						</template>
+						<div>
+							<p style="margin-top: 0; padding-left: 10px">操作历史</p>
+							<div v-for="(item, index) in historyList" :key="index" class="flex">
+								<div class="vertical-text vertical-text-left">
+									{{ item.updateDate }}
+								</div>
+								<div>
+									<div class="vertical-circle"></div>
+									<div v-if="index != historyList.length - 1" class="vertical-line"></div>
+								</div>
+								<div class="vertical-text">
+									{{ item.operateUser }}<br />{{ item.dealMsg }}
+								</div>
+							</div>
+						</div>
+					</el-popover>
+					<img width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
+						src="../../../public/img/edit.png" @click="editClick(scope.row)" alt="" />
+					<!-- <i class="el-icon-edit" @click="editClick(scope.row)"></i> -->
+				</template>
+			</el-table-column>
+			<el-table-column prop="signingDate" label="签订日期"> </el-table-column>
+			<el-table-column prop="mildewGrain" label="已付款(元)">
+			</el-table-column>
+			<el-table-column prop="addressUrl" label="附件">
+				<template slot-scope="scope">
+					<img width="18" height="20" style="vertical-align: text-top; position: relative; top: -1px"
+						src="../../../public/img/fujian.png" @click="fujian(scope.row)" alt="" />
+					<span v-if="scope.row.addressUrlArray.length > 0">{{
             scope.row.addressUrlArray.length
           }}</span>
-          <!-- <i @click="fujian(scope.row)" class="el-icon-paperclip iconCss"></i> -->
-        </template>
-      </el-table-column>
-      <el-table-column prop="confirmCount" label="确认单" >
-      </el-table-column>
-      <el-table-column prop="address" label="操作" width="200">
-        <template slot-scope="scope">
-          <img
-            width="16"
-            height="16"
-            style="vertical-align: text-top; margin: 0 6px"
-            src="../../../public/img/chakan.png"
-            @click="handleExamine(scope.row)"
-            v-hasPermission="
+					<!-- <i @click="fujian(scope.row)" class="el-icon-paperclip iconCss"></i> -->
+				</template>
+			</el-table-column>
+			<el-table-column prop="confirmCount" label="确认单">
+			</el-table-column>
+			<el-table-column prop="address" label="操作" width="140">
+				<template slot-scope="scope">
+					<img width="16" height="16" style="vertical-align: text-top; margin: 0 6px"
+						src="../../../public/img/chakan.png" @click="handleExamine(scope.row)" v-hasPermission="
               `contractManagement.buyContract.buyContractInfo.view`
-            "
-            alt=""
-          />
-          <img
-            width="17"
-            height="16"
-            style="vertical-align: text-top; margin: 0 6px"
-            src="../../../public/img/bianji.png"
-            @click="handleEdit(scope.row)"
-            v-hasPermission="
+            " alt="" />
+					<img width="17" height="16" style="vertical-align: text-top; margin: 0 6px"
+						src="../../../public/img/bianji.png" @click="handleEdit(scope.row)" v-hasPermission="
               `contractManagement.buyContract.buyContractInfo.edit`
-            "
-            alt=""
-          />
-          <img
-            width="16"
-            height="17"
-            style="
+            " alt="" />
+					<img width="16" height="17" style="
               vertical-align: text-top;
               position: relative;
               top: -1px;
               margin: 0 6px;
-            "
-            src="../../../public/img/shanchu.png"
-            v-hasPermission="
+            " src="../../../public/img/shanchu.png" v-hasPermission="
               `contractManagement.buyContract.buyContractInfo.delete`
-            "
-            @click="handleDelete(scope.row)"
-            alt=""
-          />
-        </template>
-      </el-table-column>
-    </el-table>
-    <el-pagination
-      @size-change="handleSizeChange"
-      @current-change="handleCurrentChange"
-      :current-page="currentPage"
-      :page-size="deptCircularPage.pageSize"
-      layout="total, sizes, prev, pager, next, jumper"
-      :total="deptBudgetTotal"
-    >
-    </el-pagination>
-    <WinseaContentModal
-      v-model="accessoryTFs"
-      :title="$t('system.noticeCircular.information')"
-      @on-cancel="handleClose"
-    >
-     <ws-upload
-        ref="upload"
-        :comp-id="compId"
-        :appendix-ids="appendixIdss"
-        :editable="false"
-        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
-      />
-    </WinseaContentModal>
-  </div>
+            " @click="handleDelete(scope.row)" alt="" />
+				</template>
+			</el-table-column>
+		</el-table>
+		<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+			:page-size="deptCircularPage.pageSize" layout="total, sizes, prev, pager, next, jumper"
+			:total="deptBudgetTotal">
+		</el-pagination>
+		<WinseaContentModal v-model="accessoryTFs" :title="$t('system.noticeCircular.information')"
+			@on-cancel="handleClose">
+			<ws-upload ref="upload" :comp-id="compId" :appendix-ids="appendixIdss" :editable="false"
+				accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+		</WinseaContentModal>
+	</div>
 </template>
 <script>
-import {
-  getList,
-  export1,
-  editstatus,
-  billoperatehis,
-  deletecontract,
-} from '@/model/contarct/index'
-import { downloadFile } from '@/utils/batchDown'
-import Pagination from '@/components/Pagination'
-import WsUpload from '@/components/WsUpload'
-import { dayjs, EventBus } from 'base-core-lib'
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-    Pagination,
-  },
-  watch: {
-    vesselId(val) {
-      this.getList()
-    },
-    isShow(val) {
-      this.showType = val
-    },
-  },
-  data() {
-    return {
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      size: 10,
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      deliver_type: 1,
-      deptBudgetTotal: 0,
-      currentPage: 1,
-      pageSize: 10,
-      appendixIdsAdd: '',
-      searchType: 1,
-      searchTypeText: '未完成',
-      searchKeyWord: '',
-      contractType: 1,
-      goodsType: 2,
-      startDate: null,
-      endDate: null,
-      addressUrls: [],
-      accessurl: '',
-      accesscard: false,
-      // 提交类型
-      submitType: true,
-      deptCircularPage: {},
-      date: {
-        year: dayjs().format('YYYY'),
-        month: dayjs().format('MM'),
-      },
-      contractList: [],
-      deptBudgetList: {},
-      historyList: [],
-      appendixIdss: [],
-      fileList:[],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
-        },
-      },
-      accessoryTFs: false,
-      taskTypeList: [
-        { value: '未完成', type: 1 },
-        { value: '已完成', type: 2 },
-        { value: '全部合同', type: '' },
-      ],
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: '本周',
-            onClick(picker) {
-              const end = new Date()
-              const start = new Date()
-              var thisDay = start.getDay()
-              var thisDate = start.getDate()
-              if (thisDay != 0) {
-                start.setDate(thisDate - thisDay)
-              }
-              picker.$emit('pick', [start, end])
-            },
-          },
-          {
-            text: '本月',
-            onClick(picker) {
-              const end = new Date()
-              const start = new Date()
-              start.setDate(1)
-              picker.$emit('pick', [start, end])
-            },
-          },
-          {
-            text: '本季度',
-            onClick(picker) {
-              var oDate = new Date()
-
-              var thisYear = oDate.getFullYear()
-              var thisMonth = oDate.getMonth() + 1
-
-              var n = Math.ceil(thisMonth / 3) // 季度
-
-              var Month = n * 3 - 1
-
-              var start = new Date(thisYear, Month - 2, 1)
-              var end = new Date()
-
-              picker.$emit('pick', [start, end])
-            },
-          },
-        ],
-      },
-      value1: '',
-      value2: '',
-    }
-  },
-  activated() {
-    //cg.viewBudget
-    //cg.viewSpareMoney
-    // this.getVesselData();
-    this.getList()
-    this.showType = this.isShow
-  },
-  methods: {
-    dateFormat(fmt, date) {
-      let ret
-      const opt = {
-        'Y+': date.getFullYear().toString(), // 年
-        'm+': (date.getMonth() + 1).toString(), // 月
-        'd+': date.getDate().toString(), // 日
-        'H+': date.getHours().toString(), // 时
-        // "M+": date.getMinutes().toString(),         // 分
-        // "S+": date.getSeconds().toString()          // 秒
-        // 有其他格式化字符需求可以继续添加,必须转化成字符串
-      }
-      for (let k in opt) {
-        ret = new RegExp('(' + k + ')').exec(fmt)
-        if (ret) {
-          fmt = fmt.replace(
-            ret[1],
-            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
-          )
-        }
-      }
-      return fmt
-    },
-
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    handleClose1() {
-      this.accesscard = false
-    },
-    handleSizeChange(val) {
-      console.log(`每页 ${val} 条`)
-      this.pageSize = val
-      this.getList()
-    },
-    handleCurrentChange(val) {
-      this.currentPage = val
-      console.log(`当前页: ${val}`)
-      this.getList()
-    },
-    getList() {
-      getList({
-        compId: sessionStorage.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,
-        contrPage: this.contrPage,
-      })
-        .toPromise()
-        .then((response) => {
-          for (var i = 0; i < response.records.length; i++) {
-            if (response.records[i].addressUrl != null&&response.records[i].addressUrl != "") {
-              response.records[i].addressUrlArray =
-                response.records[i].addressUrl.split(',')
-            } else {
-              response.records[i].addressUrlArray = []
-            }
-          }
-          this.deptCircularPage.currentPage = response.current
-          this.deptCircularPage.pageSize = response.size
-          this.deptBudgetTotal = response.total
-          this.contractList = response
-          for (var i = 0; i < response.records.length; i++) {
-            var arr = new Array()
-            this.addressUrls[i] = new Array()
-            if (this.contractList.records[i].addressUrl != null) {
-              arr = this.contractList.records[i].addressUrl.split(',')
-              this.addressUrls[i] = arr
-            }
-             this.contractList.records[i].basisPrice = '+'+this.contractList.records[i].basisPrice
-          }
-        })
-    },
-    // 上传附件
-    uploadSuccess(data, files, url) {
-      console.log(data, files, url)
-
-      // this.deptBudgetList.
-      // this.formData.append('files', files)
-      // this.feedbackObj.uploadNameAttachment = data.appendixName
-      // this.feedbackObj.pathUploadAttachment = data.appendixPath
-      // // this.newAppendixs = files
-      // this.onChangeFlag = true
-    },
-    editClick(row) {
-      var status = ''
-      if (row.status == '待执行' || row.status == '已完成') {
-        status = '执行中'
-      } else if (row.status == '执行中') {
-        status = '已完成'
-      }
-      this.$confirm(`是否将状态改为${status}`, '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          editstatus({ id: row.id })
-            .toPromise()
-            .then((response) => {
-              this.$notify.success({
-                title: '成功',
-                message: '状态修改成功',
-              })
-              this.getList()
-            })
-            .catch((response) => {
-              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-            })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    selecttaskType(e) {
-      for (var i = 0; i < this.taskTypeList.length; i++) {
-        if (this.taskTypeList[i].value == e) {
-          this.searchType = this.taskTypeList[i].type
-        }
-      }
-    },
-    fujian(row) {
-      if (row.addressUrl === null || row.addressUrl === '') {
-        EventBus.$emit(
-          'warning',
-          this.$t('system.noticeCircular.NoInformation')
-        )
-      } else {
-        this.accessoryTFs = true
-      }
-      this.appendixIdss = row.addressUrl
-    },
-    handleExamine(row) {
-      console.log(row)
-      this.$router.push({
-        name: 'futuresSalesContractExamine',
-        query: { id: row.id, status: row.status },
-      })
-    },
-    handleAdd() {
-      this.$router.push({ path: 'futuresSalesContractAdd' })
-    },
-    handleEdit(row) {
-      this.$router.push({
-        name: 'futuresSalesContractEdit',
-        query: { id: row.id },
-      })
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleCloe() {
-      this.dialogViewSpareMoney = false
-    },
-    history(row) {
-      console.log(row)
-      billoperatehis({ id: row.id })
-        .toPromise()
-        .then((response) => {
-          this.historyList = response
-        })
-    },
-    find() {
-      if (this.value2) {
-        this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
-        this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
-      } else {
-        this.startDate = ''
-        this.endDate = ''
-      }
-      this.currentPage = 1
-      this.getList()
-    },
-    async exportlist() {
-      const { data } = await export1(
-        {
-          compId: sessionStorage.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,
-        },
-        {},
-        { responseType: 'blob' }
-      ).toPromise()
-      downloadFile({
-        res: data,
-        fileName: `${
+	import {
+		getList,
+		export1,
+		editstatus,
+		billoperatehis,
+		deletecontract,
+	} from '@/model/contarct/index'
+	import {
+		downloadFile
+	} from '@/utils/batchDown'
+	import Pagination from '@/components/Pagination'
+	import WsUpload from '@/components/WsUpload'
+	import {
+		dayjs,
+		EventBus
+	} from 'base-core-lib'
+	export default {
+		name: 'viewSpareMoney',
+		components: {
+			WsUpload,
+			Pagination,
+		},
+		watch: {
+			vesselId(val) {
+				this.getList()
+			},
+			isShow(val) {
+				this.showType = val
+			},
+		},
+		data() {
+			return {
+				//弹出框
+				dialogViewSpareMoney: false,
+				dialogApproveFormVisible: false,
+				// 船舶类型
+				monetaryKey: null,
+				// 表格显示数据
+				tableDate: [],
+				size: 10,
+				// 是否显示
+				showType: true,
+				// 年
+				year: '',
+				deliver_type: 1,
+				deptBudgetTotal: 0,
+				currentPage: 1,
+				pageSize: 10,
+				appendixIdsAdd: '',
+				searchType: 1,
+				searchTypeText: '未完成',
+				searchKeyWord: '',
+				contractType: 1,
+				goodsType: 2,
+				startDate: null,
+				endDate: null,
+				addressUrls: [],
+				accessurl: '',
+				accesscard: false,
+				// 提交类型
+				submitType: true,
+				deptCircularPage: {},
+				date: {
+					year: dayjs().format('YYYY'),
+					month: dayjs().format('MM'),
+				},
+				contractList: [],
+				deptBudgetList: {},
+				historyList: [],
+				appendixIdss: [],
+				fileList: [],
+				compId: sessionStorage.getItem('ws-pf_compId'),
+				pickerBeginDateBefore: {
+					disabledDate: (time) => {
+						return time.getTime() > Date.now()
+					},
+				},
+				accessoryTFs: false,
+				taskTypeList: [{
+						value: '未完成',
+						type: 1
+					},
+					{
+						value: '已完成',
+						type: 2
+					},
+					{
+						value: '全部合同',
+						type: ''
+					},
+				],
+				pickerOptions: {
+					shortcuts: [{
+							text: '本周',
+							onClick(picker) {
+								const end = new Date()
+								const start = new Date()
+								var thisDay = start.getDay()
+								var thisDate = start.getDate()
+								if (thisDay != 0) {
+									start.setDate(thisDate - thisDay)
+								}
+								picker.$emit('pick', [start, end])
+							},
+						},
+						{
+							text: '本月',
+							onClick(picker) {
+								const end = new Date()
+								const start = new Date()
+								start.setDate(1)
+								picker.$emit('pick', [start, end])
+							},
+						},
+						{
+							text: '本季度',
+							onClick(picker) {
+								var oDate = new Date()
+
+								var thisYear = oDate.getFullYear()
+								var thisMonth = oDate.getMonth() + 1
+
+								var n = Math.ceil(thisMonth / 3) // 季度
+
+								var Month = n * 3 - 1
+
+								var start = new Date(thisYear, Month - 2, 1)
+								var end = new Date()
+
+								picker.$emit('pick', [start, end])
+							},
+						},
+					],
+				},
+				value1: '',
+				value2: '',
+			}
+		},
+		activated() {
+			//cg.viewBudget
+			//cg.viewSpareMoney
+			// this.getVesselData();
+			this.getList()
+			this.showType = this.isShow
+		},
+		methods: {
+			dateFormat(fmt, date) {
+				let ret
+				const opt = {
+					'Y+': date.getFullYear().toString(), // 年
+					'm+': (date.getMonth() + 1).toString(), // 月
+					'd+': date.getDate().toString(), // 日
+					'H+': date.getHours().toString(), // 时
+					// "M+": date.getMinutes().toString(),         // 分
+					// "S+": date.getSeconds().toString()          // 秒
+					// 有其他格式化字符需求可以继续添加,必须转化成字符串
+				}
+				for (let k in opt) {
+					ret = new RegExp('(' + k + ')').exec(fmt)
+					if (ret) {
+						fmt = fmt.replace(
+							ret[1],
+							ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+						)
+					}
+				}
+				return fmt
+			},
+
+			handleClose() {
+				this.dialogViewSpareMoney = false
+			},
+			handleClose1() {
+				this.accesscard = false
+			},
+			handleSizeChange(val) {
+				console.log(`每页 ${val} 条`)
+				this.pageSize = val
+				this.getList()
+			},
+			handleCurrentChange(val) {
+				this.currentPage = val
+				console.log(`当前页: ${val}`)
+				this.getList()
+			},
+			getList() {
+				getList({
+						compId: sessionStorage.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,
+						contrPage: this.contrPage,
+					})
+					.toPromise()
+					.then((response) => {
+						for (var i = 0; i < response.records.length; i++) {
+							if (response.records[i].addressUrl != null && response.records[i].addressUrl != "") {
+								response.records[i].addressUrlArray =
+									response.records[i].addressUrl.split(',')
+							} else {
+								response.records[i].addressUrlArray = []
+							}
+						}
+						this.deptCircularPage.currentPage = response.current
+						this.deptCircularPage.pageSize = response.size
+						this.deptBudgetTotal = response.total
+						this.contractList = response
+						for (var i = 0; i < response.records.length; i++) {
+							var arr = new Array()
+							this.addressUrls[i] = new Array()
+							if (this.contractList.records[i].addressUrl != null) {
+								arr = this.contractList.records[i].addressUrl.split(',')
+								this.addressUrls[i] = arr
+							}
+							this.contractList.records[i].basisPrice = '+' + this.contractList.records[i].basisPrice
+						}
+					})
+			},
+			// 上传附件
+			uploadSuccess(data, files, url) {
+				console.log(data, files, url)
+
+				// this.deptBudgetList.
+				// this.formData.append('files', files)
+				// this.feedbackObj.uploadNameAttachment = data.appendixName
+				// this.feedbackObj.pathUploadAttachment = data.appendixPath
+				// // this.newAppendixs = files
+				// this.onChangeFlag = true
+			},
+			editClick(row) {
+				var status = ''
+				if (row.status == '待执行' || row.status == '已完成') {
+					status = '执行中'
+				} else if (row.status == '执行中') {
+					status = '已完成'
+				}
+				this.$confirm(`是否将状态改为${status}`, '提示', {
+						confirmButtonText: '确定',
+						cancelButtonText: '取消',
+						type: 'warning',
+					})
+					.then(() => {
+						editstatus({
+								id: row.id
+							})
+							.toPromise()
+							.then((response) => {
+								this.$notify.success({
+									title: '成功',
+									message: '状态修改成功',
+								})
+								this.getList()
+							})
+							.catch((response) => {
+								// EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+							})
+					})
+					.catch(() => {
+						return false
+					})
+			},
+			selecttaskType(e) {
+				for (var i = 0; i < this.taskTypeList.length; i++) {
+					if (this.taskTypeList[i].value == e) {
+						this.searchType = this.taskTypeList[i].type
+					}
+				}
+			},
+			fujian(row) {
+				if (row.addressUrl === null || row.addressUrl === '') {
+					EventBus.$emit(
+						'warning',
+						this.$t('system.noticeCircular.NoInformation')
+					)
+				} else {
+					this.accessoryTFs = true
+				}
+				this.appendixIdss = row.addressUrl
+			},
+			handleExamine(row) {
+				console.log(row)
+				this.$router.push({
+					name: 'futuresSalesContractExamine',
+					query: {
+						id: row.id,
+						status: row.status
+					},
+				})
+			},
+			handleAdd() {
+				this.$router.push({
+					path: 'futuresSalesContractAdd'
+				})
+			},
+			handleEdit(row) {
+				this.$router.push({
+					name: 'futuresSalesContractEdit',
+					query: {
+						id: row.id
+					},
+				})
+			},
+			// 关闭 dialog时 处理文件url 初始化upload组件
+			handleCloe() {
+				this.dialogViewSpareMoney = false
+			},
+			history(row) {
+				console.log(row)
+				billoperatehis({
+						id: row.id
+					})
+					.toPromise()
+					.then((response) => {
+						this.historyList = response
+					})
+			},
+			find() {
+				if (this.value2) {
+					this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
+					this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
+				} else {
+					this.startDate = ''
+					this.endDate = ''
+				}
+				this.currentPage = 1
+				this.getList()
+			},
+			async exportlist() {
+				const {
+					data
+				} = await export1({
+					compId: sessionStorage.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,
+				}, {}, {
+					responseType: 'blob'
+				}).toPromise()
+				downloadFile({
+					res: data,
+					fileName: `${
           this.date.year + (this.date.month ? `-${this.date.month}` : '')
         }_采购合同`,
-        type: 'xls',
-      })
-    },
-    // deletecontract(){},
-    //删除
-    handleDelete(row) {
-      var text = ''
-    //   if (row.deliverType == 1) {
-    //     text =
-    //       '删除该合同将同时永久删除合同对应的临时仓库相关数据,是否确定删除?'
-    //   } else {
-    //     text = '合同删除后不可恢复,是否继续删除?'
-    //   }
-      this.$confirm('合同删除后不可恢复,是否继续删除?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          deletecontract({ id: row.id })
-            .toPromise()
-            .then((response) => {
-              this.$notify.success({
-                title: '成功',
-                message: '删除成功',
-              })
-              this.getList()
-            })
-            .catch((response) => {})
-        })
-        .catch(() => {
-          return false
-        })
-    },
-  },
-}
+					type: 'xls',
+				})
+			},
+			// deletecontract(){},
+			//删除
+			handleDelete(row) {
+				var text = ''
+				//   if (row.deliverType == 1) {
+				//     text =
+				//       '删除该合同将同时永久删除合同对应的临时仓库相关数据,是否确定删除?'
+				//   } else {
+				//     text = '合同删除后不可恢复,是否继续删除?'
+				//   }
+				this.$confirm('合同删除后不可恢复,是否继续删除?', '提示', {
+						confirmButtonText: '确定',
+						cancelButtonText: '取消',
+						type: 'warning',
+					})
+					.then(() => {
+						deletecontract({
+								id: row.id
+							})
+							.toPromise()
+							.then((response) => {
+								this.$notify.success({
+									title: '成功',
+									message: '删除成功',
+								})
+								this.getList()
+							})
+							.catch((response) => {})
+					})
+					.catch(() => {
+						return false
+					})
+			},
+		},
+	}
 </script>
 <style lang="scss" scoped>
-.vertical-text-left {
-  width: 62px;
-  text-align: right;
-}
-.flex {
-  display: flex;
-}
-.el-range-editor.el-input__inner {
-  margin-left: 10px;
-}
-/deep/.base_header_layout .grid-content.right .find.el-button--primary {
-  width: 30px;
-  margin-left: -10px;
-  border-top-left-radius: 0px;
-  border-bottom-left-radius: 0px;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-button--default {
-  border: 1px solid #5473e8;
-  color: #5473e8;
-}
-.warning {
-  width: 100%;
-  height: 2px;
-  background: red;
-}
-.executory,
-.inExecution,
-.done {
-  width: 6px;
-  height: 6px;
-  display: inline-block;
-  border-radius: 50%;
-  position: relative;
-  top: -1px;
-}
-.executory {
-  background: #ff9f24;
-}
-.inExecution {
-  background: #5878e8;
-}
-.done {
-  background: #50cad4;
-}
-.top-grade {
-  background: linear-gradient(90deg, #5678e9, #7993f6);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.second-class {
-  background: linear-gradient(90deg, #50cdd9, #82e2ea);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.third-class {
-  background: linear-gradient(90deg, #ffa735, #ffbf70);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.substandard {
-  background: linear-gradient(90deg, #b2b4bb, #ced0d5);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.wrap {
-  width: 400px;
-  position: absolute;
-  top: 131px;
-  left: 794px;
-  transform-origin: right center;
-  z-index: 2005;
-}
-.vertical-line {
-  height: 64px;
-  border-left: 2px solid #e9ecf7;
-  margin-left: 4px;
-  padding: 0 3px;
-  // border-image: -webkit-linear-gradient(#00eba7, #08b8e6) 30 30;
-  // border-image: -moz-linear-gradient(#00eba7, #08b8e6) 30 30;
-  // border-image: linear-gradient(#00eba7, #08b8e6) 30 30;
-}
-.el-pagination {
-  padding: 10px 15px;
-  margin-bottom: 0;
-  text-align: center;
-}
-/deep/.el-pager li.active {
-  color: #5878e8;
-  cursor: default;
-}
-/deep/.el-pager li:hover {
-  color: #5878e8;
-  cursor: default;
-}
-.vertical-circle {
-  width: 10px;
-  height: 10px;
-  border: 2px solid #5878e8;
-  background-color: #ffffff;
-  -webkit-border-radius: 100px;
-}
-.vertical-circle:first-child {
-  color: red;
-}
-.vertical-text {
-  margin: 0 10px;
-  color: #8890b1;
-  font-size: 12px;
-  margin-top: -4px;
-}
-/deep/.el-table .el-table__header .cell,
-/deep/.el-table .el-table__body .cell {
-  text-align: center;
-}
-.typeselect {
-  width: 500px;
-}
-.padding-xs {
-  padding: 15px;
-  text-align: right;
-}
-.clearfix:after {
-  content: '';
-  display: block;
-  clear: both;
-}
-.el-table {
-  font-size: 16px;
-}
-.taskType {
-  width: 100%;
-  background-color: #fff;
-  margin-top: 2px;
-  margin-bottom: 10px;
-  list-style: none;
-  // padding-bottom: 20px;
-  li {
-    float: left;
-    border: 1px solid #6ea0f3;
-    border-radius: 5px;
-    max-width: 190px;
-    padding: 0 5px;
-    text-align: center;
-    margin: 10px 20px;
-    cursor: pointer;
-    font-size: 14px;
-    p {
-      margin: 8px 0px;
-      span {
-        color: #e74c3c;
-      }
-    }
-  }
-  li:hover {
-    background-color: #e4eeff;
-    color: #1d6ced;
-  }
-}
-.el-date-editor--date {
-  margin: 0 10px;
-}
-.findValue {
-  margin: 0 10px;
-}
-/deep/.findValue .el-input__inner {
-  border-top-right-radius: 0px;
-  border-bottom-right-radius: 0px;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    &/deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-/deep/.typeselect .el-input__inner {
-  color: #8890b1;
-}
+	.vertical-text-left {
+		width: 62px;
+		text-align: right;
+	}
+
+	.flex {
+		display: flex;
+	}
+
+	.el-range-editor.el-input__inner {
+		margin-left: 10px;
+	}
+
+	/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+		width: 30px;
+		margin-left: -10px;
+		border-top-left-radius: 0px;
+		border-bottom-left-radius: 0px;
+	}
+
+	.el-button--primary {
+		background-color: #5878e8;
+		border-color: #5878e8;
+	}
+
+	.el-button--default {
+		border: 1px solid #5473e8;
+		color: #5473e8;
+	}
+
+	.warning {
+		width: 100%;
+		height: 2px;
+		background: red;
+	}
+
+	.executory,
+	.inExecution,
+	.done {
+		width: 6px;
+		height: 6px;
+		display: inline-block;
+		border-radius: 50%;
+		position: relative;
+		top: -1px;
+	}
+
+	.executory {
+		background: #ff9f24;
+	}
+
+	.inExecution {
+		background: #5878e8;
+	}
+
+	.done {
+		background: #50cad4;
+	}
+
+	.top-grade {
+		background: linear-gradient(90deg, #5678e9, #7993f6);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.second-class {
+		background: linear-gradient(90deg, #50cdd9, #82e2ea);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.third-class {
+		background: linear-gradient(90deg, #ffa735, #ffbf70);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.substandard {
+		background: linear-gradient(90deg, #b2b4bb, #ced0d5);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.wrap {
+		width: 400px;
+		position: absolute;
+		top: 131px;
+		left: 794px;
+		transform-origin: right center;
+		z-index: 2005;
+	}
+
+	.vertical-line {
+		height: 64px;
+		border-left: 2px solid #e9ecf7;
+		margin-left: 4px;
+		padding: 0 3px;
+		// border-image: -webkit-linear-gradient(#00eba7, #08b8e6) 30 30;
+		// border-image: -moz-linear-gradient(#00eba7, #08b8e6) 30 30;
+		// border-image: linear-gradient(#00eba7, #08b8e6) 30 30;
+	}
+
+	.el-pagination {
+		padding: 10px 15px;
+		margin-bottom: 0;
+		text-align: center;
+	}
+
+	/deep/.el-pager li.active {
+		color: #5878e8;
+		cursor: default;
+	}
+
+	/deep/.el-pager li:hover {
+		color: #5878e8;
+		cursor: default;
+	}
+
+	.vertical-circle {
+		width: 10px;
+		height: 10px;
+		border: 2px solid #5878e8;
+		background-color: #ffffff;
+		-webkit-border-radius: 100px;
+	}
+
+	.vertical-circle:first-child {
+		color: red;
+	}
+
+	.vertical-text {
+		margin: 0 10px;
+		color: #8890b1;
+		font-size: 12px;
+		margin-top: -4px;
+	}
+
+	/deep/.el-table .el-table__header .cell,
+	/deep/.el-table .el-table__body .cell {
+		text-align: center;
+	}
+
+	.typeselect {
+		width: 500px;
+	}
+
+	.padding-xs {
+		padding: 15px;
+		text-align: right;
+	}
+
+	.clearfix:after {
+		content: '';
+		display: block;
+		clear: both;
+	}
+
+	.el-table {
+		font-size: 16px;
+	}
+
+	.taskType {
+		width: 100%;
+		background-color: #fff;
+		margin-top: 2px;
+		margin-bottom: 10px;
+		list-style: none;
+
+		// padding-bottom: 20px;
+		li {
+			float: left;
+			border: 1px solid #6ea0f3;
+			border-radius: 5px;
+			max-width: 190px;
+			padding: 0 5px;
+			text-align: center;
+			margin: 10px 20px;
+			cursor: pointer;
+			font-size: 14px;
+
+			p {
+				margin: 8px 0px;
+
+				span {
+					color: #e74c3c;
+				}
+			}
+		}
+
+		li:hover {
+			background-color: #e4eeff;
+			color: #1d6ced;
+		}
+	}
+
+	.el-date-editor--date {
+		margin: 0 10px;
+	}
+
+	.findValue {
+		margin: 0 10px;
+	}
+
+	/deep/.findValue .el-input__inner {
+		border-top-right-radius: 0px;
+		border-bottom-right-radius: 0px;
+	}
+
+	.button-container {
+		display: flex;
+		flex-wrap: nowrap;
+		justify-content: space-between;
+		align-items: center;
+		background-color: #fff;
+		width: 100%;
+		height: 50px;
+		padding: 0 10px;
+
+		&>div {
+			margin-left: 10px;
+			display: flex;
+			flex-wrap: nowrap;
+			flex-direction: row;
+
+			&>span {
+				line-height: 50px;
+			}
+		}
+
+		/deep/.auditFlow-box {
+			position: unset;
+			margin-left: 10px;
+
+			&/deep/.auditFlow-icon {
+				width: auto;
+				padding-right: 30px;
+			}
+
+			&/deep/.auditFlow-main {
+				position: absolute;
+			}
+		}
+	}
+
+	.box-app {
+		display: inline-block;
+		float: left;
+		margin-left: 30px;
+		line-height: 50px;
+	}
+
+	/deep/.el-dialog {
+		.el-form-item {
+			margin-bottom: 0 !important;
+
+			.el-input--medium {
+				textarea {
+					min-height: 100px !important;
+				}
+			}
+		}
+	}
+
+	.collapse-bottom {
+		margin-bottom: 20px;
+	}
+
+	.input-main .textarea .el-textarea__inner {
+		width: 100%;
+		z-index: 1;
+	}
+
+	/*.crt-main .textarea /deep/ .el-form-item__label {*/
+	/*  height: 82px;*/
+	/*}*/
+	// 控制select为只读的时候显示样式
+
+	.hide-sel {
+		.el-input__inner {
+			border: 0px;
+		}
+
+		.el-icon-arrow-up {
+			display: none;
+		}
+
+		.el-textarea__inner {
+			background-color: #fff !important;
+			border: 0;
+		}
+
+		.el-date-editor {
+			i {
+				display: none;
+			}
+		}
+
+		.is-disabled {
+			.el-input__inner:hover {
+				background-color: #fff !important;
+				border: 0;
+			}
+
+			color: #606266;
+
+			.el-input__inner {
+				background-color: #fff !important;
+				border: 0;
+				color: #606266;
+			}
+
+			.el-textarea__inner {
+				background-color: #fff !important;
+				border: 0;
+				color: #606266;
+			}
+		}
+	}
+
+	// 控制select为只读的时候显示样式
+	/deep/.ws-class-table-col {
+		height: auto;
+		padding: 0px 2px;
+
+		/deep/.el-input__inner {
+			padding: 0px 2px;
+		}
+	}
+
+	/deep/.is-disabled {
+		.el-input__prefix,
+		.el-input__suffix {
+			display: none;
+		}
+
+		.el-input__inner {
+			background-color: #fff;
+			border-color: #fff !important;
+			color: #000 !important;
+			font-size: 14px;
+			cursor: text;
+			padding: 0 !important;
+		}
+	}
+
+	/deep/.typeselect .el-input__inner {
+		color: #8890b1;
+	}
 </style>

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

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

+ 1422 - 1569
src/views/contractManagement/futuresSalesContractEdit.vue

@@ -6,198 +6,98 @@
         <h2 class="bg-left title">修改合同信息</h2>
       </el-col>
       <el-col :span="12" class="bg-right">
-        <el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="returnsales()"
-          ><img
-            width="6"
-            height="10"
-            style="vertical-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt=""
-          />
-          返回</el-button
-        >
+        <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()"><img width="6" height="10"
+            style="vertical-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />
+          返回</el-button>
       </el-col>
-      
+
     </el-row>
-    <ws-form
-      ref="deptBudgetList"
-      :rules="mainReportAdd"
-      :model="deptBudgetList"
-    >
+    <ws-form ref="deptBudgetList" :rules="mainReportAdd" :model="deptBudgetList">
       <div class="remark">
         <h3>基本信息</h3>
         <p style="color: #8890b1">
           &nbsp;&nbsp;注:基本信息和货物信息均为必填项,“*”
           标记的条目提交后不可修改。
         </p>
-        <div class="queren"><el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="confirmationsheet()"
-          >确认单</el-button
-        ></div>
+        <div class="queren">
+          <el-button class="bg-bottom" type="primary" size="small" @click="confirmationsheet()">确认单</el-button>
+        </div>
       </div>
       <ws-info-table>
         <!-- 合同编号 -->
-        <ws-form-item
-          class="readonly"
-          label="合同编号"
-          span="1"
-          prop="contractNo"
-        >
+        <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"
-            placeholder="请输入运输方式"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.shippingType" placeholder="请输入运输方式" maxlength="100" size="small" />
         </ws-form-item>
         <!--买方-->
-        <ws-form-item label="买方" span="1" prop="buyer" >
-          <ws-input
-            v-model="deptBudgetList.buyer"
-            placeholder="请输入买方名称"
-            maxlength="100"
-            size="small"
-          />
+        <ws-form-item label="买方" span="1" prop="buyer">
+          <ws-input v-model="deptBudgetList.buyer" placeholder="请输入买方名称" maxlength="100" size="small" />
         </ws-form-item>
 
         <!--结算方式-->
         <ws-form-item label="结算方式" span="1" prop="settlementMethod">
-          <ws-input
-            v-model="deptBudgetList.settlementMethod"
-            placeholder="请输入结算方式"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.settlementMethod" placeholder="请输入结算方式" maxlength="100" size="small" />
         </ws-form-item>
         <!--买方电话-->
         <ws-form-item label="买方电话" span="1" prop="contractNo">
-          <ws-input
-            v-model.number="deptBudgetList.buyerPhone"
-            placeholder="请输入买方电话"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model.number="deptBudgetList.buyerPhone" placeholder="请输入买方电话" maxlength="100" size="small" />
         </ws-form-item>
         <!--交货方式-->
-        <ws-form-item
-          class="readonly"
-          label="交货方式"
-          span="1"
-          prop="sourceGoods"
-        >
+        <ws-form-item class="readonly" label="交货方式" span="1" prop="sourceGoods">
           {{ deptBudgetList.deliverType1 }}
         </ws-form-item>
         <!--卖方-->
-        <ws-form-item label="卖方" span="1" prop="seller" >
-          <ws-input
-            v-model="deptBudgetList.seller"
-            placeholder="请输入卖方名称"
-            maxlength="100"
-            size="small"
-          />
+        <ws-form-item label="卖方" span="1" prop="seller">
+          <ws-input v-model="deptBudgetList.seller" placeholder="请输入卖方名称" maxlength="100" size="small" />
         </ws-form-item>
-        
+
         <!--包装方式-->
         <ws-form-item label="包装方式" span="1" prop="packingMethod">
-          <ws-select
-            v-model="deptBudgetList.packingMethod"
-            placeholder=""
-            class="typeselect"
-            :value="value1"
-            @change="selectpackingMethod"
-          >
-            <ws-option
-              v-for="item in packtypeList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
+          <ws-select v-model="deptBudgetList.packingMethod" placeholder="" class="typeselect" :value="value1"
+            @change="selectpackingMethod">
+            <ws-option v-for="item in packtypeList" :key="item.constKey" :label="item.constValue"
+              :value="item.constValue" />
           </ws-select>
         </ws-form-item>
         <!--卖方电话-->
         <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
-          <ws-input
-            v-model="deptBudgetList.sellerPhone"
-            placeholder="请输入卖方电话"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.sellerPhone" placeholder="请输入卖方电话" maxlength="100" size="small" />
         </ws-form-item>
         <!--验收方式-->
         <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
-          <el-select
-            v-model="deptBudgetList.acceptanceMethod"
-            placeholder="请选择验收方式"
-            style="width: 100%"
-            filterable
-            @change="selectunitList"
-          >
-            <el-option
-              v-for="(item, index) in unitList"
-              :key="item.constValue"
-              :label="item.constValue"
-              :value="item.constValue"
-            >
+          <el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式" style="width: 100%" filterable
+            @change="selectunitList">
+            <el-option v-for="(item, index) in unitList" :key="item.constValue" :label="item.constValue"
+              :value="item.constValue">
               <span class="unit-left" style="float: left">
                 <span v-if="item.flag == 'delete'"> {{ item.constValue }}</span>
                 <!-- 新增文本框 -->
-                <div
-                  style="width: 160px"
-                  v-if="item.flag !== 'delete'"
-                  @click.stop
-                >
-                  <ws-input
-                    v-model="item.constValue"
-                    clearable
-                    maxlength="10"
-                    style="width: 100%"
-                  ></ws-input>
+                <div style="width: 160px" v-if="item.flag !== 'delete'" @click.stop>
+                  <ws-input v-model="item.constValue" clearable maxlength="10" style="width: 100%"></ws-input>
                 </div>
               </span>
               <span style="float: right; color: #8492a6; font-size: 13px">
                 <!-- 对号 -->
-                <i
-                  class="el-icon-check"
-                  style="line-height: 29px; margin-left: 10px"
-                  v-if="item.flag !== 'delete'"
-                  @click.stop="saveClick(item, index)"
-                ></i>
+                <i class="el-icon-check" style="line-height: 29px; margin-left: 10px" v-if="item.flag !== 'delete'"
+                  @click.stop="saveClick(item, index)"></i>
                 <!-- 编辑 -->
-                <i
-                  class="el-icon-edit"
-                  style="line-height: 29px; margin-left: 10px"
-                  v-if="item.flag == 'delete'"
-                  @click.stop="editClick(item, index)"
-                ></i>
+                <i class="el-icon-edit" style="line-height: 29px; margin-left: 10px" v-if="item.flag == 'delete'"
+                  @click.stop="editClick(item, index)"></i>
                 <!-- 删除 -->
-                <i
-                  class="el-icon-delete"
-                  style="line-height: 29px"
-                  @click.stop="deleteClick(item, index)"
-                ></i>
+                <i class="el-icon-delete" style="line-height: 29px" @click.stop="deleteClick(item, index)"></i>
               </span>
             </el-option>
             <!-- 新增按钮 -->
             <el-option value="" label="">
-              <div
-                style="
+              <div style="
                   text-align: right;
                   border-top: 1px solid #dcdfe6;
                   padding: 5px;
-                "
-              >
+                ">
                 <ws-button type="primary" @click.stop="addClick">{{
                   $t('button.add')
                 }}</ws-button>
@@ -207,158 +107,79 @@
         </ws-form-item>
         <!--交易数量(吨)-->
         <ws-form-item label="交易数量(吨)" span="1" prop="weight">
-          <ws-input
-            @input="weightchange"
-            v-model="deptBudgetList.weight"
-            placeholder="请输入重量(吨)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input @input="weightchange" v-model="deptBudgetList.weight" placeholder="请输入重量(吨)" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--计量标准-->
         <ws-form-item label="计量标准" span="1" prop="measurementStandard">
-          <ws-input
-            v-model="deptBudgetList.measurementStandard"
-            placeholder="请输入计量标准,如库内磅单"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.measurementStandard" placeholder="请输入计量标准,如库内磅单" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--基差(元/吨)-->
         <ws-form-item label="基差(元/吨)" span="1" prop="basisPrice">
-          <ws-input
-            v-model="deptBudgetList.basisPrice"
-            placeholder="请输入基差(元/吨)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.basisPrice" placeholder="请输入基差(元/吨)" maxlength="100" size="small" />
         </ws-form-item>
         <!--出货库-->
-          <el-form-item label="出货库" span="1" prop="receiveWarehouse">
-            <el-select
-              v-model="deptBudgetList.receiveWarehouse"
-              placeholder="请选择出货库"
-              class="typeselect"
-              @change="selectwarehouseName"
-            >
-              <el-option
-                v-for="item in warehouseNameList"
-                :key="item.constKey"
-                :label="item.warehouseName"
-                :value="item.warehouseName"
-              />
-            </el-select>
-          </el-form-item>
+        <el-form-item label="出货库" span="1" prop="receiveWarehouse">
+          <el-select v-model="deptBudgetList.receiveWarehouse" placeholder="请选择出货库" class="typeselect"
+            @change="selectwarehouseName">
+            <el-option v-for="item in warehouseNameList" :key="item.constKey" :label="item.warehouseName"
+              :value="item.warehouseName" />
+          </el-select>
+        </el-form-item>
         <!--交易所-->
         <ws-form-item label="交易所" span="1" prop="transactionsPlace">
-          <ws-input
-            v-model="deptBudgetList.transactionsPlace"
-            placeholder="请输入交易所"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.transactionsPlace" placeholder="请输入交易所" maxlength="100" size="small" />
         </ws-form-item>
         <!--交货所在地区-->
         <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-cascader :options="options_" v-model="selectedOptions" clearable size="large" placeholder="请选择交货所在地区"
+            style="width: 200%" @change="handleChange" /> -->
+          <el-button @click="mapInputClick('deliveryProv')" class="address-btn">{{newSelectedOptions1}}</el-button>
         </ws-form-item>
         <!--合约号-->
         <ws-form-item label="合约号" span="1" prop="contractNumber">
-          <ws-input
-            v-model="deptBudgetList.contractNumber"
-            placeholder="请输入合约号"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractNumber" placeholder="请输入合约号" maxlength="100" size="small" />
         </ws-form-item>
         <!--交货详细地址-->
         <ws-form-item label="交货详细地址" span="1" prop="placeDelivery">
-          <ws-input
-            v-model="deptBudgetList.placeDelivery"
-            placeholder="请输入交货详细地址"
-            maxlength="20"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.placeDelivery" placeholder="请输入交货详细地址" maxlength="20" size="small" />
         </ws-form-item>
         <!--点价(元/吨)-->
         <ws-form-item label="点价(元/吨)" span="1" prop="pointPrice">
-          <ws-input
-            v-model="deptBudgetList.pointPrice"
-            placeholder="请输入合约点价"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.pointPrice" placeholder="请输入合约点价" maxlength="100" size="small" />
         </ws-form-item>
         <!--签订日期-->
         <ws-form-item label="签订日期" span="1" prop="signingDate">
-          <ws-date-picker
-            v-model="deptBudgetList.signingDate"
-            type="date"
-            placeholder="请选择合同签订日期"
-            value-format="yyyy-MM-dd"
-          />
+          <ws-date-picker v-model="deptBudgetList.signingDate" type="date" placeholder="请选择合同签订日期"
+            value-format="yyyy-MM-dd" />
         </ws-form-item>
         <!--点价日期-->
         <ws-form-item label="点价日期" span="1" prop="pointPriceDate">
-          <ws-date-picker
-            v-model="deptBudgetList.pointPriceDate"
-            type="date"
-            placeholder="请选择点价日期"
-            value-format="yyyy-MM-dd"
-          />
+          <ws-date-picker v-model="deptBudgetList.pointPriceDate" type="date" placeholder="请选择点价日期"
+            value-format="yyyy-MM-dd" />
         </ws-form-item>
-        
-        
+
+
         <!--交货日期(起)-->
         <ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
-          <ws-date-picker
-            v-model="deptBudgetList.deliveryDateStart"
-            type="date"
-            placeholder="请选择交货日期(起)"
-            value-format="yyyy-MM-dd"
-          />
+          <ws-date-picker v-model="deptBudgetList.deliveryDateStart" type="date" placeholder="请选择交货日期(起)"
+            value-format="yyyy-MM-dd" />
         </ws-form-item>
         <!--临时仓库负责人-->
-        <ws-form-item
-          v-show="deptBudgetList.deliverType == 1"
-          label="临时仓库负责人"
-          span="1"
-          prop="packingMethod"
-        >
-          <el-select
-            v-model="deptBudgetList.personCharge"
-            placeholder="请选择临时仓库负责人"
-            filterable
-            :filter-method="dataFilter"
-            @change="selectstaff"
-          >
-            <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.staffName"
-              :value="item.staffName"
-            />
+        <ws-form-item v-show="deptBudgetList.deliverType == 1" label="临时仓库负责人" span="1" prop="packingMethod">
+          <el-select v-model="deptBudgetList.personCharge" placeholder="请选择临时仓库负责人" filterable
+            :filter-method="dataFilter" @change="selectstaff">
+            <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
           </el-select>
         </ws-form-item>
         <!--交货日期(止)-->
         <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
-          <ws-date-picker
-            v-model="deptBudgetList.deliveryDateEnd"
-            type="date"
-            placeholder="请选择交货日期(止)"
-            value-format="yyyy-MM-dd"
-          />
+          <ws-date-picker v-model="deptBudgetList.deliveryDateEnd" type="date" placeholder="请选择交货日期(止)"
+            value-format="yyyy-MM-dd" />
         </ws-form-item>
-        
-    </ws-info-table>
+
+      </ws-info-table>
 
       <div class="wenzi">
         <h3>货物信息</h3>
@@ -367,125 +188,70 @@
 
       <ws-info-table>
         <!--货名-->
-        <ws-form-item
-            class="readonly"
-            label="货名"
-            span="1"
-            prop="waterContent"
-          >
-            {{ deptBudgetList.contractGoodsInfo.goodsName }}
-          </ws-form-item>
+        <ws-form-item class="readonly" label="货名" span="1" prop="waterContent">
+          {{ deptBudgetList.contractGoodsInfo.goodsName }}
+        </ws-form-item>
         <!--水分(%)<=-->
         <ws-form-item label="水分(%)<=" span="1" prop="waterContent">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.waterContent"
-            placeholder="请输入水分占比"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.waterContent" placeholder="请输入水分占比" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--品级-->
         <ws-form-item label="品级" span="1" prop="grade">
-          <ws-select
-            v-model="deptBudgetList.contractGoodsInfo.grade"
-            placeholder="请选择品级"
-            class="typeselect"
-            @change="selectgrade"
-          >
-            <ws-option
-              v-for="item in gradeList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
+          <ws-select v-model="deptBudgetList.contractGoodsInfo.grade" placeholder="请选择品级" class="typeselect"
+            @change="selectgrade">
+            <ws-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
+              :value="item.constValue" />
           </ws-select>
         </ws-form-item>
 
         <!--杂质(%)<=-->
         <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.impurity"
-            placeholder="请输入杂质占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.impurity" placeholder="请输入杂质占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--容重(克/升)>=-->
         <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.bulkDensity"
-            placeholder="请输入容重"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.bulkDensity" placeholder="请输入容重" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--霉变粒(%)<=-->
         <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.mildewGrain"
-            placeholder="请输入霉变粒占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.mildewGrain" placeholder="请输入霉变粒占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--热损伤(%)<=-->
         <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.jiaorenli"
-            placeholder="请输入输入热损伤占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.jiaorenli" placeholder="请输入输入热损伤占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--不完善粒(%)<=-->
         <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.imperfectGrain"
-            placeholder="请输入不完善粒占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.imperfectGrain" placeholder="请输入不完善粒占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--蛋白(%)>=-->
         <ws-form-item label="蛋白(%)>=" span="1" prop="protein">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.protein"
-            placeholder="请输入蛋白占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.protein" placeholder="请输入蛋白占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--转基因-->
         <ws-form-item label="转基因" span="1" prop="transgene">
-          <ws-select
-            v-model="deptBudgetList.contractGoodsInfo.transgene"
-            placeholder="请选择转基因要求"
-            class="typeselect"
-            @change="selecttransgene"
-          >
-            <ws-option
-              v-for="item in transgeneList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
+          <ws-select v-model="deptBudgetList.contractGoodsInfo.transgene" placeholder="请选择转基因要求" class="typeselect"
+            @change="selecttransgene">
+            <ws-option v-for="item in transgeneList" :key="item.constKey" :label="item.constValue"
+              :value="item.constValue" />
           </ws-select>
         </ws-form-item>
         <!--产地-->
         <ws-form-item label="产地" span="1" prop="protein">
-          <el-cascader
-              :options="options1_"
-              v-model="selectedOptions1"
-              clearable
-              size="large"
-              placeholder="请选择产地"
-              @change="handleChange1"
-              style="width:200%"
-            />
+          <!-- <el-cascader :options="options1_" v-model="selectedOptions1" clearable size="large" placeholder="请选择产地"
+            @change="handleChange1" style="width:200%" /> -->
+          <el-button @click="mapInputClick('source')" class="address-btn">{{ newSelectedOptions }} </el-button>
         </ws-form-item>
 
       </ws-info-table>
@@ -496,67 +262,39 @@
       <!--流程信息-->
 
       <ws-info-table>
-          <!--合同收入(元)-->
-          <ws-form-item label="合同收入(元)" span="1" prop="goodsNameKey">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.goodsNameKey"
-              placeholder="请输入合同收入(元)"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
+        <!--合同收入(元)-->
+        <ws-form-item label="合同收入(元)" span="1" prop="goodsNameKey">
+          <ws-input v-model="deptBudgetList.contractProcessInfo.goodsNameKey" placeholder="请输入合同收入(元)" maxlength="100"
+            size="small" />
+        </ws-form-item>
         <!--已开发票(元)-->
         <ws-form-item label="已开发票(元)" span="1" prop="goodsName">
-          <ws-input
-            v-model="deptBudgetList.contractProcessInfo.goodsName"
-            placeholder="请输入已开发票(元)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractProcessInfo.goodsName" placeholder="请输入已开发票(元)" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--费用支出(元)-->
         <ws-form-item label="费用支出(元)" span="1" prop="waterContent">
-          <ws-input
-            v-model="deptBudgetList.contractProcessInfo.waterContent"
-            placeholder="请输入费用支出(元)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractProcessInfo.waterContent" placeholder="请输入费用支出(元)" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--未开发票(元)-->
         <ws-form-item label="未开发票(元)" span="1" prop="impurity">
-          <ws-input
-            v-model="deptBudgetList.contractProcessInfo.impurity"
-            placeholder="请输入未开发票(元)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractProcessInfo.impurity" placeholder="请输入未开发票(元)" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--未回款(元)-->
         <ws-form-item label="未回款(元)" span="1" prop="mildewGrain">
-          <ws-input
-            v-model="deptBudgetList.contractProcessInfo.mildewGrain"
-            placeholder="请输入未回款(元)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractProcessInfo.mildewGrain" placeholder="请输入未回款(元)" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--双章原件回收情况-->
         <ws-form-item label="双章原件回收情况" span="1" prop="grade">
-          <ws-select
-            v-model="deptBudgetList.contractProcessInfo.grade"
-            placeholder=""
-            class="typeselect"
-            @change="selectChapterTwo"
-          >
-            <ws-option
-              v-for="item in ChapterTwoList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
+          <ws-select v-model="deptBudgetList.contractProcessInfo.grade" placeholder="" class="typeselect"
+            @change="selectChapterTwo">
+            <ws-option v-for="item in ChapterTwoList" :key="item.constKey" :label="item.constValue"
+              :value="item.constValue" />
           </ws-select>
         </ws-form-item>
       </ws-info-table>
@@ -565,1300 +303,1415 @@
         <h3>备注信息</h3>
       </div>
       <!--备注信息-->
-      <ws-input
-        v-model="deptBudgetList.remarks"
-        type="textarea"
-        row="3"
-        placeholder="请输入备注信息,不超过200字"
-        maxlength="200"
-      />
-      
-      <ws-upload
-        ref="upload"
-        :comp-id="compId"
-        :appendix-ids="deptBudgetList.addressUrl"
-        :size-limit="size"
-        @onChange="onChange"
-        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
-      />
+      <ws-input v-model="deptBudgetList.remarks" type="textarea" row="3" placeholder="请输入备注信息,不超过200字"
+        maxlength="200" />
+
+      <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :size-limit="size"
+        @onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
     </ws-form>
+    <div v-if="dialogVisible" class="map">
+      <map-drag @marker="marker" :isShowaddress="true" v-on:addressListen="getAddress" :type="type">
+      </map-drag>
+    </div>
     <div style="text-align: right; padding: 10px" class="center">
-      <el-button
-        class="bg-bottom"
-        type="primary"
-        size="small"
-        @click="submit(deptBudgetList)"
-        >提交</el-button
-      >
+      <el-button class="bg-bottom" type="primary" size="small" @click="submit(deptBudgetList)">提交</el-button>
     </div>
   </div>
 </template>
 <script>
-import { regionData,provinceAndCityDataPlus, CodeToText, TextToCode } from 'element-china-area-data'
-import {
-  packList,
-  getwarehousename,
-  xiala,
-  addxiala,
-  editxiala,
-  delxiala,
-  examineList,
-  editInfo,
-  getstaff,
-} from '@/model/contarct/index'
-import WsUpload from '@/components/WsUpload'
-import { EventBus, dayjs } from 'base-core-lib'
-export default {
-  name: 'viewSpareMoney',
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
-    },
-    isShow(val) {
-      this.showType = val
-    },
-  },
-  components: {
-    WsUpload,
-  },
-  data() {
-    return {
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      size: 10,
-      // 提交类型
-      submitType: true,
-      tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
-      ruleDeptBudget: [],
-      deptBudgetList: {
-        contractProcessInfo: {},
-        contractGoodsInfo: {},
+  import {
+    regionData,
+    provinceAndCityDataPlus,
+    CodeToText,
+    TextToCode
+  } from 'element-china-area-data'
+  import {
+    packList,
+    getwarehousename,
+    xiala,
+    addxiala,
+    editxiala,
+    delxiala,
+    examineList,
+    editInfo,
+    getstaff,
+  } from '@/model/contarct/index'
+  import WsUpload from '@/components/WsUpload'
+  import mapDrag from '@/components/mapdrag/mapdrag'
+  import {
+    EventBus,
+    dayjs
+  } from 'base-core-lib'
+  export default {
+    name: 'viewSpareMoney',
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
       },
-      options_: regionData,
-      selectedOptions: [],
-      selectedOptions1: [],
-      mainReportAdd: {},
-      list: {},
-      transgeneList: [],
-      unitList: [],
-      options_: regionData,
-      options1_:provinceAndCityDataPlus,
-      staffList: [],
-      packtypeList: [],
-      goodnameList: [],
-      gradeList: [],
-      warehouseNameList: [],
-      warehouseNameList1: [],
-      ChapterTwoList: [],
-      appendixIdsAdd: '',
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
-        },
+      isShow(val) {
+        this.showType = val
       },
-      acceptanceCheck: {},
-      compId: sessionStorage.getItem('ws-pf_compId'),
-    }
-  },
-
-  activated() {
-    getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
-      .toPromise()
-      .then((response) => {
-        this.options = response
-        this.staffList = response
-      })
-    this.loaddata()
-    this.showType = this.isShow
-  },
-  methods: {
-    dataFilter(val) {
-      this.deptBudgetList.personCharge = val
-      if (val) {
-        //val存在
-        this.options = this.staffList.filter((item) => {
-          if (
-            !!~item.staffName.indexOf(val) ||
-            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
-          ) {
-            return true
-          }
-        })
-      } else {
-        //val为空时,还原数组
-        this.options = this.staffList
-      }
-    },
-    selectstaff(e) {
-      for (var i = 0; i < this.staffList.length; i++) {
-        if (this.staffList[i].staffName == e) {
-          this.deptBudgetList.personPhone = this.staffList[i].staffMobilePhone
-          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
-        }
-      }
     },
-    handleChange(value) {
-      this.selectedOptions = value
-      this.dataList.deliveryProvince = CodeToText[value[0]]
-      this.dataList.deliveryCity = CodeToText[value[1]]
-      this.dataList.deliveryArea = CodeToText[value[2]]
+    components: {
+      WsUpload,
+      mapDrag
     },
-    handleChange1(value) {
-      this.selectedOptions1 = value
-      this.dataList.contractGoodsInfo.outputPrivate = CodeToText[value[0]]
-      this.dataList.contractGoodsInfo.outputCity = CodeToText[value[1]]
+    data() {
+      return {
+        type: '',
+        dialogVisible: false,
+        newSelectedOptions1: '请选择交货所在地区',
+        newSelectedOptions: '请选择产地',
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        size: 10,
+        // 提交类型
+        submitType: true,
+        tableData: [{
+          date: 1111,
+          name: 'qqqq',
+          address: 'errrtt'
+        }],
+        ruleDeptBudget: [],
+        deptBudgetList: {
+          contractProcessInfo: {},
+          contractGoodsInfo: {},
+		  sourceGoods:'',
+		  placeDelivery:'',
+        },
+        options_: regionData,
+        selectedOptions: [],
+        selectedOptions1: [],
+        mainReportAdd: {},
+        list: {},
+        transgeneList: [],
+        unitList: [],
+        options_: regionData,
+        options1_: provinceAndCityDataPlus,
+        staffList: [],
+        packtypeList: [],
+        goodnameList: [],
+        gradeList: [],
+        warehouseNameList: [],
+        warehouseNameList1: [],
+        ChapterTwoList: [],
+        appendixIdsAdd: '',
+        pickerBeginDateBefore: {
+          disabledDate: (time) => {
+            return time.getTime() > Date.now()
+          },
+        },
+        acceptanceCheck: {},
+        compId: sessionStorage.getItem('ws-pf_compId'),
+      }
     },
-    loaddata() {
-      // 数据
-       examineList({ id: this.$route.query.id })
+
+    activated() {
+      getstaff({
+          compId: sessionStorage.getItem('ws-pf_compId')
+        })
         .toPromise()
         .then((response) => {
-          this.deptBudgetList = response
-          this.selectedOptions = tmp
-          var tmp = []
-          tmp[0] = TextToCode[response.deliveryProvince].code
-          tmp[1] =
-            TextToCode[response.deliveryProvince][response.deliveryCity].code
-          tmp[2] =
-            TextToCode[response.deliveryProvince][response.deliveryCity][
-              response.deliveryArea
-            ].code
-
-          if (tmp[0] == 810000 || tmp[0] == 820000) {
-            tmp[2] = null
-          } else {
+          this.options = response
+          this.staffList = response
+        })
+      this.loaddata()
+      this.showType = this.isShow
+    },
+    methods: {
+      marker: function(item) {
+        this.deptBudgetList.warehousePositioning =
+          item.lnglat.lat + ',' + item.lnglat.lng
+      },
+      getAddress(data) {
+        console.log('getAddress', data)
+        if (data[4] == 'source') {
+          this.newSelectedOptions = data[0] + '/' + data[1] + '/' + data[2]
+          this.deptBudgetList.contractGoodsInfo.outputPrivate = data[0]
+          this.deptBudgetList.contractGoodsInfo.outputCity = data[1]
+          this.deptBudgetList.contractGoodsInfo.outputArea = data[2]
+        } else {
+          this.newSelectedOptions1 = data[0] + '/' + data[1] + '/' + data[2]
+          this.deptBudgetList.deliveryProvince = CodeToText[this.selectedOptions[0]]
+          this.deptBudgetList.deliveryCity = data[1]
+          this.deptBudgetList.deliveryArea = data[2]
+          this.deptBudgetList.placeDelivery = data[3]
+        }
+      },
+      mapInputClick(type) {
+        this.dialogVisible = true
+        this.type = type
+      },
+      blurMap() {
+        this.dialogVisible = false
+      },
+      focusMap() {
+        this.dialogVisible = true
+      },
+      dataFilter(val) {
+        this.deptBudgetList.personCharge = val
+        if (val) {
+          //val存在
+          this.options = this.staffList.filter((item) => {
+            if (
+              !!~item.staffName.indexOf(val) ||
+              !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+            ) {
+              return true
+            }
+          })
+        } else {
+          //val为空时,还原数组
+          this.options = this.staffList
+        }
+      },
+      selectstaff(e) {
+        for (var i = 0; i < this.staffList.length; i++) {
+          if (this.staffList[i].staffName == e) {
+            this.deptBudgetList.personPhone = this.staffList[i].staffMobilePhone
+            this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+          }
+        }
+      },
+      handleChange(value) {
+        this.selectedOptions = value
+        this.dataList.deliveryProvince = CodeToText[value[0]]
+        this.dataList.deliveryCity = CodeToText[value[1]]
+        this.dataList.deliveryArea = CodeToText[value[2]]
+      },
+      handleChange1(value) {
+        this.selectedOptions1 = value
+        this.dataList.contractGoodsInfo.outputPrivate = CodeToText[value[0]]
+        this.dataList.contractGoodsInfo.outputCity = CodeToText[value[1]]
+      },
+      loaddata() {
+        // 数据
+        examineList({
+            id: this.$route.query.id
+          })
+          .toPromise()
+          .then((response) => {
+            this.deptBudgetList = response
+            this.selectedOptions = tmp
+            var tmp = []
+            tmp[0] = TextToCode[response.deliveryProvince].code
+            tmp[1] =
+              TextToCode[response.deliveryProvince][response.deliveryCity].code
             tmp[2] =
               TextToCode[response.deliveryProvince][response.deliveryCity][
                 response.deliveryArea
               ].code
-          }
-          this.selectedOptions = tmp
-          var tmp1 = []
-          tmp1[0] = TextToCode[response.contractGoodsInfo.outputPrivate].code
-          tmp1[1] =
-            TextToCode[response.contractGoodsInfo.outputPrivate][response.contractGoodsInfo.outputCity].code
-          this.selectedOptions1 = tmp1
-          if (this.deptBudgetList.deliverType == 1) {
-            this.deptBudgetList.deliverType1 = '我方送货'
-          } else if (this.deptBudgetList.deliverType == 2) {
-            this.deptBudgetList.deliverType1 = '对方自提'
-          }
-        })
 
-      // 包装方式
-      packList({ constId: 'PRO2' })
-        .toPromise()
-        .then((response) => {
-          this.packtypeList = response
-        })
-      // 验收方式
-      this.getUnitList()
-      // 货名
-      packList({ constId: 'CON2' })
-        .toPromise()
-        .then((response) => {
-          this.goodnameList = response
-        })
-      // 品级
-      packList({ constId: 'CON3' })
-        .toPromise()
-        .then((response) => {
-          this.gradeList = response
-        })
+            if (tmp[0] == 810000 || tmp[0] == 820000) {
+              tmp[2] = null
+            } else {
+              tmp[2] =
+                TextToCode[response.deliveryProvince][response.deliveryCity][
+                  response.deliveryArea
+                ].code
+            }
+            this.selectedOptions = tmp
+            var tmp1 = []
+            tmp1[0] = TextToCode[response.contractGoodsInfo.outputPrivate].code
+            tmp1[1] =
+              TextToCode[response.contractGoodsInfo.outputPrivate][response.contractGoodsInfo.outputCity].code
+            this.selectedOptions1 = tmp1
+            if (this.deptBudgetList.deliverType == 1) {
+              this.deptBudgetList.deliverType1 = '我方送货'
+            } else if (this.deptBudgetList.deliverType == 2) {
+              this.deptBudgetList.deliverType1 = '对方自提'
+            }
+          })
+
+        // 包装方式
+        packList({
+            constId: 'PRO2'
+          })
+          .toPromise()
+          .then((response) => {
+            this.packtypeList = response
+          })
+        // 验收方式
+        this.getUnitList()
+        // 货名
+        packList({
+            constId: 'CON2'
+          })
+          .toPromise()
+          .then((response) => {
+            this.goodnameList = response
+          })
+        // 品级
+        packList({
+            constId: 'CON3'
+          })
+          .toPromise()
+          .then((response) => {
+            this.gradeList = response
+          })
         //转基因
-      packList({ constId: 'CON7' })
-        .toPromise()
-        .then((response) => {
-          this.transgeneList = response
-        })
+        packList({
+            constId: 'CON7'
+          })
+          .toPromise()
+          .then((response) => {
+            this.transgeneList = response
+          })
         //收货库
         getwarehousename({
-        compId: this.compId,
-        warehouseType: 1,
-      })
-        .toPromise()
-        .then((response) => {
-          this.warehouseNameList = response
-        })
-      getwarehousename({
-        compId: this.compId,
-        warehouseType: 2,
-      })
-        .toPromise()
-        .then((response) => {
-          this.warehouseNameList1 = response
-        })
-      // 双章
-      packList({ constId: 'CON4' })
-        .toPromise()
-        .then((response) => {
-          this.ChapterTwoList = response
-        })
-    },
-    addClick() {
-      this.unitList.push({
-        flag: 'add',
-        constValue: '',
-        constKey: '',
-      })
-    },
-    // 上传附件
-    onChange () {
-      this.$refs.upload
-        .handleSaveBill()
-        .then(async response => {
-          this.deptBudgetList.addressUrl = response
-        })
-        .catch(res => {
-          EventBus.$emit('error', (JSON.parse(res) || {}).message)
-          this.$refs.upload.clearFiles()
+            compId: this.compId,
+            warehouseType: 1,
+          })
+          .toPromise()
+          .then((response) => {
+            this.warehouseNameList = response
+          })
+        getwarehousename({
+            compId: this.compId,
+            warehouseType: 2,
+          })
+          .toPromise()
+          .then((response) => {
+            this.warehouseNameList1 = response
+          })
+        // 双章
+        packList({
+            constId: 'CON4'
+          })
+          .toPromise()
+          .then((response) => {
+            this.ChapterTwoList = response
+          })
+      },
+      addClick() {
+        this.unitList.push({
+          flag: 'add',
+          constValue: '',
+          constKey: '',
         })
-    },
-    getUnitList() {
-      xiala({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: 'TYPEYAN',
-      })
-        .toPromise()
-        .then((response) => {
-          this.unitList = response
-          let currItem
-          this.unitList.forEach((item, index, arr) => {
-            item.flag = 'delete'
-            if (this.vModel == item.constKey) {
-              currItem = item
+      },
+      // 上传附件
+      onChange() {
+        this.$refs.upload
+          .handleSaveBill()
+          .then(async response => {
+            this.deptBudgetList.addressUrl = response
+          })
+          .catch(res => {
+            EventBus.$emit('error', (JSON.parse(res) || {}).message)
+            this.$refs.upload.clearFiles()
+          })
+      },
+      getUnitList() {
+        xiala({
+            compId: sessionStorage.getItem('ws-pf_compId'),
+            constCode: 'TYPEYAN',
+          })
+          .toPromise()
+          .then((response) => {
+            this.unitList = response
+            let currItem
+            this.unitList.forEach((item, index, arr) => {
+              item.flag = 'delete'
+              if (this.vModel == item.constKey) {
+                currItem = item
+              }
+            })
+            //
+            if (currItem) {
+              this.selectContract(currItem.constValue)
             }
           })
-          //
-          if (currItem) {
-            this.selectContract(currItem.constValue)
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      // handleExamine(row) {
+      //   console.log(row)
+      //   this.$router.push({
+      //     name: 'futuresPurchaseContractExamine',
+      //     query: { id: row.id, status: row.status },
+      //   })
+      // },
+      // approve() {},
+      returnsales() {
+        this.$router.push({
+          path: 'futuresSalesContract'
+        })
+      },
+      confirmationsheet() {
+        this.$router.push({
+          path: 'priceConfirmationSheet',
+          query: {
+            contractNo: this.deptBudgetList.contractNo,
+            contractType: this.deptBudgetList.contractType,
+            id: this.deptBudgetList.id
           }
         })
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    // handleExamine(row) {
-    //   console.log(row)
-    //   this.$router.push({
-    //     name: 'futuresPurchaseContractExamine',
-    //     query: { id: row.id, status: row.status },
-    //   })
-    // },
-    // approve() {},
-    returnsales() {
-      this.$router.push({ path: 'futuresSalesContract' })
-    },
-    confirmationsheet() {
-      this.$router.push({ path: 'priceConfirmationSheet',
-      query: { contractNo: this.deptBudgetList.contractNo , contractType: this.deptBudgetList.contractType , id : this.deptBudgetList.id} })
-    },
-    selectChapterTwo(e) {
-      for (var i = 0; i < this.ChapterTwoList.length; i++) {
-        if (this.ChapterTwoList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+      },
+      selectChapterTwo(e) {
+        for (var i = 0; i < this.ChapterTwoList.length; i++) {
+          if (this.ChapterTwoList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+          }
         }
-      }
-    },
-    selectunitList(e) {
-      for (var i = 0; i < this.unitList.length; i++) {
-        if (this.unitList[i].constValue == e) {
-          this.deptBudgetList.packingMethodKey = this.unitList[i].constKey
+      },
+      selectunitList(e) {
+        for (var i = 0; i < this.unitList.length; i++) {
+          if (this.unitList[i].constValue == e) {
+            this.deptBudgetList.packingMethodKey = this.unitList[i].constKey
+          }
         }
-      }
-    },
-    selecttransgene(e) {
-      for (var i = 0; i < this.transgeneList.length; i++) {
-        if (this.transgeneList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.transgeneList[i].constKey
+      },
+      selecttransgene(e) {
+        for (var i = 0; i < this.transgeneList.length; i++) {
+          if (this.transgeneList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.transgeneList[i].constKey
+          }
         }
-      }
-    },
-    selectwarehouseName() {},
-    selectgrade(e) {
-      for (var i = 0; i < this.gradeList.length; i++) {
-        if (this.gradeList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+      },
+      selectwarehouseName() {},
+      selectgrade(e) {
+        for (var i = 0; i < this.gradeList.length; i++) {
+          if (this.gradeList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+          }
         }
-      }
-    },
-    selectpackingMethod(e) {
-      for (var i = 0; i < this.packtypeList.length; i++) {
-        if (this.packtypeList[i].constValue == e) {
-          this.deptBudgetList.acceptanceMethodKey =
-            this.packtypeList[i].constKey
+      },
+      selectpackingMethod(e) {
+        for (var i = 0; i < this.packtypeList.length; i++) {
+          if (this.packtypeList[i].constValue == e) {
+            this.deptBudgetList.acceptanceMethodKey =
+              this.packtypeList[i].constKey
+          }
         }
-      }
-    },
-    saveClick(item, index) {
-      console.log(item)
+      },
+      saveClick(item, index) {
+        console.log(item)
 
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        this.$set(this.unitList, index, { flag: 'check' })
-      } else {
-        this.$set(this.unitList, index, { flag: 'delete' })
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      if (item.flag == 'add') {
-        item.constKey = Math.random() * 20
-        this.acceptanceCheck.compId = this.compId
-        this.acceptanceCheck.constKey = item.constKey
-        this.acceptanceCheck.constCode = 'TYPEYAN'
-        this.acceptanceCheck.constValue = item.constValue
-        this.acceptanceCheck.id = item.id
-        addxiala(this.acceptanceCheck)
-          .toPromise()
-          .then((response) => {
-            this.getUnitList()
+        if (Object.is(item.id, 1)) {
+          return
+        }
+        if (Object.is(this.unitList[index].flag, 'delete')) {
+          this.$set(this.unitList, index, {
+            flag: 'check'
+          })
+        } else {
+          this.$set(this.unitList, index, {
+            flag: 'delete'
+          })
+        }
+        if (!item.constValue) {
+          this.unitList.splice(index, 1)
+          return
+        }
+        if (item.flag == 'add') {
+          item.constKey = Math.random() * 20
+          this.acceptanceCheck.compId = this.compId
+          this.acceptanceCheck.constKey = item.constKey
+          this.acceptanceCheck.constCode = 'TYPEYAN'
+          this.acceptanceCheck.constValue = item.constValue
+          this.acceptanceCheck.id = item.id
+          addxiala(this.acceptanceCheck)
+            .toPromise()
+            .then((response) => {
+              this.getUnitList()
+            })
+        } else if (item.flag == 'check') {
+          this.acceptanceCheck.compId = this.compId
+          this.acceptanceCheck.constKey = item.constKey
+          this.acceptanceCheck.constCode = 'TYPEYAN'
+          this.acceptanceCheck.constValue = item.constValue
+          this.acceptanceCheck.id = item.id
+          editxiala(this.acceptanceCheck)
+            .toPromise()
+            .then((response) => {
+              this.getUnitList()
+            })
+        }
+      },
+      // 编辑
+      editClick(item, index) {
+        const map = JSON.parse(JSON.stringify(item))
+        if (Object.is(item.id, 1)) {
+          return
+        }
+        if (Object.is(this.unitList[index].flag, 'delete')) {
+          map.flag = 'check'
+          this.$set(this.unitList, index, map)
+        } else {
+          map.flag = 'delete'
+          this.$set(this.unitList, index, map)
+        }
+      },
+      // 删除
+      deleteClick(item, index) {
+        if (Object.is(item.constKey, 1)) {
+          return
+        }
+        if (!item.constValue) {
+          this.unitList.splice(index, 1)
+          return
+        }
+        delxiala({
+            id: this.unitList[index].id
           })
-      } else if (item.flag == 'check') {
-        this.acceptanceCheck.compId = this.compId
-        this.acceptanceCheck.constKey = item.constKey
-        this.acceptanceCheck.constCode = 'TYPEYAN'
-        this.acceptanceCheck.constValue = item.constValue
-        this.acceptanceCheck.id = item.id
-        editxiala(this.acceptanceCheck)
           .toPromise()
           .then((response) => {
             this.getUnitList()
+            this.pleaseChoose = ''
           })
-      }
-    },
-    // 编辑
-    editClick(item, index) {
-      const map = JSON.parse(JSON.stringify(item))
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        map.flag = 'check'
-        this.$set(this.unitList, index, map)
-      } else {
-        map.flag = 'delete'
-        this.$set(this.unitList, index, map)
-      }
-    },
-    // 删除
-    deleteClick(item, index) {
-      if (Object.is(item.constKey, 1)) {
-        return
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      delxiala({ id: this.unitList[index].id })
-        .toPromise()
-        .then((response) => {
-          this.getUnitList()
-          this.pleaseChoose = ''
-        })
-    },
-    submit() {
-      if (!this.deptBudgetList.contractNo) {
-        this.$message({
-          message: '请输入合同编号',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractNo.length < 6 ||
-        this.deptBudgetList.contractNo.length > 50
-      ) {
-        this.$message({
-          message: '合同编号长度不符合要求,请输入6到50个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.shippingType) {
-        this.$message({
-          message: '请输入运输方式!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.shippingType.length < 1 ||
-        this.deptBudgetList.shippingType.length > 20
-      ) {
-        this.$message({
-          message: '运输方式长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyer) {
-        this.$message({
-          message: '请输入买方名称!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.buyer.length > 30) {
-        this.$message({
-          message: '买方名称长度不符合要求,请输入30个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.settlementMethod) {
-        this.$message({
-          message: '请输入结算方式!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.settlementMethod.length < 1 ||
-        this.deptBudgetList.settlementMethod.length > 20
-      ) {
-        this.$message({
-          message: '结算方式长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyerPhone) {
-        this.$message({
-          message: '请输入买方电话!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.buyerPhone)) {
-        this.$message({
-          message: '输入买方电话有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyerPhone.length < 7 ||
-        this.deptBudgetList.buyerPhone.length > 20
-      ) {
-        this.$message({
-          message: '买方电话长度不符合要求,请输入7到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.seller) {
-        this.$message({
-          message: '请输入卖方名称!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.seller.length > 30) {
-        this.$message({
-          message: '卖方名称长度不符合要求,请输入30个字符之内!',
-          type: 'warning',
-        })
-        return
-      }     
-      if (!this.deptBudgetList.sellerPhone) {
-        this.$message({
-          message: '请输入卖方电话!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.sellerPhone)) {
-        this.$message({
-          message: '输入卖方电话有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyerPhone.length < 7 ||
-        this.deptBudgetList.buyerPhone.length > 20
-      ) {
-        this.$message({
-          message: '卖方电话长度不符合要求,请输入7到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.acceptanceMethod) {
-        this.$message({
-          message: '请选择验收方式',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.weight) {
-        this.$message({
-          message: '请输入交易数量!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.weight) ||
-        (String(this.deptBudgetList.weight).indexOf('.') != -1 &&
-          String(this.deptBudgetList.weight).length -
-            (String(this.deptBudgetList.weight).indexOf('.') + 1) >
-            3) ||
-        this.deptBudgetList.weight < 0 ||
-        this.deptBudgetList.weight > 200000
-      ) {
-        this.$message({
-          message: '输入交易数量有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.measurementStandard) {
-        this.$message({
-          message: '请输入计量标准!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.measurementStandard.length < 1 ||
-        this.deptBudgetList.measurementStandard.length > 20
-      ) {
-        this.$message({
-          message: '计量标准长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!String(this.deptBudgetList.basisPrice)) {
-        this.$message({
-          message: '请输入基差!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.basisPrice) ||
-        (String(this.deptBudgetList.basisPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.basisPrice).length -
-            (String(this.deptBudgetList.basisPrice).indexOf('.') + 1) >
-            3) ||
-        this.deptBudgetList.basisPrice < 0 ||
-        this.deptBudgetList.basisPrice > 10000
-      ) {
-        this.$message({
-          message: '基差输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.receiveWarehouse) {
-        this.$message({
-          message: '请选择出货库!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.transactionsPlace) {
-        this.$message({
-          message: '请输入交易所!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.transactionsPlace.length < 2 ||
-        this.deptBudgetList.transactionsPlace.length > 15
-      ) {
-        this.$message({
-          message: '交易所长度不符合要求,请输入2到15个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.selectedOptions.length == 0) {
-        this.$message({
-          message: '请选择交货所在地区!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractNumber) {
-        this.$message({
-          message: '请输入合约号!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractNumber.length < 2 ||
-        this.deptBudgetList.contractNumber.length > 15
-      ) {
-        this.$message({
-          message: '合约号长度不符合要求,请输入2到15个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.placeDelivery) {
-        this.$message({
-          message: '请输入交货详细地址!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.pointPrice) {
-        this.$message({
-          message: '请输入点价!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.pointPrice) ||
-        (String(this.deptBudgetList.pointPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.pointPrice).length -
-            (String(this.deptBudgetList.pointPrice).indexOf('.') + 1) >
-            3) ||
-        this.deptBudgetList.pointPrice < 0 ||
-        this.deptBudgetList.pointPrice > 100000
-      ) {
-        this.$message({
-          message: '输入点价有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.signingDate) {
-        this.$message({
-          message: '请选择签订日期',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.pointPriceDate) {
-        this.$message({
-          message: '请选择点价日期',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateStart) {
-        this.$message({
-          message: '请选择交货日期(起)',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateEnd) {
-        this.$message({
-          message: '请选择交货日期(止)',
-          type: 'warning',
-        })
-        return
-      }
-      //时间
-      if (
-        new Date(this.deptBudgetList.deliveryDateStart).getTime() >
-        new Date(this.deptBudgetList.deliveryDateEnd).getTime()
-      ) {
-        this.$message({
-          message: '交货日期(止)选择错误',
-          type: 'warning',
-        })
-        return
-      }
-      //货物信息
-      if (this.selectedOptions1.length == 0) {
-        this.$message({
-          message: '请选择产地!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
-        this.$message({
-          message: '请选择货名',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.waterContent) {
-        this.$message({
-          message: '请输入水分',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractGoodsInfo.waterContent &&
-        String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') != -1 &&
-        String(this.deptBudgetList.contractGoodsInfo.waterContent).length -
+      },
+      submit() {
+        if (!this.deptBudgetList.contractNo) {
+          this.$message({
+            message: '请输入合同编号',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractNo.length < 6 ||
+          this.deptBudgetList.contractNo.length > 50
+        ) {
+          this.$message({
+            message: '合同编号长度不符合要求,请输入6到50个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.shippingType) {
+          this.$message({
+            message: '请输入运输方式!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.shippingType.length < 1 ||
+          this.deptBudgetList.shippingType.length > 20
+        ) {
+          this.$message({
+            message: '运输方式长度不符合要求,请输入1到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.buyer) {
+          this.$message({
+            message: '请输入买方名称!',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.deptBudgetList.buyer.length > 30) {
+          this.$message({
+            message: '买方名称长度不符合要求,请输入30个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.settlementMethod) {
+          this.$message({
+            message: '请输入结算方式!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.settlementMethod.length < 1 ||
+          this.deptBudgetList.settlementMethod.length > 20
+        ) {
+          this.$message({
+            message: '结算方式长度不符合要求,请输入1到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.buyerPhone) {
+          this.$message({
+            message: '请输入买方电话!',
+            type: 'warning',
+          })
+          return
+        }
+        if (isNaN(this.deptBudgetList.buyerPhone)) {
+          this.$message({
+            message: '输入买方电话有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.buyerPhone.length < 7 ||
+          this.deptBudgetList.buyerPhone.length > 20
+        ) {
+          this.$message({
+            message: '买方电话长度不符合要求,请输入7到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.seller) {
+          this.$message({
+            message: '请输入卖方名称!',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.deptBudgetList.seller.length > 30) {
+          this.$message({
+            message: '卖方名称长度不符合要求,请输入30个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.sellerPhone) {
+          this.$message({
+            message: '请输入卖方电话!',
+            type: 'warning',
+          })
+          return
+        }
+        if (isNaN(this.deptBudgetList.sellerPhone)) {
+          this.$message({
+            message: '输入卖方电话有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.buyerPhone.length < 7 ||
+          this.deptBudgetList.buyerPhone.length > 20
+        ) {
+          this.$message({
+            message: '卖方电话长度不符合要求,请输入7到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.acceptanceMethod) {
+          this.$message({
+            message: '请选择验收方式',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.weight) {
+          this.$message({
+            message: '请输入交易数量!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.weight) ||
+          (String(this.deptBudgetList.weight).indexOf('.') != -1 &&
+            String(this.deptBudgetList.weight).length -
+            (String(this.deptBudgetList.weight).indexOf('.') + 1) >
+            3) ||
+          this.deptBudgetList.weight < 0 ||
+          this.deptBudgetList.weight > 200000
+        ) {
+          this.$message({
+            message: '输入交易数量有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.measurementStandard) {
+          this.$message({
+            message: '请输入计量标准!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.measurementStandard.length < 1 ||
+          this.deptBudgetList.measurementStandard.length > 20
+        ) {
+          this.$message({
+            message: '计量标准长度不符合要求,请输入1到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!String(this.deptBudgetList.basisPrice)) {
+          this.$message({
+            message: '请输入基差!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.basisPrice) ||
+          (String(this.deptBudgetList.basisPrice).indexOf('.') != -1 &&
+            String(this.deptBudgetList.basisPrice).length -
+            (String(this.deptBudgetList.basisPrice).indexOf('.') + 1) >
+            3) ||
+          this.deptBudgetList.basisPrice < 0 ||
+          this.deptBudgetList.basisPrice > 10000
+        ) {
+          this.$message({
+            message: '基差输入错误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.receiveWarehouse) {
+          this.$message({
+            message: '请选择出货库!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.transactionsPlace) {
+          this.$message({
+            message: '请输入交易所!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.transactionsPlace.length < 2 ||
+          this.deptBudgetList.transactionsPlace.length > 15
+        ) {
+          this.$message({
+            message: '交易所长度不符合要求,请输入2到15个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.newSelectedOptions1) {
+          this.$message({
+            message: '请选择交货所在地区!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractNumber) {
+          this.$message({
+            message: '请输入合约号!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractNumber.length < 2 ||
+          this.deptBudgetList.contractNumber.length > 15
+        ) {
+          this.$message({
+            message: '合约号长度不符合要求,请输入2到15个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.placeDelivery) {
+          this.$message({
+            message: '请输入交货详细地址!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.pointPrice) {
+          this.$message({
+            message: '请输入点价!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.pointPrice) ||
+          (String(this.deptBudgetList.pointPrice).indexOf('.') != -1 &&
+            String(this.deptBudgetList.pointPrice).length -
+            (String(this.deptBudgetList.pointPrice).indexOf('.') + 1) >
+            3) ||
+          this.deptBudgetList.pointPrice < 0 ||
+          this.deptBudgetList.pointPrice > 100000
+        ) {
+          this.$message({
+            message: '输入点价有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.signingDate) {
+          this.$message({
+            message: '请选择签订日期',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.pointPriceDate) {
+          this.$message({
+            message: '请选择点价日期',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.deliveryDateStart) {
+          this.$message({
+            message: '请选择交货日期(起)',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.deliveryDateEnd) {
+          this.$message({
+            message: '请选择交货日期(止)',
+            type: 'warning',
+          })
+          return
+        }
+        //时间
+        if (
+          new Date(this.deptBudgetList.deliveryDateStart).getTime() >
+          new Date(this.deptBudgetList.deliveryDateEnd).getTime()
+        ) {
+          this.$message({
+            message: '交货日期(止)选择错误',
+            type: 'warning',
+          })
+          return
+        }
+        //货物信息
+        if (!this.newSelectedOptions) {
+          this.$message({
+            message: '请选择产地!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
+          this.$message({
+            message: '请选择货名',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.waterContent) {
+          this.$message({
+            message: '请输入水分',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractGoodsInfo.waterContent &&
+          String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') != -1 &&
+          String(this.deptBudgetList.contractGoodsInfo.waterContent).length -
           (String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') + 1) >
-          2||this.deptBudgetList.contractGoodsInfo.waterContent>40||this.deptBudgetList.contractGoodsInfo.waterContent<0
-      ) {
-        this.$message({
-          message: '水分输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.grade) {
-        this.$message({
-          message: '请选择品级',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.transgene) {
-        this.$message({
-          message: '请选择转基因',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.impurity) {
-        this.$message({
-          message: '请输入杂质',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractGoodsInfo.impurity &&
-        String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') != -1 &&
-        String(this.deptBudgetList.contractGoodsInfo.impurity).length -
+          2 || this.deptBudgetList.contractGoodsInfo.waterContent > 40 || this.deptBudgetList.contractGoodsInfo
+          .waterContent < 0
+        ) {
+          this.$message({
+            message: '水分输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.grade) {
+          this.$message({
+            message: '请选择品级',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.transgene) {
+          this.$message({
+            message: '请选择转基因',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.impurity) {
+          this.$message({
+            message: '请输入杂质',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractGoodsInfo.impurity &&
+          String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') != -1 &&
+          String(this.deptBudgetList.contractGoodsInfo.impurity).length -
           (String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') + 1) >
-          2||this.deptBudgetList.contractGoodsInfo.impurity>40||this.deptBudgetList.contractGoodsInfo.impurity<0
-      ) {
-        this.$message({
-          message: '杂质输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.bulkDensity) {
-        this.$message({
-          message: '请输入容重',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractGoodsInfo.bulkDensity &&
-          String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.bulkDensity).length -
+          2 || this.deptBudgetList.contractGoodsInfo.impurity > 40 || this.deptBudgetList.contractGoodsInfo.impurity < 0
+        ) {
+          this.$message({
+            message: '杂质输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.bulkDensity) {
+          this.$message({
+            message: '请输入容重',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.deptBudgetList.contractGoodsInfo.bulkDensity &&
+            String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') != -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.bulkDensity).length -
             (String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') + 1) >
-            2) || this.deptBudgetList.contractGoodsInfo.bulkDensity > 1000 || this.deptBudgetList.contractGoodsInfo.bulkDensity < 0
-      ) {
-        this.$message({
-          message: '容重输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.mildewGrain) {
-        this.$message({
-          message: '请输入霉变粒',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.mildewGrain ||
-        (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.mildewGrain).length -
-            (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
+            2) || this.deptBudgetList.contractGoodsInfo.bulkDensity > 1000 || this.deptBudgetList.contractGoodsInfo
+          .bulkDensity < 0
+        ) {
+          this.$message({
+            message: '容重输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.mildewGrain) {
+          this.$message({
+            message: '请输入霉变粒',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          !this.deptBudgetList.contractGoodsInfo.mildewGrain ||
+          (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
               '.'
-            ) +
+            ) != -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.mildewGrain).length -
+            (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
+                '.'
+              ) +
               1) >
-            2||this.deptBudgetList.contractGoodsInfo.mildewGrain>40||this.deptBudgetList.contractGoodsInfo.mildewGrain<0)
-      ) {
-        this.$message({
-          message: '霉变粒输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.jiaorenli) {
-        this.$message({
-          message: '请输入热损伤',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.jiaorenli ||
-        (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf('.') !=
-          -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.jiaorenli).length -
+            2 || this.deptBudgetList.contractGoodsInfo.mildewGrain > 40 || this.deptBudgetList.contractGoodsInfo
+            .mildewGrain < 0)
+        ) {
+          this.$message({
+            message: '霉变粒输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.jiaorenli) {
+          this.$message({
+            message: '请输入热损伤',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          !this.deptBudgetList.contractGoodsInfo.jiaorenli ||
+          (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf('.') !=
+            -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.jiaorenli).length -
             (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf(
-              '.'
-            ) +
+                '.'
+              ) +
               1) >
-            2||this.deptBudgetList.contractGoodsInfo.jiaorenli>40||this.deptBudgetList.contractGoodsInfo.jiaorenli<0)
-      ) {
-        this.$message({
-          message: '热损伤输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.imperfectGrain) {
-        this.$message({
-          message: '请输入不完善粒',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.imperfectGrain ||
-        (String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).length -
+            2 || this.deptBudgetList.contractGoodsInfo.jiaorenli > 40 || this.deptBudgetList.contractGoodsInfo
+            .jiaorenli < 0)
+        ) {
+          this.$message({
+            message: '热损伤输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.imperfectGrain) {
+          this.$message({
+            message: '请输入不完善粒',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          !this.deptBudgetList.contractGoodsInfo.imperfectGrain ||
+          (String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).length -
             (String(
-              this.deptBudgetList.contractGoodsInfo.imperfectGrain
-            ).indexOf('.') +
+                this.deptBudgetList.contractGoodsInfo.imperfectGrain
+              ).indexOf('.') +
               1) >
-            2||this.deptBudgetList.contractGoodsInfo.imperfectGrain>40||this.deptBudgetList.contractGoodsInfo.imperfectGrain<0)
-      ) {
-        this.$message({
-          message: '不完善粒输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.protein) {
-        this.$message({
-          message: '请输入蛋白',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.protein ||
-        (String(this.deptBudgetList.contractGoodsInfo.protein).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.protein).length -
+            2 || this.deptBudgetList.contractGoodsInfo.imperfectGrain > 40 || this.deptBudgetList.contractGoodsInfo
+            .imperfectGrain < 0)
+        ) {
+          this.$message({
+            message: '不完善粒输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.protein) {
+          this.$message({
+            message: '请输入蛋白',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          !this.deptBudgetList.contractGoodsInfo.protein ||
+          (String(this.deptBudgetList.contractGoodsInfo.protein).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.protein).length -
             (String(
-              this.deptBudgetList.contractGoodsInfo.protein
-            ).indexOf('.') +
+                this.deptBudgetList.contractGoodsInfo.protein
+              ).indexOf('.') +
               1) >
-            2||this.deptBudgetList.contractGoodsInfo.protein>70||this.deptBudgetList.contractGoodsInfo.protein<0)
-      ) {
-        this.$message({
-          message: '蛋白输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000 ||
-        this.deptBudgetList.contractProcessInfo.goodsNameKey < 0 ||
-        (String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
+            2 || this.deptBudgetList.contractGoodsInfo.protein > 70 || this.deptBudgetList.contractGoodsInfo.protein < 0
+          )
+        ) {
+          this.$message({
+            message: '蛋白输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000 ||
+          this.deptBudgetList.contractProcessInfo.goodsNameKey < 0 ||
+          (String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
             (String(
-              this.deptBudgetList.contractProcessInfo.goodsNameKey
-            ).indexOf('.') +
+                this.deptBudgetList.contractProcessInfo.goodsNameKey
+              ).indexOf('.') +
               1) >
             2)
-      ) 
-      {
-        this.$message({
-          message: '合同收入金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractProcessInfo.waterContent > 10000000 ||
-        this.deptBudgetList.contractProcessInfo.waterContent < 0 ||
-        (String(this.deptBudgetList.contractProcessInfo.waterContent).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.waterContent).length -
+        ) {
+          this.$message({
+            message: '合同收入金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractProcessInfo.waterContent > 10000000 ||
+          this.deptBudgetList.contractProcessInfo.waterContent < 0 ||
+          (String(this.deptBudgetList.contractProcessInfo.waterContent).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.waterContent).length -
             (String(
-              this.deptBudgetList.contractProcessInfo.waterContent
-            ).indexOf('.') +
+                this.deptBudgetList.contractProcessInfo.waterContent
+              ).indexOf('.') +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '费用金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractProcessInfo.goodsName > 1000000000 ||
-        this.deptBudgetList.contractProcessInfo.goodsName < 0 ||
-        (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.goodsName).length -
-            (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
+        ) {
+          this.$message({
+            message: '费用金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractProcessInfo.goodsName > 1000000000 ||
+          this.deptBudgetList.contractProcessInfo.goodsName < 0 ||
+          (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
               '.'
-            ) +
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.goodsName).length -
+            (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
+                '.'
+              ) +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '已开发票金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractProcessInfo.impurity > 1000000000 ||
-        this.deptBudgetList.contractProcessInfo.impurity < 0 ||
-        (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.impurity).length -
-            (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
+        ) {
+          this.$message({
+            message: '已开发票金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractProcessInfo.impurity > 1000000000 ||
+          this.deptBudgetList.contractProcessInfo.impurity < 0 ||
+          (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
               '.'
-            ) +
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.impurity).length -
+            (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
+                '.'
+              ) +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '未开发票金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (!this.deptBudgetList.contractProcessInfo.mildewGrain > 1000000000) ||
+        ) {
+          this.$message({
+            message: '未开发票金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (!this.deptBudgetList.contractProcessInfo.mildewGrain > 1000000000) ||
           (this.deptBudgetList.contractProcessInfo.mildewGrain < 0) ||
-        (String(this.deptBudgetList.contractProcessInfo.mildewGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
+          (String(this.deptBudgetList.contractProcessInfo.mildewGrain).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
             (String(
-              this.deptBudgetList.contractProcessInfo.mildewGrain
-            ).indexOf('.') +
+                this.deptBudgetList.contractProcessInfo.mildewGrain
+              ).indexOf('.') +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '未回款金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      this.$confirm(`确定提交本次修改?`, {
-        cancelButtonText: '取消',
-        confirmButtonText: '确定',
-        type: 'warning'
-      })
-      .then(() => {
-      this.$refs.deptBudgetList.validate((valid) => {
-        if (valid) {
-          this.deptBudgetList.contractGoodsInfo.outputPrivate = CodeToText[this.selectedOptions1[0]]
-          this.deptBudgetList.contractGoodsInfo.outputCity = CodeToText[this.selectedOptions1[1]]
-         
-          this.deptBudgetList.deliveryProvince = CodeToText[this.selectedOptions[0]]
-          this.deptBudgetList.deliveryCity = CodeToText[this.selectedOptions[1]]
-        
-          this.deptBudgetList.compId = this.compId
-          this.deptBudgetList.contractType = 1
-          this.deptBudgetList.goodsType = 2
-           if(this.deptBudgetList.deliveryProvince =='澳门特别行政区' || this.deptBudgetList.deliveryProvince == '澳门特别行政区'){
-            this.deptBudgetList.deliveryArea = '特别行政区'
-          }else{ 
-                 this.deptBudgetList.deliveryArea =  CodeToText[this.selectedOptions[2]]
-          }
-          editInfo(this.deptBudgetList)
-            .toPromise()
-            .then((response) => {
-              this.$message.success('编辑成功')
-              this.$router.push({ path: 'futuresSalesContract' })
-            })
-        } else {
-          EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-          return false
+        ) {
+          this.$message({
+            message: '未回款金额输入错误',
+            type: 'warning',
+          })
+          return
         }
-      })
-      })
+        this.$confirm(`确定提交本次修改?`, {
+            cancelButtonText: '取消',
+            confirmButtonText: '确定',
+            type: 'warning'
+          })
+          .then(() => {
+            this.$refs.deptBudgetList.validate((valid) => {
+              if (valid) {
+                this.deptBudgetList.compId = this.compId
+                this.deptBudgetList.contractType = 1
+                this.deptBudgetList.goodsType = 2
+                editInfo(this.deptBudgetList)
+                  .toPromise()
+                  .then((response) => {
+                    this.$message.success('编辑成功')
+                    this.$router.push({
+                      path: 'futuresSalesContract'
+                    })
+                  })
+              } else {
+                EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+                return false
+              }
+            })
+          })
+      },
     },
-  },
-}
+  }
 </script>
 <style lang="scss" scoped>
-.el-form {
-  padding: 0 15%;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid #cdd2dc;
-  border-bottom: 1px solid #cdd2dc;
-}
-.readonly {
-  position: relative;
-}
-.readonly:after {
-  content: '*';
-  color: #ff2727;
-  position: absolute;
-  right: 8px;
-  z-index: 10;
-  top: 21%;
-  font-size: 20px;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid #cdd2dc;
-  background: #fafbfc;
-  color: #8890B1;
-}
-/deep/.el-form-item.is-success .el-input__inner , /deep/.el-cascader .el-input .el-input__inner, /deep/.el-textarea__inner{
-  color: #8890B1;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 140px;
-  text-align: center;
-  background: #f0f2f6;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
+  .el-form {
+    padding: 0 15%;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid #cdd2dc;
+    border-bottom: 1px solid #cdd2dc;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid #cdd2dc;
+    background: #fafbfc;
+    color: #8890B1;
+  }
+
+  /deep/.el-form-item.is-success .el-input__inner,
+  /deep/.el-cascader .el-input .el-input__inner,
+  /deep/.el-textarea__inner {
+    color: #8890B1;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 140px;
+    text-align: center;
+    background: #f0f2f6;
+    // border: 1px solid #cdd2dc;
+  }
+
+  .button-container {
     display: flex;
     flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
+    justify-content: space-between;
+    align-items: center;
+    background-color: #fff;
+    width: 100%;
+    height: 50px;
+    padding: 0 10px;
 
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
+    &>div {
+      margin-left: 10px;
+      display: flex;
+      flex-wrap: nowrap;
+      flex-direction: row;
+
+      &>span {
+        line-height: 50px;
+      }
     }
-    &/deep/.auditFlow-main {
-      position: absolute;
+
+    /deep/.auditFlow-box {
+      position: unset;
+      margin-left: 10px;
+
+      &/deep/.auditFlow-icon {
+        width: auto;
+        padding-right: 30px;
+      }
+
+      &/deep/.auditFlow-main {
+        position: absolute;
+      }
     }
   }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
+
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
       }
     }
   }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding-right: 10px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 15px 0px;
-}
-.wenzi {
-  width: 900px;
-  margin: 0 auto;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.center {
-  width: 900px;
-  margin: 0 auto;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.ce {
-  width: 900px;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
+
+  .collapse-bottom {
+    margin-bottom: 20px;
   }
-  .el-icon-arrow-up {
-    display: none;
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
   }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
+
+  .bg-left {
+    padding-left: 30px;
   }
-  .el-date-editor {
-    i {
-      display: none;
-    }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
   }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  .wenzi {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .el-form-item {
+    width: 50%;
+  }
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  .hide-sel {
     .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
+      border: 0px;
     }
+
+    .el-icon-arrow-up {
+      display: none;
+    }
+
     .el-textarea__inner {
       background-color: #fff !important;
       border: 0;
+    }
+
+    .el-date-editor {
+      i {
+        display: none;
+      }
+    }
+
+    .is-disabled {
+      .el-input__inner:hover {
+        background-color: #fff !important;
+        border: 0;
+      }
+
       color: #606266;
+
+      .el-input__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
+
+      .el-textarea__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
     }
   }
-}
 
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
     padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
   }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
+
+  /deep/.is-disabled {
+    .el-input__prefix,
+    .el-input__suffix {
+      display: none;
+    }
+
+    .el-input__inner {
+      background-color: #fff;
+      border-color: #fff !important;
+      color: #000 !important;
+      font-size: 14px;
+      cursor: text;
+      padding: 0 !important;
+    }
   }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
+
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
+
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 130px;
+  }
+
+  .el-textarea {
+    width: 101%;
   }
-}
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 130px;
-}
-.el-textarea{
-  width: 101%;
-}
-/deep/.iconclose:before {
+
+  /deep/.iconclose:before {
     display: none;
-}
-/deep/.winsea-card .card__header {
+  }
+
+  /deep/.winsea-card .card__header {
     font-size: 14px;
     color: #409eff;
     padding: 0 0 20px 10px;
     position: relative;
     display: none;
-}
-.addressUrls {
-  width: 100%;
-  display: flex;
-  margin-top: 10px;
-}
-.addressUrls-item {
-  position: relative;
-  display: flex;
-}
-.icon-guanbi {
-  position: absolute;
-  right: 8px;
-}
-.addressUrl {
-  margin: 0px 10px;
-  border-radius: 3px;
-}
-.queren{
-  margin-left: 100%;
-  margin-top: -60px;
-}
-//上传文件成功标识
-/deep/.el-upload-list__item-status-label {
+  }
+
+  .addressUrls {
+    width: 100%;
+    display: flex;
+    margin-top: 10px;
+  }
+
+  .addressUrls-item {
+    position: relative;
+    display: flex;
+  }
+
+  .icon-guanbi {
+    position: absolute;
+    right: 8px;
+  }
+
+  .addressUrl {
+    margin: 0px 10px;
+    border-radius: 3px;
+  }
+
+  .queren {
+    margin-left: 100%;
+    margin-top: -60px;
+  }
+
+  //上传文件成功标识
+  /deep/.el-upload-list__item-status-label {
     position: absolute;
     right: 22px;
     top: -1px;
     line-height: inherit;
     display: none;
-}
+  }
 </style>

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

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

+ 806 - 793
src/views/contractManagement/purchaseContract.vue

@@ -1,128 +1,77 @@
 <!--采购合同-->
 <!--2019年5月30日 20:25:16 by jlx-->
 <template>
-  <div>
-    <BaseHeaderLayout :leftSpan="8">
-      <template slot="left">
-        <ws-button
-          type="primary"
-          @click="handleAdd()"
-          v-hasPermission="`contractManagement.buyContract.buyContractInfo.add`"
-          ><img
-            width="13"
-            height="13"
-            style="
+	<div>
+		<BaseHeaderLayout :leftSpan="8">
+			<template slot="left">
+				<ws-button type="primary" @click="handleAdd()"
+					v-hasPermission="`contractManagement.buyContract.buyContractInfo.add`"><img width="13" height="13"
+						style="
               vertical-align: text-top;
               position: relative;
               top: 2px;
               left: -4px;
-            "
-            src="../../../public/img/header-add.png"
-            alt=""
-          />添加</ws-button
-        >
-        <ws-button
-          @click="exportlist()"
-          v-hasPermission="
+            " src="../../../public/img/header-add.png" alt="" />添加</ws-button>
+				<ws-button @click="exportlist()" v-hasPermission="
             `contractManagement.buyContract.buyContractInfo.view`
-          "
-          >导出</ws-button
-        >
-      </template>
-      <template slot="right">
-        <span style="width: 142px; display: inline-block; color: #8890b1"
-          >状态:</span
-        >
-        <ws-select
-          v-model="searchTypeText"
-          placeholder=""
-          class="typeselect"
-          @change="selecttaskType"
-          :value="searchType"
-        >
-          <ws-option
-            v-for="item in taskTypeList"
-            :key="item.value"
-            :label="item.value"
-            :value="item.value"
-            style="color: #8890b1"
-          />
-        </ws-select>
-        <el-date-picker
-          v-model="value2"
-          type="daterange"
-          align="right"
-          unlink-panels
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :picker-options="pickerOptions"
-        >
-        </el-date-picker>
-        <ws-input
-          v-model="searchKeyWord"
-          placeholder="可按照合同编号、买方名称、卖方名称进行查找"
-          clearable
-          maxlength="500"
-          type="input"
-          class="findValue"
-        ></ws-input>
-        <ws-button class="find" type="primary" @click="find()"
-          ><img
-            width="16"
-            height="16"
-            style="
+          ">导出</ws-button>
+			</template>
+			<template slot="right">
+				<span style="width: 142px; display: inline-block; color: #8890b1">状态:</span>
+				<ws-select v-model="searchTypeText" placeholder="" class="typeselect" @change="selecttaskType"
+					:value="searchType">
+					<ws-option v-for="item in taskTypeList" :key="item.value" :label="item.value" :value="item.value"
+						style="color: #8890b1" />
+				</ws-select>
+				<el-date-picker v-model="value2" type="daterange" align="right" unlink-panels range-separator="至"
+					start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions">
+				</el-date-picker>
+				<ws-input v-model="searchKeyWord" placeholder="可按照合同编号、买方名称、卖方名称进行查找" clearable maxlength="500"
+					type="input" class="findValue"></ws-input>
+				<ws-button class="find" type="primary" @click="find()"><img width="16" height="16" style="
               vertical-align: text-top;
               position: relative;
               top: 0px;
               left: -8px;
-            "
-            src="../../../public/img/sousuo.png"
-            alt=""
-        /></ws-button>
-      </template>
-    </BaseHeaderLayout>
-    <el-table
-      class="wenzi"
-      :data="contractList.records"
-      style="width: 100%; margin-top: 10px"
-      height="780"
-    >
-      <el-table-column type="index" label="序号">
-        <template scope="scope">
-          <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
-          <span v-else>{{ scope.$index + 1 }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="contractNo" label="合同编号" width="80">
-      </el-table-column>
-      <el-table-column prop="goodsName" label="货名" width="80">
-      </el-table-column>
-      <el-table-column prop="grade" label="品级">
-        <template slot-scope="scope">
-          <span v-if="scope.row.grade == '一等品'" class="top-grade">{{
+            " src="../../../public/img/sousuo.png" alt="" /></ws-button>
+			</template>
+		</BaseHeaderLayout>
+		<el-table class="wenzi" :data="contractList.records" style="width: 100%; margin-top: 10px" height="780">
+			<el-table-column type="index" label="序号">
+				<template scope="scope">
+					<span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+					<span v-else>{{ scope.$index + 1 }}</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="contractNo" label="合同编号" width="150">
+			</el-table-column>
+			<el-table-column prop="goodsName" label="货名" width="80">
+			</el-table-column>
+			<el-table-column prop="grade" label="品级" width="80">
+				<template slot-scope="scope">
+					<span v-if="scope.row.grade == '一等品'" class="top-grade">{{
             scope.row.grade
           }}</span>
-          <span v-if="scope.row.grade == '二等品'" class="second-class">{{
+					<span v-if="scope.row.grade == '二等品'" class="second-class">{{
             scope.row.grade
           }}</span>
-          <span v-if="scope.row.grade == '三等品'" class="third-class">{{
+					<span v-if="scope.row.grade == '三等品'" class="third-class">{{
             scope.row.grade
           }}</span>
-          <span v-if="scope.row.grade == '等外'" class="substandard">{{
+					<span v-if="scope.row.grade == '等外'" class="substandard">{{
             scope.row.grade
           }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="weight" label="重量(吨)"> </el-table-column>
-      <el-table-column prop="unitContractPrice" label="合同单价(元)">
-      </el-table-column>
-      <el-table-column prop="packingMethod" 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="completedQuantity" label="已完成(吨)">
-        <template slot-scope="scope">
-          <span style="color: #5473e8; font-weight: 600">{{
+				</template>
+			</el-table-column>
+			<el-table-column prop="weight" label="重量(吨)"> </el-table-column>
+			<el-table-column prop="unitContractPrice" label="合同单价(元)">
+			</el-table-column>
+			<el-table-column prop="packingMethod" 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="completedQuantity" label="已完成(吨)">
+				<template slot-scope="scope">
+					<span style="color: #5473e8; font-weight: 600">{{
             scope.row.completedQuantity
           }}</span>
         </template>
@@ -239,699 +188,763 @@
               position: relative;
               top: -1px;
               margin: 0 6px;
-            "
-            src="../../../public/img/shanchu.png"
-            v-hasPermission="
+            " src="../../../public/img/shanchu.png" v-hasPermission="
               `contractManagement.buyContract.buyContractInfo.delete`
-            "
-            @click="handleDelete(scope.row)"
-            alt=""
-          />
-        </template>
-      </el-table-column>
-    </el-table>
-    <el-pagination
-      @size-change="handleSizeChange"
-      @current-change="handleCurrentChange"
-      :current-page="currentPage"
-      :page-size="deptCircularPage.pageSize"
-      layout="total, sizes, prev, pager, next, jumper"
-      :total="deptBudgetTotal"
-    >
-    </el-pagination>
-
-    <WinseaContentModal
-      v-model="accessoryTFs"
-      :title="$t('system.noticeCircular.information')"
-      @on-cancel="handleClose"
-    >
-     <ws-upload
-        ref="upload"
-        :comp-id="compId"
-        :appendix-ids="appendixIdss"
-        :editable="false"
-        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
-      />
-    </WinseaContentModal>
-  </div>
+            " @click="handleDelete(scope.row)" alt="" />
+				</template>
+			</el-table-column>
+		</el-table>
+		<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+			:page-size="deptCircularPage.pageSize" layout="total, sizes, prev, pager, next, jumper"
+			:total="deptBudgetTotal">
+		</el-pagination>
+
+		<WinseaContentModal v-model="accessoryTFs" :title="$t('system.noticeCircular.information')"
+			@on-cancel="handleClose">
+			<ws-upload ref="upload" :comp-id="compId" :appendix-ids="appendixIdss" :editable="false"
+				accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+		</WinseaContentModal>
+	</div>
 </template>
 <script>
-import {
-  getList,
-  export1,
-  editstatus,
-  billoperatehis,
-  deletecontract,
-} from '@/model/contarct/index'
-import { downloadFile } from '@/utils/batchDown'
-import Pagination from '@/components/Pagination'
-import WsUpload from '@/components/WsUpload'
-import { dayjs, EventBus } from 'base-core-lib'
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-    Pagination,
-  },
-  watch: {
-    vesselId(val) {
-      this.getList()
-    },
-    isShow(val) {
-      this.showType = val
-    },
-  },
-  data() {
-    return {
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      size: 10,
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      deliver_type: 1,
-      deptBudgetTotal: 0,
-      currentPage: 1,
-      pageSize: 10,
-      appendixIdsAdd: '',
-      searchType: 1,
-      searchTypeText: '未完成',
-      searchKeyWord: '',
-      contractType: 2,
-      goodsType: 1,
-      startDate: null,
-      endDate: null,
-      addressUrls: [],
-      accesscard: false,
-      // 提交类型
-      submitType: true,
-      deptCircularPage: {},
-      date: {
-        year: dayjs().format('YYYY'),
-        month: dayjs().format('MM'),
-      },
-      contractList: [],
-      deptBudgetList: {},
-      historyList: [],
-      appendixIdss: [],
-      fileList:[],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
-        },
-      },
-      accessoryTFs: false,
-      taskTypeList: [
-        { value: '未完成', type: 1 },
-        { value: '已完成', type: 2 },
-        { value: '全部合同', type: '' },
-      ],
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: '本周',
-            onClick(picker) {
-              const end = new Date()
-              const start = new Date()
-              var thisDay = start.getDay()
-              var thisDate = start.getDate()
-              if (thisDay != 0) {
-                start.setDate(thisDate - thisDay)
-              }
-              picker.$emit('pick', [start, end])
-            },
-          },
-          {
-            text: '本月',
-            onClick(picker) {
-              const end = new Date()
-              const start = new Date()
-              start.setDate(1)
-              picker.$emit('pick', [start, end])
-            },
-          },
-          {
-            text: '本季度',
-            onClick(picker) {
-              var oDate = new Date()
-
-              var thisYear = oDate.getFullYear()
-              var thisMonth = oDate.getMonth() + 1
-
-              var n = Math.ceil(thisMonth / 3) // 季度
-
-              var Month = n * 3 - 1
-
-              var start = new Date(thisYear, Month - 2, 1)
-              var end = new Date()
-
-              picker.$emit('pick', [start, end])
-            },
-          },
-        ],
-      },
-      value1: '',
-      value2: '',
-    }
-  },
-  activated() {
-    //cg.viewBudget
-    //cg.viewSpareMoney
-    // this.getVesselData();
-    this.getList()
-    this.showType = this.isShow
-  },
-  methods: {
-    dateFormat(fmt, date) {
-      let ret
-      const opt = {
-        'Y+': date.getFullYear().toString(), // 年
-        'm+': (date.getMonth() + 1).toString(), // 月
-        'd+': date.getDate().toString(), // 日
-        'H+': date.getHours().toString(), // 时
-        // "M+": date.getMinutes().toString(),         // 分
-        // "S+": date.getSeconds().toString()          // 秒
-        // 有其他格式化字符需求可以继续添加,必须转化成字符串
-      }
-      for (let k in opt) {
-        ret = new RegExp('(' + k + ')').exec(fmt)
-        if (ret) {
-          fmt = fmt.replace(
-            ret[1],
-            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
-          )
-        }
-      }
-      return fmt
-    },
-
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    handleSizeChange(val) {
-      console.log(`每页 ${val} 条`)
-      this.pageSize = val
-      this.getList()
-    },
-    handleCurrentChange(val) {
-      this.currentPage = val
-      console.log(`当前页: ${val}`)
-      this.getList()
-    },
-    getList() {
-      getList({
-        compId: sessionStorage.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,
-        contrPage: this.contrPage,
-      })
-        .toPromise()
-        .then((response) => {
-          for (var i = 0; i < response.records.length; i++) {
-            if (response.records[i].addressUrl != null) {
-              if(response.records[i].addressUrl){
-              response.records[i].addressUrlArray =
-                response.records[i].addressUrl.split(',')
-                }
-            } else {
-              response.records[i].addressUrlArray = []
-            }
-          }
-          this.deptCircularPage.currentPage = response.current
-          this.deptCircularPage.pageSize = response.size
-          this.deptBudgetTotal = response.total
-          this.contractList = response
-          for (var i = 0; i < response.records.length; i++) {
-            var arr = new Array()
-            this.addressUrls[i] = new Array()
-            if (this.contractList.records[i].addressUrl != null) {
-              arr = this.contractList.records[i].addressUrl.split(',')
-              this.addressUrls[i] = arr
-            }
-          }
-        })
-    },
-    // 上传附件
-    uploadSuccess(data, files, url) {
-      console.log(data, files, url)
-
-      // this.deptBudgetList.
-      // this.formData.append('files', files)
-      // this.feedbackObj.uploadNameAttachment = data.appendixName
-      // this.feedbackObj.pathUploadAttachment = data.appendixPath
-      // // this.newAppendixs = files
-      // this.onChangeFlag = true
-    },
-    editClick(row) {
-      var status = ''
-      if (row.status == '待执行' || row.status == '已完成') {
-        status = '执行中'
-      } else if (row.status == '执行中') {
-        status = '已完成'
-      }
-      this.$confirm(`是否将状态改为${status}`, '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          editstatus({ id: row.id })
-            .toPromise()
-            .then((response) => {
-              this.$notify.success({
-                title: '成功',
-                message: '状态修改成功',
-              })
-              this.getList()
-            })
-            .catch((response) => {
-              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-            })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    selecttaskType(e) {
-      for (var i = 0; i < this.taskTypeList.length; i++) {
-        if (this.taskTypeList[i].value == e) {
-          this.searchType = this.taskTypeList[i].type
-        }
-      }
-    },
-    fujian(row) {
-      if (row.addressUrl === null || row.addressUrl === '') {
-        EventBus.$emit(
-          'warning',
-          this.$t('system.noticeCircular.NoInformation')
-        )
-      } else {
-        this.accessoryTFs = true
-      }
-      this.appendixIdss = row.addressUrl
-      console.log(this.appendixIdss)
-    },
-    handleExamine(row) {
-      console.log(row)
-      this.$router.push({
-        name: 'purchaseContractExamine',
-        query: { id: row.id, status: row.status },
-      })
-    },
-    handleAdd() {
-      this.$router.push({ path: 'purchaseContractAdd' })
-    },
-    handleEdit(row) {
-      this.$router.push({
-        name: 'purchaseContractEdit',
-        query: { id: row.id },
-      })
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    history(row) {
-      console.log(row)
-      billoperatehis({ id: row.id })
-        .toPromise()
-        .then((response) => {
-          this.historyList = response
-        })
-    },
-    find() {
-      if (this.value2) {
-        this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
-        this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
-      } else {
-        this.startDate = ''
-        this.endDate = ''
-      }
-      this.currentPage = 1
-      this.getList()
-    },
-    async exportlist() {
-      const { data } = await export1(
-        {
-          compId: sessionStorage.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,
-        },
-        {},
-        { responseType: 'blob' }
-      ).toPromise()
-      downloadFile({
-        res: data,
-        fileName: `${
+	import {
+		getList,
+		export1,
+		editstatus,
+		billoperatehis,
+		deletecontract,
+	} from '@/model/contarct/index'
+	import {
+		downloadFile
+	} from '@/utils/batchDown'
+	import Pagination from '@/components/Pagination'
+	import WsUpload from '@/components/WsUpload'
+	import {
+		dayjs,
+		EventBus
+	} from 'base-core-lib'
+	export default {
+		name: 'viewSpareMoney',
+		components: {
+			WsUpload,
+			Pagination,
+		},
+		watch: {
+			vesselId(val) {
+				this.getList()
+			},
+			isShow(val) {
+				this.showType = val
+			},
+		},
+		data() {
+			return {
+				//弹出框
+				dialogViewSpareMoney: false,
+				dialogApproveFormVisible: false,
+				// 船舶类型
+				monetaryKey: null,
+				// 表格显示数据
+				tableDate: [],
+				size: 10,
+				// 是否显示
+				showType: true,
+				// 年
+				year: '',
+				deliver_type: 1,
+				deptBudgetTotal: 0,
+				currentPage: 1,
+				pageSize: 10,
+				appendixIdsAdd: '',
+				searchType: 1,
+				searchTypeText: '未完成',
+				searchKeyWord: '',
+				contractType: 2,
+				goodsType: 1,
+				startDate: null,
+				endDate: null,
+				addressUrls: [],
+				accesscard: false,
+				// 提交类型
+				submitType: true,
+				deptCircularPage: {},
+				date: {
+					year: dayjs().format('YYYY'),
+					month: dayjs().format('MM'),
+				},
+				contractList: [],
+				deptBudgetList: {},
+				historyList: [],
+				appendixIdss: [],
+				fileList: [],
+				compId: sessionStorage.getItem('ws-pf_compId'),
+				pickerBeginDateBefore: {
+					disabledDate: (time) => {
+						return time.getTime() > Date.now()
+					},
+				},
+				accessoryTFs: false,
+				taskTypeList: [{
+						value: '未完成',
+						type: 1
+					},
+					{
+						value: '已完成',
+						type: 2
+					},
+					{
+						value: '全部合同',
+						type: ''
+					},
+				],
+				pickerOptions: {
+					shortcuts: [{
+							text: '本周',
+							onClick(picker) {
+								const end = new Date()
+								const start = new Date()
+								var thisDay = start.getDay()
+								var thisDate = start.getDate()
+								if (thisDay != 0) {
+									start.setDate(thisDate - thisDay)
+								}
+								picker.$emit('pick', [start, end])
+							},
+						},
+						{
+							text: '本月',
+							onClick(picker) {
+								const end = new Date()
+								const start = new Date()
+								start.setDate(1)
+								picker.$emit('pick', [start, end])
+							},
+						},
+						{
+							text: '本季度',
+							onClick(picker) {
+								var oDate = new Date()
+
+								var thisYear = oDate.getFullYear()
+								var thisMonth = oDate.getMonth() + 1
+
+								var n = Math.ceil(thisMonth / 3) // 季度
+
+								var Month = n * 3 - 1
+
+								var start = new Date(thisYear, Month - 2, 1)
+								var end = new Date()
+
+								picker.$emit('pick', [start, end])
+							},
+						},
+					],
+				},
+				value1: '',
+				value2: '',
+			}
+		},
+		activated() {
+			//cg.viewBudget
+			//cg.viewSpareMoney
+			// this.getVesselData();
+			this.getList()
+			this.showType = this.isShow
+		},
+		methods: {
+			dateFormat(fmt, date) {
+				let ret
+				const opt = {
+					'Y+': date.getFullYear().toString(), // 年
+					'm+': (date.getMonth() + 1).toString(), // 月
+					'd+': date.getDate().toString(), // 日
+					'H+': date.getHours().toString(), // 时
+					// "M+": date.getMinutes().toString(),         // 分
+					// "S+": date.getSeconds().toString()          // 秒
+					// 有其他格式化字符需求可以继续添加,必须转化成字符串
+				}
+				for (let k in opt) {
+					ret = new RegExp('(' + k + ')').exec(fmt)
+					if (ret) {
+						fmt = fmt.replace(
+							ret[1],
+							ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+						)
+					}
+				}
+				return fmt
+			},
+
+			handleClose() {
+				this.dialogViewSpareMoney = false
+			},
+			handleSizeChange(val) {
+				console.log(`每页 ${val} 条`)
+				this.pageSize = val
+				this.getList()
+			},
+			handleCurrentChange(val) {
+				this.currentPage = val
+				console.log(`当前页: ${val}`)
+				this.getList()
+			},
+			getList() {
+				getList({
+						compId: sessionStorage.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,
+						contrPage: this.contrPage,
+					})
+					.toPromise()
+					.then((response) => {
+						for (var i = 0; i < response.records.length; i++) {
+							if (response.records[i].addressUrl != null) {
+								if (response.records[i].addressUrl) {
+									response.records[i].addressUrlArray =
+										response.records[i].addressUrl.split(',')
+								}
+							} else {
+								response.records[i].addressUrlArray = []
+							}
+						}
+						this.deptCircularPage.currentPage = response.current
+						this.deptCircularPage.pageSize = response.size
+						this.deptBudgetTotal = response.total
+						this.contractList = response
+						for (var i = 0; i < response.records.length; i++) {
+							var arr = new Array()
+							this.addressUrls[i] = new Array()
+							if (this.contractList.records[i].addressUrl != null) {
+								arr = this.contractList.records[i].addressUrl.split(',')
+								this.addressUrls[i] = arr
+							}
+						}
+					})
+			},
+			// 上传附件
+			uploadSuccess(data, files, url) {
+				console.log(data, files, url)
+
+				// this.deptBudgetList.
+				// this.formData.append('files', files)
+				// this.feedbackObj.uploadNameAttachment = data.appendixName
+				// this.feedbackObj.pathUploadAttachment = data.appendixPath
+				// // this.newAppendixs = files
+				// this.onChangeFlag = true
+			},
+			editClick(row) {
+				var status = ''
+				if (row.status == '待执行' || row.status == '已完成') {
+					status = '执行中'
+				} else if (row.status == '执行中') {
+					status = '已完成'
+				}
+				this.$confirm(`是否将状态改为${status}`, '提示', {
+						confirmButtonText: '确定',
+						cancelButtonText: '取消',
+						type: 'warning',
+					})
+					.then(() => {
+						editstatus({
+								id: row.id
+							})
+							.toPromise()
+							.then((response) => {
+								this.$notify.success({
+									title: '成功',
+									message: '状态修改成功',
+								})
+								this.getList()
+							})
+							.catch((response) => {
+								// EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+							})
+					})
+					.catch(() => {
+						return false
+					})
+			},
+			selecttaskType(e) {
+				for (var i = 0; i < this.taskTypeList.length; i++) {
+					if (this.taskTypeList[i].value == e) {
+						this.searchType = this.taskTypeList[i].type
+					}
+				}
+			},
+			fujian(row) {
+				if (row.addressUrl === null || row.addressUrl === '') {
+					EventBus.$emit(
+						'warning',
+						this.$t('system.noticeCircular.NoInformation')
+					)
+				} else {
+					this.accessoryTFs = true
+				}
+				this.appendixIdss = row.addressUrl
+				console.log(this.appendixIdss)
+			},
+			handleExamine(row) {
+				console.log(row)
+				this.$router.push({
+					name: 'purchaseContractExamine',
+					query: {
+						id: row.id,
+						status: row.status
+					},
+				})
+			},
+			handleAdd() {
+				this.$router.push({
+					path: 'purchaseContractAdd'
+				})
+			},
+			handleEdit(row) {
+				this.$router.push({
+					name: 'purchaseContractEdit',
+					query: {
+						id: row.id
+					},
+				})
+			},
+			// 关闭 dialog时 处理文件url 初始化upload组件
+			history(row) {
+				console.log(row)
+				billoperatehis({
+						id: row.id
+					})
+					.toPromise()
+					.then((response) => {
+						this.historyList = response
+					})
+			},
+			find() {
+				if (this.value2) {
+					this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
+					this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
+				} else {
+					this.startDate = ''
+					this.endDate = ''
+				}
+				this.currentPage = 1
+				this.getList()
+			},
+			async exportlist() {
+				const {
+					data
+				} = await export1({
+					compId: sessionStorage.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,
+				}, {}, {
+					responseType: 'blob'
+				}).toPromise()
+				downloadFile({
+					res: data,
+					fileName: `${
           this.date.year + (this.date.month ? `-${this.date.month}` : '')
         }_采购合同`,
-        type: 'xls',
-      })
-    },
-    // deletecontract(){},
-    //删除
-    handleDelete(row) {
-      var text = ''
-      if (row.deliverType == 1) {
-        text =
-          '删除该合同将同时永久删除合同对应的临时仓库相关数据,是否确定删除?'
-      } else {
-        text = '合同删除后不可恢复,是否继续删除?'
-      }
-      this.$confirm(text, '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          deletecontract({ id: row.id })
-            .toPromise()
-            .then((response) => {
-              this.$notify.success({
-                title: '成功',
-                message: '删除成功',
-              })
-              this.getList()
-            })
-            .catch((response) => {})
-        })
-        .catch(() => {
-          return false
-        })
-    },
-  },
-}
+					type: 'xls',
+				})
+			},
+			// deletecontract(){},
+			//删除
+			handleDelete(row) {
+				var text = ''
+				if (row.deliverType == 1) {
+					text =
+						'删除该合同将同时永久删除合同对应的临时仓库相关数据,是否确定删除?'
+				} else {
+					text = '合同删除后不可恢复,是否继续删除?'
+				}
+				this.$confirm(text, '提示', {
+						confirmButtonText: '确定',
+						cancelButtonText: '取消',
+						type: 'warning',
+					})
+					.then(() => {
+						deletecontract({
+								id: row.id
+							})
+							.toPromise()
+							.then((response) => {
+								this.$notify.success({
+									title: '成功',
+									message: '删除成功',
+								})
+								this.getList()
+							})
+							.catch((response) => {})
+					})
+					.catch(() => {
+						return false
+					})
+			},
+		},
+	}
 </script>
 <style lang="scss" scoped>
-.vertical-text-left {
-  width: 62px;
-  text-align: right;
-}
-.flex {
-  display: flex;
-}
-.el-range-editor.el-input__inner {
-  margin-left: 10px;
-}
-/deep/.base_header_layout .grid-content.right .find.el-button--primary {
-  width: 30px;
-  margin-left: -10px;
-  border-top-left-radius: 0px;
-  border-bottom-left-radius: 0px;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-button--default {
-  border: 1px solid #5473e8;
-  color: #5473e8;
-}
-.warning {
-  width: 100%;
-  height: 2px;
-  background: red;
-}
-.executory,
-.inExecution,
-.done {
-  width: 6px;
-  height: 6px;
-  display: inline-block;
-  border-radius: 50%;
-  position: relative;
-  top: -1px;
-}
-.executory {
-  background: #ff9f24;
-}
-.inExecution {
-  background: #5878e8;
-}
-.done {
-  background: #50cad4;
-}
-.top-grade {
-  background: linear-gradient(90deg, #5678e9, #7993f6);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.second-class {
-  background: linear-gradient(90deg, #50cdd9, #82e2ea);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.third-class {
-  background: linear-gradient(90deg, #ffa735, #ffbf70);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.substandard {
-  background: linear-gradient(90deg, #b2b4bb, #ced0d5);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.wrap {
-  width: 400px;
-  position: absolute;
-  top: 131px;
-  left: 794px;
-  transform-origin: right center;
-  z-index: 2005;
-}
-.vertical-line {
-  height: 64px;
-  border-left: 2px solid #e9ecf7;
-  margin-left: 4px;
-  padding: 0 3px;
-  // border-image: -webkit-linear-gradient(#00eba7, #08b8e6) 30 30;
-  // border-image: -moz-linear-gradient(#00eba7, #08b8e6) 30 30;
-  // border-image: linear-gradient(#00eba7, #08b8e6) 30 30;
-}
-.el-pagination {
-  padding: 10px 15px;
-  margin-bottom: 0;
-  text-align: center;
-}
-/deep/.el-pager li.active {
-  color: #5878e8;
-  cursor: default;
-}
-/deep/.el-pager li:hover {
-  color: #5878e8;
-  cursor: default;
-}
-.vertical-circle {
-  width: 10px;
-  height: 10px;
-  border: 2px solid #5878e8;
-  background-color: #ffffff;
-  -webkit-border-radius: 100px;
-}
-.vertical-circle:first-child {
-  color: red;
-}
-.vertical-text {
-  margin: 0 10px;
-  color: #8890b1;
-  font-size: 12px;
-  margin-top: -4px;
-}
-/deep/.el-table .el-table__header .cell,
-/deep/.el-table .el-table__body .cell {
-  text-align: center;
-}
-.typeselect {
-  width: 500px;
-}
-.padding-xs {
-  padding: 15px;
-  text-align: right;
-}
-.clearfix:after {
-  content: '';
-  display: block;
-  clear: both;
-}
-.el-table {
-  font-size: 16px;
-}
-.taskType {
-  width: 100%;
-  background-color: #fff;
-  margin-top: 2px;
-  margin-bottom: 10px;
-  list-style: none;
-  // padding-bottom: 20px;
-  li {
-    float: left;
-    border: 1px solid #6ea0f3;
-    border-radius: 5px;
-    max-width: 190px;
-    padding: 0 5px;
-    text-align: center;
-    margin: 10px 20px;
-    cursor: pointer;
-    font-size: 14px;
-    p {
-      margin: 8px 0px;
-      span {
-        color: #e74c3c;
-      }
-    }
-  }
-  li:hover {
-    background-color: #e4eeff;
-    color: #1d6ced;
-  }
-}
-.el-date-editor--date {
-  margin: 0 10px;
-}
-.findValue {
-  margin: 0 10px;
-}
-/deep/.findValue .el-input__inner {
-  border-top-right-radius: 0px;
-  border-bottom-right-radius: 0px;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    &/deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-/deep/.typeselect .el-input__inner {
-  color: #8890b1;
-}
+	.vertical-text-left {
+		width: 62px;
+		text-align: right;
+	}
+
+	.flex {
+		display: flex;
+	}
+
+	.el-range-editor.el-input__inner {
+		margin-left: 10px;
+	}
+
+	/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+		width: 30px;
+		margin-left: -10px;
+		border-top-left-radius: 0px;
+		border-bottom-left-radius: 0px;
+	}
+
+	.el-button--primary {
+		background-color: #5878e8;
+		border-color: #5878e8;
+	}
+
+	.el-button--default {
+		border: 1px solid #5473e8;
+		color: #5473e8;
+	}
+
+	.warning {
+		width: 100%;
+		height: 2px;
+		background: red;
+	}
+
+	.executory,
+	.inExecution,
+	.done {
+		width: 6px;
+		height: 6px;
+		display: inline-block;
+		border-radius: 50%;
+		position: relative;
+		top: -1px;
+	}
+
+	.executory {
+		background: #ff9f24;
+	}
+
+	.inExecution {
+		background: #5878e8;
+	}
+
+	.done {
+		background: #50cad4;
+	}
+
+	.top-grade {
+		background: linear-gradient(90deg, #5678e9, #7993f6);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.second-class {
+		background: linear-gradient(90deg, #50cdd9, #82e2ea);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.third-class {
+		background: linear-gradient(90deg, #ffa735, #ffbf70);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.substandard {
+		background: linear-gradient(90deg, #b2b4bb, #ced0d5);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.wrap {
+		width: 400px;
+		position: absolute;
+		top: 131px;
+		left: 794px;
+		transform-origin: right center;
+		z-index: 2005;
+	}
+
+	.vertical-line {
+		height: 64px;
+		border-left: 2px solid #e9ecf7;
+		margin-left: 4px;
+		padding: 0 3px;
+		// border-image: -webkit-linear-gradient(#00eba7, #08b8e6) 30 30;
+		// border-image: -moz-linear-gradient(#00eba7, #08b8e6) 30 30;
+		// border-image: linear-gradient(#00eba7, #08b8e6) 30 30;
+	}
+
+	.el-pagination {
+		padding: 10px 15px;
+		margin-bottom: 0;
+		text-align: center;
+	}
+
+	/deep/.el-pager li.active {
+		color: #5878e8;
+		cursor: default;
+	}
+
+	/deep/.el-pager li:hover {
+		color: #5878e8;
+		cursor: default;
+	}
+
+	.vertical-circle {
+		width: 10px;
+		height: 10px;
+		border: 2px solid #5878e8;
+		background-color: #ffffff;
+		-webkit-border-radius: 100px;
+	}
+
+	.vertical-circle:first-child {
+		color: red;
+	}
+
+	.vertical-text {
+		margin: 0 10px;
+		color: #8890b1;
+		font-size: 12px;
+		margin-top: -4px;
+	}
+
+	/deep/.el-table .el-table__header .cell,
+	/deep/.el-table .el-table__body .cell {
+		text-align: center;
+	}
+
+	.typeselect {
+		width: 500px;
+	}
+
+	.padding-xs {
+		padding: 15px;
+		text-align: right;
+	}
+
+	.clearfix:after {
+		content: '';
+		display: block;
+		clear: both;
+	}
+
+	.el-table {
+		font-size: 16px;
+	}
+
+	.taskType {
+		width: 100%;
+		background-color: #fff;
+		margin-top: 2px;
+		margin-bottom: 10px;
+		list-style: none;
+
+		// padding-bottom: 20px;
+		li {
+			float: left;
+			border: 1px solid #6ea0f3;
+			border-radius: 5px;
+			max-width: 190px;
+			padding: 0 5px;
+			text-align: center;
+			margin: 10px 20px;
+			cursor: pointer;
+			font-size: 14px;
+
+			p {
+				margin: 8px 0px;
+
+				span {
+					color: #e74c3c;
+				}
+			}
+		}
+
+		li:hover {
+			background-color: #e4eeff;
+			color: #1d6ced;
+		}
+	}
+
+	.el-date-editor--date {
+		margin: 0 10px;
+	}
+
+	.findValue {
+		margin: 0 10px;
+	}
+
+	/deep/.findValue .el-input__inner {
+		border-top-right-radius: 0px;
+		border-bottom-right-radius: 0px;
+	}
+
+	.button-container {
+		display: flex;
+		flex-wrap: nowrap;
+		justify-content: space-between;
+		align-items: center;
+		background-color: #fff;
+		width: 100%;
+		height: 50px;
+		padding: 0 10px;
+
+		&>div {
+			margin-left: 10px;
+			display: flex;
+			flex-wrap: nowrap;
+			flex-direction: row;
+
+			&>span {
+				line-height: 50px;
+			}
+		}
+
+		/deep/.auditFlow-box {
+			position: unset;
+			margin-left: 10px;
+
+			&/deep/.auditFlow-icon {
+				width: auto;
+				padding-right: 30px;
+			}
+
+			&/deep/.auditFlow-main {
+				position: absolute;
+			}
+		}
+	}
+
+	.box-app {
+		display: inline-block;
+		float: left;
+		margin-left: 30px;
+		line-height: 50px;
+	}
+
+	/deep/.el-dialog {
+		.el-form-item {
+			margin-bottom: 0 !important;
+
+			.el-input--medium {
+				textarea {
+					min-height: 100px !important;
+				}
+			}
+		}
+	}
+
+	.collapse-bottom {
+		margin-bottom: 20px;
+	}
+
+	.input-main .textarea .el-textarea__inner {
+		width: 100%;
+		z-index: 1;
+	}
+
+	/*.crt-main .textarea /deep/ .el-form-item__label {*/
+	/*  height: 82px;*/
+	/*}*/
+	// 控制select为只读的时候显示样式
+
+	.hide-sel {
+		.el-input__inner {
+			border: 0px;
+		}
+
+		.el-icon-arrow-up {
+			display: none;
+		}
+
+		.el-textarea__inner {
+			background-color: #fff !important;
+			border: 0;
+		}
+
+		.el-date-editor {
+			i {
+				display: none;
+			}
+		}
+
+		.is-disabled {
+			.el-input__inner:hover {
+				background-color: #fff !important;
+				border: 0;
+			}
+
+			color: #606266;
+
+			.el-input__inner {
+				background-color: #fff !important;
+				border: 0;
+				color: #606266;
+			}
+
+			.el-textarea__inner {
+				background-color: #fff !important;
+				border: 0;
+				color: #606266;
+			}
+		}
+	}
+
+	// 控制select为只读的时候显示样式
+	/deep/.ws-class-table-col {
+		height: auto;
+		padding: 0px 2px;
+
+		/deep/.el-input__inner {
+			padding: 0px 2px;
+		}
+	}
+
+	/deep/.is-disabled {
+		.el-input__prefix,
+		.el-input__suffix {
+			display: none;
+		}
+
+		.el-input__inner {
+			background-color: #fff;
+			border-color: #fff !important;
+			color: #000 !important;
+			font-size: 14px;
+			cursor: text;
+			padding: 0 !important;
+		}
+	}
+
+	/deep/.typeselect .el-input__inner {
+		color: #8890b1;
+	}
 </style>

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

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

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

@@ -42,12 +42,12 @@
         <ws-form-item label="合同编号" v-if="deptBudgetList.agreementType=='采购合同'" span="1" prop="contractNo">
           {{ deptBudgetList.contractNo }}
         </ws-form-item>
-        <ws-form-item label="关联合同" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="contractNo">
-          {{ deptBudgetList.contractNo }}
-        </ws-form-item>
-        <ws-form-item label="补充协议编号" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="agreementNo">
+        <ws-form-item label="关联合同" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="agreementNo">
           {{ deptBudgetList.agreementNo }}
         </ws-form-item>
+        <ws-form-item label="补充协议编号" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
         <!-- 运输方式 -->
         <ws-form-item label="运输方式" span="1" prop="shippingType">
           <ws-input
@@ -559,6 +559,8 @@ export default {
       deptBudgetList: {
         contractProcessInfo: {},
         contractGoodsInfo: {},
+		sourceGoods:'',
+		placeDelivery:'',
       },
       options_: regionData,
       selectedOptions: [],

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

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

+ 835 - 795
src/views/contractManagement/salesContract.vue

@@ -1,34 +1,19 @@
-
 <!--销售合同-->
 <!--2019年5月30日 20:25:16 by jlx-->
 <template>
-  <div>
-    <BaseHeaderLayout :leftSpan="8">
-      <template slot="left">
-        <ws-button
-          type="primary"
-          @click="handleAdd()"
-          v-hasPermission="
+	<div>
+		<BaseHeaderLayout :leftSpan="8">
+			<template slot="left">
+				<ws-button type="primary" @click="handleAdd()" v-hasPermission="
             `contractManagement.salesContract.salesContractInfo.add`
-          "
-          ><img
-            width="13"
-            height="13"
-            style="
+          "><img width="13" height="13" style="
               vertical-align: text-top;
               position: relative;
               top: 2px;
               left: -4px;
-            "
-            src="../../../public/img/header-add.png"
-            alt=""
-          />添加</ws-button
-        >
-        <ws-button
-          @click="exportlist()"
-          v-hasPermission="
-            `contractManagement.salesContract.salesContractInfo.view`
-          "
+            " src="../../../public/img/header-add.png" alt="" />添加</ws-button>
+				<ws-button @click="exportlist()" v-hasPermission="
+            `contractManagement.salesContract.salesContractInfo.view`"
           >导出</ws-button
         >
       </template>
@@ -79,40 +64,32 @@
               position: relative;
               top: 0px;
               left: -8px;
-            "
-            src="../../../public/img/sousuo.png"
-            alt=""
-        /></ws-button>
-      </template>
-    </BaseHeaderLayout>
-    <el-table
-      class="wenzi"
-      :data="contractList.records"
-      style="width: 100%; margin-top: 10px"
-      height="780"
-    >
-      <el-table-column type="index" label="序号">
-        <template scope="scope">
-          <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
-          <span v-else>{{ scope.$index + 1 }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="contractNo" label="合同编号" width="80">
-      </el-table-column>
-      <el-table-column prop="goodsName" label="货名" width="80">
-      </el-table-column>
-      <el-table-column prop="grade" label="品级">
-        <template slot-scope="scope">
-          <span v-if="scope.row.grade == '一等品'" class="top-grade">{{
+            " src="../../../public/img/sousuo.png" alt="" /></ws-button>
+			</template>
+		</BaseHeaderLayout>
+		<el-table class="wenzi" :data="contractList.records" style="width: 100%; margin-top: 10px" height="780">
+			<el-table-column type="index" label="序号">
+				<template scope="scope">
+					<span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+					<span v-else>{{ scope.$index + 1 }}</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="contractNo" label="合同编号" width="150">
+			</el-table-column>
+			<el-table-column prop="goodsName" label="货名" width="80">
+			</el-table-column>
+			<el-table-column prop="grade" label="品级" width="80">
+				<template slot-scope="scope">
+					<span v-if="scope.row.grade == '一等品'" class="top-grade">{{
             scope.row.grade
           }}</span>
-          <span v-if="scope.row.grade == '二等品'" class="second-class">{{
+					<span v-if="scope.row.grade == '二等品'" class="second-class">{{
             scope.row.grade
           }}</span>
-          <span v-if="scope.row.grade == '三等品'" class="third-class">{{
+					<span v-if="scope.row.grade == '三等品'" class="third-class">{{
             scope.row.grade
           }}</span>
-          <span v-if="scope.row.grade == '等外'" class="substandard">{{
+					<span v-if="scope.row.grade == '等外'" class="substandard">{{
             scope.row.grade
           }}</span>
         </template>
@@ -206,18 +183,13 @@
           <span v-if="scope.row.addressUrlArray != null">{{
             scope.row.addressUrlArray.length == 0 ? "":scope.row.addressUrlArray.length
           }}</span>
-          <!-- <i @click="fujian(scope.row)" class="el-icon-paperclip iconCss"></i> -->
-        </template>
-      </el-table-column>
-      <el-table-column prop="address" label="操作" width="200">
-        <template slot-scope="scope">
-          <img
-            width="16"
-            height="16"
-            style="vertical-align: text-top; margin: 0 6px"
-            src="../../../public/img/chakan.png"
-            @click="handleExamine(scope.row)"
-            v-hasPermission="
+					<!-- <i @click="fujian(scope.row)" class="el-icon-paperclip iconCss"></i> -->
+				</template>
+			</el-table-column>
+			<el-table-column prop="address" label="操作" width="140">
+				<template slot-scope="scope">
+					<img width="16" height="16" style="vertical-align: text-top; margin: 0 6px"
+						src="../../../public/img/chakan.png" @click="handleExamine(scope.row)" v-hasPermission="
               `contractManagement.salesContract.salesContractInfo.view`
             "
             alt=""
@@ -244,742 +216,810 @@
               position: relative;
               top: -1px;
               margin: 0 6px;
-            "
-            src="../../../public/img/shanchu.png"
-            v-hasPermission="
+            " src="../../../public/img/shanchu.png" v-hasPermission="
               `contractManagement.salesContract.salesContractInfo.delete`
-            "
-            @click="handleDelete(scope.row)"
-            alt=""
-          />
-        </template>
-      </el-table-column>
-    </el-table>
-    <el-pagination
-      @size-change="handleSizeChange"
-      @current-change="handleCurrentChange"
-      :current-page="currentPage"
-      :page-size="deptCircularPage.pageSize"
-      layout="total, sizes, prev, pager, next, jumper"
-      :total="deptBudgetTotal"
-    >
-    </el-pagination>
-     <WinseaContentModal
-      v-model="accessoryTFs"
-      :title="$t('system.noticeCircular.information')"
-      @on-cancel="handleClose"
-    >
-     <ws-upload
-        ref="upload"
-        :comp-id="compId"
-        :appendix-ids="appendixIdss"
-        :editable="false"
-        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
-      />
-    </WinseaContentModal>
-  </div>
+            " @click="handleDelete(scope.row)" alt="" />
+				</template>
+			</el-table-column>
+		</el-table>
+		<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+			:page-size="deptCircularPage.pageSize" layout="total, sizes, prev, pager, next, jumper"
+			:total="deptBudgetTotal">
+		</el-pagination>
+		<WinseaContentModal v-model="accessoryTFs" :title="$t('system.noticeCircular.information')"
+			@on-cancel="handleClose">
+			<ws-upload ref="upload" :comp-id="compId" :appendix-ids="appendixIdss" :editable="false"
+				accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+		</WinseaContentModal>
+	</div>
 </template>
 <script>
-import {
-  getList,
-  export1,
-  editstatus,
-  billoperatehis,
-  deletecontract,
-} from '@/model/contarct/index'
-import { downloadFile } from '@/utils/batchDown'
-import Pagination from '@/components/Pagination'
-import WsUpload from '@/components/WsUpload'
-import { dayjs, fmoney, EventBus } from 'base-core-lib'
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-    Pagination,
-  },
-  watch: {
-    vesselId(val) {
-      this.getList()
-    },
-    isShow(val) {
-      this.showType = val
-    },
-  },
-  data() {
-    return {
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      size: 10,
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      deptBudgetTotal: 0,
-      currentPage: 1,
-      pageSize: 10,
-      appendixIdsAdd: '',
-      searchType: 1,
-      searchTypeText: '未完成',
-      searchKeyWord: '',
-      contractType: 1,
-      goodsType:1,
-      startDate: null,
-      endDate: null,
-      // 提交类型
-      submitType: true,
-      contractForm: {},
-      categoryIndex: 0,
-      rulesVendor: {},
-      size: 10,
-      appendixIdss:[],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      deptCircularPage: {},
-      date: {
-        year: dayjs().format('YYYY'),
-        month: dayjs().format('MM'),
-      },
-      contractList: [],
-      deptBudgetList: {},
-      historyList: [],
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
-        },
-      },
-      accessoryTFs: false,
-      accesscard: false,
-      accessurl: '',
-      fileList:[],
-      taskTypeList: [
-        { value: '未完成', type: 1 },
-        { value: '已完成', type: 2 },
-        { value: '未回款', type: 3 },
-        { value: '全部合同', type: '' },
-      ],
-      addressUrls: [],
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: '本周',
-            onClick(picker) {
-              const end = new Date()
-              const start = new Date()
-              var thisDay = start.getDay()
-              var thisDate = start.getDate()
-              if (thisDay != 0) {
-                start.setDate(thisDate - thisDay)
-              }
-              picker.$emit('pick', [start, end])
-            },
-          },
-          {
-            text: '本月',
-            onClick(picker) {
-              const end = new Date()
-              const start = new Date()
-              start.setDate(1)
-              picker.$emit('pick', [start, end])
-            },
-          },
-          {
-            text: '本季度',
-            onClick(picker) {
-              var oDate = new Date()
-
-              var thisYear = oDate.getFullYear()
-              var thisMonth = oDate.getMonth() + 1
-
-              var n = Math.ceil(thisMonth / 3) // 季度
-
-              var Month = n * 3 - 1
-
-              var start = new Date(thisYear, Month - 2, 1)
-              var end = new Date()
-
-              picker.$emit('pick', [start, end])
-            },
-          },
-        ],
-      },
-      value1: '',
-      value2: '',
-    }
-  },
-  activated() {
-    //cg.viewBudget
-    //cg.viewSpareMoney
-    // this.getVesselData();
-    this.getList()
-    this.showType = this.isShow
-  },
-  methods: {
-    dateFormat(fmt, date) {
-      let ret
-      const opt = {
-        'Y+': date.getFullYear().toString(), // 年
-        'm+': (date.getMonth() + 1).toString(), // 月
-        'd+': date.getDate().toString(), // 日
-        'H+': date.getHours().toString(), // 时
-        // "M+": date.getMinutes().toString(),         // 分
-        // "S+": date.getSeconds().toString()          // 秒
-        // 有其他格式化字符需求可以继续添加,必须转化成字符串
-      }
-      for (let k in opt) {
-        ret = new RegExp('(' + k + ')').exec(fmt)
-        if (ret) {
-          fmt = fmt.replace(
-            ret[1],
-            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
-          )
-        }
-      }
-      return fmt
-    },
-
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    handleClose1() {
-      this.accesscard = false
-    },
-    handleSizeChange(val) {
-      console.log(`每页 ${val} 条`)
-      this.pageSize = val
-      this.getList()
-    },
-    handleCurrentChange(val) {
-      this.currentPage = val
-      console.log(`当前页: ${val}`)
-      this.getList()
-    },
-    getList() {
-      getList({
-        compId: sessionStorage.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,
-        contrPage: this.contrPage,
-      })
-        .toPromise()
-        .then((response) => {
-          for (var i = 0; i < response.records.length; i++) {
-            if (response.records[i].addressUrl != null) {
-              if(response.records[i].addressUrl != ""){
-                response.records[i].addressUrlArray =
-                response.records[i].addressUrl.split(',')
-              }
-            } else {
-              response.records[i].addressUrlArray = []
-            }
-
-            if (response.records[i].imperfectGrain != null) {
-              response.records[i].proportion =
-                Math.floor(
-                  (response.records[i].imperfectGrain /
-                    response.records[i].weight) *
-                    10000
-                ) / 100
-            } else {
-              response.records[i].proportion = 0
-            }
-          }
-          this.deptCircularPage.currentPage = response.current
-          this.deptCircularPage.pageSize = response.size
-          this.deptBudgetTotal = response.total
-          this.contractList = response
-          for (var i = 0; i < response.records.length; i++) {
-            var arr = new Array()
-           this.addressUrls[i] = new Array()
-            if (this.contractList.records[i].addressUrl != null) {
-            arr = this.contractList.records[i].addressUrl.split(',')
-             this.addressUrls[i]=arr
-            }
-          }
-        })
-    },
-    // 上传附件
-    uploadSuccess(data, files, url) {
-      console.log(data, files, url)
-
-      // this.deptBudgetList.
-      // this.formData.append('files', files)
-      // this.feedbackObj.uploadNameAttachment = data.appendixName
-      // this.feedbackObj.pathUploadAttachment = data.appendixPath
-      // // this.newAppendixs = files
-      // this.onChangeFlag = true
-    },
-    editClick(row) {
-      var status = ''
-      if (row.status == '待执行' || row.status == '已完成') {
-        status = '执行中'
-      } else if (row.status == '执行中') {
-        status = '已完成'
-      }
-      //cancelButtonClass: "btn-custom-cancel"
-      this.$confirm(`是否将状态改为${status}`, {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          editstatus({ id: row.id })
-            .toPromise()
-            .then((response) => {
-              this.$notify.success({
-                title: '成功',
-                message: '状态修改成功',
-              })
-              this.getList()
-            })
-            .catch((response) => {
-              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-            })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    selecttaskType(e) {
-      for (var i = 0; i < this.taskTypeList.length; i++) {
-        if (this.taskTypeList[i].value == e) {
-          this.searchType = this.taskTypeList[i].type
-        }
-      }
-    },
-    // receiveAttachmentPath
-    fujian(row) {
-      if (row.addressUrl === null || row.addressUrl === '') {
-        EventBus.$emit(
-          'warning',
-          this.$t('system.noticeCircular.NoInformation')
-        )
-      } else {
-        this.accessoryTFs = true
-      }
-      this.appendixIdss = row.addressUrl
-    },
-    handleExamine(row) {
-      this.$router.push({
-        name: 'salesContractExamine',
-        query: { id: row.id,workflowId:row.workflowId },
-      })
-    },
-    handleAdd() {
-      this.$router.push({ path: 'salesContractAdd' })
-    },
-    handleEdit(row) {
-      this.$router.push({
-        name: 'salesContractEdit',
-        query: { id: row.id },
-      })
-    },
-
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleCloe() {
-      this.dialogViewSpareMoney = false
-    },
-    history(row) {
-      billoperatehis({ id: row.id })
-        .toPromise()
-        .then((response) => {
-          this.historyList = response
-        })
-    },
-    find() {
-      if (this.value2) {
-        this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
-        this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
-      } else {
-        this.startDate = ''
-        this.endDate = ''
-      }
-      this.currentPage = 1
-      this.getList()
-    },
-    async exportlist() {
-      const { data } = await export1(
-        {
-          compId: sessionStorage.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,
-        },
-        {},
-        { responseType: 'blob' }
-      ).toPromise()
-      downloadFile({
-        res: data,
-        fileName: `${
+	import {
+		getList,
+		export1,
+		editstatus,
+		billoperatehis,
+		deletecontract,
+	} from '@/model/contarct/index'
+	import {
+		downloadFile
+	} from '@/utils/batchDown'
+	import Pagination from '@/components/Pagination'
+	import WsUpload from '@/components/WsUpload'
+	import {
+		dayjs,
+		fmoney,
+		EventBus
+	} from 'base-core-lib'
+	export default {
+		name: 'viewSpareMoney',
+		components: {
+			WsUpload,
+			Pagination,
+		},
+		watch: {
+			vesselId(val) {
+				this.getList()
+			},
+			isShow(val) {
+				this.showType = val
+			},
+		},
+		data() {
+			return {
+				//弹出框
+				dialogViewSpareMoney: false,
+				dialogApproveFormVisible: false,
+				// 船舶类型
+				monetaryKey: null,
+				// 表格显示数据
+				tableDate: [],
+				size: 10,
+				// 是否显示
+				showType: true,
+				// 年
+				year: '',
+				deptBudgetTotal: 0,
+				currentPage: 1,
+				pageSize: 10,
+				appendixIdsAdd: '',
+				searchType: 1,
+				searchTypeText: '未完成',
+				searchKeyWord: '',
+				contractType: 1,
+				goodsType: 1,
+				startDate: null,
+				endDate: null,
+				// 提交类型
+				submitType: true,
+				contractForm: {},
+				categoryIndex: 0,
+				rulesVendor: {},
+				size: 10,
+				appendixIdss: [],
+				compId: sessionStorage.getItem('ws-pf_compId'),
+				deptCircularPage: {},
+				date: {
+					year: dayjs().format('YYYY'),
+					month: dayjs().format('MM'),
+				},
+				contractList: [],
+				deptBudgetList: {},
+				historyList: [],
+				pickerBeginDateBefore: {
+					disabledDate: (time) => {
+						return time.getTime() > Date.now()
+					},
+				},
+				accessoryTFs: false,
+				accesscard: false,
+				accessurl: '',
+				fileList: [],
+				taskTypeList: [{
+						value: '未完成',
+						type: 1
+					},
+					{
+						value: '已完成',
+						type: 2
+					},
+					{
+						value: '未回款',
+						type: 3
+					},
+					{
+						value: '全部合同',
+						type: ''
+					},
+				],
+				addressUrls: [],
+				pickerOptions: {
+					shortcuts: [{
+							text: '本周',
+							onClick(picker) {
+								const end = new Date()
+								const start = new Date()
+								var thisDay = start.getDay()
+								var thisDate = start.getDate()
+								if (thisDay != 0) {
+									start.setDate(thisDate - thisDay)
+								}
+								picker.$emit('pick', [start, end])
+							},
+						},
+						{
+							text: '本月',
+							onClick(picker) {
+								const end = new Date()
+								const start = new Date()
+								start.setDate(1)
+								picker.$emit('pick', [start, end])
+							},
+						},
+						{
+							text: '本季度',
+							onClick(picker) {
+								var oDate = new Date()
+
+								var thisYear = oDate.getFullYear()
+								var thisMonth = oDate.getMonth() + 1
+
+								var n = Math.ceil(thisMonth / 3) // 季度
+
+								var Month = n * 3 - 1
+
+								var start = new Date(thisYear, Month - 2, 1)
+								var end = new Date()
+
+								picker.$emit('pick', [start, end])
+							},
+						},
+					],
+				},
+				value1: '',
+				value2: '',
+			}
+		},
+		activated() {
+			//cg.viewBudget
+			//cg.viewSpareMoney
+			// this.getVesselData();
+			this.getList()
+			this.showType = this.isShow
+		},
+		methods: {
+			dateFormat(fmt, date) {
+				let ret
+				const opt = {
+					'Y+': date.getFullYear().toString(), // 年
+					'm+': (date.getMonth() + 1).toString(), // 月
+					'd+': date.getDate().toString(), // 日
+					'H+': date.getHours().toString(), // 时
+					// "M+": date.getMinutes().toString(),         // 分
+					// "S+": date.getSeconds().toString()          // 秒
+					// 有其他格式化字符需求可以继续添加,必须转化成字符串
+				}
+				for (let k in opt) {
+					ret = new RegExp('(' + k + ')').exec(fmt)
+					if (ret) {
+						fmt = fmt.replace(
+							ret[1],
+							ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+						)
+					}
+				}
+				return fmt
+			},
+
+			handleClose() {
+				this.dialogViewSpareMoney = false
+			},
+			handleClose1() {
+				this.accesscard = false
+			},
+			handleSizeChange(val) {
+				console.log(`每页 ${val} 条`)
+				this.pageSize = val
+				this.getList()
+			},
+			handleCurrentChange(val) {
+				this.currentPage = val
+				console.log(`当前页: ${val}`)
+				this.getList()
+			},
+			getList() {
+				getList({
+						compId: sessionStorage.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,
+						contrPage: this.contrPage,
+					})
+					.toPromise()
+					.then((response) => {
+						for (var i = 0; i < response.records.length; i++) {
+							if (response.records[i].addressUrl != null) {
+								if (response.records[i].addressUrl != "") {
+									response.records[i].addressUrlArray =
+										response.records[i].addressUrl.split(',')
+								}
+							} else {
+								response.records[i].addressUrlArray = []
+							}
+
+							if (response.records[i].imperfectGrain != null) {
+								response.records[i].proportion =
+									Math.floor(
+										(response.records[i].imperfectGrain /
+											response.records[i].weight) *
+										10000
+									) / 100
+							} else {
+								response.records[i].proportion = 0
+							}
+						}
+						this.deptCircularPage.currentPage = response.current
+						this.deptCircularPage.pageSize = response.size
+						this.deptBudgetTotal = response.total
+						this.contractList = response
+						for (var i = 0; i < response.records.length; i++) {
+							var arr = new Array()
+							this.addressUrls[i] = new Array()
+							if (this.contractList.records[i].addressUrl != null) {
+								arr = this.contractList.records[i].addressUrl.split(',')
+								this.addressUrls[i] = arr
+							}
+						}
+					})
+			},
+			// 上传附件
+			uploadSuccess(data, files, url) {
+				console.log(data, files, url)
+
+				// this.deptBudgetList.
+				// this.formData.append('files', files)
+				// this.feedbackObj.uploadNameAttachment = data.appendixName
+				// this.feedbackObj.pathUploadAttachment = data.appendixPath
+				// // this.newAppendixs = files
+				// this.onChangeFlag = true
+			},
+			editClick(row) {
+				var status = ''
+				if (row.status == '待执行' || row.status == '已完成') {
+					status = '执行中'
+				} else if (row.status == '执行中') {
+					status = '已完成'
+				}
+				//cancelButtonClass: "btn-custom-cancel"
+				this.$confirm(`是否将状态改为${status}`, {
+						confirmButtonText: '确定',
+						cancelButtonText: '取消',
+						type: 'warning',
+					})
+					.then(() => {
+						editstatus({
+								id: row.id
+							})
+							.toPromise()
+							.then((response) => {
+								this.$notify.success({
+									title: '成功',
+									message: '状态修改成功',
+								})
+								this.getList()
+							})
+							.catch((response) => {
+								// EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+							})
+					})
+					.catch(() => {
+						return false
+					})
+			},
+			selecttaskType(e) {
+				for (var i = 0; i < this.taskTypeList.length; i++) {
+					if (this.taskTypeList[i].value == e) {
+						this.searchType = this.taskTypeList[i].type
+					}
+				}
+			},
+			// receiveAttachmentPath
+			fujian(row) {
+				if (row.addressUrl === null || row.addressUrl === '') {
+					EventBus.$emit(
+						'warning',
+						this.$t('system.noticeCircular.NoInformation')
+					)
+				} else {
+					this.accessoryTFs = true
+				}
+				this.appendixIdss = row.addressUrl
+			},
+			handleExamine(row) {
+				this.$router.push({
+					name: 'salesContractExamine',
+					query: {
+						id: row.id
+					},
+				})
+			},
+			handleAdd() {
+				this.$router.push({
+					path: 'salesContractAdd'
+				})
+			},
+			handleEdit(row) {
+				this.$router.push({
+					name: 'salesContractEdit',
+					query: {
+						id: row.id
+					},
+				})
+			},
+
+			// 关闭 dialog时 处理文件url 初始化upload组件
+			handleCloe() {
+				this.dialogViewSpareMoney = false
+			},
+			history(row) {
+				billoperatehis({
+						id: row.id
+					})
+					.toPromise()
+					.then((response) => {
+						this.historyList = response
+					})
+			},
+			find() {
+				if (this.value2) {
+					this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
+					this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
+				} else {
+					this.startDate = ''
+					this.endDate = ''
+				}
+				this.currentPage = 1
+				this.getList()
+			},
+			async exportlist() {
+				const {
+					data
+				} = await export1({
+					compId: sessionStorage.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,
+				}, {}, {
+					responseType: 'blob'
+				}).toPromise()
+				downloadFile({
+					res: data,
+					fileName: `${
           this.date.year + (this.date.month ? `-${this.date.month}` : '')
         }_销售合同`,
-        type: 'xls',
-      })
-    },
-
-    handleDelete(row) {
-      var handleDelete = ' '
-      if (row.handleDelete == '') {
-      }
-      this.$confirm(
-        `删除该合同将同时永久删除合同对应的临时仓库相关数据,是否确定删除?`,
-        {
-          cancelButtonText: '取消',
-          confirmButtonText: '确定',
-          type: 'warning',
-        }
-      )
-        .then(() => {
-          deletecontract({ id: row.id })
-            .toPromise()
-            .then((response) => {
-              this.$notify.success({
-                title: '成功',
-                message: '删除成功',
-              })
-              this.getList()
-            })
-            .catch((response) => {
-              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-            })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-  },
-}
+					type: 'xls',
+				})
+			},
+
+			handleDelete(row) {
+				var handleDelete = ' '
+				if (row.handleDelete == '') {}
+				this.$confirm(
+						`删除该合同将同时永久删除合同对应的临时仓库相关数据,是否确定删除?`, {
+							cancelButtonText: '取消',
+							confirmButtonText: '确定',
+							type: 'warning',
+						}
+					)
+					.then(() => {
+						deletecontract({
+								id: row.id
+							})
+							.toPromise()
+							.then((response) => {
+								this.$notify.success({
+									title: '成功',
+									message: '删除成功',
+								})
+								this.getList()
+							})
+							.catch((response) => {
+								// EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+							})
+					})
+					.catch(() => {
+						return false
+					})
+			},
+		},
+	}
 </script>
 <style lang="scss" scoped>
-.vertical-text-left {
-  width: 62px;
-  text-align: right;
-}
-.flex {
-  display: flex;
-}
-.el-range-editor.el-input__inner {
-  margin-left: 10px;
-}
-/deep/.base_header_layout .grid-content.right .find.el-button--primary {
-  width: 30px;
-  margin-left: -10px;
-  border-top-left-radius: 0px;
-  border-bottom-left-radius: 0px;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-button--default {
-  border: 1px solid #5473e8;
-  color: #5473e8;
-}
-.warning {
-  width: 100%;
-  height: 2px;
-  background: red;
-}
-.executory,
-.inExecution,
-.done {
-  width: 6px;
-  height: 6px;
-  display: inline-block;
-  border-radius: 50%;
-  position: relative;
-  top: -1px;
-}
-.executory {
-  background: #ff9f24;
-}
-.inExecution {
-  background: #5878e8;
-}
-.done {
-  background: #50cad4;
-}
-.top-grade {
-  background: linear-gradient(90deg, #5678e9, #7993f6);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.second-class {
-  background: linear-gradient(90deg, #50cdd9, #82e2ea);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.third-class {
-  background: linear-gradient(90deg, #ffa735, #ffbf70);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.substandard {
-  background: linear-gradient(90deg, #b2b4bb, #ced0d5);
-  color: #fff;
-  padding: 3px;
-  border-radius: 2px;
-}
-.wrap {
-  width: 400px;
-  position: absolute;
-  top: 131px;
-  left: 794px;
-  transform-origin: right center;
-  z-index: 2005;
-}
-.vertical-line {
-  height: 100px;
-  border-left: 2px solid #e9ecf7;
-  margin-left: 4px;
-  padding: 0 3px;
-  // border-image: -webkit-linear-gradient(#00eba7, #08b8e6) 30 30;
-  // border-image: -moz-linear-gradient(#00eba7, #08b8e6) 30 30;
-  // border-image: linear-gradient(#00eba7, #08b8e6) 30 30;
-}
-.el-pagination {
-  padding: 10px 15px;
-  margin-bottom: 0;
-  text-align: center;
-}
-/deep/.el-pager li.active {
-  color: #5878e8;
-  cursor: default;
-}
-/deep/.el-pager li:hover {
-  color: #5878e8;
-  cursor: default;
-}
-.vertical-circle {
-  width: 10px;
-  height: 10px;
-  border: 2px solid #5878e8;
-  background-color: #ffffff;
-  -webkit-border-radius: 100px;
-}
-.vertical-circle:first-child {
-  color: red;
-}
-.vertical-text {
-  margin: 0 10px;
-  color: #8890b1;
-  font-size: 12px;
-  margin-top: -4px;
-}
-/deep/.el-table .el-table__header .cell,
-/deep/.el-table .el-table__body .cell {
-  text-align: center;
-}
-.typeselect {
-  width: 500px;
-}
-.padding-xs {
-  padding: 15px;
-  text-align: right;
-}
-.clearfix:after {
-  content: '';
-  display: block;
-  clear: both;
-}
-.el-table {
-  font-size: 16px;
-}
-.taskType {
-  width: 100%;
-  background-color: #fff;
-  margin-top: 2px;
-  margin-bottom: 10px;
-  list-style: none;
-  // padding-bottom: 20px;
-  li {
-    float: left;
-    border: 1px solid #6ea0f3;
-    border-radius: 5px;
-    max-width: 190px;
-    padding: 0 5px;
-    text-align: center;
-    margin: 10px 20px;
-    cursor: pointer;
-    font-size: 14px;
-    p {
-      margin: 8px 0px;
-      span {
-        color: #e74c3c;
-      }
-    }
-  }
-  li:hover {
-    background-color: #e4eeff;
-    color: #1d6ced;
-  }
-}
-.el-date-editor--date {
-  margin: 0 10px;
-}
-.findValue {
-  margin: 0 10px;
-}
-/deep/.findValue .el-input__inner {
-  border-top-right-radius: 0px;
-  border-bottom-right-radius: 0px;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    &/deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-  .el-message-box {
-    width: 440px;
-    height: 160px;
-    background: #ffffff;
-    box-shadow: 0px 2px 31px 0px rgba(66, 75, 112, 0.23);
-    border-radius: 4px;
-  }
-  /deep/.el-message-box__message p {
-    width: 351px;
-    height: 20px;
-    font-size: 14px;
-    font-weight: 400;
-    color: #191919;
-    line-height: 20px;
-  }
-  .el-message-box__title {
-    width: 440px;
-    height: 160px;
-    background: #ffffff;
-    box-shadow: 0px 2px 31px 0px rgba(66, 75, 112, 0.23);
-    border-radius: 4px;
-  }
-}
-/deep/.typeselect .el-input__inner {
-  color: #8890b1;
-}
-</style>
+	.vertical-text-left {
+		width: 62px;
+		text-align: right;
+	}
+
+	.flex {
+		display: flex;
+	}
+
+	.el-range-editor.el-input__inner {
+		margin-left: 10px;
+	}
+
+	/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+		width: 30px;
+		margin-left: -10px;
+		border-top-left-radius: 0px;
+		border-bottom-left-radius: 0px;
+	}
+
+	.el-button--primary {
+		background-color: #5878e8;
+		border-color: #5878e8;
+	}
+
+	.el-button--default {
+		border: 1px solid #5473e8;
+		color: #5473e8;
+	}
+
+	.warning {
+		width: 100%;
+		height: 2px;
+		background: red;
+	}
+
+	.executory,
+	.inExecution,
+	.done {
+		width: 6px;
+		height: 6px;
+		display: inline-block;
+		border-radius: 50%;
+		position: relative;
+		top: -1px;
+	}
+
+	.executory {
+		background: #ff9f24;
+	}
+
+	.inExecution {
+		background: #5878e8;
+	}
+
+	.done {
+		background: #50cad4;
+	}
+
+	.top-grade {
+		background: linear-gradient(90deg, #5678e9, #7993f6);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.second-class {
+		background: linear-gradient(90deg, #50cdd9, #82e2ea);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.third-class {
+		background: linear-gradient(90deg, #ffa735, #ffbf70);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.substandard {
+		background: linear-gradient(90deg, #b2b4bb, #ced0d5);
+		color: #fff;
+		padding: 3px;
+		border-radius: 2px;
+	}
+
+	.wrap {
+		width: 400px;
+		position: absolute;
+		top: 131px;
+		left: 794px;
+		transform-origin: right center;
+		z-index: 2005;
+	}
+
+	.vertical-line {
+		height: 100px;
+		border-left: 2px solid #e9ecf7;
+		margin-left: 4px;
+		padding: 0 3px;
+		// border-image: -webkit-linear-gradient(#00eba7, #08b8e6) 30 30;
+		// border-image: -moz-linear-gradient(#00eba7, #08b8e6) 30 30;
+		// border-image: linear-gradient(#00eba7, #08b8e6) 30 30;
+	}
+
+	.el-pagination {
+		padding: 10px 15px;
+		margin-bottom: 0;
+		text-align: center;
+	}
+
+	/deep/.el-pager li.active {
+		color: #5878e8;
+		cursor: default;
+	}
+
+	/deep/.el-pager li:hover {
+		color: #5878e8;
+		cursor: default;
+	}
+
+	.vertical-circle {
+		width: 10px;
+		height: 10px;
+		border: 2px solid #5878e8;
+		background-color: #ffffff;
+		-webkit-border-radius: 100px;
+	}
+
+	.vertical-circle:first-child {
+		color: red;
+	}
+
+	.vertical-text {
+		margin: 0 10px;
+		color: #8890b1;
+		font-size: 12px;
+		margin-top: -4px;
+	}
+
+	/deep/.el-table .el-table__header .cell,
+	/deep/.el-table .el-table__body .cell {
+		text-align: center;
+	}
+
+	.typeselect {
+		width: 500px;
+	}
+
+	.padding-xs {
+		padding: 15px;
+		text-align: right;
+	}
+
+	.clearfix:after {
+		content: '';
+		display: block;
+		clear: both;
+	}
+
+	.el-table {
+		font-size: 16px;
+	}
+
+	.taskType {
+		width: 100%;
+		background-color: #fff;
+		margin-top: 2px;
+		margin-bottom: 10px;
+		list-style: none;
+
+		// padding-bottom: 20px;
+		li {
+			float: left;
+			border: 1px solid #6ea0f3;
+			border-radius: 5px;
+			max-width: 190px;
+			padding: 0 5px;
+			text-align: center;
+			margin: 10px 20px;
+			cursor: pointer;
+			font-size: 14px;
+
+			p {
+				margin: 8px 0px;
+
+				span {
+					color: #e74c3c;
+				}
+			}
+		}
+
+		li:hover {
+			background-color: #e4eeff;
+			color: #1d6ced;
+		}
+	}
+
+	.el-date-editor--date {
+		margin: 0 10px;
+	}
+
+	.findValue {
+		margin: 0 10px;
+	}
+
+	/deep/.findValue .el-input__inner {
+		border-top-right-radius: 0px;
+		border-bottom-right-radius: 0px;
+	}
+
+	.button-container {
+		display: flex;
+		flex-wrap: nowrap;
+		justify-content: space-between;
+		align-items: center;
+		background-color: #fff;
+		width: 100%;
+		height: 50px;
+		padding: 0 10px;
+
+		&>div {
+			margin-left: 10px;
+			display: flex;
+			flex-wrap: nowrap;
+			flex-direction: row;
+
+			&>span {
+				line-height: 50px;
+			}
+		}
+
+		/deep/.auditFlow-box {
+			position: unset;
+			margin-left: 10px;
+
+			&/deep/.auditFlow-icon {
+				width: auto;
+				padding-right: 30px;
+			}
+
+			&/deep/.auditFlow-main {
+				position: absolute;
+			}
+		}
+	}
+
+	.box-app {
+		display: inline-block;
+		float: left;
+		margin-left: 30px;
+		line-height: 50px;
+	}
+
+	/deep/.el-dialog {
+		.el-form-item {
+			margin-bottom: 0 !important;
+
+			.el-input--medium {
+				textarea {
+					min-height: 100px !important;
+				}
+			}
+		}
+	}
+
+	.collapse-bottom {
+		margin-bottom: 20px;
+	}
+
+	.input-main .textarea .el-textarea__inner {
+		width: 100%;
+		z-index: 1;
+	}
+
+	/*.crt-main .textarea /deep/ .el-form-item__label {*/
+	/*  height: 82px;*/
+	/*}*/
+	// 控制select为只读的时候显示样式
+
+	.hide-sel {
+		.el-input__inner {
+			border: 0px;
+		}
+
+		.el-icon-arrow-up {
+			display: none;
+		}
+
+		.el-textarea__inner {
+			background-color: #fff !important;
+			border: 0;
+		}
+
+		.el-date-editor {
+			i {
+				display: none;
+			}
+		}
+
+		.is-disabled {
+			.el-input__inner:hover {
+				background-color: #fff !important;
+				border: 0;
+			}
+
+			color: #606266;
+
+			.el-input__inner {
+				background-color: #fff !important;
+				border: 0;
+				color: #606266;
+			}
+
+			.el-textarea__inner {
+				background-color: #fff !important;
+				border: 0;
+				color: #606266;
+			}
+		}
+	}
+
+	// 控制select为只读的时候显示样式
+	/deep/.ws-class-table-col {
+		height: auto;
+		padding: 0px 2px;
+
+		/deep/.el-input__inner {
+			padding: 0px 2px;
+		}
+	}
+
+	/deep/.is-disabled {
+		.el-input__prefix,
+		.el-input__suffix {
+			display: none;
+		}
+
+		.el-input__inner {
+			background-color: #fff;
+			border-color: #fff !important;
+			color: #000 !important;
+			font-size: 14px;
+			cursor: text;
+			padding: 0 !important;
+		}
+
+		.el-message-box {
+			width: 440px;
+			height: 160px;
+			background: #ffffff;
+			box-shadow: 0px 2px 31px 0px rgba(66, 75, 112, 0.23);
+			border-radius: 4px;
+		}
+
+		/deep/.el-message-box__message p {
+			width: 351px;
+			height: 20px;
+			font-size: 14px;
+			font-weight: 400;
+			color: #191919;
+			line-height: 20px;
+		}
+
+		.el-message-box__title {
+			width: 440px;
+			height: 160px;
+			background: #ffffff;
+			box-shadow: 0px 2px 31px 0px rgba(66, 75, 112, 0.23);
+			border-radius: 4px;
+		}
+	}
+
+	/deep/.typeselect .el-input__inner {
+		color: #8890b1;
+	}
+</style>

+ 1466 - 1633
src/views/contractManagement/salesContractAdd.vue

@@ -5,19 +5,9 @@
         <h2 class="bg-left title">创建销售合同</h2>
       </el-col>
       <el-col :span="12" class="bg-right">
-        <el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="returnsales()"
-          ><img
-            width="6"
-            height="10"
-            style="vertion-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt=""
-          />返回</el-button
-        >
+        <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()"><img width="6" height="10"
+            style="vertion-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
+        </el-button>
       </el-col>
     </el-row>
 
@@ -34,213 +24,104 @@
         <ws-info-table>
           <!--合同类型-->
           <ws-form-item label="合同类型" span="1" class="readonly">
-            <el-radio v-model="deptBudgetList.agreementType" label="销售合同"
-              >销售合同</el-radio
-            >
-            <el-radio v-model="deptBudgetList.agreementType" label="补充协议"
-              >补充协议</el-radio
-            >
+            <el-radio v-model="deptBudgetList.agreementType" label="销售合同">销售合同</el-radio>
+            <el-radio v-model="deptBudgetList.agreementType" label="补充协议">补充协议</el-radio>
           </ws-form-item>
           <!--合同编号-->
-          <ws-form-item
-            label="合同编号"
-            span="1"
-            prop="contractNo"
-            class="readonly"
-            v-if="deptBudgetList.agreementType == '销售合同'"
-          >
-            <ws-input
-              v-model="deptBudgetList.contractNo"
-              placeholder="请输入合同编号"
-              maxlength="50"
-              size="small"
-              :rules="ruleDeptBudget"
-            />
+          <ws-form-item label="合同编号" span="1" prop="contractNo" class="readonly"
+            v-if="deptBudgetList.agreementType == '销售合同'">
+            <ws-input v-model="deptBudgetList.contractNo" placeholder="请输入合同编号" maxlength="50" size="small"
+              :rules="ruleDeptBudget" />
           </ws-form-item>
           <!--关联合同-->
-          <ws-form-item
-            prop="contractNo"
-            label="关联合同"
-            span="1"
-            v-if="deptBudgetList.agreementType == '补充协议'"
-          >
-            <ws-select
-              v-model="deptBudgetList.contractNo"
-              placeholder="请选择编号"
-              @change="selectRelation"
-            >
-              <ws-option
-                v-for="item in contractNoList"
-                :key="item.constKey"
-                :label="item.contractNo"
-                :value="item.contractNo"
-              ></ws-option>
+          <ws-form-item prop="agreementNo" label="关联合同" span="1" v-if="deptBudgetList.agreementType == '补充协议'">
+            <ws-select v-model="deptBudgetList.agreementNo" placeholder="请选择编号" @change="selectRelation">
+              <ws-option v-for="item in contractNoList" :key="item.constKey" :label="item.agreementNo"
+                :value="item.contractNo"></ws-option>
             </ws-select>
           </ws-form-item>
           <!--补充协议编号-->
-          <ws-form-item
-            label="补充协议编号"
-            span="1"
-            prop="agreementNo"
-            class="readonly"
-            v-if="deptBudgetList.agreementType == '补充协议'"
-          >
-            <ws-input
-              v-model="deptBudgetList.agreementNo"
-              placeholder="请输入补充协议编号"
-              maxlength="50"
-              size="small"
-              :rules="ruleDeptBudget"
-            />
+          <ws-form-item label="补充协议编号" span="1" prop="contractNo" class="readonly"
+            v-if="deptBudgetList.agreementType == '补充协议'">
+            <ws-input v-model="deptBudgetList.contractNo" placeholder="请输入补充协议编号" maxlength="50" size="small"
+              :rules="ruleDeptBudget" />
           </ws-form-item>
           <!--运输方式-->
           <ws-form-item label="运输方式" span="1" prop="shippingType">
-            <ws-input
-              v-model="deptBudgetList.shippingType"
-              placeholder="请输入运输方式"
-              maxlength="20"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.shippingType" placeholder="请输入运输方式" maxlength="20" size="small" />
           </ws-form-item>
           <!--买方-->
           <ws-form-item label="买方" span="1" prop="buyer" class="readonly">
-            <ws-input
-              v-model="deptBudgetList.buyer"
-              placeholder="请输入买方名称"
-              maxlength="100"
-              size="small"
-            />
+            <!-- <ws-input v-model="deptBudgetList.buyer" placeholder="请输入买方名称" maxlength="100" size="small" /> -->
+            <el-autocomplete class="inline-input" v-model="deptBudgetList.buyer" :fetch-suggestions="querySearch1"
+              placeholder="请输入买方名称" @select="handleSelect"></el-autocomplete>
           </ws-form-item>
           <!--结算方式-->
           <ws-form-item label="结算方式" span="1" prop="settlementMethod">
-            <ws-input
-              v-model="deptBudgetList.settlementMethod"
-              placeholder="请输入结算方式"
-              maxlength="120"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.settlementMethod" placeholder="请输入结算方式" maxlength="120" size="small" />
           </ws-form-item>
           <!--卖方-->
           <ws-form-item label="卖方" span="1" prop="seller" class="readonly">
-            <ws-input
-              v-model="deptBudgetList.seller"
-              placeholder="请输入卖方名称"
-              maxlength="100"
-              size="small"
-            />
+            <!-- <ws-input v-model="deptBudgetList.seller" placeholder="请输入卖方名称" maxlength="100" size="small" /> -->
+            <el-autocomplete class="inline-input" v-model="deptBudgetList.seller" :fetch-suggestions="querySearch2"
+              placeholder="请输入卖方名称" @select="handleSelect"></el-autocomplete>
           </ws-form-item>
-          <ws-form-item
-            label="交货方式"
-            span="1"
-            prop="seller"
-            class="readonly"
-          >
-            <el-radio v-model="deptBudgetList.deliverType" label="1"
-              >我方送货</el-radio
-            >
-            <el-radio v-model="deptBudgetList.deliverType" label="2"
-              >对方自提</el-radio
-            >
+          <ws-form-item label="交货方式" span="1" prop="seller" class="readonly">
+            <el-radio v-model="deptBudgetList.deliverType" label="1">我方送货</el-radio>
+            <el-radio v-model="deptBudgetList.deliverType" label="2">对方自提</el-radio>
           </ws-form-item>
           <!--买方电话-->
           <ws-form-item label="买方电话" span="1" prop="contractNo">
-            <ws-input
-              v-model.number="deptBudgetList.buyerPhone"
-              placeholder="请输入买方电话"
-              maxlength="100"
-              size="small"
-            />
+            <!-- <ws-input v-model.number="deptBudgetList.buyerPhone" placeholder="请输入买方电话" maxlength="100" size="small" /> -->
+            <el-autocomplete class="inline-input" v-model="deptBudgetList.buyerPhone" :fetch-suggestions="querySearch3"
+              placeholder="请输入买方电话" @select="handleSelect"></el-autocomplete>
           </ws-form-item>
           <!--包装方式-->
           <ws-form-item label="包装方式" span="1" prop="packingMethod">
-            <ws-select
-              v-model="deptBudgetList.packingMethod"
-              placeholder=""
-              class="typeselect"
-              @change="selectpackingMethod"
-            >
-              <ws-option
-                v-for="item in packtypeList"
-                :key="item.constKey"
-                :label="item.constValue"
-                :value="item.constValue"
-              />
+            <ws-select v-model="deptBudgetList.packingMethod" placeholder="" class="typeselect"
+              @change="selectpackingMethod">
+              <ws-option v-for="item in packtypeList" :key="item.constKey" :label="item.constValue"
+                :value="item.constValue" />
             </ws-select>
           </ws-form-item>
           <!--卖方电话-->
           <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
-            <ws-input
-              v-model="deptBudgetList.sellerPhone"
-              placeholder="请输入卖方电话"
-              maxlength="100"
-              size="small"
-            />
+            <!-- <ws-input v-model="deptBudgetList.sellerPhone" placeholder="请输入卖方电话" maxlength="100" size="small" /> -->
+            <el-autocomplete class="inline-input" v-model="deptBudgetList.sellerPhone" :fetch-suggestions="querySearch4"
+              placeholder="请输入卖方电话" @select="handleSelect"></el-autocomplete>
           </ws-form-item>
           <!--验收方式-->
           <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
-            <el-select
-              v-model="deptBudgetList.acceptanceMethod"
-              placeholder="请选择验收方式"
-              style="width: 100%"
-              filterable
-              @change="selectunitList"
-            >
-              <el-option
-                v-for="(item, index) in unitList"
-                :key="item.constValue"
-                :label="item.constValue"
-                :value="item.constValue"
-              >
+            <el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式" style="width: 100%" filterable
+              @change="selectunitList">
+              <el-option v-for="(item, index) in unitList" :key="item.constValue" :label="item.constValue"
+                :value="item.constValue">
                 <span class="unit-left" style="float: left">
                   <span v-if="item.flag == 'delete'">
-                    {{ item.constValue }}</span
-                  >
+                    {{ item.constValue }}</span>
                   <!-- 新增文本框 -->
-                  <div
-                    style="width: 160px"
-                    v-if="item.flag !== 'delete'"
-                    @click.stop
-                  >
-                    <ws-input
-                      v-model="item.constValue"
-                      clearable
-                      maxlength="10"
-                      style="width: 100%"
-                    ></ws-input>
+                  <div style="width: 160px" v-if="item.flag !== 'delete'" @click.stop>
+                    <ws-input v-model="item.constValue" clearable maxlength="10" style="width: 100%"></ws-input>
                   </div>
                 </span>
                 <span style="float: right; color: #8492a6; font-size: 13px">
                   <!-- 对号 -->
-                  <i
-                    class="el-icon-check"
-                    style="line-height: 29px; margin-left: 10px"
-                    v-if="item.flag !== 'delete'"
-                    @click.stop="saveClick(item, index)"
-                  ></i>
+                  <i class="el-icon-check" style="line-height: 29px; margin-left: 10px" v-if="item.flag !== 'delete'"
+                    @click.stop="saveClick(item, index)"></i>
                   <!-- 编辑 -->
-                  <i
-                    class="el-icon-edit"
-                    style="line-height: 29px; margin-left: 10px"
-                    v-if="item.flag == 'delete'"
-                    @click.stop="editClick(item, index)"
-                  ></i>
+                  <i class="el-icon-edit" style="line-height: 29px; margin-left: 10px" v-if="item.flag == 'delete'"
+                    @click.stop="editClick(item, index)"></i>
                   <!-- 删除 -->
-                  <i
-                    class="el-icon-delete"
-                    style="line-height: 29px"
-                    @click.stop="deleteClick(item, index)"
-                  ></i>
+                  <i class="el-icon-delete" style="line-height: 29px" @click.stop="deleteClick(item, index)"></i>
                 </span>
               </el-option>
               <!-- 新增按钮 -->
               <el-option value="" label="">
-                <div
-                  style="
+                <div style="
                     text-align: right;
                     border-top: 1px solid #dcdfe6;
                     padding: 5px;
-                  "
-                >
+                  ">
                   <ws-button type="primary" @click.stop="addClick">{{
                     $t('button.add')
                   }}</ws-button>
@@ -250,90 +131,39 @@
           </ws-form-item>
           <!--重量(吨)-->
           <ws-form-item label="重量(吨)" span="1" prop="weight">
-            <ws-input
-              @input="weightchange"
-              v-model="deptBudgetList.weight"
-              placeholder="请输入重量(吨)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input @input="weightchange" v-model="deptBudgetList.weight" placeholder="请输入重量(吨)" maxlength="100"
+              size="small" />
           </ws-form-item>
           <!--交货日期(起)-->
-          <ws-form-item
-            label="交货日期(起)"
-            span="1"
-            prop="deliveryDateStart"
-          >
-            <ws-date-picker
-              v-model="deptBudgetList.deliveryDateStart"
-              type="date"
-              placeholder="请选择交货日期(起)"
-              value-format="yyyy-MM-dd"
-            />
+          <ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
+            <ws-date-picker v-model="deptBudgetList.deliveryDateStart" type="date" placeholder="请选择交货日期(起)"
+              value-format="yyyy-MM-dd" />
           </ws-form-item>
           <!--溢短装(%)-->
           <ws-form-item label="溢短装(%)" span="1" prop="overShort">
-            <ws-input
-              v-model="deptBudgetList.overShort"
-              placeholder="请输入溢短装比例(%)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.overShort" placeholder="请输入溢短装比例(%)" maxlength="100" size="small" />
           </ws-form-item>
           <!--交货日期(止)-->
           <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
-            <ws-date-picker
-              v-model="deptBudgetList.deliveryDateEnd"
-              type="date"
-              placeholder="请选择交货日期(止)"
-              value-format="yyyy-MM-dd"
-            />
+            <ws-date-picker v-model="deptBudgetList.deliveryDateEnd" type="date" placeholder="请选择交货日期(止)"
+              value-format="yyyy-MM-dd" />
           </ws-form-item>
           <!--价格类型-->
           <ws-form-item label="价格类型" span="1" prop="priceType">
-            <ws-select
-              v-model="deptBudgetList.priceType"
-              placeholder="请选择价格类型"
-              @change="selectpriceType"
-            >
-              <ws-option
-                v-for="item in priceTypeList"
-                :key="item"
-                :label="item"
-                :value="item"
-              />
+            <ws-select v-model="deptBudgetList.priceType" placeholder="请选择价格类型" @change="selectpriceType">
+              <ws-option v-for="item in priceTypeList" :key="item" :label="item" :value="item" />
             </ws-select>
           </ws-form-item>
           <!--合同单价(元/吨)-->
-          <ws-form-item
-            class="readonly"
-            label="合同单价(元/吨)"
-            span="1"
-            prop="unitContractPrice"
-            v-if="deptBudgetList.priceType == '定价销售'"
-          >
-            <ws-input
-              @input="pricechange"
-              v-model="deptBudgetList.unitContractPrice"
-              placeholder="请输入合同单价"
-              maxlength="100"
-              size="small"
-            />
+          <ws-form-item class="readonly" label="合同单价(元/吨)" span="1" prop="unitContractPrice"
+            v-if="deptBudgetList.priceType == '定价销售'">
+            <ws-input @input="pricechange" v-model="deptBudgetList.unitContractPrice" placeholder="请输入合同单价"
+              maxlength="100" size="small" />
           </ws-form-item>
 
           <!--合同总价-->
-          <ws-form-item
-            label="合同总价"
-            span="1"
-            prop="totalContractPrice"
-            v-if="deptBudgetList.priceType == '定价销售'"
-          >
-            <ws-input
-              v-model="deptBudgetList.totalContractPrice"
-              placeholder="请输入合同总价"
-              maxlength="100"
-              size="small"
-            />
+          <ws-form-item label="合同总价" span="1" prop="totalContractPrice" v-if="deptBudgetList.priceType == '定价销售'">
+            <ws-input v-model="deptBudgetList.totalContractPrice" placeholder="请输入合同总价" maxlength="100" size="small" />
           </ws-form-item>
           <ws-form-item label="货源所在地区" span="1" prop="sourceGoods">
             <!-- <el-cascader
@@ -350,14 +180,9 @@
             </el-button>
           </ws-form-item>
           <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
-            <ws-input
-              v-model="deptBudgetList.sourceGoods"
-              placeholder="请输入货源详细地址"
-              maxlength="20"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.sourceGoods" placeholder="请输入货源详细地址" maxlength="20" size="small" />
           </ws-form-item>
-          <ws-form-item label="交货所在地区" span="1" prop="sourceGoods">
+          <ws-form-item label="交货所在地区" span="1" prop="placeDelivery">
             <!-- <el-cascader
               :options="options_"
               v-model="selectedOptions1"
@@ -367,41 +192,21 @@
               style="width: 200%"
               @change="handleChange1"
             /> -->
-            <el-button
-              @click="mapInputClick('deliveryProv')"
-              class="address-btn"
-            >
+            <el-button @click="mapInputClick('deliveryProv')" class="address-btn">
               {{ newSelectedOptions1 }}
             </el-button>
           </ws-form-item>
           <ws-form-item label="交货详细地址" span="1" prop="placeDelivery">
-            <ws-input
-              v-model="deptBudgetList.placeDelivery"
-              placeholder="请输入交货详细地址"
-              maxlength="20"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.placeDelivery" placeholder="请输入交货详细地址" maxlength="20" size="small" />
           </ws-form-item>
           <!--签订日期-->
           <ws-form-item label="签订日期" span="1" prop="signingDate">
-            <ws-date-picker
-              v-model="deptBudgetList.signingDate"
-              type="date"
-              placeholder="请选择合同签订日期"
-              value-format="yyyy-MM-dd"
-            />
+            <ws-date-picker v-model="deptBudgetList.signingDate" type="date" placeholder="请选择合同签订日期"
+              value-format="yyyy-MM-dd" />
           </ws-form-item>
-          <ws-form-item
-            label="最终实际成交量(吨)"
-            span="1"
-            prop="finalTradingVolume"
-          >
-            <ws-input
-              v-model="deptBudgetList.finalTradingVolume"
-              placeholder="请输入最终实际成交量"
-              maxlength="100"
-              size="small"
-            />
+          <ws-form-item label="最终实际成交量(吨)" span="1" prop="finalTradingVolume">
+            <ws-input v-model="deptBudgetList.finalTradingVolume" placeholder="请输入最终实际成交量" maxlength="100"
+              size="small" />
           </ws-form-item>
         </ws-info-table>
       </ws-form>
@@ -410,105 +215,61 @@
       <h3>货物信息</h3>
     </div>
     <div class="center">
-      <ws-form
-        ref="deptBudgetList"
-        :rules="ruleDeptBudget"
-        :model="deptBudgetList"
-      >
+      <ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
         <!--货物信息-->
 
         <ws-info-table>
           <!--货名-->
           <ws-form-item label="货名" span="1" prop="goodsName" class="readonly">
-            <ws-select
-              v-model="deptBudgetList.contractGoodsInfo.goodsName"
-              placeholder=""
-              class="typeselect"
-              @change="selectgoodsName"
-            >
-              <ws-option
-                v-for="item in goodnameList"
-                :key="item.constKey"
-                :label="item.constValue"
-                :value="item.constValue"
-              />
+            <ws-select v-model="deptBudgetList.contractGoodsInfo.goodsName" placeholder="" class="typeselect"
+              @change="selectgoodsName">
+              <ws-option v-for="item in goodnameList" :key="item.constKey" :label="item.constValue"
+                :value="item.constValue" />
             </ws-select>
           </ws-form-item>
 
           <!--水分(%)<=-->
           <ws-form-item label="水分(%)<=" span="1" prop="waterContent">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.waterContent"
-              placeholder="请输入水分占比"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractGoodsInfo.waterContent" placeholder="请输入水分占比" maxlength="100"
+              size="small" />
           </ws-form-item>
 
           <!--品级-->
           <ws-form-item label="品级" span="1" prop="grade" class="readonly">
-            <ws-select
-              v-model="deptBudgetList.contractGoodsInfo.grade"
-              placeholder=""
-              class="typeselect"
-              @change="selectgrade"
-            >
-              <ws-option
-                v-for="item in gradeList"
-                :key="item.constKey"
-                :label="item.constValue"
-                :value="item.constValue"
-              />
+            <ws-select v-model="deptBudgetList.contractGoodsInfo.grade" placeholder="" class="typeselect"
+              @change="selectgrade">
+              <ws-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
+                :value="item.constValue" />
             </ws-select>
           </ws-form-item>
 
           <!--杂质(%)<=-->
           <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.impurity"
-              placeholder="请输入杂质占比(%)"
-              maxlength="40"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractGoodsInfo.impurity" placeholder="请输入杂质占比(%)" maxlength="40"
+              size="small" />
           </ws-form-item>
 
           <!--容重(克/升)>=-->
           <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.bulkDensity"
-              placeholder="请输入容重"
-              maxlength="40"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractGoodsInfo.bulkDensity" placeholder="请输入容重" maxlength="40"
+              size="small" />
           </ws-form-item>
 
           <!--霉变粒(%)<=-->
           <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.mildewGrain"
-              placeholder="请输入霉变粒占比(%)"
-              maxlength="40"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractGoodsInfo.mildewGrain" placeholder="请输入霉变粒占比(%)" maxlength="40"
+              size="small" />
           </ws-form-item>
 
           <!--热损伤(%)<=-->
           <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.jiaorenli"
-              placeholder="请输入输入热损伤占比(%)"
-              maxlength="40"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractGoodsInfo.jiaorenli" placeholder="请输入输入热损伤占比(%)" maxlength="40"
+              size="small" />
           </ws-form-item>
           <!--不完善粒(%)<=-->
           <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.imperfectGrain"
-              placeholder="请输入不完善粒占比(%)"
-              maxlength="40"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractGoodsInfo.imperfectGrain" placeholder="请输入不完善粒占比(%)"
+              maxlength="40" size="small" />
           </ws-form-item>
         </ws-info-table>
       </ws-form>
@@ -518,77 +279,45 @@
       <h3>流程信息</h3>
     </div>
     <div class="center">
-      <ws-form
-        ref="deptBudgetList"
-        :rules="ruleDeptBudget"
-        :model="deptBudgetList"
-      >
+      <ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
         <!--流程信息-->
 
         <ws-info-table>
           <!--合同收入(元)-->
           <ws-form-item label="合同收入(元)" span="1" prop="goodsNameKey">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.goodsNameKey"
-              placeholder="请输入合同收入(元)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractProcessInfo.goodsNameKey" placeholder="请输入合同收入(元)" maxlength="100"
+              size="small" />
           </ws-form-item>
 
           <!--已开发票(元)-->
           <ws-form-item label="已开发票(元)" span="1" prop="goodsName">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.goodsName"
-              placeholder="请输入已开发票(元)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractProcessInfo.goodsName" placeholder="请输入已开发票(元)" maxlength="100"
+              size="small" />
           </ws-form-item>
 
           <!--费用支出(元)-->
           <ws-form-item label="费用支出(元)" span="1" prop="waterContent">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.waterContent"
-              placeholder="请输入费用支出(元)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractProcessInfo.waterContent" placeholder="请输入费用支出(元)" maxlength="100"
+              size="small" />
           </ws-form-item>
 
           <!--未开发票(元)-->
           <ws-form-item label="未开发票(元)" span="1" prop="impurity">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.impurity"
-              placeholder="请输入未开发票(元)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractProcessInfo.impurity" placeholder="请输入未开发票(元)" maxlength="100"
+              size="small" />
           </ws-form-item>
 
           <!--未回款(元)-->
           <ws-form-item label="未回款(元)" span="1" prop="mildewGrain">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.mildewGrain"
-              placeholder="请输入未回款(元)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractProcessInfo.mildewGrain" placeholder="请输入未回款(元)" maxlength="100"
+              size="small" />
           </ws-form-item>
           <!--双章原件回收情况-->
           <ws-form-item label="双章原件回收情况" span="1" prop="grade">
-            <ws-select
-              v-model="deptBudgetList.contractProcessInfo.grade"
-              placeholder=""
-              class="typeselect"
-              @change="selectpackingMethod"
-            >
-              <ws-option
-                v-for="item in ChapterTwoList"
-                :key="item.constKey"
-                :label="item.constValue"
-                :value="item.constValue"
-              />
+            <ws-select v-model="deptBudgetList.contractProcessInfo.grade" placeholder="" class="typeselect"
+              @change="selectpackingMethod">
+              <ws-option v-for="item in ChapterTwoList" :key="item.constKey" :label="item.constValue"
+                :value="item.constValue" />
             </ws-select>
           </ws-form-item>
         </ws-info-table>
@@ -599,1405 +328,1509 @@
       <h3>备注信息</h3>
     </div>
     <div class="ce">
-      <ws-form
-        ref="deptBudgetList"
-        :rules="ruleDeptBudget"
-        :model="deptBudgetList"
-      >
+      <ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
         <!--备注信息-->
-        <ws-input
-          v-model="deptBudgetList.remarks"
-          type="textarea"
-          row="3"
-          placeholder="请输入备注信息,不超过200字"
-          maxlength="3000"
-        />
-        <ws-upload
-          ref="upload"
-          :comp-id="compId"
-          :appendix-ids="deptBudgetList.addressUrl"
-          :size-limit="size"
-          @onChange="onChange"
-          accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
-        />
+        <ws-input v-model="deptBudgetList.remarks" type="textarea" row="3" placeholder="请输入备注信息,不超过200字"
+          maxlength="3000" />
+        <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :size-limit="size"
+          @onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
       </ws-form>
       <div v-if="dialogVisible" class="map">
-        <map-drag
-          @marker="marker"
-          :isShowaddress="true"
-          v-on:addressListen="getAddress"
-          :type="type"
-        >
+        <map-drag @marker="marker" :isShowaddress="true" v-on:addressListen="getAddress" :type="type">
         </map-drag>
       </div>
     </div>
     <div style="text-align: right; padding: 10px" class="center">
-      <el-button
-        class="bg-bottom"
-        type="primary"
-        size="small"
-        @click="submit(deptBudgetList)"
-        >提交</el-button
-      >
+      <el-button class="bg-bottom" type="primary" size="small" @click="submit(deptBudgetList)">提交</el-button>
     </div>
   </div>
 </template>
 <script>
-import {
-  packList,
-  addList,
-  xiala,
-  addxiala,
-  editxiala,
-  delxiala,
-  getRelationContractNo,
-} from '@/model/contarct/index'
-import WsUpload from '@/components/WsUpload'
-import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
-import thirdPartyInspectionReportAddVue from '../system/shipInspection/thirdPartyInspectionReportAdd.vue'
-import mapDrag from '@/components/mapdrag/mapdrag'
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-    mapDrag,
-  },
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
+  import {
+    packList,
+    addList,
+    xiala,
+    addxiala,
+    editxiala,
+    delxiala,
+    getRelationContractNo,
+  } from '@/model/contarct/index'
+  import WsUpload from '@/components/WsUpload'
+  import {
+    regionData,
+    CodeToText,
+    TextToCode
+  } from 'element-china-area-data'
+  import thirdPartyInspectionReportAddVue from '../system/shipInspection/thirdPartyInspectionReportAdd.vue'
+  import mapDrag from '@/components/mapdrag/mapdrag'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      mapDrag,
     },
-    isShow(val) {
-      this.showType = val
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
+      },
+      isShow(val) {
+        this.showType = val
+      },
     },
-  },
-  data() {
-    return {
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      type: '',
-      dialogVisible: false,
-      options_: regionData,
-      selectedOptions: [],
-      newSelectedOptions: '请选择货源所在地',
-      selectedOptions1: [],
-      newSelectedOptions1: '请选择交货所在地区',
-      // 提交类型
-      submitType: true,
-      tableData: [
-        {
+    data() {
+      return {
+        restaurants1: [],
+        restaurants2: [],
+        restaurants3: [],
+        restaurants4: [],
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        type: '',
+        dialogVisible: false,
+        options_: regionData,
+        selectedOptions: [],
+        newSelectedOptions: '请选择货源所在地',
+        selectedOptions1: [],
+        newSelectedOptions1: '请选择交货所在地区',
+        // 提交类型
+        submitType: true,
+        tableData: [{
           date: 1111,
           name: 'qqqq',
           address: 'errrtt',
+        }, ],
+        trainingMethods: {},
+        packtypeList: [],
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        mainReportAdd: {},
+        appendixIdsAdd: '',
+        size: 10,
+        unitList: [],
+        goodnameList: [],
+        gradeList: [],
+        ChapterTwoList: [],
+        deptBudgetList: {
+          deliverType: '1',
+          agreementType: '销售合同',
+          finalTradingVolume: 0,
+          totalContractPrice: 0,
+          contractGoodsInfo: {
+            goodsName: '',
+          },
+          contractProcessInfo: {},
+          addressUrl: '',
+          sourceGoods: '',
+          placeDelivery: '',
         },
-      ],
-      trainingMethods: {},
-      packtypeList: [],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      mainReportAdd: {},
-      appendixIdsAdd: '',
-      size: 10,
-      unitList: [],
-      goodnameList: [],
-      gradeList: [],
-      ChapterTwoList: [],
-      deptBudgetList: {
-        deliverType: '1',
-        agreementType: '销售合同',
-        finalTradingVolume: 0,
-        totalContractPrice: 0,
-        contractGoodsInfo: {
-          goodsName: '',
+        pickerBeginDateBefore: {
+          disabledDate: (time) => {
+            return time.getTime() > Date.now()
+          },
         },
-        contractProcessInfo: {},
-        addressUrl: '',
-      },
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
+        ruleDeptBudget: {
+          contractNo: [{
+              required: true,
+              message: '请输入活动名称',
+              trigger: 'blur',
+            },
+            {
+              min: 6,
+              max: 50,
+              message: '长度在 6 到 50 个字符',
+              trigger: 'blur',
+            },
+          ],
         },
-      },
-      ruleDeptBudget: {
-        contractNo: [
-          {
-            required: true,
-            message: '请输入活动名称',
-            trigger: 'blur',
-          },
-          {
-            min: 6,
-            max: 50,
-            message: '长度在 6 到 50 个字符',
-            trigger: 'blur',
-          },
-        ],
-      },
-      selectIntendedShip: {},
-      interviewTypeList: {},
-      fileList: [],
-      priceTypeList: ['定价销售', '随行就市'],
-      contractNoList: [],
-    }
-  },
-  activated() {
-    //cg.viewBudget
-    //cg.viewSpareMoney
-	// this.getVesselData();
-	this.newSelectedOptions='请选择货源所在地'
-    this.newSelectedOptions1='请选择交货所在地'
-    this.deptBudgetList.packingMethod = '散装'
-    this.deptBudgetList.packingMethodKey = 1
-    this.deptBudgetList.contractGoodsInfo.goodsName = '玉米'
-    this.deptBudgetList.contractGoodsInfo.goodsNameKey = 1
-    this.deptBudgetList.contractProcessInfo.grade = '未回收'
-    this.deptBudgetList.contractProcessInfo.gradeKey = 1
-    this.deptBudgetList.contractGoodsInfo.grade = '一等品'
-    this.deptBudgetList.contractGoodsInfo.gradeKey = 1
-    this.loaddata()
-    this.showType = this.isShow
-  },
-  methods: {
-	marker: function (item) {
-      this.deptBudgetList.warehousePositioning =
-        item.lnglat.lat + ',' + item.lnglat.lng
-    },
-    getAddress(data) {
-      console.log('getAddress', data)
-      if (data[4] == 'source') {
-        this.newSelectedOptions = data[0] + '/' + data[1] + '/' + data[2]
-        this.deptBudgetList.sourceProvince = data[0]
-        this.deptBudgetList.sourceCity = data[1]
-        this.deptBudgetList.sourceArea = data[2]
-        this.deptBudgetList.sourceGoods = data[3]
-      } else {
-        this.newSelectedOptions1 = data[0] + '/' + data[1] + '/' + data[2]
-        this.deptBudgetList.deliveryProvince = data[0]
-        this.deptBudgetList.deliveryCity = data[1]
-        this.deptBudgetList.deliveryArea = data[2]
-        this.deptBudgetList.placeDelivery = data[3]
+        selectIntendedShip: {},
+        interviewTypeList: {},
+        fileList: [],
+        priceTypeList: ['定价销售', '随行就市'],
+        contractNoList: [],
       }
     },
-    mapInputClick(type) {
-      this.dialogVisible = true
-      this.type = type
-	},
-	blurMap(){
-        this.dialogVisible = false
-    },
-    focusMap(){
-      this.dialogVisible = true
+    activated() {
+      //cg.viewBudget
+      //cg.viewSpareMoney
+      // this.getVesselData();
+      this.newSelectedOptions = '请选择货源所在地'
+      this.newSelectedOptions1 = '请选择交货所在地'
+      this.deptBudgetList.packingMethod = '散装'
+      this.deptBudgetList.packingMethodKey = 1
+      this.deptBudgetList.contractGoodsInfo.goodsName = '玉米'
+      this.deptBudgetList.contractGoodsInfo.goodsNameKey = 1
+      this.deptBudgetList.contractProcessInfo.grade = '未回收'
+      this.deptBudgetList.contractProcessInfo.gradeKey = 1
+      this.deptBudgetList.contractGoodsInfo.grade = '一等品'
+      this.deptBudgetList.contractGoodsInfo.gradeKey = 1
+      this.loaddata()
+      this.showType = this.isShow
     },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
+    mounted() {
+      this.restaurants1 = JSON.parse(localStorage.getItem('deptBudgetList_data1'));
+      this.restaurants2 = JSON.parse(localStorage.getItem('deptBudgetList_data2'));
+      this.restaurants3 = JSON.parse(localStorage.getItem('deptBudgetList_data3'));
+      this.restaurants4 = JSON.parse(localStorage.getItem('deptBudgetList_data4'));
+      if (!this.restaurants1) this.restaurants1 = [];
+      if (!this.restaurants2) this.restaurants2 = [];
+      if (!this.restaurants3) this.restaurants3 = [];
+      if (!this.restaurants4) this.restaurants4 = [];
     },
-    handleChange(value) {
-      this.selectedOptions = value
-    },
-    handleChange1(value) {
-      this.selectedOptions1 = value
-    },
-    returnsales() {
-      this.$router.push({
-        path: 'salesContract',
-      })
-    },
-    loaddata() {
-      // 包装方式
-      packList({
-        constId: 'CON1',
-      })
-        .toPromise()
-        .then((response) => {
-          this.packtypeList = response
-        })
-      // 验收方式
-      this.getUnitList()
-      // 货名
-      packList({
-        constId: 'CON2',
-      })
-        .toPromise()
-        .then((response) => {
-          this.goodnameList = response
-        })
-      // 品级
-      packList({
-        constId: 'CON3',
-      })
-        .toPromise()
-        .then((response) => {
-          this.gradeList = response
-        })
-      // 双章
-      packList({
-        constId: 'CON4',
-      })
-        .toPromise()
-        .then((response) => {
-          this.ChapterTwoList = response
-        })
-      //关联合同
-      getRelationContractNo({
-        agreementType: '销售合同',
-        goodsType: 1,
-      })
-        .toPromise()
-        .then((response) => {
-          this.contractNoList = response
-        })
-    },
-    selectRelation(e) {
-      for (var i = 0; i < this.contractNoList.length; i++) {
-        if (this.contractNoList[i].contractNo == e) {
-          this.deptBudgetList = this.contractNoList[i]
-          this.deptBudgetList.agreementNo = this.contractNoList[i].contractNo
-          this.deptBudgetList.agreementType = '补充协议'
+    methods: {
+      querySearch1(queryString, cb) {
+        var restaurants1 = this.restaurants1;
+        var results = queryString ? restaurants1.filter(this.createFilter(queryString)) : restaurants1;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch2(queryString, cb) {
+        var restaurants2 = this.restaurants2;
+        var results = queryString ? restaurants2.filter(this.createFilter(queryString)) : restaurants2;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch3(queryString, cb) {
+        var restaurants3 = this.restaurants3;
+        var results = queryString ? restaurants3.filter(this.createFilter(queryString)) : restaurants3;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch4(queryString, cb) {
+        var restaurants4 = this.restaurants4;
+        var results = queryString ? restaurants4.filter(this.createFilter(queryString)) : restaurants4;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      createFilter(queryString) {
+        return (restaurant) => {
+          return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
+        };
+      },
+      handleSelect(item) {
+        console.log(item);
+      },
+      marker: function(item) {
+        this.deptBudgetList.warehousePositioning =
+          item.lnglat.lat + ',' + item.lnglat.lng
+      },
+      getAddress(data) {
+        console.log('getAddress', data)
+        if (data[4] == 'source') {
+          this.newSelectedOptions = data[0] + '/' + data[1] + '/' + data[2]
+          this.deptBudgetList.sourceProvince = data[0]
+          this.deptBudgetList.sourceCity = data[1]
+          this.deptBudgetList.sourceArea = data[2]
+          this.deptBudgetList.sourceGoods = data[3]
+        } else {
+          this.newSelectedOptions1 = data[0] + '/' + data[1] + '/' + data[2]
+          this.deptBudgetList.deliveryProvince = data[0]
+          this.deptBudgetList.deliveryCity = data[1]
+          this.deptBudgetList.deliveryArea = data[2]
+          this.deptBudgetList.placeDelivery = data[3]
         }
-      }
-    },
-    onChange() {
-      this.$refs.upload
-        .handleSaveBill()
-        .then(async (response) => {
-          this.deptBudgetList.addressUrl = response
-        })
-        .catch((res) => {
-          EventBus.$emit('error', (JSON.parse(res) || {}).message)
-          this.$refs.upload.clearFiles()
+      },
+      mapInputClick(type) {
+        this.dialogVisible = true
+        this.type = type
+      },
+      blurMap() {
+        this.dialogVisible = false
+      },
+      focusMap() {
+        this.dialogVisible = true
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      handleChange(value) {
+        this.selectedOptions = value
+      },
+      handleChange1(value) {
+        this.selectedOptions1 = value
+      },
+      returnsales() {
+        this.$router.push({
+          path: 'salesContract',
         })
-    },
-    getUnitList() {
-      xiala({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: 'TYPEYAN',
-      })
-        .toPromise()
-        .then((response) => {
-          this.unitList = response
-          let currItem
-          this.unitList.forEach((item, index, arr) => {
-            item.flag = 'delete'
-            if (this.vModel == item.constKey) {
-              currItem = item
-            }
+      },
+      loaddata() {
+        // 包装方式
+        packList({
+            constId: 'CON1',
+          })
+          .toPromise()
+          .then((response) => {
+            this.packtypeList = response
+          })
+        // 验收方式
+        this.getUnitList()
+        // 货名
+        packList({
+            constId: 'CON2',
+          })
+          .toPromise()
+          .then((response) => {
+            this.goodnameList = response
+          })
+        // 品级
+        packList({
+            constId: 'CON3',
           })
-          //
-          if (currItem) {
-            this.selectContract(currItem.constValue)
+          .toPromise()
+          .then((response) => {
+            this.gradeList = response
+          })
+        // 双章
+        packList({
+            constId: 'CON4',
+          })
+          .toPromise()
+          .then((response) => {
+            this.ChapterTwoList = response
+          })
+        //关联合同
+        getRelationContractNo({
+            agreementType: '销售合同',
+            goodsType: 1,
+          })
+          .toPromise()
+          .then((response) => {
+            this.contractNoList = response
+          })
+      },
+      selectRelation(e) {
+        for (var i = 0; i < this.contractNoList.length; i++) {
+          if (this.contractNoList[i].contractNo == e) {
+            this.deptBudgetList = this.contractNoList[i]
+            this.deptBudgetList.agreementNo = this.contractNoList[i].contractNo
+            this.deptBudgetList.contractNo = this.contractNoList[i].contractNo
+            this.deptBudgetList.agreementType = '补充协议'
           }
-        })
-    },
+        }
+      },
+      onChange() {
+        this.$refs.upload
+          .handleSaveBill()
+          .then(async (response) => {
+            this.deptBudgetList.addressUrl = response
+          })
+          .catch((res) => {
+            EventBus.$emit('error', (JSON.parse(res) || {}).message)
+            this.$refs.upload.clearFiles()
+          })
+      },
+      getUnitList() {
+        xiala({
+            compId: sessionStorage.getItem('ws-pf_compId'),
+            constCode: 'TYPEYAN',
+          })
+          .toPromise()
+          .then((response) => {
+            this.unitList = response
+            let currItem
+            this.unitList.forEach((item, index, arr) => {
+              item.flag = 'delete'
+              if (this.vModel == item.constKey) {
+                currItem = item
+              }
+            })
+            //
+            if (currItem) {
+              this.selectContract(currItem.constValue)
+            }
+          })
+      },
 
-    submit() {
-      if (!this.deptBudgetList.contractNo) {
-        this.$message({
-          message: '合同编号不能为空',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractNo.length < 6 ||
-        this.deptBudgetList.contractNo.length > 50
-      ) {
-        this.$message({
-          message: '合同编号长度不符合要求,请输入6到50个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.shippingType) {
-        this.$message({
-          message: '运输方式不能为空',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.shippingType.length < 1 ||
-        this.deptBudgetList.shippingType.length > 20
-      ) {
-        this.$message({
-          message: '运输方式长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyer) {
-        this.$message({
-          message: '买方名称不能为空',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.buyer.length > 30) {
-        this.$message({
-          message: '买方名称长度不符合要求,请输入30个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.settlementMethod) {
-        this.$message({
-          message: '结算方式不能为空',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.settlementMethod.length < 1 ||
-        this.deptBudgetList.settlementMethod.length > 20
-      ) {
-        this.$message({
-          message: '结算方式长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.seller) {
-        this.$message({
-          message: '请输入卖方名称!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.seller.length > 30) {
-        this.$message({
-          message: '卖方名称长度不符合要求,请输入30个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyerPhone) {
-        this.$message({
-          message: '请输入买方电话!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.buyerPhone)) {
-        this.$message({
-          message: '输入买方电话有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyerPhone.length < 7 ||
-        this.deptBudgetList.buyerPhone.length > 20
-      ) {
-        this.$message({
-          message: '买方电话长度不符合要求,请输入7到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.sellerPhone) {
-        this.$message({
-          message: '请输入卖方电话!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.sellerPhone)) {
-        this.$message({
-          message: '输入卖方电话有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.sellerPhone.length < 7 ||
-        this.deptBudgetList.sellerPhone.length > 20
-      ) {
-        this.$message({
-          message: '卖方电话长度不符合要求,请输入7到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.acceptanceMethod) {
-        this.$message({
-          message: '请选择验收方式',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.weight) {
-        this.$message({
-          message: '请输入重量!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.weight) ||
-        (String(this.deptBudgetList.weight).indexOf('.') != -1 &&
-          String(this.deptBudgetList.weight).length -
+      submit() {
+        if (!this.deptBudgetList.contractNo) {
+          this.$message({
+            message: '合同编号不能为空',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractNo.length < 6 ||
+          this.deptBudgetList.contractNo.length > 50
+        ) {
+          this.$message({
+            message: '合同编号长度不符合要求,请输入6到50个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.shippingType) {
+          this.$message({
+            message: '运输方式不能为空',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.shippingType.length < 1 ||
+          this.deptBudgetList.shippingType.length > 20
+        ) {
+          this.$message({
+            message: '运输方式长度不符合要求,请输入1到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.buyer) {
+          this.$message({
+            message: '买方名称不能为空',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.deptBudgetList.buyer.length > 30) {
+          this.$message({
+            message: '买方名称长度不符合要求,请输入30个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.settlementMethod) {
+          this.$message({
+            message: '结算方式不能为空',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.settlementMethod.length < 1 ||
+          this.deptBudgetList.settlementMethod.length > 20
+        ) {
+          this.$message({
+            message: '结算方式长度不符合要求,请输入1到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.seller) {
+          this.$message({
+            message: '请输入卖方名称!',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.deptBudgetList.seller.length > 30) {
+          this.$message({
+            message: '卖方名称长度不符合要求,请输入30个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.buyerPhone) {
+          this.$message({
+            message: '请输入买方电话!',
+            type: 'warning',
+          })
+          return
+        }
+        if (isNaN(this.deptBudgetList.buyerPhone)) {
+          this.$message({
+            message: '输入买方电话有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.buyerPhone.length < 7 ||
+          this.deptBudgetList.buyerPhone.length > 20
+        ) {
+          this.$message({
+            message: '买方电话长度不符合要求,请输入7到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.sellerPhone) {
+          this.$message({
+            message: '请输入卖方电话!',
+            type: 'warning',
+          })
+          return
+        }
+        if (isNaN(this.deptBudgetList.sellerPhone)) {
+          this.$message({
+            message: '输入卖方电话有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.sellerPhone.length < 7 ||
+          this.deptBudgetList.sellerPhone.length > 20
+        ) {
+          this.$message({
+            message: '卖方电话长度不符合要求,请输入7到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.acceptanceMethod) {
+          this.$message({
+            message: '请选择验收方式',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.weight) {
+          this.$message({
+            message: '请输入重量!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.weight) ||
+          (String(this.deptBudgetList.weight).indexOf('.') != -1 &&
+            String(this.deptBudgetList.weight).length -
             (String(this.deptBudgetList.weight).indexOf('.') + 1) >
             3) ||
-        this.deptBudgetList.weight < 0 ||
-        this.deptBudgetList.weight > 200000
-      ) {
-        this.$message({
-          message: '输入重量有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateStart) {
-        this.$message({
-          message: '请选择交货日期(起)',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.overShort) {
-        this.$message({
-          message: '请输入溢短装!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.overShort) ||
-        (String(this.deptBudgetList.overShort).indexOf('.') != -1 &&
-          String(this.deptBudgetList.overShort).length -
+          this.deptBudgetList.weight < 0 ||
+          this.deptBudgetList.weight > 200000
+        ) {
+          this.$message({
+            message: '输入重量有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.deliveryDateStart) {
+          this.$message({
+            message: '请选择交货日期(起)',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.overShort) {
+          this.$message({
+            message: '请输入溢短装!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.overShort) ||
+          (String(this.deptBudgetList.overShort).indexOf('.') != -1 &&
+            String(this.deptBudgetList.overShort).length -
             (String(this.deptBudgetList.overShort).indexOf('.') + 1) >
             2) ||
-        this.deptBudgetList.overShort < 0 ||
-        this.deptBudgetList.overShort > 50
-      ) {
-        this.$message({
-          message: '溢短装输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateEnd) {
-        this.$message({
-          message: '请选择交货日期(止)',
-          type: 'warning',
-        })
-        return
-      }
-      //时间
-      if (
-        new Date(this.deptBudgetList.deliveryDateStart).getTime() >
-        new Date(this.deptBudgetList.deliveryDateEnd).getTime()
-      ) {
-        this.$message({
-          message: '交货日期(止)选择错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.priceType) {
-        this.$message({
-          message: '请选择价格类型',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.priceType == '定价销售') {
-        if (!this.deptBudgetList.unitContractPrice) {
+          this.deptBudgetList.overShort < 0 ||
+          this.deptBudgetList.overShort > 50
+        ) {
           this.$message({
-            message: '请输入合同单价!',
+            message: '溢短装输入有误!',
             type: 'warning',
           })
           return
         }
+        if (!this.deptBudgetList.deliveryDateEnd) {
+          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
+          new Date(this.deptBudgetList.deliveryDateStart).getTime() >
+          new Date(this.deptBudgetList.deliveryDateEnd).getTime()
         ) {
           this.$message({
-            message: '合同单价输入有误!',
+            message: '交货日期(止)选择错误',
             type: 'warning',
           })
           return
         }
-        if (!this.deptBudgetList.totalContractPrice) {
+        if (!this.deptBudgetList.priceType) {
           this.$message({
-            message: '请输入合同总价!',
+            message: '请选择价格类型',
             type: 'warning',
           })
           return
         }
-        if (
-          isNaN(this.deptBudgetList.totalContractPrice) ||
-          (String(this.deptBudgetList.totalContractPrice).indexOf('.') != -1 &&
-            String(this.deptBudgetList.totalContractPrice).length -
+        if (this.deptBudgetList.priceType == '定价销售') {
+          if (!this.deptBudgetList.unitContractPrice) {
+            this.$message({
+              message: '请输入合同单价!',
+              type: 'warning',
+            })
+            return
+          }
+          if (
+            isNaN(this.deptBudgetList.unitContractPrice) ||
+            (String(this.deptBudgetList.unitContractPrice).indexOf('.') != -1 &&
+              String(this.deptBudgetList.unitContractPrice).length -
+              (String(this.deptBudgetList.unitContractPrice).indexOf('.') + 1) >
+              2) ||
+            this.deptBudgetList.unitContractPrice <= 0 ||
+            this.deptBudgetList.unitContractPrice > 10000
+          ) {
+            this.$message({
+              message: '合同单价输入有误!',
+              type: 'warning',
+            })
+            return
+          }
+          if (!this.deptBudgetList.totalContractPrice) {
+            this.$message({
+              message: '请输入合同总价!',
+              type: 'warning',
+            })
+            return
+          }
+          if (
+            isNaN(this.deptBudgetList.totalContractPrice) ||
+            (String(this.deptBudgetList.totalContractPrice).indexOf('.') != -1 &&
+              String(this.deptBudgetList.totalContractPrice).length -
               (String(this.deptBudgetList.totalContractPrice).indexOf('.') +
                 1) >
               2) ||
-          this.deptBudgetList.totalContractPrice <= 0 ||
-          this.deptBudgetList.totalContractPrice > 1000000000
-        ) {
+            this.deptBudgetList.totalContractPrice <= 0 ||
+            this.deptBudgetList.totalContractPrice > 1000000000
+          ) {
+            this.$message({
+              message: '合同总价输入有误!',
+              type: 'warning',
+            })
+            return
+          }
+        }
+        if (!this.newSelectedOptions) {
           this.$message({
-            message: '合同总价输入有误!',
+            message: '请选择货源所在地区!',
             type: 'warning',
           })
           return
         }
-      }
-      if (!this.newSelectedOptions) {
-        this.$message({
-          message: '请选择货源所在地区!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.sourceGoods) {
-        this.$message({
-          message: '请输入货源详细地址!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.newSelectedOptions1) {
-        this.$message({
-          message: '请选择交货所在地区!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.placeDelivery) {
-        this.$message({
-          message: '请输入交货详细地址!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.signingDate) {
-        this.$message({
-          message: '请选择签订日期',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.finalTradingVolume) ||
-        (String(this.deptBudgetList.finalTradingVolume).indexOf('.') != -1 &&
-          String(this.deptBudgetList.finalTradingVolume).length -
+        if (!this.deptBudgetList.sourceGoods) {
+          this.$message({
+            message: '请输入货源详细地址!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.newSelectedOptions1) {
+          this.$message({
+            message: '请选择交货所在地区!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.placeDelivery) {
+          this.$message({
+            message: '请输入交货详细地址!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.signingDate) {
+          this.$message({
+            message: '请选择签订日期',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.finalTradingVolume) ||
+          (String(this.deptBudgetList.finalTradingVolume).indexOf('.') != -1 &&
+            String(this.deptBudgetList.finalTradingVolume).length -
             (String(this.deptBudgetList.finalTradingVolume).indexOf('.') + 1) >
             3) ||
-        this.deptBudgetList.finalTradingVolume < 0 ||
-        this.deptBudgetList.finalTradingVolume > 200000
-      ) {
-        this.$message({
-          message: '最终实际成交量有误!',
-          type: 'warning',
-        })
-        return
-      }
-      //货物信息
-      if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
-        this.$message({
-          message: '请选择货名',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.waterContent) {
-        this.$message({
-          message: '请输入水分',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractGoodsInfo.waterContent &&
-          String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf(
-            '.'
-          ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.waterContent).length -
-            (String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf(
+          this.deptBudgetList.finalTradingVolume < 0 ||
+          this.deptBudgetList.finalTradingVolume > 200000
+        ) {
+          this.$message({
+            message: '最终实际成交量有误!',
+            type: 'warning',
+          })
+          return
+        }
+        //货物信息
+        if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
+          this.$message({
+            message: '请选择货名',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.waterContent) {
+          this.$message({
+            message: '请输入水分',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.deptBudgetList.contractGoodsInfo.waterContent &&
+            String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf(
               '.'
-            ) +
+            ) != -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.waterContent).length -
+            (String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf(
+                '.'
+              ) +
               1) >
             2) ||
-        this.deptBudgetList.contractGoodsInfo.waterContent > 40 ||
-        this.deptBudgetList.contractGoodsInfo.waterContent < 0
-      ) {
-        this.$message({
-          message: '水分输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.grade) {
-        this.$message({
-          message: '请选择品级',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.impurity) {
-        this.$message({
-          message: '请输入杂质',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractGoodsInfo.impurity &&
-          String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') !=
+          this.deptBudgetList.contractGoodsInfo.waterContent > 40 ||
+          this.deptBudgetList.contractGoodsInfo.waterContent < 0
+        ) {
+          this.$message({
+            message: '水分输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.grade) {
+          this.$message({
+            message: '请选择品级',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.impurity) {
+          this.$message({
+            message: '请输入杂质',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.deptBudgetList.contractGoodsInfo.impurity &&
+            String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') !=
             -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.impurity).length -
+            String(this.deptBudgetList.contractGoodsInfo.impurity).length -
             (String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf(
-              '.'
-            ) +
+                '.'
+              ) +
               1) >
             2) ||
-        this.deptBudgetList.contractGoodsInfo.impurity > 40 ||
-        this.deptBudgetList.contractGoodsInfo.impurity < 0
-      ) {
-        this.$message({
-          message: '杂质输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.bulkDensity) {
-        this.$message({
-          message: '请输入容重',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractGoodsInfo.bulkDensity &&
-          String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf(
-            '.'
-          ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.bulkDensity).length -
-            (String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf(
+          this.deptBudgetList.contractGoodsInfo.impurity > 40 ||
+          this.deptBudgetList.contractGoodsInfo.impurity < 0
+        ) {
+          this.$message({
+            message: '杂质输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.bulkDensity) {
+          this.$message({
+            message: '请输入容重',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.deptBudgetList.contractGoodsInfo.bulkDensity &&
+            String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf(
               '.'
-            ) +
+            ) != -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.bulkDensity).length -
+            (String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf(
+                '.'
+              ) +
               1) >
             2) ||
-        this.deptBudgetList.contractGoodsInfo.bulkDensity > 1000 ||
-        this.deptBudgetList.contractGoodsInfo.bulkDensity < 0
-      ) {
-        this.$message({
-          message: '容重输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.mildewGrain) {
-        this.$message({
-          message: '请输入霉变粒',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.mildewGrain ||
-        (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.mildewGrain).length -
-            (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
+          this.deptBudgetList.contractGoodsInfo.bulkDensity > 1000 ||
+          this.deptBudgetList.contractGoodsInfo.bulkDensity < 0
+        ) {
+          this.$message({
+            message: '容重输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.mildewGrain) {
+          this.$message({
+            message: '请输入霉变粒',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          !this.deptBudgetList.contractGoodsInfo.mildewGrain ||
+          (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
               '.'
-            ) +
+            ) != -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.mildewGrain).length -
+            (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
+                '.'
+              ) +
               1) >
             2) ||
-        this.deptBudgetList.contractGoodsInfo.mildewGrain > 40 ||
-        this.deptBudgetList.contractGoodsInfo.mildewGrain < 0
-      ) {
-        this.$message({
-          message: '霉变粒输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.jiaorenli) {
-        this.$message({
-          message: '请输入热损伤',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.jiaorenli ||
-        (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf('.') !=
-          -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.jiaorenli).length -
+          this.deptBudgetList.contractGoodsInfo.mildewGrain > 40 ||
+          this.deptBudgetList.contractGoodsInfo.mildewGrain < 0
+        ) {
+          this.$message({
+            message: '霉变粒输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.jiaorenli) {
+          this.$message({
+            message: '请输入热损伤',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          !this.deptBudgetList.contractGoodsInfo.jiaorenli ||
+          (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf('.') !=
+            -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.jiaorenli).length -
             (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf(
-              '.'
-            ) +
+                '.'
+              ) +
               1) >
             2) ||
-        this.deptBudgetList.contractGoodsInfo.jiaorenli > 40 ||
-        this.deptBudgetList.contractGoodsInfo.jiaorenli < 0
-      ) {
-        this.$message({
-          message: '热损伤输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.imperfectGrain) {
-        this.$message({
-          message: '请输入不完善粒',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.imperfectGrain ||
-        (String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).length -
+          this.deptBudgetList.contractGoodsInfo.jiaorenli > 40 ||
+          this.deptBudgetList.contractGoodsInfo.jiaorenli < 0
+        ) {
+          this.$message({
+            message: '热损伤输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.imperfectGrain) {
+          this.$message({
+            message: '请输入不完善粒',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          !this.deptBudgetList.contractGoodsInfo.imperfectGrain ||
+          (String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).length -
             (String(
-              this.deptBudgetList.contractGoodsInfo.imperfectGrain
-            ).indexOf('.') +
+                this.deptBudgetList.contractGoodsInfo.imperfectGrain
+              ).indexOf('.') +
               1) >
             2) ||
-        this.deptBudgetList.contractGoodsInfo.imperfectGrain > 40 ||
-        this.deptBudgetList.contractGoodsInfo.imperfectGrain < 0
-      ) {
-        this.$message({
-          message: '不完善粒输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000 ||
-        this.deptBudgetList.contractProcessInfo.goodsNameKey < 100 ||
-        (String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
+          this.deptBudgetList.contractGoodsInfo.imperfectGrain > 40 ||
+          this.deptBudgetList.contractGoodsInfo.imperfectGrain < 0
+        ) {
+          this.$message({
+            message: '不完善粒输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          !this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000 ||
+          this.deptBudgetList.contractProcessInfo.goodsNameKey < 100 ||
+          (String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
             (String(
-              this.deptBudgetList.contractProcessInfo.goodsNameKey
-            ).indexOf('.') +
+                this.deptBudgetList.contractProcessInfo.goodsNameKey
+              ).indexOf('.') +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '合同收入金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractProcessInfo.waterContent > 10000000 ||
-        this.deptBudgetList.contractProcessInfo.waterContent < 0 ||
-        (String(this.deptBudgetList.contractProcessInfo.waterContent).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.waterContent).length -
+        ) {
+          this.$message({
+            message: '合同收入金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractProcessInfo.waterContent > 10000000 ||
+          this.deptBudgetList.contractProcessInfo.waterContent < 0 ||
+          (String(this.deptBudgetList.contractProcessInfo.waterContent).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.waterContent).length -
             (String(
-              this.deptBudgetList.contractProcessInfo.waterContent
-            ).indexOf('.') +
+                this.deptBudgetList.contractProcessInfo.waterContent
+              ).indexOf('.') +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '费用支出输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractProcessInfo.goodsName > 1000000000) |
+        ) {
+          this.$message({
+            message: '费用支出输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.deptBudgetList.contractProcessInfo.goodsName > 1000000000) |
           (this.deptBudgetList.contractProcessInfo.goodsName < 0) ||
-        (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.goodsName).length -
-            (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
+          (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
               '.'
-            ) +
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.goodsName).length -
+            (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
+                '.'
+              ) +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '已开发票金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractProcessInfo.impurity > 1000000000) |
+        ) {
+          this.$message({
+            message: '已开发票金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.deptBudgetList.contractProcessInfo.impurity > 1000000000) |
           (this.deptBudgetList.contractProcessInfo.impurity < 0) ||
-        (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.impurity).length -
-            (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
+          (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
               '.'
-            ) +
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.impurity).length -
+            (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
+                '.'
+              ) +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '未开发票金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (!this.deptBudgetList.contractProcessInfo.mildewGrain > 1000000000) |
+        ) {
+          this.$message({
+            message: '未开发票金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (!this.deptBudgetList.contractProcessInfo.mildewGrain > 1000000000) |
           (this.deptBudgetList.contractProcessInfo.mildewGrain < 0) ||
-        (String(this.deptBudgetList.contractProcessInfo.mildewGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
+          (String(this.deptBudgetList.contractProcessInfo.mildewGrain).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
             (String(
-              this.deptBudgetList.contractProcessInfo.mildewGrain
-            ).indexOf('.') +
+                this.deptBudgetList.contractProcessInfo.mildewGrain
+              ).indexOf('.') +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '未回款金额输入错误',
-          type: 'warning',
+        ) {
+          this.$message({
+            message: '未回款金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        this.$refs.deptBudgetList.validate((valid) => {
+          if (valid) {
+            this.deptBudgetList.compId = this.compId
+            this.deptBudgetList.contractType = 1
+            this.deptBudgetList.goodsType = 1
+            addList(this.deptBudgetList)
+              .toPromise()
+              .then((response) => {
+                // 存储买方、卖方、买方电话、卖方电话
+                let _data = {
+                  byer: this.deptBudgetList.buyer,
+                  seller: this.deptBudgetList.seller,
+                  buyerPhone: this.deptBudgetList.buyerPhone,
+                  sellerPhone: this.deptBudgetList.sellerPhone
+                }
+                if (this.restaurants1.length <= 20) {
+                  this.restaurants1 = this.restaurants1.filter(function(val) {
+                    if (val.value != _data.byer) {
+                      return val
+                    }
+                  })
+                  this.restaurants1.unshift({
+                    value: _data.byer
+                  })
+                } else {
+                  this.restaurants1.unshift({
+                    value: _data.byer
+                  }).pop({
+                    value: _data.byer
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data1', JSON.stringify(this.restaurants1));
+                if (this.restaurants2.length <= 20) {
+                  this.restaurants2 = this.restaurants2.filter(function(val) {
+                    if (val.value != _data.seller) {
+                      return val
+                    }
+                  })
+                  this.restaurants2.unshift({
+                    value: _data.seller
+                  })
+                } else {
+                  this.restaurants2.unshift({
+                    value: _data.seller
+                  }).pop({
+                    value: _data.seller
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data2', JSON.stringify(this.restaurants2));
+                if (this.restaurants2.length <= 20) {
+                  this.restaurants3 = this.restaurants3.filter(function(val) {
+                    if (val.value != _data.buyerPhone) {
+                      return val
+                    }
+                  })
+                  this.restaurants3.unshift({
+                    value: _data.buyerPhone
+                  })
+                } else {
+                  this.restaurants3.unshift({
+                    value: _data.buyerPhone
+                  }).pop({
+                    value: _data.buyerPhone
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data3', JSON.stringify(this.restaurants3));
+                if (this.restaurants4.length <= 20) {
+                  this.restaurants4 = this.restaurants3.filter(function(val) {
+                    if (val.value != _data.sellerPhone) {
+                      return val
+                    }
+                  })
+                  this.restaurants4.unshift({
+                    value: _data.sellerPhone
+                  })
+                } else {
+                  this.restaurants4.unshift({
+                    value: _data.sellerPhone
+                  }).pop({
+                    value: _data.sellerPhone
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data4', JSON.stringify(this.restaurants4));
+                this.$message.success('添加成功')
+                this.deptBudgetList = {
+                  deliverType: '1',
+                  agreementType: '销售合同',
+                  finalTradingVolume: 0,
+                  totalContractPrice: 0,
+                  contractGoodsInfo: {
+                    goodsName: '',
+                  },
+                  contractProcessInfo: {},
+                }
+
+
+                this.$router.push({
+                  path: 'salesContract',
+                })
+              })
+          } else {
+            EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            return false
+          }
         })
-        return
-      }
-      this.$refs.deptBudgetList.validate((valid) => {
-        if (valid) {
-          this.deptBudgetList.compId = this.compId
-          this.deptBudgetList.contractType = 1
-          this.deptBudgetList.goodsType = 1
-          addList(this.deptBudgetList)
+      },
+      resetForm(deptBudgetList) {
+        this.$refs[deptBudgetList].resetFields()
+      },
+      saveClick(item, index) {
+        console.log(item)
+
+        if (Object.is(item.id, 1)) {
+          return
+        }
+        if (Object.is(this.unitList[index].flag, 'delete')) {
+          this.$set(this.unitList, index, {
+            flag: 'check',
+          })
+        } else {
+          this.$set(this.unitList, index, {
+            flag: 'delete',
+          })
+        }
+        if (!item.constValue) {
+          this.unitList.splice(index, 1)
+          return
+        }
+        if (item.flag == 'add') {
+          item.constKey = Math.random() * 20
+          this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
+          this.trainingMethods.constKey = item.constKey
+          this.trainingMethods.constCode = 'TYPEYAN'
+          this.trainingMethods.constValue = item.constValue
+          this.trainingMethods.id = item.id
+          addxiala(this.trainingMethods)
             .toPromise()
             .then((response) => {
-              this.$message.success('添加成功')
-              this.deptBudgetList = {
-                deliverType: '1',
-                agreementType: '销售合同',
-                finalTradingVolume: 0,
-                totalContractPrice: 0,
-                contractGoodsInfo: {
-                  goodsName: '',
-                },
-                contractProcessInfo: {},
-              }
-
-              this.$router.push({
-                path: 'salesContract',
-              })
+              this.getUnitList()
+            })
+        } else if (item.flag == 'check') {
+          this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
+          this.trainingMethods.constKey = item.constKey
+          this.trainingMethods.constCode = 'TYPEYAN'
+          this.trainingMethods.constValue = item.constValue
+          this.trainingMethods.id = item.id
+          editxiala(this.trainingMethods)
+            .toPromise()
+            .then((response) => {
+              this.getUnitList()
             })
-        } else {
-          EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-          return false
         }
-      })
-    },
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
-    },
-    saveClick(item, index) {
-      console.log(item)
-
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        this.$set(this.unitList, index, {
-          flag: 'check',
-        })
-      } else {
-        this.$set(this.unitList, index, {
-          flag: 'delete',
+      },
+      handleExamine() {},
+      approve() {},
+      addClick() {
+        this.unitList.push({
+          flag: 'add',
+          constValue: '',
+          constKey: '',
         })
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      if (item.flag == 'add') {
-        item.constKey = Math.random() * 20
-        this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
-        this.trainingMethods.constKey = item.constKey
-        this.trainingMethods.constCode = 'TYPEYAN'
-        this.trainingMethods.constValue = item.constValue
-        this.trainingMethods.id = item.id
-        addxiala(this.trainingMethods)
-          .toPromise()
-          .then((response) => {
-            this.getUnitList()
-          })
-      } else if (item.flag == 'check') {
-        this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
-        this.trainingMethods.constKey = item.constKey
-        this.trainingMethods.constCode = 'TYPEYAN'
-        this.trainingMethods.constValue = item.constValue
-        this.trainingMethods.id = item.id
-        editxiala(this.trainingMethods)
-          .toPromise()
-          .then((response) => {
-            this.getUnitList()
-          })
-      }
-    },
-    handleExamine() {},
-    approve() {},
-    addClick() {
-      this.unitList.push({
-        flag: 'add',
-        constValue: '',
-        constKey: '',
-      })
-    },
-    selectChapterTwo(e) {
-      for (var i = 0; i < this.ChapterTwoList.length; i++) {
-        if (this.ChapterTwoList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+      },
+      selectChapterTwo(e) {
+        for (var i = 0; i < this.ChapterTwoList.length; i++) {
+          if (this.ChapterTwoList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+          }
         }
-      }
-    },
-    selectunitList(e) {
-      for (var i = 0; i < this.unitList.length; i++) {
-        if (this.unitList[i].constValue == e) {
-          this.deptBudgetList.packingMethodKey = this.unitList[i].constKey
+      },
+      selectunitList(e) {
+        for (var i = 0; i < this.unitList.length; i++) {
+          if (this.unitList[i].constValue == e) {
+            this.deptBudgetList.packingMethodKey = this.unitList[i].constKey
+          }
         }
-      }
-    },
-    selectgrade(e) {
-      for (var i = 0; i < this.gradeList.length; i++) {
-        if (this.gradeList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+      },
+      selectgrade(e) {
+        for (var i = 0; i < this.gradeList.length; i++) {
+          if (this.gradeList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+          }
         }
-      }
-    },
-    selectgoodsName(e) {
-      for (var i = 0; i < this.goodnameList.length; i++) {
-        if (this.goodnameList[i].constValue == e) {
-          this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
-          this.deptBudgetList.contractGoodsInfo.goodsNameKey =
-            this.goodnameList[i].constKey
+      },
+      selectgoodsName(e) {
+        for (var i = 0; i < this.goodnameList.length; i++) {
+          if (this.goodnameList[i].constValue == e) {
+            this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+            this.deptBudgetList.contractGoodsInfo.goodsNameKey =
+              this.goodnameList[i].constKey
+          }
         }
-      }
-    },
-    selectpackingMethod(e) {
-      for (var i = 0; i < this.packtypeList.length; i++) {
-        if (this.packtypeList[i].constValue == e) {
-          this.deptBudgetList.acceptanceMethodKey =
-            this.packtypeList[i].constKey
+      },
+      selectpackingMethod(e) {
+        for (var i = 0; i < this.packtypeList.length; i++) {
+          if (this.packtypeList[i].constValue == e) {
+            this.deptBudgetList.acceptanceMethodKey =
+              this.packtypeList[i].constKey
+          }
         }
-      }
-    },
-    selectpriceType(e) {},
-    weightchange(e) {
-      this.deptBudgetList.finalTradingVolume = e
-    },
-    pricechange(e) {
-      this.deptBudgetList.totalContractPrice = e * this.deptBudgetList.weight
-    },
-    // 编辑
-    editClick(item, index) {
-      const map = JSON.parse(JSON.stringify(item))
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        map.flag = 'check'
-        this.$set(this.unitList, index, map)
-      } else {
-        map.flag = 'delete'
-        this.$set(this.unitList, index, map)
-      }
-    },
-    // 删除
-    deleteClick(item, index) {
-      if (Object.is(item.constKey, 1)) {
-        return
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      delxiala({
-        id: this.unitList[index].id,
-      })
-        .toPromise()
-        .then((response) => {
-          this.getUnitList()
-          this.pleaseChoose = ''
-        })
+      },
+      selectpriceType(e) {},
+      weightchange(e) {
+        this.deptBudgetList.finalTradingVolume = e
+      },
+      pricechange(e) {
+        this.deptBudgetList.totalContractPrice = e * this.deptBudgetList.weight
+      },
+      // 编辑
+      editClick(item, index) {
+        const map = JSON.parse(JSON.stringify(item))
+        if (Object.is(item.id, 1)) {
+          return
+        }
+        if (Object.is(this.unitList[index].flag, 'delete')) {
+          map.flag = 'check'
+          this.$set(this.unitList, index, map)
+        } else {
+          map.flag = 'delete'
+          this.$set(this.unitList, index, map)
+        }
+      },
+      // 删除
+      deleteClick(item, index) {
+        if (Object.is(item.constKey, 1)) {
+          return
+        }
+        if (!item.constValue) {
+          this.unitList.splice(index, 1)
+          return
+        }
+        delxiala({
+            id: this.unitList[index].id,
+          })
+          .toPromise()
+          .then((response) => {
+            this.getUnitList()
+            this.pleaseChoose = ''
+          })
+      },
     },
-  },
-}
+  }
 </script>
 
 <style lang="scss" scoped>
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-}
-
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid #cdd2dc;
-  border-bottom: 1px solid #cdd2dc;
-}
-
-.title {
-  position: relative;
-}
-
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-
-.upload-demo {
-  margin-top: 10px;
-}
-
-.el-col {
-  background: #f6f7fc;
-}
-
-.readonly {
-  position: relative;
-}
-
-.readonly:after {
-  content: '*';
-  color: #ff2727;
-  position: absolute;
-  right: 8px;
-  z-index: 10;
-  top: 21%;
-  font-size: 20px;
-}
-
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid #cdd2dc;
-  background: #fafbfc;
-}
-
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 140px;
-  text-align: center;
-  background: #f0f2f6;
-  // border: 1px solid #cdd2dc;
-}
-
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-
-  & > div {
-    margin-left: 10px;
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid #cdd2dc;
+    border-bottom: 1px solid #cdd2dc;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .upload-demo {
+    margin-top: 10px;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid #cdd2dc;
+    background: #fafbfc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 140px;
+    text-align: center;
+    background: #f0f2f6;
+    // border: 1px solid #cdd2dc;
+  }
+
+  .button-container {
     display: flex;
     flex-wrap: nowrap;
-    flex-direction: row;
+    justify-content: space-between;
+    align-items: center;
+    background-color: #fff;
+    width: 100%;
+    height: 50px;
+    padding: 0 10px;
 
-    & > span {
-      line-height: 50px;
+    &>div {
+      margin-left: 10px;
+      display: flex;
+      flex-wrap: nowrap;
+      flex-direction: row;
+
+      &>span {
+        line-height: 50px;
+      }
     }
-  }
 
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
+    /deep/.auditFlow-box {
+      position: unset;
+      margin-left: 10px;
 
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
+      &/deep/.auditFlow-icon {
+        width: auto;
+        padding-right: 30px;
+      }
 
-    &/deep/.auditFlow-main {
-      position: absolute;
+      &/deep/.auditFlow-main {
+        position: absolute;
+      }
     }
   }
-}
 
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
 
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
 
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
       }
     }
   }
-}
-
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-
-.bg-left {
-  padding-left: 30px;
-}
-
-.bg-right {
-  padding-right: 10px;
-  text-align: right;
-}
-
-.bg-bottom {
-  margin: 16px 0px;
-}
-
-.wenzi {
-  width: 70%;
-  margin: 0 auto;
-}
-
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-
-.wenzi p {
-  display: inline-block;
-}
-
-.center {
-  width: 70%;
-  margin: 0 auto;
-}
-
-.el-form-item {
-  width: 50%;
-}
-
-.el-form-item__label {
-  text-align: center;
-}
-
-.ce {
-  width: 70%;
-  margin: 0 auto;
-}
-
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
+
+  .collapse-bottom {
+    margin-bottom: 20px;
   }
 
-  .el-icon-arrow-up {
-    display: none;
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
   }
 
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
+  .bg-left {
+    padding-left: 30px;
   }
 
-  .el-date-editor {
-    i {
-      display: none;
-    }
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
   }
 
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
+  .bg-bottom {
+    margin: 16px 0px;
+  }
+
+  .wenzi {
+    width: 70%;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    width: 70%;
+    margin: 0 auto;
+  }
+
+  .el-form-item {
+    width: 50%;
+  }
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 70%;
+    margin: 0 auto;
+  }
 
-    color: #606266;
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
 
+  .hide-sel {
     .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
+      border: 0px;
+    }
+
+    .el-icon-arrow-up {
+      display: none;
     }
 
     .el-textarea__inner {
       background-color: #fff !important;
       border: 0;
+    }
+
+    .el-date-editor {
+      i {
+        display: none;
+      }
+    }
+
+    .is-disabled {
+      .el-input__inner:hover {
+        background-color: #fff !important;
+        border: 0;
+      }
+
       color: #606266;
+
+      .el-input__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
+
+      .el-textarea__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
     }
   }
-}
-
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 130px;
-}
-
-//*号
-.unchangeable {
-  position: absolute;
-  width: 9px;
-  height: 22px;
-  font-size: 16px;
-  font-family: PingFangSC-Medium, PingFang SC;
-  font-weight: 500;
-  color: #ff2727;
-  line-height: 22px;
-  display: inline-block;
-  right: 14px;
-}
-
-/deep/.el-input,
-/deep/.el-date-editor {
-  font-size: 13px;
-}
-
-/deep/.el-textarea {
-  width: 101%;
-  margin: 0px;
-}
-
-/deep/el-date-editor--date {
-  width: 200px;
-}
-
-.unchanged {
-  position: absolute;
-  left: 37px;
-  width: 102px;
-  height: 14px;
-  font-size: 14px;
-  font-family: PingFangSC-Regular, PingFang SC;
-  font-weight: 400;
-  color: #afb5cb;
-  line-height: 14px;
-}
-
-/deep/.el-input--small .el-input__inner {
-  height: 32px;
-  line-height: 32px;
-}
-
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-
-  /deep/.el-input__inner {
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 130px;
+  }
+
+  //*号
+  .unchangeable {
+    position: absolute;
+    width: 9px;
+    height: 22px;
+    font-size: 16px;
+    font-family: PingFangSC-Medium, PingFang SC;
+    font-weight: 500;
+    color: #ff2727;
+    line-height: 22px;
+    display: inline-block;
+    right: 14px;
+  }
+
+  /deep/.el-input,
+  /deep/.el-date-editor {
+    font-size: 13px;
+  }
+
+  /deep/.el-textarea {
+    width: 101%;
+    margin: 0px;
+  }
+
+  /deep/el-date-editor--date {
+    width: 200px;
+  }
+
+  .unchanged {
+    position: absolute;
+    left: 37px;
+    width: 102px;
+    height: 14px;
+    font-size: 14px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #afb5cb;
+    line-height: 14px;
+  }
+
+  /deep/.el-input--small .el-input__inner {
+    height: 32px;
+    line-height: 32px;
+  }
+
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
     padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
+  }
+
+  /deep/.is-disabled {
+    .el-input__prefix,
+    .el-input__suffix {
+      display: none;
+    }
+
+    .el-input__inner {
+      background-color: #fff;
+      border-color: #fff !important;
+      color: #000 !important;
+      font-size: 14px;
+      cursor: text;
+      padding: 0 !important;
+    }
+  }
+
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
+
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  .addressUrls {
+    width: 100%;
+    display: flex;
+    margin-top: 10px;
+  }
+
+  .addressUrls-item {
+    position: relative;
+    display: flex;
+  }
+
+  .icon-guanbi {
+    position: absolute;
+    right: 8px;
+  }
+
+  .addressUrl {
+    margin: 0px 10px;
+    border-radius: 3px;
   }
-}
 
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
+  //上传文件成功标识
+  /deep/.el-upload-list__item-status-label {
+    position: absolute;
+    right: 22px;
+    top: -1px;
+    line-height: inherit;
     display: none;
   }
 
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
+  .map {
+    position: fixed;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    right: 0;
+    margin: auto;
+    width: 800px;
+    height: 400px;
+    background: gainsboro;
+    border-radius: 20px;
+    padding: 10px;
+    box-sizing: border-box;
+    z-index: 99;
+  }
+
+  .amap-container {
+    width: 100% !important;
+  }
+
+  .address-btn {
+    width: 100%;
+    text-align: left;
+  }
+
+  .inline-input {
+    width: 100%;
   }
-}
-
-.winseaview-view {
-  padding: 0 0 20px;
-}
-
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-
-.addressUrls {
-  width: 100%;
-  display: flex;
-  margin-top: 10px;
-}
-
-.addressUrls-item {
-  position: relative;
-  display: flex;
-}
-
-.icon-guanbi {
-  position: absolute;
-  right: 8px;
-}
-
-.addressUrl {
-  margin: 0px 10px;
-  border-radius: 3px;
-}
-
-//上传文件成功标识
-/deep/.el-upload-list__item-status-label {
-  position: absolute;
-  right: 22px;
-  top: -1px;
-  line-height: inherit;
-  display: none;
-}
-
-.map {
-  position: fixed;
-  top: 0;
-  bottom: 0;
-  left: 0;
-  right: 0;
-  margin: auto;
-  width: 800px;
-  height: 400px;
-  background: gainsboro;
-  border-radius: 20px;
-  padding: 10px;
-  box-sizing: border-box;
-  z-index: 99;
-}
-
-.amap-container {
-  width: 100% !important;
-}
-
-.address-btn {
-  width: 100%;
-  text-align: left;
-}
 </style>

+ 1303 - 1371
src/views/contractManagement/salesContractEdit.vue

@@ -5,19 +5,9 @@
         <h2 class="bg-left title">修改合同信息</h2>
       </el-col>
       <el-col :span="12" class="bg-right">
-        <el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="returnsales()"
-          ><img
-            width="6"
-            height="10"
-            style="vertion-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt=""
-          />返回</el-button
-        >
+        <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()"><img width="6" height="10"
+            style="vertion-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
+        </el-button>
       </el-col>
     </el-row>
 
@@ -29,45 +19,42 @@
       </p>
     </div>
     <div class="center">
-      <ws-form
-        ref="deptBudgetList"
-        :rules="ruleDeptBudget"
-        :model="deptBudgetList"
-      >
+      <ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
         <!--基本信息-->
         <ws-info-table>
-        	<!--合同类型-->
-					<ws-form-item label="合同类型" span="1" class="readonly">
-						<div class="unchanged">
-              {{ deptBudgetList.agreementType1 }}
+          <!--合同类型-->
+          <ws-form-item label="合同类型" span="1">
+            <div class="unchanged">
+              {{ deptBudgetList.agreementType}}
             </div>
             <span class="unchangeable">*</span>
-					</ws-form-item>
-					<!--合同编号-->
-					<ws-form-item label="合同编号" span="1" prop="contractNo" class="readonly"
-						v-if="deptBudgetList.agreementType == '销售合同'">
-						<div class="unchanged">
+          </ws-form-item>
+          <!--合同编号-->
+          <ws-form-item label="合同编号" span="1" prop="contractNo"
+            v-if="deptBudgetList.agreementType == '销售合同'">
+            <div class="unchanged">
               {{ deptBudgetList.contractNo }}
             </div>
             <span class="unchangeable">*</span>
-					</ws-form-item>
-					<!--关联合同-->
-					<ws-form-item prop="contractNo" label="关联合同" span="1" v-if="deptBudgetList.agreementType == '补充协议'" class="readonly">
-						{{ deptBudgetList.contractNo }}
-					</ws-form-item>
-					<!--补充协议编号-->
-					<ws-form-item label="补充协议编号" span="1" prop="agreementNo" class="readonly"
-						v-if="deptBudgetList.agreementType == '补充协议'">
-						{{ deptBudgetList.agreementNo }}
-					</ws-form-item>
+          </ws-form-item>
+          <!--关联合同-->
+          <ws-form-item prop="agreementNo" label="关联合同" span="1" v-if="deptBudgetList.agreementType == '补充协议'">
+             <div class="unchanged">
+            {{ deptBudgetList.agreementNo }}
+            </div>
+            <span class="unchangeable">*</span>
+          </ws-form-item>
+          <!--补充协议编号-->
+          <ws-form-item label="补充协议编号" span="1" prop="contractNo"
+            v-if="deptBudgetList.agreementType == '补充协议'">
+              <div class="unchanged">
+            {{ deptBudgetList.contractNo }}
+            </div>
+            <span class="unchangeable">*</span>
+          </ws-form-item>
           <!--运输方式-->
           <ws-form-item label="运输方式" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.shippingType"
-              placeholder="请输入运输方式"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.shippingType" placeholder="请输入运输方式" maxlength="100" size="small" />
           </ws-form-item>
 
           <!--买方-->
@@ -80,12 +67,7 @@
 
           <!--结算方式-->
           <ws-form-item label="结算方式" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.settlementMethod"
-              placeholder="请输入结算方式"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.settlementMethod" placeholder="请输入结算方式" maxlength="100" size="small" />
           </ws-form-item>
 
           <!--卖方-->
@@ -106,103 +88,52 @@
 
           <!--买方电话-->
           <ws-form-item label="买方电话" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.buyerPhone"
-              placeholder="请输入买方电话"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.buyerPhone" placeholder="请输入买方电话" maxlength="100" size="small" />
           </ws-form-item>
           <!--包装方式-->
           <ws-form-item label="包装方式" span="1" prop="packingMethod">
-            <ws-select
-              v-model="deptBudgetList.packingMethod"
-              placeholder=""
-              class="typeselect"
-              @change="selectpackingMethod"
-            >
-              <ws-option
-                v-for="item in packtypeList"
-                :key="item.constKey"
-                :label="item.constValue"
-                :value="item.constValue"
-              />
+            <ws-select 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="contractNo">
-            <ws-input
-              v-model="deptBudgetList.sellerPhone"
-              placeholder="请输入卖房电话"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.sellerPhone" placeholder="请输入卖房电话" maxlength="100" size="small" />
           </ws-form-item>
           <!--验收方式-->
           <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
-            <el-select
-              v-model="deptBudgetList.acceptanceMethod"
-              placeholder="请选择验收方式"
-              style="width: 100%"
-              filterable
-              @change="selectunitList"
-            >
-              <el-option
-                v-for="(item, index) in unitList"
-                :key="item.constValue"
-                :label="item.constValue"
-                :value="item.constValue"
-              >
+            <el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式" style="width: 100%" filterable
+              @change="selectunitList">
+              <el-option v-for="(item, index) in unitList" :key="item.constValue" :label="item.constValue"
+                :value="item.constValue">
                 <span class="unit-left" style="float: left">
                   <span v-if="item.flag == 'delete'">
-                    {{ item.constValue }}</span
-                  >
+                    {{ item.constValue }}</span>
                   <!-- 新增文本框 -->
-                  <div
-                    style="width: 160px"
-                    v-if="item.flag !== 'delete'"
-                    @click.stop
-                  >
-                    <ws-input
-                      v-model="item.constValue"
-                      clearable
-                      maxlength="10"
-                      style="width: 100%"
-                    ></ws-input>
+                  <div style="width: 160px" v-if="item.flag !== 'delete'" @click.stop>
+                    <ws-input v-model="item.constValue" clearable maxlength="10" style="width: 100%"></ws-input>
                   </div>
                 </span>
                 <span style="float: right; color: #8492a6; font-size: 13px">
                   <!-- 对号 -->
-                  <i
-                    class="el-icon-check"
-                    style="line-height: 29px; margin-left: 10px"
-                    v-if="item.flag !== 'delete'"
-                    @click.stop="saveClick(item, index)"
-                  ></i>
+                  <i class="el-icon-check" style="line-height: 29px; margin-left: 10px" v-if="item.flag !== 'delete'"
+                    @click.stop="saveClick(item, index)"></i>
                   <!-- 编辑 -->
-                  <i
-                    class="el-icon-edit"
-                    style="line-height: 29px; margin-left: 10px"
-                    v-if="item.flag == 'delete'"
-                    @click.stop="editClick(item, index)"
-                  ></i>
+                  <i class="el-icon-edit" style="line-height: 29px; margin-left: 10px" v-if="item.flag == 'delete'"
+                    @click.stop="editClick(item, index)"></i>
                   <!-- 删除 -->
-                  <i
-                    class="el-icon-delete"
-                    style="line-height: 29px"
-                    @click.stop="deleteClick(item, index)"
-                  ></i>
+                  <i class="el-icon-delete" style="line-height: 29px" @click.stop="deleteClick(item, index)"></i>
                 </span>
               </el-option>
               <!-- 新增按钮 -->
               <el-option value="" label="">
-                <div
-                  style="
+                <div style="
                     text-align: right;
                     border-top: 1px solid #dcdfe6;
                     padding: 5px;
-                  "
-                >
+                  ">
                   <ws-button type="primary" @click.stop="addClick">{{
                     $t('button.add')
                   }}</ws-button>
@@ -212,43 +143,21 @@
           </ws-form-item>
           <!--重量(吨)-->
           <ws-form-item label="重量(吨)" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.weight"
-              placeholder="请输入重量(吨)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.weight" placeholder="请输入重量(吨)" maxlength="100" size="small" />
           </ws-form-item>
           <!--交货日期(起)-->
-          <ws-form-item
-            label="交货日期(起)"
-            span="1"
-            prop="deliveryDateStart"
-          >
-            <ws-date-picker
-              v-model="deptBudgetList.deliveryDateStart"
-              type="date"
-              placeholder="请选择交货日期(起)"
-              value-format="yyyy-MM-dd"
-            />
+          <ws-form-item 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="contractNo">
-            <ws-input
-              v-model="deptBudgetList.overShort"
-              placeholder="请输入溢短装(%)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.overShort" placeholder="请输入溢短装(%)" maxlength="100" size="small" />
           </ws-form-item>
           <!--交货日期(止)-->
           <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
-            <ws-date-picker
-              v-model="deptBudgetList.deliveryDateEnd"
-              type="date"
-              placeholder="请选择交货日期(止)"
-              value-format="yyyy-MM-dd"
-            />
+            <ws-date-picker v-model="deptBudgetList.deliveryDateEnd" type="date" placeholder="请选择交货日期(止)"
+              value-format="yyyy-MM-dd" />
           </ws-form-item>
 
           <!--合同单价(元/吨)-->
@@ -261,16 +170,11 @@
 
           <!--合同总价-->
           <ws-form-item label="合同总价" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.totalContractPrice"
-              placeholder="请输入合同总价"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.totalContractPrice" placeholder="请输入合同总价" maxlength="100" size="small" />
           </ws-form-item>
           <!-- 货源所在地区 -->
-          <ws-form-item label="货源所在地区" span="1" prop="packingMethod">
-            <el-cascader
+          <ws-form-item label="货源所在地区" span="1" prop="sourceGoods">
+            <!-- <el-cascader
               :options="options_"
               v-model="selectedOptions"
               clearable
@@ -278,20 +182,18 @@
               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="totalContractPrice">
-            <ws-input
-              v-model="deptBudgetList.totalContractPrice"
-              maxlength="100"
-              placeholder="请输入货源详细地址"
-              size="small"
-            />
+          <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
+          <ws-form-item label="交货地所在地区" span="1" prop="placeDelivery">
+            <!-- <el-cascader
               :options="options_"
               v-model="selectedOptions1"
               clearable
@@ -299,42 +201,24 @@
               placeholder="请选择交货地所在地区"
               style="width: 200%"
               @change="handleChange1"
-            />
+            /> -->
+             <el-button @click="mapInputClick('deliveryProv')" class="address-btn">
+                          {{ newSelectedOptions1 }}
+                        </el-button>
           </ws-form-item>
           <!-- 交货地详细地址 -->
-          <ws-form-item
-            label="交货地详细地址"
-            span="1"
-            prop="totalContractPrice"
-          >
-            <ws-input
-              v-model="deptBudgetList.totalContractPrice"
-              maxlength="100"
-              placeholder="请输入交货地详细地址"
-              size="small"
-            />
+          <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-date-picker v-model="deptBudgetList.signingDate" type="date" placeholder="请选择合同签订日期"
+              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 label="最终实际交易量(吨)" span="1" prop="totalContractPrice">
+            <ws-input v-model="deptBudgetList.finalTradingVolume" maxlength="100" placeholder="请输入最终实际交易量"
+              size="small" />
           </ws-form-item>
         </ws-info-table>
       </ws-form>
@@ -344,11 +228,7 @@
       <h3>货物信息</h3>
     </div>
     <div class="center">
-      <ws-form
-        ref="deptBudgetList"
-        :rules="ruleDeptBudget"
-        :model="deptBudgetList"
-      >
+      <ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
         <!--货物信息-->
         <ws-info-table>
           <!--货名-->
@@ -361,12 +241,8 @@
 
           <!--水分(%)<=-->
           <ws-form-item label="水分(%)<=" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.waterContent"
-              placeholder="请输入水分(%)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractGoodsInfo.waterContent" placeholder="请输入水分(%)" maxlength="100"
+              size="small" />
           </ws-form-item>
 
           <!--品级-->
@@ -379,51 +255,31 @@
 
           <!--杂质(%)<=-->
           <ws-form-item label="杂质(%)<=" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.impurity"
-              placeholder="请输入杂质(%)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractGoodsInfo.impurity" placeholder="请输入杂质(%)" maxlength="100"
+              size="small" />
           </ws-form-item>
 
           <!--容重(克/升)>=-->
           <ws-form-item label="容重(克/升)>=" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.bulkDensity"
-              placeholder="请输入容重(克/升)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractGoodsInfo.bulkDensity" placeholder="请输入容重(克/升)" maxlength="100"
+              size="small" />
           </ws-form-item>
 
           <!--霉变粒(%)<=-->
           <ws-form-item label="霉变粒(%)<=" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.mildewGrain"
-              placeholder="请输入霉变粒(%)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractGoodsInfo.mildewGrain" placeholder="请输入霉变粒(%)" maxlength="100"
+              size="small" />
           </ws-form-item>
 
           <!--热损伤(%)<=-->
           <ws-form-item label="热损伤(%)<=" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.jiaorenli"
-              placeholder="请输入热损伤(%)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractGoodsInfo.jiaorenli" placeholder="请输入热损伤(%)" maxlength="100"
+              size="small" />
           </ws-form-item>
           <!--不完善粒(%)<=-->
           <ws-form-item label="不完善粒(%)<=" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.imperfectGrain"
-              placeholder="请输入不完善粒(%)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractGoodsInfo.imperfectGrain" placeholder="请输入不完善粒(%)" maxlength="100"
+              size="small" />
           </ws-form-item>
         </ws-info-table>
       </ws-form>
@@ -432,76 +288,44 @@
       <h3>流程信息</h3>
     </div>
     <div class="center">
-      <ws-form
-        ref="deptBudgetList"
-        :rules="ruleDeptBudget"
-        :model="deptBudgetList"
-      >
+      <ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
         <!--流程信息-->
 
         <ws-info-table>
           <!--合同收入(元)-->
           <ws-form-item label="合同收入(元)" span="1" prop="goodsNameKey">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.goodsNameKey"
-              placeholder="请输入合同收入(元)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractProcessInfo.goodsNameKey" placeholder="请输入合同收入(元)" maxlength="100"
+              size="small" />
           </ws-form-item>
 
           <!--已开发票(元)-->
           <ws-form-item label="已开发票(元)" span="1" prop="goodsName">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.goodsName"
-              placeholder="请输入已开发票(元))"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractProcessInfo.goodsName" placeholder="请输入已开发票(元))" maxlength="100"
+              size="small" />
           </ws-form-item>
 
           <!--费用支出(元)-->
           <ws-form-item label="费用支出(元)" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.waterContent"
-              placeholder="请输入费用支出(元)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractProcessInfo.waterContent" placeholder="请输入费用支出(元)" maxlength="100"
+              size="small" />
           </ws-form-item>
 
           <!--未开发票(元)-->
           <ws-form-item label="未开发票(元)" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.impurity"
-              placeholder="请输入未开发票(元)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractProcessInfo.impurity" placeholder="请输入未开发票(元)" maxlength="100"
+              size="small" />
           </ws-form-item>
           <!--未回款(元)-->
           <ws-form-item label="未回款(元)" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.mildewGrain"
-              placeholder="请输入未回款(元)"
-              maxlength="100"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.contractProcessInfo.mildewGrain" placeholder="请输入未回款(元)" maxlength="100"
+              size="small" />
           </ws-form-item>
           <!--双章原件回收情况-->
           <ws-form-item label="双章原件回收情况" span="1" prop="grade">
-            <ws-select
-              v-model="deptBudgetList.contractProcessInfo.grade"
-              placeholder=""
-              class="typeselect"
-              @change="selectpackingMethod"
-            >
-              <ws-option
-                v-for="item in ChapterTwoList"
-                :key="item.constKey"
-                :label="item.constValue"
-                :value="item.constValue"
-              />
+            <ws-select v-model="deptBudgetList.contractProcessInfo.grade" placeholder="" class="typeselect"
+              @change="selectpackingMethod">
+              <ws-option v-for="item in ChapterTwoList" :key="item.constKey" :label="item.constValue"
+                :value="item.constValue" />
             </ws-select>
           </ws-form-item>
         </ws-info-table>
@@ -512,1193 +336,1301 @@
       <h3>备注信息</h3>
     </div>
     <div class="center">
-      <ws-form
-        ref="deptBudgetList"
-        :rules="ruleDeptBudget"
-        :model="deptBudgetList"
-      >
+      <ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
         <!--备注信息-->
-        <ws-input
-          v-model="deptBudgetList.remarks"
-          type="textarea"
-          row="3"
-          placeholder="请输入备注信息,不超过200字"
-          maxlength="200"
-        />
-        <ws-upload
-        ref="upload"
-        :comp-id="compId"
-        :appendix-ids="deptBudgetList.addressUrl"
-        :size-limit="size"
-        @onChange="onChange"
-        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
-      />
+        <ws-input v-model="deptBudgetList.remarks" type="textarea" row="3" placeholder="请输入备注信息,不超过200字"
+          maxlength="200" />
+        <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :size-limit="size"
+          @onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
       </ws-form>
     </div>
+    <div v-if="dialogVisible" class="map">
+      <map-drag @marker="marker" :isShowaddress="true" v-on:addressListen="getAddress" :type="type">
+      </map-drag>
+    </div>
     <div style="text-align: right; padding: 10px" class="center">
-      <el-button class="bg-bottom" type="primary" size="small" @click="submit()"
-        >提交</el-button
-      >
+      <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 WsUpload from '@/components/WsUpload'
-import {
-  examineList,
-  editInfo,
-  packList,
-  xiala,
-  addxiala,
-  editxiala,
-  delxiala,
-  getRelationContractNo,
-} from '@/model/contarct/index'
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-  },
-  watch: {
-    vesselId(val) {
-      this.loaddata()
+  import {
+    regionData,
+    CodeToText,
+    TextToCode
+  } from 'element-china-area-data'
+  import WsUpload from '@/components/WsUpload'
+  import mapDrag from '@/components/mapdrag/mapdrag'
+  import {
+    examineList,
+    editInfo,
+    packList,
+    xiala,
+    addxiala,
+    editxiala,
+    delxiala,
+    getRelationContractNo,
+  } from '@/model/contarct/index'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      mapDrag
     },
-    isShow(val) {
-      this.showType = val
-    },
-  },
-  data() {
-    return {
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      // 提交类型
-      submitType: true,
-      options_: regionData,
-      selectedOptions: [],
-      selectedOptions1: [],
-      tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
-        },
+    watch: {
+      vesselId(val) {
+        this.loaddata()
       },
-      selectunitList: {},
-      uploadSuccess: {},
-      selectgrade: {},
-      goodnameList: {},
-      selectpackingMethod: {},
-      unitList: {},
-      packtypeList: [],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      appendixIdsAdd: '',
-      size: 10,
-      deptBudgetList: {
-        contractGoodsInfo: {
-          goodsName: '',
-        },
-        contractProcessInfo: {},
+      isShow(val) {
+        this.showType = val
       },
-      ruleDeptBudget: {},
-      trainingMethods: {},
-      isEdited: false,
-      registered: {},
-      selectCrtDuty: {},
-      dutyList: {},
-      sexList: {},
-      selectDuty: {},
-      gradeList: {},
-      ChapterTwoList: {},
-      selectIntendedShip: {},
-      interviewTypeList: {},
-    }
-  },
-  activated() {
-    //cg.viewBudget
-    //cg.viewSpareMoney
-    // this.getVesselData();
-    this.loaddata()
-    this.editInfo()
-    this.showType = this.isShow
-    // console.log(this.$route.params)
-    this.showType = this.isShow
-  },
-  methods: {
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    returnsales() {
-      this.deptBudgetList = {}
-      this.$router.push({ path: 'salesContract' })
     },
-    handleChange(value) {
-      this.selectedOptions = value
-    },
-    handleChange1(value) {
-      this.selectedOptions1 = value
+    data() {
+      return {
+        type: '',
+        dialogVisible: false,
+        newSelectedOptions1: '请选择交货所在地区',
+        newSelectedOptions: '请选择货源所在地',
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        // 提交类型
+        submitType: true,
+        options_: regionData,
+        selectedOptions: [],
+        selectedOptions1: [],
+        tableData: [{
+          date: 1111,
+          name: 'qqqq',
+          address: 'errrtt'
+        }],
+        pickerBeginDateBefore: {
+          disabledDate: (time) => {
+            return time.getTime() > Date.now()
+          },
+        },
+        selectunitList: {},
+        uploadSuccess: {},
+        selectgrade: {},
+        goodnameList: {},
+        selectpackingMethod: {},
+        unitList: {},
+        packtypeList: [],
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        appendixIdsAdd: '',
+        size: 10,
+        deptBudgetList: {
+          contractGoodsInfo: {
+            goodsName: '',
+          },
+          contractProcessInfo: {},
+          sourceGoods:'',
+          placeDelivery:'',
+        },
+        ruleDeptBudget: {},
+        trainingMethods: {},
+        isEdited: false,
+        registered: {},
+        selectCrtDuty: {},
+        dutyList: {},
+        sexList: {},
+        selectDuty: {},
+        gradeList: {},
+        ChapterTwoList: {},
+        selectIntendedShip: {},
+        interviewTypeList: {},
+      }
     },
-      // 上传附件
-    onChange() {
-      this.$refs.upload
-        .handleSaveBill()
-        .then(async response => {
-          this.deptBudgetList.addressUrl = response
-        })
-        .catch(res => {
-          EventBus.$emit('error', (JSON.parse(res) || {}).message)
-          this.$refs.upload.clearFiles()
-        })
+    activated() {
+      //cg.viewBudget
+      //cg.viewSpareMoney
+      // this.getVesselData();
+      this.loaddata()
+      this.editInfo()
+      this.showType = this.isShow
+      // console.log(this.$route.params)
+      this.showType = this.isShow
     },
-    loaddata() {
-      // 数据
-      examineList({ id: this.$route.query.id })
-        .toPromise()
-        .then((response) => {
-          var tmp = []
-          tmp[0] = TextToCode[response.sourceProvince].code
-          tmp[1] = TextToCode[response.sourceProvince][response.sourceCity].code
-          if (tmp[0] == 810000 || tmp[0] == 820000) {
-            tmp[2] = null
-          } else {
-            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
-          if (tmp1[0] == 810000 || tmp1[0] == 820000) {
-            tmp1[2] = null
-          } else {
-            tmp1[2] =
-              TextToCode[response.deliveryProvince][response.deliveryCity][
-                response.deliveryArea
-              ].code
-          }
-
-          this.selectedOptions1 = tmp1
-          this.deptBudgetList = response
-          if (this.deptBudgetList.deliverType == 1) {
-            this.deptBudgetList.deliverType1 = '我方送货'
-          } else if (this.deptBudgetList.deliverType == 2) {
-            this.deptBudgetList.deliverType1 = '对方自提'
-          }
-          if (this.deptBudgetList.agreementType == 1) {
-            this.deptBudgetList.agreementType1 = '销售合同'
-          } else if (this.deptBudgetList.agreementType == 2) {
-            this.deptBudgetList.agreementType1 = '补充协议'
-          }
-        })
-      // 包装方式
-      packList({ constId: 'CON1' })
-        .toPromise()
-        .then((response) => {
-          this.packtypeList = response
-        })
-      // 验收方式
-      this.getUnitList()
-      // 货名
-      packList({ constId: 'CON2' })
-        .toPromise()
-        .then((response) => {
-          this.goodnameList = response
-        })
-      // 品级
-      packList({ constId: 'CON3' })
-        .toPromise()
-        .then((response) => {
-          this.gradeList = response
-        })
-      // 双章
-      packList({ constId: 'CON4' })
-        .toPromise()
-        .then((response) => {
-          this.ChapterTwoList = response
+    methods: {
+      marker(item) {
+        this.deptBudgetList.warehousePositioning =
+          item.lnglat.lat + ',' + item.lnglat.lng
+      },
+      getAddress(data) {
+        console.log('getAddress', data)
+        if (data[4] == 'source') {
+          this.newSelectedOptions = data[0] + '/' + data[1] + '/' + data[2]
+          this.deptBudgetList.sourceProvince = data[0]
+          this.deptBudgetList.sourceCity = data[1]
+          this.deptBudgetList.sourceArea = data[2]
+          this.deptBudgetList.sourceGoods = data[3]
+        } else {
+          this.newSelectedOptions1 = data[0] + '/' + data[1] + '/' + data[2]
+          this.deptBudgetList.deliveryProvince = data[0]
+          this.deptBudgetList.deliveryCity = data[1]
+          this.deptBudgetList.deliveryArea = data[2]
+          this.deptBudgetList.placeDelivery = data[3]
+        }
+      },
+      mapInputClick(type) {
+        this.dialogVisible = true
+        this.type = type
+      },
+      blurMap() {
+        this.dialogVisible = false
+      },
+      focusMap() {
+        this.dialogVisible = true
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      returnsales() {
+        this.deptBudgetList = {}
+        this.$router.push({
+          path: 'salesContract'
         })
-    },
+      },
+      handleChange(value) {
+        this.selectedOptions = value
+      },
+      handleChange1(value) {
+        this.selectedOptions1 = value
+      },
+      // 上传附件
+      onChange() {
+        this.$refs.upload
+          .handleSaveBill()
+          .then(async response => {
+            this.deptBudgetList.addressUrl = response
+          })
+          .catch(res => {
+            EventBus.$emit('error', (JSON.parse(res) || {}).message)
+            this.$refs.upload.clearFiles()
+          })
+      },
+      loaddata() {
+        // 数据
+        examineList({
+            id: this.$route.query.id
+          })
+          .toPromise()
+          .then((response) => {
+            var tmp = []
+            tmp[0] = TextToCode[response.sourceProvince].code
+            tmp[1] = TextToCode[response.sourceProvince][response.sourceCity].code
+            if (tmp[0] == 810000 || tmp[0] == 820000) {
+              tmp[2] = null
+            } else {
+              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
+            if (tmp1[0] == 810000 || tmp1[0] == 820000) {
+              tmp1[2] = null
+            } else {
+              tmp1[2] =
+                TextToCode[response.deliveryProvince][response.deliveryCity][
+                  response.deliveryArea
+                ].code
+            }
 
-    getUnitList() {
-      xiala({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: 'TYPEYAN',
-      })
-        .toPromise()
-        .then((response) => {
-          this.unitList = response
-          let currItem
-          this.unitList.forEach((item, index, arr) => {
-            item.flag = 'delete'
-            if (this.vModel == item.constKey) {
-              currItem = item
+            this.selectedOptions1 = tmp1
+            this.deptBudgetList = response
+            if (this.deptBudgetList.deliverType == 1) {
+              this.deptBudgetList.deliverType1 = '我方送货'
+            } else if (this.deptBudgetList.deliverType == 2) {
+              this.deptBudgetList.deliverType1 = '对方自提'
+            }
+            if (this.deptBudgetList.agreementType == 1) {
+              this.deptBudgetList.agreementType1 = '销售合同'
+            } else if (this.deptBudgetList.agreementType == 2) {
+              this.deptBudgetList.agreementType1 = '补充协议'
             }
           })
-          if (currItem) {
-            this.selectContract(currItem.constValue)
-          }
-        })
-    },
-    // 编辑
-    editClick(item, index) {
-      const map = JSON.parse(JSON.stringify(item))
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        map.flag = 'check'
-        this.$set(this.unitList, index, map)
-      } else {
-        map.flag = 'delete'
-        this.$set(this.unitList, index, map)
-      }
-    },
-    // 删除
-    deleteClick(item, index) {
-      if (Object.is(item.constKey, 1)) {
-        return
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      delxiala({ id: this.unitList[index].id })
-        .toPromise()
-        .then((response) => {
-          this.getUnitList()
-          this.pleaseChoose = ''
-        })
-    },
-    saveClick(item, index) {
-      //  console.log(item)
+        // 包装方式
+        packList({
+            constId: 'CON1'
+          })
+          .toPromise()
+          .then((response) => {
+            this.packtypeList = response
+          })
+        // 验收方式
+        this.getUnitList()
+        // 货名
+        packList({
+            constId: 'CON2'
+          })
+          .toPromise()
+          .then((response) => {
+            this.goodnameList = response
+          })
+        // 品级
+        packList({
+            constId: 'CON3'
+          })
+          .toPromise()
+          .then((response) => {
+            this.gradeList = response
+          })
+        // 双章
+        packList({
+            constId: 'CON4'
+          })
+          .toPromise()
+          .then((response) => {
+            this.ChapterTwoList = response
+          })
+      },
 
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        this.$set(this.unitList, index, { flag: 'check' })
-      } else {
-        this.$set(this.unitList, index, { flag: 'delete' })
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      if (item.flag == 'add') {
-        item.constKey = Math.random() * 20
-        this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
-        this.trainingMethods.constKey = item.constKey
-        this.trainingMethods.constCode = 'TYPEYAN'
-        this.trainingMethods.constValue = item.constValue
-        this.trainingMethods.id = item.id
-        addxiala(this.trainingMethods)
+      getUnitList() {
+        xiala({
+            compId: sessionStorage.getItem('ws-pf_compId'),
+            constCode: 'TYPEYAN',
+          })
           .toPromise()
           .then((response) => {
-            this.getUnitList()
+            this.unitList = response
+            let currItem
+            this.unitList.forEach((item, index, arr) => {
+              item.flag = 'delete'
+              if (this.vModel == item.constKey) {
+                currItem = item
+              }
+            })
+            if (currItem) {
+              this.selectContract(currItem.constValue)
+            }
+          })
+      },
+      // 编辑
+      editClick(item, index) {
+        const map = JSON.parse(JSON.stringify(item))
+        if (Object.is(item.id, 1)) {
+          return
+        }
+        if (Object.is(this.unitList[index].flag, 'delete')) {
+          map.flag = 'check'
+          this.$set(this.unitList, index, map)
+        } else {
+          map.flag = 'delete'
+          this.$set(this.unitList, index, map)
+        }
+      },
+      // 删除
+      deleteClick(item, index) {
+        if (Object.is(item.constKey, 1)) {
+          return
+        }
+        if (!item.constValue) {
+          this.unitList.splice(index, 1)
+          return
+        }
+        delxiala({
+            id: this.unitList[index].id
           })
-      } else if (item.flag == 'check') {
-        this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
-        this.trainingMethods.constKey = item.constKey
-        this.trainingMethods.constCode = 'TYPEYAN'
-        this.trainingMethods.constValue = item.constValue
-        this.trainingMethods.id = item.id
-        editxiala(this.trainingMethods)
           .toPromise()
           .then((response) => {
             this.getUnitList()
+            this.pleaseChoose = ''
           })
-      }
-    },
-    addClick() {
-      this.unitList.push({
-        flag: 'add',
-        constValue: '',
-        constKey: '',
-      })
-    },
-    submit() {
-      if (!this.deptBudgetList.contractNo) {
-        this.$message({
-          message: '合同编号不能为空',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractNo.length < 6 ||
-        this.deptBudgetList.contractNo.length > 50
-      ) {
-        this.$message({
-          message: '合同编号长度不符合要求,请输入6到50个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.shippingType) {
-        this.$message({
-          message: '运输方式不能为空',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.shippingType.length < 1 ||
-        this.deptBudgetList.shippingType.length > 20
-      ) {
-        this.$message({
-          message: '运输方式长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyer) {
-        this.$message({
-          message: '买方名称不能为空',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.buyer.length > 30) {
-        this.$message({
-          message: '买方名称长度不符合要求,请输入30个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.settlementMethod) {
-        this.$message({
-          message: '结算方式不能为空',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.settlementMethod.length < 1 ||
-        this.deptBudgetList.settlementMethod.length > 20
-      ) {
-        this.$message({
-          message: '结算方式长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.seller) {
-        this.$message({
-          message: '请输入卖方名称!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.seller.length > 30) {
-        this.$message({
-          message: '卖方名称长度不符合要求,请输入30个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyerPhone) {
-        this.$message({
-          message: '请输入买方电话!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.buyerPhone)) {
-        this.$message({
-          message: '输入买方电话有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyerPhone.length < 7 ||
-        this.deptBudgetList.buyerPhone.length > 20
-      ) {
-        this.$message({
-          message: '买方电话长度不符合要求,请输入7到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.sellerPhone) {
-        this.$message({
-          message: '请输入卖方电话!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.sellerPhone)) {
-        this.$message({
-          message: '输入卖方电话有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.sellerPhone.length < 7 ||
-        this.deptBudgetList.sellerPhone.length > 20
-      ) {
-        this.$message({
-          message: '卖方电话长度不符合要求,请输入7到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.acceptanceMethod) {
-        this.$message({
-          message: '请选择验收方式',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.weight) {
-        this.$message({
-          message: '请输入重量!',
-          type: 'warning',
+      },
+      saveClick(item, index) {
+        //  console.log(item)
+
+        if (Object.is(item.id, 1)) {
+          return
+        }
+        if (Object.is(this.unitList[index].flag, 'delete')) {
+          this.$set(this.unitList, index, {
+            flag: 'check'
+          })
+        } else {
+          this.$set(this.unitList, index, {
+            flag: 'delete'
+          })
+        }
+        if (!item.constValue) {
+          this.unitList.splice(index, 1)
+          return
+        }
+        if (item.flag == 'add') {
+          item.constKey = Math.random() * 20
+          this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
+          this.trainingMethods.constKey = item.constKey
+          this.trainingMethods.constCode = 'TYPEYAN'
+          this.trainingMethods.constValue = item.constValue
+          this.trainingMethods.id = item.id
+          addxiala(this.trainingMethods)
+            .toPromise()
+            .then((response) => {
+              this.getUnitList()
+            })
+        } else if (item.flag == 'check') {
+          this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
+          this.trainingMethods.constKey = item.constKey
+          this.trainingMethods.constCode = 'TYPEYAN'
+          this.trainingMethods.constValue = item.constValue
+          this.trainingMethods.id = item.id
+          editxiala(this.trainingMethods)
+            .toPromise()
+            .then((response) => {
+              this.getUnitList()
+            })
+        }
+      },
+      addClick() {
+        this.unitList.push({
+          flag: 'add',
+          constValue: '',
+          constKey: '',
         })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.weight) ||
-        (String(this.deptBudgetList.weight).indexOf('.') != -1 &&
-          String(this.deptBudgetList.weight).length -
+      },
+      submit() {
+        if (!this.deptBudgetList.contractNo) {
+          this.$message({
+            message: '合同编号不能为空',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractNo.length < 6 ||
+          this.deptBudgetList.contractNo.length > 50
+        ) {
+          this.$message({
+            message: '合同编号长度不符合要求,请输入6到50个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.shippingType) {
+          this.$message({
+            message: '运输方式不能为空',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.shippingType.length < 1 ||
+          this.deptBudgetList.shippingType.length > 20
+        ) {
+          this.$message({
+            message: '运输方式长度不符合要求,请输入1到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.buyer) {
+          this.$message({
+            message: '买方名称不能为空',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.deptBudgetList.buyer.length > 30) {
+          this.$message({
+            message: '买方名称长度不符合要求,请输入30个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.settlementMethod) {
+          this.$message({
+            message: '结算方式不能为空',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.settlementMethod.length < 1 ||
+          this.deptBudgetList.settlementMethod.length > 20
+        ) {
+          this.$message({
+            message: '结算方式长度不符合要求,请输入1到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.seller) {
+          this.$message({
+            message: '请输入卖方名称!',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.deptBudgetList.seller.length > 30) {
+          this.$message({
+            message: '卖方名称长度不符合要求,请输入30个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.buyerPhone) {
+          this.$message({
+            message: '请输入买方电话!',
+            type: 'warning',
+          })
+          return
+        }
+        if (isNaN(this.deptBudgetList.buyerPhone)) {
+          this.$message({
+            message: '输入买方电话有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.buyerPhone.length < 7 ||
+          this.deptBudgetList.buyerPhone.length > 20
+        ) {
+          this.$message({
+            message: '买方电话长度不符合要求,请输入7到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.sellerPhone) {
+          this.$message({
+            message: '请输入卖方电话!',
+            type: 'warning',
+          })
+          return
+        }
+        if (isNaN(this.deptBudgetList.sellerPhone)) {
+          this.$message({
+            message: '输入卖方电话有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.sellerPhone.length < 7 ||
+          this.deptBudgetList.sellerPhone.length > 20
+        ) {
+          this.$message({
+            message: '卖方电话长度不符合要求,请输入7到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.acceptanceMethod) {
+          this.$message({
+            message: '请选择验收方式',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.weight) {
+          this.$message({
+            message: '请输入重量!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.weight) ||
+          (String(this.deptBudgetList.weight).indexOf('.') != -1 &&
+            String(this.deptBudgetList.weight).length -
             (String(this.deptBudgetList.weight).indexOf('.') + 1) >
             3) ||
-        this.deptBudgetList.weight < 0 ||
-        this.deptBudgetList.weight > 200000
-      ) {
-        this.$message({
-          message: '输入重量有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateStart) {
-        this.$message({
-          message: '请选择交货日期(起)',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.overShort){
-        this.$message({
-          message: '请输入溢短装!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.overShort) ||
-        (String(this.deptBudgetList.overShort).indexOf('.') != -1 &&
-          String(this.deptBudgetList.overShort).length -
+          this.deptBudgetList.weight < 0 ||
+          this.deptBudgetList.weight > 200000
+        ) {
+          this.$message({
+            message: '输入重量有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.deliveryDateStart) {
+          this.$message({
+            message: '请选择交货日期(起)',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.overShort) {
+          this.$message({
+            message: '请输入溢短装!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.overShort) ||
+          (String(this.deptBudgetList.overShort).indexOf('.') != -1 &&
+            String(this.deptBudgetList.overShort).length -
             (String(this.deptBudgetList.overShort).indexOf('.') + 1) >
             2) ||
-        this.deptBudgetList.overShort < 0 ||
-        this.deptBudgetList.overShort > 50
-      ) {
-        this.$message({
-          message: '溢短装输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateEnd) {
-        this.$message({
-          message: '请选择交货日期(止)',
-          type: 'warning',
-        })
-        return
-      }
-       //时间
-      if (
-        new Date(this.deptBudgetList.deliveryDateStart).getTime() >
-        new Date(this.deptBudgetList.deliveryDateEnd).getTime()
-      ) {
-        this.$message({
-          message: '交货日期(止)选择错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.unitContractPrice) {
-        this.$message({
-          message: '请输入合同单价!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.unitContractPrice) ||
-        (String(this.deptBudgetList.unitContractPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.unitContractPrice).length -
+          this.deptBudgetList.overShort < 0 ||
+          this.deptBudgetList.overShort > 50
+        ) {
+          this.$message({
+            message: '溢短装输入有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.deliveryDateEnd) {
+          this.$message({
+            message: '请选择交货日期(止)',
+            type: 'warning',
+          })
+          return
+        }
+        //时间
+        if (
+          new Date(this.deptBudgetList.deliveryDateStart).getTime() >
+          new Date(this.deptBudgetList.deliveryDateEnd).getTime()
+        ) {
+          this.$message({
+            message: '交货日期(止)选择错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.unitContractPrice) {
+          this.$message({
+            message: '请输入合同单价!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.unitContractPrice) ||
+          (String(this.deptBudgetList.unitContractPrice).indexOf('.') != -1 &&
+            String(this.deptBudgetList.unitContractPrice).length -
             (String(this.deptBudgetList.unitContractPrice).indexOf('.') + 1) >
             2) ||
-        this.deptBudgetList.unitContractPrice <= 0 ||
-        this.deptBudgetList.unitContractPrice > 10000
-      ) {
-        this.$message({
-          message: '合同单价输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.totalContractPrice) {
-        this.$message({
-          message: '请输入合同总价!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.totalContractPrice) ||
-        (String(this.deptBudgetList.totalContractPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.totalContractPrice).length -
+          this.deptBudgetList.unitContractPrice <= 0 ||
+          this.deptBudgetList.unitContractPrice > 10000
+        ) {
+          this.$message({
+            message: '合同单价输入有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.totalContractPrice) {
+          this.$message({
+            message: '请输入合同总价!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.totalContractPrice) ||
+          (String(this.deptBudgetList.totalContractPrice).indexOf('.') != -1 &&
+            String(this.deptBudgetList.totalContractPrice).length -
             (String(this.deptBudgetList.totalContractPrice).indexOf('.') + 1) >
             2) ||
-        this.deptBudgetList.totalContractPrice <= 0 ||
-        this.deptBudgetList.totalContractPrice > 1000000000
-      ) {
-        this.$message({
-          message: '合同总价输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.selectedOptions.length == 0) {
-        this.$message({
-          message: '请选择货源所在地区!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.sourceGoods) {
-        this.$message({
-          message: '请输入货源详细地址!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.selectedOptions1.length == 0) {
-        this.$message({
-          message: '请选择交货所在地区!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.placeDelivery) {
-        this.$message({
-          message: '请输入交货详细地址!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.signingDate) {
-        this.$message({
-          message: '请选择签订日期',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.finalTradingVolume) ||
-        (String(this.deptBudgetList.finalTradingVolume).indexOf('.') != -1 &&
-          String(this.deptBudgetList.finalTradingVolume).length -
+          this.deptBudgetList.totalContractPrice <= 0 ||
+          this.deptBudgetList.totalContractPrice > 1000000000
+        ) {
+          this.$message({
+            message: '合同总价输入有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.newSelectedOptions) {
+          this.$message({
+            message: '请选择货源所在地区!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.sourceGoods) {
+          this.$message({
+            message: '请输入货源详细地址!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.newSelectedOptions1) {
+          this.$message({
+            message: '请选择交货所在地区!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.placeDelivery) {
+          this.$message({
+            message: '请输入交货详细地址!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.signingDate) {
+          this.$message({
+            message: '请选择签订日期',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.finalTradingVolume) ||
+          (String(this.deptBudgetList.finalTradingVolume).indexOf('.') != -1 &&
+            String(this.deptBudgetList.finalTradingVolume).length -
             (String(this.deptBudgetList.finalTradingVolume).indexOf('.') + 1) >
             3) ||
-        this.deptBudgetList.finalTradingVolume < 0 ||
-        this.deptBudgetList.finalTradingVolume > 200000
-      ) {
-        this.$message({
-          message: '最终实际成交量有误!',
-          type: 'warning',
-        })
-        return
-      }
-      //货物信息
-      if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
-        this.$message({
-          message: '请选择货名',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.waterContent) {
-        this.$message({
-          message: '请输入水分',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractGoodsInfo.waterContent &&
-        String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') != -1 &&
-        String(this.deptBudgetList.contractGoodsInfo.waterContent).length -
+          this.deptBudgetList.finalTradingVolume < 0 ||
+          this.deptBudgetList.finalTradingVolume > 200000
+        ) {
+          this.$message({
+            message: '最终实际成交量有误!',
+            type: 'warning',
+          })
+          return
+        }
+        //货物信息
+        if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
+          this.$message({
+            message: '请选择货名',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.waterContent) {
+          this.$message({
+            message: '请输入水分',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractGoodsInfo.waterContent &&
+          String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') != -1 &&
+          String(this.deptBudgetList.contractGoodsInfo.waterContent).length -
           (String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') + 1) >
-          2||this.deptBudgetList.contractGoodsInfo.waterContent>40||this.deptBudgetList.contractGoodsInfo.waterContent<0
-      ) {
-        this.$message({
-          message: '水分输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.grade) {
-        this.$message({
-          message: '请选择品级',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.impurity) {
-        this.$message({
-          message: '请输入杂质',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractGoodsInfo.impurity &&
-        String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') != -1 &&
-        String(this.deptBudgetList.contractGoodsInfo.impurity).length -
+          2 || this.deptBudgetList.contractGoodsInfo.waterContent > 40 || this.deptBudgetList.contractGoodsInfo
+          .waterContent < 0
+        ) {
+          this.$message({
+            message: '水分输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.grade) {
+          this.$message({
+            message: '请选择品级',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.impurity) {
+          this.$message({
+            message: '请输入杂质',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractGoodsInfo.impurity &&
+          String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') != -1 &&
+          String(this.deptBudgetList.contractGoodsInfo.impurity).length -
           (String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') + 1) >
-          2||this.deptBudgetList.contractGoodsInfo.impurity>40||this.deptBudgetList.contractGoodsInfo.impurity<0
-      ) {
-        this.$message({
-          message: '杂质输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.bulkDensity) {
-        this.$message({
-          message: '请输入容重',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractGoodsInfo.bulkDensity &&
-          String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.bulkDensity).length -
+          2 || this.deptBudgetList.contractGoodsInfo.impurity > 40 || this.deptBudgetList.contractGoodsInfo.impurity < 0
+        ) {
+          this.$message({
+            message: '杂质输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.bulkDensity) {
+          this.$message({
+            message: '请输入容重',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.deptBudgetList.contractGoodsInfo.bulkDensity &&
+            String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') != -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.bulkDensity).length -
             (String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') + 1) >
-            2) || this.deptBudgetList.contractGoodsInfo.bulkDensity > 1000 || this.deptBudgetList.contractGoodsInfo.bulkDensity < 0
-      ) {
-        this.$message({
-          message: '容重输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.mildewGrain) {
-        this.$message({
-          message: '请输入霉变粒',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.mildewGrain ||
-        (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.mildewGrain).length -
-            (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
+            2) || this.deptBudgetList.contractGoodsInfo.bulkDensity > 1000 || this.deptBudgetList.contractGoodsInfo
+          .bulkDensity < 0
+        ) {
+          this.$message({
+            message: '容重输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.mildewGrain) {
+          this.$message({
+            message: '请输入霉变粒',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          !this.deptBudgetList.contractGoodsInfo.mildewGrain ||
+          (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
               '.'
-            ) +
+            ) != -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.mildewGrain).length -
+            (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
+                '.'
+              ) +
               1) >
-            2||this.deptBudgetList.contractGoodsInfo.mildewGrain>40||this.deptBudgetList.contractGoodsInfo.mildewGrain<0)
-      ) {
-        this.$message({
-          message: '霉变粒输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.jiaorenli) {
-        this.$message({
-          message: '请输入热损伤',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.jiaorenli ||
-        (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf('.') !=
-          -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.jiaorenli).length -
+            2 || this.deptBudgetList.contractGoodsInfo.mildewGrain > 40 || this.deptBudgetList.contractGoodsInfo
+            .mildewGrain < 0)
+        ) {
+          this.$message({
+            message: '霉变粒输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.jiaorenli) {
+          this.$message({
+            message: '请输入热损伤',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          !this.deptBudgetList.contractGoodsInfo.jiaorenli ||
+          (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf('.') !=
+            -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.jiaorenli).length -
             (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf(
-              '.'
-            ) +
+                '.'
+              ) +
               1) >
-            2||this.deptBudgetList.contractGoodsInfo.jiaorenli>40||this.deptBudgetList.contractGoodsInfo.jiaorenli<0)
-      ) {
-        this.$message({
-          message: '热损伤输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.imperfectGrain) {
-        this.$message({
-          message: '请输入不完善粒',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.imperfectGrain ||
-        (String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).length -
+            2 || this.deptBudgetList.contractGoodsInfo.jiaorenli > 40 || this.deptBudgetList.contractGoodsInfo
+            .jiaorenli < 0)
+        ) {
+          this.$message({
+            message: '热损伤输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.imperfectGrain) {
+          this.$message({
+            message: '请输入不完善粒',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          !this.deptBudgetList.contractGoodsInfo.imperfectGrain ||
+          (String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).length -
             (String(
-              this.deptBudgetList.contractGoodsInfo.imperfectGrain
-            ).indexOf('.') +
+                this.deptBudgetList.contractGoodsInfo.imperfectGrain
+              ).indexOf('.') +
               1) >
-            2||this.deptBudgetList.contractGoodsInfo.imperfectGrain>40||this.deptBudgetList.contractGoodsInfo.imperfectGrain<0)
-      ) {
-        this.$message({
-          message: '不完善粒输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (!this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000) ||
+            2 || this.deptBudgetList.contractGoodsInfo.imperfectGrain > 40 || this.deptBudgetList.contractGoodsInfo
+            .imperfectGrain < 0)
+        ) {
+          this.$message({
+            message: '不完善粒输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (!this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000) ||
           (this.deptBudgetList.contractProcessInfo.goodsNameKey < 100) ||
-        (String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
+          (String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
             (String(
-              this.deptBudgetList.contractProcessInfo.goodsNameKey
-            ).indexOf('.') +
+                this.deptBudgetList.contractProcessInfo.goodsNameKey
+              ).indexOf('.') +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '合同收入金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractProcessInfo.waterContent > 10000000) ||
+        ) {
+          this.$message({
+            message: '合同收入金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.deptBudgetList.contractProcessInfo.waterContent > 10000000) ||
           (this.deptBudgetList.contractProcessInfo.waterContent < 0) ||
-        (String(this.deptBudgetList.contractProcessInfo.waterContent).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.waterContent).length -
+          (String(this.deptBudgetList.contractProcessInfo.waterContent).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.waterContent).length -
             (String(
-              this.deptBudgetList.contractProcessInfo.waterContent
-            ).indexOf('.') +
+                this.deptBudgetList.contractProcessInfo.waterContent
+              ).indexOf('.') +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '费用支出输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractProcessInfo.goodsName > 1000000000) |
+        ) {
+          this.$message({
+            message: '费用支出输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.deptBudgetList.contractProcessInfo.goodsName > 1000000000) |
           (this.deptBudgetList.contractProcessInfo.goodsName < 0) ||
-        (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.goodsName).length -
-            (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
+          (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
               '.'
-            ) +
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.goodsName).length -
+            (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
+                '.'
+              ) +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '已开发票金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractProcessInfo.impurity > 1000000000) |
+        ) {
+          this.$message({
+            message: '已开发票金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.deptBudgetList.contractProcessInfo.impurity > 1000000000) |
           (this.deptBudgetList.contractProcessInfo.impurity < 0) ||
-        (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.impurity).length -
-            (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
+          (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
               '.'
-            ) +
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.impurity).length -
+            (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
+                '.'
+              ) +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '未开发票金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (!this.deptBudgetList.contractProcessInfo.mildewGrain > 1000000000) |
+        ) {
+          this.$message({
+            message: '未开发票金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (!this.deptBudgetList.contractProcessInfo.mildewGrain > 1000000000) |
           (this.deptBudgetList.contractProcessInfo.mildewGrain < 0) ||
-        (String(this.deptBudgetList.contractProcessInfo.mildewGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
+          (String(this.deptBudgetList.contractProcessInfo.mildewGrain).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
             (String(
-              this.deptBudgetList.contractProcessInfo.mildewGrain
-            ).indexOf('.') +
+                this.deptBudgetList.contractProcessInfo.mildewGrain
+              ).indexOf('.') +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '未回款金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      this.$confirm(`确定提交本次修改?`, {
-        cancelButtonText: '取消',
-        confirmButtonText: '确定',
-        type: 'warning'
-      })
-      .then(() => {
-      this.$refs.deptBudgetList.validate((valid) => {
-        if (valid) {
-          this.deptBudgetList.sourceProvince =
-            CodeToText[this.selectedOptions[0]]
-          this.deptBudgetList.sourceCity = CodeToText[this.selectedOptions[1]]
-
-          this.deptBudgetList.deliveryProvince =
-            CodeToText[this.selectedOptions1[0]]
-          this.deptBudgetList.deliveryCity =
-            CodeToText[this.selectedOptions1[1]]
-
-          this.deptBudgetList.compId = this.compId
-          this.deptBudgetList.contractType = 1
-
-          if (
-            this.deptBudgetList.deliveryProvince == '澳门特别行政区' ||
-            this.deptBudgetList.deliveryProvince == '澳门特别行政区'
-          ) {
-            this.deptBudgetList.deliveryArea = '特别行政区'
-          } else {
-            this.deptBudgetList.deliveryArea =
-              CodeToText[this.selectedOptions1[2]]
-          }
-          if (
-            this.deptBudgetList.sourceProvince == '澳门特别行政区' ||
-            this.deptBudgetList.sourceProvince == '澳门特别行政区'
-          ) {
-            this.deptBudgetList.sourceArea = '特别行政区'
-          } else {
-            this.deptBudgetList.sourceArea = CodeToText[this.selectedOptions[2]]
-          }
-          editInfo(this.deptBudgetList)
-            .toPromise()
-            .then((response) => {
-              this.$message.success('编辑成功')
-              this.deptBudgetList = {}
-              this.$router.push({ path: 'salesContract' })
-            })
-        } else {
-          EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-          return false
+        ) {
+          this.$message({
+            message: '未回款金额输入错误',
+            type: 'warning',
+          })
+          return
         }
-      })
-      })
-    },
-    editInfo() {
-      editInfo({})
+        this.$confirm(`确定提交本次修改?`, {
+            cancelButtonText: '取消',
+            confirmButtonText: '确定',
+            type: 'warning'
+          })
+          .then(() => {
+            this.$refs.deptBudgetList.validate((valid) => {
+              if (valid) {
+                this.deptBudgetList.compId = this.compId
+                this.deptBudgetList.contractType = 1
+                editInfo(this.deptBudgetList)
+                  .toPromise()
+                  .then((response) => {
+                    this.$message.success('编辑成功')
+                    this.deptBudgetList = {}
+                    this.$router.push({
+                      path: 'salesContract'
+                    })
+                  })
+              } else {
+                EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+                return false
+              }
+            })
+          })
+      },
+      editInfo() {
+        editInfo({})
+      },
+      // getList(){}
     },
-    // getList(){}
-  },
-}
+  }
 </script>
 
 <style lang="scss" scoped>
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid #cdd2dc;
-  border-bottom: 1px solid #cdd2dc;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-.readonly {
-  position: relative;
-}
-.readonly:after {
-  content: '*';
-  color: #ff2727;
-  position: absolute;
-  right: 8px;
-  z-index: 10;
-  top: 21%;
-  font-size: 20px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid #cdd2dc;
-  background: #fafbfc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 140px;
-  text-align: center;
-  background: #f0f2f6;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid #cdd2dc;
+    border-bottom: 1px solid #cdd2dc;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid #cdd2dc;
+    background: #fafbfc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 140px;
+    text-align: center;
+    background: #f0f2f6;
+    // border: 1px solid #cdd2dc;
+  }
+
+  .button-container {
     display: flex;
     flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
+    justify-content: space-between;
+    align-items: center;
+    background-color: #fff;
+    width: 100%;
+    height: 50px;
+    padding: 0 10px;
 
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
+    &>div {
+      margin-left: 10px;
+      display: flex;
+      flex-wrap: nowrap;
+      flex-direction: row;
+
+      &>span {
+        line-height: 50px;
+      }
     }
-    &/deep/.auditFlow-main {
-      position: absolute;
+
+    /deep/.auditFlow-box {
+      position: unset;
+      margin-left: 10px;
+
+      &/deep/.auditFlow-icon {
+        width: auto;
+        padding-right: 30px;
+      }
+
+      &/deep/.auditFlow-main {
+        position: absolute;
+      }
     }
   }
-}
-.box-app {
-  display: inline-block;
-
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
+
+  .box-app {
+    display: inline-block;
+
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
       }
     }
   }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding: 10px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 6px 0px;
-}
-.wenzi {
-  width: 70%;
-  margin: 0 auto;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 30px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.center {
-  width: 70%;
-  margin: 0 auto;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
+
+  .collapse-bottom {
+    margin-bottom: 20px;
   }
-  .el-icon-arrow-up {
-    display: none;
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
+  }
+
+  .bg-left {
+    padding-left: 30px;
   }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
+
+  .bg-right {
+    padding: 10px;
+    text-align: right;
   }
-  .el-date-editor {
-    i {
-      display: none;
-    }
+
+  .bg-bottom {
+    margin: 6px 0px;
   }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
+
+  .wenzi {
+    width: 70%;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 30px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    width: 70%;
+    margin: 0 auto;
+  }
+
+  .el-form-item {
+    width: 50%;
+  }
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  .hide-sel {
     .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
+      border: 0px;
     }
+
+    .el-icon-arrow-up {
+      display: none;
+    }
+
     .el-textarea__inner {
       background-color: #fff !important;
       border: 0;
+    }
+
+    .el-date-editor {
+      i {
+        display: none;
+      }
+    }
+
+    .is-disabled {
+      .el-input__inner:hover {
+        background-color: #fff !important;
+        border: 0;
+      }
+
       color: #606266;
+
+      .el-input__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
+
+      .el-textarea__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
     }
   }
-}
 
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
     padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
   }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
+
+  /deep/.is-disabled {
+    .el-input__prefix,
+    .el-input__suffix {
+      display: none;
+    }
+
+    .el-input__inner {
+      background-color: #fff;
+      border-color: #fff !important;
+      color: #000 !important;
+      font-size: 14px;
+      cursor: text;
+      padding: 0 !important;
+    }
   }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
+
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
+
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  //*号
+  .unchangeable {
+    position: absolute;
+    width: 9px;
+    height: 22px;
+    font-size: 16px;
+    font-family: PingFangSC-Medium, PingFang SC;
+    font-weight: 500;
+    color: #ff2727;
+    line-height: 22px;
+    display: inline-block;
+    right: 14px;
+  }
+
+  /deep/.el-input,
+  /deep/.el-date-editor {
+    font-size: 13px;
+  }
+
+  /deep/.el-textarea {
+    width: 101%;
+    margin: 0px;
+  }
+
+  /deep/el-date-editor--date {
+    width: 200px;
+  }
+
+  .unchanged {
+    position: absolute;
+    left: 37px;
+    width: 102px;
+    height: 14px;
     font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
+    font-weight: 400;
+    color: #afb5cb;
+    line-height: 14px;
+  }
+
+  /deep/.el-input--small .el-input__inner {
+    height: 32px;
+    line-height: 32px;
   }
-}
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-
-//*号
-.unchangeable {
-  position: absolute;
-  width: 9px;
-  height: 22px;
-  font-size: 16px;
-  font-family: PingFangSC-Medium, PingFang SC;
-  font-weight: 500;
-  color: #ff2727;
-  line-height: 22px;
-  display: inline-block;
-  right: 14px;
-}
-/deep/.el-input,
-/deep/.el-date-editor {
-  font-size: 13px;
-}
-/deep/.el-textarea {
-  width: 101%;
-  margin: 0px;
-}
-/deep/el-date-editor--date {
-  width: 200px;
-}
-.unchanged {
-  position: absolute;
-  left: 37px;
-  width: 102px;
-  height: 14px;
-  font-size: 14px;
-  font-weight: 400;
-  color: #afb5cb;
-  line-height: 14px;
-}
-/deep/.el-input--small .el-input__inner {
-  height: 32px;
-  line-height: 32px;
-}
-/deep/.el-form-item.is-success .el-input__inner,
-/deep/.el-cascader .el-input .el-input__inner,
-/deep/.el-textarea__inner {
-  color: #8890b1;
-}
-.addressUrls {
-  width: 100%;
-  display: flex;
-  margin-top: 10px;
-}
-.addressUrls-item {
-  position: relative;
-  display: flex;
-}
-.icon-guanbi {
-  position: absolute;
-  right: 8px;
-}
-.addressUrl {
-  margin: 0px 10px;
-  border-radius: 3px;
-}
-//上传文件成功标识
-/deep/.el-upload-list__item-status-label {
+
+  /deep/.el-form-item.is-success .el-input__inner,
+  /deep/.el-cascader .el-input .el-input__inner,
+  /deep/.el-textarea__inner {
+    color: #8890b1;
+  }
+
+  .addressUrls {
+    width: 100%;
+    display: flex;
+    margin-top: 10px;
+  }
+
+  .addressUrls-item {
+    position: relative;
+    display: flex;
+  }
+
+  .icon-guanbi {
+    position: absolute;
+    right: 8px;
+  }
+
+  .addressUrl {
+    margin: 0px 10px;
+    border-radius: 3px;
+  }
+
+  //上传文件成功标识
+  /deep/.el-upload-list__item-status-label {
     position: absolute;
     right: 22px;
     top: -1px;
     line-height: inherit;
     display: none;
-}
-</style>
+  }
+
+  .map {
+    position: fixed;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    right: 0;
+    margin: auto;
+    width: 800px;
+    height: 400px;
+    background: gainsboro;
+    border-radius: 20px;
+    padding: 10px;
+    box-sizing: border-box;
+    z-index: 99;
+  }
+
+  .amap-container {
+    width: 100% !important;
+  }
+
+  .address-btn {
+    width: 100%;
+    text-align: left;
+  }
+</style>

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

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

+ 362 - 391
src/views/houseSelfCollect/inspectionManagement.vue

@@ -1,415 +1,386 @@
 <!--质检管理-->
 <template>
-  <div>
-    <BaseHeaderLayout :leftSpan="16">
-      <template slot="left">
-        <ws-button type="primary" @click="inspectInfo(1)" v-hasPermission="`acquisitionManagement.acquisitionQuality.add`">添加</ws-button>
-      </template>
-      <template slot="right">
-        <ws-select
-          v-model="warehouseName"
-          placeholder=""
-          @change="warehouseNameChange"
-          :value="searchType"
-          style="margin: 0 10px"
-        >
-          <ws-option
-            v-for="item in warehouseList"
-            :key="item.value"
-            :label="item.value"
-            :value="item.value"
-            style="color: #8890b1"
-          />
-        </ws-select>
-        <div></div>
-        <ws-input
-          v-model="searchKeyWord"
-          placeholder="可按编号、客户名、车牌号查找"
-          clearable
-          maxlength="500"
-          type="input"
-        >
-        </ws-input>
-        <ws-button class="find" type="primary" @click="find()"
-          ><img
-            width="16"
-            height="16"
-            style="
+	<div>
+		<BaseHeaderLayout :leftSpan="16">
+			<template slot="left">
+				<ws-button type="primary" @click="inspectInfo(1)"
+					v-hasPermission="`acquisitionManagement.acquisitionQuality.add`">添加</ws-button>
+			</template>
+			<template slot="right">
+				<ws-select v-model="warehouseName" placeholder="" @change="warehouseNameChange" :value="searchType"
+					style="margin: 0 10px">
+					<ws-option v-for="item in warehouseList" :key="item.value" :label="item.value" :value="item.value"
+						style="color: #8890b1" />
+				</ws-select>
+				<div></div>
+				<ws-input v-model="searchKeyWord" placeholder="可按编号、客户名、车牌号查找" clearable maxlength="500" type="input">
+				</ws-input>
+				<ws-button class="find" type="primary" @click="find()"><img width="16" height="16" style="
               vertical-align: text-top;
               position: relative;
               top: 0px;
               
-            "
-            src="../../../public/img/sousuo.png"
-            alt=""
-        /></ws-button>
-      </template>
-    </BaseHeaderLayout>
-    <el-table
-      :data="inspect"
-      style="width: 100%; margin-top: 20px"
-      ref="inspect"
-      border
-      height="780"
-    >
-      <el-table-column type="index" label="序号" width="50">
-        <template scope="scope">
-          <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
-          <span v-else>{{ scope.$index + 1 }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column
-        prop="qualityNo"
-        width="120"
-        label="编号"
-      ></el-table-column>
-      <el-table-column prop="customerName" label="客户"></el-table-column>
-      <el-table-column prop="carNumber" label="车牌号"></el-table-column>
-      <el-table-column prop="goodsName" label="货名"></el-table-column>
-      <el-table-column prop="waterContent" label="水分(%)" width="120">
-        <template scope="scope">
-          <span class="water-left">{{scope.row.waterContent}}</span> 
-          <span class="water-line">|</span> 
-          <span class="water-right">{{scope.row.reWaterContent ? scope.row.reWaterContent : '未复检' }}</span> 
-        </template>
-      </el-table-column>
-       <el-table-column prop="buckleMiscellaneous" label="扣杂"  width="120">
-         <template scope="scope">
-           <div v-if="scope.row.paramType == 1">
-           <span class="water-left">{{scope.row.buckleMiscellaneous}} </span> 
-          <span class="water-line">|</span> 
-          <span class="water-right">{{scope.row.reBuckleMiscellaneous ? scope.row.reBuckleMiscellaneous : '未复检'}}</span> 
-         </div>
-        </template>
-       </el-table-column>
-       <el-table-column prop="type" label="类型"></el-table-column>
-      <el-table-column
-        prop="tidalGrainPrice"
-        label="单价(元/公斤)"
-        width="120px"
-      >
-      <template scope="scope">
-          <span v-if="scope.row.type == '潮粮'">{{ scope.row.tidalGrainPrice }}</span>
-          <span v-else>{{ scope.row.dryGrainPrice }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="binNumber" label="仓位号"></el-table-column>
-      <el-table-column prop="storageTagNo" label="囤位号"></el-table-column>
-      <el-table-column prop="qualityInspector" label="质检员" width="100px">
-          <template scope="scope">
-            <span>{{scope.row.qualityInspector}}</span>
-            <span v-if="scope.row.reInspector && scope.row.qualityInspector != scope.row.reInspector">,{{scope.row.reInspector}}</span>
-          </template>
+            " src="../../../public/img/sousuo.png" alt="" /></ws-button>
+			</template>
+		</BaseHeaderLayout>
+		<el-table :data="inspect" style="width: 100%; margin-top: 20px" ref="inspect" border height="780">
+			<el-table-column type="index" label="序号" width="50">
+				<template scope="scope">
+					<span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+					<span v-else>{{ scope.$index + 1 }}</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="qualityNo" width="100" label="编号"></el-table-column>
+			<el-table-column prop="customerName" label="客户"></el-table-column>
+			<el-table-column prop="carNumber" label="车牌号"></el-table-column>
+			<el-table-column prop="goodsName" label="货名"></el-table-column>
+			<el-table-column prop="waterContent" label="水分(%)" width="120">
+				<template scope="scope">
+					<span class="water-left">{{scope.row.waterContent}}</span>
+					<span class="water-line">|</span>
+					<span class="water-right">{{scope.row.reWaterContent ? scope.row.reWaterContent : '未复检' }}</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="buckleMiscellaneous" label="扣杂" width="120">
+				<template scope="scope">
+					<div v-if="scope.row.paramType == 1">
+						<span class="water-left">{{scope.row.buckleMiscellaneous}} </span>
+						<span class="water-line">|</span>
+						<span
+							class="water-right">{{scope.row.reBuckleMiscellaneous ? scope.row.reBuckleMiscellaneous : '未复检'}}</span>
+					</div>
+				</template>
+			</el-table-column>
+			<el-table-column prop="type" label="类型"></el-table-column>
+			<el-table-column prop="tidalGrainPrice" label="单价(元/公斤)" width="120px">
+				<template scope="scope">
+					<span v-if="scope.row.type == '潮粮'">{{ scope.row.tidalGrainPrice }}</span>
+					<span v-else>{{ scope.row.dryGrainPrice }}</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="binNumber" label="仓位号"></el-table-column>
+			<el-table-column prop="storageTagNo" label="囤位号"></el-table-column>
+			<el-table-column prop="qualityInspector" label="质检员" width="120px">
+				<template scope="scope">
+					<span>{{scope.row.qualityInspector}}</span>
+					<span
+						v-if="scope.row.reInspector && scope.row.qualityInspector != scope.row.reInspector">,{{scope.row.reInspector}}</span>
+				</template>
 
 
 
-      </el-table-column>
-      <el-table-column prop="updateDate" label="质检时间"  width="90px"></el-table-column>
-      <el-table-column prop="status" label="状态">
-        <template slot-scope="scope">
-          <span v-if='scope.row.confirm=="1"'>
-            已确认
-          </span>
-          <span v-else>
-            {{scope.row.status}}
-          </span>
-          </template>
-      </el-table-column>
-      <el-table-column width="500" label="操作">
-        <template slot-scope="scope">
-           <el-button @click="inspectInfo(scope.row, 2)" v-hasPermission="`acquisitionManagement.acquisitionQuality.view`">查看</el-button>
-          <el-button @click="inspectInfo(scope.row, 3)" v-if="scope.row.status=='已初检'&& scope.row.confirm!='1'" v-hasPermission="`acquisitionManagement.acquisitionQuality.initial`">初检</el-button>
-          <div v-show="scope.row.confirm !='1' && scope.row.status == '已复检'" style="display: inline-block;">
-           <el-button @click="inspectInfo(scope.row, 5)" v-hasPermission="`acquisitionManagement.acquisitionQuality.con`">确认</el-button></div>
-           <el-button @click="inspectInfo(scope.row, 4)" v-if="scope.row.confirm !='1'" v-hasPermission="`acquisitionManagement.acquisitionQuality.again`">复检</el-button>
-          <div  style="display: inline-block;" v-if="scope.row.weighingManagement&&scope.row.weighingManagement.status=='已质检'">
-            <el-button @click="del(scope.row)" type="danger" v-hasPermission="`acquisitionManagement.acquisitionQuality.delete`">删除</el-button>
-          </div>
-          <el-button @click="print(scope.row)" v-hasPermission="`acquisitionManagement.acquisitionQuality.print`">打印</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-     <el-dialog
-      width="70%"
-      class="table-content"
-      center
-      :visible.sync="isShowPrint"
-      title="粮食质检单"
-    >
-    <!-- <inspectInfoPrint :printData="printData"></inspectInfoPrint> -->
-    <inspectInfoPrint :printData="printData" ref="saveImg"></inspectInfoPrint>
-    <div style="text-align:center">
-          <el-button type="primary" @click="closePrint">关闭</el-button>
-          <el-button type="primary" @click="printSmall">打印小票</el-button>
-          <el-button type="primary" @click="printBig">打印单据</el-button>
-        </div>
-    </el-dialog>
-    <div style="text-align: center">
-      <el-pagination
-        @size-change="handleSizeChange"
-        @current-change="handleCurrentChange"
-        :current-page="currentPage"
-        :page-size="deptCircularPage.pageSize"
-        layout="total, sizes, prev, pager, next, jumper"
-        :total="deptBudgetTotal"
-      >
-      </el-pagination>
-    </div>
-  </div>
+			</el-table-column>
+			<el-table-column prop="updateDate" label="质检时间" width="90px"></el-table-column>
+			<el-table-column prop="status" label="状态">
+				<template slot-scope="scope">
+					<span v-if='scope.row.confirm=="1"'>
+						已确认
+					</span>
+					<span v-else>
+						{{scope.row.status}}
+					</span>
+				</template>
+			</el-table-column>
+			<el-table-column width="410" label="操作">
+				<template slot-scope="scope">
+					<el-button @click="inspectInfo(scope.row, 2)"
+						v-hasPermission="`acquisitionManagement.acquisitionQuality.view`">查看</el-button>
+					<el-button @click="inspectInfo(scope.row, 3)"
+						v-if="scope.row.status=='已初检'&& scope.row.confirm!='1'"
+						v-hasPermission="`acquisitionManagement.acquisitionQuality.initial`">初检</el-button>
+					<div v-show="scope.row.confirm !='1' && scope.row.status == '已复检'" style="display: inline-block;">
+						<el-button @click="inspectInfo(scope.row, 5)"
+							v-hasPermission="`acquisitionManagement.acquisitionQuality.con`">确认</el-button>
+					</div>
+					<el-button @click="inspectInfo(scope.row, 4)" v-if="scope.row.confirm !='1'"
+						v-hasPermission="`acquisitionManagement.acquisitionQuality.again`">复检</el-button>
+					<div style="display: inline-block;"
+						v-if="scope.row.weighingManagement&&scope.row.weighingManagement.status=='已质检'">
+						<el-button @click="del(scope.row)" type="danger"
+							v-hasPermission="`acquisitionManagement.acquisitionQuality.delete`">删除</el-button>
+					</div>
+					<el-button @click="print(scope.row)"
+						v-hasPermission="`acquisitionManagement.acquisitionQuality.print`">打印</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		 <el-dialog width="70%" class="table-content" center :visible.sync="isShowPrint" title="粮食质检单">
+			<!-- <inspectInfoPrint :printData="printData"></inspectInfoPrint> -->
+			<inspectInfoPrint :printData="printData" ref="saveImg"></inspectInfoPrint>
+			<div style="text-align:center">
+				<el-button type="primary" @click="closePrint">关闭</el-button>
+				<el-button type="primary" @click="printSmall">打印小票</el-button>
+				<el-button type="primary" @click="printBig">打印单据</el-button>
+			</div>
+		</el-dialog>
+		<div style="text-align: center">
+			<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
+				:current-page="currentPage" :page-size="deptCircularPage.pageSize"
+				layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal">
+			</el-pagination>
+		</div>
+	</div>
 </template>
 <script>
-import {
-  selectWarehouseSelf,
-  getinspectList,
-  getinspectDelete,
-  getinspectLook,
-} from '@/model/houseSelfCollect/index'
-import inspectInfoPrint from './component/inspectInfoPrint.vue'
-export default {
-  components: {inspectInfoPrint},
-  watch: {},
-  data() {
-    return {
-      //分页
-      currentPage: 1,
-      pageSize: 10,
-      deptCircularPage: {},
-      deptBudgetTotal: 0,
+	import {
+		selectWarehouseSelf,
+		getinspectList,
+		getinspectDelete,
+		getinspectLook,
+	} from '@/model/houseSelfCollect/index'
+	import inspectInfoPrint from './component/inspectInfoPrint.vue'
+	export default {
+		components: {
+			inspectInfoPrint
+		},
+		watch: {},
+		data() {
+			return {
+				//分页
+				currentPage: 1,
+				pageSize: 10,
+				deptCircularPage: {},
+				deptBudgetTotal: 0,
 
-      searchKeyWord: '',
-      taskTypeList: [],
-      searchType: 0,
-      warehouseName: '',
-      inspect: [],
-      warehouseList1:[],
-      warehouseList: [],
-      cangid: '', //仓库id
-      warehouseCount: '',
-      warehouseNo: '',
-      isShowPrint: false,
-      printData: {},
-      deductWeight:'',//扣重比
-      saleLimit:''
-    }
-  },
-  activated() {
-    this.selectWarehouse()
-  },
-  methods: {
-    printSmall() {
-      window.open('../../../static/inspection.html?type=1&dataList=' +JSON.stringify(this.printData))
-      },
-      printBig() {
-         window.open('../../../static/inspection.html?type=2&dataList=' +JSON.stringify(this.printData))
-      },
-     closePrint(){
-        this.isShowPrint = false
-        this.$router.push({path:'inspectionManagement'})
-      },
-    find() {
-      this.getList()
-    },
-    inspectInfo(row, index) {
-      for(let i = 0 ; i < this.warehouseList.length ; i++){
-        if(this.WAREHOUSE[1].payname == this.warehouseList[i].value){
-          this.cangid = this.warehouseList[i].id
-        }
-      }
-      //添加,编辑,查看
-      this.$router.push({
-        path: 'inspectInfo',
-        query: {
-          type: index,
-          cangid: this.cangid,
-          id: row.id,
-          warehouseName: this.warehouseName,
-          count: this.warehouseCount,
-          warehouseNo: this.warehouseNo
-        },
-      })
-    },
-    warehouseNameChange(e) {
-      // console.log(e)
-      for(let i = 0 ; i < this.warehouseList.length; i++){
-        if(this.warehouseList[i].value == e){
-           this.warehouseName = this.warehouseList[i].value
-          this.warehouseCount = this.warehouseList[i].count
-          this.warehouseNo = this.warehouseList[i].No
-          this.cangid = this.warehouseList[i].id
-          this.WAREHOUSE[1].payname = this.warehouseList[i].value
-        }
-      }
-      for(let i = 0 ; i < this.warehouseList1.length; i++){
-        if(this.warehouseList1[i].warehouseName == e){
-           sessionStorage.setItem('houseSelfCollect_house',JSON.stringify(this.warehouseList[i]))
-        }
-      }
-      this.getList()
-    },
-    del(row) {
-      //删除
-      this.$confirm('确定删除质检信息?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          getinspectDelete({
-            id: row.id,
-          })
-            .toPromise()
-            .then((response) => {
-              this.$notify.success({
-                title: '成功',
-                message: '删除成功',
-              })
-              this.getList()
-            })
-            .catch((response) => {
-              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-            })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    handleSizeChange(val) {
-      console.log(`每页 ${val} 条`)
-      this.pageSize = val
-      this.getList()
-    },
-    handleCurrentChange(val) {
-      this.currentPage = val
-      console.log(`当前页: ${val}`)
-      this.getList()
-    },
-    selectWarehouse(){
-       selectWarehouseSelf({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-      })
-        .toPromise()
-        .then((response) => {
-          this.warehouseList1=response
-          this.warehouseList = []
-          let _wareHouse = sessionStorage.getItem('houseSelfCollect_house')
-          _wareHouse = JSON.parse(_wareHouse)
-          for (let i = 0; i < response.length; i++) {
-            this.warehouseList.push({
-              value: response[i].warehouseName,
-              id: response[i].id,
-              count: response[i].count,
-              No:response[i].commonWarehouseNo
-            })  
-            if (_wareHouse) {
-            this.cangid = _wareHouse.id
-            this.warehouseName = _wareHouse.warehouseName
-             this.warehouseNo =_wareHouse.commonWarehouseNo
-             this.warehouseCount = _wareHouse.count
-          } else {
-            if (this.cangid&&this.cangid == response[i].id) {
-              this.warehouseName = response[i].warehouseName
-              this.warehouseCount =  response[i].count
-              this.warehouseNo =  response[i].commonWarehouseNo
-            } 
-            if(this.warehouseList.length > 0 && !this.cangid){
-              this.warehouseName = this.warehouseList[0].value
-              this.warehouseCount =  this.warehouseList[0].count
-              this.warehouseNo =  this.warehouseList[0].No
-              this.cangid =  this.warehouseList[0].id
-              this.WAREHOUSE[1].payname = this.warehouseList[0].value
-            }
-          }
-          }
-          this.getList()
-        })
-    },
-    getList() {
-      getinspectList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        currentPage: this.currentPage,
-        pageSize: this.pageSize,
-        searchKeyWord: (this.searchKeyWord).toUpperCase(),
-        warehouseName: this.warehouseName,
-        managementType:1
-      })
-        .toPromise()
-        .then((response) => {
-          console.log(response)
-          this.inspect = response.records
-          this.deptBudgetTotal = response.total
-        })
-    },
-    print(row) {
-      
-      getinspectLook({
-        id: row.id,
-      })
-        .toPromise()
-        .then((response) => {
-          this.isShowPrint = true
-          this.printData = response
-          // window.location.href="../../../static/inspection.html?dataList="+JSON.stringify(response)
-        })
-    },
-  },
-}
+				searchKeyWord: '',
+				taskTypeList: [],
+				searchType: 0,
+				warehouseName: '',
+				inspect: [],
+				warehouseList1: [],
+				warehouseList: [],
+				cangid: '', //仓库id
+				warehouseCount: '',
+				warehouseNo: '',
+				isShowPrint: false,
+				printData: {},
+				deductWeight: '', //扣重比
+				saleLimit: ''
+			}
+		},
+		activated() {
+			this.selectWarehouse()
+		},
+		methods: {
+			printSmall() {
+				window.open('../../../static/inspection.html?type=1&dataList=' + JSON.stringify(this.printData))
+			},
+			printBig() {
+				window.open('../../../static/inspection.html?type=2&dataList=' + JSON.stringify(this.printData))
+			},
+			closePrint() {
+				this.isShowPrint = false
+				this.$router.push({
+					path: 'inspectionManagement'
+				})
+			},
+			find() {
+				this.getList()
+			},
+			inspectInfo(row, index) {
+				for (let i = 0; i < this.warehouseList.length; i++) {
+					if (this.WAREHOUSE[1].payname == this.warehouseList[i].value) {
+						this.cangid = this.warehouseList[i].id
+					}
+				}
+				//添加,编辑,查看
+				this.$router.push({
+					path: 'inspectInfo',
+					query: {
+						type: index,
+						cangid: this.cangid,
+						id: row.id,
+						warehouseName: this.warehouseName,
+						count: this.warehouseCount,
+						warehouseNo: this.warehouseNo
+					},
+				})
+			},
+			warehouseNameChange(e) {
+				// console.log(e)
+				for (let i = 0; i < this.warehouseList.length; i++) {
+					if (this.warehouseList[i].value == e) {
+						this.warehouseName = this.warehouseList[i].value
+						this.warehouseCount = this.warehouseList[i].count
+						this.warehouseNo = this.warehouseList[i].No
+						this.cangid = this.warehouseList[i].id
+						this.WAREHOUSE[1].payname = this.warehouseList[i].value
+					}
+				}
+				for (let i = 0; i < this.warehouseList1.length; i++) {
+					if (this.warehouseList1[i].warehouseName == e) {
+						sessionStorage.setItem('houseSelfCollect_house', JSON.stringify(this.warehouseList[i]))
+					}
+				}
+				this.getList()
+			},
+			del(row) {
+				//删除
+				this.$confirm('确定删除质检信息?', '提示', {
+						confirmButtonText: '确定',
+						cancelButtonText: '取消',
+						type: 'warning',
+					})
+					.then(() => {
+						getinspectDelete({
+								id: row.id,
+							})
+							.toPromise()
+							.then((response) => {
+								this.$notify.success({
+									title: '成功',
+									message: '删除成功',
+								})
+								this.getList()
+							})
+							.catch((response) => {
+								// EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+							})
+					})
+					.catch(() => {
+						return false
+					})
+			},
+			handleSizeChange(val) {
+				console.log(`每页 ${val} 条`)
+				this.pageSize = val
+				this.getList()
+			},
+			handleCurrentChange(val) {
+				this.currentPage = val
+				console.log(`当前页: ${val}`)
+				this.getList()
+			},
+			selectWarehouse() {
+				selectWarehouseSelf({
+						compId: sessionStorage.getItem('ws-pf_compId'),
+					})
+					.toPromise()
+					.then((response) => {
+						this.warehouseList1 = response
+						this.warehouseList = []
+						let _wareHouse = sessionStorage.getItem('houseSelfCollect_house')
+						_wareHouse = JSON.parse(_wareHouse)
+						for (let i = 0; i < response.length; i++) {
+							this.warehouseList.push({
+								value: response[i].warehouseName,
+								id: response[i].id,
+								count: response[i].count,
+								No: response[i].commonWarehouseNo
+							})
+							if (_wareHouse) {
+								this.cangid = _wareHouse.id
+								this.warehouseName = _wareHouse.warehouseName
+								this.warehouseNo = _wareHouse.commonWarehouseNo
+								this.warehouseCount = _wareHouse.count
+							} else {
+								if (this.cangid && this.cangid == response[i].id) {
+									this.warehouseName = response[i].warehouseName
+									this.warehouseCount = response[i].count
+									this.warehouseNo = response[i].commonWarehouseNo
+								}
+								if (this.warehouseList.length > 0 && !this.cangid) {
+									this.warehouseName = this.warehouseList[0].value
+									this.warehouseCount = this.warehouseList[0].count
+									this.warehouseNo = this.warehouseList[0].No
+									this.cangid = this.warehouseList[0].id
+									this.WAREHOUSE[1].payname = this.warehouseList[0].value
+								}
+							}
+						}
+						this.getList()
+					})
+			},
+			getList() {
+				getinspectList({
+						compId: sessionStorage.getItem('ws-pf_compId'),
+						currentPage: this.currentPage,
+						pageSize: this.pageSize,
+						searchKeyWord: (this.searchKeyWord).toUpperCase(),
+						warehouseName: this.warehouseName,
+						managementType: 1
+					})
+					.toPromise()
+					.then((response) => {
+						console.log(response)
+						this.inspect = response.records
+						this.deptBudgetTotal = response.total
+					})
+			},
+			print(row) {
+
+				getinspectLook({
+						id: row.id,
+					})
+					.toPromise()
+					.then((response) => {
+						this.isShowPrint = true
+						this.printData = response
+						// window.location.href="../../../static/inspection.html?dataList="+JSON.stringify(response)
+					})
+			},
+		},
+	}
 </script>
 <style lang="scss" scoped>
-/deep/.el-dialog__header {
-  text-align: center !important;
-  padding: 10px 0 !important;
-  height: auto !important;
-}
+	/deep/.el-dialog__header {
+		text-align: center !important;
+		padding: 10px 0 !important;
+		height: auto !important;
+	}
+
+	/deep/.el-dialog__title {
+		font-size: 24px !important;
+	}
+
+	.title {
+		font-size: 20px;
+		font-weight: 600;
+		margin: 20px 0 0 20px;
+	}
 
-/deep/.el-dialog__title {
-  font-size: 24px !important;
-}
+	.tit {
+		font-size: 16px;
+		font-weight: 600;
+		margin: 20px;
+	}
 
-.title {
-  font-size: 20px;
-  font-weight: 600;
-  margin: 20px 0 0 20px;
-}
+	.ws-info-table {
+		border: none;
+	}
 
-.tit {
-  font-size: 16px;
-  font-weight: 600;
-  margin: 20px;
-}
+	.ws-info-table .el-form-item {
+		width: 50%;
+		border: none;
+	}
 
-.ws-info-table {
-  border: none;
-}
+	/deep/.ws-info-table .el-form-item .el-form-item__label {
+		width: 30%;
+		text-align: center;
+		background: #ffffff;
+		color: #8890b1;
+	}
 
-.ws-info-table .el-form-item {
-  width: 50%;
-  border: none;
-}
+	/deep/.ws-info-table .el-form-item .el-form-item__content {
+		border: none;
+	}
 
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 30%;
-  text-align: center;
-  background: #ffffff;
-  color: #8890b1;
-}
+	/deep/.el-table .el-table__header .cell,
+	.el-table .el-table__body .cell {
+		text-align: center;
+	}
 
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  border: none;
-}
+	/deep/.el-table--enable-row-transition .el-table__body td {
+		text-align: center;
+	}
 
-/deep/.el-table .el-table__header .cell,
-.el-table .el-table__body .cell {
-  text-align: center;
-}
+	/deep/.el-dialog__body {
+		padding: 20px !important;
+	}
 
-/deep/.el-table--enable-row-transition .el-table__body td {
-  text-align: center;
-}
-/deep/.el-dialog__body {
-  padding: 20px !important;
-}
-.water-left,.water-right{
-  width: 45%;
-  display: inline-block;
-}
+	.water-left,
+	.water-right {
+		width: 45%;
+		display: inline-block;
+	}
 </style>

+ 6 - 6
src/views/houseSelfCollect/paymentManagement.vue

@@ -100,11 +100,11 @@
           <span v-else>{{ scope.$index + 1 }}</span>
         </template>
       </el-table-column>
-      <el-table-column class="table_td" prop="paymentNo" width="150" label="编号"></el-table-column>
+      <el-table-column class="table_td" prop="paymentNo" width="100" label="编号"></el-table-column>
       <el-table-column class="table_td" prop="customerName" label="客户"></el-table-column>
       <el-table-column class="table_td" prop="carNo" label="车牌号"></el-table-column>
-      <el-table-column class="table_td" prop="goodsName" label="货名"></el-table-column>
-      <el-table-column class="table_td" width="80" prop="type" label="类型"></el-table-column>
+      <el-table-column class="table_td" prop="goodsName" width="60" label="货名"></el-table-column>
+      <el-table-column class="table_td" prop="type" width="60" label="类型"></el-table-column>
       <el-table-column class="table_td" prop="tidalGrainPrice" width="140" label="净重单价(元/公斤)"></el-table-column>
       <el-table-column class="table_td" prop="unitDeduction" width="130" label="扣单价(元/公斤)"></el-table-column>
       <el-table-column class="table_td" prop="solidGrainPrice" width="140" label="纯重单价(元/公斤)"></el-table-column>
@@ -116,14 +116,14 @@
           <div @click="showPayImg(scope.row)">{{ scope.row.amountEdPayable }}</div>
         </template>
       </el-table-column>
-      <el-table-column class="table_td" prop="updateDate" label="更新时间" width="140"></el-table-column>
-      <el-table-column class="table_td" prop="status" label="状态">
+      <el-table-column class="table_td" prop="updateDate" label="更新时间" width="90"></el-table-column>
+      <el-table-column class="table_td" prop="status" width="100" label="状态">
         <template scope="scope">
           <span v-if="scope.row.approveStatus">{{ scope.row.approveStatus }}</span>
           <span v-else>{{ scope.row.status }}</span>
         </template>
       </el-table-column>
-      <el-table-column class="table_td" prop="collectionEdPayable" label="操作" width="350">
+      <el-table-column class="table_td" prop="collectionEdPayable" label="操作" width="200">
         <template scope="scope">
           <span v-hasPermission="`acquisitionManagement.acquisitionPay.add`">
             <el-button

+ 389 - 415
src/views/houseSelfCollect/weighingManagement.vue

@@ -1,432 +1,406 @@
 <!--检斤管理-->
 <template>
-  <div>
-    <BaseHeaderLayout :leftSpan="16">
-      <template slot="left"> </template>
-      <template slot="right">
-        <ws-select
-          v-model="warehouseName"
-          placeholder=""
-          @change="warehouseNameChange"
-          :value="searchType"
-          style="margin: 0 10px"
-        >
-          <ws-option
-            v-for="item in warehouseList"
-            :key="item.value"
-            :label="item.value"
-            :value="item.value"
-            style="color: #8890b1"
-          />
-        </ws-select>
-        <div></div>
-        <ws-input
-          v-model="searchKeyWord"
-          placeholder="可按编号、客户名、车牌号查找"
-          clearable
-          maxlength="500"
-          type="input"
-        ></ws-input>
-        <ws-button class="find" type="primary" @click="find()"
-          ><img
-            width="16"
-            height="16"
-            style="
+	<div>
+		<BaseHeaderLayout :leftSpan="16">
+			<template slot="left"> </template>
+			<template slot="right">
+				<ws-select v-model="warehouseName" placeholder="" @change="warehouseNameChange" :value="searchType"
+					style="margin: 0 10px">
+					<ws-option v-for="item in warehouseList" :key="item.value" :label="item.value" :value="item.value"
+						style="color: #8890b1" />
+				</ws-select>
+				<div></div>
+				<ws-input v-model="searchKeyWord" placeholder="可按编号、客户名、车牌号查找" clearable maxlength="500" type="input">
+				</ws-input>
+				<ws-button class="find" type="primary" @click="find()"><img width="16" height="16" style="
               vertical-align: text-top;
               position: relative;
               top: 0px;
-            "
-            src="../../../public/img/sousuo.png"
-            alt=""
-        /></ws-button>
-      </template>
-    </BaseHeaderLayout>
-    <el-table
-      :data="weighingList"
-      style="width: 100%; margin-top: 20px"
-      ref="weighingList"
-      border
-      height="780"
-    >
-      <el-table-column type="index" label="序号" width="50">
-        <template scope="scope">
-          <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
-          <span v-else>{{ scope.$index + 1 }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="number" width="120" label="编号"></el-table-column>
-      <el-table-column prop="customer" label="客户"></el-table-column>
-      <el-table-column prop="carNumber" label="车牌号"></el-table-column>
-      <el-table-column prop="goodsName" label="货名"></el-table-column>
-      <el-table-column prop="type" label="类型"></el-table-column>
-      <el-table-column
-        prop="grossWeight"
-        label="毛重(公斤)"
-      ></el-table-column>
-      <el-table-column prop="tare" label="皮重(公斤)"></el-table-column>
-       <el-table-column prop="buckleMiscellaneous" label="扣杂(公斤)"></el-table-column>
-        <el-table-column prop="netWeight" label="净重(公斤)"></el-table-column>
-      <el-table-column prop="binNumber" label="仓位号"></el-table-column>
-      <el-table-column prop="storageNumber" label="囤位号"></el-table-column>
-      <el-table-column prop="secretaryWeigher" label="司称员">
-       <template slot-scope="scope">
-         <div v-if="scope.row.secretaryWeigher == scope.row.skinInspector">{{scope.row.skinInspector}}</div>
-         <div v-else>{{scope.row.secretaryWeigher}}<span v-if="scope.row.skinInspector">,{{scope.row.skinInspector}}</span></div>
-       </template> 
-      </el-table-column>
-      <el-table-column
-        prop="suqualityTestingDate"
-        label="称重时间"
-      >
-        <template slot-scope="scope">
-          <div
-            v-if="
+            " src="../../../public/img/sousuo.png" alt="" /></ws-button>
+			</template>
+		</BaseHeaderLayout>
+		<el-table :data="weighingList" style="width: 100%; margin-top: 20px" ref="weighingList" border height="780">
+			<el-table-column type="index" label="序号" width="50">
+				<template scope="scope">
+					<span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+					<span v-else>{{ scope.$index + 1 }}</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="number" width="150" label="编号"></el-table-column>
+			<el-table-column prop="customer" label="客户"></el-table-column>
+			<el-table-column prop="carNumber" label="车牌号"></el-table-column>
+			<el-table-column prop="goodsName" label="货名"></el-table-column>
+			<el-table-column prop="type" label="类型"></el-table-column>
+			<el-table-column prop="grossWeight" label="毛重(公斤)"></el-table-column>
+			<el-table-column prop="tare" label="皮重(公斤)"></el-table-column>
+			<el-table-column prop="buckleMiscellaneous" label="扣杂(公斤)"></el-table-column>
+			<el-table-column prop="netWeight" label="净重(公斤)"></el-table-column>
+			<el-table-column prop="binNumber" label="仓位号"></el-table-column>
+			<el-table-column prop="storageNumber" label="囤位号"></el-table-column>
+			<el-table-column prop="secretaryWeigher" label="司称员">
+				<template slot-scope="scope">
+					<div v-if="scope.row.secretaryWeigher == scope.row.skinInspector">{{scope.row.skinInspector}}</div>
+					<div v-else>{{scope.row.secretaryWeigher}}<span
+							v-if="scope.row.skinInspector">,{{scope.row.skinInspector}}</span></div>
+				</template>
+			</el-table-column>
+			<el-table-column prop="suqualityTestingDate" label="称重时间" width="90">
+				<template slot-scope="scope">
+					<div v-if="
               scope.row.status == '已称毛重'
-            "
-            > {{scope.row.grossDate}}</div
-          >
-         <div
-            v-if="
+            "> {{scope.row.grossDate}}</div>
+					<div v-if="
               scope.row.status == '已称皮重'
-            "
-            > {{scope.row.tareDate}}</div
-          >
-        </template></el-table-column>
-      <el-table-column prop="status" label="状态"></el-table-column>
-      <el-table-column width="300" prop="contractNo1" label="操作">
-        <template slot-scope="scope">
-          <el-button @click="weightCheck(scope.row, 1)" v-if=" scope.row.status == '已称毛重' || scope.row.status == '已质检' " v-hasPermission="`acquisitionManagement.acquisitionWeight.mao`" >毛重</el-button >
-          <!-- scope.row.paymentManagement.status == '待结算' && -->
-          <el-button :disabled = "scope.row.allow == 2" @click="weightCheck(scope.row, 2)"  v-if=" (scope.row.status == '已称毛重' || scope.row.status == '已称皮重') " v-hasPermission="`acquisitionManagement.acquisitionWeight.weight`">皮重</el-button>
-          <el-button @click="print(scope.row)" v-if="scope.row.status == '已称皮重' ||scope.row.status == '已称毛重'" v-hasPermission="`acquisitionManagement.acquisitionWeight.print`">打印</el-button >
-        </template>
-      </el-table-column>
-    </el-table>
-    <div style="text-align: center">
-      <el-pagination
-        @size-change="handleSizeChange"
-        @current-change="handleCurrentChange"
-        :current-page="currentPage"
-        :page-size="deptCircularPage.pageSize"
-        layout="total, sizes, prev, pager, next, jumper"
-        :total="deptBudgetTotal"
-      >
-      </el-pagination>
-    </div>
-    <el-dialog
-      width="70%"
-      class="table-content"
-      center
-      :visible.sync="isShowPrint"
-      title="粮食检斤单"
-    >
-      <weightCheckPrint :tableData="dialogData"></weightCheckPrint>
-      <div style="text-align:center">
-      <el-button type="primary" @click="isShowPrint = false">关闭</el-button>
-      <el-button type="primary" @click="printSmall">打印小票</el-button>
-      <el-button type="primary" @click="printBig">打印单据</el-button>
-      </div>
-    </el-dialog>
-  </div>
+            "> {{scope.row.tareDate}}</div>
+				</template>
+			</el-table-column>
+			<el-table-column prop="status" label="状态"></el-table-column>
+			<el-table-column width="300" prop="contractNo1" label="操作">
+				<template slot-scope="scope">
+					<el-button @click="weightCheck(scope.row, 1)"
+						v-if=" scope.row.status == '已称毛重' || scope.row.status == '已质检' "
+						v-hasPermission="`acquisitionManagement.acquisitionWeight.mao`">毛重</el-button>
+					<!-- scope.row.paymentManagement.status == '待结算' && -->
+					<el-button :disabled="scope.row.allow == 2" @click="weightCheck(scope.row, 2)"
+						v-if=" (scope.row.status == '已称毛重' || scope.row.status == '已称皮重') "
+						v-hasPermission="`acquisitionManagement.acquisitionWeight.weight`">皮重</el-button>
+					<el-button @click="print(scope.row)" v-if="scope.row.status == '已称皮重' ||scope.row.status == '已称毛重'"
+						v-hasPermission="`acquisitionManagement.acquisitionWeight.print`">打印</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<div style="text-align: center">
+			<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
+				:current-page="currentPage" :page-size="deptCircularPage.pageSize"
+				layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal">
+			</el-pagination>
+		</div>
+		<el-dialog width="70%" class="table-content" center :visible.sync="isShowPrint" title="粮食检斤单">
+			<weightCheckPrint :tableData="dialogData"></weightCheckPrint>
+			<div style="text-align:center">
+				<el-button type="primary" @click="isShowPrint = false">关闭</el-button>
+				<el-button type="primary" @click="printSmall">打印小票</el-button>
+				<el-button type="primary" @click="printBig">打印单据</el-button>
+			</div>
+		</el-dialog>
+	</div>
 </template>
 <script>
-import {
-  getweighingList,
-  selectWarehouseSelf,
-  getPrint
-} from '@/model/houseSelfCollect/index'
-import weightCheckPrint from './component/weightCheckPrint.vue'
+	import {
+		getweighingList,
+		selectWarehouseSelf,
+		getPrint
+	} from '@/model/houseSelfCollect/index'
+	import weightCheckPrint from './component/weightCheckPrint.vue'
 
-export default {
-  components: {
-    weightCheckPrint
-  },
-  watch: {},
-  data() {
-    return {
-      //分页
-      currentPage: 1,
-      pageSize: 10,
-      deptCircularPage: {},
-      deptBudgetTotal: 0,
-      paymentForm: false,
-      paymentForm1: false,
-      weighingList: [],
-      searchKeyWord: '',
-      searchType: [],
-      warehouseName: '',
-      value1: '', //选择时间
-      warehouseList: [],
-      warehouseId: '',
-      cangid: '',
-      monitorUrl1: '',
-      monitorUrl2: '',
-      isShowPrint:false,//打印弹出
-      dialogData:{
-        qualityInspectionManagement:{},
-      },
-      purchasePriceList:[],
-      allowEdit:'0',
-      disabled:false
-    }
-  },
-  activated() {
-    this.selectWarehouse()
-   
-  },
-  methods: {
-     printSmall() {
-       window.open('../../../../static/weightCheck.html?type=1&tableData=' +JSON.stringify(this.dialogData))
-    },
-    printBig() {
-      window.open( '../../../../static/weightCheck.html?type=2&tableData=' +JSON.stringify(this.dialogData))
-    },
-    print(row) {
-       getPrint({
-      id:row.id
-      })
-        .toPromise()
-        .then((response) => {
-           this.dialogData = response
-           this.isShowPrint = true
-        })
-        .catch((response) => {
-          // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-        })
-    },
-    warehouseNameChange(e) {
-      // this.warehouseName = e
-      for (let i = 0; i < this.warehouseList.length; i++) {
-        if (this.warehouseList[i].value == e) {
-          this.warehouseId = this.warehouseList[i].warehouseId
-          this.cangid = this.warehouseList[i].warehouseId
-          this.allowEdit = this.warehouseList[i].allowEdit
-          this.WAREHOUSE[2].payname = this.warehouseList[i].value
-          this.common.name  =  this.warehouseList[i].value
-          this.monitorUrl1 =  this.warehouseList[i].monitorUrl1
-          this.monitorUrl2 =  this.warehouseList[i].monitorUrl2
-          sessionStorage.setItem('ck',e)
-        }
-      }
+	export default {
+		components: {
+			weightCheckPrint
+		},
+		watch: {},
+		data() {
+			return {
+				//分页
+				currentPage: 1,
+				pageSize: 10,
+				deptCircularPage: {},
+				deptBudgetTotal: 0,
+				paymentForm: false,
+				paymentForm1: false,
+				weighingList: [],
+				searchKeyWord: '',
+				searchType: [],
+				warehouseName: '',
+				value1: '', //选择时间
+				warehouseList: [],
+				warehouseId: '',
+				cangid: '',
+				monitorUrl1: '',
+				monitorUrl2: '',
+				isShowPrint: false, //打印弹出
+				dialogData: {
+					qualityInspectionManagement: {},
+				},
+				purchasePriceList: [],
+				allowEdit: '0',
+				disabled: false
+			}
+		},
+		activated() {
+			this.selectWarehouse()
 
-      this.getList()
-    },
-    weightCheck(row, num) {
-      this.$router.push({
-        path: 'weightCheck',
-        query: {
-          tpyeNo: num,
-          id: row.id,
-          number: row.number,
-          binNumber: row.binNumber,
-          customer: row.customer,
-          storageNumber: row.storageNumber,
-          carNumber: row.carNumber,
-          goodsName: row.goodsName,
-          grossWeight: row.grossWeight,
-          tare: row.tare,
-          netWeight: row.netWeight,
-          relationId: row.relationId,
-          warehouseId: this.warehouseId,
-          monitorUrl1: this.monitorUrl1,
-          monitorUrl2: this.monitorUrl2,
-          allowEdit:this.allowEdit,
-          cangid:this.cangid,
-          paramType:row.qualityInspectionManagement.paramType
-        },
-      })
-    },
-    find() {
-      this.getList()
-    },
-    handleSizeChange(val) {
-      console.log(`每页 ${val} 条`)
-      this.pageSize = val
-      this.getList()
-    },
-    handleCurrentChange(val) {
-      this.currentPage = val
-      console.log(`当前页: ${val}`)
-      this.getList()
-    },
-    selectWarehouse(){
-      let _wareHouse = sessionStorage.getItem('houseSelfCollect_house')
-      _wareHouse = JSON.parse(_wareHouse)
-      selectWarehouseSelf({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-      })
-        .toPromise()
-        .then((response) => {
-          this.warehouseList = []
-          
-          for (let i = 0; i < response.length; i++) {
-            this.warehouseList.push({
-              value: response[i].warehouseName,
-              warehouseId: response[i].id,
-              allowEdit:response[i].allowEdit,
-              monitorUrl1:response[i].monitorUrl1,
-              monitorUrl2:response[i].monitorUrl2
-            })
-             if (_wareHouse) {
-            
-            this.cangid = _wareHouse.id
-            this.warehouseName = _wareHouse.warehouseName
-            this.common.name=_wareHouse.warehouseName
-            this.warehouseId=_wareHouse.id
-            this.warehouseNo =_wareHouse.commonWarehouseNo
-            this.monitorUrl1=_wareHouse.monitorUrl1
-            this.allowEdit = _wareHouse.allowEdit
-            this.monitorUrl2=_wareHouse.monitorUrl2
-          } else {
-            if (this.cangid&&this.cangid == response[i].id) {
-              this.warehouseName = response[i].warehouseName
-              this.allowEdit = response[i].allowEdit
-              this.common.name = response[i].warehouseName
-              this.warehouseId =  response[i].id
-              this.warehouseNo =  response[i].commonWarehouseNo
-              this.monitorUrl1 =  response[i].monitorUrl1
-              this.monitorUrl2 =  response[i].monitorUrl2
-            }
-         
-           if(this.warehouseList.length > 0 && !this.cangid){
-            this.warehouseName = this.warehouseList[0].value
-            this.allowEdit =this.warehouseList[0].allowEdit
-            this.cangid =  this.warehouseList[0].warehouseId
-            this.warehouseId =  this.warehouseList[0].warehouseId
-            this.WAREHOUSE[1].payname = this.warehouseList[0].value
-            this.common.name  =  this.warehouseList[0].value
-            this.monitorUrl1 =  this.warehouseList[0].monitorUrl1
-            this.monitorUrl2 =  this.warehouseList[0].monitorUrl2
-            } 
-          }
-          }
-           sessionStorage.setItem('ck',this.common.name)
-           console.log(this.warehouseList)
-         this.getList()
-        })
-    },
-    getList() {
-        getweighingList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        currentPage: this.currentPage,
-        pageSize: this.pageSize,
-        searchKeyWord: this.searchKeyWord,
-        warehouseName: this.warehouseName,
-        managementType:1
-      })
-        .toPromise()
-        .then((response) => {
-          for(let i = 0 ; i < response.records.length ; i++){
-            if(response.records[i].paymentManagement){
-              if(response.records[i].paymentManagement.approveStatus || response.records[i].paymentManagement.status != '待结算'){
-                  response.records[i].allow = 2
-              }
-            }else{
-              response.records[i].allow = 1
-            }  
-          }
-          this.weighingList = response.records
-          this.common.commonWeighingList  = response.records
-          this.deptBudgetTotal = response.total
-        })
-        .catch((response) => {
-          // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-        })
-    },
-  },
-}
+		},
+		methods: {
+			printSmall() {
+				window.open('../../../../static/weightCheck.html?type=1&tableData=' + JSON.stringify(this.dialogData))
+			},
+			printBig() {
+				window.open('../../../../static/weightCheck.html?type=2&tableData=' + JSON.stringify(this.dialogData))
+			},
+			print(row) {
+				getPrint({
+						id: row.id
+					})
+					.toPromise()
+					.then((response) => {
+						this.dialogData = response
+						this.isShowPrint = true
+					})
+					.catch((response) => {
+						// EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+					})
+			},
+			warehouseNameChange(e) {
+				// this.warehouseName = e
+				for (let i = 0; i < this.warehouseList.length; i++) {
+					if (this.warehouseList[i].value == e) {
+						this.warehouseId = this.warehouseList[i].warehouseId
+						this.cangid = this.warehouseList[i].warehouseId
+						this.allowEdit = this.warehouseList[i].allowEdit
+						this.WAREHOUSE[2].payname = this.warehouseList[i].value
+						this.common.name = this.warehouseList[i].value
+						this.monitorUrl1 = this.warehouseList[i].monitorUrl1
+						this.monitorUrl2 = this.warehouseList[i].monitorUrl2
+						sessionStorage.setItem('ck', e)
+					}
+				}
+
+				this.getList()
+			},
+			weightCheck(row, num) {
+				this.$router.push({
+					path: 'weightCheck',
+					query: {
+						tpyeNo: num,
+						id: row.id,
+						number: row.number,
+						binNumber: row.binNumber,
+						customer: row.customer,
+						storageNumber: row.storageNumber,
+						carNumber: row.carNumber,
+						goodsName: row.goodsName,
+						grossWeight: row.grossWeight,
+						tare: row.tare,
+						netWeight: row.netWeight,
+						relationId: row.relationId,
+						warehouseId: this.warehouseId,
+						monitorUrl1: this.monitorUrl1,
+						monitorUrl2: this.monitorUrl2,
+						allowEdit: this.allowEdit,
+						cangid: this.cangid,
+						paramType: row.qualityInspectionManagement.paramType
+					},
+				})
+			},
+			find() {
+				this.getList()
+			},
+			handleSizeChange(val) {
+				console.log(`每页 ${val} 条`)
+				this.pageSize = val
+				this.getList()
+			},
+			handleCurrentChange(val) {
+				this.currentPage = val
+				console.log(`当前页: ${val}`)
+				this.getList()
+			},
+			selectWarehouse() {
+				let _wareHouse = sessionStorage.getItem('houseSelfCollect_house')
+				_wareHouse = JSON.parse(_wareHouse)
+				selectWarehouseSelf({
+						compId: sessionStorage.getItem('ws-pf_compId'),
+					})
+					.toPromise()
+					.then((response) => {
+						this.warehouseList = []
+
+						for (let i = 0; i < response.length; i++) {
+							this.warehouseList.push({
+								value: response[i].warehouseName,
+								warehouseId: response[i].id,
+								allowEdit: response[i].allowEdit,
+								monitorUrl1: response[i].monitorUrl1,
+								monitorUrl2: response[i].monitorUrl2
+							})
+							if (_wareHouse) {
+
+								this.cangid = _wareHouse.id
+								this.warehouseName = _wareHouse.warehouseName
+								this.common.name = _wareHouse.warehouseName
+								this.warehouseId = _wareHouse.id
+								this.warehouseNo = _wareHouse.commonWarehouseNo
+								this.monitorUrl1 = _wareHouse.monitorUrl1
+								this.allowEdit = _wareHouse.allowEdit
+								this.monitorUrl2 = _wareHouse.monitorUrl2
+							} else {
+								if (this.cangid && this.cangid == response[i].id) {
+									this.warehouseName = response[i].warehouseName
+									this.allowEdit = response[i].allowEdit
+									this.common.name = response[i].warehouseName
+									this.warehouseId = response[i].id
+									this.warehouseNo = response[i].commonWarehouseNo
+									this.monitorUrl1 = response[i].monitorUrl1
+									this.monitorUrl2 = response[i].monitorUrl2
+								}
+
+								if (this.warehouseList.length > 0 && !this.cangid) {
+									this.warehouseName = this.warehouseList[0].value
+									this.allowEdit = this.warehouseList[0].allowEdit
+									this.cangid = this.warehouseList[0].warehouseId
+									this.warehouseId = this.warehouseList[0].warehouseId
+									this.WAREHOUSE[1].payname = this.warehouseList[0].value
+									this.common.name = this.warehouseList[0].value
+									this.monitorUrl1 = this.warehouseList[0].monitorUrl1
+									this.monitorUrl2 = this.warehouseList[0].monitorUrl2
+								}
+							}
+						}
+						sessionStorage.setItem('ck', this.common.name)
+						console.log(this.warehouseList)
+						this.getList()
+					})
+			},
+			getList() {
+				getweighingList({
+						compId: sessionStorage.getItem('ws-pf_compId'),
+						currentPage: this.currentPage,
+						pageSize: this.pageSize,
+						searchKeyWord: this.searchKeyWord,
+						warehouseName: this.warehouseName,
+						managementType: 1
+					})
+					.toPromise()
+					.then((response) => {
+						for (let i = 0; i < response.records.length; i++) {
+							if (response.records[i].paymentManagement) {
+								if (response.records[i].paymentManagement.approveStatus || response.records[i]
+									.paymentManagement.status != '待结算') {
+									response.records[i].allow = 2
+								}
+							} else {
+								response.records[i].allow = 1
+							}
+						}
+						this.weighingList = response.records
+						this.common.commonWeighingList = response.records
+						this.deptBudgetTotal = response.total
+					})
+					.catch((response) => {
+						// EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+					})
+			},
+		},
+	}
 </script>
 <style lang="scss" scoped>
-.title {
-  font-size: 20px;
-  font-weight: 600;
-  margin: 20px;
-}
-.ws-info-table {
-  border: none;
-}
-.ws-info-table .el-form-item {
-  width: 50%;
-  border: none;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 30%;
-  text-align: center;
-  background: #ffffff;
-  color: #8890b1;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  border: none;
-}
-/deep/.el-table .el-table__header .cell,
-.el-table .el-table__body .cell {
-  text-align: center;
-}
-/deep/.el-table--enable-row-transition .el-table__body td {
-  text-align: center;
-}
-.formItem {
-  width: 51% !important;
-}
-/deep/.el-dialog__title {
-  font-size: 24px !important;
-}
-/deep/.el-dialog__header {
-  text-align: center !important;
-  padding: 10px 0 !important;
-  height: auto !important;
-}
-.number {
-  text-align: right;
-  margin: 0 0 10px 0;
-}
-table,
-table tr th,
-table tr td {
-  border: 2px solid #333333;
-  padding: 5px 0;
-}
+	.title {
+		font-size: 20px;
+		font-weight: 600;
+		margin: 20px;
+	}
+
+	.ws-info-table {
+		border: none;
+	}
+
+	.ws-info-table .el-form-item {
+		width: 50%;
+		border: none;
+	}
+
+	/deep/.ws-info-table .el-form-item .el-form-item__label {
+		width: 30%;
+		text-align: center;
+		background: #ffffff;
+		color: #8890b1;
+	}
+
+	/deep/.ws-info-table .el-form-item .el-form-item__content {
+		border: none;
+	}
+
+	/deep/.el-table .el-table__header .cell,
+	.el-table .el-table__body .cell {
+		text-align: center;
+	}
+
+	/deep/.el-table--enable-row-transition .el-table__body td {
+		text-align: center;
+	}
+
+	.formItem {
+		width: 51% !important;
+	}
+
+	/deep/.el-dialog__title {
+		font-size: 24px !important;
+	}
+
+	/deep/.el-dialog__header {
+		text-align: center !important;
+		padding: 10px 0 !important;
+		height: auto !important;
+	}
+
+	.number {
+		text-align: right;
+		margin: 0 0 10px 0;
+	}
+
+	table,
+	table tr th,
+	table tr td {
+		border: 2px solid #333333;
+		padding: 5px 0;
+	}
+
+	table {
+		width: 100%;
+		min-height: 25px;
+		line-height: 25px;
+		text-align: center;
+		border-collapse: collapse;
+		border: 3px solid #333333;
+	}
+
+	.col-bgc {
+		background: #f6f7fb;
+	}
+
+	.bottom-row1 {
+		display: flex;
+		margin: 10px 0;
+	}
+
+	.bottom-row2 {
+		display: flex;
+		margin: 10px 0;
+
+		.left {
+			img {
+				width: 41px;
+				height: 41px;
+				margin-right: 118px;
+			}
+		}
+
+		.config {
+			margin-top: 20px;
+			margin-right: 240px;
+		}
 
-table {
-  width: 100%;
-  min-height: 25px;
-  line-height: 25px;
-  text-align: center;
-  border-collapse: collapse;
-  border: 3px solid #333333;
-}
-.col-bgc {
-  background: #f6f7fb;
-}
-.bottom-row1 {
-  display: flex;
-  margin: 10px 0;
-}
+		.autograph {
+			margin-top: 20px;
+		}
+	}
 
-.bottom-row2 {
-  display: flex;
-  margin: 10px 0;
+	.bottom-row3 {
+		margin: 10px 0;
+	}
 
-  .left {
-    img {
-      width: 41px;
-      height: 41px;
-      margin-right: 118px;
-    }
-  }
-  .config {
-    margin-top: 20px;
-    margin-right: 240px;
-  }
-  .autograph{
-    margin-top: 20px;
-  }
-}
-.bottom-row3 {
-  margin: 10px 0;
-}
-.bottom-row4 {
-  margin-top: 50px;
-  text-align: center;
-}
+	.bottom-row4 {
+		margin-top: 50px;
+		text-align: center;
+	}
 </style>

File diff ditekan karena terlalu besar
+ 715 - 1030
src/views/login/index.vue


+ 1 - 0
src/views/outboundManagement/collectionManagement.vue

@@ -157,6 +157,7 @@
       <el-table-column
         class="table_td"
         prop="collectionDate"
+        width="90"
         label="收款时间"
       ></el-table-column>
       <el-table-column

+ 1 - 1
src/views/outboundManagement/weighingManagement.vue

@@ -39,7 +39,7 @@
 			<el-table-column prop="binNumber" label="仓位号"></el-table-column>
 			<el-table-column prop="storageNumber" label="囤位号"></el-table-column>
 			<el-table-column prop="secretaryWeigher" label="司称员"></el-table-column>
-			<el-table-column prop="grossDate" label="称重时间">
+			<el-table-column prop="grossDate"  width="140" label="称重时间">
 				<template slot-scope="scope">
 					{{scope.row.grossDate}}
 					<span v-if="scope.row.grossDate == null">

+ 37 - 6
src/views/statisticalReport/autoSettlementList.vue

@@ -48,6 +48,13 @@
             @click="handleninvoice"
             >开发票</ws-button
           >
+          <ws-button
+            type="primary"
+            
+            @click="editRecord"
+            >记录</ws-button
+          >
+          <!-- v-hasPermission="`report.transportationReport.payment`" -->
         </el-col>
         <el-col
           style="text-align: right; line-height: 60px; padding-right: 10px"
@@ -386,6 +393,23 @@
         :total="deptBudgetTotal"
       ></el-pagination>
     </el-scrollbar>
+    <!-- 修改结算重量记录 -->
+    <el-dialog
+      width="40%"
+      title="结算重量修改记录"
+      :visible.sync="dialogFormVisible16"
+      :append-to-body="true"
+    >
+      <el-table :data="tranPriceApproveList">
+        <el-table-column prop="result" label="车牌号"> </el-table-column>
+        <el-table-column prop="tranPrice" label="单价(元)">
+        </el-table-column>
+        <el-table-column prop="beforeModification" label="修改前重量(吨)"> </el-table-column>
+        <el-table-column prop="afterModification" label="修改后重量(吨)"> </el-table-column>
+        <el-table-column prop="reviewer" label="修改人"> </el-table-column>
+        <el-table-column prop="createDate" label="修改日期" width="200px"> </el-table-column>
+      </el-table>
+    </el-dialog>
     <!-- 付款 -->
     <el-dialog
       width="25%"
@@ -611,6 +635,7 @@ export default {
       dialogFormVisible7: false,
       dialogFormVisible8: false,
       dialogFormVisible11: false,
+      dialogFormVisible16:false,
       dialogVisible: false,
 
       form: {
@@ -670,6 +695,7 @@ export default {
       deptCircularPage: {},
       warehouseList: [],
       orderList: {},
+      tranPriceApproveList:[],
       deptBudgetList: {},
       id: '',
 
@@ -1020,9 +1046,11 @@ export default {
         })
         return
       }
+      this.reviewer = sessionStorage.getItem('ws-pf_roleName') +sessionStorage.getItem('ws-pf_staffName')
       editauto({
         settlementWeight: Math.abs(this.settlementWeight),
         id: item.id,
+        reviewer:this.reviewer,
         flag: 0,
       })
         .toPromise()
@@ -1188,6 +1216,10 @@ export default {
         this.options = this.contractNoList
       }
     },
+    //查看修改结算重量记录
+    editRecord() {
+      this.dialogFormVisible16 = true
+    },
     handlepass() {
       var that = this
       if (this.modification.length == 0) {
@@ -1268,12 +1300,11 @@ export default {
             response.records[i].settlementWeightchange = false
             response.records[i].deductionAmountchange = false
             response.records[i].amountNotPayable=response.records[i].amountIngPayable-response.records[i].amountEdPayable
-            //     response.records[i].settlementPrice =
-            //       response.records[i].unitPrice -
-            //       Math.abs(response.records[i].basisPrice) -
-            //       Math.abs(response.records[i].unloadingCharge) -
-            //       Math.abs(response.records[i].invoiceFee) -
-            //       Math.abs(response.records[i].deductionAmount)
+            if(response.records[i].tranPriceApproveList){
+              for(var j=0;j<response.records[i].tranPriceApproveList.length;j++){
+                  this.tranPriceApproveList.push(response.records[i].tranPriceApproveList[j])
+              }
+            }
           }
           this.deptBudgetTotal = response.total
           this.warehouseList = response

+ 256 - 128
src/views/statisticalReport/huoyunList.vue

@@ -3,7 +3,7 @@
   <div class="container">
     <el-scrollbar style="height: 100%">
       <el-row>
-        <el-col style="padding-left: 15px" :span="16">
+        <el-col style="padding-left: 15px" :span="10">
           <ws-button
             :type="searchType == 1 ? 'primary' : ''"
             @click="handlestatus(1)"
@@ -23,7 +23,7 @@
             :type="searchType == '' ? 'primary' : ''"
             @click="handlestatus('')"
             >全部</ws-button
-          >
+          >  
           <ws-button
             type="primary"
             v-hasPermission="`report.transportationReport.view`"
@@ -40,18 +40,18 @@
             type="primary"
             v-hasPermission="`report.transportationReport.payment`"
             @click="handlepayment"
-            >付款</ws-button
+            >申请结算</ws-button
           >
-          <ws-button
+          <!-- <ws-button
             type="primary"
             v-hasPermission="`report.transportationReport.draw`"
             @click="handleninvoice"
             >开发票</ws-button
-          >
+          > -->
         </el-col>
         <el-col
-          style="text-align: right; line-height: 60px; padding-right: 10px"
-          :span="8"
+          style="text-align: right; line-height: 60px; padding-right: 10px;display: flex;"
+          :span="14"
         >
           <el-select
             v-model="contractNo"
@@ -65,22 +65,71 @@
             class="findValue"
           >
             <el-option
-              v-if="item.reportStatus"
               v-for="item in options"
               :key="item.constKey"
-              :label="item.contractNo + '(' + item.reportStatus + ')'"
+              :label="item.contractNo"
               :value="item.contractNo"
             />
+          </el-select>
+          <el-select
+            v-model="taskNo"
+            placeholder="请选择运输任务编号"
+            clearable
+            filterable
+            :filter-method="dataFilter"
+            @change="taskNochange"
+            maxlength="500"
+            type="input"
+            class="findValue"
+          >
             <el-option
+              v-for="item in taskNoList"
+              :key="item.taskNoKey"
+              :label="item.taskNoValue "
+              :value="item.taskNoValue"
+            />
+          </el-select>
+          <el-select
+            v-model="processNo"
+            placeholder="请选择运输阶段编号"
+            clearable
+            filterable
+            :filter-method="processNo"
+            @change="processNochange"
+            maxlength="500"
+            type="input"
+            class="findValue"
+          >
+            <el-option
+              v-for="item in processNoList"
+              :key="item.processNoKey"
+              :label="item.processNoValue "
+              :value="item.processNoValue"
+            />
+            <!-- <el-option
               v-if="!item.reportStatus"
               v-for="item in options"
               :key="item.constKey"
               :label="item.contractNo"
               :value="item.contractNo"
-            />
+            /> -->
           </el-select>
         </el-col>
       </el-row>
+      <div class="freightSet">
+        <div style="display: flex;width:200px;line-height: 30px;"> 预计运费(元):{{tranPriceIng}}元</div>
+        <span style="display: flex;line-height: 30px;">实际运费(元):<el-input type="text" maxlength="70" size="small"  v-model="actualFreight" v-show="textShow"/><span v-show="!textShow">{{actualFreight}}</span>元</span>
+        <i @click="actualFreightchange" class="iconfont icon-dui" v-show="textShow" style="margin-top:10px"></i>
+        <img
+              width="17"
+              height="18"
+              style="vertical-align: text-top; position: relative; top: 6px"
+              src="../../../public/img/edit.png"
+              @click="textShow = true"
+              alt=""
+               v-show="!textShow"
+            />
+      </div>
 
       <el-table
         class="wenzi"
@@ -104,7 +153,7 @@
           prop="contractNo"
           label="合同编号"
         ></el-table-column>
-         <el-table-column
+        <el-table-column
           class="table_td"
           prop="taskNo"
           label="运输任务"
@@ -114,33 +163,28 @@
           prop="processNo"
           label="运输阶段"
         ></el-table-column>
-        <el-table-column
+        <!-- <el-table-column
           class="table_td"
           prop="n"
           label="类型"
-        ></el-table-column>
+        ></el-table-column> -->
         <el-table-column
           class="boxNo"
-          prop="phone"
+          prop="boxNo"
           label="箱号/仓位号"
         ></el-table-column>
         <el-table-column
           class="table_td"
-          prop="carNo"
+          prop="loadingWeight"
           label="装车净重(吨)"
-          ></el-table-column
-        >
+        ></el-table-column>
         <el-table-column
           class="table_td"
-          prop="loadingWeight"
+          prop="unloadingWeight"
           label="卸车净重(吨)"
         >
         </el-table-column>
-        <el-table-column
-          class="table_td"
-          prop="loadingWeight"
-          label="损耗(吨)"
-        >
+        <el-table-column class="table_td" prop="lossWeight" label="损耗(吨)">
         </el-table-column>
       </el-table>
 
@@ -154,7 +198,7 @@
         :total="deptBudgetTotal"
       ></el-pagination>
     </el-scrollbar>
-    <!-- 付款 -->
+      <!-- 付款 -->
     <el-dialog
       width="25%"
       title="付款"
@@ -258,47 +302,47 @@
     >
       <h3 style="margin-left: 30px">{{ driverPayeeList.payeeName }}的账户</h3>
       <div v-for="(item, index) in driverPayeeList" :key="index">
-      <h4 style="margin-left: 30px">账户-{{index+1}}</h4>
-      <div class="anniu">
-        <el-radio-group @change="bankCard(item,id)" v-model="item.radio">
-        <el-radio label="1">本次收款账户</el-radio>
-      </el-radio-group>
-      </div>
-      <el-form class="customer" :model="form">
-        <el-form-item label="账户类型" :label-width="formLabelWidth">
-          {{ item.accountType }}
-        </el-form-item>
-        <el-form-item label="银行卡号" :label-width="formLabelWidth">
-          {{ item.bankCard }}
-        </el-form-item>
-        <el-form-item label="开户行" :label-width="formLabelWidth">
-          {{ item.bankDeposit }}
-        </el-form-item>
-        <el-form-item label="开户支行" :label-width="formLabelWidth">
-          {{ item.bankDepositBranch }}
-        </el-form-item>
-        <el-form-item
-          label="收款人姓名"
-          :label-width="formLabelWidth"
-          v-if="item.accountTypeFlag == 1"
-        >
-          {{ item.payeeName }}
-        </el-form-item>
-        <el-form-item
-          label="收款人身份证号"
-          :label-width="formLabelWidth"
-          v-if="item.accountTypeFlag == 1"
-        >
-          {{ item.payeeNumberCard }}
-        </el-form-item>
-        <el-form-item
-          v-if="item.accountTypeFlag == 2"
-          label="企业名称"
-          :label-width="formLabelWidth"
-        >
-          {{ item.compName }}
-        </el-form-item>
-      </el-form>
+        <h4 style="margin-left: 30px">账户-{{ index + 1 }}</h4>
+        <div class="anniu">
+          <el-radio-group @change="bankCard(item, id)" v-model="item.radio">
+            <el-radio label="1">本次收款账户</el-radio>
+          </el-radio-group>
+        </div>
+        <el-form class="customer" :model="form">
+          <el-form-item label="账户类型" :label-width="formLabelWidth">
+            {{ item.accountType }}
+          </el-form-item>
+          <el-form-item label="银行卡号" :label-width="formLabelWidth">
+            {{ item.bankCard }}
+          </el-form-item>
+          <el-form-item label="开户行" :label-width="formLabelWidth">
+            {{ item.bankDeposit }}
+          </el-form-item>
+          <el-form-item label="开户支行" :label-width="formLabelWidth">
+            {{ item.bankDepositBranch }}
+          </el-form-item>
+          <el-form-item
+            label="收款人姓名"
+            :label-width="formLabelWidth"
+            v-if="item.accountTypeFlag == 1"
+          >
+            {{ item.payeeName }}
+          </el-form-item>
+          <el-form-item
+            label="收款人身份证号"
+            :label-width="formLabelWidth"
+            v-if="item.accountTypeFlag == 1"
+          >
+            {{ item.payeeNumberCard }}
+          </el-form-item>
+          <el-form-item
+            v-if="item.accountTypeFlag == 2"
+            label="企业名称"
+            :label-width="formLabelWidth"
+          >
+            {{ item.compName }}
+          </el-form-item>
+        </el-form>
       </div>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible8 = false">取 消</el-button>
@@ -311,7 +355,7 @@
       @on-cancel="handleClose"
     >
       <p>查看装车磅单</p>
-        <img width="100" height="100" :src="loadingImg1" alt="" />
+      <img width="100" height="100" :src="loadingImg1" alt="" />
     </WinseaContentModal>
     <WinseaContentModal
       v-model="accesscard"
@@ -342,6 +386,9 @@ import {
   autocontract,
   autopaymoney,
   openinvoicelist,
+  getYunShuXiaLa,
+  getYunShuNumber,
+  SetYunShuPrice
   // postaudit,
   //   getselectctcontractno,
 } from '@/model/statisticalReport/index'
@@ -350,6 +397,7 @@ import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
 import { EventBus } from 'base-core-lib'
+import { flatten } from 'lodash'
 export default {
   name: 'viewSpareMoney',
   components: {
@@ -406,7 +454,7 @@ export default {
       // 年
       year: '',
       options: [],
-      id:'',
+      id: '',
       pickerOptions: {},
       value2: '',
       deptBudgetTotal: 0,
@@ -417,7 +465,7 @@ export default {
       searchTypeText: '未完成',
       searchKeyWord: '',
       driverPayeeList: {
-          radio: '1',
+        radio: '1',
       },
       contractType: 2,
       accessoryTFs: false,
@@ -426,6 +474,14 @@ export default {
       enter: {
         closePositionList: [],
       },
+       taskNoList:[],
+        processNoList:[],
+        taskNo:"",
+         processNo:"",
+         textShow:false,
+         actualFreight:"",
+         processNoId:"",
+      tranPriceIng:"",
 
       // 提交类型
       submitType: true,
@@ -545,42 +601,42 @@ export default {
     look(item) {
       this.dialogFormVisible8 = true
       if (item.driverPayeeInfoList) {
-        this.driverPayeeList= item.driverPayeeInfoList
-        this.driverPayeeList.payeeName=item.driverPayeeInfoList[0].payeeName
-        for (var i = 0; i < item.driverPayeeInfoList.length; i++){
-          if(item.driverPayeeInfoList[i].bankCard==item.cardNo){
-            this.driverPayeeList[i].radio='1'
-          }
-          else{
-            this.driverPayeeList[i].radio='2'
+        this.driverPayeeList = item.driverPayeeInfoList
+        this.driverPayeeList.payeeName = item.driverPayeeInfoList[0].payeeName
+        for (var i = 0; i < item.driverPayeeInfoList.length; i++) {
+          if (item.driverPayeeInfoList[i].bankCard == item.cardNo) {
+            this.driverPayeeList[i].radio = '1'
+          } else {
+            this.driverPayeeList[i].radio = '2'
           }
           console.log(this.driverPayeeList[i].radio)
         }
-        this.id=item.id
+        this.id = item.id
       }
     },
-    //付款
+    //结算
     handlepayment() {
-      this.amountNotPayable = 0
-      this.money = this.money
-      this.tranSettlementReportList = this.warehouseList.records[0].tranSettlementReportList
-      this.amountEdPayable = this.warehouseList.records[0].amountEdPayable
-      this.paymentDate = this.paymentDate
-      if (this.modification.length == 0) {
-        this.$message.warning('请选择一条要付款的条目')
-      } else {
-        for (var i = 0; i < this.modification.length; i++) {
-          if (
-            this.modification[i].status != '已通过' &&
-            this.modification[i].status != '部分付款'
-          ) {
-            this.$message.warning('只有已通过或部分付款的条目才可进行付款操作')
-            return
-          }
-          this.amountNotPayable += this.modification[i].amountNotPayable
-        }
-        this.dialogFormVisible1 = true
-      }
+      this.dialogFormVisible1 = true
+      // this.amountNotPayable = 0
+      // this.money = this.money
+      // this.tranSettlementReportList = this.warehouseList.records[0].tranSettlementReportList
+      // this.amountEdPayable = this.warehouseList.records[0].amountEdPayable
+      // this.paymentDate = this.paymentDate
+      // if (this.modification.length == 0) {
+      //   this.$message.warning('请选择一条要付款的条目')
+      // } else {
+      //   for (var i = 0; i < this.modification.length; i++) {
+      //     if (
+      //       this.modification[i].status != '已通过' &&
+      //       this.modification[i].status != '部分付款'
+      //     ) {
+      //       this.$message.warning('只有已通过或部分付款的条目才可进行付款操作')
+      //       return
+      //     }
+      //     this.amountNotPayable += this.modification[i].amountNotPayable
+      //   }
+      //   this.dialogFormVisible1 = true
+      // }
     },
     submitMoney() {
       this.autoSettlementReport.money = this.money
@@ -728,7 +784,8 @@ export default {
     //批量开发票
     handleninvoice() {
       this.amountEdPayable = 0
-      this.tranSettlementReportList = this.warehouseList.records[0].tranSettlementReportList
+      this.tranSettlementReportList =
+        this.warehouseList.records[0].tranSettlementReportList
       for (var i = 0; i < this.modification.length; i++) {
         this.amountEdPayable += this.modification[i].amountEdPayable
       }
@@ -764,6 +821,24 @@ export default {
         })
       }
     },
+    actualFreightchange(){
+      // this.actualFreight
+      this.$confirm(`是否提交实际总价?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          SetYunShuPrice({
+        actualFreight:this.actualFreight,
+        id:this.processNoId,
+        flag :3
+      })
+        .toPromise()
+        .then((response) => {
+         this.textShow = false
+        })
+        })
+    },
     //修改结算重量
     changesettlementWeight(item) {
       if (!this.settlementWeight) {
@@ -803,7 +878,7 @@ export default {
         })
     },
     //设置本次账户
-    bankCard(item,id) {
+    bankCard(item, id) {
       editauto({
         cardNo: item.bankCard,
         id: id,
@@ -861,16 +936,13 @@ export default {
           this.$message.warning('修改扣款失败')
         })
     },
-    editdeductionAmount(item) {
-      this.deductionAmount = item.deductionAmount
-      item.deductionAmountchange = true
+    editdeductionAmount() {
+      this.textShow = false
     },
     //装车磅单
     lookloadingImg(row) {
       if (row.loadingImg == null || row.loadingImg == '') {
-        EventBus.$emit(
-          this.$message.warning('暂无磅单信息')
-        )
+        EventBus.$emit(this.$message.warning('暂无磅单信息'))
       } else {
         this.accessoryTFs = true
       }
@@ -879,9 +951,7 @@ export default {
     //卸车磅单
     lookunloadingImg(row) {
       if (row.unloadingImg === null || row.unloadingImg === '') {
-        EventBus.$emit(
-          this.$message.warning('暂无磅单信息')
-        )
+        EventBus.$emit(this.$message.warning('暂无磅单信息'))
       } else {
         this.accesscard = true
       }
@@ -890,9 +960,7 @@ export default {
     //付款截图
     lookpaymentScreenshot(row) {
       if (row.paymentScreenshot == null || row.paymentScreenshot == '') {
-        EventBus.$emit(
-          this.$message.warning('暂无付款截图信息')
-        )
+        EventBus.$emit(this.$message.warning('暂无付款截图信息'))
       } else {
         this.paymentImg = true
       }
@@ -915,13 +983,13 @@ export default {
             this.$message.warning(req.message)
           })
       } else {
-        if (status==true) {
+        if (status == true) {
           this.$message.success('通过成功')
           this.getList()
-        } else if (status==false) {
+        } else if (status == false) {
           this.$message.success('驳回成功')
           this.getList()
-          }
+        }
       }
     },
     handlereject(status) {
@@ -973,12 +1041,59 @@ export default {
     handleSelectionChange(val) {
       this.modification = val
     },
+
     handlestatus(status) {
       this.searchType = status
       this.getList()
     },
     contractchange(e) {
       this.contractNo = e
+      this.taskNoList = []
+       this.taskNo = ""
+      this.processNoList= []
+      this.processNo = ""
+       getYunShuNumber({
+       contractNo:this.contractNo,
+       flag:2
+      })
+        .toPromise()
+        .then((response) => {
+          for(let i = 0 ; i < response.length ; i++){
+            this.taskNoList.push({
+              taskNoKey : i,
+              taskNoValue : response[i].taskNo,
+              processNo: response[i].tranProcessInfoList
+          }) 
+          }
+        })
+    },
+    taskNochange(e){
+      this.taskNo = e
+      this.processNoList= []
+      this.processNo = ""
+      for(let i = 0 ; i < this.taskNoList.length ; i++ ){
+        if(e == this.taskNoList[i].taskNoValue){
+          for(let j = 0 ; j < this.taskNoList.length ; j++){
+            this.processNoList.push({
+             processNoKey:i,
+             processNoValue:this.taskNoList[i].processNo[j].processNo,
+             actualFreight : this.taskNoList[i].processNo[j].actualFreight,
+             id:this.taskNoList[i].processNo[j].id,
+             tranPriceIng:this.taskNoList[i].processNo[j].tranPriceIng
+           })
+          }
+        }
+      }
+    },
+    processNochange(e){
+      this.processNo = e
+      for(let i = 0 ; i < this.processNoList.length ; i++){
+        if(this.processNoList[i].processNoValue == e){
+          this.actualFreight = this.processNoList[i].actualFreight
+          this.processNoId =this.processNoList[i].id
+          this.tranPriceIng = this.processNoList[i].tranPriceIng
+        }
+      }
       this.getList()
     },
     updated() {
@@ -1028,13 +1143,17 @@ export default {
         searchType: this.searchType,
         contractNo: this.contractNo,
         manualFlag: this.manualFlag,
+        taskNo:this.taskNo,
+         processNo:this.processNo
       })
         .toPromise()
         .then((response) => {
           for (var i = 0; i < response.records.length; i++) {
             response.records[i].settlementWeightchange = false
             response.records[i].deductionAmountchange = false
-            response.records[i].amountNotPayable=response.records[i].amountIngPayable-response.records[i].amountEdPayable
+            response.records[i].amountNotPayable =
+              response.records[i].amountIngPayable -
+              response.records[i].amountEdPayable
             //     response.records[i].settlementPrice =
             //       response.records[i].unitPrice -
             //       Math.abs(response.records[i].basisPrice) -
@@ -1045,15 +1164,18 @@ export default {
           this.deptBudgetTotal = response.total
           this.warehouseList = response
         })
-      autocontract({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        currentPage: this.currentPage,
-        pageSize: this.pageSize,
-        // roleFlag: this.roleFlag,
+            this.contractNoList=[]
+      getYunShuXiaLa({
+        flag:2,
       })
         .toPromise()
         .then((response) => {
-          this.contractNoList = response
+          for(let i = 0 ; i < response.length ; i++){
+            this.contractNoList.push({
+              constKey : i,
+              contractNo : response[i]
+          }) 
+          }
           this.contractNoList.unshift({ contractNo: '全部合同' })
           this.options = this.contractNoList
         })
@@ -1204,9 +1326,8 @@ export default {
   border-bottom-left-radius: 0px;
 }
 /deep/.findValue .el-input__inner {
-  border-top-right-radius: 0px;
-  border-bottom-right-radius: 0px;
-  width: 385px;
+  width: 300px;
+
 }
 .completed.el-button--default {
   border-color: #5878e8;
@@ -1377,8 +1498,6 @@ export default {
 }
 .el-input--small {
   font-size: 13px;
-  width: 390px;
-  margin-left: 74%;
 }
 /deep/.el-table .el-table__header .cell,
 .el-table .el-table__body .cell {
@@ -1412,7 +1531,6 @@ hr {
   margin-left: 9%;
 }
 .el-date-editor.el-input,
-.el-date-editor.el-input__inner,
 .el-input-number--small {
   width: 123% !important;
 }
@@ -1422,4 +1540,14 @@ hr {
   text-align: center;
   height: 40px;
 }
+/deep/.freightSet .el-input__inner{
+ width: 100px;
+}
+.freightSet{
+  display: flex;
+  width:500px;
+}
+/deep/.freightSet .el-input{
+  width: 44%;
+}
 </style>

+ 166 - 30
src/views/statisticalReport/shippingList.vue

@@ -1,9 +1,9 @@
-//运结算报表
+//运结算报表
 <template>
   <div class="container">
     <el-scrollbar style="height: 100%">
       <el-row>
-        <el-col style="padding-left: 15px" :span="16">
+        <el-col style="padding-left: 15px" :span="10">
           <ws-button
             :type="searchType == 1 ? 'primary' : ''"
             @click="handlestatus(1)"
@@ -51,9 +51,9 @@
         </el-col>
         <el-col
           style="text-align: right; line-height: 60px; padding-right: 10px"
-          :span="8"
+          :span="14"
         >
-          <el-select
+         <el-select
             v-model="contractNo"
             placeholder="请选择合同"
             clearable
@@ -65,22 +65,71 @@
             class="findValue"
           >
             <el-option
-              v-if="item.reportStatus"
               v-for="item in options"
               :key="item.constKey"
-              :label="item.contractNo + '(' + item.reportStatus + ')'"
+              :label="item.contractNo"
               :value="item.contractNo"
             />
+          </el-select>
+          <el-select
+            v-model="taskNo"
+            placeholder="请选择运输任务编号"
+            clearable
+            filterable
+            
+            @change="taskNochange"
+            maxlength="500"
+            type="input"
+            class="findValue"
+          >
+            <el-option
+              v-for="item in taskNoList"
+              :key="item.taskNoKey"
+              :label="item.taskNoValue "
+              :value="item.taskNoValue"
+            />
+          </el-select>
+          <el-select
+            v-model="processNo"
+            placeholder="请选择运输阶段编号"
+            clearable
+            filterable
+           
+            @change="processNochange"
+            maxlength="500"
+            type="input"
+            class="findValue"
+          >
             <el-option
+              v-for="item in processNoList"
+              :key="item.processNoKey"
+              :label="item.processNoValue "
+              :value="item.processNoValue"
+            />
+            <!-- <el-option
               v-if="!item.reportStatus"
               v-for="item in options"
               :key="item.constKey"
               :label="item.contractNo"
               :value="item.contractNo"
-            />
+            /> -->
           </el-select>
         </el-col>
       </el-row>
+       <div class="freightSet">
+        <div style="display: flex;width:200px;line-height: 30px;"> 预计运费(元):{{tranPriceIng}}元</div>
+        <span style="display: flex;line-height: 30px;">实际运费(元):<el-input type="text" maxlength="70" size="small"  v-model="actualFreight" v-show="textShow"/><span v-show="!textShow">{{actualFreight}}</span>元</span>
+        <i @click="actualFreightchange" class="iconfont icon-dui" v-show="textShow" style="margin-top:10px"></i>
+        <img
+              width="17"
+              height="18"
+              style="vertical-align: text-top; position: relative; top: 6px"
+              src="../../../public/img/edit.png"
+              @click="textShow = true"
+              alt=""
+               v-show="!textShow"
+            />
+      </div>
 
       <el-table
         class="wenzi"
@@ -116,32 +165,33 @@
         ></el-table-column>
         <el-table-column
           class="table_td"
-          prop="n"
+          prop="shipType"
           label="类型"
         ></el-table-column>
         <el-table-column
           class="boxNo"
-          prop="phone"
+          prop="boxNo"
           label="箱号/仓位号"
         ></el-table-column>
         <el-table-column
           class="table_td"
-          prop="carNo"
+          prop="loadingWeight"
           label="装车净重(吨)"
           ></el-table-column
         >
         <el-table-column
           class="table_td"
-          prop="loadingWeight"
+          prop="unloadingWeight"
           label="卸车净重(吨)"
         >
         </el-table-column>
         <el-table-column
           class="table_td"
-          prop="loadingWeight"
+          prop="lossWeight"
           label="损耗(吨)"
         >
         </el-table-column>
+    
       </el-table>
 
       <!-- 页数 -->
@@ -342,8 +392,9 @@ import {
   autocontract,
   autopaymoney,
   openinvoicelist,
-  // postaudit,
-  //   getselectctcontractno,
+  getYunShuXiaLa,
+  getYunShuNumber,
+  SetYunShuPrice
 } from '@/model/statisticalReport/index'
 import { posthandle } from '@/model/purchasingManagement/index'
 import { downloadFile } from '@/utils/batchDown'
@@ -426,6 +477,14 @@ export default {
       enter: {
         closePositionList: [],
       },
+       taskNoList:[],
+        processNoList:[],
+        taskNo:"",
+         processNo:"",
+         textShow:false,
+         actualFreight:"",
+         processNoId:"",
+      tranPriceIng:"",
 
       // 提交类型
       submitType: true,
@@ -977,9 +1036,73 @@ export default {
       this.searchType = status
       this.getList()
     },
-    contractchange(e) {
+  contractchange(e) {
       this.contractNo = e
+      this.taskNoList = []
+       this.taskNo = ""
+      this.processNoList= []
+      this.processNo = ""
+       getYunShuNumber({
+       contractNo:this.contractNo,
+       flag:1
+      })
+        .toPromise()
+        .then((response) => {
+          for(let i = 0 ; i < response.length ; i++){
+            this.taskNoList.push({
+              taskNoKey : i,
+              taskNoValue : response[i].taskNo,
+              processNo: response[i].tranProcessInfoList
+          }) 
+          }
+        })
+    },
+    taskNochange(e){
+      this.taskNo = e
+      this.processNoList= []
+      this.processNo = ""
+      for(let i = 0 ; i < this.taskNoList.length ; i++ ){
+        if(e == this.taskNoList[i].taskNoValue){
+          for(let j = 0 ; j < this.taskNoList.length ; j++){
+            this.processNoList.push({
+             processNoKey:i,
+             processNoValue:this.taskNoList[i].processNo[j].processNo,
+             actualFreight : this.taskNoList[i].processNo[j].actualFreight,
+             id:this.taskNoList[i].processNo[j].id,
+             tranPriceIng:this.taskNoList[i].processNo[j].tranPriceIng
+           })
+          }
+        }
+      }
+    },
+    processNochange(e){
+      this.processNo = e
+      for(let i = 0 ; i < this.processNoList.length ; i++){
+        if(this.processNoList[i].processNoValue == e){
+          this.actualFreight = this.processNoList[i].actualFreight
+          this.processNoId =this.processNoList[i].id
+          this.tranPriceIng = this.processNoList[i].tranPriceIng
+        }
+      }
       this.getList()
+    },
+     actualFreightchange(){
+      // this.actualFreight
+      this.$confirm(`是否提交实际总价?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          SetYunShuPrice({
+        actualFreight:this.actualFreight,
+        id:this.processNoId,
+        flag :3
+      })
+        .toPromise()
+        .then((response) => {
+         this.textShow = false
+        })
+        })
     },
     updated() {
       this.$nextTick(() => {
@@ -1022,12 +1145,14 @@ export default {
     getList() {
       autoList({
         compId: sessionStorage.getItem('ws-pf_compId'),
-        tranTypeKey: 2,
+        tranTypeKey: 3,
         currentPage: this.currentPage,
         pageSize: this.pageSize,
         searchType: this.searchType,
         contractNo: this.contractNo,
         manualFlag: this.manualFlag,
+        taskNo:this.taskNo,
+         processNo:this.processNo
       })
         .toPromise()
         .then((response) => {
@@ -1045,15 +1170,18 @@ export default {
           this.deptBudgetTotal = response.total
           this.warehouseList = response
         })
-      autocontract({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        currentPage: this.currentPage,
-        pageSize: this.pageSize,
-        // roleFlag: this.roleFlag,
+           this.contractNoList=[]
+      getYunShuXiaLa({
+        flag:1,
       })
         .toPromise()
         .then((response) => {
-          this.contractNoList = response
+          for(let i = 0 ; i < response.length ; i++){
+            this.contractNoList.push({
+              constKey : i,
+              contractNo : response[i]
+          }) 
+          }
           this.contractNoList.unshift({ contractNo: '全部合同' })
           this.options = this.contractNoList
         })
@@ -1204,9 +1332,7 @@ export default {
   border-bottom-left-radius: 0px;
 }
 /deep/.findValue .el-input__inner {
-  border-top-right-radius: 0px;
-  border-bottom-right-radius: 0px;
-  width: 385px;
+  width: 300px;
 }
 .completed.el-button--default {
   border-color: #5878e8;
@@ -1375,11 +1501,11 @@ export default {
 .look .el-form-item {
   border-bottom: 1px solid #ccc;
 }
-.el-input--small {
-  font-size: 13px;
-  width: 390px;
-  margin-left: 74%;
-}
+// .el-input--small {
+//   font-size: 13px;
+//   width: 390px;
+//   margin-left: 74%;
+// }
 /deep/.el-table .el-table__header .cell,
 .el-table .el-table__body .cell {
   text-align: center;
@@ -1422,4 +1548,14 @@ hr {
   text-align: center;
   height: 40px;
 }
+/deep/.freightSet .el-input__inner{
+ width: 100px;
+}
+.freightSet{
+  display: flex;
+  width:500px;
+}
+/deep/.freightSet .el-input{
+  width: 44%;
+}
 </style>

+ 1 - 1
src/views/statisticalReport/stockSaleOutReportList.vue

@@ -90,7 +90,7 @@
 				</el-table-column>
 				<el-table-column class="table_td" prop="amountIngReceivable" label="应收金额(元)">
 					<template slot-scope="scope">
-						<span v-if="scope.row.returnFlag == null">{{scope.row.amountIngReceivable }}</span>
+						<span v-if="scope.row.returnFlag == null">{{scope.row.amountIngReceivable.toFixed(2) }}</span>
 					</template>
 				</el-table-column>
 			</el-table>

+ 3 - 3
src/views/taskManagement/tranManagementTransport.vue

@@ -86,7 +86,7 @@
         </el-table-column>
         <el-table-column prop="taskNo" label="运输任务编号" width="140"></el-table-column>
         <el-table-column prop="contractNo" label="合同编号" width="160"></el-table-column>
-        <el-table-column prop=" weight" class="table_td" label="货物(吨数)">
+        <el-table-column prop=" weight" class="table_td" label="货物(吨数)" width="130"> 
           <template slot-scope="scope">{{ scope.row.goodsName }}({{ scope.row.weight }})</template>
         </el-table-column>
         <el-table-column prop="tranType" class="table_td" label="运输方式" width="120"></el-table-column>
@@ -105,7 +105,7 @@
           </template>
         </el-table-column>
 
-        <el-table-column prop="status" label="状态">
+        <el-table-column prop="status" label="状态" width="100">
           <template slot-scope="scope">
             <el-popover
               placement="left"
@@ -148,7 +148,7 @@
             />
           </template>
         </el-table-column>
-        <el-table-column prop="seller" label="操作" width="300">
+        <el-table-column prop="seller" label="操作" width="160">
           <template slot-scope="scope">
             <div
               class="record"

+ 142 - 138
src/views/taskManagement/tranManagementTransportAdd.vue

@@ -200,7 +200,6 @@
         <div class="driver">
           <span>运输阶段{{ item.key }} {{ item.processNo }}</span>
           <img
-            v-if="endflag == '0' "
             width="22"
             height="22"
             class="add"
@@ -216,19 +215,14 @@
             src="../../../public/img/del.png"
             alt
           />
-          <!-- <span
-            style="margin-left : 20px;font-size : 14px"
-            v-if="index == deptBudgetList.tranProcessInfoList.length - 1"
-          >最终阶段</span> -->
           <el-checkbox
-            @change="(val) => engflagchange(val, index)"
+            @change="(val) => {engflagchange(val, index)}"
             class="endflag"
             true-label="1"
             false-label="0"
-            v-if="index == deptBudgetList.tranProcessInfoList.length - 1"
             v-model="item.endFlag"
             :label="1"
-            >最终阶段</el-checkbox
+            >粮款结算阶段</el-checkbox
           >
         </div>
         <ws-info-table>
@@ -460,7 +454,6 @@ export default {
       heightData: '600px',
       zoom: 7,
       options: [],
-      endflag: false,
       selectedOptions: [],
       selectedOptions1: [],
       window: '',
@@ -602,23 +595,26 @@ export default {
     weightchange(e) {
       this.deptBudgetList.tranProcessInfoList[0].weight = e
     },
-    engflagchange(e) {
-      this.endflag = e
-      if (this.endflag) {
-        this.deptBudgetList.tranProcessInfoList[
-          this.deptBudgetList.tranProcessInfoList.length - 1
-        ].selectedOptions1 = this.selectedOptions1
-        this.deptBudgetList.tranProcessInfoList[
-          this.deptBudgetList.tranProcessInfoList.length - 1
-        ].receiveDetailedAddress = this.deptBudgetList.endDetailedAddress
-      } else {
-        this.deptBudgetList.tranProcessInfoList[
-          this.deptBudgetList.tranProcessInfoList.length - 1
-        ].selectedOptions1 = []
-        this.deptBudgetList.tranProcessInfoList[
-          this.deptBudgetList.tranProcessInfoList.length - 1
-        ].receiveDetailedAddress = ''
+    engflagchange(e, index) {
+      for(var i=0;i<this.deptBudgetList.tranProcessInfoList.length;i++){
+        this.deptBudgetList.tranProcessInfoList[i].endFlag='0'
       }
+      this.deptBudgetList.tranProcessInfoList[index].endFlag = e
+      // if (this.endflag) {
+      //   this.deptBudgetList.tranProcessInfoList[
+      //     this.deptBudgetList.tranProcessInfoList.length - 1
+      //   ].selectedOptions1 = this.selectedOptions1
+      //   this.deptBudgetList.tranProcessInfoList[
+      //     this.deptBudgetList.tranProcessInfoList.length - 1
+      //   ].receiveDetailedAddress = this.deptBudgetList.endDetailedAddress
+      // } else {
+      //   this.deptBudgetList.tranProcessInfoList[
+      //     this.deptBudgetList.tranProcessInfoList.length - 1
+      //   ].selectedOptions1 = []
+      //   this.deptBudgetList.tranProcessInfoList[
+      //     this.deptBudgetList.tranProcessInfoList.length - 1
+      //   ].receiveDetailedAddress = ''
+      // }
     },
     // 获取当前年月日
     getdate() {
@@ -634,6 +630,13 @@ export default {
       }
       return year +'' + mouth + datetime
     },
+    MathRand() {
+      var Num = ''
+      for (var i = 0; i < 4; i++) {
+        Num += Math.floor(Math.random() * 10)
+      }
+      return Num
+    },
     // 随机验证码
     verifyinit() {
       var arr = []
@@ -650,7 +653,7 @@ export default {
       return arr.join('')
     },
     loaddata() {
-      this.deptBudgetList.taskNo = 'YS' + this.getdate() + this.verifyinit()
+      this.deptBudgetList.taskNo = 'YS' + this.getdate() + this.MathRand()
       this.deptBudgetList.tranProcessInfoList[0].processNo =
         this.deptBudgetList.taskNo + '-1'
       // 货名
@@ -1009,7 +1012,8 @@ export default {
           return
         }
       }
-      if (this.endflag) {
+      // debugger
+      // if (this.deptBudgetList.endFlag=='1') {
         this.$confirm(`运输任务提交成功后将派发到物流部门,是否确定提交?`, {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
@@ -1034,17 +1038,17 @@ export default {
                   CodeToText[this.selectedOptions[1]]
                 this.deptBudgetList.tranProcessInfoList[0].sendArea =
                   CodeToText[this.selectedOptions[2]]
-                if (this.endflag) {
-                  this.deptBudgetList.tranProcessInfoList[
-                    this.deptBudgetList.tranProcessInfoList.length - 1
-                  ].receivePrivate = CodeToText[this.selectedOptions1[0]]
-                  this.deptBudgetList.tranProcessInfoList[
-                    this.deptBudgetList.tranProcessInfoList.length - 1
-                  ].receiveCity = CodeToText[this.selectedOptions1[1]]
-                  this.deptBudgetList.tranProcessInfoList[
-                    this.deptBudgetList.tranProcessInfoList.length - 1
-                  ].receiveArea = CodeToText[this.selectedOptions1[2]]
-                }
+                // if (this.endflag) {
+                //   this.deptBudgetList.tranProcessInfoList[
+                //     this.deptBudgetList.tranProcessInfoList.length - 1
+                //   ].receivePrivate = CodeToText[this.selectedOptions1[0]]
+                //   this.deptBudgetList.tranProcessInfoList[
+                //     this.deptBudgetList.tranProcessInfoList.length - 1
+                //   ].receiveCity = CodeToText[this.selectedOptions1[1]]
+                //   this.deptBudgetList.tranProcessInfoList[
+                //     this.deptBudgetList.tranProcessInfoList.length - 1
+                //   ].receiveArea = CodeToText[this.selectedOptions1[2]]
+                // }
                 if (
                   this.deptBudgetList.taskType != '销售出库' ||
                   this.deptBudgetList.taskType != '贸易服务出库' ||
@@ -1108,108 +1112,108 @@ export default {
           .catch(() => {
             return false
           })
-      } else {
-        this.$confirm(`您还未选择最终阶段,是否确定提交??`, {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning',
-        })
-          .then(() => {
-            this.$refs.deptBudgetList.validate((valid) => {
-              if (valid) {
-                this.deptBudgetList.compId =
-                  sessionStorage.getItem('ws-pf_compId')
-                  console.log(this.checkList.toString())
-                this.deptBudgetList.tranType = this.checkList.toString()
-                this.deptBudgetList.startPrivate =
-                  CodeToText[this.selectedOptions[0]]
-                this.deptBudgetList.startCity =
-                  CodeToText[this.selectedOptions[1]]
-                this.deptBudgetList.startArea =
-                  CodeToText[this.selectedOptions[2]]
-                this.deptBudgetList.tranProcessInfoList[0].sendPrivate =
-                  CodeToText[this.selectedOptions[0]]
-                this.deptBudgetList.tranProcessInfoList[0].sendCity =
-                  CodeToText[this.selectedOptions[1]]
-                this.deptBudgetList.tranProcessInfoList[0].sendArea =
-                  CodeToText[this.selectedOptions[2]]
-                if (this.endflag) {
-                  this.deptBudgetList.tranProcessInfoList[
-                    this.deptBudgetList.tranProcessInfoList.length - 1
-                  ].receivePrivate = CodeToText[this.selectedOptions1[0]]
-                  this.deptBudgetList.tranProcessInfoList[
-                    this.deptBudgetList.tranProcessInfoList.length - 1
-                  ].receiveCity = CodeToText[this.selectedOptions1[1]]
-                  this.deptBudgetList.tranProcessInfoList[
-                    this.deptBudgetList.tranProcessInfoList.length - 1
-                  ].receiveArea = CodeToText[this.selectedOptions1[2]]
-                }
-                 if (
-                  this.deptBudgetList.taskType != '销售出库' ||
-                  this.deptBudgetList.taskType != '贸易服务出库' ||
-                  this.deptBudgetList.taskType != '暂存出库'
-                ){
-                  this.deptBudgetList.endPrivate = CodeToText[this.selectedOptions1[0]]
-                  this.deptBudgetList.endCity = CodeToText[this.selectedOptions1[1]]
-                  this.deptBudgetList.endArea = CodeToText[this.selectedOptions1[2]]
-                }
+      // } else {
+      //   this.$confirm(`您还未选择粮款结算阶段,是否确定提交??`, {
+      //     confirmButtonText: '确定',
+      //     cancelButtonText: '取消',
+      //     type: 'warning',
+      //   })
+      //     .then(() => {
+      //       this.$refs.deptBudgetList.validate((valid) => {
+      //         if (valid) {
+      //           this.deptBudgetList.compId =
+      //             sessionStorage.getItem('ws-pf_compId')
+      //             console.log(this.checkList.toString())
+      //           this.deptBudgetList.tranType = this.checkList.toString()
+      //           this.deptBudgetList.startPrivate =
+      //             CodeToText[this.selectedOptions[0]]
+      //           this.deptBudgetList.startCity =
+      //             CodeToText[this.selectedOptions[1]]
+      //           this.deptBudgetList.startArea =
+      //             CodeToText[this.selectedOptions[2]]
+      //           this.deptBudgetList.tranProcessInfoList[0].sendPrivate =
+      //             CodeToText[this.selectedOptions[0]]
+      //           this.deptBudgetList.tranProcessInfoList[0].sendCity =
+      //             CodeToText[this.selectedOptions[1]]
+      //           this.deptBudgetList.tranProcessInfoList[0].sendArea =
+      //             CodeToText[this.selectedOptions[2]]
+      //           // if (this.endflag) {
+      //           //   this.deptBudgetList.tranProcessInfoList[
+      //           //     this.deptBudgetList.tranProcessInfoList.length - 1
+      //           //   ].receivePrivate = CodeToText[this.selectedOptions1[0]]
+      //           //   this.deptBudgetList.tranProcessInfoList[
+      //           //     this.deptBudgetList.tranProcessInfoList.length - 1
+      //           //   ].receiveCity = CodeToText[this.selectedOptions1[1]]
+      //           //   this.deptBudgetList.tranProcessInfoList[
+      //           //     this.deptBudgetList.tranProcessInfoList.length - 1
+      //           //   ].receiveArea = CodeToText[this.selectedOptions1[2]]
+      //           // }
+      //            if (
+      //             this.deptBudgetList.taskType != '销售出库' ||
+      //             this.deptBudgetList.taskType != '贸易服务出库' ||
+      //             this.deptBudgetList.taskType != '暂存出库'
+      //           ){
+      //             this.deptBudgetList.endPrivate = CodeToText[this.selectedOptions1[0]]
+      //             this.deptBudgetList.endCity = CodeToText[this.selectedOptions1[1]]
+      //             this.deptBudgetList.endArea = CodeToText[this.selectedOptions1[2]]
+      //           }
 
-                for (
-                  var i = 0;
-                  i < this.deptBudgetList.tranProcessInfoList.length;
-                  i++
-                ) {
-                  this.deptBudgetList.tranProcessInfoList[i].sort = i
-                }
+      //           for (
+      //             var i = 0;
+      //             i < this.deptBudgetList.tranProcessInfoList.length;
+      //             i++
+      //           ) {
+      //             this.deptBudgetList.tranProcessInfoList[i].sort = i
+      //           }
 
-                addtrantask(this.deptBudgetList)
-                  .toPromise()
-                  .then((response) => {
-                    this.$message.success('添加成功')
-                    this.deptBudgetList = {
-                      taskNo: '',
-                      totalStorage: 0,
-                      goodsName: '玉米',
-                      goodsNameKey: 1,
-                      warehouseType: '1',
-                      tranProcessInfoList: [
-                        {
-                          processNo: '',
-                          tranType: '汽运',
-                          deliveryDateStart: '',
-                          deliveryDateEnd: '',
-                          weight: '',
-                          selectedOptions: [],
-                          selectedOptions1: [],
-                          sendPrivate: '',
-                          sendCity: '',
-                          sendArea: '',
-                          receivePrivate: '',
-                          receiveCity: '',
-                          receiveArea: '',
-                          sendDetailedAddress: '',
-                          receiveDetailedAddress: '',
-                          sender: '',
-                          receiver: '',
-                          senderPhone: '',
-                          receiverPhone: '',
-                          contractNo: '',
-                          receiveWarehouse: '',
-                        },
-                      ],
-                    }
-                    this.$router.push({ path: 'tranManagementTransport' })
-                  })
-              } else {
-                EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-                return false
-              }
-            })
-          })
-          .catch(() => {
-            return false
-          })
-      }
+      //           addtrantask(this.deptBudgetList)
+      //             .toPromise()
+      //             .then((response) => {
+      //               this.$message.success('添加成功')
+      //               this.deptBudgetList = {
+      //                 taskNo: '',
+      //                 totalStorage: 0,
+      //                 goodsName: '玉米',
+      //                 goodsNameKey: 1,
+      //                 warehouseType: '1',
+      //                 tranProcessInfoList: [
+      //                   {
+      //                     processNo: '',
+      //                     tranType: '汽运',
+      //                     deliveryDateStart: '',
+      //                     deliveryDateEnd: '',
+      //                     weight: '',
+      //                     selectedOptions: [],
+      //                     selectedOptions1: [],
+      //                     sendPrivate: '',
+      //                     sendCity: '',
+      //                     sendArea: '',
+      //                     receivePrivate: '',
+      //                     receiveCity: '',
+      //                     receiveArea: '',
+      //                     sendDetailedAddress: '',
+      //                     receiveDetailedAddress: '',
+      //                     sender: '',
+      //                     receiver: '',
+      //                     senderPhone: '',
+      //                     receiverPhone: '',
+      //                     contractNo: '',
+      //                     receiveWarehouse: '',
+      //                   },
+      //                 ],
+      //               }
+      //               this.$router.push({ path: 'tranManagementTransport' })
+      //             })
+      //         } else {
+      //           EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+      //           return false
+      //         }
+      //       })
+      //     })
+      //     .catch(() => {
+      //       return false
+      //     })
+      // }
     },
     resetForm(deptBudgetList) {
       this.$refs[deptBudgetList].resetFields()

+ 77 - 76
src/views/taskManagement/tranManagementTransportEdit.vue

@@ -200,7 +200,6 @@
             >运输阶段{{ index + 1 }} {{ item.processNo }}</span
           >
           <img
-            v-if="!endflag"
             width="22"
             height="22"
             class="add"
@@ -218,13 +217,13 @@
             alt=""
           />
           <el-checkbox
-          @change="(val) => engflagchange(val,index)"
+            @change="(val) => {engflagchange(val, index)}"
             class="endflag"
-            v-bind:checked="endflag"
-            v-if="index == deptBudgetList.tranProcessInfoList.length - 1"
+            true-label="1"
+            false-label="0"
             v-model="item.endFlag"
             :label="1"
-            >最终阶段</el-checkbox
+            >粮款结算阶段</el-checkbox
           >
         </div>
         <ws-info-table>
@@ -425,7 +424,6 @@ export default {
       checkList: [],
       deptBudgetList: {},
       radio: '1',
-      endflag: false,
       carModelList: [],
       carLengthList: [],
       warehouseType: '1',
@@ -572,32 +570,35 @@ export default {
       }
     },
     engflagchange(e,index) {
-      this.endflag = e
-      if (this.endflag) {
-        this.deptBudgetList.tranProcessInfoList[
-          this.deptBudgetList.tranProcessInfoList.length - 1
-        ].selectedOptions1 = this.selectedOptions1
-        this.deptBudgetList.tranProcessInfoList[
-          this.deptBudgetList.tranProcessInfoList.length - 1
-        ].receiveDetailedAddress = this.deptBudgetList.endDetailedAddress
-      } else {
-        this.deptBudgetList.tranProcessInfoList[
-          this.deptBudgetList.tranProcessInfoList.length - 1
-        ].selectedOptions1 = []
-        this.deptBudgetList.tranProcessInfoList[
-          this.deptBudgetList.tranProcessInfoList.length - 1
-        ].receiveDetailedAddress = ''
+       for(var i=0;i<this.deptBudgetList.tranProcessInfoList.length;i++){
+        this.deptBudgetList.tranProcessInfoList[i].endFlag='0'
       }
+      this.deptBudgetList.tranProcessInfoList[index].endFlag = e
+      // if (this.endflag) {
+      //   this.deptBudgetList.tranProcessInfoList[
+      //     this.deptBudgetList.tranProcessInfoList.length - 1
+      //   ].selectedOptions1 = this.selectedOptions1
+      //   this.deptBudgetList.tranProcessInfoList[
+      //     this.deptBudgetList.tranProcessInfoList.length - 1
+      //   ].receiveDetailedAddress = this.deptBudgetList.endDetailedAddress
+      // } else {
+      //   this.deptBudgetList.tranProcessInfoList[
+      //     this.deptBudgetList.tranProcessInfoList.length - 1
+      //   ].selectedOptions1 = []
+      //   this.deptBudgetList.tranProcessInfoList[
+      //     this.deptBudgetList.tranProcessInfoList.length - 1
+      //   ].receiveDetailedAddress = ''
+      // }
     },
     loaddata() {
       examinetran({ id: this.$route.query.id })
         .toPromise()
         .then((response) => {
-          for (var j = 0; j < response.tranProcessInfoList.length; j++) {
-            if (response.tranProcessInfoList[j].endFlag == 'true') {
-              this.endflag = true
-            }
-          }
+          // for (var j = 0; j < response.tranProcessInfoList.length; j++) {
+          //   if (response.tranProcessInfoList[j].endFlag == '1') {
+          //     this.endflag = '1'
+          //   }
+          // }
           this.deptBudgetList = response
           this.number = response.tranProcessInfoList.length + 1
           this.count = response.count + 1
@@ -630,7 +631,7 @@ export default {
             this.selectedOptions1 = tmp1
           }
           for (var i = 0; i < response.tranProcessInfoList.length; i++) {
-            console.log(response.tranProcessInfoList[i].endFlag)
+            // console.log(response.tranProcessInfoList[i].endFlag)
             if (
               response.tranProcessInfoList[i].sendPrivate != '' &&
               response.tranProcessInfoList[i].sendCity != '' &&
@@ -991,55 +992,55 @@ export default {
           return
         }
       }
-      if (this.endflag == false) {
-        this.$confirm('您还未选择最终阶段,是否确定提交?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning',
-        })
-          .then(() => {
-            this.$refs.deptBudgetList.validate((valid) => {
-              if (valid) {
-                this.deptBudgetList.compId =
-                  sessionStorage.getItem('ws-pf_compId')
-                this.deptBudgetList.tranType = this.checkList.toString()
-                this.deptBudgetList.startPrivate =
-                  CodeToText[this.selectedOptions[0]]
-                this.deptBudgetList.startCity =
-                  CodeToText[this.selectedOptions[1]]
-                this.deptBudgetList.startArea =
-                  CodeToText[this.selectedOptions[2]]
-                this.deptBudgetList.tranProcessInfoList[0].sendPrivate =
-                  CodeToText[this.selectedOptions[0]]
-                this.deptBudgetList.tranProcessInfoList[0].sendCity =
-                  CodeToText[this.selectedOptions[1]]
-                this.deptBudgetList.tranProcessInfoList[0].sendArea =
-                  CodeToText[this.selectedOptions[2]]
-                for (
-                  var i = 0;
-                  i < this.deptBudgetList.tranProcessInfoList.length;
-                  i++
-                ) {
-                  this.deptBudgetList.tranProcessInfoList[i].sort = i
-                }
+      // if (this.endFlag == false) {
+      //   this.$confirm('您还未选择最终阶段,是否确定提交?', '提示', {
+      //     confirmButtonText: '确定',
+      //     cancelButtonText: '取消',
+      //     type: 'warning',
+      //   })
+      //     .then(() => {
+      //       this.$refs.deptBudgetList.validate((valid) => {
+      //         if (valid) {
+      //           this.deptBudgetList.compId =
+      //             sessionStorage.getItem('ws-pf_compId')
+      //           this.deptBudgetList.tranType = this.checkList.toString()
+      //           this.deptBudgetList.startPrivate =
+      //             CodeToText[this.selectedOptions[0]]
+      //           this.deptBudgetList.startCity =
+      //             CodeToText[this.selectedOptions[1]]
+      //           this.deptBudgetList.startArea =
+      //             CodeToText[this.selectedOptions[2]]
+      //           this.deptBudgetList.tranProcessInfoList[0].sendPrivate =
+      //             CodeToText[this.selectedOptions[0]]
+      //           this.deptBudgetList.tranProcessInfoList[0].sendCity =
+      //             CodeToText[this.selectedOptions[1]]
+      //           this.deptBudgetList.tranProcessInfoList[0].sendArea =
+      //             CodeToText[this.selectedOptions[2]]
+      //           for (
+      //             var i = 0;
+      //             i < this.deptBudgetList.tranProcessInfoList.length;
+      //             i++
+      //           ) {
+      //             this.deptBudgetList.tranProcessInfoList[i].sort = i
+      //           }
 
-                edittran(this.deptBudgetList)
-                  .toPromise()
-                  .then((response) => {
-                    this.$message.success('编辑成功')
-                    this.deptBudgetList = {}
-                    this.$router.push({ path: 'tranManagementTransport' })
-                  })
-              } else {
-                EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-                return false
-              }
-            })
-          })
-          .catch(() => {
-            return false
-          })
-      } else {
+      //           edittran(this.deptBudgetList)
+      //             .toPromise()
+      //             .then((response) => {
+      //               this.$message.success('编辑成功')
+      //               this.deptBudgetList = {}
+      //               this.$router.push({ path: 'tranManagementTransport' })
+      //             })
+      //         } else {
+      //           EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+      //           return false
+      //         }
+      //       })
+      //     })
+      //     .catch(() => {
+      //       return false
+      //     })
+      // } else {
         this.$confirm(
           '运输任务提交成功后将派发到物流部门,是否确定提交?',
           '提示',
@@ -1105,7 +1106,7 @@ export default {
             alert('失败2')
             return false
           })
-      }
+      // }
     },
     resetForm(deptBudgetList) {
       this.$refs[deptBudgetList].resetFields()

+ 4 - 4
src/views/taskManagement/tranManagementWarehouseInOutTask.vue

@@ -39,8 +39,8 @@
             <span v-else>{{ scope.$index + 1 }}</span>
           </template>
         </el-table-column>
-        <el-table-column prop="inOutTaskNo" label="任务编号"></el-table-column>
-        <el-table-column prop="contractNo" label="合同编号" width="80">
+        <el-table-column prop="inOutTaskNo" label="任务编号" width="160"></el-table-column>
+        <el-table-column prop="contractNo" label="合同编号" width="160">
           <!-- <template scope="scope">
             <div
               v-if="
@@ -66,7 +66,7 @@
         <el-table-column prop="weight" class="table_td" label="重量(吨)"></el-table-column>
         <el-table-column prop="predictDate" class="table_td" label="预计日期"></el-table-column>
         <el-table-column prop="publisher" class="table_td" label="发布者"></el-table-column>
-        <el-table-column prop="taskStatus" label="状态">
+        <el-table-column prop="taskStatus" label="状态" width="90">
           <template slot-scope="scope">
             <template>
               <span slot="reference">
@@ -82,7 +82,7 @@
           </template>
         </el-table-column>
         <el-table-column prop="establishDate" class="table_td" label="创建时间"></el-table-column>
-        <el-table-column prop="seller" label="操作" width="300">
+        <el-table-column prop="seller" label="操作" width="180">
           <template slot-scope="scope">
             <span class="corles" @click="nocomplete(scope.row)" v-hasPermission="
                 `warehouseManagement.warehouse.warehouseInfoTask.View`

+ 1793 - 1775
src/views/taskManagement/tranManagementWarehouseInOutTaskAdd.vue

@@ -1,1852 +1,1870 @@
 // 创建出入库任务
 <template>
-  <div class="container">
-    <el-row>
-      <el-col :span="12">
-        <h2 class="bg-left title">创建出入库任务</h2>
-      </el-col>
-      <el-col :span="12" class="bg-right">
-        <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()">
-          <img width="6" height="10" style="vertical-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png" alt />返回
-        </el-button>
-      </el-col>
-    </el-row>
-    <div class="basicInformation">
-      <div class="annu">
-        <el-radio-group @change="tasktypechange" v-model="dataList.taskTypeKey">
-          <el-radio label="1" class="a">出库</el-radio>
-          <el-radio label="2" class="a">入库</el-radio>
-          <el-radio label="3" class="a">移库</el-radio>
-          <el-radio label="4" class="a">退库并出库</el-radio>
-        </el-radio-group>
-      </div>
-      <div class="ding"></div>
-      <div v-if="dataList.taskTypeKey != 2 && dataList.taskTypeKey != 4" class="center1">
-        <img style="position: relative; top: 40px; left: 300px" width="19" height="19"
-          src="../../../public/img/cangku.png" alt />
-        <!--出库=-->
-        <div class="small-title">
-          <h3>出库任务({{ inOutTaskNo }})</h3>
-        </div>
-        <el-form ref="dataList" :model="dataList" label-width="140px" input-width="300px">
-          <!-- 仓库名 -->
-          <el-form-item label="仓库名">
-            <el-select v-model="dataList.warehouseName" placeholder="请选择仓库名" class="typeselect"
-              @change="selectwarehouseName">
-              <el-option v-for="item in warehouseNameList" :key="item.constKey" :label="item.warehouseName"
-                :value="item.id" />
-            </el-select>
-          </el-form-item>
-          <!-- 出库类型 -->
-          <el-form-item label="出库类型">
-            <el-select :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4" v-model="dataList.inOutType"
-              placeholder="请选择出库类型" class="typeselect" @change="selectstorageType">
-              <el-option v-for="item in storageType" :key="item.constKey" v-if="
+	<div class="container">
+		<el-row>
+			<el-col :span="12">
+				<h2 class="bg-left title">创建出入库任务</h2>
+			</el-col>
+			<el-col :span="12" class="bg-right">
+				<el-button class="bg-bottom" type="primary" size="small" @click="returnsales()">
+					<img width="6" height="10" style="vertical-align: bottom; margin-right: 3px"
+						src="../../../public/img/lujing.png" alt />返回
+				</el-button>
+			</el-col>
+		</el-row>
+		<div class="basicInformation">
+			<div class="annu">
+				<el-radio-group @change="tasktypechange" v-model="dataList.taskTypeKey">
+					<el-radio label="1" class="a">出库</el-radio>
+					<el-radio label="2" class="a">入库</el-radio>
+					<el-radio label="3" class="a">移库</el-radio>
+					<el-radio label="4" class="a">退库并出库</el-radio>
+				</el-radio-group>
+			</div>
+			<div class="ding"></div>
+			<div v-if="dataList.taskTypeKey != 2 && dataList.taskTypeKey != 4" class="center1">
+				<img style="position: relative; top: 40px; left: 300px" width="19" height="19"
+					src="../../../public/img/cangku.png" alt />
+				<!--出库=-->
+				<div class="small-title">
+					<h3>出库任务({{ inOutTaskNo }})</h3>
+				</div>
+				<el-form ref="dataList" :model="dataList" label-width="140px" input-width="300px">
+					<!-- 仓库名 -->
+					<el-form-item label="仓库名">
+						<el-select v-model="dataList.warehouseName" placeholder="请选择仓库名" class="typeselect"
+							@change="selectwarehouseName">
+							<el-option v-for="item in warehouseNameList" :key="item.constKey"
+								:label="item.warehouseName" :value="item.id" />
+						</el-select>
+					</el-form-item>
+					<!-- 出库类型 -->
+					<el-form-item label="出库类型">
+						<el-select :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4"
+							v-model="dataList.inOutType" placeholder="请选择出库类型" class="typeselect"
+							@change="selectstorageType">
+							<el-option v-for="item in storageType" :key="item.constKey" v-if="
                   (dataList.taskTypeKey == 1 &&
                     item.constValue != '移库出库') ||
                   (dataList.taskTypeKey == 3 &&
                     item.constValue == '移库出库') ||
                   (dataList.taskTypeKey == 4 && item.constValue == '销售出库')
                 " :label="item.constValue" :value="item.constValue" />
-            </el-select>
-          </el-form-item>
-          <!-- 合同编号 -->
-          <el-form-item v-if="dataList.taskTypeKey != 3" label="合同编号">
-            <el-select @change="changecontract" v-model="dataList.contractNo" placeholder="请输入合同编号" class="typeselect">
-              <el-option v-for="item in contractNoList" :key="item.constKey" :label="item.contractNo"
-                :value="item.contractNo"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item v-if="dataList.taskTypeKey == 3" label="移库任务编号">
-            <el-input @input="selectTaskNo" v-model="dataList.moveTaskNo" placeholder="请输入移库任务编号" class="typeselect">
-              <el-option v-for="item in contractNoList" :key="item.constKey" :label="item.contractNo"
-                :value="item.contractNo"></el-option>
-            </el-input>
-          </el-form-item>
-          <!-- 货名 -->
-          <el-form-item label="货名" class="huom">
-            <el-select :disabled="dataList.taskTypeKey != 3" v-model="dataList.goodsName" placeholder="货名" class="huom"
-              @change="selectgoodsName">
-              <el-option v-for="item in goodnameList" :key="item.constKey" :label="item.constValue"
-                :value="item.constValue"></el-option>
-            </el-select>
-          </el-form-item>
-          <!--重量(吨)-->
-          <el-form-item label="重量(吨)" span="1" style="margin-left: 350px; margin-top: -40px">
-            <el-input @input="weightchange1" v-model="dataList.weight" placeholder="请输入重量(吨)" maxlength="120" size="small"
-              class="huom" />
-          </el-form-item>
-          <!-- 品级 -->
-          <el-form-item label="品级">
-            <el-select disabled v-model="dataList.grade" placeholder class="typeselect" @change="selectpackingMethod">
-              <el-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
-                :value="item.constValue" />
-            </el-select>
-          </el-form-item>
-          <!--容重(克/升)>=-->
-          <el-form-item label="容重(克/升)>=" span="1">
-            <el-input disabled @input="bulkDensitychange" v-model="dataList.bulkDensity" placeholder="请输入容重" maxlength="120"
-              size="small" class="huom" />
-          </el-form-item>
-          <!--水分(%)<=-->
-          <el-form-item label="水分(%)<=" span="1" style="margin-left: 250px; margin-top: -40px">
-            <el-input disabled @input="waterContentchange" v-model="dataList.waterContent" placeholder="请输入水分占比" maxlength="120"
-              size="small" class="huom" />
-          </el-form-item>
-          <!--单价(元/吨)-->
-          <el-form-item  label="单价(元/吨)" span="1" style="margin-left: 500px; margin-top: -40px">
-            <el-input disabled @input="unitPricechange" v-model="dataList.unitPrice" placeholder="请输入单价" maxlength="120"
-              size="small" class="huom" />
-          </el-form-item>
-          <!--预计出库日期-->
-          <el-form-item label="预计出库日期" span="1" prop="predictDate" class="deliverydate">
-            <el-date-picker v-model="dataList.predictDate" type="date" placeholder="请选择预计出库日期"
-              value-format="yyyy-MM-dd" />
-          </el-form-item>
-          <!--经办人-->
-          <!-- <el-form-item label="出库经办人">
+						</el-select>
+					</el-form-item>
+					<!-- 合同编号 -->
+					<el-form-item v-if="dataList.taskTypeKey != 3" label="合同编号">
+						<el-select @change="changecontract" v-model="dataList.contractNo" placeholder="请输入合同编号"
+							class="typeselect">
+							<el-option v-for="item in contractNoList" :key="item.constKey" :label="item.contractNo"
+								:value="item.contractNo"></el-option>
+						</el-select>
+					</el-form-item>
+					<el-form-item v-if="dataList.taskTypeKey == 3" label="移库任务编号">
+						<el-input @input="selectTaskNo" v-model="dataList.moveTaskNo" placeholder="请输入移库任务编号"
+							class="typeselect">
+							<el-option v-for="item in contractNoList" :key="item.constKey" :label="item.contractNo"
+								:value="item.contractNo"></el-option>
+						</el-input>
+					</el-form-item>
+					<!-- 货名 -->
+					<el-form-item label="货名" class="huom">
+						<el-select :disabled="dataList.taskTypeKey != 3" v-model="dataList.goodsName" placeholder="货名"
+							class="huom" @change="selectgoodsName">
+							<el-option v-for="item in goodnameList" :key="item.constKey" :label="item.constValue"
+								:value="item.constValue"></el-option>
+						</el-select>
+					</el-form-item>
+					<!--重量(吨)-->
+					<el-form-item label="重量(吨)" span="1" style="margin-left: 350px; margin-top: -40px">
+						<el-input @input="weightchange1" v-model="dataList.weight" placeholder="请输入重量(吨)"
+							maxlength="120" size="small" class="huom" />
+					</el-form-item>
+					<!-- 品级 -->
+					<el-form-item label="品级">
+						<el-select disabled v-model="dataList.grade" placeholder class="typeselect"
+							@change="selectpackingMethod">
+							<el-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
+								:value="item.constValue" />
+						</el-select>
+					</el-form-item>
+					<!--容重(克/升)>=-->
+					<el-form-item label="容重(克/升)>=" span="1">
+						<el-input disabled @input="bulkDensitychange" v-model="dataList.bulkDensity" placeholder="请输入容重"
+							maxlength="120" size="small" class="huom" />
+					</el-form-item>
+					<!--水分(%)<=-->
+					<el-form-item label="水分(%)<=" span="1" style="margin-left: 250px; margin-top: -40px">
+						<el-input disabled @input="waterContentchange" v-model="dataList.waterContent"
+							placeholder="请输入水分占比" maxlength="120" size="small" class="huom" />
+					</el-form-item>
+					<!--单价(元/吨)-->
+					<el-form-item label="单价(元/吨)" span="1" style="margin-left: 500px; margin-top: -40px">
+						<el-input disabled @input="unitPricechange" v-model="dataList.unitPrice" placeholder="请输入单价"
+							maxlength="120" size="small" class="huom" />
+					</el-form-item>
+					<!--预计出库日期-->
+					<el-form-item label="预计出库日期" span="1" prop="predictDate" class="deliverydate">
+						<el-date-picker v-model="dataList.predictDate" type="date" placeholder="请选择预计出库日期"
+							value-format="yyyy-MM-dd" />
+					</el-form-item>
+					<!--经办人-->
+					<!-- <el-form-item label="出库经办人">
             <el-select v-model="dataList.agent" placeholder="请选择经办人" filterable :filter-method="dataFilter"
               @change="selectstaff">
               <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
             </el-select>
           </el-form-item> -->
-          <!--业务描述=-->
-          <el-form-item v-if="dataList.taskTypeKey != 3" label="业务描述" span="20">
-            <el-input v-model="dataList.businessDescribe" placeholder="请输入业务描述(运输方式),不超过150字" maxlength="150" size="large" />
-          </el-form-item>
-        </el-form>
-      </div>
-      <div v-show="dataList.taskTypeKey != 1" class="center1">
-        <img style="position: relative; top: 40px; left: 300px" width="19" height="19"
-          src="../../../public/img/cangku.png" alt />
-        <div class="small-title">
-          <h3>入库任务({{ inOutTaskNo1 }} )</h3>
-        </div>
-        <el-form v-if="!deletetask" ref="form" :model="form" label-width="140px">
-          <!-- 仓库名 -->
-          <el-form-item label="仓库名">
-            <el-select v-model="dataList1.warehouseName" placeholder="请选择仓库名" class="typeselect"
-              @change="selectwarehouseName1">
-              <el-option v-for="item in warehouseNameList" :key="item.constKey" :label="item.warehouseName"
-                :value="item.id" />
-            </el-select>
-          </el-form-item>
-          <!-- 入库类型 -->
-          <el-form-item label="入库类型">
-            <el-select :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4" v-model="dataList1.inOutType"
-              placeholder="请选择入库类型" class="typeselect" @change="selectstorageType1">
-              <el-option v-for="item in storageType1" :key="item.constKey" v-if="
+					<!--业务描述=-->
+					<el-form-item v-if="dataList.taskTypeKey != 3" label="业务描述" span="20">
+						<el-input v-model="dataList.businessDescribe" placeholder="请输入业务描述(运输方式),不超过150字"
+							maxlength="150" size="large" />
+					</el-form-item>
+				</el-form>
+			</div>
+			<div v-show="dataList.taskTypeKey != 1" class="center1">
+				<img style="position: relative; top: 40px; left: 300px" width="19" height="19"
+					src="../../../public/img/cangku.png" alt />
+				<div class="small-title">
+					<h3>入库任务({{ inOutTaskNo1 }} )</h3>
+				</div>
+				<el-form v-if="!deletetask" ref="form" :model="form" label-width="140px">
+					<!-- 仓库名 -->
+					<el-form-item label="仓库名">
+						<el-select v-model="dataList1.warehouseName" placeholder="请选择仓库名" class="typeselect"
+							@change="selectwarehouseName1">
+							<el-option v-for="item in warehouseNameList" :key="item.constKey"
+								:label="item.warehouseName" :value="item.id" />
+						</el-select>
+					</el-form-item>
+					<!-- 入库类型 -->
+					<el-form-item label="入库类型">
+						<el-select :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4"
+							v-model="dataList1.inOutType" placeholder="请选择入库类型" class="typeselect"
+							@change="selectstorageType1">
+							<el-option v-for="item in storageType1" :key="item.constKey" v-if="
                   (dataList1.taskTypeKey == 2 &&
                     item.constValue != '移库入库') ||
                   (dataList1.taskTypeKey == 3 &&
                     item.constValue == '移库入库') ||
                   (dataList1.taskTypeKey == 4 && item.constValue == '退库')
                 " :label="item.constValue" :value="item.constValue" />
-            </el-select>
-          </el-form-item>
-          <!-- 合同编号 -->
-          <el-form-item v-if="dataList1.taskTypeKey != 3" label="合同编号">
-            <el-select @change="changecontract1" v-model="dataList1.contractNo" placeholder="请输入合同编号"
-              class="typeselect">
-              <el-option v-for="item in contractNoList1" :key="item.constKey" :label="item.contractNo"
-                :value="item.contractNo"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item v-if="dataList1.taskTypeKey == 3" label="移库任务编号">
-            <el-input disabled v-model="dataList1.moveTaskNo" placeholder="请输入移库任务编号" class="typeselect">
-              <el-option v-for="item in contractNoList" :key="item.constKey" :label="item.contractNo"
-                :value="item.contractNo"></el-option>
-            </el-input>
-          </el-form-item>
-          <!-- 货名 -->
-          <el-form-item label="货名" class="huom">
-            <el-select :disabled="dataList.taskTypeKey != 3 || dataList.taskTypeKey == 3" v-model="dataList.goodsName"
-              placeholder="货名" class="huom" @change="selectgoodsName1">
-              <el-option v-for="item in goodnameList" :key="item.constKey" :label="item.constValue"
-                :value="item.constValue"></el-option>
-            </el-select>
-          </el-form-item>
-          <!--重量(吨)-->
-          <el-form-item label="重量(吨)" span="1" style="margin-left: 350px; margin-top: -40px">
-            <el-input @input="weightchange" v-model="dataList1.weight" placeholder="请输入重量(吨)" maxlength="120" size="small"
-              class="huom" />
-          </el-form-item>
-          <!-- 品级 -->
-          <el-form-item label="品级">
-            <el-select :disabled="dataList.taskTypeKey == 3" v-model="dataList1.grade" placeholder class="typeselect"
-              @change="selectpackingMethod1">
-              <el-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
-                :value="item.constValue" />
-            </el-select>
-          </el-form-item>
-          <!--容重(克/升)>=-->
-          <el-form-item label="容重(克/升)>=">
-            <el-input @input="bulkDensitychange" :disabled="dataList.taskTypeKey == 3" v-model="dataList1.bulkDensity"
-              placeholder="请输入容重" maxlength="120" size="small" class="huom" />
-          </el-form-item>
-          <!--水分(%)<=-->
-          <el-form-item label="水分(%)<=" span="1" style="margin-left: 350px; margin-top: -40px">
-            <el-input @input="waterContentchange" :disabled="dataList.taskTypeKey == 3" v-model="dataList1.waterContent"
-              placeholder="请输入水分占比" maxlength="120" size="small" class="huom" />
-          </el-form-item>
-          <!--单价(元/吨)-->
-          <el-form-item label="单价(元/吨)" span="1" style="margin-left: 650px; margin-top: -40px">
-            <el-input @input="unitPricechange" :disabled="dataList.taskTypeKey == 3" v-model="dataList1.unitPrice"
-              placeholder="请输入单价" maxlength="120" size="small" class="huom" />
-          </el-form-item>
-          <!--预计出库日期-->
-          <el-form-item label="预计入库日期" span="1" prop="predictDate" class="deliverydate">
-            <el-date-picker v-model="dataList1.predictDate" type="date" placeholder="请选择预计入库日期"
-              value-format="yyyy-MM-dd" />
-          </el-form-item>
-          <!--经办人-->
-          <!-- <el-form-item label="入库经办人">
+						</el-select>
+					</el-form-item>
+					<!-- 合同编号 -->
+					<el-form-item v-if="dataList1.taskTypeKey != 3" label="合同编号">
+						<el-select @change="changecontract1" v-model="dataList1.contractNo" placeholder="请输入合同编号"
+							class="typeselect">
+							<el-option v-for="item in contractNoList1" :key="item.constKey" :label="item.contractNo"
+								:value="item.contractNo"></el-option>
+						</el-select>
+					</el-form-item>
+					<el-form-item v-if="dataList1.taskTypeKey == 3" label="移库任务编号">
+						<el-input disabled v-model="dataList1.moveTaskNo" placeholder="请输入移库任务编号" class="typeselect">
+							<el-option v-for="item in contractNoList" :key="item.constKey" :label="item.contractNo"
+								:value="item.contractNo"></el-option>
+						</el-input>
+					</el-form-item>
+					<!-- 货名 -->
+					<el-form-item label="货名" class="huom">
+						<el-select :disabled="dataList.taskTypeKey != 3 || dataList.taskTypeKey == 3"
+							v-model="dataList.goodsName" placeholder="货名" class="huom" @change="selectgoodsName1">
+							<el-option v-for="item in goodnameList" :key="item.constKey" :label="item.constValue"
+								:value="item.constValue"></el-option>
+						</el-select>
+					</el-form-item>
+					<!--重量(吨)-->
+					<el-form-item label="重量(吨)" span="1" style="margin-left: 350px; margin-top: -40px">
+						<el-input @input="weightchange" v-model="dataList1.weight" placeholder="请输入重量(吨)"
+							maxlength="120" size="small" class="huom" />
+					</el-form-item>
+					<!-- 品级 -->
+					<el-form-item label="品级">
+						<el-select :disabled="dataList.taskTypeKey == 3" v-model="dataList1.grade" placeholder
+							class="typeselect" @change="selectpackingMethod1">
+							<el-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
+								:value="item.constValue" />
+						</el-select>
+					</el-form-item>
+					<!--容重(克/升)>=-->
+					<el-form-item label="容重(克/升)>=">
+						<el-input @input="bulkDensitychange" :disabled="dataList.taskTypeKey == 3"
+							v-model="dataList1.bulkDensity" placeholder="请输入容重" maxlength="120" size="small"
+							class="huom" />
+					</el-form-item>
+					<!--水分(%)<=-->
+					<el-form-item label="水分(%)<=" span="1" style="margin-left: 350px; margin-top: -40px">
+						<el-input @input="waterContentchange" :disabled="dataList.taskTypeKey == 3"
+							v-model="dataList1.waterContent" placeholder="请输入水分占比" maxlength="120" size="small"
+							class="huom" />
+					</el-form-item>
+					<!--单价(元/吨)-->
+					<el-form-item label="单价(元/吨)" span="1" style="margin-left: 650px; margin-top: -40px">
+						<el-input @input="unitPricechange" :disabled="dataList.taskTypeKey == 3"
+							v-model="dataList1.unitPrice" placeholder="请输入单价" maxlength="120" size="small"
+							class="huom" />
+					</el-form-item>
+					<!--预计出库日期-->
+					<el-form-item label="预计入库日期" span="1" prop="predictDate" class="deliverydate">
+						<el-date-picker v-model="dataList1.predictDate" type="date" placeholder="请选择预计入库日期"
+							value-format="yyyy-MM-dd" />
+					</el-form-item>
+					<!--经办人-->
+					<!-- <el-form-item label="入库经办人">
             <el-select v-model="dataList1.agent" placeholder="请选择经办人" filterable :filter-method="dataFilter1"
               @change="selectstaff1">
               <el-option v-for="item in options1" :key="item.value" :label="item.staffName" :value="item.staffName" />
             </el-select>
           </el-form-item> -->
-          <!--业务描述=-->
-          <el-form-item v-if="dataList.taskTypeKey != 4" label="业务描述">
-            <el-input v-model="dataList1.businessDescribe" placeholder="请输入业务描述(运输方式),不超过150字" maxlength="150" size="large" />
-          </el-form-item>
-        </el-form>
-      </div>
-      <div v-if="dataList.taskTypeKey == 4" class="center1">
-        <!--出库=-->
-        <div class="small-title">
-          <img style="position: relative; top: 40px; left: -22px" width="19" height="19"
-            src="../../../public/img/cangku.png" alt />
-          <h3>出库任务({{ inOutTaskNo }})</h3>
-        </div>
-        <el-form ref="dataList" :model="dataList" label-width="140px">
-          <!-- 仓库名 -->
-          <el-form-item label="仓库名">
-            <el-select v-model="dataList.warehouseName" placeholder="请选择仓库名" class="typeselect"
-              @change="selectwarehouseName">
-              <el-option v-for="item in warehouseNameList" :key="item.constKey" :label="item.warehouseName"
-                :value="item.id" />
-            </el-select>
-          </el-form-item>
-          <!-- 出库类型 -->
-          <el-form-item label="出库类型">
-            <el-select :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4" v-model="dataList.inOutType"
-              placeholder="请选择出库类型" class="typeselect" @change="selectstorageType1">
-              <el-option v-for="item in storageType" :key="item.constKey" v-if="
+					<!--业务描述=-->
+					<el-form-item v-if="dataList.taskTypeKey != 4" label="业务描述">
+						<el-input v-model="dataList1.businessDescribe" placeholder="请输入业务描述(运输方式),不超过150字"
+							maxlength="150" size="large" />
+					</el-form-item>
+				</el-form>
+			</div>
+			<div v-if="dataList.taskTypeKey == 4" class="center1">
+				<!--出库=-->
+				<div class="small-title">
+					<img style="position: relative; top: 40px; left: -22px" width="19" height="19"
+						src="../../../public/img/cangku.png" alt />
+					<h3>出库任务({{ inOutTaskNo }})</h3>
+				</div>
+				<el-form ref="dataList" :model="dataList" label-width="140px">
+					<!-- 仓库名 -->
+					<el-form-item label="仓库名">
+						<el-select v-model="dataList.warehouseName" placeholder="请选择仓库名" class="typeselect"
+							@change="selectwarehouseName">
+							<el-option v-for="item in warehouseNameList" :key="item.constKey"
+								:label="item.warehouseName" :value="item.id" />
+						</el-select>
+					</el-form-item>
+					<!-- 出库类型 -->
+					<el-form-item label="出库类型">
+						<el-select :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4"
+							v-model="dataList.inOutType" placeholder="请选择出库类型" class="typeselect"
+							@change="selectstorageType1">
+							<el-option v-for="item in storageType" :key="item.constKey" v-if="
                   (dataList.taskTypeKey == 1 &&
                     item.constValue != '移库出库') ||
                   (dataList.taskTypeKey == 3 &&
                     item.constValue == '移库出库') ||
                   (dataList.taskTypeKey == 4 && item.constValue == '销售出库')
                 " :label="item.constValue" :value="item.constValue" />
-            </el-select>
-          </el-form-item>
-          <!-- 合同编号 -->
-          <el-form-item v-if="dataList.taskTypeKey != 3" label="合同编号">
-            <el-select @change="changecontract" v-model="dataList.contractNo" placeholder="请输入合同编号" class="typeselect">
-              <el-option v-for="item in contractNoList" :key="item.constKey" :label="item.contractNo"
-                :value="item.contractNo"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item v-if="dataList.taskTypeKey == 3" label="移库任务编号">
-            <el-select @change="selectTaskNo" v-model="dataList.moveTaskNo" placeholder="请输入移库任务编号" class="typeselect">
-              <el-option v-for="item in contractNoList" :key="item.constKey" :label="item.contractNo"
-                :value="item.contractNo"></el-option>
-            </el-select>
-          </el-form-item>
-          <!-- 货名 -->
-          <el-form-item label="货名" class="huom">
-            <el-select :disabled="dataList.taskTypeKey != 3" v-model="dataList.goodsName" placeholder="货名" class="huom"
-              @change="selectgoodsName">
-              <el-option v-for="item in goodnameList" :key="item.constKey" :label="item.constValue"
-                :value="item.constValue"></el-option>
-            </el-select>
-          </el-form-item>
-          <!--重量(吨)-->
-          <el-form-item label="重量(吨)" span="1" style="margin-left: 350px; margin-top: -40px">
-            <el-input :disabled="dataList.taskTypeKey == 4" v-model="dataList.weight" placeholder="请输入重量(吨)"
-              maxlength="120" size="small" class="huom" />
-          </el-form-item>
-          <!-- 品级 -->
-          <el-form-item label="品级">
-            <el-select :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4" v-model="dataList.grade"
-              placeholder class="typeselect" @change="selectpackingMethod">
-              <el-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
-                :value="item.constValue" />
-            </el-select>
-          </el-form-item>
-          <!--容重(克/升)>=-->
-          <el-form-item label="容重(克/升)>=">
-            <el-input :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4" v-model="dataList.bulkDensity"
-              placeholder="请输入容重" maxlength="120" size="small" class="huom" />
-          </el-form-item>
-          <!--水分(%)<=-->
-          <el-form-item label="水分(%)<=" span="1" style="margin-left: 350px; margin-top: -40px">
-            <el-input :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4" v-model="dataList.waterContent"
-              placeholder="请输入水分占比" maxlength="120" size="small" class="huom" />
-          </el-form-item>
-          <!--单价(元/吨)-->
-          <el-form-item label="单价(元/吨)" span="1" style="margin-left: 650px; margin-top: -40px">
-            <el-input :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4" v-model="dataList.unitPrice"
-              placeholder="请输入单价" maxlength="120" size="small" class="huom" />
-          </el-form-item>
-          <!--预计出库日期-->
-          <el-form-item label="预计出库日期" span="1" prop="predictDate" class="deliverydate">
-            <el-date-picker v-model="dataList.predictDate" type="date" placeholder="请选择预计出库日期"
-              value-format="yyyy-MM-dd" />
-          </el-form-item>
-          <!--经办人-->
-          <!-- <el-form-item label="出库经办人">
+						</el-select>
+					</el-form-item>
+					<!-- 合同编号 -->
+					<el-form-item v-if="dataList.taskTypeKey != 3" label="合同编号">
+						<el-select @change="changecontract" v-model="dataList.contractNo" placeholder="请输入合同编号"
+							class="typeselect">
+							<el-option v-for="item in contractNoList" :key="item.constKey" :label="item.contractNo"
+								:value="item.contractNo"></el-option>
+						</el-select>
+					</el-form-item>
+					<el-form-item v-if="dataList.taskTypeKey == 3" label="移库任务编号">
+						<el-select @change="selectTaskNo" v-model="dataList.moveTaskNo" placeholder="请输入移库任务编号"
+							class="typeselect">
+							<el-option v-for="item in contractNoList" :key="item.constKey" :label="item.contractNo"
+								:value="item.contractNo"></el-option>
+						</el-select>
+					</el-form-item>
+					<!-- 货名 -->
+					<el-form-item label="货名" class="huom">
+						<el-select :disabled="dataList.taskTypeKey != 3" v-model="dataList.goodsName" placeholder="货名"
+							class="huom" @change="selectgoodsName">
+							<el-option v-for="item in goodnameList" :key="item.constKey" :label="item.constValue"
+								:value="item.constValue"></el-option>
+						</el-select>
+					</el-form-item>
+					<!--重量(吨)-->
+					<el-form-item label="重量(吨)" span="1" style="margin-left: 350px; margin-top: -40px">
+						<el-input :disabled="dataList.taskTypeKey == 4" v-model="dataList.weight" placeholder="请输入重量(吨)"
+							maxlength="120" size="small" class="huom" />
+					</el-form-item>
+					<!-- 品级 -->
+					<el-form-item label="品级">
+						<el-select :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4"
+							v-model="dataList.grade" placeholder class="typeselect" @change="selectpackingMethod">
+							<el-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
+								:value="item.constValue" />
+						</el-select>
+					</el-form-item>
+					<!--容重(克/升)>=-->
+					<el-form-item label="容重(克/升)>=">
+						<el-input :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4"
+							v-model="dataList.bulkDensity" placeholder="请输入容重" maxlength="120" size="small"
+							class="huom" />
+					</el-form-item>
+					<!--水分(%)<=-->
+					<el-form-item label="水分(%)<=" span="1" style="margin-left: 350px; margin-top: -40px">
+						<el-input :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4"
+							v-model="dataList.waterContent" placeholder="请输入水分占比" maxlength="120" size="small"
+							class="huom" />
+					</el-form-item>
+					<!--单价(元/吨)-->
+					<el-form-item label="单价(元/吨)" span="1" style="margin-left: 650px; margin-top: -40px">
+						<el-input :disabled="dataList.taskTypeKey == 3 || dataList.taskTypeKey == 4"
+							v-model="dataList.unitPrice" placeholder="请输入单价" maxlength="120" size="small"
+							class="huom" />
+					</el-form-item>
+					<!--预计出库日期-->
+					<el-form-item label="预计出库日期" span="1" prop="predictDate" class="deliverydate">
+						<el-date-picker v-model="dataList.predictDate" type="date" placeholder="请选择预计出库日期"
+							value-format="yyyy-MM-dd" />
+					</el-form-item>
+					<!--经办人-->
+					<!-- <el-form-item label="出库经办人">
             <el-select v-model="dataList.agent" placeholder="请选择经办人" filterable :filter-method="dataFilter"
               @change="selectstaff">
               <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
             </el-select>
           </el-form-item> -->
-          <!--业务描述=-->
-          <el-form-item label="业务描述">
-            <el-input v-model="dataList.businessDescribe" placeholder="请输入业务描述(运输方式),不超过150字" maxlength="150" size="large" />
-          </el-form-item>
-        </el-form>
-      </div>
-    </div>
-    <!-- 提交 -->
-    <div style="text-align: right; padding: 10px" class="center">
-      <el-button class="bg-bottom" type="primary" size="small" @click="submit()">提交</el-button>
-    </div>
-  </div>
+					<!--业务描述=-->
+					<el-form-item label="业务描述">
+						<el-input v-model="dataList.businessDescribe" placeholder="请输入业务描述(运输方式),不超过150字"
+							maxlength="150" size="large" />
+					</el-form-item>
+				</el-form>
+			</div>
+		</div>
+		<!-- 提交 -->
+		<div style="text-align: right; padding: 10px" class="center">
+			<el-button class="bg-bottom" type="primary" size="small" @click="submit()">提交</el-button>
+		</div>
+	</div>
 </template>
 <script>
-  import {
-    getwarehousename,
-    xialaNo,
-    addoreditoutput,
-    getGoodsName
-  } from '@/model/tasksport/index'
+	import {
+		getwarehousename,
+		xialaNo,
+		addoreditoutput,
+		getGoodsName
+	} from '@/model/tasksport/index'
 
-  import {
-    mapGetters
-  } from 'vuex'
-  import {
-    pullDown,
-    getstaff
-  } from '@/model/warehouse/index'
-  import Pagination from '@/components/Pagination'
-  import WsUpload from '@/components/WsUpload'
-  // import { dayjs, fmoney, EventBus } from 'base-core-lib'
-  import {
-    dayjs,
-    EventBus
-  } from 'base-core-lib'
-  export default {
-    name: 'viewSpareMoney',
-    components: {
-      WsUpload,
-      Pagination
-    },
-    watch: {
-      // vesselId(val) {
-      //   this.getList()
-      // },
-      isShow(val) {
-        this.showType = val
-      },
-      flag(val) {
-        xialaNo({
-            compId: this.compId,
-            flag: val
-          })
-          .toPromise()
-          .then(response => {
-            if (
-              this.dataList1.taskTypeKey == 2 ||
-              this.dataList1.taskTypeKey == 4
-            ) {
-              this.contractNoList1 = response
-              if (this.dataList1.taskTypeKey == 2) {
-                this.contractNoList = response
-              }
-            } else {
-              this.contractNoList = response
-            }
-          })
-      }
-    },
-    computed: {
-      ...mapGetters(['deptBudgetList'])
-    },
-    data() {
-      return {
-        flag: 1,
-        //弹出框
-        dialogViewSpareMoney: false,
-        dialogApproveFormVisible: false,
-        // 船舶类型
-        monetaryKey: null,
-        // 表格显示数据
-        tableDate: [],
-        // 是否显示
-        showType: true,
-        disabled: false,
-        // 年
-        year: '',
-        contractNoList: [],
-        contractNoList1: [],
-        deptBudgetTotal: 0,
-        readonly: true,
-        currentPage: 1,
-        pageSize: 10,
-        searchType: 1,
-        searchKeyWord: '',
-        radio: '1',
-        contractType: 2,
-        startDate: null,
-        endDate: null,
-        goodnameList: [],
-        checked: true,
-        form: {},
-        staffList: [],
-        staffList1: [],
-        options: [],
-        options1: [],
-        storageType: [],
-        storageType1: [],
-        outContractNo: [],
-        // 提交类型
-        submitType: true,
-        status: [],
-        warehouseNameList: [],
-        warehouseNameList1: [],
-        appendixIdsAdd: '',
-        uploadSuccess: {},
-        deletetask: false,
-        warehouseInOutDetail: {},
-        onChange: {},
-        deptBudgetList1: [],
-        gradeList: [],
-        rules: {
-          netWeight: [{
-            required: true,
-            type: 'number',
-            message: '请输入活动名称',
-            trigger: 'blur'
-          }]
-        },
-        size: 10,
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        deptCircularPage: {},
-        packtypeList: {},
-        date: {
-          year: dayjs().format('YYYY'),
-          month: dayjs().format('MM')
-        },
-        contractList: [],
-        inOutTaskNo: '',
-        inOutTaskNo1: '',
-        dataList: {
-          taskTypeKey: '1'
-        },
-        dataList1: {
-          taskTypeKey: '1',
-          inOutType:''
-        },
-        historyList: [],
-        pickerBeginDateBefore: {
-          disabledDate: time => {
-            return time.getTime() > Date.now()
-          }
-        },
-        accessoryTFs: false
-      }
-    },
-    activated() {
-      this.getList()
-    },
-    methods: {
-      //返回按钮
-      revert() {
-        this.$router.go(-1)
-      },
-      returnsales() {
-        this.$router.push({
-          path: 'tranManagementWarehouseInOuttask'
-        })
-      },
-      // 获取当前年月日
-      getdate() {
-        var date = new Date()
-        var year = date.getFullYear() //获取完整的年份(4位)
-        var mouth = date.getMonth() + 1 //获取当前月份(0-11,0代表1月)
-        var datetime = date.getDate() //获取当前日(1-31)
-        var hour = date.getHours()
-        var minutes = date.getMinutes()
-        var seconds = date.getSeconds()
-        if (mouth < 10) {
-          mouth = '0' + mouth
-        }
-        if (datetime < 10) {
-          datetime = '0' + datetime
-        }
-        if (hour < 10) {
-          hour = '0' + hour
-        }
-        if (minutes < 10) {
-          minutes = '0' + minutes
-        }
-        if (seconds < 10) {
-          seconds = '0' + seconds
-        }
-        return year + '' + mouth + datetime + hour + minutes + seconds
-      },
-      // 随机验证码
-      verifyinit() {
-        var arr = []
-        for (var i = 48; i < 57; i++) {
-          arr.push(String.fromCharCode(i))
-        }
-        arr.sort(function() {
-          return Math.random() - 0.5
-        })
-        arr.length = 4
+	import {
+		mapGetters
+	} from 'vuex'
+	import {
+		pullDown,
+		getstaff
+	} from '@/model/warehouse/index'
+	import Pagination from '@/components/Pagination'
+	import WsUpload from '@/components/WsUpload'
+	// import { dayjs, fmoney, EventBus } from 'base-core-lib'
+	import {
+		dayjs,
+		EventBus
+	} from 'base-core-lib'
+	export default {
+		name: 'viewSpareMoney',
+		components: {
+			WsUpload,
+			Pagination
+		},
+		watch: {
+			// vesselId(val) {
+			//   this.getList()
+			// },
+			isShow(val) {
+				this.showType = val
+			},
+			flag(val) {
+				xialaNo({
+						compId: this.compId,
+						flag: val
+					})
+					.toPromise()
+					.then(response => {
+						if (
+							this.dataList1.taskTypeKey == 2 ||
+							this.dataList1.taskTypeKey == 4
+						) {
+							this.contractNoList1 = response
+							if (this.dataList1.taskTypeKey == 2) {
+								this.contractNoList = response
+							}
+						} else {
+							this.contractNoList = response
+						}
+					})
+			}
+		},
+		computed: {
+			...mapGetters(['deptBudgetList'])
+		},
+		data() {
+			return {
+				flag: 1,
+				//弹出框
+				dialogViewSpareMoney: false,
+				dialogApproveFormVisible: false,
+				// 船舶类型
+				monetaryKey: null,
+				// 表格显示数据
+				tableDate: [],
+				// 是否显示
+				showType: true,
+				disabled: false,
+				// 年
+				year: '',
+				contractNoList: [],
+				contractNoList1: [],
+				deptBudgetTotal: 0,
+				readonly: true,
+				currentPage: 1,
+				pageSize: 10,
+				searchType: 1,
+				searchKeyWord: '',
+				radio: '1',
+				contractType: 2,
+				startDate: null,
+				endDate: null,
+				goodnameList: [],
+				checked: true,
+				form: {},
+				staffList: [],
+				staffList1: [],
+				options: [],
+				options1: [],
+				storageType: [],
+				storageType1: [],
+				outContractNo: [],
+				// 提交类型
+				submitType: true,
+				status: [],
+				warehouseNameList: [],
+				warehouseNameList1: [],
+				appendixIdsAdd: '',
+				uploadSuccess: {},
+				deletetask: false,
+				warehouseInOutDetail: {},
+				onChange: {},
+				deptBudgetList1: [],
+				gradeList: [],
+				rules: {
+					netWeight: [{
+						required: true,
+						type: 'number',
+						message: '请输入活动名称',
+						trigger: 'blur'
+					}]
+				},
+				size: 10,
+				compId: sessionStorage.getItem('ws-pf_compId'),
+				deptCircularPage: {},
+				packtypeList: {},
+				date: {
+					year: dayjs().format('YYYY'),
+					month: dayjs().format('MM')
+				},
+				contractList: [],
+				inOutTaskNo: '',
+				inOutTaskNo1: '',
+				dataList: {
+					taskTypeKey: '1'
+				},
+				dataList1: {
+					taskTypeKey: '1',
+					inOutType: ''
+				},
+				historyList: [],
+				pickerBeginDateBefore: {
+					disabledDate: time => {
+						return time.getTime() > Date.now()
+					}
+				},
+				accessoryTFs: false
+			}
+		},
+		activated() {
+			this.getList()
+		},
+		methods: {
+			//返回按钮
+			revert() {
+				this.$router.go(-1)
+			},
+			returnsales() {
+				this.$router.push({
+					path: 'tranManagementWarehouseInOuttask'
+				})
+			},
+			// 获取当前年月日
+			getdate() {
+				var date = new Date()
+				var year = date.getFullYear() //获取完整的年份(4位)
+				var mouth = date.getMonth() + 1 //获取当前月份(0-11,0代表1月)
+				var datetime = date.getDate() //获取当前日(1-31)
+				var hour = date.getHours()
+				var minutes = date.getMinutes()
+				var seconds = date.getSeconds()
+				if (mouth < 10) {
+					mouth = '0' + mouth
+				}
+				if (datetime < 10) {
+					datetime = '0' + datetime
+				}
+				if (hour < 10) {
+					hour = '0' + hour
+				}
+				if (minutes < 10) {
+					minutes = '0' + minutes
+				}
+				if (seconds < 10) {
+					seconds = '0' + seconds
+				}
+				return year + '' + mouth + datetime + hour + minutes + seconds
+			},
+			// 随机验证码
+			verifyinit() {
+				var arr = []
+				for (var i = 48; i < 57; i++) {
+					arr.push(String.fromCharCode(i))
+				}
+				arr.sort(function() {
+					return Math.random() - 0.5
+				})
+				arr.length = 4
 
-        return arr.join('')
-      },
-      MathRand() {
-        var Num = ''
-        for (var i = 0; i < 4; i++) {
-          Num += Math.floor(Math.random() * 10)
-        }
-        return Num
-      },
-      selectTaskNo(e) {
-        if (this.dataList.taskTypeKey == 3) {
-          this.$set(this.dataList1, 'moveTaskNo', e)
-        }
-      },
-      dataFilter(val) {
-        // console.log(val,"名")
-        this.deptBudgetList.staffList = val
-        if (val) {
-          //val存在
-          this.options = this.staffList.filter(item => {
-            if (
-              !!~item.staffName.indexOf(val) ||
-              !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
-            ) {
-              return true
-            }
-          })
-        } else {
-          //val为空时,还原数组
-          this.options = this.staffList
-        }
-      },
-      dataFilter1(val) {
-        // console.log(val,"名")
-        this.deptBudgetList.staffList1 = val
-        if (val) {
-          //val存在
-          this.options = this.staffList1.filter(item => {
-            if (
-              !!~item.staffName.indexOf(val) ||
-              !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
-            ) {
-              return true
-            }
-          })
-        } else {
-          //val为空时,还原数组
-          this.options1 = this.staffList1
-        }
-      },
-      weightchange(e) {
-        if (this.dataList.taskTypeKey == 4) {
-          this.$set(this.dataList, 'weight', e)
-        }
-      },
-      weightchange1(e) {
-        if (this.dataList.taskTypeKey == 3) {
-          this.$set(this.dataList1, 'weight', e)
-        }
-      },
-      bulkDensitychange(e) {
-        if (this.dataList.taskTypeKey == 4) {
-          this.$set(this.dataList, 'bulkDensity', e)
-        } else if (this.dataList1.taskTypeKey == 3) {
-          this.$set(this.dataList1, 'bulkDensity', e)
-        }
-      },
-      waterContentchange(e) {
-        if (this.dataList.taskTypeKey == 4) {
-          this.$set(this.dataList, 'waterContent', e)
-        } else if (this.dataList1.taskTypeKey == 3) {
-          this.$set(this.dataList1, 'waterContent', e)
-        }
-      },
-      unitPricechange(e) {
-        if (this.dataList.taskTypeKey == 4) {
-          this.$set(this.dataList, 'unitPrice', e)
-        } else if (this.dataList1.taskTypeKey == 3) {
-          this.$set(this.dataList1, 'unitPrice', e)
-        }
-      },
-      changecontract(e) {
-        if (this.dataList.taskTypeKey != 3) {
-          for (let i = 0; i < this.contractNoList.length; i++) {
-            if (this.contractNoList[i].contractNo == e) {
-              getGoodsName({
-                  contractId: this.contractNoList[i].id,
-                  contractNo: this.contractNoList[i].contractNo
-                })
-                .toPromise()
-                .then(response => {
-                  this.$set(this.dataList, 'goodsName', response.goodsName)
-                  this.$set(this.dataList, 'goodsNameKey', response.goodsNameKey)
-                  this.$set(this.dataList, 'grade', response.grade)
-                  this.$set(this.dataList, 'gradeKey', response.gradeKey)
-                  this.$set(this.dataList, 'waterContent', response.waterContent)
-                  this.$set(this.dataList, 'bulkDensity', response.bulkDensity)
-                  // this.$set(this.dataList, 'weight', response.weight)
-                  this.$set(
-                    this.dataList,
-                    'unitPrice',
-                    response.unitContractPrice
-                  )
-                })
-            }
-          }
-        }
-      },
-      selectwarehouseName(e) {
-        for (var i = 0; i < this.warehouseNameList.length; i++) {
-          if (this.warehouseNameList[i].id == e) {
-            this.dataList.warehouseName = this.warehouseNameList[i].warehouseName
-            //经办人
-            getstaff({
-                compId: sessionStorage.getItem('ws-pf_compId'),
-                warehouseId: e
-              })
-              .toPromise()
-              .then(response => {
-                this.options = response
-                this.staffList = response
-                //  this.agent = response
-              })
-          }
-        }
-      },
-      selectwarehouseName1(e) {
-        for (var i = 0; i < this.warehouseNameList.length; i++) {
-          if (this.warehouseNameList[i].id == e) {
-            this.dataList1.warehouseName = this.warehouseNameList[i].warehouseName
-            //经办人
-            getstaff({
-                compId: sessionStorage.getItem('ws-pf_compId'),
-                warehouseId: e
-              })
-              .toPromise()
-              .then(response => {
-                this.options1 = response
-                this.staffList1 = response
-                //  this.agent = response
-              })
-          }
-        }
-      },
-      changecontract1(e) {
-        if (this.dataList1.taskTypeKey != 3) {
-          for (let i = 0; i < this.contractNoList.length; i++) {
-            if (this.contractNoList[i].contractNo == e) {
-              getGoodsName({
-                  contractId: this.contractNoList[i].id,
-                  contractNo: this.contractNoList[i].contractNo
-                })
-                .toPromise()
-                .then(response => {
-                  this.$set(this.dataList1, 'goodsName', response.goodsName)
-                  this.$set(this.dataList1, 'goodsNameKey', response.goodsNameKey)
-                  this.$set(this.dataList1, 'grade', response.grade)
-                  this.$set(this.dataList1, 'gradeKey', response.gradeKey)
-                  this.$set(this.dataList1, 'waterContent', response.waterContent)
-                  this.$set(this.dataList1, 'bulkDensity', response.bulkDensity)
-                  this.$set(this.dataList1, 'weight', response.weight)
-                  this.$set(
-                    this.dataList1,
-                    'unitPrice',
-                    response.unitContractPrice
-                  )
-                })
-            }
-          }
-        }
-      },
-      selectstaff(e) {
-        for (var i = 0; i < this.staffList.length; i++) {
-          if (this.staffList[i].staffName == e) {
-            this.dataList.agentKey = this.staffList[i].staffId
-          }
-        }
-      },
-      selectstaff1(e) {
-        for (var i = 0; i < this.staffList.length; i++) {
-          if (this.staffList[i].staffName == e) {
-            this.dataList1.agentKey = this.staffList[i].staffId
-          }
-        }
-      },
-      requestadd(list, status) {
-        list.compId = sessionStorage.getItem('ws-pf_compId')
-        list.publisher =
-          sessionStorage.getItem('ws-pf_roleName') +
-          sessionStorage.getItem('ws-pf_staffName')
-        addoreditoutput(list)
-          .toPromise()
-          .then(response => {
-            var that = this
-            this.$message.success('添加成功')
-            setTimeout(function() {
-              that.dataList = {
-                taskTypeKey: 1
-              }
-              that.dataList1 = {}
-              that.$router.push({
-                path: 'tranManagementWarehouseInOuttask'
-              })
-            }, 2000)
-          })
-      },
-      //提交按钮
-      submit() {
-        if (this.dataList.taskTypeKey == 1) {
-          if (!this.dataList.warehouseName) {
-            this.$message({
-              message: '仓库名不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList.contractNo) {
-            this.$message({
-              message: '合同编号不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList.weight) {
-            this.$message({
-              message: '重量(吨)不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            isNaN(this.dataList.weight) ||
-            (String(this.dataList.weight).indexOf('.') != -1 &&
-              String(this.dataList.weight).length -
-              (String(this.dataList.weight).indexOf('.') + 1) >
-              2) ||
-            this.dataList.weight < 0 ||
-            this.dataList.weight > 200000
-          ) {
-            this.$message({
-              message: '重量(吨)输入有误!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList.bulkDensity) {
-            this.$message({
-              message: '容重不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            this.dataList.bulkDensity < 500 ||
-            this.dataList.bulkDensity > 1000
-          ) {
-            this.$message({
-              message: '容重输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            String(this.dataList.bulkDensity).indexOf('.') != -1 &&
-            String(this.dataList.bulkDensity).length -
-            (String(this.dataList.bulkDensity).indexOf('.') + 1) >
-            0
-          ) {
-            this.$message({
-              message: '容重需输入整数',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList.waterContent) {
-            this.$message({
-              message: '水分不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (this.dataList.waterContent < 0 || this.dataList.waterContent > 40) {
-            this.$message({
-              message: '水分输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            String(this.dataList.waterContent).indexOf('.') != -1 &&
-            String(this.dataList.waterContent).length -
-            (String(this.dataList.waterContent).indexOf('.') + 1) >
-            1
-          ) {
-            this.$message({
-              message: '水分输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList.unitPrice) {
-            this.$message({
-              message: '单价不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            (this.dataList.unitPrice &&
-              String(this.dataList.unitPrice).indexOf('.') != -1 &&
-              String(this.dataList.unitPrice).length -
-              (String(this.dataList.unitPrice).indexOf('.') + 1) >
-              2) ||
-            this.dataList.unitPrice > 100000 ||
-            this.dataList.unitPrice < 1
-          ) {
-            this.$message({
-              message: '单价输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList.predictDate) {
-            this.$message({
-              message: '预计出库日期不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          // if (!this.dataList.agent) {
-          //   this.$message({
-          //     message: '出库经办人不能为空!',
-          //     type: 'warning'
-          //   })
-          //   return
-          // }
-          if (!this.dataList.businessDescribe) {
-            this.$message({
-              message: '业务描述不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-        }
+				return arr.join('')
+			},
+			MathRand() {
+				var Num = ''
+				for (var i = 0; i < 4; i++) {
+					Num += Math.floor(Math.random() * 10)
+				}
+				return Num
+			},
+			selectTaskNo(e) {
+				if (this.dataList.taskTypeKey == 3) {
+					this.$set(this.dataList1, 'moveTaskNo', e)
+				}
+			},
+			dataFilter(val) {
+				// console.log(val,"名")
+				this.deptBudgetList.staffList = val
+				if (val) {
+					//val存在
+					this.options = this.staffList.filter(item => {
+						if (
+							!!~item.staffName.indexOf(val) ||
+							!!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+						) {
+							return true
+						}
+					})
+				} else {
+					//val为空时,还原数组
+					this.options = this.staffList
+				}
+			},
+			dataFilter1(val) {
+				// console.log(val,"名")
+				this.deptBudgetList.staffList1 = val
+				if (val) {
+					//val存在
+					this.options = this.staffList1.filter(item => {
+						if (
+							!!~item.staffName.indexOf(val) ||
+							!!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+						) {
+							return true
+						}
+					})
+				} else {
+					//val为空时,还原数组
+					this.options1 = this.staffList1
+				}
+			},
+			weightchange(e) {
+				if (this.dataList.taskTypeKey == 4) {
+					this.$set(this.dataList, 'weight', e)
+				}
+			},
+			weightchange1(e) {
+				if (this.dataList.taskTypeKey == 3) {
+					this.$set(this.dataList1, 'weight', e)
+				}
+			},
+			bulkDensitychange(e) {
+				if (this.dataList.taskTypeKey == 4) {
+					this.$set(this.dataList, 'bulkDensity', e)
+				} else if (this.dataList1.taskTypeKey == 3) {
+					this.$set(this.dataList1, 'bulkDensity', e)
+				}
+			},
+			waterContentchange(e) {
+				if (this.dataList.taskTypeKey == 4) {
+					this.$set(this.dataList, 'waterContent', e)
+				} else if (this.dataList1.taskTypeKey == 3) {
+					this.$set(this.dataList1, 'waterContent', e)
+				}
+			},
+			unitPricechange(e) {
+				if (this.dataList.taskTypeKey == 4) {
+					this.$set(this.dataList, 'unitPrice', e)
+				} else if (this.dataList1.taskTypeKey == 3) {
+					this.$set(this.dataList1, 'unitPrice', e)
+				}
+			},
+			changecontract(e) {
+				if (this.dataList.taskTypeKey != 3) {
+					for (let i = 0; i < this.contractNoList.length; i++) {
+						if (this.contractNoList[i].contractNo == e) {
+							getGoodsName({
+									contractId: this.contractNoList[i].id,
+									contractNo: this.contractNoList[i].contractNo
+								})
+								.toPromise()
+								.then(response => {
+									this.$set(this.dataList, 'goodsName', response.goodsName)
+									this.$set(this.dataList, 'goodsNameKey', response.goodsNameKey)
+									this.$set(this.dataList, 'grade', response.grade)
+									this.$set(this.dataList, 'gradeKey', response.gradeKey)
+									this.$set(this.dataList, 'waterContent', response.waterContent)
+									this.$set(this.dataList, 'bulkDensity', response.bulkDensity)
+									// this.$set(this.dataList, 'weight', response.weight)
+									this.$set(
+										this.dataList,
+										'unitPrice',
+										response.unitContractPrice
+									)
+								})
+						}
+					}
+				}
+			},
+			selectwarehouseName(e) {
+				for (var i = 0; i < this.warehouseNameList.length; i++) {
+					if (this.warehouseNameList[i].id == e) {
+						this.dataList.warehouseName = this.warehouseNameList[i].warehouseName
+						//经办人
+						getstaff({
+								compId: sessionStorage.getItem('ws-pf_compId'),
+								warehouseId: e
+							})
+							.toPromise()
+							.then(response => {
+								this.options = response
+								this.staffList = response
+								//  this.agent = response
+							})
+					}
+				}
+			},
+			selectwarehouseName1(e) {
+				for (var i = 0; i < this.warehouseNameList.length; i++) {
+					if (this.warehouseNameList[i].id == e) {
+						this.dataList1.warehouseName = this.warehouseNameList[i].warehouseName
+						//经办人
+						getstaff({
+								compId: sessionStorage.getItem('ws-pf_compId'),
+								warehouseId: e
+							})
+							.toPromise()
+							.then(response => {
+								this.options1 = response
+								this.staffList1 = response
+								//  this.agent = response
+							})
+					}
+				}
+			},
+			changecontract1(e) {
+				if (this.dataList1.taskTypeKey != 3) {
+					for (let i = 0; i < this.contractNoList.length; i++) {
+						if (this.contractNoList[i].contractNo == e) {
+							getGoodsName({
+									contractId: this.contractNoList[i].id,
+									contractNo: this.contractNoList[i].contractNo
+								})
+								.toPromise()
+								.then(response => {
+									this.$set(this.dataList1, 'goodsName', response.goodsName)
+									this.$set(this.dataList1, 'goodsNameKey', response.goodsNameKey)
+									this.$set(this.dataList1, 'grade', response.grade)
+									this.$set(this.dataList1, 'gradeKey', response.gradeKey)
+									this.$set(this.dataList1, 'waterContent', response.waterContent)
+									this.$set(this.dataList1, 'bulkDensity', response.bulkDensity)
+									this.$set(this.dataList1, 'weight', response.weight)
+									this.$set(
+										this.dataList1,
+										'unitPrice',
+										response.unitContractPrice
+									)
+								})
+						}
+					}
+				}
+			},
+			selectstaff(e) {
+				for (var i = 0; i < this.staffList.length; i++) {
+					if (this.staffList[i].staffName == e) {
+						this.dataList.agentKey = this.staffList[i].staffId
+					}
+				}
+			},
+			selectstaff1(e) {
+				for (var i = 0; i < this.staffList.length; i++) {
+					if (this.staffList[i].staffName == e) {
+						this.dataList1.agentKey = this.staffList[i].staffId
+					}
+				}
+			},
+			requestadd(list, status) {
+				list.compId = sessionStorage.getItem('ws-pf_compId')
+				list.publisher =
+					sessionStorage.getItem('ws-pf_roleName') +
+					sessionStorage.getItem('ws-pf_staffName')
+				addoreditoutput(list)
+					.toPromise()
+					.then(response => {
+						var that = this
+						this.$message.success('添加成功')
+						setTimeout(function() {
+							that.dataList = {
+								taskTypeKey: 1
+							}
+							that.dataList1 = {}
+							that.$router.push({
+								path: 'tranManagementWarehouseInOuttask'
+							})
+						}, 2000)
+					})
+			},
+			//提交按钮
+			submit() {
+				if (this.dataList.taskTypeKey == 1) {
+					if (!this.dataList.warehouseName) {
+						this.$message({
+							message: '仓库名不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList.contractNo) {
+						this.$message({
+							message: '合同编号不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList.weight) {
+						this.$message({
+							message: '重量(吨)不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						isNaN(this.dataList.weight) ||
+						(String(this.dataList.weight).indexOf('.') != -1 &&
+							String(this.dataList.weight).length -
+							(String(this.dataList.weight).indexOf('.') + 1) >
+							2) ||
+						this.dataList.weight < 0 ||
+						this.dataList.weight > 200000
+					) {
+						this.$message({
+							message: '重量(吨)输入有误!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList.bulkDensity) {
+						this.$message({
+							message: '容重不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						this.dataList.bulkDensity < 500 ||
+						this.dataList.bulkDensity > 1000
+					) {
+						this.$message({
+							message: '容重输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						String(this.dataList.bulkDensity).indexOf('.') != -1 &&
+						String(this.dataList.bulkDensity).length -
+						(String(this.dataList.bulkDensity).indexOf('.') + 1) >
+						0
+					) {
+						this.$message({
+							message: '容重需输入整数',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList.waterContent) {
+						this.$message({
+							message: '水分不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (this.dataList.waterContent < 0 || this.dataList.waterContent > 40) {
+						this.$message({
+							message: '水分输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						String(this.dataList.waterContent).indexOf('.') != -1 &&
+						String(this.dataList.waterContent).length -
+						(String(this.dataList.waterContent).indexOf('.') + 1) >
+						1
+					) {
+						this.$message({
+							message: '水分输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList.unitPrice) {
+						this.$message({
+							message: '单价不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						(this.dataList.unitPrice &&
+							String(this.dataList.unitPrice).indexOf('.') != -1 &&
+							String(this.dataList.unitPrice).length -
+							(String(this.dataList.unitPrice).indexOf('.') + 1) >
+							2) ||
+						this.dataList.unitPrice > 100000 ||
+						this.dataList.unitPrice < 1
+					) {
+						this.$message({
+							message: '单价输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList.predictDate) {
+						this.$message({
+							message: '预计出库日期不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					// if (!this.dataList.agent) {
+					//   this.$message({
+					//     message: '出库经办人不能为空!',
+					//     type: 'warning'
+					//   })
+					//   return
+					// }
+					if (!this.dataList.businessDescribe) {
+						this.$message({
+							message: '业务描述不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+				}
 
-        if (this.dataList.taskTypeKey == 2) {
-          if (!this.dataList1.warehouseName) {
-            this.$message({
-              message: '仓库名不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.contractNo) {
-            this.$message({
-              message: '合同编号不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.weight) {
-            this.$message({
-              message: '重量(吨)不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            isNaN(this.dataList1.weight) ||
-            (String(this.dataList1.weight).indexOf('.') != -1 &&
-              String(this.dataList1.weight).length -
-              (String(this.dataList1.weight).indexOf('.') + 1) >
-              2) ||
-            this.dataList1.weight < 0 ||
-            this.dataList1.weight > 200000
-          ) {
-            this.$message({
-              message: '重量(吨)输入有误!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.bulkDensity) {
-            this.$message({
-              message: '容重不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            this.dataList1.bulkDensity < 500 ||
-            this.dataList1.bulkDensity > 1000
-          ) {
-            this.$message({
-              message: '容重输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            String(this.dataList1.bulkDensity).indexOf('.') != -1 &&
-            String(this.dataList1.bulkDensity).length -
-            (String(this.dataList1.bulkDensity).indexOf('.') + 1) >
-            0
-          ) {
-            this.$message({
-              message: '容重需输入整数',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.waterContent) {
-            this.$message({
-              message: '水分不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            this.dataList1.waterContent < 0 ||
-            this.dataList1.waterContent > 40
-          ) {
-            this.$message({
-              message: '水分输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            String(this.dataList1.waterContent).indexOf('.') != -1 &&
-            String(this.dataList1.waterContent).length -
-            (String(this.dataList1.waterContent).indexOf('.') + 1) >
-            1
-          ) {
-            this.$message({
-              message: '水分输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.unitPrice) {
-            this.$message({
-              message: '单价不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            (this.dataList1.unitPrice &&
-              String(this.dataList1.unitPrice).indexOf('.') != -1 &&
-              String(this.dataList1.unitPrice).length -
-              (String(this.dataList1.unitPrice).indexOf('.') + 1) >
-              2) ||
-            this.dataList1.unitPrice > 100000 ||
-            this.dataList1.unitPrice < 1
-          ) {
-            this.$message({
-              message: '单价输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.predictDate) {
-            this.$message({
-              message: '预计入库日期不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          // if (!this.dataList1.agent) {
-          //   this.$message({
-          //     message: '入库经办人不能为空!',
-          //     type: 'warning'
-          //   })
-          //   return
-          // }
-          if (!this.dataList1.businessDescribe) {
-            this.$message({
-              message: '业务描述不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-        }
-        if (this.dataList.taskTypeKey == 3) {
-          if (!this.dataList.warehouseName) {
-            this.$message({
-              message: '出库仓库名不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.warehouseName) {
-            this.$message({
-              message: '入库仓库名不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.moveTaskNo) {
-            this.$message({
-              message: '移库任务编号不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.weight) {
-            this.$message({
-              message: '重量(吨)不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            isNaN(this.dataList1.weight) ||
-            (String(this.dataList1.weight).indexOf('.') != -1 &&
-              String(this.dataList1.weight).length -
-              (String(this.dataList1.weight).indexOf('.') + 1) >
-              2) ||
-            this.dataList1.weight < 0 ||
-            this.dataList1.weight > 200000
-          ) {
-            this.$message({
-              message: '重量(吨)输入有误!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.bulkDensity) {
-            this.$message({
-              message: '容重不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            this.dataList1.bulkDensity < 500 ||
-            this.dataList1.bulkDensity > 1000
-          ) {
-            this.$message({
-              message: '容重输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            String(this.dataList1.bulkDensity).indexOf('.') != -1 &&
-            String(this.dataList1.bulkDensity).length -
-            (String(this.dataList1.bulkDensity).indexOf('.') + 1) >
-            0
-          ) {
-            this.$message({
-              message: '容重需输入整数',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.waterContent) {
-            this.$message({
-              message: '水分不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            this.dataList1.waterContent < 0 ||
-            this.dataList1.waterContent > 40
-          ) {
-            this.$message({
-              message: '水分输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            String(this.dataList1.waterContent).indexOf('.') != -1 &&
-            String(this.dataList1.waterContent).length -
-            (String(this.dataList1.waterContent).indexOf('.') + 1) >
-            1
-          ) {
-            this.$message({
-              message: '水分输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.unitPrice) {
-            this.$message({
-              message: '单价不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            (this.dataList1.unitPrice &&
-              String(this.dataList1.unitPrice).indexOf('.') != -1 &&
-              String(this.dataList1.unitPrice).length -
-              (String(this.dataList1.unitPrice).indexOf('.') + 1) >
-              2) ||
-            this.dataList1.unitPrice > 100000 ||
-            this.dataList1.unitPrice < 1
-          ) {
-            this.$message({
-              message: '单价输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList.predictDate) {
-            this.$message({
-              message: '预计出库日期不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.predictDate) {
-            this.$message({
-              message: '预计入库日期不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          // if (!this.dataList.agent) {
-          //   this.$message({
-          //     message: '出库经办人不能为空!',
-          //     type: 'warning'
-          //   })
-          //   return
-          // }
-          // if (!this.dataList1.agent) {
-          //   this.$message({
-          //     message: '入库经办人不能为空!',
-          //     type: 'warning'
-          //   })
-          //   return
-          // }
-          if (!this.dataList1.businessDescribe) {
-            this.$message({
-              message: '业务描述不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-        }
+				if (this.dataList.taskTypeKey == 2) {
+					if (!this.dataList1.warehouseName) {
+						this.$message({
+							message: '仓库名不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.contractNo) {
+						this.$message({
+							message: '合同编号不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.weight) {
+						this.$message({
+							message: '重量(吨)不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						isNaN(this.dataList1.weight) ||
+						(String(this.dataList1.weight).indexOf('.') != -1 &&
+							String(this.dataList1.weight).length -
+							(String(this.dataList1.weight).indexOf('.') + 1) >
+							2) ||
+						this.dataList1.weight < 0 ||
+						this.dataList1.weight > 200000
+					) {
+						this.$message({
+							message: '重量(吨)输入有误!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.bulkDensity) {
+						this.$message({
+							message: '容重不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						this.dataList1.bulkDensity < 500 ||
+						this.dataList1.bulkDensity > 1000
+					) {
+						this.$message({
+							message: '容重输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						String(this.dataList1.bulkDensity).indexOf('.') != -1 &&
+						String(this.dataList1.bulkDensity).length -
+						(String(this.dataList1.bulkDensity).indexOf('.') + 1) >
+						0
+					) {
+						this.$message({
+							message: '容重需输入整数',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.waterContent) {
+						this.$message({
+							message: '水分不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						this.dataList1.waterContent < 0 ||
+						this.dataList1.waterContent > 40
+					) {
+						this.$message({
+							message: '水分输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						String(this.dataList1.waterContent).indexOf('.') != -1 &&
+						String(this.dataList1.waterContent).length -
+						(String(this.dataList1.waterContent).indexOf('.') + 1) >
+						1
+					) {
+						this.$message({
+							message: '水分输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.unitPrice) {
+						this.$message({
+							message: '单价不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						(this.dataList1.unitPrice &&
+							String(this.dataList1.unitPrice).indexOf('.') != -1 &&
+							String(this.dataList1.unitPrice).length -
+							(String(this.dataList1.unitPrice).indexOf('.') + 1) >
+							2) ||
+						this.dataList1.unitPrice > 100000 ||
+						this.dataList1.unitPrice < 1
+					) {
+						this.$message({
+							message: '单价输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.predictDate) {
+						this.$message({
+							message: '预计入库日期不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					// if (!this.dataList1.agent) {
+					//   this.$message({
+					//     message: '入库经办人不能为空!',
+					//     type: 'warning'
+					//   })
+					//   return
+					// }
+					if (!this.dataList1.businessDescribe) {
+						this.$message({
+							message: '业务描述不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+				}
+				if (this.dataList.taskTypeKey == 3) {
+					if (!this.dataList.warehouseName) {
+						this.$message({
+							message: '出库仓库名不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.warehouseName) {
+						this.$message({
+							message: '入库仓库名不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.moveTaskNo) {
+						this.$message({
+							message: '移库任务编号不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.weight) {
+						this.$message({
+							message: '重量(吨)不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						isNaN(this.dataList1.weight) ||
+						(String(this.dataList1.weight).indexOf('.') != -1 &&
+							String(this.dataList1.weight).length -
+							(String(this.dataList1.weight).indexOf('.') + 1) >
+							2) ||
+						this.dataList1.weight < 0 ||
+						this.dataList1.weight > 200000
+					) {
+						this.$message({
+							message: '重量(吨)输入有误!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.bulkDensity) {
+						this.$message({
+							message: '容重不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						this.dataList1.bulkDensity < 500 ||
+						this.dataList1.bulkDensity > 1000
+					) {
+						this.$message({
+							message: '容重输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						String(this.dataList1.bulkDensity).indexOf('.') != -1 &&
+						String(this.dataList1.bulkDensity).length -
+						(String(this.dataList1.bulkDensity).indexOf('.') + 1) >
+						0
+					) {
+						this.$message({
+							message: '容重需输入整数',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.waterContent) {
+						this.$message({
+							message: '水分不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						this.dataList1.waterContent < 0 ||
+						this.dataList1.waterContent > 40
+					) {
+						this.$message({
+							message: '水分输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						String(this.dataList1.waterContent).indexOf('.') != -1 &&
+						String(this.dataList1.waterContent).length -
+						(String(this.dataList1.waterContent).indexOf('.') + 1) >
+						1
+					) {
+						this.$message({
+							message: '水分输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.unitPrice) {
+						this.$message({
+							message: '单价不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						(this.dataList1.unitPrice &&
+							String(this.dataList1.unitPrice).indexOf('.') != -1 &&
+							String(this.dataList1.unitPrice).length -
+							(String(this.dataList1.unitPrice).indexOf('.') + 1) >
+							2) ||
+						this.dataList1.unitPrice > 100000 ||
+						this.dataList1.unitPrice < 1
+					) {
+						this.$message({
+							message: '单价输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList.predictDate) {
+						this.$message({
+							message: '预计出库日期不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.predictDate) {
+						this.$message({
+							message: '预计入库日期不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					// if (!this.dataList.agent) {
+					//   this.$message({
+					//     message: '出库经办人不能为空!',
+					//     type: 'warning'
+					//   })
+					//   return
+					// }
+					// if (!this.dataList1.agent) {
+					//   this.$message({
+					//     message: '入库经办人不能为空!',
+					//     type: 'warning'
+					//   })
+					//   return
+					// }
+					if (!this.dataList1.businessDescribe) {
+						this.$message({
+							message: '业务描述不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+				}
 
-        if (this.dataList1.taskTypeKey == 4) {
-          if (!this.dataList.warehouseName) {
-            this.$message({
-              message: '出库仓库名不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.warehouseName) {
-            this.$message({
-              message: '入库仓库名不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.contractNo) {
-            this.$message({
-              message: '合同编号不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList.contractNo) {
-            this.$message({
-              message: '合同编号不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.weight) {
-            this.$message({
-              message: '重量(吨)不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            isNaN(this.dataList1.weight) ||
-            (String(this.dataList1.weight).indexOf('.') != -1 &&
-              String(this.dataList1.weight).length -
-              (String(this.dataList1.weight).indexOf('.') + 1) >
-              2) ||
-            this.dataList1.weight < 0 ||
-            this.dataList1.weight > 200000
-          ) {
-            this.$message({
-              message: '重量(吨)输入有误!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.bulkDensity) {
-            this.$message({
-              message: '容重不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            this.dataList1.bulkDensity < 500 ||
-            this.dataList1.bulkDensity > 1000
-          ) {
-            this.$message({
-              message: '容重输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            String(this.dataList1.bulkDensity).indexOf('.') != -1 &&
-            String(this.dataList1.bulkDensity).length -
-            (String(this.dataList1.bulkDensity).indexOf('.') + 1) >
-            0
-          ) {
-            this.$message({
-              message: '容重需输入整数',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.waterContent) {
-            this.$message({
-              message: '水分不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            this.dataList1.waterContent < 0 ||
-            this.dataList1.waterContent > 40
-          ) {
-            this.$message({
-              message: '水分输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            String(this.dataList1.waterContent).indexOf('.') != -1 &&
-            String(this.dataList1.waterContent).length -
-            (String(this.dataList1.waterContent).indexOf('.') + 1) >
-            1
-          ) {
-            this.$message({
-              message: '水分输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.unitPrice) {
-            this.$message({
-              message: '单价不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            (this.dataList1.unitPrice &&
-              String(this.dataList1.unitPrice).indexOf('.') != -1 &&
-              String(this.dataList1.unitPrice).length -
-              (String(this.dataList1.unitPrice).indexOf('.') + 1) >
-              2) ||
-            this.dataList1.unitPrice > 100000 ||
-            this.dataList1.unitPrice < 1
-          ) {
-            this.$message({
-              message: '单价输入错误',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList.predictDate) {
-            this.$message({
-              message: '预计出库日期不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.predictDate) {
-            this.$message({
-              message: '预计入库日期不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          // if (!this.dataList.agent) {
-          //   this.$message({
-          //     message: '出库经办人不能为空!',
-          //     type: 'warning'
-          //   })
-          //   return
-          // }
-          // if (!this.dataList1.agent) {
-          //   this.$message({
-          //     message: '入库经办人不能为空!',
-          //     type: 'warning'
-          //   })
-          //   return
-          // }
-          if (!this.dataList.businessDescribe) {
-            this.$message({
-              message: '业务描述不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-        }
-        // this.dataList.goodsNameKey =
-        // this.dataList.positionId =
-        // this.dataList.baseId =
-        this.dataList.inOutFlag = 1
-        this.dataList1.inOutFlag = 2
-        if (this.dataList.taskTypeKey == 1) {
-          this.dataList.inOutTaskNo = this.inOutTaskNo
-          this.requestadd(this.dataList)
-        } else if (this.dataList1.taskTypeKey == 2) {
-          this.dataList1.inOutTaskNo = this.inOutTaskNo1
-          this.requestadd(this.dataList1)
-        } else if (
-          this.dataList.taskTypeKey == 3 ||
-          this.dataList.taskTypeKey == 4
-        ) {
-          this.dataList.inOutTaskNo = this.inOutTaskNo
-          this.dataList.relevanceId = this.GetRandomNum(100000, 999999)
-          if (this.dataList.taskTypeKey == 3) {
-            this.dataList.businessDescribe = this.dataList1.businessDescribe
-          } else {
-            this.dataList1.businessDescribe = this.dataList.businessDescribe
-          }
-          this.requestadd(this.dataList, 'repetition')
-          this.dataList1.inOutTaskNo = this.inOutTaskNo1
-          this.dataList1.relevanceId = this.dataList.relevanceId
-          this.dataList1.goodsName = this.dataList.goodsName
-          this.requestadd(this.dataList1, 'repetition')
-        }
-      },
-      tarechange(e) {
-        if (this.dataList.grossWeight && this.dataList.tare) {
-          this.dataList.netWeight = Number(
-            this.dataList.grossWeight - this.dataList.tare
-          )
-        }
-      },
-      grossWeightchange(e) {
-        if (this.dataList.grossWeight && this.dataList.tare) {
-          this.dataList.netWeight = Number(
-            this.dataList.grossWeight - this.dataList.tare
-          )
-        }
-      },
-      selectgoodsName(e) {
-        for (var i = 0; i < this.goodnameList.length; i++) {
-          if (this.goodnameList[i].constValue == e) {
-            this.dataList.goodsNameKey = this.goodnameList[i].constKey
-          }
-        }
-      },
-      selectgoodsName1(e) {
-        for (var i = 0; i < this.goodnameList.length; i++) {
-          if (this.goodnameList[i].constValue == e) {
-            this.dataList1.goodsNameKey = this.goodnameList[i].constKey
-          }
-        }
-      },
-      selectpackingMethod(e) {
-        for (var i = 0; i < this.gradeList.length; i++) {
-          if (this.gradeList[i].constValue == e) {
-            this.dataList.gradeKey = this.gradeList[i].constKey
-            if (this.dataList.taskTypeKey == 3) {
-              this.$set(this.dataList1, 'grade', e)
-              this.$set(this.dataList1, 'gradeKey', this.gradeList[i].constKey)
-            }
-          }
-        }
-      },
-      selectpackingMethod1(e) {
-        for (var i = 0; i < this.gradeList.length; i++) {
-          if (this.gradeList[i].constValue == e) {
-            this.dataList1.packingMethodKey = this.gradeList[i].constKey
-            if (this.dataList1.taskTypeKey == 4) {
-              this.$set(this.dataList, 'grade', e)
-              this.$set(this.dataList, 'gradeKey', this.gradeList[i].constKey)
-            }
-          }
-        }
-      },
-      selectstorageType(e) {
-        switch (e) {
-          case '采购出库':
-            this.flag = 0
-            break
-          case '销售出库':
-            this.flag = 1
-            break
-        }
-        for (var i = 0; i < this.storageType.length; i++) {
-          if (this.storageType[i].constValue == e) {
-            this.dataList.inOutTypeKey = this.storageType[i].constKey
-          }
-        }
-      },
-      selectstorageType1(e) {
-        switch (e) {
-          case '采购入库':
-            this.flag = 0
-            break
-              case '暂存入库':
-            this.flag = 0
-            break
-              case '贸易服务入库':
-            this.flag = 0
-            break
-          case '退库':
-            this.flag = 2
-            break
-        }
-        for (var i = 0; i < this.storageType1.length; i++) {
-          if (this.storageType1[i].constValue == e) {
-            this.dataList1.inOutTypeKey = this.storageType1[i].constKey
-          }
-        }
-      },
-      handleClose() {
-        this.accessoryTFs = false
-      },
-      handleSizeChange(val) {
-        console.log(`每页 ${val} 条`)
-        this.pageSize = val
-        this.getList()
-      },
-      businessDescriptionchange(e) {
-        console.log(e)
-      },
-      handleCurrentChange(val) {
-        this.currentPage = val
-        console.log(`当前页: ${val}`)
-        this.getList()
-      },
-      tasknumber() {
-        if (this.dataList.taskTypeKey == 1) {
-          this.inOutTaskNo = 'CK' + this.getdate() + this.MathRand()
-        } else if (this.dataList.taskTypeKey == 2) {
-          this.inOutTaskNo1 = 'RK' + this.getdate() + this.MathRand()
-        } else if (this.dataList.taskTypeKey == 3) {
-          var random = this.getdate() + this.MathRand()
-          this.inOutTaskNo = 'YKC' + random
-          this.inOutTaskNo1 = 'YKR' + random
-        } else if (this.dataList.taskTypeKey == 4) {
-          var random = this.getdate() + this.MathRand()
-          this.inOutTaskNo = 'TCC' + random
-          this.inOutTaskNo1 = 'TCR' + random
-        }
-      },
-      tasktypechange(e) {
-        if (!this.$route.query.relevanceId) {
-          this.tasknumber()
-        }
-        this.dataList1.taskTypeKey = e
-        if (this.dataList.taskTypeKey == 1) {
-          this.dataList.inOutType = '销售出库'
-          this.dataList.inOutTypeKey = '1'
-          this.flag = 1
-        }
-        if (this.dataList1.taskTypeKey == 2) {
-          this.dataList1.inOutType = '采购入库'
-          this.dataList1.inOutTypeKey = '1'
-          this.flag = 0
-        } else if (this.dataList1.taskTypeKey == 3) {
-          this.disabled = true
-          this.dataList1.inOutType = '移库入库'
-          this.dataList1.inOutTypeKey = '3'
-          this.dataList.inOutType = '移库出库'
-          this.dataList.inOutTypeKey = '3'
-        } else if (this.dataList1.taskTypeKey == 4) {
-          this.disabled = true
-          this.dataList1.inOutType = '退库'
-          this.dataList1.inOutTypeKey = '6'
-          this.dataList.inOutType = '销售出库'
-          this.flag = 2
-          this.dataList.inOutTypeKey = '1'
-        }
-      },
-      GetRandomNum(Min, Max) {
-        var Range = Max - Min
-        var Rand = Math.random()
-        return Min + Math.round(Rand * Range)
-      },
-      getList() {
-        this.tasknumber()
-        this.$set(this.dataList, 'inOutType', '销售出库')
-        this.$set(this.dataList, 'inOutTypeKey', '1')
-        this.$set(this.dataList, 'goodsName', '玉米')
-        this.$set(this.dataList, 'goodsNameKey', '1')
-        this.$set(this.dataList, 'grade', '一等品')
-        this.$set(this.dataList, 'gradeKey', '1')
-        this.$set(this.dataList1, 'goodsName', '玉米')
-        this.$set(this.dataList1, 'goodsNameKey', '1')
-        this.$set(this.dataList1, 'grade', '一等品')
-        this.$set(this.dataList1, 'gradeKey', '1')
-        // 货名
-        pullDown({
-            constId: 'CON2'
-          })
-          .toPromise()
-          .then(response => {
-            this.goodnameList = response
-          })
-        // 品级
-        pullDown({
-            constId: 'CON3'
-          })
-          .toPromise()
-          .then(response => {
-            this.gradeList = response
-          })
-        pullDown({
-            constId: 'CON6'
-          })
-          .toPromise()
-          .then(response => {
-            this.storageType = response
-          })
-        pullDown({
-            constId: 'CON5'
-          })
-          .toPromise()
-          .then(response => {
-            this.storageType1 = response
-          })
-        xialaNo({
-            compId: this.compId,
-            flag: this.flag
-          })
-          .toPromise()
-          .then(response => {
-            this.contractNoList = response
-            // this.contractNoList1 = response
-          })
-        // //临时仓库入库类型
-        // pullDown({ constId: 'WARE1' })
-        //   .toPromise()
-        //   .then((response) => {
-        //     this.storageType = respons
-        //   })
-        // //临时仓库出库类型
-        // pullDown({ constId: 'WARE2' })
-        //   .toPromise()
-        //   .then((response) => {
-        //     this.deliveryType = response
-        //   })
-        //仓库名
-        getwarehousename({
-            compId: this.compId,
-            warehouseType: 1
-          })
-          .toPromise()
-          .then(response => {
-            this.warehouseNameList = response
-            getwarehousename({
-                compId: this.compId,
-                warehouseType: 2
-              })
-              .toPromise()
-              .then(response => {
-                for (var i = 0; i < response.length; i++) {
-                  this.warehouseNameList.push(response[i])
-                }
-              })
-          })
-      },
-      selecttaskType(e) {
-        for (var i = 0; i < this.taskTypeList.length; i++) {
-          if (this.taskTypeList[i].value == e) {
-            this.searchType = this.taskTypeList[i].type
-          }
-        }
-      },
-      fujian(row) {
-        if (
-          row.receiveAttachmentPath === null ||
-          row.receiveAttachmentPath === ''
-        ) {
-          EventBus.$emit(
-            'warning',
-            this.$t('system.noticeCircular.NoInformation')
-          )
-        } else {
-          this.accessoryTFs = true
-        }
-        this.appendixIdss = row.receiveAttachmentPath
-      },
-      handleExamine(row) {
-        this.$router.push({
-          name: 'salesContractExamine',
-          query: {
-            id: row.id
-          }
-        })
-      },
+				if (this.dataList1.taskTypeKey == 4) {
+					if (!this.dataList.warehouseName) {
+						this.$message({
+							message: '出库仓库名不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.warehouseName) {
+						this.$message({
+							message: '入库仓库名不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.contractNo) {
+						this.$message({
+							message: '合同编号不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList.contractNo) {
+						this.$message({
+							message: '合同编号不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.weight) {
+						this.$message({
+							message: '重量(吨)不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						isNaN(this.dataList1.weight) ||
+						(String(this.dataList1.weight).indexOf('.') != -1 &&
+							String(this.dataList1.weight).length -
+							(String(this.dataList1.weight).indexOf('.') + 1) >
+							2) ||
+						this.dataList1.weight < 0 ||
+						this.dataList1.weight > 200000
+					) {
+						this.$message({
+							message: '重量(吨)输入有误!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.bulkDensity) {
+						this.$message({
+							message: '容重不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						this.dataList1.bulkDensity < 500 ||
+						this.dataList1.bulkDensity > 1000
+					) {
+						this.$message({
+							message: '容重输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						String(this.dataList1.bulkDensity).indexOf('.') != -1 &&
+						String(this.dataList1.bulkDensity).length -
+						(String(this.dataList1.bulkDensity).indexOf('.') + 1) >
+						0
+					) {
+						this.$message({
+							message: '容重需输入整数',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.waterContent) {
+						this.$message({
+							message: '水分不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						this.dataList1.waterContent < 0 ||
+						this.dataList1.waterContent > 40
+					) {
+						this.$message({
+							message: '水分输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						String(this.dataList1.waterContent).indexOf('.') != -1 &&
+						String(this.dataList1.waterContent).length -
+						(String(this.dataList1.waterContent).indexOf('.') + 1) >
+						1
+					) {
+						this.$message({
+							message: '水分输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.unitPrice) {
+						this.$message({
+							message: '单价不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (
+						(this.dataList1.unitPrice &&
+							String(this.dataList1.unitPrice).indexOf('.') != -1 &&
+							String(this.dataList1.unitPrice).length -
+							(String(this.dataList1.unitPrice).indexOf('.') + 1) >
+							2) ||
+						this.dataList1.unitPrice > 100000 ||
+						this.dataList1.unitPrice < 1
+					) {
+						this.$message({
+							message: '单价输入错误',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList.predictDate) {
+						this.$message({
+							message: '预计出库日期不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					if (!this.dataList1.predictDate) {
+						this.$message({
+							message: '预计入库日期不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+					// if (!this.dataList.agent) {
+					//   this.$message({
+					//     message: '出库经办人不能为空!',
+					//     type: 'warning'
+					//   })
+					//   return
+					// }
+					// if (!this.dataList1.agent) {
+					//   this.$message({
+					//     message: '入库经办人不能为空!',
+					//     type: 'warning'
+					//   })
+					//   return
+					// }
+					if (!this.dataList.businessDescribe) {
+						this.$message({
+							message: '业务描述不能为空!',
+							type: 'warning'
+						})
+						return
+					}
+				}
+				// this.dataList.goodsNameKey =
+				// this.dataList.positionId =
+				// this.dataList.baseId =
+				this.dataList.inOutFlag = 1
+				this.dataList1.inOutFlag = 2
+				if (this.dataList.taskTypeKey == 1) {
+					this.dataList.inOutTaskNo = this.inOutTaskNo
+					this.requestadd(this.dataList)
+				} else if (this.dataList1.taskTypeKey == 2) {
+					this.dataList1.inOutTaskNo = this.inOutTaskNo1
+					this.requestadd(this.dataList1)
+				} else if (
+					this.dataList.taskTypeKey == 3 ||
+					this.dataList.taskTypeKey == 4
+				) {
+					this.dataList.inOutTaskNo = this.inOutTaskNo
+					this.dataList.relevanceId = this.GetRandomNum(100000, 999999)
+					if (this.dataList.taskTypeKey == 3) {
+						this.dataList.businessDescribe = this.dataList1.businessDescribe
+					} else {
+						this.dataList1.businessDescribe = this.dataList.businessDescribe
+					}
+					this.requestadd(this.dataList, 'repetition')
+					this.dataList1.inOutTaskNo = this.inOutTaskNo1
+					this.dataList1.relevanceId = this.dataList.relevanceId
+					this.dataList1.goodsName = this.dataList.goodsName
+					this.requestadd(this.dataList1, 'repetition')
+				}
+			},
+			tarechange(e) {
+				if (this.dataList.grossWeight && this.dataList.tare) {
+					this.dataList.netWeight = Number(
+						this.dataList.grossWeight - this.dataList.tare
+					)
+				}
+			},
+			grossWeightchange(e) {
+				if (this.dataList.grossWeight && this.dataList.tare) {
+					this.dataList.netWeight = Number(
+						this.dataList.grossWeight - this.dataList.tare
+					)
+				}
+			},
+			selectgoodsName(e) {
+				for (var i = 0; i < this.goodnameList.length; i++) {
+					if (this.goodnameList[i].constValue == e) {
+						this.dataList.goodsNameKey = this.goodnameList[i].constKey
+					}
+				}
+			},
+			selectgoodsName1(e) {
+				for (var i = 0; i < this.goodnameList.length; i++) {
+					if (this.goodnameList[i].constValue == e) {
+						this.dataList1.goodsNameKey = this.goodnameList[i].constKey
+					}
+				}
+			},
+			selectpackingMethod(e) {
+				for (var i = 0; i < this.gradeList.length; i++) {
+					if (this.gradeList[i].constValue == e) {
+						this.dataList.gradeKey = this.gradeList[i].constKey
+						if (this.dataList.taskTypeKey == 3) {
+							this.$set(this.dataList1, 'grade', e)
+							this.$set(this.dataList1, 'gradeKey', this.gradeList[i].constKey)
+						}
+					}
+				}
+			},
+			selectpackingMethod1(e) {
+				for (var i = 0; i < this.gradeList.length; i++) {
+					if (this.gradeList[i].constValue == e) {
+						this.dataList1.packingMethodKey = this.gradeList[i].constKey
+						if (this.dataList1.taskTypeKey == 4) {
+							this.$set(this.dataList, 'grade', e)
+							this.$set(this.dataList, 'gradeKey', this.gradeList[i].constKey)
+						}
+					}
+				}
+			},
+			selectstorageType(e) {
+				switch (e) {
+					case '采购出库':
+						this.flag = 0
+						break
+					case '销售出库':
+						this.flag = 1
+						break
+				}
+				for (var i = 0; i < this.storageType.length; i++) {
+					if (this.storageType[i].constValue == e) {
+						this.dataList.inOutTypeKey = this.storageType[i].constKey
+					}
+				}
+			},
+			selectstorageType1(e) {
+				switch (e) {
+					case '采购入库':
+						this.flag = 0
+						break
+					case '暂存入库':
+						this.flag = 0
+						break
+					case '贸易服务入库':
+						this.flag = 0
+						break
+					case '退库':
+						this.flag = 2
+						break
+				}
+				for (var i = 0; i < this.storageType1.length; i++) {
+					if (this.storageType1[i].constValue == e) {
+						this.dataList1.inOutTypeKey = this.storageType1[i].constKey
+					}
+				}
+			},
+			handleClose() {
+				this.accessoryTFs = false
+			},
+			handleSizeChange(val) {
+				console.log(`每页 ${val} 条`)
+				this.pageSize = val
+				this.getList()
+			},
+			businessDescriptionchange(e) {
+				console.log(e)
+			},
+			handleCurrentChange(val) {
+				this.currentPage = val
+				console.log(`当前页: ${val}`)
+				this.getList()
+			},
+			tasknumber() {
+				if (this.dataList.taskTypeKey == 1) {
+					this.inOutTaskNo = 'CK' + this.getdate() + this.MathRand()
+				} else if (this.dataList.taskTypeKey == 2) {
+					this.inOutTaskNo1 = 'RK' + this.getdate() + this.MathRand()
+				} else if (this.dataList.taskTypeKey == 3) {
+					var random = this.getdate() + this.MathRand()
+					this.inOutTaskNo = 'YKC' + random
+					this.inOutTaskNo1 = 'YKR' + random
+          this.dataList.moveTaskNo = 'YKRW' + random
+				} else if (this.dataList.taskTypeKey == 4) {
+					var random = this.getdate() + this.MathRand()
+					this.inOutTaskNo = 'TCC' + random
+					this.inOutTaskNo1 = 'TCR' + random
+				}
+			},
+			tasktypechange(e) {
+				if (!this.$route.query.relevanceId) {
+					this.tasknumber()
+				}
+				this.dataList1.taskTypeKey = e
+				if (this.dataList.taskTypeKey == 1) {
+					this.dataList.inOutType = '销售出库'
+					this.dataList.inOutTypeKey = '1'
+					this.flag = 1
+				}
+				if (this.dataList1.taskTypeKey == 2) {
+					this.dataList1.inOutType = '采购入库'
+					this.dataList1.inOutTypeKey = '1'
+					this.flag = 0
+				} else if (this.dataList1.taskTypeKey == 3) {
+					this.disabled = true
+					this.dataList1.inOutType = '移库入库'
+					this.dataList1.inOutTypeKey = '3'
+					this.dataList.inOutType = '移库出库'
+					this.dataList.inOutTypeKey = '3'
+				} else if (this.dataList1.taskTypeKey == 4) {
+					this.disabled = true
+					this.dataList1.inOutType = '退库'
+					this.dataList1.inOutTypeKey = '6'
+					this.dataList.inOutType = '销售出库'
+					this.flag = 2
+					this.dataList.inOutTypeKey = '1'
+				}
+			},
+			GetRandomNum(Min, Max) {
+				var Range = Max - Min
+				var Rand = Math.random()
+				return Min + Math.round(Rand * Range)
+			},
+			getList() {
+				this.tasknumber()
+				this.$set(this.dataList, 'inOutType', '销售出库')
+				this.$set(this.dataList, 'inOutTypeKey', '1')
+				this.$set(this.dataList, 'goodsName', '玉米')
+				this.$set(this.dataList, 'goodsNameKey', '1')
+				this.$set(this.dataList, 'grade', '一等品')
+				this.$set(this.dataList, 'gradeKey', '1')
+				this.$set(this.dataList1, 'goodsName', '玉米')
+				this.$set(this.dataList1, 'goodsNameKey', '1')
+				this.$set(this.dataList1, 'grade', '一等品')
+				this.$set(this.dataList1, 'gradeKey', '1')
+				// 货名
+				pullDown({
+						constId: 'CON2'
+					})
+					.toPromise()
+					.then(response => {
+						this.goodnameList = response
+					})
+				// 品级
+				pullDown({
+						constId: 'CON3'
+					})
+					.toPromise()
+					.then(response => {
+						this.gradeList = response
+					})
+				pullDown({
+						constId: 'CON6'
+					})
+					.toPromise()
+					.then(response => {
+						this.storageType = response
+					})
+				pullDown({
+						constId: 'CON5'
+					})
+					.toPromise()
+					.then(response => {
+						this.storageType1 = response
+					})
+				xialaNo({
+						compId: this.compId,
+						flag: this.flag
+					})
+					.toPromise()
+					.then(response => {
+						this.contractNoList = response
+						// this.contractNoList1 = response
+					})
+				// //临时仓库入库类型
+				// pullDown({ constId: 'WARE1' })
+				//   .toPromise()
+				//   .then((response) => {
+				//     this.storageType = respons
+				//   })
+				// //临时仓库出库类型
+				// pullDown({ constId: 'WARE2' })
+				//   .toPromise()
+				//   .then((response) => {
+				//     this.deliveryType = response
+				//   })
+				//仓库名
+				getwarehousename({
+						compId: this.compId,
+						warehouseType: 1
+					})
+					.toPromise()
+					.then(response => {
+						this.warehouseNameList = response
+						getwarehousename({
+								compId: this.compId,
+								warehouseType: 2
+							})
+							.toPromise()
+							.then(response => {
+								for (var i = 0; i < response.length; i++) {
+									this.warehouseNameList.push(response[i])
+								}
+							})
+					})
+			},
+			selecttaskType(e) {
+				for (var i = 0; i < this.taskTypeList.length; i++) {
+					if (this.taskTypeList[i].value == e) {
+						this.searchType = this.taskTypeList[i].type
+					}
+				}
+			},
+			fujian(row) {
+				if (
+					row.receiveAttachmentPath === null ||
+					row.receiveAttachmentPath === ''
+				) {
+					EventBus.$emit(
+						'warning',
+						this.$t('system.noticeCircular.NoInformation')
+					)
+				} else {
+					this.accessoryTFs = true
+				}
+				this.appendixIdss = row.receiveAttachmentPath
+			},
+			handleExamine(row) {
+				this.$router.push({
+					name: 'salesContractExamine',
+					query: {
+						id: row.id
+					}
+				})
+			},
 
-      // 关闭 dialog时 处理文件url 初始化upload组件
-      handleCloe() {
-        this.dialogViewSpareMoney = false
-      },
-      history(row) {
-        console.log(row)
-        billoperatehis({
-            id: row.id
-          })
-          .toPromise()
-          .then(response => {
-            this.historyList = response
-          })
-      }
-    }
-  }
+			// 关闭 dialog时 处理文件url 初始化upload组件
+			handleCloe() {
+				this.dialogViewSpareMoney = false
+			},
+			history(row) {
+				console.log(row)
+				billoperatehis({
+						id: row.id
+					})
+					.toPromise()
+					.then(response => {
+						this.historyList = response
+					})
+			}
+		}
+	}
 </script>
 <style lang="scss" scoped>
-  /deep/.basicInformation {
-    .el-info-table {
-      border: none;
-      position: relative;
-    }
+	/deep/.basicInformation {
+		.el-info-table {
+			border: none;
+			position: relative;
+		}
 
-    .el-form-item {
-      width: 33.3333%;
-      border: none;
-      margin: 0;
+		.el-form-item {
+			width: 33.3333%;
+			border: none;
+			margin: 0;
 
-      .el-form-item__label {
-        text-align: left;
-        font-size: 14px;
-        font-family: PingFangSC-Regular, PingFang SC;
-        font-weight: 400;
-        color: #8890b1;
-      }
+			.el-form-item__label {
+				text-align: left;
+				font-size: 14px;
+				font-family: PingFangSC-Regular, PingFang SC;
+				font-weight: 400;
+				color: #8890b1;
+			}
 
-      .el-form-item__content {
-        padding-left: 0px;
-        padding-right: 10px;
-        // background: #fff;
-        white-space: nowrap;
-        height: 40px;
-        display: flex;
-        -webkit-box-align: center;
-        align-items: center;
-        text-align: left;
-        overflow: hidden;
-      }
-    }
-  }
+			.el-form-item__content {
+				padding-left: 0px;
+				padding-right: 10px;
+				// background: #fff;
+				white-space: nowrap;
+				height: 40px;
+				display: flex;
+				-webkit-box-align: center;
+				align-items: center;
+				text-align: left;
+				overflow: hidden;
+			}
+		}
+	}
 
-  /deep/.el-radio {
-    color: #606266;
-    font-weight: 500;
-    line-height: 1;
-    cursor: pointer;
-    white-space: nowrap;
-    outline: 0;
-    margin-right: 30px;
-    margin-top: 15px;
-  }
+	/deep/.el-radio {
+		color: #606266;
+		font-weight: 500;
+		line-height: 1;
+		cursor: pointer;
+		white-space: nowrap;
+		outline: 0;
+		margin-right: 30px;
+		margin-top: 15px;
+	}
 
-  /deep/.el-radio__inner {
-    border: 1px solid #dcdfe6;
-    border-radius: 100%;
-    width: 14px;
-    height: 14px;
-    background-color: #fff;
-    cursor: pointer;
-    -webkit-box-sizing: border-box;
-    box-sizing: border-box;
-    margin-left: 100px;
-  }
+	/deep/.el-radio__inner {
+		border: 1px solid #dcdfe6;
+		border-radius: 100%;
+		width: 14px;
+		height: 14px;
+		background-color: #fff;
+		cursor: pointer;
+		-webkit-box-sizing: border-box;
+		box-sizing: border-box;
+		margin-left: 100px;
+	}
 
-  /deep/.el-radio__input {
-    white-space: nowrap;
-    cursor: pointer;
-    outline: 0;
-    line-height: 1;
-    vertical-align: middle;
-    margin-top: -1px;
-  }
+	/deep/.el-radio__input {
+		white-space: nowrap;
+		cursor: pointer;
+		outline: 0;
+		line-height: 1;
+		vertical-align: middle;
+		margin-top: -1px;
+	}
 
-  .title {
-    position: relative;
-    padding-left: 10px;
-  }
+	.title {
+		position: relative;
+		padding-left: 10px;
+	}
 
-  .title::before {
-    content: '';
-    display: inline-block;
-    width: 5px;
-    height: 30px;
-    background: #5473e8;
-    position: absolute;
-    left: 0;
-  }
+	.title::before {
+		content: '';
+		display: inline-block;
+		width: 5px;
+		height: 30px;
+		background: #5473e8;
+		position: absolute;
+		left: 0;
+	}
 
-  .el-form {
-    padding: 0 15%;
-    display: flex;
-    flex-wrap: wrap;
-    margin-left: -50px;
-    margin-top: 15px;
-    width: 110%;
-  }
+	.el-form {
+		padding: 0 15%;
+		display: flex;
+		flex-wrap: wrap;
+		margin-left: -50px;
+		margin-top: 15px;
+		width: 110%;
+	}
 
-  .el-button--primary {
-    background-color: #5878e8;
-    border-color: #5878e8;
-  }
+	.el-button--primary {
+		background-color: #5878e8;
+		border-color: #5878e8;
+	}
 
-  .el-col {
-    background: #f6f7fc;
-  }
+	.el-col {
+		background: #f6f7fc;
+	}
 
-  .bg-right {
-    text-align: right;
-    padding: 16px 20px;
-  }
+	.bg-right {
+		text-align: right;
+		padding: 16px 20px;
+	}
 
-  .center {
-    position: relative;
-    top: 50px;
-    width: 40%;
-    height: 2000px;
-    margin: 0 auto;
-    margin-right: 180px;
-  }
+	.center {
+		position: relative;
+		top: 50px;
+		width: 40%;
+		height: 2000px;
+		margin: 0 auto;
+		margin-right: 180px;
+	}
 
-  /deep/.el-form-item__label {
-    width: 160px;
-  }
+	/deep/.el-form-item__label {
+		width: 160px;
+	}
 
-  .inspector {
-    width: 50%;
-  }
+	.inspector {
+		width: 50%;
+	}
 
-  /deep/.el-form-item--small .el-form-item__label,
-  .el-form-item--small .el-form-item__content {
-    text-align: left;
-  }
+	/deep/.el-form-item--small .el-form-item__label,
+	.el-form-item--small .el-form-item__content {
+		text-align: left;
+	}
 
-  /deep/.el-input--small {
-    font-size: 13px;
-    position: relative;
-    display: inline-block;
-  }
+	/deep/.el-input--small {
+		font-size: 13px;
+		position: relative;
+		display: inline-block;
+	}
 
-  .center1 .small-title {
-    margin-left: 323px;
-  }
+	.center1 .small-title {
+		margin-left: 323px;
+	}
 
-  .center1 {
-    width: 90%;
-    margin: 0 auto;
-    margin-left: 10px;
-    margin-top: 25px;
-  }
+	.center1 {
+		width: 90%;
+		margin: 0 auto;
+		margin-left: 10px;
+		margin-top: 25px;
+	}
 
-  /deep/.el-input--small .el-input__inner {
-    height: 32px;
-    line-height: 32px;
-  }
+	/deep/.el-input--small .el-input__inner {
+		height: 32px;
+		line-height: 32px;
+	}
 
-  /deep/.el-select {
-    display: inline-block;
-    position: relative;
-    width: 100%;
-  }
+	/deep/.el-select {
+		display: inline-block;
+		position: relative;
+		width: 100%;
+	}
 
-  .annu {
-    height: 81px;
-    background: #ffffff;
-    border-radius: 4px;
-  }
+	.annu {
+		height: 81px;
+		background: #ffffff;
+		border-radius: 4px;
+	}
 
-  .basicInformation .el-form-item {
-    width: 50.3333%;
-    border: none;
-    margin: 0;
-  }
+	.basicInformation .el-form-item {
+		width: 50.3333%;
+		border: none;
+		margin: 0;
+	}
 
-  .huom {
-    width: 100px;
-  }
+	.huom {
+		width: 100px;
+	}
 
-  .el-form {
-    font-size: 14px;
-    font-family: PingFangSC-Regular, PingFang SC;
-    font-weight: 400;
-    color: #8890b1;
-    line-height: 16px;
-  }
+	.el-form {
+		font-size: 14px;
+		font-family: PingFangSC-Regular, PingFang SC;
+		font-weight: 400;
+		color: #8890b1;
+		line-height: 16px;
+	}
 
-  .a {
-    margin-left: -32px;
-  }
+	.a {
+		margin-left: -32px;
+	}
 
-  .el-radio-group {
-    margin-left: 251px;
-  }
+	.el-radio-group {
+		margin-left: 251px;
+	}
 
-  .ding {
-    height: 23px;
-    background: #e8ecf6;
-    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
-  }
+	.ding {
+		height: 23px;
+		background: #e8ecf6;
+		box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
+	}
 
-  .winseaview-view {
-    padding: 0 0 20px;
-  }
+	.winseaview-view {
+		padding: 0 0 20px;
+	}
 
-  .container {
-    overflow: scroll;
-    height: 93vh;
-  }
+	.container {
+		overflow: scroll;
+		height: 93vh;
+	}
 
-  .el-radio-group {
-    font-size: 0;
-    margin-top: 20px;
-  }
+	.el-radio-group {
+		font-size: 0;
+		margin-top: 20px;
+	}
 
-  /deep/.el-form {
-    padding: 0 15%;
-    display: -webkit-box;
-    display: -ms-flexbox;
-    display: flex;
-    -ms-flex-wrap: wrap;
-    flex-wrap: wrap;
-    margin-left: 130px;
-    margin-top: 15px;
-    width: 110%;
-  }
+	/deep/.el-form {
+		padding: 0 15%;
+		display: -webkit-box;
+		display: -ms-flexbox;
+		display: flex;
+		-ms-flex-wrap: wrap;
+		flex-wrap: wrap;
+		margin-left: 130px;
+		margin-top: 15px;
+		width: 110%;
+	}
 </style>

+ 997 - 967
src/views/tranManagement/tranManagementFireFeedback.vue

@@ -7,13 +7,8 @@
       </el-col>
       <el-col :span="12" class="bg-right">
         <el-button class="bg-bottom" type="primary" size="small" @click="revert()">
-          <img
-            width="6"
-            height="10"
-            style="vertical-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt
-          />返回
+          <img width="6" height="10" style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png" alt />返回
         </el-button>
       </el-col>
     </el-row>
@@ -32,19 +27,10 @@
           }}{{ deptBudgetList.sendArea }}
         </ws-form-item>
         <!--发货人-->
-        <ws-form-item
-          label="发货人"
-          span="1"
-          prop="sender"
-          class="readonly"
-        >{{ deptBudgetList.sender }}</ws-form-item>
+        <ws-form-item label="发货人" span="1" prop="sender" class="readonly">{{ deptBudgetList.sender }}</ws-form-item>
         <!--发货人电话-->
-        <ws-form-item
-          label="发货人电话"
-          span="1"
-          prop="senderPhone"
-          class="readonly"
-        >{{ deptBudgetList.senderPhone }}</ws-form-item>
+        <ws-form-item label="发货人电话" span="1" prop="senderPhone" class="readonly">{{ deptBudgetList.senderPhone }}
+        </ws-form-item>
         <!--收货地址-->
         <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
           {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
@@ -55,17 +41,10 @@
         <!--收货人电话-->
         <ws-form-item label="收货人电话" span="1" prop="receiverPhone">{{ deptBudgetList.receiverPhone }}</ws-form-item>
         <!--发货日期-->
-        <ws-form-item
-          label="发货日期"
-          span="1"
-          prop="deliveryDateStart"
-        >{{ deptBudgetList.deliveryDateStart }}</ws-form-item>
+        <ws-form-item label="发货日期" span="1" prop="deliveryDateStart">{{ deptBudgetList.deliveryDateStart }}
+        </ws-form-item>
         <!--最晚到货日期-->
-        <ws-form-item
-          label="最晚到货日期"
-          span="1"
-          prop="deliveryDateEnd"
-        >{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
+        <ws-form-item label="最晚到货日期" span="1" prop="deliveryDateEnd">{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
         <!--合同编号-->
         <ws-form-item label="合同编号" span="1" prop="contractNo">{{ deptBudgetList.contractNo }}</ws-form-item>
         <!-- 运输方式 -->
@@ -84,13 +63,8 @@
           </ws-form-item>
           <!--发车日期-->
           <el-form-item label="发车日期:" span="1" prop="sendDateStart">
-            <ws-date-picker
-              v-model="deptBudgetList.sendDateStart"
-              type="date"
-              style="width: 150px"
-              placeholder="请选择日期"
-              value-format="yyyy-MM-dd"
-            />
+            <ws-date-picker v-model="deptBudgetList.sendDateStart" type="date" style="width: 150px" placeholder="请选择日期"
+              value-format="yyyy-MM-dd" />
           </el-form-item>
           <!--预计到站日期-->
           <ws-form-item label="预计到站日期:" span="1" prop="receiveDateEnd">
@@ -104,26 +78,21 @@
       </div>
       <div class="small-title" style="font-size: 16px">装车详情</div>
       <!-- 导入 -->
-      <div style="font-size: 16px; width: 100%;  text-align: right">
-        <el-upload
-          style="margin-left: 8px;"
-          class="upload-demo inline-block margin-right-10"
-          action
-          :on-change="handleChange"
-          :show-file-list="false"
+      <div style="font-size: 16px; width: 100%;  text-align: right;display:flex;justify-content:end;">
+        <el-link
+          href="https://taohaoliang.oss-cn-beijing.aliyuncs.com/%E6%B1%BD%E8%BF%90%E8%A3%85%E8%BD%A6%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF.xlsx"
+          style="margin-left: 8px;">
+          <el-button type="primary">模板下载</el-button>
+        </el-link>
+        <el-upload style="margin-left: 8px;" class="upload-demo inline-block margin-right-10" action
+          :on-change="handleChange" :show-file-list="false"
           accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
-          :auto-upload="false"
-        >
+          :auto-upload="false">
           <el-button type="primary">导入</el-button>
         </el-upload>
       </div>
       <div class="liaison" v-if="file_is_show">
-        <div
-          style="width: 100%"
-          class="flex position"
-          v-for="(item, index) in freightspace"
-          :key="index"
-        >
+        <div style="width: 100%" class="flex position" v-for="(item, index) in freightspace" :key="index">
           <ws-info-table>
             <!--车厢号-->
             <div class="catNos">车厢号-{{ index + 1 }}</div>
@@ -132,88 +101,49 @@
             </ws-form-item>
             <!--装车净重-->
             <ws-form-item label="装车净重:" span="1" prop="loadNetWeight">
-              <ws-input
-                v-if="item.status == '已装车' || item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.loadNetWeight"
-                placeholder="请输入装车净重"
-                maxlength="20"
-                size="small"
-              />
-              <ws-input
-                v-else
-                v-model="item.loadNetWeight"
-                placeholder="请输入装车净重"
-                maxlength="20"
-                size="small"
-              />
+              <ws-input v-if="item.status == '已装车' || item.status == '已送达'" :disabled="readonly"
+                v-model="item.loadNetWeight" placeholder="请输入装车净重" maxlength="20" size="small" />
+              <ws-input v-else v-model="item.loadNetWeight" placeholder="请输入装车净重" maxlength="20" size="small" />
             </ws-form-item>
             <!--磅单-->
             <ws-form-item label="磅单:" span="1" prop="loadPoundImg">
               <template>
                 <!-- slot-scope="scope" -->
-                <el-upload
-                  action="https://www.zthymaoyi.com/upload/admin"
-                  :show-file-list="false"
-                  :on-success="
+                <el-upload action="https://www.zthymaoyi.com/upload/admin" :show-file-list="false" :on-success="
                     (res) => {
                       uploadSuccessHandle1(res, index)
                     }
-                  "
-                  class="avatar-uploader"
-                  accept=".jpg, .jpeg, .png, .gif"
-                >
-                  <img
-                    width="18"
-                    height="20"
-                    style="vertical-align: text-top; position: relative"
-                    src="../../../public/img/fujian.png"
-                    alt
-                  />
+                  " class="avatar-uploader" accept=".jpg, .jpeg, .png, .gif">
+                  <img width="18" height="20" style="vertical-align: text-top; position: relative"
+                    src="../../../public/img/fujian.png" alt />
                 </el-upload>
-                <span v-show="item.imgCount > 0">{{item.imgCount}}</span>
-                <span v-show="item.imgCount == 0">未上传</span>
+                <span v-if="item.imgCount > 0">{{item.imgCount}}</span>
+                <span v-if="item.imgCount == 0">未上传</span>
               </template>
             </ws-form-item>
+            <!--预览-->
+            <div>
+              <el-button class="bg-bottom" type="primary" size="small" @click="preview(item)"  v-if="item.imgCount > 0 ">预览</el-button>
+            </div>
+            <!--箱号-->
             <!--装车日期-->
             <el-form-item label="装车日期:" span="1" prop="loadingDate">
-              <ws-date-picker
-                v-if="item.status == '已装车' || item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.loadingDate"
-                type="date"
-                style="width: 150px"
-                placeholder="请选择日期"
-                value-format="yyyy-MM-dd"
-              />
-              <ws-date-picker
-                v-else
-                v-model="item.loadingDate"
-                type="date"
-                style="width: 150px"
-                placeholder="请选择日期"
-                value-format="yyyy-MM-dd"
-              />
+              <ws-date-picker v-if="item.status == '已装车' || item.status == '已送达'" :disabled="readonly"
+                v-model="item.loadingDate" type="date" style="width: 150px" placeholder="请选择日期"
+                value-format="yyyy-MM-dd" />
+              <ws-date-picker v-else v-model="item.loadingDate" type="date" style="width: 150px" placeholder="请选择日期"
+                value-format="yyyy-MM-dd" />
             </el-form-item>
 
             <!-- 提交 -->
             <span class="servicein" v-show="item.status == '已装车' || item.status == '已送达'">已装车</span>
-            <span
-              style="text-align: right; padding: 10px"
-              class="center"
-              v-if="
+            <span style="text-align: right; padding: 10px" class="center" v-if="
                 item.status == '' ||
                 item.status == null ||
                 item.status == '未装车'
-              "
-            >
+              ">
               <div>
-                <el-button
-                  class="bg-bottom"
-                  type="primary"
-                  size="small"
-                  @click="submit(index)"
-                >提交</el-button>
+                <el-button class="bg-bottom" type="primary" size="small" @click="submit(index)">提交</el-button>
               </div>
             </span>
             <!-- <div
@@ -232,15 +162,8 @@
             >
               {{ item.signStatus }}
             </div>-->
-            <span
-              v-show="item.temporaryDriverFlag != 0"
-              width="22"
-              height="22"
-              class="del"
-              @click="del(index)"
-              src="../../../public/img/del.png"
-              alt
-            >×</span>
+            <span v-show="item.temporaryDriverFlag != 0" width="22" height="22" class="del" @click="del(index)"
+              src="../../../public/img/del.png" alt>×</span>
           </ws-info-table>
         </div>
       </div>
@@ -266,75 +189,84 @@
   </div>
 </template>
 <script>
-import { regionData } from 'element-china-area-data'
-import { seeCat, feedback, state } from '@/model/transport/index'
-import WsUpload from '@/components/WsUpload'
-import mapDrag from '@/components/mapdrag/mapdrag'
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-    mapDrag
-  },
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
+  import {
+    regionData
+  } from 'element-china-area-data'
+  import {
+    seeCat,
+    feedback,
+    state
+  } from '@/model/transport/index'
+  import WsUpload from '@/components/WsUpload'
+  import mapDrag from '@/components/mapdrag/mapdrag'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      mapDrag
     },
-    isShow(val) {
-      this.showType = val
-    },
-       freightspace(newVal) {
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
+      },
+      isShow(val) {
+        this.showType = val
+      },
+      freightspace(newVal) {
         this.file_is_show = false
         if (true) {
-            this.$nextTick(()=>{ // $nextTick 是在 DOM 更新循环结束之后执行延迟回调
-                this.file_is_show = true
-            })
+          this.$nextTick(() => { // $nextTick 是在 DOM 更新循环结束之后执行延迟回调
+            this.file_is_show = true
+          })
         }
-    }
-  },
-  data() {
-    return {
-      index:0,
-      file_is_show:true,
-      deptBudgetList: {
-        totalStorage: 0
-      },
-      options_: regionData,
-      heightData: '600px',
-      zoom: 7,
-      selectedOptions: [],
-      center: [116.244694, 39.517344],
-      window: '',
-      radio: 1,
-      personCharge: [],
-      district: null,
-      driverList: [],
-      readonly: true,
-      listDate: { country: '中国', level: 'country', city: '' },
-      citylist: [],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      rules: {
-        warehouseName: [
-          {
-            required: true,
-            message: '请输入仓库名称',
-            trigger: 'blur'
-          },
-          {
-            min: 2,
-            max: 20,
-            message: '仓库名长度不符合要求,请输入2-20字符之内',
-            trigger: 'blur'
-          }
-        ]
-      },
-      tranType: 2,
-      size: 10,
-      value1: '',
-      unitList: [],
+      }
+    },
+    data() {
+      return {
+        excelFreightspace: [],
+        index: 0,
+        file_is_show: true,
+        deptBudgetList: {
+          totalStorage: 0
+        },
+        options_: regionData,
+        heightData: '600px',
+        zoom: 7,
+        selectedOptions: [],
+        center: [116.244694, 39.517344],
+        window: '',
+        radio: 1,
+        personCharge: [],
+        district: null,
+        driverList: [],
+        readonly: true,
+        listDate: {
+          country: '中国',
+          level: 'country',
+          city: ''
+        },
+        citylist: [],
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        rules: {
+          warehouseName: [{
+              required: true,
+              message: '请输入仓库名称',
+              trigger: 'blur'
+            },
+            {
+              min: 2,
+              max: 20,
+              message: '仓库名长度不符合要求,请输入2-20字符之内',
+              trigger: 'blur'
+            }
+          ]
+        },
+        tranType: 2,
+        size: 10,
+        value1: '',
+        unitList: [],
 
-      freightspace1: [
-        {
+        freightspace1: [{
           accountTypeFlag: '1',
           payeeName: '',
           payeeNumberCard: '',
@@ -342,841 +274,939 @@ export default {
           bankDeposit: '',
           addressUrlArray: [],
           bankCard: ''
-        }
-      ],
-      freightspace: [
-        {
-          boxNo: '',
-          loadNetWeight: '',
-          loadPoundImg: '',
-          loadingDate: '',
-          imgCount:0
-        }
-        // {loadPoundImg:{}},
-      ],
-      name: '',
-      staffList: [],
-      options: [],
-      carModel: [],
-      fileTemp: {},
-      tranCarInfoList: {
-        loadPoundImg: ''
-      },
-      //  tranCarList: {
-      //   driver: '',
-      //   driverPhone:'',
-      //   sendDateStart:'',
-      //   receiveDateEnd:'',
-      //   carModel:'',
-      // },
-      //上传
-      accessoryTFs: false,
-      fileList: [],
-      appendixIdsAdd: '',
-    }
-  },
-  activated() {
-    this.deptBudgetList.id = this.$route.query.id
-    this.getList()
-  },
-  computed: {
-    totalStorage: function() {
-      var maxStorage = 0
-      for (var i = 0; i < this.freightspace.length; i++) {
-        maxStorage += Number(this.freightspace[i].maxStorage)
+        }],
+        freightspace: [{
+            boxNo: '',
+            loadNetWeight: '',
+            loadPoundImg: '',
+            loadingDate: '',
+            imgCount: 0
+          }
+          // {loadPoundImg:{}},
+        ],
+        name: '',
+        staffList: [],
+        options: [],
+        carModel: [],
+        fileTemp: {},
+        tranCarInfoList: {
+          loadPoundImg: ''
+        },
+        //  tranCarList: {
+        //   driver: '',
+        //   driverPhone:'',
+        //   sendDateStart:'',
+        //   receiveDateEnd:'',
+        //   carModel:'',
+        // },
+        //上传
+        accessoryTFs: false,
+        fileList: [],
+        appendixIdsAdd: '',
       }
-      return maxStorage
     },
-    total: function() {
-      if (this.deptBudgetList.tranCarInfoList != null) {
+    activated() {
+      this.deptBudgetList.id = this.$route.query.id
+      this.getList()
+    },
+    computed: {
+      totalStorage: function() {
         var maxStorage = 0
-        for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
-          maxStorage += Number(
-            this.deptBudgetList.tranCarInfoList[i].loadNetWeight
-          )
+        for (var i = 0; i < this.freightspace.length; i++) {
+          maxStorage += Number(this.freightspace[i].maxStorage)
         }
         return maxStorage
-      } else {
-        return 0
-      }
-    }
-  },
-  methods: {
-    handleChange(file, fileList) {
-      this.fileTemp = file.raw
-      let fileName = file.raw.name
-      let fileType = fileName.substring(fileName.lastIndexOf('.') + 1)
-      // 判断上传文件格式
-      if (this.fileTemp) {
-        if (fileType == 'xlsx' || fileType == 'xls') {
-          this.importf(this.fileTemp)
+      },
+      total: function() {
+        if (this.deptBudgetList.tranCarInfoList != null) {
+          var maxStorage = 0
+          for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
+            maxStorage += Number(
+              this.deptBudgetList.tranCarInfoList[i].loadNetWeight
+            )
+          }
+          return maxStorage
         } else {
-          this.$message({
-            type: 'warning',
-            message: '附件格式错误,请删除后重新上传!'
-          })
+          return 0
         }
-      } else {
-        this.$message({
-          type: 'warning',
-          message: '请上传附件!'
-        })
       }
     },
-    importf(obj) {
-      this.dialogVisible = true
-      let _this = this
-      let inputDOM = this.$refs.inputer // 通过DOM取文件数据
-      this.file = event.currentTarget.files[0]
-      var rABS = false //是否将文件读取为二进制字符串
-      var f = this.file
-      var reader = new FileReader()
-      //if (!FileReader.prototype.readAsBinaryString) {
-      FileReader.prototype.readAsBinaryString = function(f) {
-        var binary = ''
-        var rABS = false //是否将文件读取为二进制字符串
-        var pt = this
-        var wb //读取完成的数据
-        var outdata
-        var reader = new FileReader()
-        reader.onload = function(e) {
-          var bytes = new Uint8Array(reader.result)
-          var length = bytes.byteLength
-          for (var i = 0; i < length; i++) {
-            binary += String.fromCharCode(bytes[i])
-          }
-          var XLSX = require('xlsx')
-          if (rABS) {
-            wb = XLSX.read(btoa(fixdata(binary)), {
-              //手动转化
-              type: 'base64'
-            })
+    methods: {
+      handleChange(file, fileList) {
+        this.fileTemp = file.raw
+        let fileName = file.raw.name
+        let fileType = fileName.substring(fileName.lastIndexOf('.') + 1)
+        // 判断上传文件格式
+        if (this.fileTemp) {
+          if (fileType == 'xlsx' || fileType == 'xls') {
+            this.importf(this.fileTemp)
           } else {
-            wb = XLSX.read(binary, {
-              type: 'binary'
+            this.$message({
+              type: 'warning',
+              message: '附件格式错误,请删除后重新上传!'
             })
           }
-          // outdata就是你想要的东西 excel导入的数据
-          outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]])
-          // excel 数据再处理
-          let arr = []
-          outdata.map(v => {
-            // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
-            let jsonString = JSON.stringify(v)
-              .replace(/\//g, '')
-              .replace(/\s/gi, '')
-            console.log(jsonString)
-            v = JSON.parse(jsonString)
-            let obj = {}
-            //xxx代表列名
-            obj.boxNo = v.车厢号
-            obj.loadNetWeight = v.装车净重
-            obj.loadingDate = toString(v.装车日期)
-            obj.status = v.状态
-            obj.unloadPoundImg = v.磅单
-            console.log(obj)
-            _this.freightspace.push(obj)
+        } else {
+          this.$message({
+            type: 'warning',
+            message: '请上传附件!'
           })
-          // _this.freightspace.concat(arr)
-          console.log(arr, _this.freightspace)
         }
-        reader.readAsArrayBuffer(f)
-      }
-      if (rABS) {
-        reader.readAsArrayBuffer(f)
-      } else {
-        reader.readAsBinaryString(f)
-      }
-      console.log(reader)
-    },
-    marker: function(item) {
-      this.deptBudgetList.warehousePositioning =
-        item.lnglat.lat + ',' + item.lnglat.lng
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    add() {
-      this.freightspace.push({
-        driver: '',
-        driverPhone: '',
-        carNo: '',
-        loadNetWeight: ''
-      })
-    },
-    del(index) {
-      if (this.freightspace.length > 1) {
-        this.freightspace.splice(index, 1)
-      }
-    },
-    revert() {
-      this.$router.push({ path: 'tranManagementTransporHairRespond' })
-    },
-    //完货
-    finished() {
-      this.$confirm(`完货操作后,装车信息不可修改,是否确定完货?`, {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          this.$refs.deptBudgetList.validate(valid => {
-            if (valid) {
-              var tranProcessInfo = {}
-              tranProcessInfo.id = this.deptBudgetList.id
-              state(tranProcessInfo)
-                .toPromise()
-                .then(response => {
-                  this.$message.success('完货成功')
-                  this.deptBudgetList = {}
-                  this.freightspace = {}
-                  this.selectedOptions = ''
-                  this.$router.push({
-                    path: 'tranManagementTransporHairRespond'
-                  })
-                })
+      },
+      importf(obj) {
+        this.excelFreightspace = []
+        this.dialogVisible = true
+        let _this = this
+        let inputDOM = this.$refs.inputer // 通过DOM取文件数据
+        this.file = event.currentTarget.files[0]
+        var rABS = false //是否将文件读取为二进制字符串
+        var f = this.file
+        var reader = new FileReader()
+        //if (!FileReader.prototype.readAsBinaryString) {
+        FileReader.prototype.readAsBinaryString = function(f) {
+          var binary = ''
+          var rABS = false //是否将文件读取为二进制字符串
+          var pt = this
+          var wb //读取完成的数据
+          var outdata
+          var reader = new FileReader()
+          reader.onload = function(e) {
+            var bytes = new Uint8Array(reader.result)
+            var length = bytes.byteLength
+            for (var i = 0; i < length; i++) {
+              binary += String.fromCharCode(bytes[i])
+            }
+            var XLSX = require('xlsx')
+            if (rABS) {
+              wb = XLSX.read(btoa(fixdata(binary)), {
+                //手动转化
+                type: 'base64'
+              })
             } else {
-              return false
+              wb = XLSX.read(binary, {
+                type: 'binary'
+              })
             }
-          })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    validateFunc() {
-      this.$refs.deptBudgetList.validate(valid => {
-        if (valid) {
-          // this.deptBudgetList.totalStorage = this.totalStorage
-          this.tranCarInfoList = this.freightspace
-          this.tranCarInfoList.driver = this.deptBudgetList.driver
-          this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
-          this.tranCarInfoList.tranCarNo = this.deptBudgetList.tranCarNo
-          this.tranCarInfoList.carNo = this.deptBudgetList.carNo
-          this.tranCarInfoList[0].sendDateStart = this.deptBudgetList.sendDateStart
-          this.tranCarInfoList.loadNetWeight = this.deptBudgetList.loadNetWeight
-          this.tranCarInfoList.tranType = this.tranType
-          this.tranCarInfoList.loadPoundImg = this.deptBudgetList.loadPoundImg
-          // this.tranCarInfoList.boxNo = this.arr.toString()
-          for (var i = 0; i < this.tranCarInfoList.length; i++) {
-            this.tranCarInfoList[i].id = this.freightspace[i].id
-            if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
-              this.tranCarInfoList[i].temporaryDriverFlag = 1
-              this.tranCarInfoList[i].tranType = this.tranType
+            // outdata就是你想要的东西 excel导入的数据
+            outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]])
+            // excel 数据再处理
+            let arr = []
+            outdata.map(v => {
+              // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
+              let jsonString = JSON.stringify(v)
+                .replace(/\//g, '')
+                .replace(/\s/gi, '')
+              console.log(jsonString)
+              v = JSON.parse(jsonString)
+              let obj = {}
+              //xxx代表列名
+              obj.boxNo = v.车厢号
+              obj.loadNetWeight = v.装车净重
+              obj.loadingDate = v.装车日期
+              obj.status = v.状态
+              obj.loadPoundImg = v.磅单
+              console.log(obj)
+              _this.excelFreightspace.push(obj)
+            })
+            let _ispushData = true
+            console.log(arr, _this.freightspace)
+            for (let i = 0; i < _this.excelFreightspace.length; i++) {
+              _ispushData = true
+              for (let k = 0; k < _this.freightspace.length; k++) {
+                if (_this.excelFreightspace[i].boxNo == _this.freightspace[k].boxNo) {
+                  _this.freightspace[k] = _this.excelFreightspace[i]
+                  if (_this.excelFreightspace[i].loadPoundImg.split(',').length > 0){
+                      _this.freightspace[k].imgCount = _this.excelFreightspace[i].loadPoundImg.split(',').length
+                  }
+                  _ispushData = false
+                }
+              }
+              if (_ispushData) {
+                if (_this.excelFreightspace[i].loadPoundImg.split(',').length > 0) {
+                  _this.excelFreightspace[i].imgCount = _this.excelFreightspace[i].loadPoundImg.split(',').length
+                }
+                _this.freightspace.push(_this.excelFreightspace[i])
+
+                _ispushData = true
+              }
             }
           }
-          var tranProcessInfo = {}
-          tranProcessInfo.id = this.deptBudgetList.id
-          tranProcessInfo.infoId = this.deptBudgetList.infoId
-          tranProcessInfo.processNo = this.deptBudgetList.processNo
-          tranProcessInfo.tranPrice = this.deptBudgetList.tranPrice
-          tranProcessInfo.tranCarInfoList = this.tranCarInfoList
-          // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
-          feedback(tranProcessInfo)
-            .toPromise()
-            .then(response => {
-              this.$message.success('提交成功')
-              this.deptBudgetList = {}
-              this.freightspace = {}
-              this.selectedOptions = ''
-              this.$router.push({
-                path: 'tranManagementTransporHairRespond'
-              })
-            })
+          reader.readAsArrayBuffer(f)
+        }
+        if (rABS) {
+          reader.readAsArrayBuffer(f)
         } else {
-          // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-          return false
+          reader.readAsBinaryString(f)
         }
-      })
-    },
-    submit(index) {
-      // for (var i = 0; i < this.freightspace.length; i++) {
-          // if (!this.freightspace[i].driver) {
-          //   this.$message({
-          //     message: '司机姓名不能为空!',
-          //     type: 'warning'
-          //   })
-          //   return
-          // }
-          // if (!this.freightspace[i].driverPhone) {
-          //   this.$message({
-          //     message: '司机电话不能为空!',
-          //     type: 'warning'
-          //   })
-          //   return
-          // }
-          // if (!this.freightspace[i].carNo) {
-          //   this.$message({
-          //     message: '车牌号不能为空!',
-          //     type: 'warning'
-          //   })
-          //   return
-          // }
-          if (!this.freightspace[index].loadNetWeight) {
-            this.$message({
-              message: '装车净重不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (
-            this.freightspace[index].loadNetWeight < 0 ||
-            this.freightspace[index].loadNetWeight > 10000
-          ) {
-            this.$message({
-              message: '装车净重输入错误!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.freightspace[index].loadingDate) {
-            this.$message({
-              message: '装车日期不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-        
-      // }
-      if (sessionStorage.getItem('sh-msg')) {
-        this.validateFunc()
-      } else {
-        this.$alert(
-          '<div><strong>提交成功后提醒司机及时签订运输合同,确定提交装车信息?</strong><div style="display:flex;align-items: center;"><input id="noMsg" type="checkbox" onclick="window.noMessege(1)"><span style="margin-left:10px">不在提示</span><div></div>',
-          '',
-          {
-            dangerouslyUseHTMLString: true,
-            distinguishCancelAndClose: true,
-            showCancelButton: true,
+        console.log(reader)
+      },
+      marker: function(item) {
+        this.deptBudgetList.warehousePositioning =
+          item.lnglat.lat + ',' + item.lnglat.lng
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      add() {
+        this.freightspace.push({
+          driver: '',
+          driverPhone: '',
+          carNo: '',
+          loadNetWeight: ''
+        })
+      },
+      del(index) {
+        if (this.freightspace.length > 1) {
+          this.freightspace.splice(index, 1)
+        }
+      },
+      revert() {
+        this.$router.push({
+          path: 'tranManagementTransporHairRespond'
+        })
+      },
+      //完货
+      finished() {
+        this.$confirm(`完货操作后,装车信息不可修改,是否确定完货?`, {
             confirmButtonText: '确定',
-            cancelButtonText: '取消'
-          }
-        )
+            cancelButtonText: '取消',
+            type: 'warning'
+          })
           .then(() => {
-            this.validateFunc()
+            this.$refs.deptBudgetList.validate(valid => {
+              if (valid) {
+                var tranProcessInfo = {}
+                tranProcessInfo.id = this.deptBudgetList.id
+                state(tranProcessInfo)
+                  .toPromise()
+                  .then(response => {
+                    this.$message.success('完货成功')
+                    this.deptBudgetList = {}
+                    this.freightspace = {}
+                    this.selectedOptions = ''
+                    this.$router.push({
+                      path: 'tranManagementTransporHairRespond'
+                    })
+                  })
+              } else {
+                return false
+              }
+            })
           })
           .catch(() => {
             return false
           })
-      }
-    },
-    getList() {
-      seeCat({ id: this.deptBudgetList.id })
-        .toPromise()
-        .then(response => {
-          this.deptBudgetList = response
-          //  this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
-          if(response.tranCarInfoList[0].driver){
-            this.deptBudgetList.driver = response.tranCarInfoList[0].driver
-          }
-          this.deptBudgetList.driverPhone =
-            response.tranCarInfoList[0].driverPhone
-          this.$set(this.deptBudgetList,'sendDateStart',response.tranCarInfoList[0].sendDateStart)
-          this.deptBudgetList.receiveDateEnd =
-            response.tranCarInfoList[0].receiveDateEnd
-          this.deptBudgetList.carModel = response.tranCarInfoList[0].carModel
-          this.freightspace = response.tranCarInfoList
-          for (var i = 0; i < this.freightspace.length; i++) {
-            if (!this.freightspace[i].loadNetWeight) {
-              this.freightspace[i].loadNetWeight = 0
-            }
-            if(this.freightspace[i].loadPoundImg){
-               this.freightspace[i].imgCount = this.freightspace[i].loadPoundImg.split(",").length
-            }else{
-               this.freightspace[i].loadPoundImg = ""
-               this.freightspace[i].imgCount = 0
+      },
+      validateFunc() {
+        this.$refs.deptBudgetList.validate(valid => {
+          if (valid) {
+            // this.deptBudgetList.totalStorage = this.totalStorage
+            this.tranCarInfoList = this.freightspace
+            this.tranCarInfoList.driver = this.deptBudgetList.driver
+            this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
+            this.tranCarInfoList.tranCarNo = this.deptBudgetList.tranCarNo
+            this.tranCarInfoList.carNo = this.deptBudgetList.carNo
+            this.tranCarInfoList[0].sendDateStart = this.deptBudgetList.sendDateStart
+            this.tranCarInfoList.loadNetWeight = this.deptBudgetList.loadNetWeight
+            this.tranCarInfoList.tranType = this.tranType
+            this.tranCarInfoList.loadPoundImg = this.deptBudgetList.loadPoundImg
+            // this.tranCarInfoList.boxNo = this.arr.toString()
+            for (var i = 0; i < this.tranCarInfoList.length; i++) {
+              this.tranCarInfoList[i].id = this.freightspace[i].id
+              if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
+                this.tranCarInfoList[i].temporaryDriverFlag = 1
+                this.tranCarInfoList[i].tranType = this.tranType
+              }
             }
+            var tranProcessInfo = {}
+            tranProcessInfo.id = this.deptBudgetList.id
+            tranProcessInfo.infoId = this.deptBudgetList.infoId
+            tranProcessInfo.processNo = this.deptBudgetList.processNo
+            tranProcessInfo.tranPrice = this.deptBudgetList.tranPrice
+            tranProcessInfo.tranCarInfoList = this.tranCarInfoList
+            // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
+            feedback(tranProcessInfo)
+              .toPromise()
+              .then(response => {
+                this.$message.success('提交成功')
+                this.deptBudgetList = {}
+                this.freightspace = {}
+                this.selectedOptions = ''
+                this.$router.push({
+                  path: 'tranManagementTransporHairRespond'
+                })
+              })
+          } else {
+            // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            return false
           }
         })
-    },
-    uploadSuccessHandle1(e, index) {
-      this.index = index
-      let that = this;
-      setTimeout(function(){ 
-      that.freightspace[that.index].imgCount++
-      console.log(that.freightspace[that.index].imgCount)
-      that.freightspace[that.index].loadPoundImg += e.url+","
-      console.log( that.freightspace[that.index].loadPoundImg)
-      console.log( that.freightspace,"成功后")},1000)
+      },
+      submit(index) {
+        // for (var i = 0; i < this.freightspace.length; i++) {
+        // if (!this.freightspace[i].driver) {
+        //   this.$message({
+        //     message: '司机姓名不能为空!',
+        //     type: 'warning'
+        //   })
+        //   return
+        // }
+        // if (!this.freightspace[i].driverPhone) {
+        //   this.$message({
+        //     message: '司机电话不能为空!',
+        //     type: 'warning'
+        //   })
+        //   return
+        // }
+        // if (!this.freightspace[i].carNo) {
+        //   this.$message({
+        //     message: '车牌号不能为空!',
+        //     type: 'warning'
+        //   })
+        //   return
+        // }
+        if (!this.freightspace[index].loadNetWeight) {
+          this.$message({
+            message: '装车净重不能为空!',
+            type: 'warning'
+          })
+          return
+        }
+        if (
+          this.freightspace[index].loadNetWeight < 0 ||
+          this.freightspace[index].loadNetWeight > 10000
+        ) {
+          this.$message({
+            message: '装车净重输入错误!',
+            type: 'warning'
+          })
+          return
+        }
+        if (!this.freightspace[index].loadingDate) {
+          this.$message({
+            message: '装车日期不能为空!',
+            type: 'warning'
+          })
+          return
+        }
+
+        // }
+        if (sessionStorage.getItem('sh-msg')) {
+          this.validateFunc()
+        } else {
+          this.$alert(
+              '<div><strong>提交成功后提醒司机及时签订运输合同,确定提交装车信息?</strong><div style="display:flex;align-items: center;"><input id="noMsg" type="checkbox" onclick="window.noMessege(1)"><span style="margin-left:10px">不在提示</span><div></div>',
+              '', {
+                dangerouslyUseHTMLString: true,
+                distinguishCancelAndClose: true,
+                showCancelButton: true,
+                confirmButtonText: '确定',
+                cancelButtonText: '取消'
+              }
+            )
+            .then(() => {
+              this.validateFunc()
+            })
+            .catch(() => {
+              return false
+            })
+        }
+      },
+      getList() {
+        seeCat({
+            id: this.deptBudgetList.id
+          })
+          .toPromise()
+          .then(response => {
+            this.deptBudgetList = response
+            //  this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
+            if (response.tranCarInfoList[0].driver) {
+              this.deptBudgetList.driver = response.tranCarInfoList[0].driver
+            }
+            this.deptBudgetList.driverPhone =
+              response.tranCarInfoList[0].driverPhone
+            this.$set(this.deptBudgetList, 'sendDateStart', response.tranCarInfoList[0].sendDateStart)
+            this.deptBudgetList.receiveDateEnd =
+              response.tranCarInfoList[0].receiveDateEnd
+            this.deptBudgetList.carModel = response.tranCarInfoList[0].carModel
+            this.freightspace = response.tranCarInfoList
+            for (var i = 0; i < this.freightspace.length; i++) {
+              if (!this.freightspace[i].loadNetWeight) {
+                this.freightspace[i].loadNetWeight = 0
+              }
+              if (this.freightspace[i].loadPoundImg) {
+                this.freightspace[i].imgCount = this.freightspace[i].loadPoundImg.split(",").length
+              } else {
+                this.freightspace[i].loadPoundImg = ""
+                this.freightspace[i].imgCount = 0
+              }
+            }
+          })
+      },
+      uploadSuccessHandle1(e, index) {
+        this.index = index
+        let that = this;
+        that.$forceUpdate();
+        that.freightspace[that.index].imgCount++
+        console.log(that.freightspace[that.index].imgCount)
+        that.freightspace[that.index].loadPoundImg += e.url + ","
+        console.log(that.freightspace[that.index].loadPoundImg)
 
+      }
     }
   }
-}
 </script>
 
 <style lang="scss" scoped>
-/deep/.totalStorage .el-input__inner {
-  color: #afb5cb;
-  background: #f5f7fa;
-}
-.small-title {
-  position: relative;
-  padding: 10px;
-  font-weight: 600;
-}
-.small-title::before {
-  position: absolute;
-  content: '';
-  display: block;
-  background: #5473e8;
-  width: 4px;
-  height: 14px;
-  left: 0px;
-  top: 13px;
-}
-.position {
-  position: relative;
-}
-
-.del {
-  position: absolute;
-  right: -38px;
-  top: 14px;
-  cursor: pointer;
-  right: 0;
-  display: inline-block;
-  font-size: 26px;
-  width: 26px;
-  height: 10px;
-  line-height: 0px;
-}
-
-.amap-page-container {
-  width: 300px;
-  height: 300px;
-}
-.el-form {
-  padding: 0 10%;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-}
-.readonly {
-  position: relative;
-}
-.readonly:after {
-  content: '*';
-  color: #ff2727;
-  position: absolute;
-  right: 8px;
-  z-index: 10;
-  top: 21%;
-  font-size: 20px;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid transparent;
-  background: #fff;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 100px;
-  text-align: center;
-  background: #fff;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
+  /deep/.totalStorage .el-input__inner {
+    color: #afb5cb;
+    background: #f5f7fa;
+  }
+
+  .small-title {
+    position: relative;
+    padding: 10px;
+    font-weight: 600;
+  }
+
+  .small-title::before {
+    position: absolute;
+    content: '';
+    display: block;
+    background: #5473e8;
+    width: 4px;
+    height: 14px;
+    left: 0px;
+    top: 13px;
+  }
+
+  .position {
+    position: relative;
+  }
+
+  .del {
+    position: absolute;
+    right: -38px;
+    top: 14px;
+    cursor: pointer;
+    right: 0;
+    display: inline-block;
+    font-size: 26px;
+    width: 26px;
+    height: 10px;
+    line-height: 0px;
+  }
+
+  .amap-page-container {
+    width: 300px;
+    height: 300px;
+  }
+
+  .el-form {
+    padding: 0 10%;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid transparent;
+    border-bottom: 1px solid transparent;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid transparent;
+    background: #fff;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 100px;
+    text-align: center;
+    background: #fff;
+    // border: 1px solid #cdd2dc;
+  }
+
+  .button-container {
     display: flex;
     flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
+    justify-content: space-between;
+    align-items: center;
+    background-color: #fff;
+    width: 100%;
+    height: 50px;
+    padding: 0 10px;
 
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
+    &>div {
+      margin-left: 10px;
+      display: flex;
+      flex-wrap: nowrap;
+      flex-direction: row;
+
+      &>span {
+        line-height: 50px;
+      }
     }
-    &/deep/.auditFlow-main {
-      position: absolute;
+
+    /deep/.auditFlow-box {
+      position: unset;
+      margin-left: 10px;
+
+      &/deep/.auditFlow-icon {
+        width: auto;
+        padding-right: 30px;
+      }
+
+      &/deep/.auditFlow-main {
+        position: absolute;
+      }
     }
   }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
+
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
       }
     }
   }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding-right: 10px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 15px 0px;
-}
-.wenzi {
-  width: 900px;
-  margin: 0 auto;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.center {
-  width: 900px;
-  margin: -70px auto;
-  margin-right: 92px;
-}
-.wanhuo {
-  width: 900px;
-  margin: 0 auto;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.ce {
-  width: 900px;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
+
+  .collapse-bottom {
+    margin-bottom: 20px;
   }
-  .el-icon-arrow-up {
-    display: none;
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
   }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
+  }
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  .wenzi {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
   }
-  .el-date-editor {
-    i {
+
+  .center {
+    width: 900px;
+    margin: -70px auto;
+    margin-right: 92px;
+  }
+
+  .wanhuo {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .el-form-item {
+    width: 50%;
+  }
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  .hide-sel {
+    .el-input__inner {
+      border: 0px;
+    }
+
+    .el-icon-arrow-up {
       display: none;
     }
+
+    .el-textarea__inner {
+      background-color: #fff !important;
+      border: 0;
+    }
+
+    .el-date-editor {
+      i {
+        display: none;
+      }
+    }
+
+    // .is-disabled {
+    //   .el-input__inner:hover {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //   }
+    //   color: #606266;
+    //   .el-input__inner {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //     color: #606266;
+    //   }
+    //   .el-textarea__inner {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //     color: #606266;
+    //   }
+    // }
   }
-  // .is-disabled {
-  //   .el-input__inner:hover {
-  //     background-color: #fff !important;
-  //     border: 0;
+
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
+    padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
+  }
+
+  // /deep/.is-disabled {
+  //   .el-input__prefix,
+  //   .el-input__suffix {
+  //     display: none;
   //   }
-  //   color: #606266;
   //   .el-input__inner {
-  //     background-color: #fff !important;
-  //     border: 0;
-  //     color: #606266;
-  //   }
-  //   .el-textarea__inner {
-  //     background-color: #fff !important;
-  //     border: 0;
-  //     color: #606266;
+  //     background-color: #fff;
+  //     border-color: #fff !important;
+  //     color: #000 !important;
+  //     font-size: 14px;
+  //     cursor: text;
+  //     padding: 0 !important;
   //   }
   // }
-}
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
 
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  .ws-info-table .el-form-item {
+    width: 33.3333%;
+  }
+
+  .readonly:after {
+    display: none;
+  }
+
+  .el-textarea__inner {
+    display: none;
+  }
+
+  .el-form {
+    margin-top: 50px;
+  }
+
+  .readonly {
+    width: 16%;
+  }
+
+  //去边框
+  /deep/.el-form-item {
+    border-right: 0px;
+    border-bottom: 0px;
+  }
+
+  /deep/.ws-info-table {
+    border-left: 0px;
+    border-top: 0px;
+  }
+
+  .ws-info-table .el-form-item .el-form-item__content {
+    border: none;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border: none;
+    height: 50px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    background: #f5f7fa;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    font-family: PingFangSC-Regular, PingFang SC;
+    margin-bottom: 5px;
+    background-color: #fff;
+    font-size: 14px;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    background-color: #fff;
+    font-size: 13px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    background: #f5f7fa;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+  }
+
+  /deep/.flex .ws-info-table .el-form-item .el-form-item__content {
+    border: 0px;
+  }
+
+  .catNos {
+    width: 5%;
+    height: 30px;
+    margin-top: 10px;
+    margin-left: 20px;
+    margin-right: -5px;
+    font-size: 14px;
+  }
+
+  .catNosCor {
+    color: #5473e8;
+  }
+
+  .add {
+    width: 130px;
+    height: 34px;
+    background: #f6f7fb;
+    border-radius: 17px;
+    color: #5473e8;
+    font-size: 14px;
+    border: none;
+  }
+
+  .add img {
+    display: inline-block;
+    margin-top: 3px;
+    margin-left: -30px;
+  }
+
+  .add .spans {
+    display: table-caption;
+    width: 56px;
+    height: 20px;
+    line-height: 18px;
+  }
+
+  .signStatus {
+    height: 25px;
+    border-radius: 3px;
+    border: 1px solid #5473e8;
+    padding: 0 3px;
+    color: #ffffff;
+    background: #c4cada;
+    line-height: 24px;
+    margin-left: 18px;
+  }
+
+  .signStatus1 {
+    height: 25px;
+    background: #e6ebff;
+    border-radius: 3px;
+    border: 1px solid #5473e8;
+    padding: 0 3px;
+    margin-left: 18px;
+    color: #5473e8;
+    line-height: 24px;
+  }
+
+  .line {
+    height: 26px;
+    margin-top: 6px;
+    left: 2px;
+  }
+
+  //装车详情
+  /deep/.liaison .ws-info-table .el-form-item {
+    width: 20%;
+  }
+
+  /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
+    width: 50%;
+    background: #f6f7fc;
+  }
+
+  /deep/.liaison .flex {
+    display: contents;
+  }
+
+  /deep/.liaison .ws-info-table {
+    background: #f6f7fc;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    margin-top: 20px;
+  }
+
+  /deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
+    padding: 0px;
+  }
+
+  //联络员及车次
+  /deep/.lianluoyuan .ws-info-table .el-form-item {
+    width: 20%;
+  }
+
+  /deep/.lianluoyuan .ws-info-table .el-form-item .el-form-item__label {
+    width: 43%;
+    background: #f6f7fc;
+    padding-right: 0px;
+    margin-top: 5px;
+  }
+
+  /deep/.lianluoyuan .flex {
+    display: contents;
+  }
+
+  /deep/.lianluoyuan .ws-info-table {
+    background: #f6f7fc;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    margin-top: 20px;
+  }
+
+  /deep/.lianluoyuan .ws-info-table .el-form-item .el-form-item__content {
+    padding: 0px;
+    margin-top: 5px;
+  }
+
+  //装车状态
+  .noservicein,
+  .servicein {
+    display: inline-block;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    padding: 2px;
+    font-size: 12px;
+    background: #e5f1f7;
+    color: #50cad4;
+    height: 23px;
+    margin-top: 11px;
+    margin-left: 53px;
+  }
+
+  .noservicein {
+    background: #c4cada;
+    color: #ffffff;
+    display: inline-block;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    padding: 2px;
+    font-size: 12px;
+    background: #e5f1f7;
+    color: #50cad4;
+    height: 23px;
+    margin-top: 11px;
+    margin-left: 53px;
+  }
+
+  .servicedin {
+    display: inline-block;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    padding: 2px;
+    font-size: 12px;
+    background: #e5f1f7;
+    color: #50cad4;
+    height: 23px;
+    margin-top: 11px;
+    margin-left: 53px;
+  }
+
+  /deep/.el-input--suffix .el-input__inner {
+    padding-right: 0px !important;
+  }
+
+  //送达/未送达
+  .noservice,
+  .service {
+    display: inline-block;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    padding: 2px;
+    font-size: 12px;
+  }
+
+  .noservice {
+    background: #c4cada;
+    color: #ffffff;
+  }
+
+  .service {
+    background: #e5f1f7;
+    color: #50cad4;
   }
-}
-// /deep/.is-disabled {
-//   .el-input__prefix,
-//   .el-input__suffix {
-//     display: none;
-//   }
-//   .el-input__inner {
-//     background-color: #fff;
-//     border-color: #fff !important;
-//     color: #000 !important;
-//     font-size: 14px;
-//     cursor: text;
-//     padding: 0 !important;
-//   }
-// }
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-.ws-info-table .el-form-item {
-  width: 33.3333%;
-}
-.readonly:after {
-  display: none;
-}
-.el-textarea__inner {
-  display: none;
-}
-.el-form {
-  margin-top: 50px;
-}
-.readonly {
-  width: 16%;
-}
-
-//去边框
-/deep/.el-form-item {
-  border-right: 0px;
-  border-bottom: 0px;
-}
-/deep/.ws-info-table {
-  border-left: 0px;
-  border-top: 0px;
-}
-.ws-info-table .el-form-item .el-form-item__content {
-  border: none;
-}
-/deep/.ws-info-table .el-form-item {
-  border: none;
-  height: 50px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  background: #f5f7fa;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  font-family: PingFangSC-Regular, PingFang SC;
-  margin-bottom: 5px;
-  background-color: #fff;
-  font-size: 14px;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  background-color: #fff;
-  font-size: 13px;
-  font-family: PingFangSC-Regular, PingFang SC;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  background: #f5f7fa;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-}
-/deep/.flex .ws-info-table .el-form-item .el-form-item__content {
-  border: 0px;
-}
-.catNos {
-  width: 5%;
-  height: 30px;
-  margin-top: 10px;
-  margin-left: 20px;
-  margin-right: -5px;
-  font-size: 14px;
-}
-.catNosCor {
-  color: #5473e8;
-}
-.add {
-  width: 130px;
-  height: 34px;
-  background: #f6f7fb;
-  border-radius: 17px;
-  color: #5473e8;
-  font-size: 14px;
-  border: none;
-}
-.add img {
-  display: inline-block;
-  margin-top: 3px;
-  margin-left: -30px;
-}
-.add .spans {
-  display: table-caption;
-  width: 56px;
-  height: 20px;
-  line-height: 18px;
-}
-.signStatus {
-  height: 25px;
-  border-radius: 3px;
-  border: 1px solid #5473e8;
-  padding: 0 3px;
-  color: #ffffff;
-  background: #c4cada;
-  line-height: 24px;
-  margin-left: 18px;
-}
-.signStatus1 {
-  height: 25px;
-  background: #e6ebff;
-  border-radius: 3px;
-  border: 1px solid #5473e8;
-  padding: 0 3px;
-  margin-left: 18px;
-  color: #5473e8;
-  line-height: 24px;
-}
-.line {
-  height: 26px;
-  margin-top: 6px;
-  left: 2px;
-}
-//装车详情
-/deep/.liaison .ws-info-table .el-form-item {
-  width: 20%;
-}
-/deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
-  width: 50%;
-  background: #f6f7fc;
-}
-/deep/.liaison .flex {
-  display: contents;
-}
-/deep/.liaison .ws-info-table {
-  background: #f6f7fc;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  margin-top: 20px;
-}
-/deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
-  padding: 0px;
-}
-
-//联络员及车次
-/deep/.lianluoyuan .ws-info-table .el-form-item {
-  width: 20%;
-}
-/deep/.lianluoyuan .ws-info-table .el-form-item .el-form-item__label {
-  width: 43%;
-  background: #f6f7fc;
-  padding-right: 0px;
-  margin-top: 5px;
-}
-/deep/.lianluoyuan .flex {
-  display: contents;
-}
-/deep/.lianluoyuan .ws-info-table {
-  background: #f6f7fc;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  margin-top: 20px;
-}
-/deep/.lianluoyuan .ws-info-table .el-form-item .el-form-item__content {
-  padding: 0px;
-  margin-top: 5px;
-}
-//装车状态
-.noservicein,
-.servicein {
-  display: inline-block;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  padding: 2px;
-  font-size: 12px;
-  background: #e5f1f7;
-  color: #50cad4;
-  height: 23px;
-  margin-top: 11px;
-  margin-left: 53px;
-}
-.noservicein {
-  background: #c4cada;
-  color: #ffffff;
-  display: inline-block;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  padding: 2px;
-  font-size: 12px;
-  background: #e5f1f7;
-  color: #50cad4;
-  height: 23px;
-  margin-top: 11px;
-  margin-left: 53px;
-}
-.servicedin {
-  display: inline-block;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  padding: 2px;
-  font-size: 12px;
-  background: #e5f1f7;
-  color: #50cad4;
-  height: 23px;
-  margin-top: 11px;
-  margin-left: 53px;
-}
-/deep/.el-input--suffix .el-input__inner {
-  padding-right: 0px !important;
-}
-//送达/未送达
-.noservice,
-.service {
-  display: inline-block;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  padding: 2px;
-  font-size: 12px;
-}
-.noservice {
-  background: #c4cada;
-  color: #ffffff;
-}
-.service {
-  background: #e5f1f7;
-  color: #50cad4;
-}
-</style>
+</style>

+ 2 - 1
src/views/tranManagement/tranManagementFireReceivingFeedback.vue

@@ -505,7 +505,8 @@ export default {
                             //xxx代表列名
                             obj.boxNo = v.车厢号
                             obj.loadNetWeight = v.装车净重
-                            obj.loadingDate = toString(v.装车日期)
+                            obj.unloadNetWeight = v.卸车净重
+                            obj.unloadingDate = toString(v.卸车日期)
                             obj.status= v.状态
                             obj.unloadPoundImg = v.磅单
                             console.log(obj)

+ 2 - 2
src/views/tranManagement/tranManagementReceivingFeedback.vue

@@ -92,7 +92,7 @@
             <span v-else>{{ scope.$index + 1 }}</span>
           </template>
         </el-table-column>
-        <el-table-column class="table_td" prop="processNo" label="运输任务编号">
+        <el-table-column class="table_td" prop="processNo" label="运输任务编号" width="140">
         </el-table-column>
         <el-table-column prop="tranType" label="运输方式"> </el-table-column>
         <el-table-column class="table_td" prop="goodsName" label="货名">
@@ -170,7 +170,7 @@
         </el-table-column>
         <el-table-column class="table_td" label="接单时间" prop="createDate" width="90">
         </el-table-column>
-        <el-table-column prop="seller" label="操作" width="200">
+        <el-table-column prop="seller" label="操作" width="160">
           <template slot-scope="scope">
             <template v-if="scope.row.receivingStatus != '已完货'">
               <div class="record" @click="trainSee(scope.row)">查看</div>

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

@@ -415,13 +415,13 @@ export default {
                             v = JSON.parse(jsonString);
                             let obj = {}
                             //xxx代表列名
-                            obj.temporaryDriverFlag = v.临时司机标识
                             obj.caseNo= v.箱号
+                            obj.loadNetWeight= v.装车
                             obj.titleNo= v.封号
                             obj.driverPhone = v.司机电话
                             obj.driver=v.司机姓名
-                            obj.loadNetWeight = v.车净重
-                            obj.loadingDate = toString(v.车日期)
+                            obj.loadNetWeight = v.车净重
+                            obj.loadingDate = toString(v.车日期)
                             obj.status= v.状态
                             obj.carNo = v.车牌号
                             obj.unloadPoundImg = v.磅单

+ 2 - 2
src/views/tranManagement/tranManagementShipping.vue

@@ -151,9 +151,9 @@
             <div v-hasPermission="
                 'tranManager.shippingDispatching.view'
               " class="record" @click="handleLook(scope.row)">查看</div>
-            <divv-hasPermission="
+            <div v-hasPermission="
                 'tranManager.shippingDispatching.car'
-              " class="adjustment" @click="shipping(scope.row)">船次</divv-hasPermission=>
+              " class="adjustment" @click="shipping(scope.row)">船次</div>
           </template>
         </el-table-column>
       </el-table>

+ 12 - 12
src/views/tranManagement/tranManagementShippingArrangemen.vue

@@ -112,7 +112,7 @@
              <el-button
               v-if="deptBudgetList.priceStatus=='审核中'"
               type="primary"
-              v-hasPermission="`transportationTask.transportation.transportationInfo.ship`" 
+              v-hasPermission="`tranManager.transportationInfo.ship`" 
               size="small"
               @click="examine()"
               >审核中</el-button
@@ -125,15 +125,7 @@
               >提交</el-button
             >
            </div>
-             
-           
           </div>
-
-
-
-
-
-
           <div
             class="position siji"
             v-for="(item, index) in deptBudgetList.tranCarInfoList"
@@ -693,6 +685,13 @@ export default {
       }
     },
     add() {
+        if(!this.deptBudgetList.tranPrice){
+        this.$message({
+          message: '请设置运输总价!',
+          type: 'warning',
+        })
+      }
+      else{
       this.deptBudgetList.tranCarInfoList.push({
         driver: this.deptBudgetList.tranCarInfoList[0].driver,
         driverPhone: this.deptBudgetList.tranCarInfoList[0].driverPhone,
@@ -705,6 +704,7 @@ export default {
         positionWeight: '',
         tranType: '3',
       })
+      }
     },
     selectdriver() {},
     handleChange(value) {
@@ -716,7 +716,7 @@ export default {
       this.selectedOptions = ''
       this.$router.push({ path: 'tranManagementShipping' })
     },
-        //审核
+      //审核
     examine(){
       this.$prompt('运输单价审核', {
           cancelButtonText: '取消',
@@ -728,7 +728,7 @@ export default {
               tranProcessInfo.id = this.deptBudgetList.id
               tranProcessInfo.flag = "2"
               tranProcessInfo.tranPriceIng = value
-              tranProcessInfo.tranTypeKey = 2
+                 tranProcessInfo.tranTypeKey = 3
               setUpTranPrice(tranProcessInfo)
                 .toPromise()
                 .then((response) => {
@@ -752,7 +752,7 @@ export default {
               tranProcessInfo.id = this.deptBudgetList.id
               tranProcessInfo.flag = "1"
               tranProcessInfo.tranPriceIng = this.deptBudgetList.tranPriceIng
-                tranCarInfo.tranTypeKey = 3
+               tranProcessInfo.tranTypeKey = 3
               setUpTranPrice(tranProcessInfo)
                 .toPromise()
                 .then((response) => {

+ 1056 - 1049
src/views/tranManagement/tranManagementShippingFeedback.vue

@@ -7,13 +7,8 @@
       </el-col>
       <el-col :span="12" class="bg-right">
         <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()">
-          <img
-            width="6"
-            height="10"
-            style="vertical-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt
-          />返回
+          <img width="6" height="10" style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png" alt />返回
         </el-button>
       </el-col>
     </el-row>
@@ -32,19 +27,10 @@
           }}{{ deptBudgetList.sendArea }}
         </ws-form-item>
         <!--发货人-->
-        <ws-form-item
-          label="发货人"
-          span="1"
-          prop="sender"
-          class="readonly"
-        >{{ deptBudgetList.sender }}</ws-form-item>
+        <ws-form-item label="发货人" span="1" prop="sender" class="readonly">{{ deptBudgetList.sender }}</ws-form-item>
         <!--发货人电话-->
-        <ws-form-item
-          label="发货人电话"
-          span="1"
-          prop="senderPhone"
-          class="readonly"
-        >{{ deptBudgetList.senderPhone }}</ws-form-item>
+        <ws-form-item label="发货人电话" span="1" prop="senderPhone" class="readonly">{{ deptBudgetList.senderPhone }}
+        </ws-form-item>
         <!--收货地址-->
         <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
           {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
@@ -55,17 +41,10 @@
         <!--收货人电话-->
         <ws-form-item label="收货人电话" span="1" prop="receiverPhone">{{ deptBudgetList.receiverPhone }}</ws-form-item>
         <!--发货日期-->
-        <ws-form-item
-          label="发货日期"
-          span="1"
-          prop="deliveryDateStart"
-        >{{ deptBudgetList.deliveryDateStart }}</ws-form-item>
+        <ws-form-item label="发货日期" span="1" prop="deliveryDateStart">{{ deptBudgetList.deliveryDateStart }}
+        </ws-form-item>
         <!--最晚到货日期-->
-        <ws-form-item
-          label="最晚到货日期"
-          span="1"
-          prop="deliveryDateEnd"
-        >{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
+        <ws-form-item label="最晚到货日期" span="1" prop="deliveryDateEnd">{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
         <!--合同编号-->
         <ws-form-item label="合同编号" span="1" prop="contractNo">{{ deptBudgetList.contractNo }}</ws-form-item>
         <!-- 运输方式 -->
@@ -79,19 +58,11 @@
         <ws-form-item label="电话" span="1" prop="driverPhone">{{ deptBudgetList.driverPhone }}</ws-form-item>
         <!--发船日期-->
         <ws-form-item label="发船日期" span="1" prop="sendDateStart">
-          <ws-date-picker
-            v-model="deptBudgetList.sendDateStart"
-            type="date"
-            placeholder="请选择发船日期"
-            value-format="yyyy-MM-dd"
-          />
+          <ws-date-picker v-model="deptBudgetList.sendDateStart" type="date" placeholder="请选择发船日期"
+            value-format="yyyy-MM-dd" />
         </ws-form-item>
         <!-- 预计到港日期 -->
-        <ws-form-item
-          label="预计到港日期"
-          span="1"
-          prop="receiveDateEnd"
-        >{{ deptBudgetList.receiveDateEnd }}</ws-form-item>
+        <ws-form-item label="预计到港日期" span="1" prop="receiveDateEnd">{{ deptBudgetList.receiveDateEnd }}</ws-form-item>
         <!-- 船名 -->
         <ws-form-item label="船名" span="1" prop="shipName">{{ deptBudgetList.shipName }}</ws-form-item>
         <!-- 航次 -->
@@ -99,35 +70,26 @@
         <!-- 类型 -->
         <ws-form-item label="类型" span="1" prop="shipType">{{ deptBudgetList.shipType }}</ws-form-item>
         <!-- 数量 -->
-        <ws-form-item
-          label="数量"
-          span="1"
-          prop="boxNumber"
-          v-if="deptBudgetList.shipType == '集装箱'"
-        >{{ deptBudgetList.boxNumber }}</ws-form-item>
+        <ws-form-item label="数量" span="1" prop="boxNumber" v-if="deptBudgetList.shipType == '集装箱'">
+          {{ deptBudgetList.boxNumber }}</ws-form-item>
       </ws-info-table>
       <div class="small-title" style="font-size: 16px; width: 50%; float: left">装船详情</div>
       <!-- 导入 -->
-      <div style="font-size: 16px; width: 50%; float: left; text-align: right">
-        <el-upload
-          style="margin-left: 8px;"
-          class="upload-demo inline-block margin-right-10"
-          action
-          :on-change="handleChange"
-          :show-file-list="false"
+      <div style="font-size: 16px; width: 50%; float: left; text-align: right;display:flex;justify-content:end;">
+        <el-link
+          href="https://taohaoliang.oss-cn-beijing.aliyuncs.com/%E6%B1%BD%E8%BF%90%E8%A3%85%E8%BD%A6%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF.xlsx"
+          style="margin-left: 8px;">
+          <el-button type="primary">模板下载</el-button>
+        </el-link>
+        <el-upload style="margin-left: 8px;" class="upload-demo inline-block margin-right-10" action
+          :on-change="handleChange" :show-file-list="false"
           accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
-          :auto-upload="false"
-        >
+          :auto-upload="false">
           <el-button type="primary">导入</el-button>
         </el-upload>
       </div>
       <div class="liaison" v-if="this.deptBudgetList.tranCarInfoList.length>0">
-        <div
-          style="width: 100%"
-          class="flex position"
-          v-for="(item, index) in this.freightspace"
-          :key="index"
-        >
+        <div style="width: 100%" class="flex position" v-for="(item, index) in freightspace" :key="index">
           <ws-info-table>
             <div class="catNos" v-if="item.shipType == '集装箱'">
               集装箱-{{ index + 1 }}
@@ -151,83 +113,38 @@
             </div>
             <!--箱号-->
             <el-form-item label="箱号" prop="caseNo" v-if="item.shipType == '集装箱'">
-              <el-input
-                v-if="item.status == '已装车' || item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.caseNo"
-                placeholder="请输入箱号"
-              ></el-input>
+              <el-input v-if="item.status == '已装车' || item.status == '已送达'" :disabled="readonly" v-model="item.caseNo"
+                placeholder="请输入箱号"></el-input>
               <el-input v-else v-model="item.caseNo" placeholder="请输入箱号"></el-input>
             </el-form-item>
             <!--封号-->
             <el-form-item label="封号" prop="titleNo" v-if="item.shipType == '集装箱'">
-              <el-input
-                v-if="item.status == '已装车' || item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.titleNo"
-                placeholder="请输入封号"
-              ></el-input>
+              <el-input v-if="item.status == '已装车' || item.status == '已送达'" :disabled="readonly" v-model="item.titleNo"
+                placeholder="请输入封号"></el-input>
               <el-input v-else v-model="item.titleNo" placeholder="请输入封号"></el-input>
             </el-form-item>
             <!-- 仓位号 -->
-            <ws-form-item
-              span="1"
-              prop="binNumber"
-              v-if="item.shipType == '散船'"
-            >{{ item.binNumber }}</ws-form-item>
+            <ws-form-item span="1" prop="binNumber" v-if="item.shipType == '散船'">{{ item.binNumber }}</ws-form-item>
             <!-- 计划重量 -->
-            <ws-form-item
-              label="计划重量(吨)"
-              span="1"
-              prop="positionWeight"
-              v-if="item.shipType == '散船'"
-            >{{ item.positionWeight }}</ws-form-item>
+            <ws-form-item label="计划重量(吨)" span="1" prop="positionWeight" v-if="item.shipType == '散船'">
+              {{ item.positionWeight }}</ws-form-item>
             <!--装船净重-->
             <ws-form-item label="装船净重:" span="1" prop="loadNetWeight">
-              <ws-input
-                v-if="item.status == '已装车' || item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.loadNetWeight"
-                placeholder="请输入装船净重"
-                maxlength="20"
-                size="small"
-              />
-              <ws-input
-                v-else
-                v-model="item.loadNetWeight"
-                placeholder="请输入装船净重"
-                maxlength="20"
-                size="small"
-              />
+              <ws-input v-if="item.status == '已装车' || item.status == '已送达'" :disabled="readonly"
+                v-model="item.loadNetWeight" placeholder="请输入装船净重" maxlength="20" size="small" />
+              <ws-input v-else v-model="item.loadNetWeight" placeholder="请输入装船净重" maxlength="20" size="small" />
             </ws-form-item>
             <!--装船日期-->
             <el-form-item label="装船日期:" span="1" prop="loadingDate" label-width="100px">
-              <ws-date-picker
-                v-if="item.status == '已装车' || item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.loadingDate"
-                type="date"
-                style="width: 150px"
-                placeholder="请选择日期"
-                value-format="yyyy-MM-dd"
-              />
-              <ws-date-picker
-                v-else
-                v-model="item.loadingDate"
-                type="date"
-                style="width: 150px"
-                placeholder="请选择日期"
-                value-format="yyyy-MM-dd"
-              />
+              <ws-date-picker v-if="item.status == '已装车' || item.status == '已送达'" :disabled="readonly"
+                v-model="item.loadingDate" type="date" style="width: 150px" placeholder="请选择日期"
+                value-format="yyyy-MM-dd" />
+              <ws-date-picker v-else v-model="item.loadingDate" type="date" style="width: 150px" placeholder="请选择日期"
+                value-format="yyyy-MM-dd" />
             </el-form-item>
             <div style=" padding: 10px" class="center1">
-              <el-button
-                v-show="item.status == '未装车'"
-                class="bg-bottom"
-                type="primary"
-                size="small"
-                @click="submit(deptBudgetList)"
-              >提交</el-button>
+              <el-button v-show="item.status == '未装车'" class="bg-bottom" type="primary" size="small"
+                @click="submit(deptBudgetList)">提交</el-button>
             </div>
             <div v-show=" item.signStatus == '未签合同'" class="signStatus">{{ item.signStatus }}</div>
             <div v-show=" item.signStatus == '已签合同'" class="signStatus1">{{ item.signStatus }}</div>
@@ -235,33 +152,22 @@
         </div>
       </div>
       <div v-if="this.deptBudgetList.tranCarInfoList.length>0" class="yd-bottom">
-       
-        <ws-form-item label="运单:" span="1" prop="loadPoundImg" class="yd-bottom-left" v-if="freightspace[0].status == '已装车'">
+
+        <ws-form-item label="运单:" span="1" prop="loadPoundImg" class="yd-bottom-left"
+          v-if="freightspace[0].status == '已装车'">
           <!-- slot-scope="scope" -->
           <template>
-            <el-upload
-              action="https://www.zthymaoyi.com/upload/admin"
-              :show-file-list="false"
-              :on-success=" (res) => { uploadSuccessHandle1(res)}"
-              class="avatar-uploader"
-              accept=".jpg, .jpeg, .png, .gif"
-              multiple
-            >
-              <img
-                width="18"
-                height="20"
-                style="vertical-align: text-top; position: relative"
-                src="../../../public/img/fujian.png"
-                alt
-              />
+            <el-upload action="https://www.zthymaoyi.com/upload/admin" :show-file-list="false"
+              :on-success=" (res) => { uploadSuccessHandle1(res)}" class="avatar-uploader"
+              accept=".jpg, .jpeg, .png, .gif" multiple>
+              <img width="18" height="20" style="vertical-align: text-top; position: relative"
+                src="../../../public/img/fujian.png" alt />
             </el-upload>
             <div class="tupian">
               <span
-                v-if="deptBudgetList.tranCarInfoList.length>0&&deptBudgetList.tranCarInfoList[0].loadPoundImg != null "
-              >{{pictureTotal}}</span>
+                v-if="deptBudgetList.tranCarInfoList.length>0&&deptBudgetList.tranCarInfoList[0].loadPoundImg != null ">{{pictureTotal}}</span>
               <span
-                v-if="deptBudgetList.tranCarInfoList.length>0&&deptBudgetList.tranCarInfoList[0].loadPoundImg == null "
-              >未上传</span>
+                v-if="deptBudgetList.tranCarInfoList.length>0&&deptBudgetList.tranCarInfoList[0].loadPoundImg == null ">未上传</span>
             </div>
           </template>
         </ws-form-item>
@@ -270,14 +176,12 @@
           合计(吨):{{ total }}/{{ deptBudgetList.weight }}
           <!--阶段状态-->
           <span class="noservice" v-show="deptBudgetList.feedbackStatus == '执行中'">未完货</span>
-          <span
-            class="service"
-            v-show="deptBudgetList.feedbackStatus == '已完货'"
-          >{{ deptBudgetList.feedbackStatus }}</span>
+          <span class="service"
+            v-show="deptBudgetList.feedbackStatus == '已完货'">{{ deptBudgetList.feedbackStatus }}</span>
         </div>
       </div>
       <div v-if="this.deptBudgetList.tranCarInfoList.length==0">
-          暂无船次
+        暂无船次
       </div>
       <!--运单-->
       <!-- <div
@@ -296,971 +200,1074 @@
   </div>
 </template>
 <script>
-import { regionData } from 'element-china-area-data'
-import Pagination from '@/components/Pagination'
-import {
-  seeCat,
-  packList,
-  feedback,
-  state,
-  importApplFileUrl
-} from '@/model/transport/index'
-import { getstaff } from '@/model/warehouse/index'
-import WsUpload from '@/components/WsUpload'
-import mapDrag from '@/components/mapdrag/mapdrag'
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-    mapDrag
-  },
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
+  import {
+    regionData
+  } from 'element-china-area-data'
+  import Pagination from '@/components/Pagination'
+  import {
+    seeCat,
+    packList,
+    feedback,
+    state,
+    importApplFileUrl
+  } from '@/model/transport/index'
+  import {
+    getstaff
+  } from '@/model/warehouse/index'
+  import WsUpload from '@/components/WsUpload'
+  import mapDrag from '@/components/mapdrag/mapdrag'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      mapDrag
     },
-    isShow(val) {
-      this.showType = val
-    }
-  },
-  data() {
-    return {
-      pictureTotal:0,
-      deptBudgetList: {
-        totalStorage: 0,
-        sendDateStart: ''
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
       },
-      tranCarInfoList: {
-        loadPoundImg: ''
-      },
-      options_: regionData,
-      heightData: '600px',
-      zoom: 7,
-      selectedOptions: [],
-      center: [116.244694, 39.517344],
-      window: '',
-      radio: 1,
-      personCharge: [],
-      district: null,
-      driverList: [],
-      readonly: true,
-      listDate: { country: '中国', level: 'country', city: '' },
-      citylist: [],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      rules: {
-        warehouseName: [
-          {
-            required: true,
-            message: '请输入仓库名称',
-            trigger: 'blur'
-          },
-          {
-            min: 2,
-            max: 20,
-            message: '仓库名长度不符合要求,请输入2-20字符之内',
-            trigger: 'blur'
+      isShow(val) {
+        this.showType = val
+      }
+    },
+    data() {
+      return {
+        excelFreightspace: [],
+        pictureTotal: 0,
+        deptBudgetList: {
+          totalStorage: 0,
+          sendDateStart: ''
+        },
+        tranCarInfoList: {
+          loadPoundImg: ''
+        },
+        options_: regionData,
+        heightData: '600px',
+        zoom: 7,
+        selectedOptions: [],
+        center: [116.244694, 39.517344],
+        window: '',
+        radio: 1,
+        personCharge: [],
+        district: null,
+        driverList: [],
+        readonly: true,
+        listDate: {
+          country: '中国',
+          level: 'country',
+          city: ''
+        },
+        citylist: [],
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        rules: {
+          warehouseName: [{
+              required: true,
+              message: '请输入仓库名称',
+              trigger: 'blur'
+            },
+            {
+              min: 2,
+              max: 20,
+              message: '仓库名长度不符合要求,请输入2-20字符之内',
+              trigger: 'blur'
+            }
+          ]
+        },
+        tranType: 1,
+        size: 10,
+        value1: '',
+        unitList: [],
+        fileTemp: '',
+        freightspace: [{
+            caseNo: '',
+            titleNo: '',
+            binNumber: '',
+            positionWeight: '',
+            loadNetWeight: '',
+            loadingDate: ''
           }
-        ]
-      },
-      tranType: 1,
-      size: 10,
-      value1: '',
-      unitList: [],
-      fileTemp: '',
-      freightspace: [
-        {
-          caseNo: '',
-          titleNo: '',
-          binNumber: '',
-          positionWeight: '',
-          loadNetWeight: '',
-          loadingDate: ''
-        }
-        // {loadPoundImg:{}},
-      ],
-      name: '',
-      staffList: [],
-      options: [],
-      carModel: [],
-      tranCarInfoList: {
-        loadPoundImg: ''
-      },
-      //上传
-      accessoryTFs: false,
-      fileList: [],
-      appendixIdsAdd: '',
-    }
-  },
-  activated() {
-    this.deptBudgetList.id = this.$route.query.id
-    this.getList()
-  },
-  computed: {
-    totalStorage: function() {
-      var maxStorage = 0
-      for (var i = 0; i < this.freightspace.length; i++) {
-        maxStorage += Number(this.freightspace[i].maxStorage)
+          // {loadPoundImg:{}},
+        ],
+        name: '',
+        staffList: [],
+        options: [],
+        carModel: [],
+        tranCarInfoList: {
+          loadPoundImg: ''
+        },
+        //上传
+        accessoryTFs: false,
+        fileList: [],
+        appendixIdsAdd: '',
       }
-      return maxStorage
     },
-    total: function() {
-      if (this.deptBudgetList.tranCarInfoList != null) {
+    activated() {
+      this.deptBudgetList.id = this.$route.query.id
+      this.getList()
+    },
+    computed: {
+      totalStorage: function() {
         var maxStorage = 0
-        for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
-          maxStorage += Number(
-            this.deptBudgetList.tranCarInfoList[i].loadNetWeight
-          )
+        for (var i = 0; i < this.freightspace.length; i++) {
+          maxStorage += Number(this.freightspace[i].maxStorage)
         }
         return maxStorage
-      } else {
-        return 0
-      }
-    }
-  },
-  methods: {
-    dataFilter(val) {
-      this.deptBudgetList.personCharge = val
-      if (val) {
-        this.options = this.staffList.filter(item => {
-          if (
-            !!~item.staffName.indexOf(val) ||
-            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
-          ) {
-            return true
+      },
+      total: function() {
+        if (this.deptBudgetList.tranCarInfoList != null) {
+          var maxStorage = 0
+          for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
+            maxStorage += Number(
+              this.deptBudgetList.tranCarInfoList[i].loadNetWeight
+            )
           }
-        })
-      } else {
-        this.options = this.staffList
-      }
-    },
-    selectstaff(e) {
-      for (var i = 0; i < this.staffList.length; i++) {
-        if (this.staffList[i].staffName == e) {
-          this.deptBudgetList.driverPhone = this.staffList[i].staffMobilePhone
-          this.freightspace[i].driverPhone = this.staffList[i].staffMobilePhone
-          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+          return maxStorage
+        } else {
+          return 0
         }
       }
     },
-    marker: function(item) {
-      this.deptBudgetList.warehousePositioning =
-        item.lnglat.lat + ',' + item.lnglat.lng
-    },
-    selectedAddress(e) {
-      this.deptBudgetList.warehousePositioning =
-        e.center.lat + ',' + e.center.lng
-    },
-    confirmPositioncity() {
-      this.listDate.level = 'city'
-      this.listDate.country = this.name
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    //下拉司机姓名改变事件
-    selectdriver() {},
-    handleChange(value) {
-      this.selectedOptions = value
-    },
-    returnsales() {
-      this.deptBudgetList = {}
-      this.freightspace = {}
-      this.selectedOptions = ''
-      this.deptBudgetList.tranCarInfoList = []
-      this.$router.push({ path: 'tranManagementTransporHairRespond' })
-    },
-    // 上传附件
-    uploadSuccess(data, files, url) {
-      console.log(data, files, url)
-    },
-    handleClose() {
-      this.accessoryTFs = false
-    },
-    handleChange(file, fileList) {
-      this.fileTemp = file.raw
-      let fileName = file.raw.name
-      let fileType = fileName.substring(fileName.lastIndexOf('.') + 1)
-      // 判断上传文件格式
-      if (this.fileTemp) {
-        if (fileType == 'xlsx' || fileType == 'xls') {
-          this.importf(this.fileTemp)
+    methods: {
+      dataFilter(val) {
+        this.deptBudgetList.personCharge = val
+        if (val) {
+          this.options = this.staffList.filter(item => {
+            if (
+              !!~item.staffName.indexOf(val) ||
+              !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+            ) {
+              return true
+            }
+          })
+        } else {
+          this.options = this.staffList
+        }
+      },
+      selectstaff(e) {
+        for (var i = 0; i < this.staffList.length; i++) {
+          if (this.staffList[i].staffName == e) {
+            this.deptBudgetList.driverPhone = this.staffList[i].staffMobilePhone
+            this.freightspace[i].driverPhone = this.staffList[i].staffMobilePhone
+            this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+          }
+        }
+      },
+      marker: function(item) {
+        this.deptBudgetList.warehousePositioning =
+          item.lnglat.lat + ',' + item.lnglat.lng
+      },
+      selectedAddress(e) {
+        this.deptBudgetList.warehousePositioning =
+          e.center.lat + ',' + e.center.lng
+      },
+      confirmPositioncity() {
+        this.listDate.level = 'city'
+        this.listDate.country = this.name
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      //下拉司机姓名改变事件
+      selectdriver() {},
+      handleChange(value) {
+        this.selectedOptions = value
+      },
+      returnsales() {
+        this.deptBudgetList = {}
+        this.freightspace = {}
+        this.selectedOptions = ''
+        this.deptBudgetList.tranCarInfoList = []
+        this.$router.push({
+          path: 'tranManagementTransporHairRespond'
+        })
+      },
+      // 上传附件
+      uploadSuccess(data, files, url) {
+        console.log(data, files, url)
+      },
+      handleClose() {
+        this.accessoryTFs = false
+      },
+      handleChange(file, fileList) {
+        this.fileTemp = file.raw
+        let fileName = file.raw.name
+        let fileType = fileName.substring(fileName.lastIndexOf('.') + 1)
+        // 判断上传文件格式
+        if (this.fileTemp) {
+          if (fileType == 'xlsx' || fileType == 'xls') {
+            this.importf(this.fileTemp)
+          } else {
+            this.$message({
+              type: 'warning',
+              message: '附件格式错误,请删除后重新上传!'
+            })
+          }
         } else {
           this.$message({
             type: 'warning',
-            message: '附件格式错误,请删除后重新上传!'
+            message: '请上传附件!'
           })
         }
-      } else {
-        this.$message({
-          type: 'warning',
-          message: '请上传附件!'
-        })
-      }
-    },
-    importf(obj) {
-      this.dialogVisible = true
-      let _this = this
-      let inputDOM = this.$refs.inputer // 通过DOM取文件数据
-      this.file = event.currentTarget.files[0]
-      var rABS = false //是否将文件读取为二进制字符串
-      var f = this.file
-      var reader = new FileReader()
-      //if (!FileReader.prototype.readAsBinaryString) {
-      FileReader.prototype.readAsBinaryString = function(f) {
-        var binary = ''
+      },
+      importf(obj) {
+        this.dialogVisible = true
+        let _this = this
+        let inputDOM = this.$refs.inputer // 通过DOM取文件数据
+        this.file = event.currentTarget.files[0]
         var rABS = false //是否将文件读取为二进制字符串
-        var pt = this
-        var wb //读取完成的数据
-        var outdata
+        var f = this.file
         var reader = new FileReader()
-        reader.onload = function(e) {
-          var bytes = new Uint8Array(reader.result)
-          var length = bytes.byteLength
-          for (var i = 0; i < length; i++) {
-            binary += String.fromCharCode(bytes[i])
-          }
-          var XLSX = require('xlsx')
-          if (rABS) {
-            wb = XLSX.read(btoa(fixdata(binary)), {
-              //手动转化
-              type: 'base64'
-            })
-          } else {
-            wb = XLSX.read(binary, {
-              type: 'binary'
+        //if (!FileReader.prototype.readAsBinaryString) {
+        FileReader.prototype.readAsBinaryString = function(f) {
+          var binary = ''
+          var rABS = false //是否将文件读取为二进制字符串
+          var pt = this
+          var wb //读取完成的数据
+          var outdata
+          var reader = new FileReader()
+          reader.onload = function(e) {
+            var bytes = new Uint8Array(reader.result)
+            var length = bytes.byteLength
+            for (var i = 0; i < length; i++) {
+              binary += String.fromCharCode(bytes[i])
+            }
+            var XLSX = require('xlsx')
+            if (rABS) {
+              wb = XLSX.read(btoa(fixdata(binary)), {
+                //手动转化
+                type: 'base64'
+              })
+            } else {
+              wb = XLSX.read(binary, {
+                type: 'binary'
+              })
+            }
+            // outdata就是你想要的东西 excel导入的数据
+            outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]])
+            // excel 数据再处理
+            let arr = []
+            outdata.map(v => {
+              // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
+              let jsonString = JSON.stringify(v)
+                .replace(/\//g, '')
+                .replace(/\s/gi, '')
+              console.log(jsonString)
+              v = JSON.parse(jsonString)
+              let obj = {}
+              //xxx代表列名
+              obj.caseNo = v.箱号
+              obj.titleNo = v.封号
+              obj.binNumber = v.仓位号
+              obj.positionWeight = v.散船重量
+              obj.loadNetWeight = v.装船净重
+              obj.loadingDate = v.装船日期
+              obj.status = v.状态
+              obj.shipType = v.类型
+              console.log(obj)
+              _this.excelFreightspace.push(obj)
             })
+            let _ispushData = true
+            console.log(arr, _this.freightspace)
+            for (let i = 0; i < _this.excelFreightspace.length; i++) {
+              _ispushData = true
+              for (let k = 0; k < _this.freightspace.length; k++) {
+                if (_this.excelFreightspace[i].binNumber == _this.freightspace[k].binNumber) {
+                  _this.freightspace[k] = _this.excelFreightspace[i]
+                  _ispushData = false
+                }
+              }
+              if (_ispushData) {
+                _this.freightspace.push(_this.excelFreightspace[i])
+
+                _ispushData = true
+              }
+            }
+            _this.$forceUpdate();
           }
-          // outdata就是你想要的东西 excel导入的数据
-          outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]])
-          // excel 数据再处理
-          let arr = []
-          outdata.map(v => {
-            // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
-            let jsonString = JSON.stringify(v)
-              .replace(/\//g, '')
-              .replace(/\s/gi, '')
-            console.log(jsonString)
-            v = JSON.parse(jsonString)
-            let obj = {}
-            //xxx代表列名
-            obj.caseNo = v.箱号
-            obj.titleNo = v.封号
-            obj.binNumber = v.仓位号
-            obj.positionWeight = v.散船重量
-            obj.loadNetWeight = v.装船净重
-            obj.loadingDate = toString(v.装船日期)
-            obj.status = v.状态
-            obj.shipType = v.类型
-            console.log(obj)
-            _this.freightspace.push(obj)
-          })
-          // _this.freightspace.concat(arr)
-          console.log(arr, _this.freightspace)
+          reader.readAsArrayBuffer(f)
+        }
+        if (rABS) {
+          reader.readAsArrayBuffer(f)
+        } else {
+          reader.readAsBinaryString(f)
+        }
+        console.log(reader)
+      },
+      uploadSectionFile(param) {
+        var fileName = param.file.name.split('.')
+        var fileSuffix = fileName[fileName.length - 1]
+        if (
+          !(
+            fileSuffix.toLowerCase() == 'xlsx' ||
+            fileSuffix.toLowerCase() == 'xls'
+          )
+        ) {
+          EventBus.$emit('error', this.$t('upload.message08'))
+          loading.close()
+          return
         }
-        reader.readAsArrayBuffer(f)
-      }
-      if (rABS) {
-        reader.readAsArrayBuffer(f)
-      } else {
-        reader.readAsBinaryString(f)
-      }
-      console.log(reader)
-    },
-    uploadSectionFile(param) {
-      var fileName = param.file.name.split('.')
-      var fileSuffix = fileName[fileName.length - 1]
-      if (
-        !(
-          fileSuffix.toLowerCase() == 'xlsx' ||
-          fileSuffix.toLowerCase() == 'xls'
-        )
-      ) {
-        EventBus.$emit('error', this.$t('upload.message08'))
-        loading.close()
-        return
-      }
 
-      var data = new FormData()
-      data.append('file', param.file)
-      data.append('compId', sessionStorage.getItem('ws-pf_compId'))
-      data.append('userId', sessionStorage.getItem('ws-pf_userId'))
+        var data = new FormData()
+        data.append('file', param.file)
+        data.append('compId', sessionStorage.getItem('ws-pf_compId'))
+        data.append('userId', sessionStorage.getItem('ws-pf_userId'))
 
-      importApplFileUrl(data)
-        .toPromise()
-        .then(success => {
-          console.log(success)
-        })
-    },
+        importApplFileUrl(data)
+          .toPromise()
+          .then(success => {
+            console.log(success)
+          })
+      },
 
-    //完货
-    finished() {
-      this.$confirm(`完货操作后,装船信息不可修改,是否确定完货?`, {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          this.$refs.deptBudgetList.validate(valid => {
-            if (valid) {
-              var tranProcessInfo = {}
-              tranProcessInfo.id = this.deptBudgetList.id
-              state(tranProcessInfo)
-                .toPromise()
-                .then(response => {
-                  this.$message.success('完货成功')
-                  this.deptBudgetList = {}
-                  this.freightspace = {}
-                  this.selectedOptions = ''
-                  this.$router.push({
-                    path: 'tranManagementTransporHairRespond'
-                  })
-                })
-            } else {
-              return false
-            }
+      //完货
+      finished() {
+        this.$confirm(`完货操作后,装船信息不可修改,是否确定完货?`, {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning'
           })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    submit() {
-      // if (!this.freightspace[i].sendDateStart) {
-      //   this.$message({
-      //     message: '发船日期不能为空!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (!this.freightspace[i].caseNo) {
-      //   this.$message({
-      //     message: '箱号不能为空!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (
-      //   this.freightspace[i].caseNo.length > 15 ||
-      //   this.freightspace[i].caseNo.length < 1
-      // ) {
-      //   this.$message({
-      //     message: '箱号输入错误!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (!this.freightspace[i].titleNo) {
-      //   this.$message({
-      //     message: '封号不能为空!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (
-      //   this.freightspace[i].titleNo.length > 15 ||
-      //   this.freightspace[i].titleNo.length < 1
-      // ) {
-      //   this.$message({
-      //     message: '封号输入错误!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (!this.freightspace[i].loadNetWeight) {
-      //   this.$message({
-      //     message: '装船净重不能为空!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (
-      //   (this.freightspace[i].loadNetWeight &&
-      //     String(this.freightspace[i].loadNetWeight).indexOf('.') != -1 &&
-      //     String(this.freightspace[i].loadNetWeight).length -
-      //       (String(this.freightspace[i].loadNetWeight).indexOf('.') + 1) >
-      //       2) ||
-      //   this.freightspace[i].loadNetWeight > 10000 ||
-      //   this.freightspace[i].loadNetWeight < 0
-      // ) {
-      //   this.$message({
-      //     message: '装船净重输入错误',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      // if (!this.freightspace[i].loadingDate) {
-      //   this.$message({
-      //     message: '装船日期不能为空!',
-      //     type: 'warning',
-      //   })
-      //   return
-      // }
-      this.$confirm(`提交成功后装船信息不可修改,是否确定提交?`, {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          this.$refs.deptBudgetList.validate(valid => {
-            if (valid) {
-              this.tranCarInfoList = this.freightspace
-              this.tranCarInfoList[0].sendDateStart = this.deptBudgetList.sendDateStart
-              for (var i = 0; i < this.tranCarInfoList.length; i++) {
-                this.tranCarInfoList[i].id = this.freightspace[i].id
+          .then(() => {
+            this.$refs.deptBudgetList.validate(valid => {
+              if (valid) {
+                var tranProcessInfo = {}
+                tranProcessInfo.id = this.deptBudgetList.id
+                state(tranProcessInfo)
+                  .toPromise()
+                  .then(response => {
+                    this.$message.success('完货成功')
+                    this.deptBudgetList = {}
+                    this.freightspace = {}
+                    this.selectedOptions = ''
+                    this.$router.push({
+                      path: 'tranManagementTransporHairRespond'
+                    })
+                  })
+              } else {
+                return false
               }
-              var tranProcessInfo = {}
-              tranProcessInfo.id = this.deptBudgetList.id
-              tranProcessInfo.infoId = this.deptBudgetList.infoId
-              tranProcessInfo.processNo = this.deptBudgetList.processNo
-              tranProcessInfo.tranCarInfoList = this.tranCarInfoList
-              feedback(tranProcessInfo)
-                .toPromise()
-                .then(response => {
-                  this.$message.success('提交成功')
-                  this.deptBudgetList = {}
-                  this.freightspace = {}
-                  this.selectedOptions = ''
-                  this.$router.push({
-                    path: 'tranManagementTransporHairRespond'
+            })
+          })
+          .catch(() => {
+            return false
+          })
+      },
+      submit() {
+        // if (!this.freightspace[i].sendDateStart) {
+        //   this.$message({
+        //     message: '发船日期不能为空!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (!this.freightspace[i].caseNo) {
+        //   this.$message({
+        //     message: '箱号不能为空!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (
+        //   this.freightspace[i].caseNo.length > 15 ||
+        //   this.freightspace[i].caseNo.length < 1
+        // ) {
+        //   this.$message({
+        //     message: '箱号输入错误!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (!this.freightspace[i].titleNo) {
+        //   this.$message({
+        //     message: '封号不能为空!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (
+        //   this.freightspace[i].titleNo.length > 15 ||
+        //   this.freightspace[i].titleNo.length < 1
+        // ) {
+        //   this.$message({
+        //     message: '封号输入错误!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (!this.freightspace[i].loadNetWeight) {
+        //   this.$message({
+        //     message: '装船净重不能为空!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (
+        //   (this.freightspace[i].loadNetWeight &&
+        //     String(this.freightspace[i].loadNetWeight).indexOf('.') != -1 &&
+        //     String(this.freightspace[i].loadNetWeight).length -
+        //       (String(this.freightspace[i].loadNetWeight).indexOf('.') + 1) >
+        //       2) ||
+        //   this.freightspace[i].loadNetWeight > 10000 ||
+        //   this.freightspace[i].loadNetWeight < 0
+        // ) {
+        //   this.$message({
+        //     message: '装船净重输入错误',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        // if (!this.freightspace[i].loadingDate) {
+        //   this.$message({
+        //     message: '装船日期不能为空!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        this.$confirm(`提交成功后装船信息不可修改,是否确定提交?`, {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning'
+          })
+          .then(() => {
+            this.$refs.deptBudgetList.validate(valid => {
+              if (valid) {
+                this.tranCarInfoList = this.freightspace
+                this.tranCarInfoList[0].sendDateStart = this.deptBudgetList.sendDateStart
+                for (var i = 0; i < this.tranCarInfoList.length; i++) {
+                  this.tranCarInfoList[i].id = this.freightspace[i].id
+                }
+                var tranProcessInfo = {}
+                tranProcessInfo.id = this.deptBudgetList.id
+                tranProcessInfo.infoId = this.deptBudgetList.infoId
+                tranProcessInfo.processNo = this.deptBudgetList.processNo
+                tranProcessInfo.tranCarInfoList = this.tranCarInfoList
+                feedback(tranProcessInfo)
+                  .toPromise()
+                  .then(response => {
+                    this.$message.success('提交成功')
+                    this.deptBudgetList = {}
+                    this.freightspace = {}
+                    this.selectedOptions = ''
+                    this.$router.push({
+                      path: 'tranManagementTransporHairRespond'
+                    })
                   })
-                })
-            } else {
-              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-              return false
-            }
+              } else {
+                // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+                return false
+              }
+            })
           })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
-    },
-    getList() {
-      seeCat({ id: this.deptBudgetList.id })
-        .toPromise()
-        .then(response => {
-          this.deptBudgetList = response
-          if (response.tranCarInfoList.length > 0) {
-            this.deptBudgetList.driver = response.tranCarInfoList[0].driver
-            this.deptBudgetList.driverPhone =
-              response.tranCarInfoList[0].driverPhone
-            this.$set(
-              this.deptBudgetList,
-              'sendDateStart',
-              response.tranCarInfoList[0].sendDateStart
-            )
-            this.deptBudgetList.receiveDateEnd =
-              response.tranCarInfoList[0].receiveDateEnd
-            this.deptBudgetList.shipName = response.tranCarInfoList[0].shipName
-            this.deptBudgetList.shipNo = response.tranCarInfoList[0].shipNo
-            this.deptBudgetList.shipType = response.tranCarInfoList[0].shipType
-            this.deptBudgetList.boxNumber = response.tranCarInfoList[0].boxNumber
-            //上传附件计数
-            if(this.deptBudgetList.tranCarInfoList[0].loadPoundImg){
-              this.pictureTotal =  this.deptBudgetList.tranCarInfoList[0].loadPoundImg.split(",").length
+          .catch(() => {
+            return false
+          })
+      },
+      resetForm(deptBudgetList) {
+        this.$refs[deptBudgetList].resetFields()
+      },
+      getList() {
+        seeCat({
+            id: this.deptBudgetList.id
+          })
+          .toPromise()
+          .then(response => {
+            this.deptBudgetList = response
+            if (response.tranCarInfoList.length > 0) {
+              this.deptBudgetList.driver = response.tranCarInfoList[0].driver
+              this.deptBudgetList.driverPhone =
+                response.tranCarInfoList[0].driverPhone
+              this.$set(
+                this.deptBudgetList,
+                'sendDateStart',
+                response.tranCarInfoList[0].sendDateStart
+              )
+              this.deptBudgetList.receiveDateEnd =
+                response.tranCarInfoList[0].receiveDateEnd
+              this.deptBudgetList.shipName = response.tranCarInfoList[0].shipName
+              this.deptBudgetList.shipNo = response.tranCarInfoList[0].shipNo
+              this.deptBudgetList.shipType = response.tranCarInfoList[0].shipType
+              this.deptBudgetList.boxNumber = response.tranCarInfoList[0].boxNumber
+              //上传附件计数
+              if (this.deptBudgetList.tranCarInfoList[0].loadPoundImg) {
+                this.pictureTotal = this.deptBudgetList.tranCarInfoList[0].loadPoundImg.split(",").length
+              }
+              this.freightspace = response.tranCarInfoList
             }
-            this.freightspace = response.tranCarInfoList
-          }
 
-          for (var i = 0; i < this.freightspace.length; i++) {
-            if (!this.freightspace[i].loadNetWeight) {
-              this.freightspace[i].loadNetWeight = 0
+            for (var i = 0; i < this.freightspace.length; i++) {
+              if (!this.freightspace[i].loadNetWeight) {
+                this.freightspace[i].loadNetWeight = 0
+              }
             }
-          }
-        })
-      //司机姓名下拉
-      getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
-        .toPromise()
-        .then(response => {
-          this.options = response
-          this.staffList = response
-        }),
-        //车型
-        packList({ constId: 'TRAN5' })
+          })
+        //司机姓名下拉
+        getstaff({
+            compId: sessionStorage.getItem('ws-pf_compId')
+          })
+          .toPromise()
+          .then(response => {
+            this.options = response
+            this.staffList = response
+          }),
+          //车型
+          packList({
+            constId: 'TRAN5'
+          })
           .toPromise()
           .then(response => {
             this.carModel = response
           })
-    },
-    handleExamine() {},
-    approve() {},
-    // returnsales() {
-    //   this.$router.push({ path: 'purchaseContract' })
-    // },
-    selectChapterTwo(e) {
-      for (var i = 0; i < this.ChapterTwoList.length; i++) {
-        if (this.ChapterTwoList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+      },
+      handleExamine() {},
+      approve() {},
+      // returnsales() {
+      //   this.$router.push({ path: 'purchaseContract' })
+      // },
+      selectChapterTwo(e) {
+        for (var i = 0; i < this.ChapterTwoList.length; i++) {
+          if (this.ChapterTwoList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+          }
         }
-      }
-    },
-    selectunitList(e) {
-      for (var i = 0; i < this.unitList.length; i++) {
-        if (this.unitList[i].constValue == e) {
-          this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+      },
+      selectunitList(e) {
+        for (var i = 0; i < this.unitList.length; i++) {
+          if (this.unitList[i].constValue == e) {
+            this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+          }
         }
-      }
-    },
-    selectgrade(e) {
-      for (var i = 0; i < this.gradeList.length; i++) {
-        if (this.gradeList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+      },
+      selectgrade(e) {
+        for (var i = 0; i < this.gradeList.length; i++) {
+          if (this.gradeList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+          }
         }
-      }
-    },
-    selectgoodsName(e) {
-      for (var i = 0; i < this.goodnameList.length; i++) {
-        if (this.goodnameList[i].constValue == e) {
-          this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+      },
+      selectgoodsName(e) {
+        for (var i = 0; i < this.goodnameList.length; i++) {
+          if (this.goodnameList[i].constValue == e) {
+            this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+          }
         }
-      }
-    },
-    selectpackingMethod(e) {
-      for (var i = 0; i < this.packtypeList.length; i++) {
-        if (this.packtypeList[i].constValue == e) {
-          this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+      },
+      selectpackingMethod(e) {
+        for (var i = 0; i < this.packtypeList.length; i++) {
+          if (this.packtypeList[i].constValue == e) {
+            this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+          }
+        }
+      },
+      uploadSuccessHandle1(e) {
+        this.pictureTotal++;
+        if (this.deptBudgetList.tranCarInfoList[0].loadPoundImg) {
+          this.deptBudgetList.tranCarInfoList[0].loadPoundImg += ',' + e.url
+        } else {
+          this.deptBudgetList.tranCarInfoList[0].loadPoundImg = e.url
         }
-      }
-    },
-    uploadSuccessHandle1(e) {
-      this.pictureTotal++; 
-      if (this.deptBudgetList.tranCarInfoList[0].loadPoundImg) {
-        this.deptBudgetList.tranCarInfoList[0].loadPoundImg += ',' + e.url
-      } else {
-        this.deptBudgetList.tranCarInfoList[0].loadPoundImg = e.url
-      }
 
-      console.log(this.deptBudgetList.tranCarInfoList,"duixiang1")
-       feedback(this.deptBudgetList)
-                .toPromise()
-                .then(response => {
-                })
+        console.log(this.deptBudgetList.tranCarInfoList, "duixiang1")
+        feedback(this.deptBudgetList)
+          .toPromise()
+          .then(response => {})
+      }
     }
   }
-}
 </script>
 
 <style lang="scss" scoped>
-/deep/.totalStorage .el-input__inner {
-  color: #afb5cb;
-  background: #f5f7fa;
-}
-.small-title {
-  position: relative;
-  padding: 10px;
-  font-weight: 600;
-}
-.small-title::before {
-  position: absolute;
-  content: '';
-  display: block;
-  background: #5473e8;
-  width: 4px;
-  height: 14px;
-  left: 0px;
-  top: 13px;
-}
-.position {
-  position: relative;
-}
-
-.del {
-  position: absolute;
-  right: -38px;
-  top: 14px;
-  cursor: pointer;
-  right: 0;
-  display: inline-block;
-  font-size: 26px;
-  width: 26px;
-  height: 10px;
-  line-height: 0px;
-}
-
-.amap-page-container {
-  width: 300px;
-  height: 300px;
-}
-.el-form {
-  padding: 0 10%;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-}
-.readonly {
-  position: relative;
-}
-.readonly:after {
-  content: '*';
-  color: #ff2727;
-  position: absolute;
-  right: 8px;
-  z-index: 10;
-  top: 21%;
-  font-size: 20px;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid transparent;
-  background: #fff;
-  display: flex;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 100px;
-  text-align: center;
-  background: #fff;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
+  /deep/.totalStorage .el-input__inner {
+    color: #afb5cb;
+    background: #f5f7fa;
+  }
+
+  .small-title {
+    position: relative;
+    padding: 10px;
+    font-weight: 600;
+  }
+
+  .small-title::before {
+    position: absolute;
+    content: '';
+    display: block;
+    background: #5473e8;
+    width: 4px;
+    height: 14px;
+    left: 0px;
+    top: 13px;
+  }
+
+  .position {
+    position: relative;
+  }
+
+  .del {
+    position: absolute;
+    right: -38px;
+    top: 14px;
+    cursor: pointer;
+    right: 0;
+    display: inline-block;
+    font-size: 26px;
+    width: 26px;
+    height: 10px;
+    line-height: 0px;
+  }
+
+  .amap-page-container {
+    width: 300px;
+    height: 300px;
+  }
+
+  .el-form {
+    padding: 0 10%;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid transparent;
+    border-bottom: 1px solid transparent;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid transparent;
+    background: #fff;
     display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
   }
 
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 100px;
+    text-align: center;
+    background: #fff;
+    // border: 1px solid #cdd2dc;
+  }
+
+  .button-container {
+    display: flex;
+    flex-wrap: nowrap;
+    justify-content: space-between;
+    align-items: center;
+    background-color: #fff;
+    width: 100%;
+    height: 50px;
+    padding: 0 10px;
+
+    &>div {
+      margin-left: 10px;
+      display: flex;
+      flex-wrap: nowrap;
+      flex-direction: row;
+
+      &>span {
+        line-height: 50px;
+      }
     }
-    &/deep/.auditFlow-main {
-      position: absolute;
+
+    /deep/.auditFlow-box {
+      position: unset;
+      margin-left: 10px;
+
+      &/deep/.auditFlow-icon {
+        width: auto;
+        padding-right: 30px;
+      }
+
+      &/deep/.auditFlow-main {
+        position: absolute;
+      }
     }
   }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
+
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
       }
     }
   }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding-right: 10px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 15px 0px;
-}
-.wenzi {
-  width: 900px;
-  margin: 0 auto;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.center {
-  width: 900px;
-  margin: 0 auto;
-}
-.center1 {
-  width: 100px;
-  margin: 0 auto;
-  margin-top: -2%;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.ce {
-  width: 900px;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
+
+  .collapse-bottom {
+    margin-bottom: 20px;
   }
-  .el-icon-arrow-up {
-    display: none;
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
   }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
+  }
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  .wenzi {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .center1 {
+    width: 100px;
+    margin: 0 auto;
+    margin-top: -2%;
+  }
+
+  .el-form-item {
+    width: 50%;
   }
-  .el-date-editor {
-    i {
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  .hide-sel {
+    .el-input__inner {
+      border: 0px;
+    }
+
+    .el-icon-arrow-up {
       display: none;
     }
+
+    .el-textarea__inner {
+      background-color: #fff !important;
+      border: 0;
+    }
+
+    .el-date-editor {
+      i {
+        display: none;
+      }
+    }
+
+    // .is-disabled {
+    //   .el-input__inner:hover {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //   }
+    //   color: #606266;
+    //   .el-input__inner {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //     color: #606266;
+    //   }
+    //   .el-textarea__inner {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //     color: #606266;
+    //   }
+    // }
+  }
+
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
+    padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
   }
-  // .is-disabled {
-  //   .el-input__inner:hover {
-  //     background-color: #fff !important;
-  //     border: 0;
+
+  // /deep/.is-disabled {
+  //   .el-input__prefix,
+  //   .el-input__suffix {
+  //     display: none;
   //   }
-  //   color: #606266;
   //   .el-input__inner {
-  //     background-color: #fff !important;
-  //     border: 0;
-  //     color: #606266;
-  //   }
-  //   .el-textarea__inner {
-  //     background-color: #fff !important;
-  //     border: 0;
-  //     color: #606266;
+  //     background-color: #fff;
+  //     border-color: #fff !important;
+  //     color: #000 !important;
+  //     font-size: 14px;
+  //     cursor: text;
+  //     padding: 0 !important;
   //   }
   // }
-}
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
 
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  .ws-info-table .el-form-item {
+    width: 33.3333%;
+  }
+
+  .readonly:after {
+    display: none;
+  }
+
+  .el-textarea__inner {
+    display: none;
+  }
+
+  .el-form {
+    margin-top: 50px;
+  }
+
+  .readonly {
+    width: 16%;
+  }
+
+  //去边框
+  /deep/.el-form-item {
+    border-right: 0px;
+    border-bottom: 0px;
+  }
+
+  /deep/.ws-info-table {
+    border-left: 0px;
+    border-top: 0px;
+  }
+
+  .ws-info-table .el-form-item .el-form-item__content {
+    border: none;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border: none;
+    height: 50px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    background: #f5f7fa;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    font-family: PingFangSC-Regular, PingFang SC;
+    margin-bottom: 5px;
+    background-color: #fff;
+    font-size: 14px;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    background-color: #fff;
+    font-size: 13px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    background: #f5f7fa;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+  }
+
+  /deep/.flex .ws-info-table .el-form-item .el-form-item__content {
+    border: 0px;
+  }
+
+  //联络员及车次
+  /deep/.liaison .ws-info-table .el-form-item {
+    width: 19%;
+  }
+
+  /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
+    width: 37%;
+    background: #f6f7fc;
+  }
+
+  /deep/.liaison .ws-info-table {
+    width: 100%;
+    background: #f6f7fc;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    margin-top: 20px;
+  }
+
+  .catNos {
+    width: 100%;
+    height: 30px;
+    margin-top: 10px;
+    margin-left: 20px;
+    font-size: 14px;
+  }
+
+  .catNosCor {
+    color: #5473e8;
+  }
+
+  .add {
+    width: 130px;
+    height: 34px;
+    background: #f6f7fb;
+    border-radius: 17px;
+    color: #5473e8;
+    font-size: 14px;
+    border: none;
+  }
+
+  .add img {
+    display: inline-block;
+    margin-top: 3px;
+    margin-left: -30px;
+  }
+
+  .add .spans {
+    display: table-caption;
+    width: 56px;
+    height: 20px;
+    line-height: 18px;
+  }
+
+  .signStatus {
+    height: 25px;
+    border-radius: 3px;
+    border: 1px solid #5473e8;
+    padding: 0 3px;
+    color: #ffffff;
+    background: #c4cada;
+    line-height: 24px;
+    margin-left: 18px;
+  }
+
+  .signStatus1 {
+    height: 25px;
+    background: #e6ebff;
+    border-radius: 3px;
+    border: 1px solid #5473e8;
+    padding: 0 3px;
+    margin-left: 18px;
+    color: #5473e8;
+    line-height: 24px;
+  }
+
+  .line {
+    height: 26px;
+    margin-top: 6px;
+    left: 2px;
+  }
+
+  /deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
+    padding: 0px;
+  }
+
+  .noservice {
+    background: #c4cada;
+    color: #ffffff;
+    padding: 5px 7px;
+    border-radius: 4px;
+  }
+
+  .service {
+    background: #e5f1f7;
+    color: #50cad4;
+  }
+
+  .tupian {
+    // margin-left: 14%;
+    // margin-top: -7%;
+  }
+
+  /deep/.el-input--suffix .el-input__inner {
+    padding-right: 0px;
+  }
+
+  .liaison {
+    margin-bottom: 20px;
+  }
+
+  .yd-bottom {
+    display: flex;
+    justify-content: space-between;
+  }
+
+  .yd-bottom-left {
+    display: flex;
+  }
+
+  .avatar-uploader {
+    margin-right: 10px;
+  }
+
+  /deep/.yd-bottom-left .el-form-item__content {
+    display: flex;
   }
-}
-// /deep/.is-disabled {
-//   .el-input__prefix,
-//   .el-input__suffix {
-//     display: none;
-//   }
-//   .el-input__inner {
-//     background-color: #fff;
-//     border-color: #fff !important;
-//     color: #000 !important;
-//     font-size: 14px;
-//     cursor: text;
-//     padding: 0 !important;
-//   }
-// }
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-.ws-info-table .el-form-item {
-  width: 33.3333%;
-}
-.readonly:after {
-  display: none;
-}
-.el-textarea__inner {
-  display: none;
-}
-.el-form {
-  margin-top: 50px;
-}
-.readonly {
-  width: 16%;
-}
-
-//去边框
-/deep/.el-form-item {
-  border-right: 0px;
-  border-bottom: 0px;
-}
-/deep/.ws-info-table {
-  border-left: 0px;
-  border-top: 0px;
-}
-.ws-info-table .el-form-item .el-form-item__content {
-  border: none;
-}
-/deep/.ws-info-table .el-form-item {
-  border: none;
-  height: 50px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  background: #f5f7fa;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  font-family: PingFangSC-Regular, PingFang SC;
-  margin-bottom: 5px;
-  background-color: #fff;
-  font-size: 14px;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  background-color: #fff;
-  font-size: 13px;
-  font-family: PingFangSC-Regular, PingFang SC;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  background: #f5f7fa;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-}
-/deep/.flex .ws-info-table .el-form-item .el-form-item__content {
-  border: 0px;
-}
-//联络员及车次
-/deep/.liaison .ws-info-table .el-form-item {
-  width: 19%;
-}
-/deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
-  width: 37%;
-  background: #f6f7fc;
-}
-/deep/.liaison .ws-info-table {
-  width: 100%;
-  background: #f6f7fc;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  margin-top: 20px;
-}
-.catNos {
-  width: 100%;
-  height: 30px;
-  margin-top: 10px;
-  margin-left: 20px;
-  font-size: 14px;
-}
-.catNosCor {
-  color: #5473e8;
-}
-.add {
-  width: 130px;
-  height: 34px;
-  background: #f6f7fb;
-  border-radius: 17px;
-  color: #5473e8;
-  font-size: 14px;
-  border: none;
-}
-.add img {
-  display: inline-block;
-  margin-top: 3px;
-  margin-left: -30px;
-}
-.add .spans {
-  display: table-caption;
-  width: 56px;
-  height: 20px;
-  line-height: 18px;
-}
-.signStatus {
-  height: 25px;
-  border-radius: 3px;
-  border: 1px solid #5473e8;
-  padding: 0 3px;
-  color: #ffffff;
-  background: #c4cada;
-  line-height: 24px;
-  margin-left: 18px;
-}
-.signStatus1 {
-  height: 25px;
-  background: #e6ebff;
-  border-radius: 3px;
-  border: 1px solid #5473e8;
-  padding: 0 3px;
-  margin-left: 18px;
-  color: #5473e8;
-  line-height: 24px;
-}
-.line {
-  height: 26px;
-  margin-top: 6px;
-  left: 2px;
-}
-/deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
-  padding: 0px;
-}
-.noservice {
-  background: #c4cada;
-  color: #ffffff;
-  padding: 5px 7px;
-  border-radius: 4px;
-}
-.service {
-  background: #e5f1f7;
-  color: #50cad4;
-}
-.tupian {
-  // margin-left: 14%;
-  // margin-top: -7%;
-}
-/deep/.el-input--suffix .el-input__inner {
-  padding-right: 0px;
-}
-.liaison {
-  margin-bottom: 20px;
-}
-.yd-bottom {
-  display: flex;
-  justify-content: space-between;
-}
-.yd-bottom-left {
-  display: flex;
-}
-.avatar-uploader {
-  margin-right: 10px;
-}
-/deep/.yd-bottom-left .el-form-item__content {
-  display: flex;
-}
-</style>
+</style>

+ 17 - 0
src/views/tranManagement/tranManagementShippingLook.vue

@@ -62,6 +62,18 @@
 
           <div>
             <div class="small-title" style="font-size: 16px">联络员及航次</div>
+            <div class="myTest">
+            <!--当前运输总价-->
+          <ws-form-item label="当前运输总价(元/吨):" span="1" prop="tranPrice">
+              <ws-input
+                v-model="deptBudgetList.tranPrice"
+                maxlength="70"
+                :disabled="readonly"
+                size="small"
+                style="width:70px"
+              />
+          </ws-form-item>
+       </div>
             <div v-if='deptBudgetList.tranCarInfoList'>
               <div style="width: 100% " class="flex position middle"
                 v-for="(item, index) in deptBudgetList.tranCarInfoList" :key="index">
@@ -461,4 +473,9 @@
     border: none;
 
   }
+  .myTest{
+    width: 800px;
+    display: flex;
+    height: 40px;
+  }
 </style>

+ 1032 - 1017
src/views/tranManagement/tranManagementTransporFeedback.vue

@@ -7,13 +7,8 @@
       </el-col>
       <el-col :span="12" class="bg-right">
         <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()">
-          <img
-            width="6"
-            height="10"
-            style="vertical-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt
-          />返回
+          <img width="6" height="10" style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png" alt />返回
         </el-button>
       </el-col>
     </el-row>
@@ -32,19 +27,10 @@
           }}{{ deptBudgetList.sendArea }}
         </ws-form-item>
         <!--发货人-->
-        <ws-form-item
-          label="发货人"
-          span="1"
-          prop="sender"
-          class="readonly"
-        >{{ deptBudgetList.sender }}</ws-form-item>
+        <ws-form-item label="发货人" span="1" prop="sender" class="readonly">{{ deptBudgetList.sender }}</ws-form-item>
         <!--发货人电话-->
-        <ws-form-item
-          label="发货人电话"
-          span="1"
-          prop="senderPhone"
-          class="readonly"
-        >{{ deptBudgetList.senderPhone }}</ws-form-item>
+        <ws-form-item label="发货人电话" span="1" prop="senderPhone" class="readonly">{{ deptBudgetList.senderPhone }}
+        </ws-form-item>
         <!--收货地址-->
         <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
           {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
@@ -55,17 +41,10 @@
         <!--收货人电话-->
         <ws-form-item label="收货人电话" span="1" prop="receiverPhone">{{ deptBudgetList.receiverPhone }}</ws-form-item>
         <!--发货日期-->
-        <ws-form-item
-          label="发货日期"
-          span="1"
-          prop="deliveryDateStart"
-        >{{ deptBudgetList.deliveryDateStart }}</ws-form-item>
+        <ws-form-item label="发货日期" span="1" prop="deliveryDateStart">{{ deptBudgetList.deliveryDateStart }}
+        </ws-form-item>
         <!--最晚到货日期-->
-        <ws-form-item
-          label="最晚到货日期"
-          span="1"
-          prop="deliveryDateEnd"
-        >{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
+        <ws-form-item label="最晚到货日期" span="1" prop="deliveryDateEnd">{{ deptBudgetList.deliveryDateEnd }}</ws-form-item>
         <!--合同编号-->
         <ws-form-item label="合同编号" span="1" prop="contractNo">{{ deptBudgetList.contractNo }}</ws-form-item>
         <!-- 运输方式 -->
@@ -73,8 +52,8 @@
       </ws-info-table>
       <div class="small-title" style="font-size: 16px; width: 50%;float: left;">装车详情</div>
       <!-- 导入 -->
-      <div style="font-size: 16px; width: 50%;float: left;text-align: right;">
-      <!-- <el-upload style="margin-left: 8px;"
+      <div style="font-size: 16px; width: 50%;float: left;text-align: right;display:flex;justify-content:end;">
+        <!-- <el-upload style="margin-left: 8px;"
           class=""
           action="https://www.zthymaoyi.com/upload/admin"
           :show-file-list="false"
@@ -87,23 +66,20 @@
           >
           <el-button  type="primary">导入</el-button>
         </el-upload> -->
-        <el-upload style="margin-left: 8px;"
-          class="upload-demo inline-block margin-right-10"
-          action=""
-          :on-change="handleChange"
-          :show-file-list="false"
+        <el-link
+          href="https://taohaoliang.oss-cn-beijing.aliyuncs.com/%E6%B1%BD%E8%BF%90%E8%A3%85%E8%BD%A6%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF.xlsx"
+          style="margin-left: 8px;">
+          <el-button type="primary">模板下载</el-button>
+        </el-link>
+        <el-upload style="margin-left: 8px;" class="upload-demo inline-block margin-right-10" action=""
+          :on-change="handleChange" :show-file-list="false"
           accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
           :auto-upload="false">
-          <el-button  type="primary">导入</el-button>
+          <el-button type="primary">导入</el-button>
         </el-upload>
-    </div>
+      </div>
       <div class="liaison">
-        <div
-          style="width: 100%"
-          class="flex position"
-          v-for="(item, index) in freightspace"
-          :key="index"
-        >
+        <div style="width: 100%" class="flex position" v-for="(item, index) in freightspace" :key="index">
           <ws-info-table>
             <div class="catNos" v-show="item.temporaryDriverFlag == 0">
               司机-{{ index + 1 }}
@@ -123,10 +99,7 @@
                 }}
               </span>
             </div>
-            <div
-              class="catNos catNosCor"
-              v-show="item.temporaryDriverFlag != 0"
-            >司机-{{ index + 1 }}(临)</div>
+            <div class="catNos catNosCor" v-show="item.temporaryDriverFlag != 0">司机-{{ index + 1 }}(临)</div>
             <!--司机-->
             <ws-form-item label="姓名:" span="1" prop="driver" v-show="item.temporaryDriverFlag == 0">
               <span v-show="item.temporaryDriverFlag == 0">{{ item.driver }}</span>
@@ -134,114 +107,59 @@
             <!--司机-->
 
             <ws-form-item label="姓名:" span="1" prop="driver" v-show="item.temporaryDriverFlag != 0">
-              <el-select
-                v-show="item.temporaryDriverFlag != 0"
-                v-model="item.driver"
-                placeholder="请选择司机"
-                filterable
-                :filter-method="dataFilter"
-                @change="selectstaff"
-              >
-                <el-option
-                  v-for="item in options"
-                  :key="item.value"
-                  :label="item.staffName"
-                  :value="item.staffName"
-                />
+              <el-select v-show="item.temporaryDriverFlag != 0" v-model="item.driver" placeholder="请选择司机" filterable
+                :filter-method="dataFilter" @change="selectstaff">
+                <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
               </el-select>
             </ws-form-item>
             <!--电话-->
             <ws-form-item label="司机电话:" span="1" prop="driverPhone">
-              <ws-input
-                v-show="item.temporaryDriverFlag != 0"
-                v-model="item.driverPhone"
-                placeholder="请输入司机电话"
-                maxlength="20"
-                size="small"
-              />
+              <ws-input v-show="item.temporaryDriverFlag != 0" v-model="item.driverPhone" placeholder="请输入司机电话"
+                maxlength="20" size="small" />
               <span v-show="item.temporaryDriverFlag == 0">{{ item.driverPhone }}</span>
             </ws-form-item>
             <!--车牌号-->
             <ws-form-item label="车牌号:" span="1" prop="carNo">
-              <ws-input
-                v-show="item.temporaryDriverFlag != 0"
-                v-model="item.carNo"
-                placeholder="请输入车牌号"
-                maxlength="20"
-                size="small"
-              />
+              <ws-input v-show="item.temporaryDriverFlag != 0" v-model="item.carNo" placeholder="请输入车牌号" maxlength="20"
+                size="small" />
               <span v-show="item.temporaryDriverFlag == 0">{{ item.carNo }}</span>
             </ws-form-item>
             <!--装车净重-->
             <ws-form-item label="装车净重:" span="1" prop="loadNetWeight">
-              <ws-input
-                v-if="item.status == '已装车'||item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.loadNetWeight"
-                placeholder="请输入装车净重"
-                maxlength="20"
-                size="small"
-                style="width:80px"
-              />
-              <ws-input
-                v-else
-                v-model="item.loadNetWeight"
-                placeholder="请输入装车净重"
-                maxlength="20"
-                style="width:80px"
-                size="small"
-              />
+              <ws-input v-if="item.status == '已装车'||item.status == '已送达'" :disabled="readonly"
+                v-model="item.loadNetWeight" placeholder="请输入装车净重" maxlength="20" size="small" style="width:80px" />
+              <ws-input v-else v-model="item.loadNetWeight" placeholder="请输入装车净重" maxlength="20" style="width:80px"
+                size="small" />
             </ws-form-item>
             <!--装车日期-->
             <ws-form-item label="装车日期:" span="1" prop="sendDateStart">
-              <ws-date-picker
-                v-if="item.status == '已装车'||item.status == '已送达'"
-                :disabled="readonly"
-                v-model="item.sendDateStart"
-                type="date"
-                class="picker"
-                placeholder="请选择日期"
-                value-format="yyyy-MM-dd"
-              />
-              <ws-date-picker
-                v-else
-                v-model="item.sendDateStart"
-                type="date"
-                class="picker"
-                placeholder="请选择日期"
-                value-format="yyyy-MM-dd"
-              />
+              <ws-date-picker v-if="item.status == '已装车'||item.status == '已送达'" :disabled="readonly"
+                v-model="item.sendDateStart" type="date" class="picker" placeholder="请选择日期" value-format="yyyy-MM-dd" />
+              <ws-date-picker v-else v-model="item.sendDateStart" type="date" class="picker" placeholder="请选择日期"
+                value-format="yyyy-MM-dd" />
             </ws-form-item>
             <!--磅单-->
             <ws-form-item label="磅单:" span="1" prop="loadPoundImg">
               <!-- slot-scope="scope" -->
               <template>
-                <el-upload
-                  action="https://www.zthymaoyi.com/upload/admin"
-                  :show-file-list="false"
-                  :on-success=" (res) => { uploadSuccessHandle1(res,index)}"
-                  class="avatar-uploader"
-                  accept=".jpg, .jpeg, .png, .gif"
-                >
-                  <img
-                    width="18"
-                    height="20"
-                    style="
+                <el-upload action="https://www.zthymaoyi.com/upload/admin" :show-file-list="false"
+                  :on-success=" (res) => { uploadSuccessHandle1(res,index)}" class="avatar-uploader"
+                  accept=".jpg, .jpeg, .png, .gif">
+                  <img width="18" height="20" style="
                       vertical-align: text-top;
                       position: relative;
-                    "
-                    src="../../../public/img/fujian.png"
-                    alt
-                  />
+                    " src="../../../public/img/fujian.png" alt />
                 </el-upload>
                 <span v-if="item.loadPoundImg != null ">1</span>
-                <span
-                  v-if="
+                <span v-if="
                     item.loadPoundImg == null
-                  "
-                >未上传</span>
+                  ">未上传</span>
               </template>
             </ws-form-item>
+            <!--预览-->
+            <div>
+              <el-button class="bg-bottom" type="primary" size="small" @click="preview(item)"  v-if="item.loadPoundImg != null ">预览</el-button>
+            </div>
             <!--箱号-->
             <ws-form-item label="箱号:" span="1" prop="caseNo">
               <span>{{ item.caseNo }}</span>
@@ -250,23 +168,12 @@
             <ws-form-item label="封号:" span="1" prop="titleNo">
               <span>{{ item.titleNo }}</span>
             </ws-form-item>
-            <div
-              v-show="item.temporaryDriverFlag == 0 && item.signStatus == '未签合同'"
-              class="signStatus"
-            >{{ item.signStatus }}</div>
-            <div
-              v-show="item.temporaryDriverFlag == 0 && item.signStatus == '已签合同'"
-              class="signStatus1"
-            >{{ item.signStatus }}</div>
-            <span
-              v-show="item.temporaryDriverFlag != 0"
-              width="22"
-              height="22"
-              class="del"
-              @click="del(index)"
-              src="../../../public/img/del.png"
-              alt
-            >×</span>
+            <div v-show="item.temporaryDriverFlag == 0 && item.signStatus == '未签合同'" class="signStatus">
+              {{ item.signStatus }}</div>
+            <div v-show="item.temporaryDriverFlag == 0 && item.signStatus == '已签合同'" class="signStatus1">
+              {{ item.signStatus }}</div>
+            <span v-show="item.temporaryDriverFlag != 0" width="22" height="22" class="del" @click="del(index)"
+              src="../../../public/img/del.png" alt>×</span>
           </ws-info-table>
         </div>
       </div>
@@ -290,77 +197,91 @@
       <el-button class="bg-bottom" type="primary" size="small" @click="submit(deptBudgetList)">提交</el-button>
       <el-button class="bg-bottom" type="primary" size="small" @click="finished (deptBudgetList)">完货</el-button>
     </div>
+    <WinseaContentModal v-model="accessoryTFs" :title="$t('system.noticeCircular.information')"
+			@on-cancel="handleClose">
+			<ws-upload ref="upload" :comp-id="compId" :appendix-ids="appendixIdss" :editable="false"
+				accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+		</WinseaContentModal>
   </div>
 </template>
 <script>
-import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
-import {
-  seeCat,
-  packList,
-  feedback,
-  getbank,
-  state,
-  importApplFileUrl
-} from '@/model/transport/index'
-import { getstaff } from '@/model/warehouse/index'
-import WsUpload from '@/components/WsUpload'
-import mapDrag from '@/components/mapdrag/mapdrag'
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-    mapDrag
-  },
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
+  import {
+    regionData,
+    CodeToText,
+    TextToCode
+  } from 'element-china-area-data'
+  import {
+    seeCat,
+    packList,
+    feedback,
+    getbank,
+    state,
+    importApplFileUrl
+  } from '@/model/transport/index'
+  import {
+    getstaff
+  } from '@/model/warehouse/index'
+  import WsUpload from '@/components/WsUpload'
+  import mapDrag from '@/components/mapdrag/mapdrag'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      mapDrag
     },
-    isShow(val) {
-      this.showType = val
-    }
-  },
-  data() {
-    return {
-      deptBudgetList: {
-        totalStorage: 0
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
       },
-      options_: regionData,
-      heightData: '600px',
-      zoom: 7,
-      selectedOptions: [],
-      center: [116.244694, 39.517344],
-      window: '',
-      radio: 1,
-      personCharge: [],
-      district: null,
-      driverList: [],
-      readonly: true,
-      fileTemp: {},
-      listDate: { country: '中国', level: 'country', city: '' },
-      citylist: [],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      rules: {
-        warehouseName: [
-          {
-            required: true,
-            message: '请输入仓库名称',
-            trigger: 'blur'
-          },
-          {
-            min: 2,
-            max: 20,
-            message: '仓库名长度不符合要求,请输入2-20字符之内',
-            trigger: 'blur'
-          }
-        ]
-      },
-      tranType: 1,
-      size: 10,
-      value1: '',
-      unitList: [],
+      isShow(val) {
+        this.showType = val
+      }
+    },
+    data() {
+      return {
+        excelFreightspace: [],
+        deptBudgetList: {
+          totalStorage: 0
+        },
+        options_: regionData,
+        heightData: '600px',
+        zoom: 7,
+        selectedOptions: [],
+        center: [116.244694, 39.517344],
+        window: '',
+        radio: 1,
+        personCharge: [],
+        district: null,
+        driverList: [],
+        readonly: true,
+        fileTemp: {},
+        listDate: {
+          country: '中国',
+          level: 'country',
+          city: ''
+        },
+        citylist: [],
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        rules: {
+          warehouseName: [{
+              required: true,
+              message: '请输入仓库名称',
+              trigger: 'blur'
+            },
+            {
+              min: 2,
+              max: 20,
+              message: '仓库名长度不符合要求,请输入2-20字符之内',
+              trigger: 'blur'
+            }
+          ]
+        },
+        tranType: 1,
+        size: 10,
+        value1: '',
+        unitList: [],
 
-      freightspace1: [
-        {
+        freightspace1: [{
           accountTypeFlag: '1',
           payeeName: '',
           payeeNumberCard: '',
@@ -368,872 +289,966 @@ export default {
           bankDeposit: '',
           addressUrlArray: [],
           bankCard: ''
-        }
-      ],
-      freightspace: [
-        {
-          driver: '',
-          driverPhone: '',
-          carNo: '',
-          loadNetWeight: '',
-          loadPoundImg: null
-        }
-        // {loadPoundImg:{}},
-      ],
-      name: '',
-      staffList: [],
-      options: [],
-      carModel: [],
-      tranCarInfoList: {
-        loadPoundImg: ''
-      },
-      localFile:'',
-      //上传
+        }],
+        freightspace: [{
+            driver: '',
+            driverPhone: '',
+            carNo: '',
+            loadNetWeight: '',
+            loadPoundImg: null
+          }
+          // {loadPoundImg:{}},
+        ],
+        name: '',
+        staffList: [],
+        options: [],
+        carModel: [],
+        tranCarInfoList: {
+          loadPoundImg: ''
+        },
+        localFile: '',
+        //上传
 
-      accessoryTFs: false,
-      fileList: [],
-      appendixIdsAdd: '',
-      messageAddEventListener: ''
-    }
-  },
-  activated() {
-    this.deptBudgetList.id = this.$route.query.id
-    this.getList()
-  },
-  mounted() {
-    window.noMessege = this.noMessege
-  },
-  computed: {
-    totalStorage: function() {
-      var maxStorage = 0
-      for (var i = 0; i < this.freightspace.length; i++) {
-        maxStorage += Number(this.freightspace[i].maxStorage)
+        accessoryTFs: false,
+        fileList: [],
+        appendixIdsAdd: '',
+        messageAddEventListener: ''
       }
-      return maxStorage
     },
-    total: function() {
-      if (this.deptBudgetList.tranCarInfoList != null) {
+    activated() {
+      this.deptBudgetList.id = this.$route.query.id
+      this.getList()
+    },
+    mounted() {
+      window.noMessege = this.noMessege
+    },
+    computed: {
+      totalStorage: function() {
         var maxStorage = 0
-        for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
-          maxStorage += Number(
-            this.deptBudgetList.tranCarInfoList[i].loadNetWeight
-          )
+        for (var i = 0; i < this.freightspace.length; i++) {
+          maxStorage += Number(this.freightspace[i].maxStorage)
         }
         return maxStorage
-      } else {
-        return 0
+      },
+      total: function() {
+        if (this.deptBudgetList.tranCarInfoList != null) {
+          var maxStorage = 0
+          for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
+            maxStorage += Number(
+              this.deptBudgetList.tranCarInfoList[i].loadNetWeight
+            )
+          }
+          return maxStorage
+        } else {
+          return 0
+        }
       }
-    }
-  },
-  methods: {
-    uploadHandle(response, file, fileList){
-      this.localFile=file.raw  // 或者 this.localFile=file.raw
-let Base64 = require('js-base64').Base64
-                    // 转换操作可以不放到这个函数里面,
-                    // 因为这个函数会被多次触发,上传时触发,上传成功也触发
-                    let reader = new FileReader()
-                    reader.readAsDataURL(this.localFile);// 这里也可以直接写参数event.raw
-                      
-                    // 转换成功后的操作,reader.result即为转换后的DataURL ,
-                    // 它不需要自己定义,你可以console.log(reader.result)看一下
-                    reader.onload=()=>{
-                      console.log(reader.result)
-                    }
+    },
+    methods: {
+      preview(item) {
+				this.accessoryTFs = true
+				this.appendixIdss = item.loadPoundImg
+			},
 
+      uploadHandle(response, file, fileList) {
+        this.localFile = file.raw // 或者 this.localFile=file.raw
+        let Base64 = require('js-base64').Base64
+        // 转换操作可以不放到这个函数里面,
+        // 因为这个函数会被多次触发,上传时触发,上传成功也触发
+        let reader = new FileReader()
+        reader.readAsDataURL(this.localFile); // 这里也可以直接写参数event.raw
 
-    },
-    handleChange(file, fileList) {
-            this.fileTemp = file.raw
-                let fileName = file.raw.name
-                let fileType = fileName.substring(fileName.lastIndexOf('.') + 1);
-                // 判断上传文件格式
-                if (this.fileTemp) {
-                    if ((fileType == 'xlsx') || (fileType == 'xls')) {
-                        this.importf(this.fileTemp)
-                    } else {
-                        this.$message({
-                            type: 'warning',
-                            message: '附件格式错误,请删除后重新上传!'
-                        })
-                    }
-                } else {
-                    this.$message({
-                        type: 'warning',
-                        message: '请上传附件!'
-                    })
-                }
+        // 转换成功后的操作,reader.result即为转换后的DataURL ,
+        // 它不需要自己定义,你可以console.log(reader.result)看一下
+        reader.onload = () => {
+          console.log(reader.result)
+        }
 
-    },
- importf(obj) {
-                this.dialogVisible = true;
-                let _this = this;
-                let inputDOM = this.$refs.inputer;   // 通过DOM取文件数据
-                this.file = event.currentTarget.files[0];
-                var rABS = false; //是否将文件读取为二进制字符串
-                var f = this.file;
-                var reader = new FileReader();
-                //if (!FileReader.prototype.readAsBinaryString) {
-                FileReader.prototype.readAsBinaryString = function (f) {
-                    var binary = "";
-                    var rABS = false; //是否将文件读取为二进制字符串
-                    var pt = this;
-                    var wb; //读取完成的数据
-                    var outdata;
-                    var reader = new FileReader();
-                    reader.onload = function (e) {
-                        var bytes = new Uint8Array(reader.result);
-                        var length = bytes.byteLength;
-                        for (var i = 0; i < length; i++) {
-                            binary += String.fromCharCode(bytes[i]);
-                        }
-                        var XLSX = require('xlsx');
-                        if (rABS) {
-                            wb = XLSX.read(btoa(fixdata(binary)), { //手动转化
-                                type: 'base64'
-                            });
-                        } else {
-                            wb = XLSX.read(binary, {
-                                type: 'binary'
-                            });
-                        }
-                        // outdata就是你想要的东西 excel导入的数据
-                        outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
-                        // excel 数据再处理
-                        let arr = []
-                        outdata.map(v => {
-                            // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
-                            let jsonString = JSON.stringify(v).replace(/\//g, '').replace(/\s/ig,'');
-                            console.log(jsonString);
-                            v = JSON.parse(jsonString);
-                            let obj = {}
-                            //xxx代表列名
-                            obj.temporaryDriverFlag = v.临时司机标识
-                            obj.caseNo= v.箱号
-                            obj.titleNo= v.封号
-                            obj.driverPhone = v.司机电话
-                            obj.driver=v.司机姓名
-                            obj.loadNetWeight = v.装车净重
-                            obj.loadingDate = toString(v.装车日期)
-                            obj.status= v.状态
-                            obj.carNo = v.车牌号
-                            obj.unloadPoundImg = v.磅单
-                            console.log(obj)
-                            _this.freightspace.push(obj)
-                        })
-                        // _this.freightspace.concat(arr)
-                        console.log(arr,_this.freightspace)
-                    }
-                    reader.readAsArrayBuffer(f);
-                }
-                if (rABS) {
-                    reader.readAsArrayBuffer(f);
-                } else {
-                    reader.readAsBinaryString(f);
-                }
-                console.log(reader)
-            },
-    beforeUpload(file){
-          if(window.createObjectURL!=undefined){
-            this.fileName = window.createObjectURL(file)
-          }else if(window.URL!=undefined){
-            this.fileName = window.URL.createObjectURL(file)
-          }else if (window.webkitURL!=undefined){
-            this.fileName = window.webkitURL.createObjectURL(file)
-          }
-          console.log(this.fileName)
-        },
-    uploadSuccessHandle(e) {
-      console.log(e)
-      importApplFileUrl({ file: e.url })
-        .toPromise()
-        .then(response => {
-          console.log(response)
-        })
-    },
-    dataFilter(val) {
-      this.deptBudgetList.personCharge = val
-      if (val) {
-        this.options = this.staffList.filter(item => {
-          if (
-            !!~item.staffName.indexOf(val) ||
-            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
-          ) {
-            return true
+
+      },
+      handleChange(file, fileList) {
+        this.fileTemp = file.raw
+        let fileName = file.raw.name
+        let fileType = fileName.substring(fileName.lastIndexOf('.') + 1);
+        // 判断上传文件格式
+        if (this.fileTemp) {
+          if ((fileType == 'xlsx') || (fileType == 'xls')) {
+            this.importf(this.fileTemp)
+          } else {
+            this.$message({
+              type: 'warning',
+              message: '附件格式错误,请删除后重新上传!'
+            })
           }
-        })
-      } else {
-        this.options = this.staffList
-      }
-    },
-    selectstaff(e) {
-      for (var i = 0; i < this.staffList.length; i++) {
-        if (this.staffList[i].staffName == e) {
-          this.deptBudgetList.driverPhone = this.staffList[i].staffMobilePhone
-          this.freightspace[i].driverPhone = this.staffList[i].staffMobilePhone
-          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+        } else {
+          this.$message({
+            type: 'warning',
+            message: '请上传附件!'
+          })
         }
-      }
-    },
-    marker: function(item) {
-      this.deptBudgetList.warehousePositioning =
-        item.lnglat.lat + ',' + item.lnglat.lng
-    },
-    selectedAddress(e) {
-      this.deptBudgetList.warehousePositioning =
-        e.center.lat + ',' + e.center.lng
-    },
-    confirmPositioncity() {
-      this.listDate.level = 'city'
-      this.listDate.country = this.name
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    add() {
-      this.freightspace.push({
-        driver: '',
-        driverPhone: '',
-        carNo: '',
-        loadNetWeight: ''
-      })
-    },
-    del(index) {
-      if (this.freightspace.length > 1) {
-        this.freightspace.splice(index, 1)
-      }
-    },
-    //下拉司机姓名改变事件
-    selectdriver() {},
-
-    returnsales() {
-      this.deptBudgetList = {}
-      this.freightspace = {}
-      this.selectedOptions = ''
-      this.deptBudgetList.tranCarInfoList = []
-      this.$router.push({ path: 'tranManagementTransporHairRespond' })
-    },
-    // 上传附件
-    uploadSuccess(data, files, url) {
-      console.log(data, files, url)
-    },
-    handleClose() {
-      this.accessoryTFs = false
-    },
-    //导入
-    import() {},
-    finished() {
-      this.$confirm(`完货操作后,装车信息不可修改,是否确定完货?`, {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          this.$refs.deptBudgetList.validate(valid => {
-            if (valid) {
-              var tranProcessInfo = {}
-              tranProcessInfo.id = this.deptBudgetList.id
-              state(tranProcessInfo)
-                .toPromise()
-                .then(response => {
-                  this.$message.success('完货成功')
-                  this.deptBudgetList = {}
-                  this.freightspace = {}
-                  this.selectedOptions = ''
-                  this.$router.push({
-                    path: 'tranManagementTransporHairRespond'
-                  })
-                })
+
+      },
+      importf(obj) {
+        this.excelFreightspace = []
+        this.dialogVisible = true;
+        let _this = this;
+        let inputDOM = this.$refs.inputer; // 通过DOM取文件数据
+        this.file = event.currentTarget.files[0];
+        var rABS = false; //是否将文件读取为二进制字符串
+        var f = this.file;
+        var reader = new FileReader();
+        //if (!FileReader.prototype.readAsBinaryString) {
+        FileReader.prototype.readAsBinaryString = function(f) {
+          var binary = "";
+          var rABS = false; //是否将文件读取为二进制字符串
+          var pt = this;
+          var wb; //读取完成的数据
+          var outdata;
+          var reader = new FileReader();
+          reader.onload = function(e) {
+            var bytes = new Uint8Array(reader.result);
+            var length = bytes.byteLength;
+            for (var i = 0; i < length; i++) {
+              binary += String.fromCharCode(bytes[i]);
+            }
+            var XLSX = require('xlsx');
+            if (rABS) {
+              wb = XLSX.read(btoa(fixdata(binary)), { //手动转化
+                type: 'base64',
+                cellDates: true
+              });
             } else {
-              return false
+              wb = XLSX.read(binary, {
+                type: 'binary'
+              });
             }
-          })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    noMessege() {
-      sessionStorage.setItem('qy-msg',"true")
-    },
-    validateFunc() {
-      this.$refs.deptBudgetList.validate(valid => {
-        if (valid) {
-          // this.deptBudgetList.totalStorage = this.totalStorage
-          this.tranCarInfoList = this.freightspace
-          this.tranCarInfoList.driver = this.deptBudgetList.driver
-          this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
-          this.tranCarInfoList.tranCarNo = this.deptBudgetList.tranCarNo
-          this.tranCarInfoList.carNo = this.deptBudgetList.carNo
-          this.tranCarInfoList.loadNetWeight = this.deptBudgetList.loadNetWeight
-          this.tranCarInfoList.tranType = this.tranType
-          this.tranCarInfoList.loadPoundImg = this.deptBudgetList.loadPoundImg
-          // this.tranCarInfoList.boxNo = this.arr.toString()
-          for (var i = 0; i < this.tranCarInfoList.length; i++) {
-            this.tranCarInfoList[i].id = this.freightspace[i].id
-            if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
-              this.tranCarInfoList[i].temporaryDriverFlag = 1
-              this.tranCarInfoList[i].tranType = this.tranType
+            // outdata就是你想要的东西 excel导入的数据
+            outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
+            // excel 数据再处理
+            let arr = []
+            outdata.map(v => {
+              // let jsonString = JSON.stringify(v).replace(/\*/g, '').replace(/\s/ig,'');
+              let jsonString = JSON.stringify(v).replace(/\//g, '').replace(/\s/ig, '');
+              console.log(jsonString);
+              v = JSON.parse(jsonString);
+              let obj = {}
+              //xxx代表列名
+              obj.caseNo = v.箱号
+              obj.titleNo = v.封号
+              obj.driverPhone = v.司机电话
+              obj.driver = v.姓名
+              obj.loadNetWeight = v.装车净重
+              obj.sendDateStart = v.装车日期
+              obj.status = v.状态
+              obj.carNo = v.车牌号
+              obj.loadPoundImg = v.磅单
+              console.log(obj)
+              _this.excelFreightspace.push(obj)
+            })
+            let _ispushData = true
+            // _this.freightspace.concat(arr)
+            console.log(arr, _this.freightspace)
+            for (let i = 0; i < _this.excelFreightspace.length; i++) {
+              _ispushData = true
+              for (let k = 0; k < _this.freightspace.length; k++) {
+                if (_this.excelFreightspace[i].driverPhone == _this.freightspace[k].driverPhone) {
+                  _this.freightspace[k] = _this.excelFreightspace[i]
+                  _ispushData = false
+                }
+              }
+              if (_ispushData) {
+                _this.freightspace.push(_this.excelFreightspace[i])
+                _ispushData = true
+              }
             }
           }
-          var tranProcessInfo = {}
-          tranProcessInfo.id = this.deptBudgetList.id
-          tranProcessInfo.infoId = this.deptBudgetList.infoId
-          tranProcessInfo.processNo = this.deptBudgetList.processNo
-          tranProcessInfo.tranPrice = this.deptBudgetList.tranPrice
-          tranProcessInfo.tranCarInfoList = this.tranCarInfoList
-          // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
-          feedback(tranProcessInfo)
-            .toPromise()
-            .then(response => {
-              this.$message.success('提交成功')
-              this.deptBudgetList = {}
-              this.freightspace = {}
-              this.selectedOptions = ''
-              this.$router.push({
-                path: 'tranManagementTransporHairRespond'
-              })
-            })
+          reader.readAsArrayBuffer(f);
+        }
+        if (rABS) {
+          reader.readAsArrayBuffer(f);
         } else {
-          // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-          return false
+          reader.readAsBinaryString(f);
         }
-      })
-    },
-    submit() {
-      for (var i = 0; i < this.freightspace.length; i++) {
-        if (this.freightspace[i].temporaryDriverFlag != 0) {
-          if (!this.freightspace[i].driver) {
-            this.$message({
-              message: '司机姓名不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.freightspace[i].driverPhone) {
-            this.$message({
-              message: '司机电话不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.freightspace[i].carNo) {
-            this.$message({
-              message: '车牌号不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.freightspace[i].loadNetWeight) {
-            this.$message({
-              message: '装载净重不能为空!',
-              type: 'warning'
-            })
-            return
+        console.log(reader)
+      },
+      beforeUpload(file) {
+        if (window.createObjectURL != undefined) {
+          this.fileName = window.createObjectURL(file)
+        } else if (window.URL != undefined) {
+          this.fileName = window.URL.createObjectURL(file)
+        } else if (window.webkitURL != undefined) {
+          this.fileName = window.webkitURL.createObjectURL(file)
+        }
+        console.log(this.fileName)
+      },
+      uploadSuccessHandle(e) {
+        console.log(e)
+        importApplFileUrl({
+            file: e.url
+          })
+          .toPromise()
+          .then(response => {
+            console.log(response)
+          })
+      },
+      dataFilter(val) {
+        this.deptBudgetList.personCharge = val
+        if (val) {
+          this.options = this.staffList.filter(item => {
+            if (
+              !!~item.staffName.indexOf(val) ||
+              !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+            ) {
+              return true
+            }
+          })
+        } else {
+          this.options = this.staffList
+        }
+      },
+      selectstaff(e) {
+        for (var i = 0; i < this.staffList.length; i++) {
+          if (this.staffList[i].staffName == e) {
+            this.deptBudgetList.driverPhone = this.staffList[i].staffMobilePhone
+            this.freightspace[i].driverPhone = this.staffList[i].staffMobilePhone
+            this.deptBudgetList.personChargeKey = this.staffList[i].staffId
           }
         }
-      }
-      if (sessionStorage.getItem('qy-msg')) {
-        this.validateFunc()
-      } else {
-        this.$alert(
-          '<div><strong>提交成功后提醒司机及时签订运输合同,确定提交装车信息?</strong><div style="display:flex;align-items: center;"><input id="noMsg" type="checkbox" onclick="window.noMessege(1)"><span style="margin-left:10px">不在提示</span><div></div>',
-          '',
-          {
-            dangerouslyUseHTMLString: true,
-            distinguishCancelAndClose: true,
-            showCancelButton: true,
+      },
+      marker: function(item) {
+        this.deptBudgetList.warehousePositioning =
+          item.lnglat.lat + ',' + item.lnglat.lng
+      },
+      selectedAddress(e) {
+        this.deptBudgetList.warehousePositioning =
+          e.center.lat + ',' + e.center.lng
+      },
+      confirmPositioncity() {
+        this.listDate.level = 'city'
+        this.listDate.country = this.name
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      add() {
+        this.freightspace.push({
+          driver: '',
+          driverPhone: '',
+          carNo: '',
+          loadNetWeight: ''
+        })
+      },
+      del(index) {
+        if (this.freightspace.length > 1) {
+          this.freightspace.splice(index, 1)
+        }
+      },
+      //下拉司机姓名改变事件
+      selectdriver() {},
+
+      returnsales() {
+        this.deptBudgetList = {}
+        this.freightspace = {}
+        this.selectedOptions = ''
+        this.deptBudgetList.tranCarInfoList = []
+        this.$router.push({
+          path: 'tranManagementTransporHairRespond'
+        })
+      },
+      // 上传附件
+      uploadSuccess(data, files, url) {
+        console.log(data, files, url)
+      },
+      handleClose() {
+        this.accessoryTFs = false
+      },
+      //导入
+      import() {},
+      finished() {
+        this.$confirm(`完货操作后,装车信息不可修改,是否确定完货?`, {
             confirmButtonText: '确定',
-            cancelButtonText: '取消'
-          }
-        )
+            cancelButtonText: '取消',
+            type: 'warning'
+          })
           .then(() => {
-            this.validateFunc()
+            this.$refs.deptBudgetList.validate(valid => {
+              if (valid) {
+                var tranProcessInfo = {}
+                tranProcessInfo.id = this.deptBudgetList.id
+                state(tranProcessInfo)
+                  .toPromise()
+                  .then(response => {
+                    this.$message.success('完货成功')
+                    this.deptBudgetList = {}
+                    this.freightspace = {}
+                    this.selectedOptions = ''
+                    this.$router.push({
+                      path: 'tranManagementTransporHairRespond'
+                    })
+                  })
+              } else {
+                return false
+              }
+            })
           })
           .catch(() => {
             return false
           })
-      }
-    },
-
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
-    },
-    getList() {
-      seeCat({ id: this.deptBudgetList.id })
-        .toPromise()
-        .then(response => {
-          this.deptBudgetList = response
-          //  this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
-          this.freightspace = response.tranCarInfoList
-          for (var i = 0; i < this.freightspace.length; i++) {
-            if (!this.freightspace[i].loadNetWeight) {
-              this.freightspace[i].loadNetWeight = 0
+      },
+      noMessege() {
+        sessionStorage.setItem('qy-msg', "true")
+      },
+      validateFunc() {
+        this.$refs.deptBudgetList.validate(valid => {
+          if (valid) {
+            // this.deptBudgetList.totalStorage = this.totalStorage
+            this.tranCarInfoList = this.freightspace
+            this.tranCarInfoList.driver = this.deptBudgetList.driver
+            this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
+            this.tranCarInfoList.tranCarNo = this.deptBudgetList.tranCarNo
+            this.tranCarInfoList.carNo = this.deptBudgetList.carNo
+            this.tranCarInfoList.loadNetWeight = this.deptBudgetList.loadNetWeight
+            this.tranCarInfoList.tranType = this.tranType
+            this.tranCarInfoList.loadPoundImg = this.deptBudgetList.loadPoundImg
+            // this.tranCarInfoList.boxNo = this.arr.toString()
+            for (var i = 0; i < this.tranCarInfoList.length; i++) {
+              this.tranCarInfoList[i].id = this.freightspace[i].id
+              if (this.tranCarInfoList[i].temporaryDriverFlag != 0) {
+                this.tranCarInfoList[i].temporaryDriverFlag = 1
+                this.tranCarInfoList[i].tranType = this.tranType
+              }
             }
+            var tranProcessInfo = {}
+            tranProcessInfo.id = this.deptBudgetList.id
+            tranProcessInfo.infoId = this.deptBudgetList.infoId
+            tranProcessInfo.processNo = this.deptBudgetList.processNo
+            tranProcessInfo.tranPrice = this.deptBudgetList.tranPrice
+            tranProcessInfo.tranCarInfoList = this.tranCarInfoList
+            // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
+            feedback(tranProcessInfo)
+              .toPromise()
+              .then(response => {
+                this.$message.success('提交成功')
+                this.deptBudgetList = {}
+                this.freightspace = {}
+                this.selectedOptions = ''
+                this.$router.push({
+                  path: 'tranManagementTransporHairRespond'
+                })
+              })
+          } else {
+            // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            return false
           }
         })
-      //司机姓名下拉
-      getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
-        .toPromise()
-        .then(response => {
-          this.options = response
-          this.staffList = response
-        })
-      //车型
-      packList({ constId: 'TRAN5' })
-        .toPromise()
-        .then(response => {
-          this.carModel = response
-        })
-    },
-    handleExamine() {},
-    approve() {},
-    // returnsales() {
-    //   this.$router.push({ path: 'purchaseContract' })
-    // },
-    selectChapterTwo(e) {
-      for (var i = 0; i < this.ChapterTwoList.length; i++) {
-        if (this.ChapterTwoList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+      },
+      submit() {
+        for (var i = 0; i < this.freightspace.length; i++) {
+          if (this.freightspace[i].temporaryDriverFlag != 0) {
+            if (!this.freightspace[i].driver) {
+              this.$message({
+                message: '司机姓名不能为空!',
+                type: 'warning'
+              })
+              return
+            }
+            if (!this.freightspace[i].driverPhone) {
+              this.$message({
+                message: '司机电话不能为空!',
+                type: 'warning'
+              })
+              return
+            }
+            if (!this.freightspace[i].carNo) {
+              this.$message({
+                message: '车牌号不能为空!',
+                type: 'warning'
+              })
+              return
+            }
+            if (!this.freightspace[i].loadNetWeight) {
+              this.$message({
+                message: '装载净重不能为空!',
+                type: 'warning'
+              })
+              return
+            }
+          }
         }
-      }
-    },
-    selectunitList(e) {
-      for (var i = 0; i < this.unitList.length; i++) {
-        if (this.unitList[i].constValue == e) {
-          this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+        if (sessionStorage.getItem('qy-msg')) {
+          this.validateFunc()
+        } else {
+          this.$alert(
+              '<div><strong>提交成功后提醒司机及时签订运输合同,确定提交装车信息?</strong><div style="display:flex;align-items: center;"><input id="noMsg" type="checkbox" onclick="window.noMessege(1)"><span style="margin-left:10px">不在提示</span><div></div>',
+              '', {
+                dangerouslyUseHTMLString: true,
+                distinguishCancelAndClose: true,
+                showCancelButton: true,
+                confirmButtonText: '确定',
+                cancelButtonText: '取消'
+              }
+            )
+            .then(() => {
+              this.validateFunc()
+            })
+            .catch(() => {
+              return false
+            })
         }
-      }
-    },
-    selectgrade(e) {
-      for (var i = 0; i < this.gradeList.length; i++) {
-        if (this.gradeList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+      },
+
+      resetForm(deptBudgetList) {
+        this.$refs[deptBudgetList].resetFields()
+      },
+      getList() {
+        seeCat({
+            id: this.deptBudgetList.id
+          })
+          .toPromise()
+          .then(response => {
+            this.deptBudgetList = response
+            //  this.deptBudgetList.tranCarInfoList = response.tranCarInfoList
+            this.freightspace = response.tranCarInfoList
+            for (var i = 0; i < this.freightspace.length; i++) {
+              if (!this.freightspace[i].loadNetWeight) {
+                this.freightspace[i].loadNetWeight = 0
+              }
+            }
+          })
+        //司机姓名下拉
+        getstaff({
+            compId: sessionStorage.getItem('ws-pf_compId')
+          })
+          .toPromise()
+          .then(response => {
+            this.options = response
+            this.staffList = response
+          })
+        //车型
+        packList({
+            constId: 'TRAN5'
+          })
+          .toPromise()
+          .then(response => {
+            this.carModel = response
+          })
+      },
+      handleExamine() {},
+      approve() {},
+      // returnsales() {
+      //   this.$router.push({ path: 'purchaseContract' })
+      // },
+      selectChapterTwo(e) {
+        for (var i = 0; i < this.ChapterTwoList.length; i++) {
+          if (this.ChapterTwoList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+          }
         }
-      }
-    },
-    selectgoodsName(e) {
-      for (var i = 0; i < this.goodnameList.length; i++) {
-        if (this.goodnameList[i].constValue == e) {
-          this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+      },
+      selectunitList(e) {
+        for (var i = 0; i < this.unitList.length; i++) {
+          if (this.unitList[i].constValue == e) {
+            this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+          }
         }
-      }
-    },
-    selectpackingMethod(e) {
-      for (var i = 0; i < this.packtypeList.length; i++) {
-        if (this.packtypeList[i].constValue == e) {
-          this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+      },
+      selectgrade(e) {
+        for (var i = 0; i < this.gradeList.length; i++) {
+          if (this.gradeList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+          }
+        }
+      },
+      selectgoodsName(e) {
+        for (var i = 0; i < this.goodnameList.length; i++) {
+          if (this.goodnameList[i].constValue == e) {
+            this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+          }
         }
+      },
+      selectpackingMethod(e) {
+        for (var i = 0; i < this.packtypeList.length; i++) {
+          if (this.packtypeList[i].constValue == e) {
+            this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+          }
+        }
+      },
+      uploadSuccessHandle1(e, index) {
+        this.freightspace[index].loadPoundImg = e.url
       }
-    },
-    uploadSuccessHandle1(e, index) {
-      this.freightspace[index].loadPoundImg = e.url
     }
   }
-}
 </script>
 
 <style lang="scss" scoped>
-/deep/.totalStorage .el-input__inner {
-  color: #afb5cb;
-  background: #f5f7fa;
-}
-.small-title {
-  position: relative;
-  padding: 10px;
-  font-weight: 600;
-}
-.small-title::before {
-  position: absolute;
-  content: '';
-  display: block;
-  background: #5473e8;
-  width: 4px;
-  height: 14px;
-  left: 0px;
-  top: 13px;
-}
-.position {
-  position: relative;
-}
-
-.del {
-  position: absolute;
-  right: -38px;
-  top: 14px;
-  cursor: pointer;
-  right: 0;
-  display: inline-block;
-  font-size: 26px;
-  width: 26px;
-  height: 10px;
-  line-height: 0px;
-}
-
-.amap-page-container {
-  width: 300px;
-  height: 300px;
-}
-.el-form {
-  padding: 0 15%;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-}
-.readonly {
-  position: relative;
-}
-.readonly:after {
-  content: '*';
-  color: #ff2727;
-  position: absolute;
-  right: 8px;
-  z-index: 10;
-  top: 21%;
-  font-size: 20px;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid transparent;
-  background: #fff;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 100px;
-  text-align: center;
-  background: #fff;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
+  /deep/.totalStorage .el-input__inner {
+    color: #afb5cb;
+    background: #f5f7fa;
+  }
+
+  .small-title {
+    position: relative;
+    padding: 10px;
+    font-weight: 600;
+  }
+
+  .small-title::before {
+    position: absolute;
+    content: '';
+    display: block;
+    background: #5473e8;
+    width: 4px;
+    height: 14px;
+    left: 0px;
+    top: 13px;
+  }
+
+  .position {
+    position: relative;
+  }
+
+  .del {
+    position: absolute;
+    right: -38px;
+    top: 14px;
+    cursor: pointer;
+    right: 0;
+    display: inline-block;
+    font-size: 26px;
+    width: 26px;
+    height: 10px;
+    line-height: 0px;
+  }
+
+  .amap-page-container {
+    width: 300px;
+    height: 300px;
+  }
+
+  .el-form {
+    padding: 0 15%;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid transparent;
+    border-bottom: 1px solid transparent;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid transparent;
+    background: #fff;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 100px;
+    text-align: center;
+    background: #fff;
+    // border: 1px solid #cdd2dc;
+  }
+
+  .button-container {
     display: flex;
     flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
+    justify-content: space-between;
+    align-items: center;
+    background-color: #fff;
+    width: 100%;
+    height: 50px;
+    padding: 0 10px;
+
+    &>div {
+      margin-left: 10px;
+      display: flex;
+      flex-wrap: nowrap;
+      flex-direction: row;
 
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 5px;
+      &>span {
+        line-height: 50px;
+      }
     }
-    &/deep/.auditFlow-main {
-      position: absolute;
+
+    /deep/.auditFlow-box {
+      position: unset;
+      margin-left: 10px;
+
+      &/deep/.auditFlow-icon {
+        width: auto;
+        padding-right: 5px;
+      }
+
+      &/deep/.auditFlow-main {
+        position: absolute;
+      }
     }
   }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
+
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
       }
     }
   }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding-right: 2px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 15px 0px;
-}
-.wenzi {
-  width: 900px;
-  margin: 0 auto;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.center {
-  width: 900px;
-  margin: 0 auto;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.ce {
-  width: 900px;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
+
+  .collapse-bottom {
+    margin-bottom: 20px;
   }
-  .el-icon-arrow-up {
-    display: none;
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
   }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding-right: 2px;
+    text-align: right;
+  }
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  .wenzi {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .el-form-item {
+    width: 50%;
   }
-  .el-date-editor {
-    i {
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  .hide-sel {
+    .el-input__inner {
+      border: 0px;
+    }
+
+    .el-icon-arrow-up {
       display: none;
     }
+
+    .el-textarea__inner {
+      background-color: #fff !important;
+      border: 0;
+    }
+
+    .el-date-editor {
+      i {
+        display: none;
+      }
+    }
+
+    /deep/ .picker {
+      padding-right: 3px !important;
+    }
+
+    // .is-disabled {
+    //   .el-input__inner:hover {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //   }
+    //   color: #606266;
+    //   .el-input__inner {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //     color: #606266;
+    //   }
+    //   .el-textarea__inner {
+    //     background-color: #fff !important;
+    //     border: 0;
+    //     color: #606266;
+    //   }
+    // }
   }
-  /deep/ .picker {
-    padding-right: 3px !important;
+
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
+    padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
   }
 
-  // .is-disabled {
-  //   .el-input__inner:hover {
-  //     background-color: #fff !important;
-  //     border: 0;
+  // /deep/.is-disabled {
+  //   .el-input__prefix,
+  //   .el-input__suffix {
+  //     display: none;
   //   }
-  //   color: #606266;
   //   .el-input__inner {
-  //     background-color: #fff !important;
-  //     border: 0;
-  //     color: #606266;
-  //   }
-  //   .el-textarea__inner {
-  //     background-color: #fff !important;
-  //     border: 0;
-  //     color: #606266;
+  //     background-color: #fff;
+  //     border-color: #fff !important;
+  //     color: #000 !important;
+  //     font-size: 14px;
+  //     cursor: text;
+  //     padding: 0 !important;
   //   }
   // }
-}
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
 
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  .ws-info-table .el-form-item {
+    width: 33.3333%;
+  }
+
+  .readonly:after {
+    display: none;
+  }
+
+  .el-textarea__inner {
+    display: none;
+  }
+
+  .el-form {
+    margin-top: 50px;
+  }
+
+  .readonly {
+    width: 16%;
+  }
+
+  //去边框
+  /deep/.el-form-item {
+    border-right: 0px;
+    border-bottom: 0px;
+  }
+
+  /deep/.ws-info-table {
+    border-left: 0px;
+    border-top: 0px;
+  }
+
+  .ws-info-table .el-form-item .el-form-item__content {
+    border: none;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border: none;
+    height: 50px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    background: #f5f7fa;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    font-family: PingFangSC-Regular, PingFang SC;
+    margin-bottom: 5px;
+    background-color: #fff;
+    font-size: 14px;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    background-color: #fff;
+    font-size: 13px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    background: #f5f7fa;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+  }
+
+  /deep/.flex .ws-info-table .el-form-item .el-form-item__content {
+    border: 0px;
+  }
+
+  //联络员及车次
+  /deep/.liaison .ws-info-table .el-form-item {
+    width: 19%;
+  }
+
+  /deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
+    width: 100px;
+    background: #f6f7fc;
+  }
+
+  /deep/.liaison .ws-info-table {
+    width: 100%;
+    background: #f6f7fc;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    margin-top: 20px;
+  }
+
+  .catNos {
+    width: 100%;
+    height: 30px;
+    margin-top: 10px;
+    margin-left: 20px;
+    font-size: 14px;
+  }
+
+  .catNosCor {
+    color: #5473e8;
+  }
+
+  .add {
+    width: 130px;
+    height: 34px;
+    background: #f6f7fb;
+    border-radius: 17px;
+    color: #5473e8;
+    font-size: 14px;
+    border: none;
+  }
+
+  .add img {
+    display: inline-block;
+    margin-top: 3px;
+    margin-left: -30px;
+  }
+
+  .add .spans {
+    display: table-caption;
+    width: 56px;
+    height: 20px;
+    line-height: 18px;
+  }
+
+  .signStatus {
+    height: 25px;
+    border-radius: 3px;
+    border: 1px solid #5473e8;
+    padding: 0 3px;
+    color: #ffffff;
+    background: #c4cada;
+    line-height: 24px;
+    margin-left: 18px;
+  }
+
+  .signStatus1 {
+    height: 25px;
+    background: #e6ebff;
+    border-radius: 3px;
+    border: 1px solid #5473e8;
+    padding: 0 3px;
+    margin-left: 18px;
+    color: #5473e8;
+    line-height: 24px;
+  }
+
+  .line {
+    height: 26px;
+    margin-top: 6px;
+    left: 2px;
+  }
+
+  //送达/未送达
+  .noservice,
+  .service {
+    display: inline-block;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    padding: 2px;
+    font-size: 12px;
+  }
+
+  .noservice {
+    background: #c4cada;
+    color: #ffffff;
+  }
+
+  .service {
+    background: #e5f1f7;
+    color: #50cad4;
+  }
+
+  /deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
+    padding: 0px;
   }
-}
-// /deep/.is-disabled {
-//   .el-input__prefix,
-//   .el-input__suffix {
-//     display: none;
-//   }
-//   .el-input__inner {
-//     background-color: #fff;
-//     border-color: #fff !important;
-//     color: #000 !important;
-//     font-size: 14px;
-//     cursor: text;
-//     padding: 0 !important;
-//   }
-// }
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-.ws-info-table .el-form-item {
-  width: 33.3333%;
-}
-.readonly:after {
-  display: none;
-}
-.el-textarea__inner {
-  display: none;
-}
-.el-form {
-  margin-top: 50px;
-}
-.readonly {
-  width: 16%;
-}
-
-//去边框
-/deep/.el-form-item {
-  border-right: 0px;
-  border-bottom: 0px;
-}
-/deep/.ws-info-table {
-  border-left: 0px;
-  border-top: 0px;
-}
-.ws-info-table .el-form-item .el-form-item__content {
-  border: none;
-}
-/deep/.ws-info-table .el-form-item {
-  border: none;
-  height: 50px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  background: #f5f7fa;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  font-family: PingFangSC-Regular, PingFang SC;
-  margin-bottom: 5px;
-  background-color: #fff;
-  font-size: 14px;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  background-color: #fff;
-  font-size: 13px;
-  font-family: PingFangSC-Regular, PingFang SC;
-  font-weight: 400;
-  color: #8890b1;
-  line-height: 16px;
-}
-
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  background: #f5f7fa;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-}
-/deep/.flex .ws-info-table .el-form-item .el-form-item__content {
-  border: 0px;
-}
-//联络员及车次
-/deep/.liaison .ws-info-table .el-form-item {
-  width: 19%;
-}
-/deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
-  width: 50%;
-  background: #f6f7fc;
-}
-/deep/.liaison .ws-info-table {
-  width:100%;
-  background: #f6f7fc;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  margin-top: 20px;
-}
-.catNos {
-  width: 100%;
-  height: 30px;
-  margin-top: 10px;
-  margin-left: 20px;
-  font-size: 14px;
-}
-.catNosCor {
-  color: #5473e8;
-}
-.add {
-  width: 130px;
-  height: 34px;
-  background: #f6f7fb;
-  border-radius: 17px;
-  color: #5473e8;
-  font-size: 14px;
-  border: none;
-}
-.add img {
-  display: inline-block;
-  margin-top: 3px;
-  margin-left: -30px;
-}
-.add .spans {
-  display: table-caption;
-  width: 56px;
-  height: 20px;
-  line-height: 18px;
-}
-.signStatus {
-  height: 25px;
-  border-radius: 3px;
-  border: 1px solid #5473e8;
-  padding: 0 3px;
-  color: #ffffff;
-  background: #c4cada;
-  line-height: 24px;
-  margin-left: 18px;
-}
-.signStatus1 {
-  height: 25px;
-  background: #e6ebff;
-  border-radius: 3px;
-  border: 1px solid #5473e8;
-  padding: 0 3px;
-  margin-left: 18px;
-  color: #5473e8;
-  line-height: 24px;
-}
-.line {
-  height: 26px;
-  margin-top: 6px;
-  left: 2px;
-}
-//送达/未送达
-.noservice,
-.service {
-  display: inline-block;
-  border-radius: 4px;
-  border: 1px solid #d8dce6;
-  padding: 2px;
-  font-size: 12px;
-}
-.noservice {
-  background: #c4cada;
-  color: #ffffff;
-}
-.service {
-  background: #e5f1f7;
-  color: #50cad4;
-}
-/deep/.liaison .ws-info-table .el-form-item .el-form-item__content {
-  padding: 0px;
-}
-</style>
+</style>

+ 2 - 2
src/views/tranManagement/tranManagementTransporHairRespond.vue

@@ -92,7 +92,7 @@
             <span v-else>{{ scope.$index + 1 }}</span>
           </template>
         </el-table-column>
-        <el-table-column prop="processNo" label="运输任务编号">
+        <el-table-column prop="processNo" label="运输任务编号" width="140">
         </el-table-column>
         <el-table-column prop="tranType" label="运输方式"> </el-table-column>
         <el-table-column prop="goodsName" label="货名"> </el-table-column>
@@ -165,7 +165,7 @@
         </el-table-column>
         <el-table-column prop="createDate" class="table_td" label="接单时间" width="90">
         </el-table-column>
-        <el-table-column prop="seller" label="操作" width="200">
+        <el-table-column prop="seller" label="操作" width="160">
           <template slot-scope="scope">
             <template v-if="scope.row.feedbackStatus != '已完货'">
               <div class="record" @click="trainSee(scope.row)">查看</div>

+ 17 - 0
src/views/tranManagement/tranManagementTransporTrainDetails.vue

@@ -89,6 +89,18 @@
         </ws-form-item>
       </ws-info-table>
       <div class="small-title" style="font-size: 16px">联络员及车皮信息</div>
+      <div class="myTest">
+            <!--当前运输总价-->
+          <ws-form-item label="当前运输总价(元/吨):" span="1" prop="tranPrice">
+              <ws-input
+                v-model="deptBudgetList.tranPrice"
+                maxlength="70"
+                :disabled="readonly"
+                size="small"
+                style="width:70px"
+              />
+          </ws-form-item>
+       </div>
       <div
         class="liaison"
         v-for="(item, index) in deptBudgetList.tranCarInfoList"
@@ -631,4 +643,9 @@ export default {
   padding: 0px;
   border-radius: 0px;
 }
+  .myTest{
+    width: 800px;
+    display: flex;
+    height: 40px;
+  }
 </style>

+ 9 - 1
src/views/tranManagement/tranManagementTransporTrainNo.vue

@@ -114,7 +114,7 @@
               >审核中</el-button
             >
              <el-button
-              v-else
+             
               type="primary"
               size="small"
               @click="priceSubmit()"
@@ -337,6 +337,13 @@ export default {
     //   this.dialogViewSpareMoney = false
     // },
     add() {
+        if(!this.deptBudgetList.tranPrice){
+        this.$message({
+          message: '请设置运输总价!',
+          type: 'warning',
+        })
+      }
+      else{
       this.deptBudgetList.tranCarInfoList.push({
         driver: this.deptBudgetList.tranCarInfoList[0].driver,
         driverPhone: this.deptBudgetList.tranCarInfoList[0].driverPhone,
@@ -346,6 +353,7 @@ export default {
         boxNo: '',
         tranType: '2',
       })
+      }
     },
     del(index, row) {
       if (row.status == '未装车') {

+ 1 - 0
src/views/tranManagement/tranManagementUnShippingFeedback.vue

@@ -525,6 +525,7 @@ export default {
                             obj.binNumber = v.仓位号
                             obj.positionWeight=v.散船重量
                             obj.loadNetWeight = v.装船净重
+                            obj.unloadNetWeight = v.卸船净重
                             obj.loadingDate = toString(v.装船日期)
                             obj.status= v.状态
                             obj.shipType = v.类型

+ 6 - 31
src/views/tranManagement/tranManagementVehicleDispatching.vue

@@ -26,15 +26,12 @@
         <div class="basicInformation">
           <div class="small-title" style="font-size: 16px">任务详情</div>
           <ws-info-table>
-            <!-- 任务编号 -->
-            <ws-form-item label="任务编号" span="1" prop="processNo">
+          <ws-form-item label="任务编号" span="1" prop="processNo">
               {{ deptBudgetList.processNo }}
             </ws-form-item>
-            <!-- 货名 -->
             <ws-form-item label="货名" span="1">
               {{ deptBudgetList.goodsName }}
             </ws-form-item>
-            <!--重量(吨)-->
             <ws-form-item
               label="重量(吨)"
               span="1"
@@ -43,38 +40,28 @@
             >
               {{ deptBudgetList.weight }}
             </ws-form-item>
-
-            <!--发货地址-->
             <ws-form-item label="发货地址" span="1" prop="netWeight">
               {{ deptBudgetList.sendPrivate }}{{ deptBudgetList.sendCity
               }}{{ deptBudgetList.sendArea
               }}{{ deptBudgetList.sendDetailedAddress }}
             </ws-form-item>
-            <!--发货人-->
             <ws-form-item label="发货人" span="1" prop="agent">
               {{ deptBudgetList.sender }}
             </ws-form-item>
-
-            <!--发货人电话-->
             <ws-form-item label="发货人电话" span="1" prop="agent">
               {{ deptBudgetList.senderPhone }}
             </ws-form-item>
-            <!--收货地址-->
             <ws-form-item label="收货地址" span="1" prop="netWeight">
               {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
               }}{{ deptBudgetList.receiveArea
               }}{{ deptBudgetList.receiveDetailedAddress }}
             </ws-form-item>
-            <!--收货人-->
-            <ws-form-item label="收货人" span="1" prop="receiver">
+             <ws-form-item label="收货人" span="1" prop="receiver">
               {{ deptBudgetList.receiver }}
             </ws-form-item>
-
-            <!--收货人电话-->
             <ws-form-item label="收货人电话" span="1" prop="receiverPhone">
               {{ deptBudgetList.receiverPhone }}
             </ws-form-item>
-            <!--发货日期-->
             <ws-form-item
               label="发货日期"
               span="1"
@@ -83,7 +70,6 @@
             >
               {{ deptBudgetList.deliveryDateStart }}
             </ws-form-item>
-            <!--最晚发货日期-->
             <ws-form-item
               label="最晚发货日期"
               span="1"
@@ -92,7 +78,6 @@
             >
               {{ deptBudgetList.deliveryDateEnd }}
             </ws-form-item>
-            <!--合同编号-->
             <ws-form-item label="合同编号" span="1" prop="contractNo">
               {{ deptBudgetList.contractNo }}
             </ws-form-item>
@@ -100,7 +85,6 @@
 
           <div class="small-title" style="font-size: 16px">派车</div>
           <div class="myTest">
-              <!--当前运输单价-->
             <ws-form-item label="当前运输单价(元/吨):" span="1" prop="tranPrice">
                 <ws-input
                   v-model="deptBudgetList.tranPrice"
@@ -110,7 +94,6 @@
                   style="width:70px"
                 />
             </ws-form-item>
-            <!--审核中的运输单价-->
             <ws-form-item label="审核中的运输单价(元/吨):" span="1" prop="tranPriceIng">
               <ws-input
                   v-if="deptBudgetList.priceStatus=='审核中'"
@@ -168,7 +151,6 @@
                   item.status
                 }}</span>
               </div>
-              <!--司机-->
               <ws-form-item
                 label="姓名:"
                 span="1"
@@ -201,7 +183,6 @@
                   >{{ item.driver }}</span
                 >
               </ws-form-item>
-              <!--司机电话-->
               <ws-form-item
                 label="司机电话:"
                 span="1"
@@ -234,7 +215,6 @@
                   >{{ item.driverPhone }}</span
                 >
               </ws-form-item>
-              <!--车牌号-->
               <ws-form-item label="车牌号:" span="1" prop="carNo" class="siji">
                 <ws-input
                   :disabled="readonly"
@@ -244,7 +224,6 @@
                   size="small"
                 />
               </ws-form-item>
-             <!--派车编号-->
               <ws-form-item
                 label="派车编号:"
                 span="1"
@@ -259,7 +238,6 @@
                   size="small"
                 />
               </ws-form-item>
-              <!--箱号-->
               <ws-form-item
                 label="箱号:"
                 span="1"
@@ -281,7 +259,6 @@
                   size="small"
                 />
               </ws-form-item>
-              <!--封号-->
               <ws-form-item
                 label="封号:"
                 span="1"
@@ -304,7 +281,6 @@
                   size="small"
                 />
               </ws-form-item>
-              <!--车型-->
               <ws-form-item
                 label="车型:"
                 span="1"
@@ -319,7 +295,6 @@
                   size="small"
                 />
               </ws-form-item>
-              <!--车长-->
               <ws-form-item
                 label="车长:"
                 span="1"
@@ -334,7 +309,6 @@
                   size="small"
                 />
               </ws-form-item>
-              <!--载重吨-->
               <ws-form-item
                 label="载重(吨):"
                 span="1"
@@ -349,7 +323,6 @@
                   size="small"
                 />
               </ws-form-item>
-               <!--运输单价-->
               <ws-form-item
                 label="运输单价(元/吨):"
                 span="1"
@@ -375,7 +348,7 @@
               alt=""
               >×</span
             >
-          </div>
+          </div> 
           <div style="text-align: right; color: #8890b1; font-size: 16px">
            共{{ total }}/{{ deptBudgetList.weight }}
           </div>
@@ -624,7 +597,7 @@ export default {
         type: 'warning',
       })
         .then(() => {
-          debugger
+          // debugger
               var tranProcessInfo = {}
               tranProcessInfo.id = this.deptBudgetList.id
               tranProcessInfo.flag = "1"
@@ -678,6 +651,8 @@ export default {
               if (valid) {
                 var tranCarInfo = {}
                 tranCarInfo.id = this.deptBudgetList.id
+                tranCarInfo.processNo=this.deptBudgetList.processNo
+                tranCarInfo.tranPrice=this.deptBudgetList.tranPrice
                 tranCarInfo.infoId = this.deptBudgetList.infoId
                 tranCarInfo.tranCarInfoList = this.deptBudgetList.tranCarInfoList
                 dispatchCat(tranCarInfo)

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini