| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120 | <template>  <div>    <div class="customer-head">      <div class="customer-back" v-if="!home">        <el-button            type="danger"            style="border: none;background: none;color: red"            icon="el-icon-arrow-left"            @click="backToList(0)"        >返回列表        </el-button>      </div>      <div class="customer-back" v-else>        <el-button            type="danger"            style="border: none;background: none;color: red"            icon="el-icon-arrow-left"            @click="backToList(1)"        >返回列表        </el-button>        <el-button            type="danger"            style="border: none;background: none;color: red"            icon="el-icon-arrow-left"            @click="backToList(2)"        >返回台账        </el-button>      </div>    </div>    <containerTitle title="委托信息" style="margin-top: 50px"></containerTitle>    <basic-container>      <avue-form :option="goodsOptionForm" v-model="goodsForm">        <template slot-scope="scope" slot="corpId">          <crop-select              v-model="goodsForm.corpId"              disabled          ></crop-select>        </template>        <template slot-scope="scope" slot="station">          <port-info              v-model="goodsForm.station"              :disabled="goodsForm.status >= 1"          />        </template>        <template slot-scope="scope" slot="agentId">          <crop-select              :disabled="goodsForm.status >= 1"              v-model="goodsForm.agentId"          ></crop-select>        </template>        <template slot-scope="scope" slot="polId">          <port-info              v-model="goodsForm.polId"              :disabled="goodsForm.status >= 1"          />        </template>        <template slot-scope="scope" slot="podId">          <port-info              v-model="goodsForm.podId"              :disabled="goodsForm.status >= 1"          />        </template>      </avue-form>    </basic-container>    <containerTitle title="其他信息"></containerTitle>    <basic-container :showBtn="true" ref="other">      <avue-form :option="goodsOptionFormTwo" v-model="goodsForm">        <template slot-scope="scope" slot="corpId">          <crop-select              v-model="goodsForm.corpId"              disabled          ></crop-select>        </template>        <template slot-scope="scope" slot="station">          <port-info              v-model="goodsForm.station"              :disabled="goodsForm.status >= 1"          />        </template>        <template slot-scope="scope" slot="agentId">          <crop-select              :disabled="goodsForm.status >= 1"              v-model="goodsForm.agentId"          ></crop-select>        </template>        <template slot-scope="scope" slot="polId">          <port-info              v-model="goodsForm.polId"              type="id"              :disabled="goodsForm.status >= 1"          />        </template>        <template slot-scope="scope" slot="podId">          <port-info              v-model="goodsForm.podId"              type="id"              :disabled="goodsForm.status >= 1"          />        </template>      </avue-form>    </basic-container>    <containerTitle        title="起止地信息"></containerTitle>    <basic-container>      <el-table          ref="singleTable"          :data="tableData"          size="mini"          :header-cell-style="{color:'#000',background:'#fafafa'}"          style="width: 100%">        <el-table-column            property="date"            align="center"            width="40">          <template slot-scope="scope">            <span v-if="scope.$index == 0">              <el-button type="primary" size="mini" circle>起</el-button>            </span>            <span v-else-if="scope.$index === tableData.length-1">              <el-button type="success" size="mini" circle>止</el-button>            </span>            <span v-else>              <el-button type="warning" size="mini" circle>途</el-button><!--              <el-button v-if="goodsForm.status === 2" type="warning" size="mini" circle>途</el-button>--><!--              <el-tooltip v-else class="item" effect="dark" content="删除" placement="right">--><!--                  <el-button type="danger" icon="el-icon-delete" size="mini" circle--><!--                             @click="deleteAddress(scope)"></el-button>--><!--              </el-tooltip>-->            </span>          </template>        </el-table-column>        <el-table-column            type="index"            label="序号"            align="center"            width="60">        </el-table-column>        <el-table-column            property="corpName"            label="货运地点"            align="center"            show-overflow-tooltip            width="200">        </el-table-column>        <!--        <el-table-column-->        <!--            property="province"-->        <!--            label="省市区"-->        <!--            align="center"-->        <!--            width="280">-->        <!--          <template slot-scope="scope">-->        <!--            <el-cascader-->        <!--                size="small"-->        <!--                style="width: 100%;"-->        <!--                v-model="scope.row.region"-->        <!--                disabled-->        <!--                :props="treeOption"></el-cascader>-->        <!--          </template>-->        <!--        </el-table-column>-->        <el-table-column            property="contacts"            align="center"            width="150"            show-overflow-tooltip            label="联系人">        </el-table-column>        <el-table-column            property="tel"            align="center"            width="180"            show-overflow-tooltip            label="电话">        </el-table-column>        <el-table-column            property="address"            align="center"            show-overflow-tooltip            label="详细地址">        </el-table-column>        <el-table-column            property="remarks"            align="center"            show-overflow-tooltip            label="备注">        </el-table-column>      </el-table>    </basic-container>    <containerTitle title="车辆信息"></containerTitle>    <basic-container>      <avue-crud          :data="entrustList"          @selection-change="selectionChange"          :option="entrustOptionTwoT"          ref="crudBoxTwo"          v-if="KeyBoxTwo>0"          @resetColumn="resetColumnBoxTwo"          @saveColumn="saveColumnBoxTwo"          @row-save="(row,done,loading)=>{rowSaveT(row,0,done,loading)}"          @row-update="rowSaveWell">        <template slot="menuLeft" slot-scope="{size}">          <el-button type="success" icon="el-icon-check" :size="size" @click="batchScheduling"                     :disabled="selectionList.length === 0" v-if="roleNameTwo.indexOf('总调度') === -1">批量调度          </el-button>        </template>        <template slot="plateNo" slot-scope="{row}" v-if="!row.$cellEdit">                <span class="el-button--text" style="cursor: pointer" @click="openTrack(row)">{{ row.plateNo }}</span>        </template><!--        <template slot-scope="{row}" slot="fleetId">--><!--          <crop-select--><!--              v-if="row.$cellEdit"--><!--              v-model="row.fleetId"--><!--              @getCorpData="(data)=>{getfleetIdT(data,row)}"--><!--              corpType="CD"--><!--          ></crop-select>--><!--          <span v-else>{{ row.fleetName }}</span>--><!--        </template>-->        <template slot-scope="{row,index}" slot="menu">          <el-button              type="text"              size="small"              v-if="row.status===0"              @click="rowSaveT(row,index)"          >{{ row.$cellEdit ? '保 存' : '修 改' }}          </el-button>          <el-button              type="text"              size="small"              v-if="row.status===0"              @click="rowSaveThree(row,index)"          >{{ row.$cellEdit ? '确认调度派车' : '调度派车' }}          </el-button>          <el-button              size="small"              type="text"              @click="designate(row, index)"              v-if="row.status === 0"          >调 度          </el-button>          <el-button              size="small"              type="text"              @click="cancelDesignate(row, index)"              v-if="row.status===1"          >取消调度          </el-button>          <el-button              size="small"              type="text"              @click="changeFleetT(row, index)"              v-if="row.status !== 0 || row.status !==1 || row.status !==4"          >变 更          </el-button>          <el-button              size="small"              type="text"              @click="recordsOfChanges(row, index)"              v-if="row.status > 1"          >变更记录          </el-button>          <el-button              size="small"              type="text"              @click="annexOpen(row, index)"          >附 件          </el-button>        </template>      </avue-crud>    </basic-container>    <span>  <!--    <containerTitle title="费用明细"></containerTitle>-->      <!--    <basic-container>-->      <!--      <el-tabs v-model="activeIndex" @tab-click="handleSelect">-->      <!--        <el-tab-pane label="应收" name="1"></el-tab-pane>-->      <!--        <el-tab-pane label="应付" name="2"></el-tab-pane>-->      <!--      </el-tabs>-->      <!--      <avue-crud-->      <!--          v-if="activeIndex === '1'"-->      <!--          :data="collectionList"-->      <!--          :option="collectionOption"-->      <!--          ref="collection"-->      <!--          @row-save="(row,done,loading)=>{rowSave(row,0,done,loading)}"-->      <!--          @row-update="rowSave"-->      <!--          @row-del="makeDel">-->      <!--        <template slot-scope="{row}" slot="corpId">-->      <!--          <crop-select-->      <!--              v-if="row.$cellEdit"-->      <!--              v-model="row.corpId"-->      <!--              @getCorpData="(data)=>{getfleetId(data,row)}"-->      <!--          ></crop-select>-->      <!--          <span v-else>{{row.corpName}}</span>-->      <!--        </template>-->      <!--        <template slot-scope="{row}" slot="feeId">-->      <!--          <breakdown-select-->      <!--              v-if="row.$cellEdit"-->      <!--              v-model="row.feeId"-->      <!--              @selectValue="(value) => selectValue(value,row)"-->      <!--              :configuration="breakConfiguration"-->      <!--          >-->      <!--          </breakdown-select>-->      <!--          <span v-else>{{ row.feeName }}</span>-->      <!--        </template>-->      <!--        <template slot-scope="{row,index}" slot="menu">-->      <!--          <el-button-->      <!--              type="text"-->      <!--              size="small"-->      <!--              :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"-->      <!--              @click="rowCell(row,index)"-->      <!--          >{{row.$cellEdit?'保存':'编辑'}}</el-button>-->      <!--          <el-button type="text"-->      <!--                     icon="el-icon-delete"-->      <!--                     size="small"-->      <!--                     @click="$refs.collection.rowDel(row,index)"-->      <!--          >删除</el-button>-->      <!--        </template>-->      <!--        <template slot="menuLeft">-->      <!--          <el-button type="primary" icon="el-icon-plus" @click="addRowCollection" size="small">录入明细</el-button>-->      <!--        </template>-->      <!--      </avue-crud>-->      <!--      <avue-crud-->      <!--          v-if="activeIndex === '2'"-->      <!--          :data="paymentList"-->      <!--          :option="paymentOption"-->      <!--          ref="payment"-->      <!--          @row-save="(row,done,loading)=>{rowSave(row,0,done,loading)}"-->      <!--          @row-update="rowSave"-->      <!--          @row-del="feeDel"-->      <!--      >-->      <!--        <template slot-scope="{row}" slot="corpId">-->      <!--          <crop-select-->      <!--              v-if="row.$cellEdit"-->      <!--              v-model="row.corpId"-->      <!--              @getCorpData="(data)=>{getfleetId(data,row)}"-->      <!--          ></crop-select>-->      <!--          <span v-else>{{row.corpName}}</span>-->      <!--        </template>-->      <!--        <template slot-scope="{row}" slot="feeId">-->      <!--          <breakdown-select-->      <!--              v-if="row.$cellEdit"-->      <!--              v-model="row.feeId"-->      <!--              @selectValue="(value) => selectValue(value,row)"-->      <!--              :configuration="breakConfiguration"-->      <!--          >-->      <!--          </breakdown-select>-->      <!--          <span v-else>{{ row.feeName }}</span>-->      <!--        </template>-->      <!--        <template slot-scope="{row,index}" slot="menu">-->      <!--          <el-button-->      <!--              type="text"-->      <!--              size="small"-->      <!--              :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"-->      <!--              @click="paymentRowCell(row,index)"-->      <!--          >{{row.$cellEdit?'保存':'编辑'}}</el-button>-->      <!--          <el-button type="text"-->      <!--                     icon="el-icon-delete"-->      <!--                     size="small"-->      <!--                     @click="$refs.payment.rowDel(row,index)"-->      <!--          >删除</el-button>-->      <!--        </template>-->      <!--        <template slot="menuLeft">-->      <!--          <el-button type="primary" icon="el-icon-plus" @click="addRowPayment" size="small">录入明细</el-button>-->      <!--        </template>-->      <!--      </avue-crud>-->      <!--    </basic-container>--></span>    <containerTitle title="杂费明细"></containerTitle>    <basic-container>      <el-tabs v-model="activeIndex" @tab-click="handleSelect">        <el-tab-pane label="应收" name="1"></el-tab-pane>        <el-tab-pane label="应付" name="2"></el-tab-pane>      </el-tabs>      <avue-crud          v-if="activeIndex === '1'"          :data="collectionList"          :key="key"          :option="collectionOption"          ref="collection"          @resetColumn="resetColumnCollection"          @saveColumn="saveColumnCollection"          @row-save="(row,done,loading)=>{rowSave(row,0,done,loading)}"          @row-update="rowSave"          @row-del="makeDel">        <template slot-scope="{row}" slot="corpId">          <crop-select              v-if="row.$cellEdit"              v-model="row.corpId"              @getCorpData="(data)=>{getfleetId(data,row)}"          ></crop-select>          <span v-else>{{ row.corpName }}</span>        </template>        <template slot="plateNoHeader" slot-scope="{column}">          {{ column.label }}<span style="color:#F56C6C">*</span>        </template>        <template slot="feeIdHeader" slot-scope="{column}">          {{ column.label }}<span style="color:#F56C6C">*</span>        </template>        <template slot-scope="{row}" slot="feeId">          <breakdown-select              v-if="row.$cellEdit"              v-model="row.feeId"              @selectValue="(value) => selectValue(value,row)"              :configuration="breakConfiguration"          >          </breakdown-select>          <span v-else>{{ row.feeName }}</span>        </template>        <template slot-scope="{row,index}" slot="menu">          <el-button              type="text"              size="small"              :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"              @click="rowCell(row,index)"          >{{ row.$cellEdit ? '保存' : '编辑' }}          </el-button>          <el-button type="text"                     icon="el-icon-delete"                     size="small"                     @click="$refs.collection.rowDel(row,index)"          >删除          </el-button>          <el-button              size="small"              type="text"              icon="el-icon-s-order"              @click="annexOpen(row, index)"          >附 件          </el-button>        </template>        <template slot="menuLeft">          <el-button              v-if="roleNameTwo.indexOf('总调度') === -1"              type="primary" icon="el-icon-plus" @click="addRowCollection"                     size="small">录入明细          </el-button>        </template>      </avue-crud>      <avue-crud          v-if="activeIndex === '2'"          :data="paymentList"          :option="paymentOption"          ref="payment"          @resetColumn="resetColumnPayment"          @saveColumn="saveColumnPayment"          @row-save="(row,done,loading)=>{rowSave(row,0,done,loading)}"          @row-update="rowSave"          @row-del="feeDel"      >        <template slot-scope="{row}" slot="corpId">          <crop-select              v-if="row.$cellEdit"              v-model="row.corpId"              @getCorpData="(data)=>{getfleetId(data,row)}"          ></crop-select>          <span v-else>{{ row.corpName }}</span>        </template>        <template slot="plateNoHeader" slot-scope="{column}">          {{ column.label }}<span style="color:#F56C6C">*</span>        </template>        <template slot="feeIdHeader" slot-scope="{column}">          {{ column.label }}<span style="color:#F56C6C">*</span>        </template>        <template slot-scope="{row}" slot="feeId">          <breakdown-select              v-if="row.$cellEdit"              v-model="row.feeId"              @selectValue="(value) => selectValue(value,row)"              :configuration="breakConfiguration"          >          </breakdown-select>          <span v-else>{{ row.feeName }}</span>        </template>        <template slot-scope="{row,index}" slot="menu">          <el-button              type="text"              size="small"              :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"              @click="paymentRowCell(row,index)"          >{{ row.$cellEdit ? '保存' : '编辑' }}          </el-button>          <el-button type="text"                     icon="el-icon-delete"                     size="small"                     :disabled="goodsForm.status === 1"                     @click="$refs.payment.rowDel(row,index)"          >删除          </el-button>          <el-button              size="small"              type="text"              icon="el-icon-s-order"              @click="annexOpen(row, index)"          >附 件          </el-button>        </template>        <template slot="menuLeft">          <el-button              v-if="roleNameTwo.indexOf('总调度') === -1"              type="primary" icon="el-icon-plus" @click="addRowPayment"                     size="small">录入明细          </el-button>        </template>      </avue-crud>    </basic-container>    <containerTitle title="上传附件"></containerTitle>    <c-upload        typeUpload="CD"        :data="orderFilesList"        display        deleteUrl="/api/blade-client/common-file/remove"        :enumerationValue="86.2"    >      <template slot="c_button">        <el-button            type="primary"            size="small"            :loading="c_button"            @click="schedulingFileSaving"        >保存附件        </el-button>      </template>    </c-upload>    <el-dialog        title="批量调度"        :visible.sync="dialogVisible"        append-to-body        width="70%">      <avue-form :option="option" v-model="form" ref="form">        <template slot="fleetId">          <crop-select              v-model="form.fleetId"              corpType="CD"          ></crop-select>        </template>      </avue-form>      <span slot="footer" class="dialog-footer">          <el-button @click="dialogVisible = false" size="small">取 消</el-button>          <el-button type="primary" @click="saveScheduling" size="small">调 度</el-button>        </span>    </el-dialog>    <el-dialog        title="变更"        :visible.sync="dialogChange"        append-to-body        width="70%">      <avue-form :option="optionData" v-model="formData" ref="saveForm">        <template slot="fleetId">          <crop-select              v-model="formData.fleetId"              corpType="CD"              :disabled="formData === 4"              @getCorpData="getCorpData"          ></crop-select>        </template>      </avue-form>      <span slot="footer" class="dialog-footer">        <el-button @click="dialogChange = false" size="small">关 闭</el-button>          <el-button type="primary" @click="confirmChange" size="small">确 定</el-button>      </span>    </el-dialog>    <el-dialog        title="变更记录"        :visible.sync="dialogRecord"        append-to-body        width="70%">      <avue-crud :data="dataRecord" :option="optionRecord" style="margin-top: -43px"></avue-crud>      <span slot="footer" class="dialog-footer">          <el-button @click="dialogRecord = false" size="small">关 闭</el-button>        </span>    </el-dialog>    <el-dialog        title="附件"        :visible.sync="enclosure"        append-to-body        width="70%">      <c-upload          typeUpload="GZ"          :basic="true"          deleteUrl="/api/blade-client/common-file/remove"          :data="orderList"          :enumerationValue="76"      ></c-upload>      <span slot="footer" class="dialog-footer">          <el-button @click="enclosure = false" size="small">取 消</el-button>          <el-button type="primary" @click="saveAnnex" size="small">保 存</el-button>        </span>    </el-dialog>    <track-playback :dialogVisible="dialogVisibleTwo" :lineArr="lineArr" ref="playback"></track-playback>  </div></template><script>import {getLazyTree} from "@/api/base/region";import {  saveDelegationList,  detailDelegationList,  removeCollection,  dispatchCollection,  queryVehicle,  cancelDispatchCollection,  dispatchBatch,  fleetDriverSave,  recordingDetails,  changeFleet,  incidentalSubmit, saveFile, getFee, fleetList, conserveDispatch,  checkAttachment, sendACarCollection} from "@/api/landTransportation";import website from "@/config/website";import {getDeptTree} from "@/api/system/dept";import {customerList} from "@/api/basicData/basicFeesDesc";import {gaude, location} from "@/api/gaude";export default {  props: {    id: {      type: String    },    home: {      type: Boolean    }  },  data() {    return {      formData: {},      enclosure: false,      dialogVisibleTwo:false,      lineArr: [],      formAnnex: {},      key: 0,      formDataList: {},      orderList: [],      dialogChange: false,      optionData: {        span: 12,        menuBtn: false,        column: [{          label: "车队",          prop: "fleetId",        }, {          label: "应付陆运费",          prop: "landAmountC",          precision: 2,          controls: false,          type: 'number',        }]      },      form: {},      dataRecord: [],      dialogRecord: false,      optionRecord: {        stripe: true,        refreshBtn: false,        columnBtn: false,        menu: false,        addBtn: false,        align: 'center',        column: [          {            label: '变更内容',            prop: 'content'          }, {            label: '变更人',            prop: 'changeUserName'          }, {            label: '变更时间',            prop: 'changeTime'          }        ]      },      option: {        span: 12,        menuBtn: false,        column: [{          label: "车队",          prop: "fleetId",          rules: [{            required: true,            message: " ",            trigger: "blur"          }]        }, {          label: "应付陆运费",          prop: "landAmountC",          precision: 2,          controls: false,          type: 'number',        }]      },      activeIndex: '1',      dialogVisible: false,      c_button: false,      goodsForm: {},      orderFilesList: [],      selectionList: [],      roleName: localStorage.getItem("roleName").split(',')[0],      roleNameTwo: localStorage.getItem("roleName").split(','),      breakConfiguration: {        multipleChoices: false,        multiple: false,        disabled: false,        searchShow: true,        collapseTags: false,        clearable: true,        placeholder: '请点击右边按钮选择',        dicData: []      },      advantageProjectData: [],      treeOption: {        label: 'title',        value: 'id',        lazy: true,        lazyLoad(node, resolve) {          const parentId = node.level === 0 ? '00' : node.data.id;          getLazyTree(parentId).then(res => {            resolve(                res.data.data.map(item => {                  return {                    ...item,                    leaf: !item.hasChildren                  };                })            );          });        }      },      tableData: [],      entrustListT: [],      KeyBoxTwo: 0,      entrustOptionTwoTBackup: {        selectable: (row, index) => {          return row.status === 0        },        align: 'center',        menuAlign: 'center',        index: true,        cellBtn: false,        refreshBtn: false,        selection: true,        selectionWidth: 55,        menu:true,        tip: false,        addBtn: false,        cancelBtn: false,        editBtn: false,        addRowBtn: false,        delBtn: false,        showSummary: true,        // editBtn:false,        summaryText: "合计",        sumColumnList: [          {            name: 'landWeight',            type: 'sum',            decimals: 2          }, {            name: 'landAmountC',            type: 'sum',            decimals: 2          }, {            name: 'landAmountD',            type: 'sum',            decimals: 2          }, {            name: 'oneFeeD',            type: 'sum',            decimals: 2          }, {            name: 'twoFeeD',            type: 'sum',            decimals: 2          }, {            name: 'threeFeeD',            type: 'sum',            decimals: 2          }, {            name: 'fourFeeD',            type: 'sum',            decimals: 2          }, {            name: 'fiveFeeD',            type: 'sum',            decimals: 2          }, {            name: 'oneFeeC',            type: 'sum',            decimals: 2          }, {            name: 'twoFeeC',            type: 'sum',            decimals: 2          }, {            name: 'threeFeeC',            type: 'sum',            decimals: 2          }, {            name: 'fourFeeC',            type: 'sum',            decimals: 2          }, {            name: 'fiveFeeC',            type: 'sum',            decimals: 2          }, {            name: 'landAmountD',            type: 'sum',            decimals: 2          }, {            name: 'ctnQuantity',            type: 'sum',            decimals: 0          }],        column: [{          label: '货运日期',          type: "datetime",          cell: true,          format: 'yyyy-MM-dd HH:mm',          valueFormat: 'yyyy-MM-dd HH:mm:ss',          width: 200,          index: 1,          prop: 'arrivalTime'        }, {          label: '实际到厂时间',          prop: 'realArrivalTime',          overHidden: true,          type: "date",          searchRange: true,          defaultTime: ['00:00:00', '23:59:59'],          format: "yyyy-MM-dd HH:mm",          valueFormat: "yyyy-MM-dd HH:mm:ss",          index: 2,          width: 140,        }, {          label: '尺寸箱型',          width: 100,          slot: true,          index: 3,          prop: 'ctnType'        }, {          label: '箱量',          width: 50,          index: 4,          prop: 'ctnQuantity'        }, {          label: '车队',          width: 200,          index: 5,          type: 'select',          cascader: ['plateNo'],          overHidden: true,          cell: true,          prop: 'fleetId',          dicUrl: "/api/blade-client/corpsdesc/list?size=1000¤t=1&&corpType=CD",          props: {            label: "cname",            value: "id",            res: "data.records"          }        }, {          label: '车号',          width: 150,          index: 6,          cell: false,          prop: 'plateNo',          type: "select",          dicUrl: "/api/blade-client/land-vehicle/vehicle-list?fleetId={{key}}",          props: {            label: "plateNo",            value: "plateNo"          },        }, {          label: '司机',          width: 115,          index: 7,          prop: 'driverName'        }, {          label: '电话',          width: 160,          index: 8,          prop: 'tel'        }, {          label: '完工日期',          prop: 'finishedTime',          overHidden: true,          type: "date",          searchRange: true,          defaultTime: ['00:00:00', '23:59:59'],          format: "yyyy-MM-dd HH:mm",          valueFormat: "yyyy-MM-dd HH:mm:ss",          index: 9,          width: 140,        }, {          label: '货物名称',          overHidden: true,          width: 160,          index: 10,          prop: 'goods'        }, {          label: '件数',          width: 100,          overHidden: true,          controls: false,          cell: true,          index: 11,          prop: 'quantity',          type: 'number',          precision: 0        }          // , {          //   label: '包装',          //   width: 100,          //   overHidden: true,          //   cell: true,          //   prop: 'packing',          //   type: 'select',          //   dicUrl: "/api/blade-system/dict-biz/dictionary?code=packaging",          //   props: {          //     label: "dictValue",          //     value: "dictValue"          //   },          // }          , {            label: '重量',            width: 160,            prop: 'landWeight',            controls: false,            precision: 2,            index: 12,            type: 'number'          }, {            label: '尺码',            width: 100,            overHidden: true,            cell: true,            index: 13,            prop: 'size',          }, {            label: '单柜运费',            index: 14,            prop: 'landAmountD'          },          {            label: '状态',            width: 100,            index: 15,            type: 'select',            dicUrl: "/api/blade-system/dict-biz/dictionary?code=land_order_status",            props: {              label: "dictValue",              value: "dictKey"            },            dataType: "string",            prop: 'status'          }, {            label: '应付陆运费',            cell: true,            index: 16,            prop: 'landAmountC'          }, {            label: '委托备注',            width: 245,            index: 17,            prop: 'remarks'          }, {            label: '车队备注',            width: 245,            index: 18,            prop: 'fleetRemarks'          }, {            label: '司机备注',            width: 245,            index: 19,            prop: 'driverRemarks'          }, {            label: '应收场站费',            width: 100,            precision: 2,            index: 20,            controls: false,            cell: true,            type: 'number',            prop: 'oneFeeD'          }, {            label: '应收港杂费',            width: 100,            precision: 2,            cell: true,            index: 21,            controls: false,            type: 'number',            prop: 'twoFeeD'          }, {            label: '应收扣款',            width: 100,            index: 22,            precision: 2,            cell: true,            controls: false,            type: 'number',            prop: 'threeFeeD'          }, {            label: '应收待时费',            width: 100,            precision: 2,            index: 23,            cell: true,            controls: false,            type: 'number',            prop: 'fourFeeD'          }, {            label: '应收其他',            width: 100,            index: 24,            precision: 2,            cell: true,            type: 'number',            controls: false,            prop: 'fiveFeeD'          }, {            label: '应收费用备注',            width: 245,            index: 25,            cell: true,            prop: 'feeRemarksD'          }, {            label: '应付场站费',            width: 100,            index: 26,            precision: 2,            cell: true,            controls: false,            type: 'number',            prop: 'oneFeeC'          }, {            label: '应付港杂费',            width: 100,            precision: 2,            index: 27,            cell: true,            controls: false,            type: 'number',            prop: 'twoFeeC'          }, {            label: '应付扣款',            width: 100,            index: 28,            precision: 2,            controls: false,            type: 'number',            cell: true,            prop: 'threeFeeC'          }, {            label: '应付待时费',            width: 100,            precision: 2,            index: 29,            controls: false,            cell: true,            type: 'number',            prop: 'fourFeeC'          }, {            label: '应付其他',            width: 100,            precision: 2,            index: 30,            type: 'number',            cell: true,            controls: false,            prop: 'fiveFeeC'          }, {            label: '应付费用备注',            width: 245,            index: 31,            cell: true,            prop: 'feeRemarksC'          }        ]      },      entrustOptionTwoT: {},      entrustList: [],      goodsOptionForm: {        menuBtn: false,        disabled: true,        span: 8,        column: [{          label: '公司名称',          formslot: true,          prop: 'corpId',          rules: [{            required: true,            message: " ",            trigger: "change"          }],        }, {          label: '所属部门',          prop: 'salesmanDept',          type: "tree",          filter: false,          dicData: [],          props: {            label: "title"          }        }, {          label: '业务员',          prop: 'salesman',          type: "select",          dicUrl: "/api/blade-user/userList",          props: {            label: "realName",            value: "id"          },          rules: [{            required: true,            message: " ",            trigger: "blur"          }]        }, {          label: '物流运输',          prop: 'dispatchDept',          cascader: ['dispatcher'],          dicUrl: "/api/blade-system/dept/top-list?deptCategory=1",          type: "select",          props: {            label: "deptName",            value: "id"          },          rules: [{            required: true,            message: " ",            trigger: "blur"          }]        }, {          label: '运输调度',          prop: 'dispatcher',          type: "select",          dicUrl: "/api/blade-user/userList?deptPid={{key}}",          props: {            label: "realName",            value: "id"          }        }, {          label: '委托日期',          prop: 'bsDate',          type: "datetime",          format: 'yyyy-MM-dd HH:mm',          valueFormat: 'yyyy-MM-dd HH:mm:ss',        }, {          label: '票据号',          prop: 'receiptNo'        }, {          label: '联系电话',          prop: 'tel'        }, {          label: '提单号',          prop: 'billNo',          rules: [{            required: true,            message: " ",            trigger: "blur"          }],        }, {          label: '场站',          prop: 'station',          rules: [{            required: true,            message: " ",            trigger: "blur"          }],        },          //   {          //   label: '货运日期',          //   type: "datetime",          //   format: 'yyyy-MM-dd HH:mm:ss',          //   valueFormat: 'yyyy-MM-dd HH:mm:ss',          //   prop: 'arrivalTime',          //   rules: [{          //     required: true,          //     message: " ",          //     trigger: "blur"          //   }],          // },          {            label: '备注',            span: 24,            minRows: 2,            prop: 'remarks',            type: 'textarea'          }]      },      goodsOptionFormTwo: {        menuBtn: false,        disabled: true,        span: 8,        column: [          // {          //   label: '所属公司',          //   formslot: true,          //   prop: 'belongCompany',          //   rules: [{          //     required: false,          //     message: " ",          //     trigger: "blur"          //   }],          // },          {            label: '船名航次',            prop: 'factory',            rules: [{              required: false,              message: " ",              trigger: "blur"            }],          }          // , {          //   label: '货物名称',          //   prop: 'goods',          //   rules: [{          //     required: false,          //     message: " ",          //     trigger: "blur"          //   }],          // }          , {            label: '开船日期',            prop: 'etd',            type: 'date'          }, {            label: '预配箱量',            prop: 'expectCtnQty',          }, {            label: '起运港',            prop: 'polId'          }, {            label: '目的港',            prop: 'podId'          }, {            label: '截港日期',            prop: 'etc',            type: 'date'          }, {            label: '截单日期',            prop: 'siCutoffDate',            type: 'date'          }, {            label: '订舱代理',            prop: 'agentId'          }]      },      entrustOptionTwo: {        align: 'center',        menuAlign: 'center',        addBtnText: '录入箱信息',        index: true,        cellBtn: true,        addBtn: false,        addRowBtn: true,        showSummary: true,        summaryText: "合计",        sumColumnList: [          {            name: 'landWeight',            type: 'sum',            decimals: 2          }, {            name: 'landAmountD',            type: 'sum',            decimals: 2          }, {            name: 'ctnQuantity',            type: 'sum',            decimals: 7          }],        column: [{          label: '尺寸箱型',          cell: true,          prop: 'ctnType',          type: 'select',          width: 100,          dicUrl: "/api/blade-system/dict-biz/dictionary?code=boxType",          props: {            label: "dictValue",            value: "dictKey"          }        }, {          label: '箱量',          cell: true,          prop: 'ctnQuantity',          controls: false,          precision: 0,          width: 100,          type: 'number'        }, {          label: '总重量(吨)',          cell: true,          prop: 'landWeight',          controls: false,          width: 200,          precision: 2,          type: 'number'        }, {          label: '单柜运费',          cell: true,          prop: 'landAmountD',          controls: false,          width: 200,          precision: 2,          type: 'number'        }, {          label: '备注',          cell: true,          width: 200,          prop: 'remarks'        }        ]      },      collectionList: [],      collectionOption: {},      collectionOptionBackup: {        align: 'center',        menuAlign: 'center',        index: true,        cancelBtn: false,        editBtn: false,        delBtn: false,        cellBtn: false,        addBtn: false,        addRowBtn: false,        showSummary: true,        addBtnText: '录入明细',        summaryText: "合计",        sumColumnList: [{          name: 'price',          type: 'sum',          decimals: 2        }, {          name: 'amount',          type: 'sum',          decimals: 2        }, {          name: 'quantity',          type: 'sum',          decimals: 1        }],        column: [{          label: '客户名称',          slot: true,          width: 300,          prop: 'corpId'        }, {          label: '车号',          cell: true,          prop: 'plateNo',          type: "select",          props: {            label: "label",            value: "label"          },        }, {          label: '费用名称',          slot: true,          width: 200,          prop: 'feeId'        }, {          label: '计价单位',          cell: true,          prop: 'unit',          type: "select",          dicUrl: "/api/blade-system/dict-biz/dictionary?code=unit",          props: {            label: "dictValue",            value: "dictKey"          }        }, {          label: '单价',          cell: true,          type: 'number',          controls: false,          prop: 'price'        }, {          label: '数量',          cell: true,          controls: false,          type: 'number',          prop: 'quantity'        }, {          label: '金额',          cell: true,          type: 'number',          controls: false,          prop: 'amount'        }, {          label: '税率',          cell: true,          prop: 'taxRate'        }, {          label: '币别',          cell: true,          prop: 'currency',          type: "select",          dicUrl: "/api/blade-system/dict-biz/dictionary?code=currency",          props: {            label: "dictValue",            value: "dictKey"          },        }        ]      },      paymentList: [],      paymentOption: {},      paymentOptionBackup: {        align: 'center',        menuAlign: 'center',        index: true,        cancelBtn: false,        editBtn: false,        delBtn: false,        cellBtn: false,        addBtn: false,        addRowBtn: false,        showSummary: true,        addBtnText: '录入明细',        summaryText: "合计",        sumColumnList: [{          name: 'price',          type: 'sum',          decimals: 2        }, {          name: 'amount',          type: 'sum',          decimals: 2        }, {          name: 'quantity',          type: 'sum',          decimals: 1        }],        column: [{          label: '客户名称',          cell: true,          width: 300,          prop: 'fleetId',          type: "select",          cascader: ['plateNo'],          props: {            label: "fleetName",            value: "fleetId"          },          change:(data)=>{            data.row.plateNo = ''          }        },          //   {          //   label: '客户名称',          //   slot: true,          //   width: 300,          //   prop: 'corpId'          // },          {            label: '车号',            cell: true,            prop: 'plateNo',            type: "select",            props: {              label: "label",              value: "label"            }          }, {            label: '费用名称',            slot: true,            width: 200,            prop: 'feeId'          }, {            label: '计价单位',            cell: true,            prop: 'unit',            type: "select",            dicUrl: "/api/blade-system/dict-biz/dictionary?code=unit",            props: {              label: "dictValue",              value: "dictKey"            }          }, {            label: '单价',            cell: true,            controls: false,            type: 'number',            prop: 'price',          }, {            label: '数量',            cell: true,            controls: false,            type: 'number',            prop: 'quantity'          }, {            label: '金额',            cell: true,            controls: false,            type: 'number',            prop: 'amount'          }, {            label: '税率',            cell: true,            prop: 'taxRate'          }, {            label: '币别',            cell: true,            prop: 'currency',            type: "select",            dicUrl: "/api/blade-system/dict-biz/dictionary?code=currency",            props: {              label: "dictValue",              value: "dictKey"            },          },        ]      }    };  },  async created() {    this.entrustOptionTwoT = await this.getColumnData(this.getColumnName(86.1), this.entrustOptionTwoTBackup);    this.collectionOption = await this.getColumnData(this.getColumnName(86.4), this.collectionOptionBackup);    this.paymentOption = await this.getColumnData(this.getColumnName(86.5), this.paymentOptionBackup);    this.findObject(this.paymentOption.column, "fleetId").dicUrl = "/api/blade-land/order-fee/fleet?orderId=" + this.id    this.findObject(this.paymentOption.column, "plateNo").dicUrl = "api/blade-land/order-fee/plate-no?orderId=" + this.id + '&fleetId={{key}}'    this.findObject(this.paymentOption.column, "plateNo").dicFormatter = (data)=>{      let list = []      data.data.forEach(ele=>{        list.push({label:ele})      })      return list    }    this.findObject(this.collectionOption.column, "price").change = (data) => {      if (data.row.price && data.row.quantity) {        data.row.amount = Number(data.row.price) * Number(data.row.quantity)      }    }    this.findObject(this.collectionOption.column, "quantity").change = (data) => {      if (data.row.price && data.row.quantity) {        data.row.amount = Number(data.row.price) * Number(data.row.quantity)      }    }    this.findObject(this.paymentOption.column, "price").change = (data) => {      if (data.row.price && data.row.quantity) {        data.row.amount = Number(data.row.price) * Number(data.row.quantity)      }    }    this.findObject(this.paymentOption.column, "quantity").change = (data) => {      if (data.row.price && data.row.quantity) {        data.row.amount = Number(data.row.price) * Number(data.row.quantity)      }    }    this.KeyBoxTwo++    if (this.id) {      detailDelegationList({id: this.id, kind: '2'}).then(res => {        this.goodsForm = res.data.data        this.tableData = res.data.data.orderAddressList        this.entrustList = res.data.data.orderItemList        this.goodsList = res.data.data.orderItemList        this.orderFilesList = res.data.data.fileList        if (res.data.data.orderFeeList.length > 0) {          res.data.data.orderFeeList.forEach(item => {            if (item.type == 1) {              this.collectionList.push(item)            } else {              this.paymentList.push(item)            }          })        }        delete this.goodsForm.orderAddressList        delete this.goodsForm.orderItemList        delete this.goodsForm.orderFeeList        // this.tableData.forEach(item => {        //   if (item.region) item.region = item.region.split(',')        // })        if (this.roleNameTwo.indexOf('总调度') !== -1){          this.entrustOptionTwoT.menu = false          this.collectionOption.menu = false          this.paymentOption.menu = false        }      })    }    queryVehicle({orderId: this.id}).then(res => {      const column = this.findObject(this.collectionOption.column, "plateNo");      column.dicData = []      res.data.data.forEach(item => {        column.dicData.push({label: item})      })      this.key++    });    // this.findObject(this.paymentOption.column, "plateNo").change = (data) => {    //   const columnTwo = this.findObject(this.paymentOption.column, "plateNo");    //   columnTwo.dicData = []    //   queryVehicle({orderId: this.id,fleetId:data.row.fleetId}).then(res => {    //     res.data.data.forEach(item => {    //       columnTwo.dicData.push({label: item})    //     })    //   });    //   this.key++    // }    this.$refs.other.show = false    // 非租户模式默认加载管理组数据    if (!website.tenantMode) {      this.initData(website.tenantId);    } else {      this.initData();    }  },  methods: {    schedulingFileSaving(){      this.c_button = true      conserveDispatch({        fileList:this.orderFilesList,        id:this.goodsForm.id      }).then(res=>{        checkAttachment({id:this.goodsForm.id}).then(res=>{          this.orderFilesList = res.data.data          this.c_button = false        })      })    },    openTrack(row){      gaude({itemId: row.id,plateNo:row.plateNo,tenantId:'234557',color:'2'}).then(res => {        this.lineArr = res.data.data.trackArray        this.dialogVisibleTwo = true        let this_=this        setTimeout(function(){          this_.$refs.playback.initMap();        },100)      })      // location({itemId: row.id,plateNo:'陕YH0008'}).then(res => {      //   // console.log(res.data.data)      //   // console.log(this.lineArr[this.lineArr.length - 1])      // })    },    //自定义列保存    async saveColumnBoxTwo() {      /**       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码       */      const inSave = await this.saveColumnData(this.getColumnName(86.1), this.entrustOptionTwoT);      if (inSave) {        this.$message.success("保存成功");        //关闭窗口        this.$refs.crudBoxTwo.$refs.dialogColumn.columnBox = false;      }    },    //自定义列重置    async resetColumnBoxTwo() {      this.entrustOptionTwoT = this.entrustOptionTwoTBackup;      const inSave = await this.delColumnData(this.getColumnName(86.1), this.entrustOptionTwoTBackup);      if (inSave) {        this.$message.success("重置成功");        this.$refs.crudBoxTwo.$refs.dialogColumn.columnBox = false;      }      if (this.roleNameTwo.indexOf('总调度') !== -1){        this.entrustOptionTwoT.menu = false        this.collectionOption.menu = false        this.paymentOption.menu = false      }    },    //自定义列保存    async saveColumnCollection() {      /**       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码       */      const inSave = await this.saveColumnData(this.getColumnName(86.4), this.collectionOption);      if (inSave) {        this.$message.success("保存成功");        //关闭窗口        this.$refs.collection.$refs.dialogColumn.columnBox = false;      }    },    //自定义列重置    async resetColumnCollection() {      this.collectionOption = this.collectionOptionBackup;      const inSave = await this.delColumnData(this.getColumnName(86.4), this.collectionOptionBackup);      if (inSave) {        this.$message.success("重置成功");        this.$refs.collection.$refs.dialogColumn.columnBox = false;      }    },    //自定义列保存    async saveColumnPayment() {      /**       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码       */      const inSave = await this.saveColumnData(this.getColumnName(86.5), this.paymentOption);      if (inSave) {        this.findObject(this.paymentOption.column, "fleetId").dicUrl = "/api/blade-land/order-fee/fleet?orderId=" + this.id        this.findObject(this.paymentOption.column, "plateNo").dicUrl = "api/blade-land/order-fee/plate-no?orderId=" + this.id + '&fleetId={{key}}'        this.$message.success("保存成功");        //关闭窗口        this.$refs.payment.$refs.dialogColumn.columnBox = false;      }    },    //自定义列重置    async resetColumnPayment() {      this.paymentOption = this.paymentOptionBackup;      const inSave = await this.delColumnData(this.getColumnName(86.5), this.paymentOptionBackup);      if (inSave) {        this.$message.success("重置成功");        this.findObject(this.paymentOption.column, "fleetId").dicUrl = "/api/blade-land/order-fee/fleet?orderId=" + this.id        this.findObject(this.paymentOption.column, "plateNo").dicUrl = "api/blade-land/order-fee/plate-no?orderId=" + this.id + '&fleetId={{key}}'        this.$refs.payment.$refs.dialogColumn.columnBox = false;      }    },    //打开附件    annexOpen(row, index) {      this.enclosure = true      this.formAnnex = row      getFee({id: row.id}).then(res => {        this.orderList = res.data.data      })    },    //保存    saveAnnex() {      saveFile({        id: this.formAnnex.id,        fileList: this.orderList      }).then(res => {        this.$message.success("保存成功");        this.annexOpen(this.formAnnex)      })    },    getCorpData(val) {      this.formData.fleetName = val.cname    },    confirmChange() {      changeFleet({        ...this.formData,        id: this.formDataList.id,        orderId: this.goodsForm.id,        originalFleetName: this.formDataList.fleetName      }).then(res => {        this.$refs.saveForm.resetForm()        this.entrustList = res.data.data        this.dialogChange = false        this.$message.success("变更成功");      })    },    //查询业务部门    initData(tenantId) {      getDeptTree(tenantId).then(res => {        const column = this.findObject(this.goodsOptionForm.column, "salesmanDept");        column.dicData = res.data.data;      });    },    //多选触发    selectionChange(list) {      this.selectionList = list    },    //批量调度    batchScheduling() {      this.form = {}      this.dialogVisible = true    },    //提交调度    saveScheduling() {      this.$refs['form'].validate((valid, done) => {        done()        if (valid) {          let data = []          this.$confirm('是否确认调度?', '提示', {            confirmButtonText: '确定',            cancelButtonText: '取消',            type: 'warning'          }).then(() => {            this.selectionList.forEach(item => data.push(item.id))            dispatchBatch({              ...this.form,              idList: data,              orderId: this.goodsForm.id            }).then(res => {              this.entrustList = res.data.data              this.dialogVisible = false            })          }).catch(() => {            this.$message({              type: 'info',              message: '已取消'            });          });        } else {          return false        }      })    },    //刷新数据    refreshData() {      detailDelegationList({id: this.id, kind: '2'}).then(res => {        this.goodsForm = res.data.data        this.tableData = res.data.data.orderAddressList        this.entrustList = res.data.data.orderItemList        this.goodsList = res.data.data.orderItemList        this.orderFilesList = res.data.data.fileList        if (res.data.data.orderFeeList.length > 0) {          res.data.data.orderFeeList.forEach(item => {            if (item.type == 1) {              this.collectionList.push(item)            } else {              this.paymentList.push(item)            }          })        }        delete this.goodsForm.orderAddressList        delete this.goodsForm.orderItemList        delete this.goodsForm.orderFeeList        // this.tableData.forEach(item => {        //   if (item.region) item.region = item.region.split(',')        // })      })    },    //切换收付费    handleSelect(tab, event) {      this.activeIndex = tab.name    },    //箱信息保存    rowSaveT(row, index, done, loading) {      if (row.$cellEdit) {        fleetDriverSave(row).then(res => {          this.$message.success("保存成功");        })      }      this.$refs.crudBoxTwo.rowCell(row, index)    },    //调度并且派车    rowSaveThree(row, index, done, loading) {      if (row.$cellEdit) {        if (!row.plateNo) {          return this.$message.warning('未选择车号,请选择');        }        if (!row.fleetId){          return this.$message.warning('请选择车队');        }        this.$confirm('是否确定调度派车', '提示', {          confirmButtonText: '确定',          cancelButtonText: '取消',          type: 'warning'        }).then(() => {          sendACarCollection(row).then(res => {            this.$message.success('操作成功');            this.refreshData()          })        }).catch(() => {          this.$message({            type: 'info',            message: '已取消'          });        });        this.$refs.crudBoxTwo.rowCell(row, index)      }else {        this.entrustOptionTwoT.column.forEach(item=>{          if (item.prop === 'plateNo'){            item.cell = true          }        })        this.$refs.crudBoxTwo.rowCell(row, index)      }    },    rowSaveWell(row, index, done, loading) {      done()    },    //箱信息调度    designate(row, index) {      if (row.fleetId) {        this.$confirm('是否确定调度', '提示', {          confirmButtonText: '确定',          cancelButtonText: '取消',          type: 'warning'        }).then(() => {          dispatchCollection(row).then(res => {            this.$message.success('操作成功');            this.entrustList[index].status = res.data.data.status          })        }).catch(() => {          this.$message({            type: 'info',            message: '已取消'          });        });      } else {        this.$message.warning('请选择车队');      }    },    //变更车队    changeFleetT(row, index) {      this.formDataList = row      this.dialogChange = true      this.formData = row    },    //打开变更记录    recordsOfChanges(row, index) {      this.dialogRecord = true      recordingDetails({itemId: row.id, kind: 2}).then(res => {        this.dataRecord = res.data.data      })    },    //取消调度    cancelDesignate(row, index) {      this.$confirm('是否确定取消调度', '提示', {        confirmButtonText: '确定',        cancelButtonText: '取消',        type: 'warning'      }).then(() => {        cancelDispatchCollection({id: row.id}).then(res => {          this.$message.success('操作成功');          this.entrustList[index].status = res.data.data.status        })      }).catch(() => {        this.$message({          type: 'info',          message: '已取消'        });      });    },    //箱信息选择车队    getfleetIdT(data, row) {      this.$set(row, 'fleetName', data.cname)      console.log(this.$refs.crudBoxTwo)      // this.$refs.crudBoxTwo.handleChange({      //   label: '车队',      //   width: 200,      //   index: 5,      //   prop: 'fleetId',      //   cascader: ['plateNo'],      // },row)    },    //地址新增    addAddress() {      this.tableData.splice(this.tableData.length - 1, 0, {leas: 1111})    },    //返回主列表    backToList(value) {      if (value === 0) {        this.$emit('backToList')      } else if (value === 1) {        this.$emit('backToList', true)      } else if (value === 2) {        this.$router.push({          path: '/landTransportation/reportAnalysis/index'        });      }    },    //删除途径地址    deleteAddress(scope) {      this.tableData.splice(scope.$index, 1);    },    //箱信息保存    rowSave(row, index, done, loading) {      row.$cellEdit = false      done()    },    rowCell(row, index) {      if (row.$cellEdit) {        if (row.plateNo) {          if (row.feeId){            incidentalSubmit(row).then(res => {              this.$refs.collection.rowCell(row, index)              row = res.data.data              this.$message.success("保存成功");            })          }else {            this.$message.error("请选择费用名称");          }        } else {          this.$message.error("请选择车号");        }      } else {        this.$refs.collection.rowCell(row, index)      }    },    paymentRowCell(row, index) {      if (row.$cellEdit) {        if (row.plateNo) {          if (row.feeId){            incidentalSubmit(row).then(res => {              row = res.data.data              this.$message.success("保存成功");            })          }else {            this.$message.error("请选择费用名称");          }        } else {          this.$message.error("请选择车号");        }      } else {        this.$refs.payment.rowCell(row, index)      }    },    //箱信息移除    rowDel(row, index) {      this.$confirm('此操作将永久删除该单据, 是否继续?', '提示', {        confirmButtonText: '确定',        cancelButtonText: '取消',        type: 'warning'      }).then(() => {        this.entrustList.splice(index, 1);      }).catch(() => {        this.$message({          type: 'info',          message: '已取消删除'        });      });    },    //保存    editCustomer() {      let data = JSON.parse(JSON.stringify(this.tableData))      // data.forEach(item => {      //   if (item.region.length !== 0) item.region = item.region.join(',')      // })      saveDelegationList({        ...this.goodsForm,        kind: '2',        orderAddressList: data,        orderItemList: this.entrustList,        orderFeeList: this.collectionList.concat(this.paymentList)      }).then(res => {        this.$message.success('保存成功');      })    },    //收费新增    addRowCollection() {      customerList({size: 10, current: 1}).then(res => {        this.$refs.collection.rowCellAdd({          currency: '1',          type: '1',          feeId: res.data.data.records.length > 0 ? res.data.data.records[0].id : '',          unit: '件数',          corpId: this.goodsForm.corpId,          quantity: 1,          orderId: this.id,          $cellEdit: true        });      })    },    //付费新增    addRowPayment() {      customerList({size: 10, current: 1}).then(res => {        this.$refs.payment.rowCellAdd({          currency: '1',          type: '2',          feeId: res.data.data.records.length > 0 ? res.data.data.records[0].id : '',          unit: '件数',          quantity: 1,          // corpId: '1526835847238901762',          orderId: this.id,          $cellEdit: true        });      })    },    //选择费用    selectValue(value, row) {      this.$set(row, 'feeName', value.cname)    },    //选择客户信息触发    getfleetId(data, row) {      this.$set(row, 'corpName', data.cname)    },    //收款信息移除    makeDel(row, index) {      this.$confirm('此操作将永久删除该单据, 是否继续?', '提示', {        confirmButtonText: '确定',        cancelButtonText: '取消',        type: 'warning'      }).then(() => {        if (row.id) removeCollection(row.id)        this.collectionList.splice(index, 1);      }).catch(() => {        this.$message({          type: 'info',          message: '已取消删除'        });      });    },    //付款信息移除    feeDel(row, index) {      this.$confirm('此操作将永久删除该单据, 是否继续?', '提示', {        confirmButtonText: '确定',        cancelButtonText: '取消',        type: 'warning'      }).then(() => {        if (row.id) removeCollection(row.id)        this.paymentList.splice(index, 1);      }).catch(() => {        this.$message({          type: 'info',          message: '已取消删除'        });      });    },    //自定义表头    renderHeader(h) {      return (          <div>            <el-tooltip className="item" effect="dark" content="增加途径地址" placement="top">              <el-button type="primary" icon="el-icon-plus" size="mini" circle onClick={() => this.addAddress()}                         style="margin-right: 1.25rem;"></el-button>            </el-tooltip>          </div>      )    }  }}</script><style scoped lang="scss">::v-deep .el-form-item {  margin-bottom: 8px;}::v-deep .el-form-item__content {  line-height: 32px;}::v-deep .el-card__body {  padding: 10px 15px;  font-size: 14px;}</style>
 |