| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746 | <template>  <div>    <div class="customer-head">      <div class="customer-back">        <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left" @click="backToList(0)"          >返回列表        </el-button>      </div>      <div class="add-customer-btn">        <el-button          class="el-button--small-yh"          style="margin-left: 6px;"          type="primary"          size="small"          v-if="editButton && form.status == 0"          @click="inEdit"          >编 辑        </el-button>        <el-button          class="el-button--small-yh"          v-if="!editButton"          style="margin-left: 6px;"          type="primary"          size="small"          :disabled="isSaveBtn"          @click="editCustomer(0)"          >保 存        </el-button>        <el-button          class="el-button--small-yh"          style="margin-left: 6px;"          type="success"          size="small"          @click="editCustomer(1)"          :disabled="form.status == 1"          >提 交        </el-button>          <el-button class="el-button--small-yh" style="margin-left: 6px;" type="warning" size="small"                     @click="revokePlan()" v-if="Number(form.status) === 1">撤 销          </el-button>        <!-- <el-dropdown v-if="form.status == 1">                    <el-button style="margin-left: 6px;" type="success" size="small">                        审 核<i class="el-icon-arrow-down el-icon--right"></i>                    </el-button>                    <el-dropdown-menu slot="dropdown">                        <el-dropdown-item @click.native="auditPlan(2)">通过</el-dropdown-item>                        <el-dropdown-item @click.native="approve()">驳回</el-dropdown-item>                    </el-dropdown-menu>                </el-dropdown> -->      </div>    </div>    <div style="margin-top: 50px">      <trade-card title="基础信息">        <avue-form :option="optionForm" v-model="form" ref="form" :upload-exceed="uploadExceed">          <template slot-scope="{ row, index }" slot="contacts">            <!-- 联系人 -->            <el-select              v-model="form.contacts"              placeholder="请选择"              size="small"              style="width:60%"              clearable              filterable              allow-create              default-first-option              @change="contactsChange($event)"              :disabled="editButton || form.status == 1"            >              <el-option v-for="item in contactsOption" :key="item.cname" :label="item.cname" :value="item.contacts" />            </el-select>          </template>          <tempalte slot="customerName">            <dic-select              v-model="form.customerName"              placeholder="货主"              key="id"              label="cname"              res="records"              url="/blade-sales-part/corpsDesc/list?current=1&size=20&&enableOrNot=1"              :filterable="true"              :remote="true"              dataName="cname"              @selectChange="dicChange('customerName', $event)"              :disabled="editButton || form.status == 1"            ></dic-select>          </tempalte>          <tempalte slot="storageName">            <dic-select              v-model="form.storageName"              placeholder="仓库"              key="id"              label="cname"              res="records"              url="/blade-sales-part/tire/center/warehouse/storage/list?current=1&size=5"              :filterable="true"              :remote="true"              dataName="cname"              @selectChange="dicChange('storageName', $event)"              :disabled="editButton || form.status == 1 || form.planItemsList.length > 0"            ></dic-select>          </tempalte>          <tempalte slot="warehouseKeeperName">            <dic-select              v-model="form.warehouseKeeperName"              placeholder="库管"              key="id"              label="realName"              res="records"              url="/blade-user/page?current=1&size=5&userType=2"              :filterable="true"              :remote="true"              dataName="realName"              @selectChange="dicChange('warehouseKeeperName', $event)"              :disabled="editButton || form.status == 1"            ></dic-select>          </tempalte>        </avue-form>      </trade-card>      <trade-card title="明细信息">        <el-tabs v-model="activeName" type="card">          <el-tab-pane label="出库明细" name="sale_detail">            <avue-crud              :option="optionContacts"              v-model="formContacts"              ref="formContacts"              :data="form.planItemsList"              :key="key"              @row-close="rowClose"              :before-close="beforeClose"              @selection-change="selectionContacts"              @resetColumn="resetColumnTwo('formContacts', 'optionContacts', 'optionContactsBack', 474)"              @saveColumn="saveColumnTwo('formContacts', 'optionContacts', 'optionContactsBack', 474)"            >              <template slot-scope="{ scope, row }" slot="menuLeft">                <el-button type="primary" icon="el-icon-plus" size="small" :disabled="form.status == 1" @click="rowAdd(row, 1)">选择库存</el-button>                <el-button type="success" size="small" :disabled="form.status == 1" icon="el-icon-bottom" @click="excelDialogfun('名称')"                  >按名称导入                </el-button>                <el-button type="success" size="small" :disabled="form.status == 1" icon="el-icon-bottom" @click="excelDialogfun('code')"                  >按Code导入                </el-button>                <el-button type="primary" icon="el-icon-printer" size="small" @click="handlePrint">打印</el-button>                <!-- <el-button type="danger" plain size="small" @click="batchDelete"                                    :disabled="form.status == 1">一键删除</el-button> -->                <!-- <el-popover width="600" trigger="click">                                    <avue-crud :data="inventoryData" :option="inventoryOption"></avue-crud>                                    <el-button type="primary" plain size="small" slot="reference" @click="viewInventory"                                        :disabled="selectionMultilist.length != 1">查看库存</el-button>                                </el-popover> -->              </template>              <!-- <template slot="regionNameForm" slot-scope="{ row }">                                <dic-select v-if="row.$cellEdit" v-model="row.regionName" placeholder="库区" key="id"                                    label="regionName"                                    :url="'/blade-sales-part/tire/center/warehouse/storage-region/getRegionSelected?storageId=' + form.storageId"                                    :filterable="true" :remote="true" dataName="regionName"                                    @selectChange="rowDicChange('regionName', $event, row)"></dic-select>                                <span v-else>{{ row.regionName }}</span>                            </template> -->              <template slot="goodsNumForm" slot-scope="{ row }">                <el-input-number                  v-if="row.$cellEdit"                  size="small"                  v-model="row.goodsNum"                  :precision="numberDecimal"                  :controls="false"                  @blur="goodsNumblurfun(row)"                  type="number"                  :min="1"                  :max="99999"                  style="width: 100%"                  @change="moneyChange(row)"                ></el-input-number>                <span v-else>{{ row.goodsNum }}</span>              </template>              <!-- <template slot="price" slot-scope="{ row }">                                <el-input v-if="row.$cellEdit" size="small" v-model="row.price" style="width: 100%"                                    @change="moneyChange(row)"></el-input>                                <span v-else>{{ row.price }}</span>                            </template> -->              <template slot="remarks" slot-scope="{ row }">                <el-input v-if="!mingxibaocun" size="small" v-model="row.remarks" style="width: 100%"></el-input>                <span v-else>{{ row.remarks }}</span>              </template>              <template slot-scope="{ type, size, row, index, disabled }" slot="menu">                <el-button                  :size="size"                  :disabled="editButton || form.status == 1 || row.isDeleted == 1"                  :type="type"                  :icon="row.$cellEdit ? 'el-icon-plus' : 'el-icon-edit'"                  @click="rowEdit(row, index)"                  >{{ row.$cellEdit ? "保存" : "编辑" }}                </el-button>                <el-button                  :icon="row.isDeleted == 1 ? 'el-icon-refresh-left' : 'el-icon-delete'"                  :size="size"                  :disabled="editButton || form.status == 1"                  :type="type"                  @click="rowDel(row, index, 'planItemsList')"                  >{{ row.isDeleted == 1 ? "恢复" : "删除" }}                </el-button>              </template>            </avue-crud>          </el-tab-pane>          <el-tab-pane label="收费明细" name="outbound_records">            <avue-crud              :option="optionOutboundRecords"              v-model="formContacts"              ref="outbound_records"              :data="form.centerShipCostList"              @resetColumn="resetColumnTwo('outbound_records', 'optionOutboundRecords', 'optionOutboundRecordsBack', 475)"              @saveColumn="saveColumnTwo('outbound_records', 'optionOutboundRecords', 'optionOutboundRecordsBack', 475)"            >              <template slot-scope="{ scope, row }" slot="menuLeft">                <el-button type="primary" icon="el-icon-printer" size="small" @click="feeSubmit('D')">一键保存</el-button>              </template>              <template slot="indexHeader" slot-scope="{ row, index }">                <el-button type="primary" size="mini" icon="el-icon-plus" circle @click="addRowD()"> </el-button>              </template>              <template slot="index" slot-scope="{ row, index }">                <span>{{ index + 1 }}</span>              </template>              <template slot="costNameForm" slot-scope="{ row }">                <dic-select                  v-if="row.$cellEdit"                  v-model="row.costName"                  placeholder="费用名称"                  key="id"                  res="records"                  label="cname"                  url="/blade-sales-part/tire/center/warehouse/costDesc/list?current=1&size=5"                  :filterable="true"                  :remote="true"                  dataName="cname"                  @selectChange="rowDicChange('costName', $event, row)"                ></dic-select>                <span v-else>{{ row.costName }}</span>              </template>              <tempalte slot="costPriceForm" slot-scope="{ row }">                <el-input-number                  v-if="row.$cellEdit"                  v-model="row.costPrice"                  @change="countChange(row)"                  type="number"                  :controls="false"                  placeholder="请输入 单价"                  size="small"                  style="width: 100%;"                ></el-input-number>                <span v-else>{{ row.costPrice }}</span>              </tempalte>              <tempalte slot="goodsNumForm" slot-scope="{ row }">                <el-input-number                  v-if="row.$cellEdit"                  v-model="row.goodsNum"                  @change="countChange(row)"                  :controls="false"                  placeholder="请输入 数量"                  size="small"                  type="number"                  :min="1"                  :max="99999"                  style="width: 100%;"                ></el-input-number>                <span v-else>{{ row.goodsNum }}</span>              </tempalte>              <template slot-scope="{ type, size, row, index, disabled }" slot="menu">                <el-button                  :size="size"                  :disabled="editButton || form.status == 1 || row.isDeleted == 1"                  :type="type"                  :icon="row.$cellEdit ? 'el-icon-plus' : 'el-icon-edit'"                  @click="rowEdit(row, index)"                  >{{ row.$cellEdit ? "保存" : "编辑" }}                </el-button>                <el-button                  :icon="row.isDeleted == 1 ? 'el-icon-refresh-left' : 'el-icon-delete'"                  :size="size"                  :disabled="editButton || form.status == 1"                  :type="type"                  @click="rowDel(row, index, 'centerShipCostList')"                  >{{ row.isDeleted == 1 ? "恢复" : "删除" }}                </el-button>              </template>            </avue-crud>          </el-tab-pane>          <el-tab-pane label="付费明细" name="outbound_records2">            <avue-crud              :option="optionOutboundRecords"              v-model="formContacts"              ref="outbound_records2"              :data="form.centerShipPaymentCostList"              @resetColumn="resetColumnTwo('outbound_records', 'optionOutboundRecords', 'optionOutboundRecordsBack', 475)"              @saveColumn="saveColumnTwo('outbound_records', 'optionOutboundRecords', 'optionOutboundRecordsBack', 475)"            >              <template slot-scope="{ scope, row }" slot="menuLeft">                <el-button type="primary" icon="el-icon-printer" size="small" @click="feeSubmit('C')">一键保存</el-button>              </template>              <template slot="indexHeader" slot-scope="{ row, index }">                <el-button type="primary" size="mini" icon="el-icon-plus" circle @click="addRowC()"> </el-button>              </template>              <template slot="index" slot-scope="{ row, index }">                <span>{{ index + 1 }}</span>              </template>              <template slot="costNameForm" slot-scope="{ row }">                <dic-select                  v-if="row.$cellEdit"                  v-model="row.costName"                  placeholder="费用名称"                  key="id"                  res="records"                  label="cname"                  url="/blade-sales-part/tire/center/warehouse/costDesc/list?current=1&size=5"                  :filterable="true"                  :remote="true"                  dataName="cname"                  @selectChange="rowDicChange('costName', $event, row)"                ></dic-select>                <span v-else>{{ row.costName }}</span>              </template>              <tempalte slot="costPriceForm" slot-scope="{ row }">                <el-input-number                  v-if="row.$cellEdit"                  v-model="row.costPrice"                  @change="countChange(row)"                  :controls="false"                  placeholder="请输入 单价"                  size="small"                  type="number"                  style="width: 100%;"                ></el-input-number>                <span v-else>{{ row.costPrice }}</span>              </tempalte>              <tempalte slot="goodsNumForm" slot-scope="{ row }">                <el-input-number                  v-if="row.$cellEdit"                  v-model="row.goodsNum"                  @change="countChange(row)"                  :controls="false"                  placeholder="请输入 数量"                  size="small"                  type="number"                  :min="1"                  :max="99999"                  style="width: 100%;"                ></el-input-number>                <span v-else>{{ row.goodsNum }}</span>              </tempalte>              <template slot-scope="{ type, size, row, index, disabled }" slot="menu">                <el-button                  :size="size"                  :disabled="editButton || form.status == 1 || row.isDeleted == 1"                  :type="type"                  :icon="row.$cellEdit ? 'el-icon-plus' : 'el-icon-edit'"                  @click="rowEdit(row, index)"                  >{{ row.$cellEdit ? "保存" : "编辑" }}                </el-button>                <el-button                  :icon="row.isDeleted == 1 ? 'el-icon-refresh-left' : 'el-icon-delete'"                  :size="size"                  :disabled="editButton || form.status == 1"                  :type="type"                  @click="rowDel(row, index, 'centerShipPaymentCostList')"                  >{{ row.isDeleted == 1 ? "恢复" : "删除" }}                </el-button>              </template>            </avue-crud>          </el-tab-pane>        </el-tabs>      </trade-card>      <report-dialog :switchDialog="switchDialog" reportName="中心仓-出库" :reportId="form.id" @onClose="onClose()"></report-dialog>    </div>    <el-dialog title="导入明细" append-to-body :visible.sync="excelBox" v-if="excelBox" width="555px" :close-on-click-modal="false" v-dialog-drag>      <avue-form :option="excelOption" v-model="excelForm" table-loading="excelLoading" :upload-before="uploadBefore" :upload-after="uploadAfter">        <template slot="excelTemplate">          <el-button type="primary" @click="derivation"> 点击下载<i class="el-icon-download el-icon--right"></i> </el-button>        </template>      </avue-form>      <p style="text-align: center;color: #DC0505">        温馨提示 第一次导入时请先下载模板      </p>    </el-dialog>    <el-dialog      title="选择库存"      append-to-body      class="el-dialogDeep"      :visible.sync="dialogVisible"      width="80%"      :close-on-click-modal="false"      :destroy-on-close="true"      :close-on-press-escape="false"      @close="closeGoods"    >      <el-row :style="{ height: rowHeight }">        <el-col :span="5">          <div>            <el-scrollbar>              <basic-container>                <avue-tree style="height: 60vh;overflow-y: auto" :option="treeOption" :data="treeDataGoods" @node-click="nodeClick" />              </basic-container>            </el-scrollbar>          </div>        </el-col>        <el-col :span="19">          <basic-container>            <avue-crud              :option="optionTwo"              :table-loading="loading"              :data="goodsListShow"              ref="crud"              :search.sync="SelectSearch"              @refresh-change="refreshChange"              @selection-change="selectionChange"              @search-change="goodsSearch"              :page.sync="page"              @on-load="onLoadfun"            >              <template slot="menuLeft">                <el-tabs v-model="activeNameTabs" @tab-click="tabHandle">                  <el-tab-pane label="查询结果" name="searchList" />                  <el-tab-pane label="已选定数据" name="importStaging" />                </el-tabs>              </template>              <template slot="goodsNum" slot-scope="{ row }">                <el-input-number                  v-model="row.goodsNum"                  size="small"                  :controls="false"                  :precision="numberDecimal"                  @input="amountChange($event, row)"                  style="width: 100%"                />              </template>              <!-- <template slot="price" slot-scope="{row}">                                <el-input-number v-model="row.price" size="small" :controls="false"                                    style="width: 100%" />                            </template> -->              <template slot-scope="scope" slot="menu">                <el-button                  type="text"                  icon="el-icon-edit"                  size="small"                  @click.stop="importStagList(scope.row, scope.index)"                  v-if="activeNameTabs == 'searchList'"                  :disabled="goodsListSave.findIndex(item => item.id == scope.row.id) !== -1"                  >选择                </el-button>                <el-button type="text" icon="el-icon-delete" size="small" @click.stop="removeStagList(scope.row, scope.index)" v-else                  >移除                </el-button>              </template>              <template slot="inventory" slot-scope="scope">                <span style="color: #489fef">                  {{ Number(scope.row.inventory) }}                </span>              </template>            </avue-crud>          </basic-container>        </el-col>      </el-row>      <span slot="footer" class="dialog-footer">        <el-button @click="dialogVisible = false" :loading="saveLoading">取 消</el-button>        <el-button type="primary" @click="importGoods" v-if="commodityData !== true" :loading="saveLoading">导入</el-button>        <!--<el-button type="primary" @click="importChoice" v-if="commodityData === true" :loading="saveLoading"-->        <!--           :disabled="tableData.length !== 1">导入</el-button>-->      </span>    </el-dialog>    <el-dialog title="驳回数据" append-to-body :visible.sync="approveVisible" width="30%" :close-on-click-modal="false" v-dialog-drag>      <span>        <el-input type="textarea" :rows="5" placeholder="请输入驳回原因" v-model="auditMsg"> </el-input>      </span>      <span slot="footer" class="dialog-footer">        <el-button @click="approveVisible = false" size="mini">取消</el-button>        <el-button          type="danger"          @click="            approveVisible = false;            auditPlan(3);          "          size="mini"          >确定</el-button        >      </span>    </el-dialog>  </div></template><script>import { getDetails as getCustom } from "@/api/tirePartsMall/basicData/customerInformation";import { getDetails as getDetailsGods } from "@/api/tirePartsMall/basicData/commodityInformation";import { goodsListXs, goodsPageXs } from "@/api/tirePartsMall/salesManagement/saleOrder";import {getDetails, submitOutPlan, itemRemove, auditPlan, revokePlanOut, feeSubmit} from "@/api/storehouse/plan.js";import { dotList, goodsDetail } from "@/api/tirePartsMall/purchasingManagement/warehouseEntryOrder";import reportDialog from "@/components/report-dialog/main";import { dateFormat } from "@/util/date";import checkSchedule from "@/components/checkL/checkSchedule";import check from "@/components/checkL/check";import commodityxsho from "../configuration/commodityxsho.json";import { getCorpTypes } from "@/api/tirePartsMall/basicData/commodityInformation";import SearchQuery from "@/components/iosbasic-data/searchquery.vue";import { getToken } from "@/util/auth";import { isProcurement } from "@/api/basicData/configuration";import { getList as inventoryList } from "@/api/tirePartsMall/inventory";import dicSelect from "@/components/dicSelect/main";import { stockGoodsList } from "@/api/storehouse/stock.js";import _ from "lodash";export default {  name: "detailsPage",  data() {    return {      auditMsg: null,      approveVisible: false,      excelBox: false,      inventoryData2: [],      numberDecimal: 0,      goodsType: 1,      inventoryOption: {        header: false,        menu: false,        column: [          {            label: "商品名称",            prop: "cname",            overHidden: true          },          {            label: "仓库",            prop: "storageName",            overHidden: true          },          {            label: "库存数量",            prop: "balanceQuantity",            overHidden: true          },          {            label: "批次号",            prop: "dot",            overHidden: true          }        ]      },      inventoryOption2: {        header: false,        menu: true,        menuWidth: 90,        editBtn: false,        delBtn: false,        column: [          {            label: "商品名称",            prop: "cname",            overHidden: true          },          {            label: "仓库",            prop: "storageName",            overHidden: true          },          {            label: "库存数量",            prop: "balanceQuantity",            overHidden: true          },          {            label: "批次号",            prop: "dot",            overHidden: true          }        ]      },      inventoryData: [],      SelectSearch: {}, // 添加商品检索      // 编辑还是保存      mingxibaocun: true,      // 批次号请求到的数据      picihaolist: [],      // 添加商品弹窗      dialogVisible: false,      // 弹窗高度      rowHeight: "",      // 左侧选择搜索      treeDataGoods: [],      treeDeptId: "",      page: {        pageSize: 10,        currentPage: 1,        total: 0,        pageSizes: [10, 50, 100, 300, 500]      },      pageList: {        pageSize: 10,        currentPage: 1,        total: 0      },      // 左侧选择      treeOption: {        addBtn: false,        menu: false,        size: "small",        props: {          labelText: "标题",          label: "title",          value: "id"        }      },      templateUrl: "", // 模板url      // 表格需要的配置      optionTwo: commodityxsho,      loading: false,      // 商品列表数据合计      goodsListShow: [],      // 商品列表暂存      goodsListSave: [],      saveLoading: false,      commodityData: false,      surplusRouteQuantityOption: [],      tableData: [],      // tabs切换      activeNameTabs: "searchList",      data: [],      courierCompaniesList: [],      inventory: 0,      isStatus: 1,      goodsIdoptions: [],      dicUrlWithCustomId: "",      sharedCompanyId: 0,      isAddBtn: true, // 添加商品的是否禁用      isSaveBtn: false, // 大保存的是否禁用      viewDisabled: false, // 大审批的是否禁用      isAdd: false, // 表格按钮的是否点击      editButton: false, // 大编辑大隐藏显示      goods: [],      isDisabled: false, // 表格删除的是否禁用      isDisabledTask: false, // 撤销任务和生成任务的是否禁用      contactsOption: [],      isContacts: false, // 表单的联系人是否禁用      checkData: {},      buttonText: "生成任务", // 生成任务和撤销任务文本      buttonColor: "success", // 初始颜色为success  生成任务和撤销任务颜色状态      checkScheduleDialog: false, // 审批进度的弹窗开启关闭      isApplySettlement: true, // 申请退款的是否禁用      isConfirmRefundBtn: true, // 确认退款的是否禁用      isExamineBtn: true, // 审批是否禁用      isRevocationRequest: true, // 撤销审核是否禁用      checkDialog: false, // 审核弹窗的开启关闭      checkId: "",      batchNo: "",      switchDialog: false, // 打印弹窗的开启和关闭      activeName: "sale_detail",      disabled: false, // 表格按钮的禁用      key: 0,      form: {        planItemsList: [],        centerShipCostList: [],        centerShipPaymentCostList: [],        status: 0,        bsType: "CP"      },      excelOption: {        submitBtn: false,        emptyBtn: false,        column: [          {            label: "模板下载",            prop: "excelTemplate",            formslot: true,            span: 24          },          {            label: "导入明细",            prop: "excelFile",            type: "upload",            drag: true,            loadText: "上传中,请稍等",            accept: ".xls,.xlsx",            span: 24,            propsHttp: {              res: "data"            },            tip: "请上传 .xls,.xlsx 标准格式文件",            action: "/api/blade-sales-part/ship/import-item"          }        ]      },      customerData: [], // 货主数据      optionForm: {        menuBtn: false,        span: 8,        disabled: false,        labelWidth: 100,        column: [          {            label: "货主",            prop: "customerName",            disabled: false,            formslot: true,            rules: [              {                required: true,                message: " ",                trigger: "blur"              }            ]          },          {            label: "联系人",            type: "select",            prop: "contacts",            disabled: false,            allowCreate: true,            filterable: true,            dicData: [],            props: {              label: "address",              value: "id"            },            dicUrl: "/api/blade-sales-part/corpsAddr/corpIdByAddr?pid={{key}}"          },          {            label: "电话",            prop: "phone",            disabled: false,            type: "number",            controls: false,            precision: 0,            max: 99999999999          },          {            label: "收货地址",            prop: "recAddress",            type: "select",            allowCreate: true,            filterable: true,            disabled: false,            props: {              label: "address",              value: "address"            },            dicUrl: "/api/blade-sales-part/corpsAddr/corpIdByAddr?pid={{key}}"          },          {            label: "仓库",            prop: "storageName",            type: "select",            disabled: false,            // props: {            //     label: 'cname',            //     value: 'id'            // },            // dicUrl: '/api/blade-sales-part/tire/center/warehouse/storage/storageSelectedList',            rules: [              {                required: true,                message: " ",                trigger: "blur"              }            ]          },          {            label: "出库日期",            prop: "businesDate",            searchProp: "businesDateList",            disabled: false,            type: "datetime",            value: dateFormat(new Date(), "yyyy-MM-dd"),            format: "yyyy-MM-dd",            valueFormat: "yyyy-MM-dd",            rules: [              {                required: true,                message: "",                trigger: "blur"              }            ]          },          {            label: "制单人",            prop: "createUserName",            disabled: true          },          {            label: "单据编号",            prop: "ordNo",            disabled: true          },          {            label: "配送方式",            type: "select",            prop: "shipType",            disabled: false,            dicUrl: "/api/blade-system/dict-biz/dictionary?code=deliveryMethod",            props: {              label: "dictValue",              value: "dictValue"            },            value: "物流"          },          {            label: "货运公司",            type: "select",            prop: "logisticsCorpName",            allowCreate: true,            filterable: true,            disabled: false,            dicUrl: "/api/blade-system/dict-biz/dictionary?code=tyre_express_company",            props: {              label: "dictValue",              value: "dictValue"            }          },          {            label: "货运单号",            disabled: false,            prop: "expressNo"          },          {            label: "库管",            prop: "warehouseKeeperName"          },          {            label: "备注",            prop: "remarks",            type: "textarea",            disabled: false,            span: 24,            minRows: 2          }        ]      },      optionContacts: {},      optionContactsBack: {        disabled: false,        border: true,        align: "center",        index: true,        addBtnText: "选择库存",        updateBtnText: "保存",        refreshBtn: false,        dialogDrag: true,        addBtn: false,        span: 8,        height: 500,        // 添加        addRowBtn: false,        // 保存按钮        editBtn: false,        // 航编辑开启        // cellBtn: true,        rowKey: "ids",        delBtn: false,        menuWidth: 140,        dialogTop: 25,        dialogWidth: "80%",        summaryText: this.$t("land118n.total"),        showSummary: true,        selection: true,        sumColumnList: [          {            name: "goodsNum",            type: "sum"          },          {            name: "sendNum",            type: "sum"          },          {            name: "profit",            type: "sum"          },          {            name: "subTotalMoney",            type: "sum"          },          {            name: "thisAmount",            type: "sum"          },          {            name: "costprie",            type: "sum"          },          {            name: "grossProfit",            type: "sum"          },          {            name: "returnsNumber",            type: "sum"          },          {            name: "returnsAmount",            type: "sum"          }        ],        column: [          {            label: "入库单号",            prop: "billNo",            width: 100,            overHidden: true          },          {            label: "轮胎名称",            prop: "goodsName",            width: 250,            disabled: false,            remote: true,            overHidden: true          },          {            label: "库区",            prop: "regionName",            // cell: true,            // slot: true,            // formslot: true,            overHidden: true            // rules: [{            //     required: true,            //     message: " ",            //     trigger: "blur"            // }]          },          {            label: "数量",            prop: "goodsNum",            cell: true,            slot: true,            formslot: true,            overHidden: true,            rules: [              {                required: true,                message: " ",                trigger: "blur"              }            ]          },          // {          //     label: '价格',          //     prop: 'price',          //     overHidden: true,          //     width: 100          // },          {            label: "库存",            prop: "inventory",            overHidden: true,            width: 100          },          {            label: "批次号",            prop: "dot",            width: 100,            overHidden: true          },          {            label: "轮胎编码",            prop: "goodsNo",            overHidden: true,            disabled: false,            width: 100          },          {            label: "品牌",            prop: "brandName",            disabled: false,            width: 100,            overHidden: true          },          {            label: "规格型号",            prop: "propertyName",            overHidden: true,            disabled: false,            width: 100          },          {            label: "花纹",            prop: "pattern",            overHidden: true,            disabled: false,            width: 100          },          {            label: "轮胎描述",            prop: "goodsDescription",            disabled: false,            overHidden: true,            width: 100          },          {            label: "单位",            prop: "units",            // type: "select",            // disabled: false,            // props: {            //     label: "dictValue",            //     value: "dictValue"            // },            // dicUrl: "/api/blade-system/dict-biz/dictionary?code=unit",            overHidden: true,            width: 100          },          // {          //     label: '发货数量',          //     prop: 'sendNum',          //     overHidden: true,          //     width: 100,          //     disabled: true,          //     editDisplay: false,          //     addDisplay: false          // },          // {          //     label: '小计',          //     prop: 'subTotalMoney',          //     overHidden: true,          //     width: 100,          //     disabled: true,          //     editDisplay: false,          //     addDisplay: false          // },          {            label: "备注",            prop: "remarks",            overHidden: true,            width: 100,            disabled: false          }        ]      },      selectionMultilist: [], // 多选数据      optionOutboundRecords: {},      optionOutboundRecordsBack: {        height: "auto",        calcHeight: 30,        menuWidth: 120,        align: "center",        border: true,        menu: true,        refreshBtn: false,        addBtn: false,        span: 8,        addRowBtn: false,        editBtn: false,        delBtn: false,        column: [          {            label: "index",            prop: "index",            width: "55",            headerslot: true          },          {            label: "费用名称",            prop: "costName",            headerslot: true,            cell: true,            slot: true,            formslot: true,            rules: [              {                required: true,                message: " ",                trigger: "blur"              }            ]          },          {            label: "单价",            prop: "costPrice",            headerslot: true,            cell: true,            slot: true,            formslot: true,            rules: [              {                required: true,                message: " ",                trigger: "blur"              }            ]          },          {            label: "数量",            prop: "goodsNum",            headerslot: true,            cell: true,            slot: true,            formslot: true,            rules: [              {                required: true,                message: " ",                trigger: "blur"              }            ]          },          {            label: "金额",            prop: "costAmount",            headerslot: true          },          {            label: "备注",            prop: "remark",            cell: true,            headerslot: true          }        ]      }    };  },  components: { SearchQuery, reportDialog, check, checkSchedule, dicSelect },  props: {    onLoad: Object,    detailData: Object  },  async created() {    this.optionContacts = await this.getColumnData(this.getColumnName(474), this.optionContactsBack);    this.optionOutboundRecords = await this.getColumnData(this.getColumnName(475), this.optionOutboundRecordsBack);    this.key++;    if (this.onLoad.id && this.detailData.id) {      this.$set(this.optionForm, "disabled", true);      this.$set(this.optionContactsBack, "disabled", true);      this.editButton = true;      this.getDetail(this.onLoad.id, true);    } else if (this.onLoad.id) {      this.getDetail(this.onLoad.id, true);    }    isProcurement({ param: "number.decimal" }).then(res => {      this.numberDecimal = res.data.data ? Number(res.data.data) : 0;    });  },  methods: {    uploadExceed(limit, files, fileList, column) {      this.$message.error("超出上传限制文件数量");    },    inEdit() {      if (this.form.status != 1) {        this.editButton = false;        this.$set(this.optionForm, "disabled", false);        this.$set(this.optionContactsBack, "disabled", false);      }    },    countChange(row) {      row.costAmount = _.multiply(Number(row.costPrice ? row.costPrice : 0), Number(row.goodsNum ? row.goodsNum : 0)).toFixed(2);    },    moneyChange(row) {      row.subTotalMoney = _.multiply(Number(row.price ? row.price : 0), Number(row.goodsNum ? row.goodsNum : 0)).toFixed(2);    },    addRowD() {      // if (!this.form.id) {      //     return this.$message.error('请保存数据')      // }      this.form.centerShipCostList.push({        parentId: this.form.id,        billType: 2,        $cellEdit: true      });    },    addRowC() {      // if (!this.form.id) {      //     return this.$message.error('请保存数据')      // }      this.form.centerShipPaymentCostList.push({        parentId: this.form.id,        billType: 2,        $cellEdit: true      });    },    feeSubmit(type) {      if (!this.form.id) {        return this.$message.error("请保存数据");      }      if (type == "D") {        feeSubmit(this.form.centerShipCostList).then(res => {          this.getDetail(this.form.id);        });      } else {        feeSubmit(this.form.centerShipPaymentCostList).then(res => {          this.getDetail(this.form.id);        });      }    },    dicChange(name, row) {      if (name == "customerName") {        if (row) {          this.form.customerId = row.id;          getCustom({ id: row.id }).then(res => {            if (res.data.data) {              this.dicUrlWithCustomId = res.data.data.id ? res.data.data.id : "";              this.form.contacts = res.data.data.corpsAttnList[0].cname;              this.form.phone = res.data.data.corpsAttnList[0].tel;              this.contactsOption = res.data.data.corpsAddrList;            }          });        } else {          this.form.customerId = null;          this.form.customerName = null;          this.dicUrlWithCustomId = null;          this.form.contacts = null;          this.form.phone = null;        }      }      if (name == "warehouseKeeperName") {        if (row) {          this.form.warehouseKeeper = row.id;          // this.form.warehouseKeeperName=row.realName        } else {          this.form.warehouseKeeper = null;          this.form.warehouseKeeperName = null;        }      }      if (name == "storageName") {        if (row) {          this.form.storageId = row.id;          this.form.storageName = row.cname;        } else {          this.form.storageId = null;          this.form.storageName = null;        }      }    },    rowDicChange(name, row, el) {      if (name == "costName") {        if (row) {          el.costId = row.id;        } else {          el.costId = null;          el.costName = null;        }      }      if (name == "regionName") {        if (row) {          el.regionId = row.id;        } else {          el.regionId = null;          el.regionName = null;        }      }    },    viewInventory() {      this.inventoryData = [];      inventoryList({ cname: this.selectionMultilist[0].goodsName }).then(res => [(this.inventoryData = res.data.data.records)]);    },    uploadAfter(res, done, loading, column) {      if (Array.isArray(res)) {        if (res instanceof Array) {          this.form.planItemsList = this.form.planItemsList.concat(res);          res.forEach(item => {            dotList({              storageId: this.form.storageId,              goodsId: res.goodsId            }).then(e => {              this.findObject(this.optionContactsBack.column, "dot").dicData = e.data.data;            });          });        }        this.excelBox = false;      } else {        this.$message.error(res);      }      loading = false;      done(res);    },    derivation() {      window.open(`${this.templateUrl}?${this.website.tokenHeader}=${getToken()}&stockId=${this.form.storageId}`);    },    uploadBefore(file, done, loading) {      done();      loading = true;    },    // 销售明细 导入按钮    excelDialogfun(name) {      if (!this.form.customerId) {        this.$message.error("请选择货主");        return;      }      if (!this.form.storageId) {        this.$message.error("请选择仓库");        return;      }      if (name == "名称") {        this.findObject(this.excelOption.column, "excelFile").action =          "/api/blade-sales-part/tire/center/warehouse/stockDesc/import-item-name/" + this.form.storageId;        this.templateUrl = "/api/blade-sales-part/tire/center/warehouse/stockDesc/exportStockNameTemplate";      } else if (name == "code") {        this.findObject(this.excelOption.column, "excelFile").action =          "/api/blade-sales-part/tire/center/warehouse/stockDesc/import-item-code/" + this.form.storageId;        this.templateUrl = "/api/blade-sales-part/tire/center/warehouse/stockDesc/exportStockTemplate";      }      this.excelBox = true;    },    // 获取左侧筛选    getAllWorkDicts() {      getCorpTypes({ whetherIntegral: "0" }).then(res => {        this.treeDataGoods = res.data.data;      });    },    //导入页左商品类型查询    nodeClick(data) {      this.treeDeptId = data.id;      this.page.currentPage = 1;      this.onLoadfun(this.page, { ...this.SelectSearch, goodsTypeId: this.treeDeptId });    },    closeGoods() {      this.treeDataGoods = [];      this.treeDeptId = "";      this.activeNameTabs = "searchList";      this.goodsType = 1;    },    //刷新触发    refreshChange() {      this.page.currentPage = 1;      this.onLoadfun(this.page);    },    //选中触发    selectionChange(list) {      this.tableData = list;    },    // 点击搜索触发    goodsSearch(params, done) {      this.page.currentPage = 1;      params = {        ...params,        artsVision: this.form.belongToCorpId      };      // params.specificationAndModel = params.cname      // delete params.cname      this.onLoadfun(this.page, params);      done();    },    // 标签页切换    tabHandle(data) {      if (data.name == "searchList") {        this.goodsListShow = this.data;        this.page.total = this.pageList.total;      } else if (data.name == "importStaging") {        this.goodsListShow = this.goodsListSave;        this.page.total = 0;      }    },    // 商品信息价格计算    amountChange(value, row) {      if (value > 0) {        this.$refs.crud.toggleRowSelection(row, true);      } else {        this.$refs.crud.toggleRowSelection(row, false);      }      // 价格      // if (!row.price) {      //     row.price = 0;      // }    },    importStagList(row, index, type) {      this.goodsListSave.push(row);    },    removeStagList(row, index, type) {      this.goodsListSave.splice(row.$index, 1);    },    //确认导入触发    async importGoods() {      this.surplusRouteQuantityOption.push({ storageQuantity: "0" });      if (this.goodsListSave.length > 0) {        this.goodsListSaveHandle();      } else {        if (this.tableData.length > 0) {          this.tableDataHandle();        }      }    },    // 导入按钮事件    tableDataHandle() {      // 循环获取库存数量      for (let item of this.tableData) {        let page = {};        if (this.form.storageId) {          page.storageId = this.form.storageId;        }        page.goodsId = item.goodsId;        let obj = {          billId: item.planId,          billNo: item.planNo,          goodsId: item.goodsId,          price: item.price,          goodsName: item.cname,          goodsNum: item.goodsNum,          brandName: item.brandName,          brandId: item.brandId,          goodsNo: item.code,          propertyName: item.typeNo,          inventory: item.balanceQuantity,          pattern: item.brandItem,          goodsDescription: item.goodsDescription,          dot: item.dot,          regionId: item.regionId,          regionName: item.regionName,          // poNo: item.poNo,          whether: item.whether,          units: item.unit,          // 小计          subTotalMoney: Number(item.goodsNum * item.price) ? Number(item.goodsNum * item.price).toFixed(2) : 0,          // 备注          remarks: item.remarks,          // 批次号的状态          dotedittype: false,          // 价格数量          goodsNumtype: false,          // 价格          pricetype: false,          // sendNum: 0,          // 是否是编辑状态          $cellEdit: true        };        if (item.goodsFilesList && item.goodsFilesList.length) {          for (let ite of item.goodsFilesList) {            if (ite.version == "0") {              obj.url = ite.url;            }          }        }        this.form.planItemsList.push(obj);      }      this.mingxibaocun = false;      this.dialogVisible = false;    },    // 导入    goodsListSaveHandle() {      this.tableData = this.goodsListSave;      this.tableDataHandle();    },    // 获取添加商品弹窗里的数据    goodsPageXsfun() {      goodsPageXs({        customId: this.form.customerId,        stock: this.form.storageId,        enableOrNot: 1,        whetherIntegral: "0"      }).then(res => {        const data = res.data.data;        this.goodsListShow = data.records;      });    },    //导入商品弹窗列表查询    onLoadfun(page, params = { artsVision: this.form.belongToCorpId }) {      this.goodsListShow = [];      this.loading = true;      if (this.goodsType == 1) {        stockGoodsList({          current: page.currentPage,          size: page.pageSize,          customerId: this.form.customerId,          storageId: this.form.storageId,          goodsTypeId: this.treeDeptId,          ...Object.assign(params, this.SelectSearch),          whetherIntegral: "0"        }).then(res => {          const data = res.data.data;          this.page.total = data.total;          this.pageList.total = data.total;          this.data = data.records;          this.goodsListShow = data.records;          for (let item of this.goodsListShow) {            item.goodsNum = item.goodsNum ? item.goodsNum : 0;          }          this.loading = false;        });      }    },    // 数量失焦触发    goodsNumblurfun(row) {      if (Number(row.goodsNum) > Number(row.inventory)) {        this.$message.warning("不能大于库存数量");        return;      }    },    //联系人change    contactsChange(e) {      // 假设this.contactsOption是你的数组对象      let matchedContact = this.contactsOption.find(item => item.contacts == e);      // 判断是否找到匹配的对象      this.$set(this.form, "phone", matchedContact.tel);      this.$set(this.form, "recAddress", matchedContact.belongtoarea + matchedContact.detailedAddress);    },    isMobile(s) {      return /^1[0-9]{10}$/.test(s);    },    //修改提交触发    editCustomer(type) {      this.$refs["form"].validate((valid, done) => {        done();        if (valid) {          if (!this.isMobile(this.form.phone)) {            return this.$message.error("请正确输入电话");          }          for (let row of this.form.planItemsList.filter(item => item.isDeleted != 1)) {            if (!row.goodsNum) {              this.$refs.formContacts.rowCell(row, row.$index);              return this.$message.error("请完善库存明细信息");            }          }          for (let row of this.form.centerShipCostList.filter(item => item.isDeleted != 1)) {            if (!row.costName || !row.goodsNum || !row.costPrice) {              this.$refs.outbound_records.rowCell(row, row.$index);              return this.$message.error("请完善收费明细信息");            }          }          for (let row of this.form.centerShipPaymentCostList.filter(item => item.isDeleted != 1)) {            if (!row.costName || !row.goodsNum || !row.costPrice) {              this.$refs.outbound_records2.rowCell(row, row.$index);              return this.$message.error("请完善付费明细信息");            }          }          let obj = {            ...this.form,            status: type          };          const loading = this.$loading({            lock: true,            text: "加载中",            spinner: "el-icon-loading",            background: "rgba(255,255,255,0.7)"          });          submitOutPlan(obj)            .then(res => {              this.$message.success(type === 1 ? "提交成功" : "保存成功");              this.getDetail(res.data.data);            })            .finally(() => {              loading.close();            });        } else {          return false;        }      });    },    //关闭弹窗表单    beforeClose(done, type) {      console.log("this.form.sharedCompanyId", this.form.sharedCompanyId);      console.log("this.form.sharedCompanyName", this.form.sharedCompanyName);      done();    },    getDetail(id, type) {      const loading = this.$loading({        lock: true,        text: "加载中",        spinner: "el-icon-loading",        background: "rgba(255,255,255,0.7)"      });      getDetails({ id: id })        .then(res => {          this.form = res.data.data;          this.$nextTick(() => {            this.$refs.formContacts.doLayout();          });          if (res.data.data.status == 1) {            this.$set(this.optionForm, "disabled", true);            this.$set(this.optionContactsBack, "disabled", true);            this.editButton = true;          }        })        .finally(() => {          loading.close();        });    },    rowEdit(row, index) {      if (row.$cellEdit) {        this.$set(row, "$cellEdit", false);      } else {        this.$set(row, "$cellEdit", true);      }    },    rowDel(row, index, list) {      if (row.isDeleted == 1) {        row.isDeleted = 0;      } else {        this.$confirm("确定将选择数据删除?", {          confirmButtonText: "确定",          cancelButtonText: "取消",          type: "warning"        }).then(() => {          if (row.id) {            // itemRemove({ ids: row.id }).then(res => {            //     this.form.planItemsList.splice(index, 1);            //     this.$message.success("操作成功!");            // });            row.isDeleted = 1;            this.$set(row, "$cellEdit", false);          } else {            this.form[list].splice(index, 1);          }        });      }    },    // 明细信息多选    selectionContacts(list) {      this.selectionMultilist = list;    },    // 一键删除    batchDelete() {      if (this.selectionMultilist.length == 0) {        return this.$message.warning("请选择要删除的数据");      }      this.$confirm("确定将选择数据删除?", {        confirmButtonText: "确定",        cancelButtonText: "取消",        type: "warning"      }).then(() => {        let multiList = this.selectionMultilist;        let arr = this.form.planItemsList;        // 获取有id 的数据        const itemsWithId = multiList.filter(item => item.hasOwnProperty("id"));        let arrIds = itemsWithId.map(item => item.id); // 获取id 数据        // 把选中的删除掉        multiList.forEach(item => {          for (let index in arr) {            if (JSON.stringify(item) == JSON.stringify(arr[index])) {              arr.splice(Number(index), 1);            }          }        });        // 有id 的处理        if (itemsWithId.length != 0) {          itemRemove({ ids: arrIds.join(",") }).then(res => {            this.$message.success("操作成功!");          });        }      });    },    approve(type) {      this.approveVisible = true;      this.auditMsg = null;    },    auditPlan(type) {      if (type == 2) {        this.$confirm("是否提交审核?", "提示", {          confirmButtonText: "确定",          cancelButtonText: "取消",          type: "warning"        }).then(() => {          let obj = {            id: this.form.id,            status: type,            auditMsg: type == 3 ? this.auditMsg : null,            version: this.form.version          };          auditPlan(obj).then(res => {            this.getDetail(this.form.id);          });        });      }      if (type == 3) {        let obj = {          id: this.form.id,          status: type,          auditMsg: type == 3 ? this.auditMsg : null,          version: this.form.version        };        auditPlan(obj).then(res => {          this.getDetail(this.form.id);        });      }    },    // 新增商品    rowAdd(row, type) {      if (!this.form.customerId) {        this.$message.error("请选择货主");        return;      }      if (!this.form.storageId) {        this.$message.error("请选择仓库");        return;      }      this.goodsType = type;      this.getAllWorkDicts();      this.goodsListSave = [];      setTimeout(res => {        this.refreshChange();        this.dialogVisible = true;      }, 300);    },    //打印    handlePrint() {      this.switchDialog = !this.switchDialog;    },    onClose(val) {      this.switchDialog = val;    },    //自定义列保存    async saveColumnTwo(ref, option, optionBack, code) {      /**       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码       */      const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);      if (inSave) {        this.$message.success("保存成功");        //关闭窗口        this.$refs[ref].$refs.dialogColumn.columnBox = false;      }    },    //自定义列重置    async resetColumnTwo(ref, option, optionBack, code) {      this[option] = this[optionBack];      const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);      if (inSave) {        this.$message.success("重置成功");        this.$refs[ref].$refs.dialogColumn.columnBox = false;      }    },    backToList(type) {      this.$emit("backToList", type);    }  }};</script><style lang="scss" scoped>::v-deep .el-form-item {  margin-bottom: 8px !important;}::v-deep .el-dialog__body {  padding: 10px 20px;}::v-deep .el-table .cell {  padding: 0 2px !important;  .el-form-item {    margin-bottom: 0px !important;  }}::v-deep .avue-crud .el-table .el-form-item__label {  left: -1px;}</style>
 |