| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461 | <template>  <div class="app-container">    <el-form      :model="queryParams"      ref="queryForm"      :inline="true"      v-show="showSearch"      label-width="88px"    >      <el-form-item label="业务编号" prop="fBillno">        <el-input          v-model="queryParams.fBillno"          placeholder="请输入业务编号"          clearable          size="small"          @keyup.enter.native="handleQuery"        />      </el-form-item>      <el-form-item label="制单人" prop="createBy">        <el-select          v-model="queryParams.createBy"          filterable          remote          clearable          style="width: 250px"          :remote-method="userRemoteMethod"          placeholder="请选择制单人"        >          <el-option            v-for="(dict, index) in userOptions"            :key="index.userName"            :label="dict.nickName"            :value="dict.userName"          ></el-option>        </el-select>      </el-form-item>      <el-form-item label="货转日期" prop="fBsdate">        <el-date-picker          v-model="queryParams.timeInterval"          type="daterange"          value-format="yyyy-MM-dd"          clearable          range-separator="至"          start-placeholder="开始日期"          end-placeholder="结束日期"          @keyup.enter.native="handleQuery">        </el-date-picker>      </el-form-item>      <el-form-item label="贸易方式" prop="fTrademodeid">        <el-select          v-model="queryParams.fTrademodeid"          placeholder="请选择贸易方式"          clearable          style="width: 250px"          @keyup.enter.native="handleQuery"        >          <el-option            v-for="(dict, index) in fTrademodeidOptions"            :key="index.dictValue"            :label="dict.dictLabel"            :value="dict.dictValue"          />        </el-select>      </el-form-item>      <el-form-item label="货权方" prop="fCorpid">        <el-select          v-model="queryParams.fCorpid"          filterable          remote          clearable          style="width: 250px"          @keyup.enter.native="handleQuery"          :remote-method="corpsRemoteMethod"          placeholder="请选择货权方"        >          <el-option            v-for="(dict, index) in fMblnoOptions"            :key="index.fId"            :label="dict.fName"            :value="dict.fId"          ></el-option>        </el-select>      </el-form-item>      <el-form-item label="提单号" prop="fMblno">        <el-input          v-model="queryParams.fMblno"          placeholder="请输入提单号"          clearable          size="small"          @keyup.enter.native="handleQuery"        />      </el-form-item>      <el-form-item label="经营单位" prop="fSbu">        <el-select          v-model="queryParams.fSbu"          filterable          remote          clearable          :remote-method="fSbuRemoteMethod"          @keyup.enter.native="handleQuery"          style="width: 250px"          placeholder="请选择经营单位"        >          <el-option            v-for="(dict, index) in fSbuOptions"            :key="index.fId"            :label="dict.fName"            :value="dict.fId"          ></el-option>        </el-select>      </el-form-item>      <el-form-item label="货物名称" prop="fGoodsid">        <el-select          v-model="queryParams.fGoodsid"          filterable          remote          clearable          :remote-method="goodsRemoteMethod"          @keyup.enter.native="handleQuery"          placeholder="请选择货物名称"        >          <el-option            v-for="(dict, index) in goodsOptions"            :key="index.fId"            :label="dict.fName"            :value="dict.fId"          ></el-option>        </el-select>      </el-form-item>      <el-form-item label="仓库" prop="fWarehouseid">        <el-select          v-model="queryParams.fWarehouseid"          filterable          :disabled="browseStatus"          remote          clearable          style="width: 250px"          :remote-method="warehouseRemoteMethod"          @keyup.enter.native="handleQuery"          placeholder="请选择仓库"        >          <el-option            v-for="(dict, index) in warehouseOptions"            :key="index.fId"            :label="dict.fName"            :value="dict.fId"          ></el-option>        </el-select>      </el-form-item>      <el-form-item>        <el-button          type="cyan"          icon="el-icon-search"          size="mini"          @click="handleQuery"          >搜索        </el-button>        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"          >重置        </el-button>      </el-form-item>    </el-form>    <el-row :gutter="10" class="mb8">      <el-col :span="1.5">        <el-button          type="primary"          icon="el-icon-plus"          size="mini"          @click="handleAdd"          v-hasPermi="['warehouseBusiness:goodsTransfer:add']"          >新增        </el-button>      </el-col>      <el-col :span="1.5">        <el-button          type="success"          icon="el-icon-edit"          size="mini"          :disabled="single"          @click="handleUpdate"          v-hasPermi="['warehouseBusiness:goodsTransfer:edit']"          >修改        </el-button>      </el-col>      <el-col :span="1.5">        <el-button          type="danger"          icon="el-icon-delete"          size="mini"          :disabled="multiple"          @click="handleDelete"          v-hasPermi="['warehouseBusiness:goodsTransfer:remove']"          >删除        </el-button>      </el-col>      <el-col :span="1.5">        <el-button          type="warning"          icon="el-icon-download"          size="mini"          @click="handleExport"          v-hasPermi="['warehouseBusiness:goodsTransfer:export']"          >导出        </el-button>      </el-col>      <right-toolbar        :showSearch.sync="showSearch"        @queryTable="getList"      ></right-toolbar>    </el-row>    <el-table      v-loading="loading"      :data="goodsTransferList"      @selection-change="handleSelectionChange"    >      <el-table-column type="selection" width="55" align="center" />      <el-table-column type="index" label="行号" align="center" />      <el-table-column label="货权方" align="center" prop="fCorpid" />      <el-table-column label="转货权方" align="center" prop="fTocorpid" />      <el-table-column label="提单号" align="center" prop="fMblno" />      <el-table-column label="经营单位" align="center" prop="fSbu" />      <el-table-column        label="货转日期"        align="center"        prop="fBsdate"        width="180"        ><template slot-scope="scope">          <span>{{ parseTime(scope.row.fBsdate, "{y}-{m}-{d}") }}</span>        </template>      </el-table-column>      <el-table-column        label="贸易方式"        align="center"        prop="fTrademodeid"        :formatter="fTrademodeidFormat"      />      <el-table-column label="仓库" align="center" prop="fWarehouseid" />      <el-table-column label="件数" align="center" prop="fQty" />      <el-table-column label="毛重" align="center" prop="fGrossweight" />      <el-table-column label="净重" align="center" prop="fNetweight" />      <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-edit"            @click="handleUpdate(scope.row, true)"            v-hasPermi="['warehouseBusiness:goodsTransfer:edit']"            >查看          </el-button>          <el-button            size="mini"            type="text"            icon="el-icon-edit"            @click="handleUpdate(scope.row, false)"            v-hasPermi="['warehouseBusiness:goodsTransfer:edit']"            >修改          </el-button>          <el-button            size="mini"            type="text"            icon="el-icon-delete"            v-if="scope.row.fBillstatus !== '6'"            @click="handleDelete(scope.row)"            v-hasPermi="['warehouseBusiness:goodsTransfer:remove']"            >删除          </el-button>        </template>      </el-table-column>    </el-table>    <pagination      v-show="total > 0"      :total="total"      :page.sync="queryParams.pageNum"      :limit.sync="queryParams.pageSize"      @pagination="getList"    />    <!-- 添加或修改仓库主(出入库)对话框 -->    <el-dialog      :title="title"      :visible.sync="open"      :close-on-click-modal="false"      width="80%"      append-to-body    >      <el-form        style="height: 300px"        ref="form"        :model="form"        :rules="rules"        label-width="120px"      >        <el-row>          <el-col :span="8">            <el-form-item label="货权方" prop="fCorpid">              <el-select                v-model="form.fCorpid"                filterable                remote                :disabled="browseStatus"                style="width: 250px"                :remote-method="corpsRemoteMethod"                placeholder="请选择货权方"              >                <el-option                  v-for="(dict,index) in fMblnoOptions"                  :key="index.fId"                  :label="dict.fName"                  :value="dict.fId"                ></el-option>              </el-select>            </el-form-item>          </el-col>          <el-col :span="8">            <el-form-item label="新货权方" prop="fTocorpid">              <el-select                v-model="form.fTocorpid"                filterable                remote                :disabled="browseStatus"                style="width: 250px"                :remote-method="corpsRemoteMethod"                placeholder="请选择新货权方"              >                <el-option                  v-for="(dict,index) in fMblnoOptions"                  :key="index.fId"                  :label="dict.fName"                  :value="dict.fId"                ></el-option>              </el-select>            </el-form-item>          </el-col>          <el-col :span="8">            <el-form-item label="制单人" prop="createBy">              <el-input                disabled                v-model="form.createBy"                style="width: 250px"                placeholder="制单人"              />            </el-form-item>          </el-col>          <el-col :span="8">            <el-form-item label="制单部门" prop="fDeptid">              <el-select                v-model="form.fDeptid"                filterable                disabled                style="width: 250px"                remote              >                <el-option                  v-for="(dict,index) in deptOptions"                  :key="index.deptId"                  :label="dict.deptName"                  :value="dict.deptId"                ></el-option>              </el-select>            </el-form-item>          </el-col>          <el-col :span="8">            <el-form-item label="货转日期" prop="fBsdate">              <el-date-picker                v-model="form.fBsdate"                style="width: 250px"                type="date"                :disabled="browseStatus"                value-format="timestamp"                placeholder="货转日期"              >              </el-date-picker>            </el-form-item>          </el-col>          <el-col :span="8">            <el-form-item label="仓储计费日期" prop="fChargedate">              <el-date-picker                v-model="form.fChargedate"                style="width: 250px"                type="date"                :disabled="browseStatus"                value-format="timestamp"                placeholder="仓储计费日期"              >              </el-date-picker>            </el-form-item>          </el-col>        </el-row>        <el-row>          <el-col :span="8">            <el-form-item label="结算方式" prop="fStltypeid">              <el-select                v-model="form.fStltypeid"                placeholder="请选择结算方式"                clearable                :disabled="browseStatus"                style="width: 250px"              >                <el-option                  v-for="(dict,index) in fStltypeOptions"                  :key="index.dictValue"                  :label="dict.dictLabel"                  :value="dict.dictValue"                />              </el-select>            </el-form-item>          </el-col>          <el-col :span="8">            <el-form-item label="计费单位" prop="fFeetunit">              <el-select                v-model="form.fFeetunit"                placeholder="请选择计费单位"                clearable                :disabled="browseStatus"                style="width: 250px"              >                <el-option                  v-for="(dict,index) in fFeetunitOptions"                  :key="index.dictValue"                  :label="dict.dictLabel"                  :value="dict.dictValue"                />              </el-select>            </el-form-item>          </el-col>          <el-col :span="8">            <el-form-item label="贸易方式" prop="fTrademodeid">              <el-select                v-model="form.fTrademodeid"                placeholder="请选择贸易方式"                clearable                :disabled="browseStatus"                style="width: 250px"              >                <el-option                  v-for="(dict,index) in fTrademodeidOptions"                  :key="index.dictValue"                  :label="dict.dictLabel"                  :value="dict.dictValue"                />              </el-select>            </el-form-item>          </el-col>        </el-row>        <el-row>          <el-col :span="8">            <el-form-item label="提单号" prop="fMblno">              <el-input                v-model="form.fMblno"                :disabled="browseStatus"                style="width: 250px"                placeholder="手工输入"              />            </el-form-item>          </el-col>          <el-col :span="8">            <el-form-item label="原始入库单号" prop="fOriginalbillno">              <el-input                v-model="form.fOriginalbillno"                style="width: 250px"                :disabled="browseStatus"                placeholder="原始入库单号"              />            </el-form-item>          </el-col>          <el-col :span="8">            <el-form-item label="原始入库日期" prop="orgStorageDate">              <el-date-picker                v-model="orgStorageDate"                type="daterange"                value-format="yyyy-MM-dd"                range-separator="至"                :disabled="browseStatus"                start-placeholder="开始日期"                end-placeholder="结束日期">              </el-date-picker>            </el-form-item>          </el-col>        </el-row>        <el-row>          <el-col :span="8">            <el-form-item label="仓库" prop="fWarehouseid">              <el-select                v-model="form.fWarehouseid"                filterable                :disabled="browseStatus"                remote                style="width: 250px"                :remote-method="warehouseRemoteMethod"                placeholder="请选择仓库"              >                <el-option                  v-for="(dict,index) in warehouseOptions"                  :key="index.fId"                  :label="dict.fName"                  :value="dict.fId"                ></el-option>              </el-select>            </el-form-item>          </el-col>        </el-row>      </el-form>      <div class="dialogTableTitle flex a-center jlr">        <h2>库存明细</h2>        <el-button :disabled="browseStatus" @click.prevent="addRelevant()">显示库存</el-button>      </div>      <el-table        :data="dataList"        ref="table"        tooltip-effect="dark"        border        stripe        :summary-method="getSummaries"        show-summary      >        <el-table-column label="序号" type="index" width="80">        </el-table-column>        <el-table-column          prop="fGoodsids"          header-align="center"          align="center"          width="140px"          label="品名"        >        </el-table-column>        <el-table-column          prop="fMarks"          header-align="center"          align="center"          width="140px"          label="唛头"        >        </el-table-column>        <el-table-column          prop="fMblno"          header-align="center"          align="center"          width="140px"          label="提单号"        >        </el-table-column>        <el-table-column          prop="fOriginalbillno"          header-align="center"          align="center"          width="140px"          label="原始入库单号"        >        </el-table-column>        <el-table-column          prop="fWarehouselocids"          header-align="center"          width="150px"          align="center"          label="库区"        >        </el-table-column>        <el-table-column          prop="fPlanqty"          header-align="center"          align="center"          width="180px"          label="库存件数"        >        </el-table-column>        <el-table-column          prop="fPlangrossweight"          header-align="center"          align="center"          width="180px"          label="库存毛重"        >        </el-table-column>        <el-table-column          prop="fQty"          header-align="center"          width="180px"          align="center"          label="货转件数"        >          <template slot-scope="scope">            <el-input              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'              v-model="scope.row.fQty"              placeholder="货转件数"              :disabled="browseStatus"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fGrossweight"          header-align="center"          width="180px"          align="center"          label="货转毛重"        >          <template slot-scope="scope">            <el-input              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/, "$1$2.$3")'              v-model="scope.row.fGrossweight"              placeholder="货转毛重"              :disabled="browseStatus"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fCntqty"          header-align="center"          width="180px"          align="center"          label="箱量"        >          <template slot-scope="scope">            <el-input              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'              v-model="scope.row.fCntqty"              placeholder="箱量"              :disabled="browseStatus"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fPackagespecs"          header-align="center"          width="180px"          align="center"          label="包装规格"        >          <template slot-scope="scope">            <el-input              oninput="value=value.replace(/[^\d.]/g,'')"              v-model="scope.row.fPackagespecs"              :disabled="browseStatus"              placeholder="包装规格"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fGoodsval"          header-align="center"          width="150px"          align="center"          label="货值"        >          <template slot-scope="scope">            <el-input              oninput="value=value.replace(/[^\d.]/g,'')"              v-model="scope.row.fGoodsval"              placeholder="货值"              :disabled="browseStatus"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="remark"          header-align="center"          width="150px"          align="center"          label="备注"        >          <template slot-scope="scope">            <el-input              v-model="scope.row.remark"              placeholder="备注"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          header-align="center"          align="center"          label="操作"          width="130PX"        >          <template slot-scope="scope">            <el-button              @click.native.prevent="deleteRow(scope.$index, dataList)"              size="small"              >移除</el-button            >          </template>        </el-table-column>      </el-table>      <div class="dialogTableTitle flex a-center jlr">        <h2>附件上传</h2>        <el-button :disabled="browseStatus" @click.prevent="addRelevt()"          >添加        </el-button>      </div>      <el-table        :data="relevantAttachments"        ref="table"        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="fName"          header-align="center"          align="center"          label="附件名称"        >          <template slot-scope="scope">            <el-input              v-model="scope.row.fName"              :disabled="browseStatus"              placeholder="附件名称"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="createBy"          header-align="center"          align="center"          label="上传人"        >          <template slot-scope="scope">            <el-input              v-model="scope.row.createBy"              :disabled="browseStatus"              placeholder="上传人"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="createTime"          header-align="center"          align="center"          label="上传时间"        >          <template slot-scope="scope">            <el-date-picker              v-model="scope.row.createTime"              type="date"              disabled              placeholder="上传时间"              format="yyyy-MM-dd HH:mm"              value-format="timestamp"            ></el-date-picker>          </template>        </el-table-column>        <el-table-column          prop="fUrl"          header-align="center"          align="center"          width="250PX"          label="上传附件"        >          <template slot-scope="scope">            <uploadFile @input="showFile" v-model="scope.row.fUrl" />          </template>        </el-table-column>        <el-table-column          header-align="center"          align="center"          label="操作"          width="130PX"        >          <template slot-scope="scope">            <el-button              @click.native.prevent="                deleteRow(scope.$index, relevantAttachments)              "              :disabled="browseStatus"              size="small"              >移除            </el-button>          </template>        </el-table-column>      </el-table>      <div class="dialogTableTitle flex a-center jlr">        <h2>收款信息</h2>        <el-button :disabled="browseStatus" @click.prevent="addCollection()"          >添加        </el-button>      </div>      <el-table        :data="warehouseDrList"        ref="table"        tooltip-effect="dark"        border        stripe        :summary-method="warehouseDrSummaries"        show-summary      >        <el-table-column label="序号" type="index" width="80">        </el-table-column>        <el-table-column          prop="fCorpid"          header-align="center"          align="center"          width="180px"          label="客户名称"        >          <template slot-scope="scope">            <el-select              v-model="scope.row.fCorpid"              filterable              remote              :disabled="browseStatus"              :remote-method="corpsRemoteMethod"              placeholder="客户名称"            >              <el-option                v-for="(dict,index) in KHblnoOptions"                :key="index.fId"                :label="dict.fName"                :value="dict.fId"              ></el-option>            </el-select>          </template>        </el-table-column>        <el-table-column          prop="fFeeid"          header-align="center"          align="center"          width="180px"          label="费用名称"        >          <template slot-scope="scope">            <el-select              :disabled="browseStatus"              v-model="scope.row.fFeeid"              filterable              remote              :remote-method="fWRemoteMethod"              placeholder="费用名称"            >              <el-option                v-for="(dict,index) in fWbuOptions"                :key="index.fId"                :label="dict.fName"                :value="dict.fId"              ></el-option>            </el-select>          </template>        </el-table-column>        <el-table-column          prop="fFeeunitid"          header-align="center"          align="center"          width="180px"          label="计价单位"        >          <template slot-scope="scope">            <el-select              v-model="scope.row.fFeeUnitid"              placeholder="请选择计价单位"              :disabled="browseStatus"              @change="changeFeeUnit(scope.row)"              clearable            >              <el-option                v-for="(dict,index) in jFeetunitOptions"                :key="index.dictValue"                :label="dict.dictLabel"                :value="dict.dictValue"              />            </el-select>          </template>        </el-table-column>        <el-table-column          prop="fQty"          header-align="center"          align="center"          width="150px"          label="数量"        >          <template slot-scope="scope">            <el-input              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'              v-model="scope.row.fQty"              placeholder="数量"              :disabled="browseStatus"              @change="changeEstmateAmt(scope.row)"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fUnitprice"          header-align="center"          align="center"          width="150px"          label="单价"        >          <template slot-scope="scope">            <el-input              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'              v-model="scope.row.fUnitprice"              placeholder="单价"              :disabled="browseStatus"              @change="changeContractAmt(scope.row)"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fAmount"          header-align="center"          align="center"          width="150px"          label="金额"        >          <template slot-scope="scope">            <el-input              disabled              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'              v-model="scope.row.fAmount"              placeholder="金额"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fCurrency"          header-align="center"          align="center"          width="150px"          label="币别"        >          <template slot-scope="scope">            <el-input              v-model="scope.row.fCurrency"              :disabled="browseStatus"              placeholder="币别"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fExrate"          header-align="center"          align="center"          width="150px"          label="汇率"        >          <template slot-scope="scope">            <el-input              v-model="scope.row.fExrate"              :disabled="browseStatus"              placeholder="汇率"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fTaxrate"          header-align="center"          align="center"          width="150px"          label="税率"        >          <template slot-scope="scope">            <el-input              v-model="scope.row.fTaxrate"              :disabled="browseStatus"              placeholder="税率"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="remarks"          header-align="center"          align="center"          width="150px"          label="备注"        >          <template slot-scope="scope">            <el-input              v-model="scope.row.remarks"              :disabled="browseStatus"              placeholder="备注"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          header-align="center"          align="center"          label="操作"          width="150px"        >          <template slot-scope="scope">            <el-button size="small">审核费用</el-button>            <el-button              @click.native.prevent="deleteRow(scope.$index, warehouseDrList)"              size="small"              >移除</el-button            >          </template>        </el-table-column>      </el-table>      <div class="dialogTableTitle flex a-center jlr">        <h2>付款信息</h2>        <el-button :disabled="browseStatus" @click.prevent="addpayment()"          >添加        </el-button>      </div>      <el-table        :data="warehouseCrList"        ref="table"        tooltip-effect="dark"        border        stripe        :summary-method="warehouseDrSummaries"        show-summary      >        <el-table-column label="序号" type="index" width="80">        </el-table-column>        <el-table-column          prop="fCorpid"          header-align="center"          align="center"          width="180px"          label="客户名称"        >          <template slot-scope="scope">            <el-select              v-model="scope.row.fCorpid"              filterable              remote              :disabled="browseStatus"              :remote-method="corpsRemoteMethod"              placeholder="客户名称"            >              <el-option                v-for="(dict, index) in KHblnoOptions"                :key="index.fId"                :label="dict.fName"                :value="dict.fId"              ></el-option>            </el-select>          </template>        </el-table-column>        <el-table-column          prop="fFeeid"          header-align="center"          align="center"          width="180px"          label="费用名称"        >          <template slot-scope="scope">            <el-select              v-model="scope.row.fFeeid"              filterable              remote              :disabled="browseStatus"              :remote-method="fWRemoteMethod"              placeholder="费用名称"            >              <el-option                v-for="(dict,index) in fWbuOptions"                :key="index.fId"                :label="dict.fName"                :value="dict.fId"              ></el-option>            </el-select>          </template>        </el-table-column>        <el-table-column          prop="fFeeUnitid"          header-align="center"          align="center"          width="180px"          label="计价单位"        >          <template slot-scope="scope">            <el-select              v-model="scope.row.fFeeUnitid"              filterable              remote              :disabled="browseStatus"              @change="changeFeeUnit(scope.row)"              :remote-method="corpsRemoteMethod"              placeholder="计价单位"            >              <el-option                v-for="(dict, index) in jFeetunitOptions"                :key="index.dictValue"                :label="dict.dictLabel"                :value="dict.dictValue"              ></el-option>            </el-select>          </template>        </el-table-column>        <el-table-column          prop="fQty"          header-align="center"          align="center"          width="150px"          label="数量"        >          <template slot-scope="scope">            <el-input              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/, "$1$2.$3")'              v-model="scope.row.fQty"              :disabled="browseStatus"              @change="changeContractAmt(scope.row)"              placeholder="数量"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fUnitprice"          header-align="center"          align="center"          width="150px"          label="单价"        >          <template slot-scope="scope">            <el-input              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'              v-model="scope.row.fUnitprice"              :disabled="browseStatus"              @change="changeContractAmt(scope.row)"              placeholder="单价"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fAmount"          header-align="center"          align="center"          width="150px"          label="金额"        >          <template slot-scope="scope">            <el-input              disabled              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'              v-model="scope.row.fAmount"              placeholder="金额"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fCurrency"          header-align="center"          align="center"          width="150px"          label="币别"        >          <template slot-scope="scope">            <el-input              v-model="scope.row.fCurrency"              :disabled="browseStatus"              placeholder="币别"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fExrate"          header-align="center"          align="center"          width="150px"          label="汇率"        >          <template slot-scope="scope">            <el-input              v-model="scope.row.fExrate"              :disabled="browseStatus"              placeholder="汇率"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="fTaxrate"          header-align="center"          align="center"          width="150px"          label="税率"        >          <template slot-scope="scope">            <el-input              v-model="scope.row.fTaxrate"              :disabled="browseStatus"              placeholder="税率"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          prop="remarks"          header-align="center"          align="center"          width="150px"          label="备注"        >          <template slot-scope="scope">            <el-input              v-model="scope.row.remarks"              :disabled="browseStatus"              placeholder="备注"              show-word-limit            />          </template>        </el-table-column>        <el-table-column          header-align="center"          align="center"          width="150px"          label="操作"        >          <template slot-scope="scope">            <el-button size="small">审核费用</el-button>            <el-button              @click.native.prevent="deleteRow(scope.$index, warehouseCrList)"              :disabled="browseStatus"              size="small"              >移除</el-button            >          </template>        </el-table-column>      </el-table>      <div slot="footer" class="dialog-footer">        <el-button          type="danger"          size="mini"          prop="打印"          @click="showEditDialog_ss"          >收货单        </el-button>        <el-button          type="danger"          size="mini"          prop="打印"          @click="showEditDialog_s"          >入库单        </el-button>        <el-button type="primary" @click="submitForm(2)">暂 存</el-button>        <el-button type="primary" @click="submitForm(6)">提 交</el-button>        <el-button @click="cancel">取 消</el-button>      </div>      <!-- 选择库存总账数据 -->      <el-dialog        title="库存总账"        :modal="false"        style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"        :visible.sync="whgenlegVisible"        width="70%"      >        <el-table          :data="whgenlegList"          ref="table"          tooltip-effect="dark"          width="100%"          border          stripe          @selection-change="whgenlegSelectionChange"        >          <el-table-column            type="selection"            width="55">          </el-table-column>          <el-table-column            prop="fMblno"            header-align="center"            align="center"            label="提单号"          >          </el-table-column>          <el-table-column            prop="createTime"            header-align="center"            align="center"            width="180px"            label="入库日期"          >          </el-table-column>          <el-table-column            prop="fGoodsid"            header-align="center"            align="center"            label="品名"          >          </el-table-column>          <el-table-column            prop="fQtyblc"            header-align="center"            align="center"            label="结余数量"          >          </el-table-column>          <el-table-column            prop="fWarehouseLocationid"            header-align="center"            align="center"            label="库区"          >          </el-table-column>        </el-table>        <pagination          v-show="whgenlegTotal>0"          :total="whgenlegTotal"          :page.sync="whgenlegParams.pageNum"          :limit.sync="whgenlegParams.pageSize"          @pagination="getWhgenlegList"        />        <div slot="footer" class="dialog-footer">          <el-button type="primary" @click="whgenlegData">导入</el-button>          <el-button @click="whgenlegVisible = false">取 消</el-button>        </div>      </el-dialog>      <el-dialog        title="入库页面"        :modal="false"        style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"        :visible.sync="editDialogVisible_s"        width="70%"      >        <table          id="print_area"          class="biaoge zzss"          border="1"          style="border-collapse: collapse; border: none"        >          <tr>            <td              width="100"              colspan="7"              class="zzss"              style="font-size: 28px; font-weight: bold; border: none"            >              青岛大木进进仓单            </td>          </tr>          <tr>            <td              width="100"              colspan="7"              class="zzss"              style="font-size: 28px; font-weight: bold; border: none"            >                           </td>          </tr>          <tr>            <td width="450" colspan="2" class="zzss">货权方:某某有限公司</td>            <td width="450" colspan="2" class="zzss">仓库:某某3号大仓</td>            <td width="450" colspan="3" class="zzss">              地址:青岛市市北区郑州路1344号            </td>          </tr>          <tr>            <td width="200" colspan="2" class="zzss">保管方:某某有限公司</td>            <td width="200" colspan="2" class="zzss">联系人:张三</td>            <td width="200" colspan="3" class="zzss">              电话:0532-561651561-546            </td>          </tr>          <tr>            <td width="100" border="1">提单号</td>            <td width="100">品名</td>            <td width="100">箱型</td>            <td width="100">品牌</td>            <td width="100">件数</td>            <td width="100">重量</td>            <td width="100">包装规格</td>          </tr>          <tr>            <td width="100">56165654555</td>            <td width="100">某某商品</td>            <td width="100">20GP</td>            <td width="100">某某</td>            <td width="100">包</td>            <td width="100">吨</td>            <td width="100">50kg</td>          </tr>          <tr>            <td width="100">序号</td>            <td width="100">入货日期</td>            <td width="100">箱量(20GP)</td>            <td width="100">重量</td>            <td width="100">件数</td>            <td width="100">入库重量</td>            <td width="100">入库件数</td>          </tr>          <tr>            <td width="100">1</td>            <td width="100">2020-11-20</td>            <td width="100">10</td>            <td width="100">100</td>            <td width="100">10000</td>            <td width="100">20</td>            <td width="100">3000</td>          </tr>          <tr>            <td width="100">2</td>            <td width="100">2020-11-20</td>            <td width="100">10</td>            <td width="100">100</td>            <td width="100">10000</td>            <td width="100">20</td>            <td width="100">3000</td>          </tr>          <tr>            <td width="100">3</td>            <td width="100">2020-11-20</td>            <td width="100">10</td>            <td width="100">100</td>            <td width="100">10000</td>            <td width="100">20</td>            <td width="100">3000</td>          </tr>          <tr>            <td width="100">4</td>            <td width="100">2020-11-20</td>            <td width="100">10</td>            <td width="100">100</td>            <td width="100">10000</td>            <td width="100">20</td>            <td width="100">3000</td>          </tr>          <tr>            <td width="100">5</td>            <td width="100">2020-11-20</td>            <td width="100">10</td>            <td width="100">100</td>            <td width="100">10000</td>            <td width="100">20</td>            <td width="100">3000</td>          </tr>          <tr>            <td width="100">6</td>            <td width="100">2020-11-20</td>            <td width="100">10</td>            <td width="100">100</td>            <td width="100">10000</td>            <td width="100">20</td>            <td width="100">3000</td>          </tr>          <tr>            <td width="100">7</td>            <td width="100">2020-11-20</td>            <td width="100">10</td>            <td width="100">100</td>            <td width="100">10000</td>            <td width="100">20</td>            <td width="100">3000</td>          </tr>          <tr>            <td width="100" colspan="2">合计:</td>            <td width="100">10</td>            <td width="100">100</td>            <td width="100">10000</td>            <td width="100">20</td>            <td width="100">3000</td>          </tr>          <tr>            <td width="100">备注:</td>            <td width="100" colspan="6"></td>          </tr>          <tr>            <td width="100" colspan="7" class="zzss">              本进仓单经仓管员签字并经保管方盖章后即专项作为货物所有人的货权证明,本单据不得转让。            </td>          </tr>          <tr style="border: none">            <td width="100" colspan="2" class="zzss" style="border: none">              开单员:            </td>            <td width="100" colspan="3" class="zzss" style="border: none"></td>            <td width="100" colspan="2" class="zzss" style="border: none">              仓管员:张三            </td>          </tr>          <tr style="border: none">            <td width="100" colspan="2" class="zzss" style="border: none">              开单时间:            </td>            <td width="100" colspan="3" class="zzss" style="border: none"></td>            <td width="100" colspan="2" class="zzss" style="border: none">              (盖章)            </td>          </tr>        </table>        <button @click="printSomething">打印</button>      </el-dialog>      <el-dialog        title="收货单打印"        style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"        :visible.sync="editDialogVisible_ss"        width="70%"        :modal="false"      >        <table          id="print_area"          class="biaoge zzss"          border="1"          style="border-collapse: collapse; border: none"        >          <tr>            <td              width="1400"              colspan="6"              class="zzss"              style="font-size: 28px; font-weight: bold; border: none"            >              大木国际物流(青岛)有限公司收货单            </td>          </tr>          <tr>            <td              width="900"              colspan="4"              class="zzss"              style="font-size: 28px; font-weight: bold"            >                           </td>            <td              width="500"              colspan="2"              style="padding-bottom: 0px; font-weight: bold; border: none"              class="zzss"            >              出库日期:2020-11-20            </td>          </tr>          <tr>            <td width="200">车号</td>            <td width="200">苏HFN751</td>            <td width="200">货物品名</td>            <td width="200" colspan="4" class="zzss">某某商品名</td>          </tr>          <tr>            <td width="1400" colspan="6"> </td>          </tr>          <tr>            <td>备注:</td>            <td colspan="5"></td>          </tr>          <tr>            <td>收费</td>            <td>装箱费</td>            <td>100元</td>            <td colspan="4">办单费:5元,过磅费自理</td>          </tr>          <tr>            <td>司机签字:</td>            <td></td>            <td>电话</td>            <td>15896154516</td>            <td colspan="2" rowspan="2">              确认货物数量无误,包装于货物完好!<br />出库盖好篷布,如有违背责任自负<br />装卸工是否收小费            </td>          </tr>          <tr>            <td>制表:</td>            <td>张三</td>            <td>机械/人工:</td>            <td></td>          </tr>          <tr>            <td colspan="6" class="zzss"> </td>          </tr>          <tr>            <td width="280" class="zzss"></td>            <td width="280" class="zzss"></td>            <td width="280" class="zzss"></td>            <td width="280" class="zzss"></td>            <td width="290" class="zzss">地址:淮河东路96号</td>            <td width="290" class="zzss">电话:18685818919</td>          </tr>        </table>        <button @click="printSomething">打印</button>      </el-dialog>    </el-dialog>  </div></template><script>import print from "print-js";import {  listGoodsTransfer,  getGoodsTransfer,  addGoodsTransfer,  updateGoodsTransfer,  delGoodsTransfer,  exportGoodsTransfer} from "@/api/warehouseBusiness/goodsTransfer";import { listCorps } from "@/api/basicdata/corps";import { listFees } from "@/api/basicdata/fees";import { listWarehouse } from "@/api/basicdata/warehouse";import { listArea } from "@/api/basicdata/area";import { listGoods } from "@/api/basicdata/goods";import { listUser, queryUserVal } from "@/api/system/user";import { listWhgenleg } from '@/api/reportManagement/whgenleg'import UploadFile from "@/components/Uploadfile";export default {  name: "goodsTransfer",  components: {    UploadFile,  },  data() {    return {      // 修改查看状态      browseStatus: false,      // 遮罩层      loading: true,      // 选中数组      ids: [],      userVal: {        userName: null,        nickName: null,        deptId: null,      },      queryForm: {},      // 添加用户对话框      editDialogVisible_s: false,      editDialogVisible_ss: false,      editDialogClosed_ss: false,      dataList: [],      warehouseCrList: [],      warehouseDrList: [],      relevantAttachments: [],      // 非单个禁用      single: true,      // 非多个禁用      multiple: true,      // 显示搜索条件      showSearch: true,      // 总条数      total: 0,      // 仓库主(出入库)表格数据      goodsTransferList: [],      // 弹出层标题      title: "",      // 是否显示弹出层      open: false,      // 货权方(客户数据)      fMblnoOptions: [],      // 货权方(客户数据)      // 客户名称      KHblnoOptions: [],      fSbuOptions: [],      // 操作员      userOptions: [],      // 操作员      goodsOptions: [],      // 制单部门      deptOptions: [],      // 仓库(仓库数据)      warehouseOptions: [],      // 贸易方式(数据字典),对应t_trademodels 字典      fTrademodeidOptions: [],      // 计费单位(数据字典),下拉选择毛重或净重字典      fFeetunitOptions: [],      // 结算方式(数据字典),下拉选择字典      fStltypeOptions: [],      // 是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择字典      fIfweighOptions: [],      // 是否质押(数据字典),默认 F ,质押T 否者F 下拉选择字典      fIfpledgeOptions: [],      // 是否破损(数据字典),默认F否则T字典      fIfdamageOptions: [],      // 单据类型(数据字典)SJRK字典      fBilltypeOptions: [],      // 状态(数据字典),N 入字典      fBillstatusOptions: [],      // 费用名称      fWbuOptions: [],      // 计价单位      jFeetunitOptions: [],      // 查询参数      queryParams: {        pageNum: 1,        pageSize: 10,        fBillno: null,        createBy: null,        createTime: null,        fCustomsdeclartion: null,        fOriginalbillno: null,        fDeptid: null,        fBsdeptid: null,        fContacts: null,        fTel: null,        fCorpid: null,        fTocorpid: null,        fStltypeid: null,        fBscorpno: null,        fWarehouseid: null,        fStorekeeper: null,        fBsdate: null,        fPlanqty: null,        fPlangrossweight: null,        fPlannetweight: null,        fPlanvolumn: null,        fQty: null,        fGrossweight: null,        fNetweight: null,        fVolumn: null,        fTrademodeid: null,        fSbu: null,        fFeetunit: null,        fMblno: null,        fVslvoy: null,        fEta: null,        fCustomno: null,        fIfweigh: null,        fIfpledge: null,        fIfdamage: null,        fBankcorpid: null,        fBilltype: null,        fBillstatus: null,        fCreateby: null,        fCreatetime: null,        fGoodsid: null,        fCntrtype: null,        fCntqty: null,      },      // 日期区间      orgStorageDate: null,      // 表单参数      form: {},      // 库存总账参数      whgenlegParams: {        pageNum: 1,        pageSize: 10,        fMblno: null,        fCorpid: null,        fWarehouseid: null,        fTrademodeid: null,        orgStorageDate: null      },      // 库存总账表      whgenlegList: [],      whgenlegTotal: 0,      // 弹窗库存总账数据      dialogWhgenlegList: [],      // 库存总账对话框      whgenlegVisible: false,      // 表单校验      rules: {        fDeptid: [          { required: true, message: "制单部门不能为空", trigger: "blur" },        ],        fMblno: [{ required: true, message: "请输入提单号", trigger: "blur" }],        fBsdeptid: [          { required: true, message: "业务所属部门不能为空", trigger: "blur" },        ],        fCorpid: [          {            required: true,            message: "请选择货权方",            trigger: "blur",          },        ],        fBsdate: [          { required: true, message: "请选择业务日期", trigger: "blur" },        ],        fTrademodeid: [          { required: true, message: "请选择贸易方式", trigger: "blur" },        ],        fSbu: [          { required: true, message: "请选择经营单位", trigger: "blur" },        ],        fStorekeeper: {          required: true,          message: "请输入仓管员",          trigger: "blur",        },        fWarehouseid: [          { required: true, message: "请选择仓库", trigger: "blur" },        ],        fbillingway: [          {            required: true,            message: "请选择结算方式",            trigger: "blur",          },        ],        fTocorpid: [          {            required: true,            message:              "请选择新货转货权方",            trigger: "blur",          },        ],      },    };  },  created() {    this.getList();    this.getDicts("data_trademodes").then((response) => {      this.fTrademodeidOptions = response.data;    });    this.getDicts("data_unitfees").then((response) => {      this.fFeetunitOptions = response.data;      this.jFeetunitOptions = JSON.parse(JSON.stringify(response.data))    });    this.getDicts("data_stltype_type").then((response) => {      this.fStltypeOptions = response.data;    });    this.getDicts("data_ifweigh_status").then((response) => {      this.fIfweighOptions = response.data;    });    this.getDicts("data_ifpledge_status").then((response) => {      this.fIfpledgeOptions = response.data;    });    this.getDicts("data_ifdamage_status").then((response) => {      this.fIfdamageOptions = response.data;    });    this.getDicts("data_billtype_type").then((response) => {      this.fBilltypeOptions = response.data;    });    this.getDicts("sys_common_status").then((response) => {      this.fBillstatusOptions = response.data;    });  },  methods: {    // 上传成功返回数据    showFile(row) {      // this.$set(this.relevantAttachments[0], 'fName', row.fileName)      this.$set(this.relevantAttachments[0], "fUrl", row.url);    },    printSomething() {      // 此处的style即为打印时的样式      const style =        "@media print { .print-div{ padding:8px;background-color:#cccccc;line-height:12px } .red{ color:#f00} .green{color:green} td{text-align: center}}";      print({        printable: "print_area",        type: "html",        style: style, // 亦可使用引入的外部css;        scanStyles: false,      });    },    // 添加附件上传    addRelevt() {      this.relevantAttachments.push({        fUrl: null,        fName: null,        createBy: this.queryParams.createBy,        createTime: Date.parse(new Date()),      });    },    // 添加list    addRelevant() {      if (!this.form.fCorpid || !this.form.fTrademodeid || !this.form.fWarehouseid) {        this.$message({ message: '请维护货权方、贸易方式、仓库', type: 'warning' })        return false      }      this.whgenlegList = []      this.dialogWhgenlegList = []      this.whgenlegTotal = 0      this.whgenlegVisible = true      this.getWhgenlegList()    },    // 查询库存总账信息    getWhgenlegList () {      this.whgenlegParams.fMblno = this.form.fMblno      this.whgenlegParams.fCorpid = this.form.fCorpid      this.whgenlegParams.fWarehouseid = this.form.fWarehouseid      this.whgenlegParams.fTrademodeid = this.form.fTrademodeid      this.whgenlegParams.orgStorageDate = this.orgStorageDate      listWhgenleg(this.whgenlegParams).then(response => {        this.whgenlegList = response.rows        this.whgenlegTotal = response.total      })    },    // 库存总账多选框    whgenlegSelectionChange (selection) {      this.dialogWhgenlegList = selection    },    // 库存总账导出数据    whgenlegData () {      for (let whgen in this.dialogWhgenlegList) {        if (!this.form.fMblno) {          this.$set(this.form, 'fMblno', this.dialogWhgenlegList[whgen].fMblno)        }        this.dataList.push({          fMblno: this.dialogWhgenlegList[whgen].fMblno,          fGoodsid: this.dialogWhgenlegList[whgen].fGoodsid,          fGoodsids: this.dialogWhgenlegList[whgen].fGoodsids,          fMarks: this.dialogWhgenlegList[whgen].fMarks,          fOriginalbillno: this.dialogWhgenlegList[whgen].fOriginalbillno,          fWarehouselocid: this.dialogWhgenlegList[whgen].fWarehouseLocationid,          fWarehouselocids: this.dialogWhgenlegList[whgen].fWarehouseLocationids,          fPlanqty: this.dialogWhgenlegList[whgen].fQtyblc,          fPlangrossweight: this.dialogWhgenlegList[whgen].fGrossweightblc,          fQty: 0,          fCntqty: 1,          fGrossweight: 0,          fPackagespecs: null,          fGoodsval: null,          remark: null        })      }      this.whgenlegVisible = false    },    // 收货单打印界面    showEditDialog_s() {      this.editDialogVisible_s = true;    },    showEditDialog_ss() {      this.editDialogVisible_ss = true;    },    // 收款信息    addCollection() {      this.warehouseDrList.push({        fCorpid: null,        fFeeid: null,        fFeeUnitid: null,        fQty: 0,        fUnitprice: 0,        fAmount: 0,        fCurrency: null,        fCxrate: null,        fRate: null,        remarks: null,      });    },    addpayment() {      this.warehouseCrList.push({        fCorpid: null,        fFeeid: null,        fFeeUnitid: null,        fQty: 0,        fUnitprice: 0,        fAmount: 0,        fCurrency: null,        fCxrate: null,        fRate: null,        remarks: null,      })    },    queryUser() {      queryUserVal().then((response) => {        if (response.user !== null) {          this.userVal = response.user;          this.$set(this.form, "fDeptid", this.userVal.deptId);          this.$set(this.form, "createBy", this.userVal.userName);          // this.$set(this.relevantAttachments, "opUserName", this.userVal.userName);          this.$set(this.form, "createTime", Date.parse(new Date()));        }        if (response.dept !== null) {          this.deptOptions = [];          this.deptOptions.push(response.dept);        }      });    },    /** 查询仓库主(出入库)列表 */    getList() {      this.loading = true;      listGoodsTransfer(this.queryParams).then((response) => {        this.goodsTransferList = response.rows        this.total = response.total        this.loading = false      });    },    // 贸易方式(数据字典),对���t_trademodels 字典翻译    fTrademodeidFormat(row, column) {      return this.selectDictLabel(this.fTrademodeidOptions, row.fTrademodeid);    },    // 计费单位(数据字典),下拉选择毛重或净重字典翻译    fFeetunitFormat(row, column) {      return this.selectDictLabel(this.fFeetunitOptions, row.fFeetunit);    },    // 是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择字典翻译    fIfweighFormat(row, column) {      return this.selectDictLabel(this.fIfweighOptions, row.fIfweigh);    },    // 编号字典翻译    fStltypeidFormat(row, column) {      return this.selectDictLabel(this.fStltypeOptions, row.fStltypeid);    },    // 是否质押(数据字典),默认 F ,质押T 否者F 下拉选择字典翻译    fIfpledgeFormat(row, column) {      return this.selectDictLabel(this.fIfpledgeOptions, row.fIfpledge);    },    // 是否破损(数据字典),默认F否则T字典翻译    fIfdamageFormat(row, column) {      return this.selectDictLabel(this.fIfdamageOptions, row.fIfdamage);    },    // 单据类型(数据字典)SJRK字典翻译    fBilltypeFormat(row, column) {      return this.selectDictLabel(this.fBilltypeOptions, row.fBilltype);    },    // 状态(数据字典),N 入字典翻译    fBillstatusFormat(row, column) {      return this.selectDictLabel(this.fBillstatusOptions, row.fBillstatus);    },    // 取消按钮    cancel() {      this.open = false;      this.reset();    },    // 表单重置    reset() {      this.form = {        fId: null,        fBillno: null,        fCustomsdeclartion: null,        fOriginalbillno: null,        fDeptid: null,        fBsdeptid: null,        fContacts: null,        fTel: null,        fCorpid: null,        fTocorpid: null,        fStltypeid: null,        fBscorpno: null,        fWarehouseid: null,        fStorekeeper: null,        fBsdate: null,        fPlanqty: null,        fPlangrossweight: null,        fPlannetweight: null,        fPlanvolumn: null,        fQty: null,        fGrossweight: null,        fNetweight: null,        fVolumn: null,        fTrademodeid: null,        fSbu: null,        fFeetunit: null,        fMblno: null,        fVslvoy: null,        fEta: null,        fCustomno: null,        fIfweigh: null,        fIfpledge: null,        fIfdamage: null,        fBankcorpid: null,        fBilltype: null,        fBillstatus: null,        delFlag: null,        createBy: null,        createTime: null,        updateBy: null,        updateTime: null,        remark: null,        fCreateby: null,        fCreatetime: null,        fGoodsid: null,        fCntrtype: null,        fCntqty: null,      };      this.deptOptions = []      this.fWbuOptions = []      this.fWbuOptions = []      this.fMblnoOptions = []      this.KHblnoOptions = []      this.KHblnoOptions = []      this.warehouseOptions = []      this.resetForm("form");    },    /** 搜索按钮操作 */    handleQuery() {      this.queryParams.pageNum = 1;      this.getList();    },    /** 重置按钮操作 */    resetQuery() {      this.resetForm("queryForm");      this.handleQuery();    },    // 多选框选中数据    handleSelectionChange(selection) {      this.ids = selection.map((item) => item.fId);      this.single = selection.length !== 1;      this.multiple = !selection.length;    },    /** 新增按钮操作 */    handleAdd() {      this.reset();      this.queryUser();      this.open = true;      this.dataList = [];      this.warehouseCrList = [];      this.warehouseDrList = [];      this.relevantAttachments = [];      this.title = "货权转移";    },    /** 修改按钮操作 */    handleUpdate(row, status) {      console.log(status)      this.browseStatus = status      console.log("@@@")      this.reset();      console.log("@@@+333")      const fId = row.fId || this.ids;      getGoodsTransfer(fId).then((response) => {        this.form = response.data.warehousebills        if (this.form.fStltypeid) {          this.$set(this.form, 'fStltypeid', this.form.fStltypeid + '')        }        if (this.form.fChargedate) {          this.$set(this.form, 'fChargedate', Date.parse(this.form.fChargedate))        }        if (this.form.fTrademodeid) {          this.$set(this.form, 'fTrademodeid', this.form.fTrademodeid + '')        }        this.fMblnoOptions = response.data.corps        this.KHblnoOptions = response.data.corps        this.fWbuOptions = response.data.feesList        this.warehouseOptions = response.data.warehouse;        if (response.data.dept) {          this.deptOptions = [];          this.deptOptions.push(response.data.dept);        }        this.dataList = response.data.warehouseBillsItem;        for (let list in this.dataList) {          this.$set(this.dataList[list], 'fBsdate', Date.parse(this.dataList[list].fBsdate))        }        this.goodsOptions = response.data.goodsList        this.relevantAttachments = response.data.enclosures        this.warehouseDrList = response.data.warehousebillsfeesDr        for (let dr in this.warehouseDrList) {          this.$set(this.warehouseDrList[dr], 'fFeeUnitid', this.warehouseDrList[dr].fFeeUnitid + "")        }        this.warehouseCrList = response.data.warehousebillsfeesCr        for (let cr in this.warehouseCrList) {          this.$set(this.warehouseCrList[cr], 'fFeeUnitid', this.warehouseCrList[cr].fFeeUnitid + "")        }        this.userOptions = response.data.sysUser;        this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate))        this.open = true;        this.title = "修改仓入库)";      });    },    // 库存明细合计    getSummaries (param) {        const {columns, data} = param         const sums = []         var values = []      columns.forEach((column, index) => {        if (index === 0) {              sums[index] = '总价'                return              }        if (column.property === 'fPlanqty') {            values = data.map(item => Number(item['fPlanqty']))          }          if (column.property === 'fPlangrossweight') {            values = data.map(item => Number(item['fPlangrossweight']))          }          if (column.property === 'fQty') {            values = data.map(item => Number(item['fQty']))          }          if (column.property === 'fGrossweight') {            values = data.map(item => Number(item['fGrossweight']))          }          if (column.property === 'fCntqty') {            values = data.map(item => Number(item['fCntqty']))          }        // const values = data.map(item => Number(item[column.property]))        if (column.property === 'fPlanqty' || column.property === 'fPlangrossweight'|| column.property === 'fQty'|| column.property === 'fGrossweight'|| column.property === 'fCntqty') {          sums[index] = values.reduce((prev, curr) => {            const value = Number(curr)            if (!isNaN(value)) {            if (column.property === 'fGrossweight') {                this.form.fGrossweight = prev + curr            }            if (column.property === 'fQty') {                this.form.fQty = prev + curr            }            if (column.property === 'fCntqty') {                this.form.fCntqty = prev + curr            }              return prev + curr            } else {              return prev            }          }, 0)          // sums[index]        }      })    this.sums = sums   return sums    },    // 付款合计    warehouseDrSummaries (param) {        const {columns, data} = param         const sums = []      columns.forEach((column, index) => {        if (index === 0) {              sums[index] = '合计'                return              }        const values = data.map(item => Number(item[column.property]))        if (column.property === 'fUnitprice' || column.property === 'fAmount'|| column.property === 'fQty'|| column.property === 'fQty') {          sums[index] = values.reduce((prev, curr) => {            const value = Number(curr)            if (!isNaN(value)) {              return prev + curr            } else {              return prev            }          }, 0)          // sums[index]        }      })   return sums    },    // 数量计算    changeContractAmt(row) {      let fQty = 0      let fUnitprice = 0      if (row.fUnitprice) {        fUnitprice = row.fUnitprice      }      if (row.fQty) {        fQty = row.fQty      }      this.$set(row, "fAmount", Number(fUnitprice) * Number(fQty)).toFixed(2);    },    changefBsdate(row) {      if (this.dataList.length > 0) {        for (var i = 0; i < this.dataList.length; i++) {          this.$set(this.dataList[i], "fBsdate", row);        }      }    },    /** 提交按钮 */    submitForm(status) {      this.$refs["form"].validate((valid) => {        if (this.form.fCorpid === this.form.fTocorpid) {          this.$message.error('新货权方不得与货权方一致')          return false        }        if (this.dataList.length ===  0) {          this.$message.error('请添加库存明细!')          return false        }        if (this.relevantAttachments.length === 0) {          this.$message.error('请添加附件上传!')          return false        }        if (this.warehouseDrList.length === 0) {          this.$message.error('请添加收款信息!')          return false        }        if (this.warehouseCrList.length === 0) {          this.$message.error('请添加付款信息!')          return false        }        for (let list in this.dataList) {          if (!this.dataList[list].fQty || Number(this.dataList[list].fQty) === 0) {            this.$message.error('请维护序号为' + (Number(list) + 1) + '的货转件数!')            return false          }          if (!this.dataList[list].fGrossweight || Number(this.dataList[list].fGrossweight) === 0) {            this.$message.error('请维护序号为' + (Number(list) + 1) + '的货转毛重!')            return false          }        }        for (let relevant in this.relevantAttachments) {          if (!this.relevantAttachments[relevant].fName) {            this.$message.error('请输入附件名称!')            return false          }        }        for (let warehouseDr in this.warehouseDrList) {          if (!this.warehouseDrList[warehouseDr].fAmount) {            this.$message.error('收款信息序号为' + (Number(warehouseDr) + 1) + '的金额异常')            return false          }        }        for (let warehouseCr in this.warehouseCrList) {          if (!this.warehouseCrList[warehouseCr].fAmount) {            this.$message.error('付款信息序号为' + (Number(warehouseCr) + 1) + '的金额异常')            return false          }        }        if (valid) {          this.form.fBillstatus = status;          let formData = new window.FormData();          // 附件数据          formData.append("tWarehouseBills", JSON.stringify(this.form))          // 库存明细          formData.append("tWarehousebillsitems", JSON.stringify(this.dataList))          // 附件数据          formData.append("tWhgenleg", JSON.stringify(this.relevantAttachments))          // 费用明细付款          formData.append("tWarehousebillsfeesCr", JSON.stringify(this.warehouseCrList))          // 收款          formData.append("tWarehousebillsfeesDr", JSON.stringify(this.warehouseDrList))          addGoodsTransfer(formData).then((response) => {            this.msgSuccess("提交成功");            this.open = false;            this.getList();          })        }      })    },    /** 删除按钮操作 */    handleDelete(row) {      const fIds = row.fId || this.ids;      this.$confirm(        '是否确认删除仓库主(出入库)编号为"' + fIds + '"的数据项?',        "警告",        {          confirmButtonText: "确定",          cancelButtonText: "取消",          type: "warning",        }      )        .then(function () {          return delgoodsTransfer(fIds);        })        .then(() => {          this.getList();          this.msgSuccess("删除成功");        });    },    /** 导出按钮操作 */    handleExport() {      const queryParams = this.queryParams;      this.$confirm("是否确认导出所有仓库主(出入库)数据项?", "警告", {        confirmButtonText: "确定",        cancelButtonText: "取消",        type: "warning",      })        .then(function () {          return exportgoodsTransfer(queryParams);        })        .then((response) => {          this.download(response.msg);        });    },    deleteRow(index, rows) {      rows.splice(index, 1);    },    // 变更计价单位    changeFeeUnit (row) {      console.log(row)      console.log(this.form.fCntqty)      if (!row.fFeeUnitid) {        return false      }      if (row.fFeeUnitid === '0') {        console.log(this.form.fCntqty)        this.$set(row, 'fQty', this.form.fCntqty)      } else if (row.fFeeUnitid === '1') {        this.$set(row, 'fQty', this.form.fGrossweight)      }      if (row.fUnitprice) {        this.$set(row, 'fAmount', parseFloat(Number(row.fUnitprice) * Number(row.fQty)).toFixed(2))      }    },    /* 远程模糊查询用户 */    corpsRemoteMethod(name) {      if (name == null || name === "") {        return false;      }      let queryParams = { pageNum: 1, pageSize: 10, fName: name };      listCorps(queryParams).then((response) => {        this.fMblnoOptions = response.rows;        this.KHblnoOptions = response.rows;      });    },    /* 远程模糊查询商品 */    goodsRemoteMethod(name) {      if (name == null || name === "") {        return false;      }      let queryParams = { pageNum: 1, pageSize: 10, fName: name };      listGoods(queryParams).then((response) => {        this.goodsOptions = response.rows;      });    },    // 远程模糊查询费用名称    fWRemoteMethod(name) {      if (name == null || name === "") {        return false;      }      let queryParams = { pageNum: 1, pageSize: 10, fName: name };      listFees(queryParams).then((response) => {        this.fWbuOptions = response.rows;      });    },    /* 远程模糊查询经营单位 */    fSbuRemoteMethod(name) {      if (name == null || name === "") {        return false;      }      let queryParams = { pageNum: 1, pageSize: 10, fName: name };      listCorps(queryParams).then((response) => {        this.fSbuOptions = response.rows;      });    },    /* 远程模糊查询仓库 */    warehouseRemoteMethod(name) {      if (name == null || name === "") {        return false;      }      let queryParams = { pageNum: 1, pageSize: 10, fName: name };      listWarehouse(queryParams).then((response) => {        this.warehouseOptions = response.rows;      });    },    /* 远程模糊查询操作用户 */    userRemoteMethod(name) {      if (name == null || name === "") {        return false;      }      let queryParams = { pageNum: 1, pageSize: 10, userName: name };      listUser(queryParams).then((response) => {        this.userOptions = response.rows;      });    },  },};</script><style lang="scss">.juzhong > th {  text-align: center;}.biaoge > tr > td {  height: 30px;  text-align: center;  border-right: 1px solid #dfe6ec !important;  order-bottom: 1px solid #dfe6ec !important;  border-bottom: 1px solid #dfe6ec !important;}.el-table thead th {  background: #1890ff;  color: #fff;}.upload-demo {  margin-left: 50px;}</style>
 |