| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226 | <template>  <el-dialog    :title="title"    :visible.sync="showDialog"    width="80%"    @close="handleClose"    :close-on-click-modal="false"  >    <span>      <el-form ref="form" :model="form" :rules="rules" label-width="80px">        <el-row>          <el-col :span="6">            <el-form-item label="客户名称" prop="fCorpId">              <el-select                v-model="form.fCorpId"                placeholder="请输入客户名称"                :clearable="true"                filterable                size="mini"                style="width: 180px"                :disabled="true"              >                <el-option                  v-for="(dict, index) in fMblnoOptions"                  :key="index.fId"                  :label="dict.fName"                  :value="dict.fId"                />              </el-select>            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="业务类型" prop="billType">              <el-select                v-model="form.billType"                placeholder="请选择业务类型"                :disabled="true"                size="mini"                style="width: 180px"              >                <el-option                  v-for="(dict, index) in billTypeList"                  :key="index.dictValue"                  :label="dict.dictLabel"                  :value="dict.dictValue"                />              </el-select>            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="运输方式" prop="transType">              <el-select                v-model="form.transType"                placeholder="请选择运输方式"                :disabled="true"                size="mini"                style="width: 180px"              >                <el-option                  v-for="(dict, index) in transTypeList"                  :key="index.dictValue"                  :label="dict.dictLabel"                  :value="dict.dictValue"                />              </el-select>            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="运输性质" prop="transProp">              <el-select                v-model="form.transProp"                placeholder="请选择运输方式"                :disabled="true"                size="mini"                style="width: 180px"              >                <el-option                  v-for="(dict, index) in transPropList"                  :key="index.dictValue"                  :label="dict.dictLabel"                  :value="dict.dictValue"                />              </el-select>            </el-form-item>          </el-col>        </el-row>        <el-row>          <el-col :span="6">            <el-form-item label="装车地点" prop="tLoadAddr">              <el-input                v-model="form.tLoadAddr"                placeholder="请输入装车地点"                :disabled="true"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="计划时间" prop="tLoadDate">              <el-date-picker                clearable                size="mini"                style="width: 180px"                v-model="form.tLoadDate"                type="date"                value-format="yyyy-MM-dd"                placeholder="选择计划装车时间"                :disabled="true"              >              </el-date-picker>            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="联系人" prop="loadAttn">              <el-input                v-model="form.loadAttn"                placeholder="请输入装车联系人"                :disabled="true"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="联系电话" prop="loadAttntel">              <el-input                v-model="form.loadAttntel"                placeholder="请输入装车联系电话"                :disabled="true"                v-input-limit="0"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>        </el-row>        <el-row>          <el-col :span="6">            <el-form-item label="卸车地点" prop="unLoadAddr">              <el-input                v-model="form.unLoadAddr"                placeholder="请输入卸车地点"                :disabled="true"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="计划时间" prop="tUnLoadDate">              <el-date-picker                clearable                size="mini"                style="width: 180px"                v-model="form.tUnLoadDate"                type="date"                value-format="yyyy-MM-dd"                placeholder="选择计划卸车时间"                :disabled="true"              >              </el-date-picker>            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="联系人" prop="unLoadAttn">              <el-input                v-model="form.unLoadAttn"                placeholder="请输入卸车联系人"                :disabled="true"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="联系电话" prop="unLoadAttnTel">              <el-input                v-model="form.unLoadAttnTel"                placeholder="请输入卸车联系电话"                :disabled="true"                v-input-limit="0"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>        </el-row>        <el-row>          <el-col :span="6">            <el-form-item label="提单号" prop="mblno">              <el-input                v-model="form.mblno"                placeholder="请输入提单号"                :disabled="true"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="货品名称" prop="goodsId">              <el-select                v-model="form.goodsId"                placeholder="请输入货品名称"                :disabled="true"                clearable                filterable                size="mini"                style="width: 180px"              >                <el-option                  v-for="(dict, index) in goodsOptions"                  :key="index.fId"                  :label="dict.fName"                  :value="dict.fId"                />              </el-select>            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="计划件数" prop="qtyPlan">              <el-input                v-model="form.qtyPlan"                placeholder="请输入计划件数"                :disabled="true"                v-input-limit="2"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="重量(吨)" prop="weightPlan">              <el-input                v-model="form.weightPlan"                placeholder="请输入计划重量"                :disabled="true"                v-input-limit="2"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>        </el-row>        <el-row>          <el-col :span="6">            <el-form-item label="船名" prop="ysl">              <el-input                v-model="form.ysl"                placeholder="请输入船名"                :disabled="true"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="航次" prop="voy">              <el-input                v-model="form.voy"                placeholder="请输入航次"                :disabled="true"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="起运港" prop="polId">              <el-select                v-model="form.polId"                placeholder="请输入起运港"                :clearable="true"                filterable                :disabled="true"                size="mini"                style="width: 180px"              >                <el-option                  v-for="(dict, index) in polList"                  :key="index.dictValue"                  :label="dict.dictLabel"                  :value="dict.dictValue"                />              </el-select>            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="目的港" prop="podId">              <el-select                v-model="form.podId"                placeholder="请输入目的港"                :clearable="true"                filterable                :disabled="true"                size="mini"                style="width: 180px"              >                <el-option                  v-for="(dict, index) in podList"                  :key="index.dictValue"                  :label="dict.dictLabel"                  :value="dict.dictValue"                />              </el-select>            </el-form-item>          </el-col>        </el-row>        <el-row>          <el-col :span="6">            <el-form-item label="车号" prop="carregNo">              <el-input                v-model="form.carregNo"                placeholder="请输入车号"                :disabled="true"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="司机" prop="driverName">              <el-input                v-model="form.driverName"                placeholder="请输入司机"                :disabled="true"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="司机电话" prop="driverTel">              <el-input                v-model="form.driverTel"                placeholder="请输入司机电话"                :disabled="true"                size="mini"                style="width: 180px"              />            </el-form-item>          </el-col>        </el-row>        <el-row>          <el-col :span="6">            <el-form-item label="起始里程" prop="odometerFrom">              <el-input                v-model="form.odometerFrom"                placeholder="请输入起始里程表读数"                size="mini"                style="width: 180px"                v-input-limit="2"                :disabled="disabled"              />            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="结束里程" prop="odometerEnd">              <el-input                v-model="form.odometerEnd"                placeholder="请输入结束里程表读数"                size="mini"                style="width: 180px"                v-input-limit="2"                :disabled="disabled"              />            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="装卸货时间" prop="mdLoadDate">              <el-date-picker                clearable                size="mini"                style="width: 180px"                v-model="form.mdLoadDate"                type="date"                value-format="yyyy-MM-dd"                placeholder="选择装卸货时间"                :disabled="disabled"              >              </el-date-picker>            </el-form-item>          </el-col>          <el-col :span="6">            <el-form-item label="装卸货备注" prop="mdLoadRemarks">              <el-input                v-model="form.mdLoadRemarks"                placeholder="请输入装卸货备注"                size="mini"                style="width: 180px"                :disabled="disabled"              />            </el-form-item>          </el-col>        </el-row>      </el-form>      <el-collapse v-model="collapses">        <el-collapse-item>          <template slot="title">            <i class="header-icon el-icon-circle-plus" style="font-size: 16px"              ><span                style="font-size: 16px; font-weight: bolder; margin-left: 5px"                >附件上传</span              >            </i>          </template>          <div>            <div              style="                display: flex;                justify-content: space-between;                margin: 10px 0;              "            >              <div>                <el-button                  type="primary"                  icon="el-icon-plus"                  size="mini"                  @click="addRelevt"                  :disabled="disabled"                  >添加</el-button                >              </div>            </div>            <el-table              :data="relevantAttachments"              tooltip-effect="dark"              border              stripe              style="width: 100%"              height="150"            >              <el-table-column label="序号" type="index" width="80">              </el-table-column>              <el-table-column                prop="attachName"                header-align="center"                align="center"                label="附件名称"              >                <template slot-scope="scope">                  <el-input                    v-model="scope.row.attachName"                    placeholder="附件名称"                    show-word-limit                  />                </template>              </el-table-column>              <el-table-column                prop="opuserID "                header-align="center"                align="center"                label="上传人"              >                <template slot-scope="scope">                  <el-input                    v-model="scope.row.opuserID"                    placeholder="上传人"                    show-word-limit                  />                </template>              </el-table-column>              <el-table-column                prop="opdata"                header-align="center"                align="center"                label="上传时间"              >                <template slot-scope="scope">                  <el-date-picker                    v-model="scope.row.opdata"                    type="date"                    disabled                    placeholder="上传时间"                    format="yyyy-MM-dd HH:mm"                    value-format="timestamp"                  ></el-date-picker>                </template>              </el-table-column>              <el-table-column                prop="attachUrl"                header-align="center"                align="center"                label="上传附件"              >                <template slot-scope="scope">                  <div style="display: flex; justify-content: center">                    <el-upload                      class="upload-demo"                      :action="uploadImgUrl"                      :on-success="                        (res, file) => {                          handleSucces(scope, res, file);                        }                      "                      :headers="headers"                      :disabled="disabled"                      :show-file-list="false"                      :limit="1"                    >                      <el-button size="small" type="text" :disabled="disabled"                        >点击上传</el-button                      >                    </el-upload>                    <el-button                      size="small"                      type="text"                      @click="checkFile(scope)"                      :disabled="disabled"                      style="margin-left: 10px"                      >查看</el-button                    >                    <el-button                      size="small"                      type="text"                      :disabled="disabled"                      @click="deleteFile(scope)"                      >删除</el-button                    >                  </div>                </template>              </el-table-column>              <el-table-column                header-align="center"                align="center"                label="操作"                width="130PX"              >                <template slot-scope="scope">                  <el-button                    size="mini"                    type="text"                    icon="el-icon-delete"                    @click.native.prevent="                      deleteRow(scope.$index, relevantAttachments)                    "                    :disabled="disabled"                    >删除</el-button                  >                </template>              </el-table-column>            </el-table>          </div>        </el-collapse-item>        <el-collapse-item v-if="userType == '00'">          <template slot="title">            <i class="header-icon el-icon-circle-plus" style="font-size: 16px"              ><span                style="font-size: 16px; font-weight: bolder; margin-left: 5px"                >收款信息</span              >            </i>          </template>          <div>            <div              style="                display: flex;                justify-content: space-between;                margin: 10px 0;              "            >              <div>                <el-button                  type="primary"                  icon="el-icon-plus"                  size="mini"                  @click="addDListRow(DList)"                  :disabled="disabled"                  >添加</el-button                >              </div>            </div>            <el-table :data="DList">              <el-table-column label="结算单位" align="center" prop="fCorpid">                <template slot-scope="scope">                  <el-select                    v-model="scope.row.fCorpid"                    placeholder="结算单位"                    :clearable="true"                    filterable                    :disabled="disabled"                  >                    <el-option                      v-for="(dict, index) in fMblnoOptions"                      :key="index.fId"                      :label="dict.fName"                      :value="dict.fId"                    />                  </el-select>                </template>              </el-table-column>              <el-table-column label="费用名称" align="center" prop="fFeeid">                <template slot-scope="scope">                  <el-select                    v-model="scope.row.fFeeid"                    placeholder="费用名称"                    clearable                    filterable                    :disabled="disabled"                  >                    <el-option                      v-for="(dict, index) in fWbuOptions"                      :key="index.fId"                      :label="dict.fName"                      :value="dict.fId"                    />                  </el-select>                </template>              </el-table-column>              <el-table-column                label="计费单位"                align="center"                prop="fFeeunitid"              >                <template slot-scope="scope">                  <el-select                    v-model="scope.row.fFeeunitid"                    placeholder="计费单位"                    :disabled="disabled"                  >                    <el-option                      v-for="(dict, index) in ffeeunitidList"                      :key="index.dictValue"                      :label="dict.dictLabel"                      :value="dict.dictValue"                    />                  </el-select>                </template>              </el-table-column>              <el-table-column label="计费数量" align="center" prop="fQty">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.fQty"                    placeholder="计费数量"                    v-input-limit="0"                    :disabled="disabled"                    @input="total(scope.row)"                  />                </template>              </el-table-column>              <el-table-column label="单价" align="center" prop="fUnitprice">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.fUnitprice"                    placeholder="单价"                    v-input-limit="2"                    :disabled="disabled"                    @input="total(scope.row)"                  />                </template>              </el-table-column>              <el-table-column label="币种" align="center" prop="fCurrency">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.fCurrency"                    placeholder="RMB"                    :disabled="true"                  />                </template>              </el-table-column>              <el-table-column label="汇率" align="center" prop="fExrate">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.fExrate"                    placeholder="汇率"                    v-input-limit="2"                    :disabled="disabled"                  />                </template>              </el-table-column>              <el-table-column label="金额" align="center" prop="fAmount">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.fAmount"                    placeholder="金额"                    v-input-limit="2"                    :disabled="true"                  />                </template>              </el-table-column>              <el-table-column label="税率" align="center" prop="fTaxrate">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.fTaxrate"                    placeholder="税率"                    v-input-limit="2"                    :disabled="disabled"                  />                </template>              </el-table-column>              <el-table-column label="备注" align="center" prop="remarks">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.remarks"                    placeholder="备注"                    :disabled="disabled"                  />                </template>              </el-table-column>              <el-table-column                label="操作"                align="center"                class-name="small-padding fixed-width"                width="100"              >                <template slot-scope="scope">                  <el-button                    size="mini"                    type="text"                    icon="el-icon-delete"                    @click.native.prevent="deleteRow(scope.$index, DList)"                    :disabled="disabled"                    >删除</el-button                  >                </template>              </el-table-column>            </el-table>          </div>        </el-collapse-item>        <el-collapse-item v-if="userType == '00'">          <template slot="title">            <i class="header-icon el-icon-circle-plus" style="font-size: 16px"              ><span                style="font-size: 16px; font-weight: bolder; margin-left: 5px"                >付款信息</span              >            </i>          </template>          <div>            <div              style="                display: flex;                justify-content: space-between;                margin: 10px 0;              "            >              <div>                <el-button                  type="primary"                  icon="el-icon-plus"                  size="mini"                  @click="addDListRow(CList)"                  :disabled="disabled"                  >添加</el-button                >              </div>            </div>            <el-table :data="CList">              <el-table-column label="结算单位" align="center" prop="fCorpid">                <template slot-scope="scope">                  <el-select                    v-model="scope.row.fCorpid"                    placeholder="结算单位"                    :clearable="true"                    filterable                    :disabled="disabled"                  >                    <el-option                      v-for="(dict, index) in fMblnoOptions"                      :key="index.fId"                      :label="dict.fName"                      :value="dict.fId"                    />                  </el-select>                </template>              </el-table-column>              <el-table-column label="费用名称" align="center" prop="fFeeid">                <template slot-scope="scope">                  <el-select                    v-model="scope.row.fFeeid"                    placeholder="费用名称"                    clearable                    filterable                    :disabled="disabled"                  >                    <el-option                      v-for="(dict, index) in fWbuOptions"                      :key="index.fId"                      :label="dict.fName"                      :value="dict.fId"                    />                  </el-select>                </template>              </el-table-column>              <el-table-column                label="计费单位"                align="center"                prop="fFeeunitid"              >                <template slot-scope="scope">                  <el-select                    v-model="scope.row.fFeeunitid"                    placeholder="计费单位"                    :disabled="disabled"                  >                    <el-option                      v-for="(dict, index) in ffeeunitidList"                      :key="index.dictValue"                      :label="dict.dictLabel"                      :value="dict.dictValue"                    />                  </el-select>                </template>              </el-table-column>              <el-table-column label="计费数量" align="center" prop="fQty">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.fQty"                    placeholder="计费数量"                    v-input-limit="0"                    :disabled="disabled"                    @input="total(scope.row)"                  />                </template>              </el-table-column>              <el-table-column label="单价" align="center" prop="fUnitprice">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.fUnitprice"                    placeholder="单价"                    v-input-limit="2"                    :disabled="disabled"                    @input="total(scope.row)"                  />                </template>              </el-table-column>              <el-table-column label="币种" align="center" prop="fCurrency">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.fCurrency"                    placeholder="RMB"                    :disabled="true"                  />                </template>              </el-table-column>              <el-table-column label="汇率" align="center" prop="fExrate">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.fExrate"                    placeholder="汇率"                    v-input-limit="2"                    :disabled="disabled"                  />                </template>              </el-table-column>              <el-table-column label="金额" align="center" prop="fAmount">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.fAmount"                    placeholder="金额"                    v-input-limit="2"                    :disabled="true"                  />                </template>              </el-table-column>              <el-table-column label="税率" align="center" prop="fTaxrate">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.fTaxrate"                    placeholder="税率"                    v-input-limit="2"                    :disabled="disabled"                  />                </template>              </el-table-column>              <el-table-column label="备注" align="center" prop="remarks">                <template slot-scope="scope">                  <el-input                    v-model="scope.row.remarks"                    placeholder="备注"                    :disabled="disabled"                  />                </template>              </el-table-column>              <el-table-column                label="操作"                align="center"                class-name="small-padding fixed-width"                width="100"              >                <template slot-scope="scope">                  <el-button                    size="mini"                    type="text"                    icon="el-icon-delete"                    @click.native.prevent="deleteRow(scope.$index, DList)"                    :disabled="disabled"                    >删除</el-button                  >                </template>              </el-table-column>            </el-table>          </div>        </el-collapse-item>      </el-collapse>    </span>    <span slot="footer" class="dialog-footer">      <el-button type="primary" @click="submitForm">提 交</el-button>      <el-button type="success" @click="submitAllowChanges">修 改</el-button>      <el-button type="info" @click="submitSave">保 存</el-button>      <el-button type="warning" @click="submitRetreat">撤 回</el-button>      <el-button @click="showDialog = false">取 消</el-button>    </span>  </el-dialog></template><script>import {  removeFtmsorderbillscars,  driverSaveFtmsorderbillscars,  insertDriverFtmsorderbillscars,} from "@/api/fleet/ftmsorderbillscars";import { listGoods } from "@/api/basicdata/goods";import { listCorps } from "@/api/basicdata/corps";import { listFees } from "@/api/basicdata/fees";import UploadFile from "@/components/Uploadfile";import Cookies from "js-cookie";import { getToken } from "@/utils/auth";export default {  name: "plans",  props: {    addOrUpdateVisible: {      type: Boolean,      default: false,    },    title: {      type: String,      required: "",    },    form: Object,    DList: {      type: Array,      default: [],    },    CList: {      type: Array,      default: [],    },    disabled: Boolean,  },  components: {    UploadFile,  },  data() {    return {      // 控制弹出框显示隐藏      showDialog: false,      // 表单校验      rules: {        // fCorpId: [        //   { required: true, message: "请输入客户名称", trigger: "blur" },        // ],        // billType: [        //   { required: true, message: "请选择业务类型", trigger: "blur" },        // ],        // transType: [        //   { required: true, message: "请选择运输方式", trigger: "blur" },        // ],        // // loadAddr: [        // //   { required: true, message: "请输入提箱地点", trigger: "blur" },        // // ],        // loadAttntel: [        //   {        //     pattern: /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/,        //     message: "请正确输入手机号",        //     trigger: "blur",        //   },        // ],        // mdLoadAttnTel: [        //   {        //     pattern: /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/,        //     message: "请正确输入手机号",        //     trigger: "blur",        //   },        // ],        // unLoadAttnTel: [        //   {        //     pattern: /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/,        //     message: "请正确输入手机号",        //     trigger: "blur",        //   },        // ],      },      billTypeList: [],      transTypeList: [],      transPropList: [],      goodsLossTypeList: [],      relevantAttachments: [],      cntrIdList: [],      priceTypeList: [],      userType: null,      username: null,      collapses: [],      fMblnoOptions: [],      cntrId2List: [],      goodsOptions: [],      fWbuOptions: [],      ffeeunitidList: [],      polList: [],      podList: [],      uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址      headers: {        Authorization: "Bearer " + getToken(),      },    };  },  created() {    this.getDicts("data_billType").then((response) => {      this.billTypeList = response.data;    });    this.getDicts("data_transType").then((response) => {      this.transTypeList = response.data;    });    this.getDicts("data_transProp").then((response) => {      this.transPropList = response.data;    });    this.getDicts("data_goodsLossType").then((response) => {      this.goodsLossTypeList = response.data;    });    this.getDicts("data_cntrId").then((response) => {      response.data.map((e) => (e.noOption = false));      this.cntrIdList = response.data;    });    this.getDicts("data_priceType").then((response) => {      this.priceTypeList = response.data;    });    this.getDicts("data_ffeeunitid").then((response) => {      this.ffeeunitidList = response.data;    });    this.getDicts("port_start").then((response) => {      this.polList = response.data;    });    this.getDicts("port_end").then((response) => {      this.podList = response.data;    });    listCorps().then((response) => {      this.fMblnoOptions = response.rows;    });    listGoods().then((response) => {      this.goodsOptions = response.rows;    });    listFees().then((response) => {      this.fWbuOptions = response.rows;    });    this.userType = Cookies.get("userType");    this.username = Cookies.get("userName");  },  methods: {    // 新增附件上传    addRelevt() {      this.relevantAttachments.push({        attachUrl: null,        attachName: null,        opuserID: this.username,        opdata: Date.parse(new Date()),      });    },    //附件删除    deleteFile(scope) {      this.relevantAttachments[scope.$index].attachName = "";      this.relevantAttachments[scope.$index].attachUrl = "";      if (this.relevantAttachments[scope.$index].attachUrl === "") {        this.$message.success("删除成功");      } else {        this.$message.error("未知错误,删除失败");      }    },    //附件查看    checkFile(scope) {      if (this.relevantAttachments[scope.$index].attachUrl) {        window.open(this.relevantAttachments[scope.$index].attachUrl);      } else {        this.$message.error("请上传附件");      }    },    //附件上传    handleSucces(scope, res, file) {      this.relevantAttachments[scope.$index].attachName = res.fileName;      this.relevantAttachments[scope.$index].attachUrl = res.url;      if (this.relevantAttachments[scope.$index].attachUrl === "") {        this.$message.error("上传失败");      } else {        this.$message.success("上传成功");      }    },    // 添加行    addRow(tableData, event) {      var obj = {};      tableData.push(obj);    },    addDListRow(tableData, event) {      var obj = {        fcorpid: this.form.fCorpId,        fcurrency: "RMB",        fPid: this.form.id,        fExrate: "1",      };      tableData.push(obj);    },    //删除行    deleteRow(index, rows) {      rows.splice(index, 1);    },    // 上传成功返回数据    showFile(row) {      for (let list in this.relevantAttachments) {        this.$set(this.relevantAttachments[list], "attachUrl", row.url);        this.$set(this.relevantAttachments[list], "attachName", row.fileName);      }    },    // 弹出框关闭后触发    handleClose() {      // 子组件调用父组件方法,并传递参数      this.$emit("changeShow", "false");      this.cntrIdList.forEach((item) => (item.noOption = false));      this.collapses = [];    },    /** 提交按钮 */    submitForm() {      this.$refs["form"].validate((valid) => {        if (valid) {          this.DList.map((e) => {            return (e.fDc = "D");          });          this.CList.map((e) => {            return (e.fDc = "C");          });          let formData = new window.FormData();          formData.append("cars", JSON.stringify(this.form));          formData.append("attachs", JSON.stringify(this.relevantAttachments));          formData.append(            "fees",            JSON.stringify(this.DList.concat(this.CList))          );          formData.append("operationType", "mdLoadDate");          insertDriverFtmsorderbillscars(formData).then((response) => {            if (response.code == 200) {              this.msgSuccess("提交成功");              this.$parent.getList();              this.showDialog = false;            }          });        }      });    },    //修改    submitFix() {      this.$refs["form"].validate((valid) => {        if (valid) {        }      });    },    //保存    submitSave() {      this.DList.map((e) => {        return (e.fDc = "D");      });      this.CList.map((e) => {        return (e.fDc = "C");      });      let formData = new window.FormData();      formData.append("cars", JSON.stringify(this.form));      formData.append("attachs", JSON.stringify(this.relevantAttachments));      formData.append("fees", JSON.stringify(this.DList.concat(this.CList)));      formData.append("operationType", "mdLoadDate");      driverSaveFtmsorderbillscars(formData).then((response) => {        if (response.code == 200) {          this.msgSuccess("保存成功");          this.$parent.getList();          // this.$parent.getSave(response);        }      });    },    //撤回    submitRetreat() {},    //修改    submitAllowChanges() {      if (this.form.orderStatus <= 50) {        this.$emit("fixDisabled", "false");        this.msgSuccess("允许修改");      } else {        this.msgSuccess("不允许修改");      }    },    //单条订单调度提交    addscarsRow(row) {},    delscarsRow(index, rows, row) {      if (row.billStatus != 6 && row.id != null) {        removeFtmsorderbillscars(row).then((response) => {          if (response.code == 200) {            rows.splice(index, 1);            this.msgSuccess("成功删除");          }        });      } else {        rows.splice(index, 1);      }    },    revokescarsRow(index, rows, row) {},    changescarsRow(row) {},    total(row) {      console.log(row);      if (row.fQty && row.fUnitprice) {        this.$set(row, "fAmount", (row.fQty * row.fUnitprice).toFixed(2));      } else {        this.$set(row, "fAmount", 0);      }    },  },  watch: {    // 监听 addOrUpdateVisible 改变    addOrUpdateVisible(oldVal, newVal) {      this.showDialog = this.addOrUpdateVisible;    },  },};</script>
 |