Ver Fonte

修改中心仓
修改JMS

Qukatie há 1 mês atrás
pai
commit
10edcc9643

+ 7 - 0
src/api/storehouse/plan.js

@@ -30,6 +30,13 @@ export const submit = (data) => {
         data: data
     })
 }
+export const feeSubmit = (data) => {
+    return request({
+        url: '/api/blade-sales-part/tire/center/warehouse/plan/savePlanCostn',
+        method: 'POST',
+        data: data
+    })
+}
 export const submitOutPlan = (data) => {
     return request({
         url: '/api/blade-sales-part/tire/center/warehouse/plan/submitOutPlan',

+ 1 - 1
src/views/iosBasicData/OceanFreightImport/bills/billsDetails.vue

@@ -425,7 +425,7 @@
                                 </el-tab-pane>
                             </el-tabs>
                         </basic-container>
-                        <basic-container :showBtn="true" v-if="
+                        <basic-container :showBtn="true" v-show="
                             activeName == 'first' || activeName == 'third'
                         ">
                             <formbottom :assemblyForm="form" :generateBillsfalse="generateBillsfalse"

+ 1 - 1
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -260,7 +260,7 @@
                                 </el-tab-pane>
                             </el-tabs>
                         </basic-container>
-                        <basic-container :showBtn="true" v-if="activeName == 'first' || activeName == 'third'">
+                        <basic-container :showBtn="true" v-show="activeName == 'first' || activeName == 'third'">
                             <formbottom :assemblyForm="form" :generateBillsfalse="generateBillsfalse"
                                 :disabled="showLock" :detailData="detailData"></formbottom>
                         </basic-container>

+ 1545 - 1351
src/views/storehouse/inStockManage/inStockPlan/detailsPage.vue

@@ -1,25 +1,51 @@
 <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&#45;&#45;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="warning" size="small"
-                           @click="revokePlan()" v-if="Number(form.status) === 1">撤 销
-                </el-button>
-                <el-button class="el-button--small-yh" style="margin-left: 6px;" type="success" size="small" v-if="!editButton"
-                    @click="editCustomer(1)" :disabled="form.status == 1">提 交
-                </el-button>
-                <!-- <el-dropdown v-if="form.status == 1">
+  <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&#45;&#45;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="warning"
+          size="small"
+          @click="revokePlan()"
+          v-if="Number(form.status) === 1"
+          >撤 销
+        </el-button>
+        <el-button
+          class="el-button--small-yh"
+          style="margin-left: 6px;"
+          type="success"
+          size="small"
+          v-if="!editButton"
+          @click="editCustomer(1)"
+          :disabled="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>
@@ -28,1396 +54,1564 @@
                         <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&corpType=KH"
-                            :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" ref="formContacts" :data="form.planItemsList" :key="key"
-                            @row-update="rowUpdate" @row-close="rowClose" :before-close="beforeClose"
-                            @selection-change="selectionContacts"
-                            @resetColumn="resetColumnTwo('formContacts', 'optionContacts', 'optionContactsBack', 477)"
-                            @saveColumn="saveColumnTwo('formContacts', 'optionContacts', 'optionContactsBack', 477)">
-                            <template slot-scope="{scope,row}" slot="menuLeft">
-                                <el-button type="primary" icon="el-icon-plus" size="small"
-                                    :disabled="editButton || form.status == 1" @click="rowAdd(row)">添加商品
-                                </el-button>
-                                <el-button type="success" size="small" :disabled="editButton || 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"
+      </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&corpType=KH"
+              :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"
+              ref="formContacts"
+              :data="form.planItemsList"
+              :key="key"
+              @row-update="rowUpdate"
+              @row-close="rowClose"
+              :before-close="beforeClose"
+              @selection-change="selectionContacts"
+              @resetColumn="resetColumnTwo('formContacts', 'optionContacts', 'optionContactsBack', 477)"
+              @saveColumn="saveColumnTwo('formContacts', 'optionContacts', 'optionContactsBack', 477)"
+            >
+              <template slot-scope="{ scope, row }" slot="menuLeft">
+                <el-button type="primary" icon="el-icon-plus" size="small" :disabled="editButton || form.status == 1" @click="rowAdd(row)"
+                  >添加商品
+                </el-button>
+                <el-button
+                  type="success"
+                  size="small"
+                  :disabled="editButton || 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="editButton || form.status == 1 || selectionMultilist.length == 0">
                                     一键删除
                                 </el-button> -->
-                            </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"
-                                                 type="number" :min="1" :max="99999"
-                                    :controls="false" :precision="numberDecimal" 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%"
-                                          type="number" :controls="false"
-                                    @change="moneyChange(row)"></el-input>
-                                <span v-else>{{ row.price }}</span>
-                            </template>
-                            <template slot="dot" slot-scope="{row}">
-                                <el-input v-if="row.$cellEdit" v-model="row.dot" size="small" style="width: 100%" />
-                                <span v-else>{{ row.dot }}</span>
-                            </template>
-                            <template slot="rebatePrice" slot-scope="{ row }">
-                                <el-input v-if="row.$cellEdit" size="small" v-model="row.rebatePrice"
-                                    style="width: 100%"></el-input>
-                                <span v-else>{{ row.rebatePrice }}</span>
-                            </template>
-                            <template slot="remarks" slot-scope="{ row }">
-                                <el-input v-if="row.$cellEdit" 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" ref="outbound_records"
-                            :data="form.centerShipCostList" @row-update="rowUpdate"
-                            @resetColumn="resetColumnTwo('outbound_records', 'optionOutboundRecords', 'optionOutboundRecordsBack', 478)"
-                            @saveColumn="saveColumnTwo('outbound_records', 'optionOutboundRecords', 'optionOutboundRecordsBack', 478)">
-                            <template slot="indexHeader" slot-scope="{row,index}">
-                                <el-button type="primary" size="mini" icon="el-icon-plus" :disabled="editButton" circle
-                                    @click="addRow()">
-                                </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)"
-                                                 type="number" :min="1" :max="99999"
-                                    :controls="false" placeholder="请输入 数量" size="small"
-                                    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-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: 70vh;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="dot" slot-scope="{row}">
-                                <el-input v-model="row.dot" size="small" 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>
-                        </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>
-            </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>
+              </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"
+                  type="number"
+                  :min="1"
+                  :max="99999"
+                  :controls="false"
+                  :precision="numberDecimal"
+                  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%"
+                  type="number"
+                  :controls="false"
+                  @change="moneyChange(row)"
+                ></el-input>
+                <span v-else>{{ row.price }}</span>
+              </template>
+              <template slot="dot" slot-scope="{ row }">
+                <el-input v-if="row.$cellEdit" v-model="row.dot" size="small" style="width: 100%" />
+                <span v-else>{{ row.dot }}</span>
+              </template>
+              <template slot="rebatePrice" slot-scope="{ row }">
+                <el-input v-if="row.$cellEdit" size="small" v-model="row.rebatePrice" style="width: 100%"></el-input>
+                <span v-else>{{ row.rebatePrice }}</span>
+              </template>
+              <template slot="remarks" slot-scope="{ row }">
+                <el-input v-if="row.$cellEdit" 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"
+              ref="outbound_records"
+              :data="form.centerShipCostList"
+              @row-update="rowUpdate"
+              @resetColumn="resetColumnTwo('outbound_records', 'optionOutboundRecords', 'optionOutboundRecordsBack', 478)"
+              @saveColumn="saveColumnTwo('outbound_records', 'optionOutboundRecords', 'optionOutboundRecordsBack', 478)"
+            >
+              <template slot-scope="{ scope, row }" slot="menuLeft">
+                <el-button type="primary" icon="el-icon-printer" size="small" @click="feeSubmit()">一键保存</el-button>
+              </template>
+              <template slot="indexHeader" slot-scope="{ row, index }">
+                <el-button type="primary" size="mini" icon="el-icon-plus" :disabled="editButton" circle @click="addRow()"> </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)"
+                  type="number"
+                  :min="1"
+                  :max="99999"
+                  :controls="false"
+                  placeholder="请输入 数量"
+                  size="small"
+                  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="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"
+                  :type="type"
+                  @click="rowDel(row, index, 'centerShipCostList')"
+                  >{{ 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: 70vh;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="dot" slot-scope="{ row }">
+                <el-input v-model="row.dot" size="small" 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>
+            </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>
+      </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 getCustom } from "@/api/tirePartsMall/basicData/customerInformation";
 import { dateFormat } from "@/util/date";
 import { getToken } from "@/util/auth";
 import { dotList, goodsDetail } from "@/api/tirePartsMall/purchasingManagement/warehouseEntryOrder";
 import reportDialog from "@/components/report-dialog/main";
 import checkSchedule from "@/components/checkL/checkSchedule";
 import check from "@/components/checkL/check";
-import { getCorpType, getList } from "@/api/tirePartsMall/basicData/commodityInformation"
+import { getCorpType, getList } from "@/api/tirePartsMall/basicData/commodityInformation";
 import { isProcurement } from "@/api/basicData/configuration";
 import commodity from "../../configuration/commodity.json";
-import { getDetails, submit, itemRemove, auditPlan, revokePlanIn } from "@/api/storehouse/plan.js";
+import { getDetails, submit, itemRemove, auditPlan, revokePlanIn,feeSubmit } from "@/api/storehouse/plan.js";
 import dicSelect from "@/components/dicSelect/main";
 import _ from "lodash";
 export default {
-    name: "detailsPage",
-    data() {
-        return {
-            auditMsg: null,
-            approveVisible: false,
-            excelBox: false,
-            numberDecimal: 0,
-            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: "value",
-                }
-            },
-            // 表格需要的配置
-            optionTwo: commodity,
-            loading: false,
-            // 商品列表数据合计
-            goodsListShow: [],
-            // 商品列表暂存
-            goodsListSave: [],
-            saveLoading: false,
-            commodityData: false,
-            surplusRouteQuantityOption: [],
-            tableData: [],
-            // tabs切换
-            activeNameTabs: 'searchList',
-            data: [],
-
-            inventory: 0,
-            isStatus: 1,
-            // 商品名称
-            goodsIdoptions: [],
-            dataList: [],
-            dicUrlWithCustomId: '',
-            sharedCompanyId: 0,
-            isAddBtn: false,
+  name: "detailsPage",
+  data() {
+    return {
+      auditMsg: null,
+      approveVisible: false,
+      excelBox: false,
+      numberDecimal: 0,
+      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: "value"
+        }
+      },
+      // 表格需要的配置
+      optionTwo: commodity,
+      loading: false,
+      // 商品列表数据合计
+      goodsListShow: [],
+      // 商品列表暂存
+      goodsListSave: [],
+      saveLoading: false,
+      commodityData: false,
+      surplusRouteQuantityOption: [],
+      tableData: [],
+      // tabs切换
+      activeNameTabs: "searchList",
+      data: [],
 
-            viewDisabled: false, // 请核和大审批按钮是否禁用
-            isApplySettlement: false, // 请核数据按钮是否禁用
-            isRevocationRequest: true, // 撤销审核
-            isExamineBtn: true,  // 审批
-            isAdd: false,
-            editButton: false, // 编辑按钮和保存按钮的显示隐藏
-            isSaveBtn: false, // 保存的禁用
-            isDisabledTask: false, // 生成,撤销任务按钮是否禁用
-            buttonText: '生成任务',
-            buttonColor: 'success', // 初始颜色为success
-            isContacts: false, // 基础信息插槽禁用
+      inventory: 0,
+      isStatus: 1,
+      // 商品名称
+      goodsIdoptions: [],
+      dataList: [],
+      dicUrlWithCustomId: "",
+      sharedCompanyId: 0,
+      isAddBtn: false,
 
-            goods: [],
-            isDisabled: false,
+      viewDisabled: false, // 请核和大审批按钮是否禁用
+      isApplySettlement: false, // 请核数据按钮是否禁用
+      isRevocationRequest: true, // 撤销审核
+      isExamineBtn: true, // 审批
+      isAdd: false,
+      editButton: false, // 编辑按钮和保存按钮的显示隐藏
+      isSaveBtn: false, // 保存的禁用
+      isDisabledTask: false, // 生成,撤销任务按钮是否禁用
+      buttonText: "生成任务",
+      buttonColor: "success", // 初始颜色为success
+      isContacts: false, // 基础信息插槽禁用
 
-            //地址
-            recAddressOption: [],
-            contactsOption: [],
+      goods: [],
+      isDisabled: false,
 
-            checkData: {},
+      //地址
+      recAddressOption: [],
+      contactsOption: [],
 
-            checkScheduleDialog: false,
+      checkData: {},
 
-            isConfirmRefundBtn: true,
+      checkScheduleDialog: false,
 
+      isConfirmRefundBtn: true,
 
-            checkDialog: false,
-            checkId: '',
-            batchNo: '',
-            switchDialog: false,
-            activeName: "sale_detail",
-            disabled: false,
-            key: 0,
-            templateUrl: '/api/blade-sales-part/tire/center/warehouse/stockDesc/exportStockTemplate', // 模板url
-            form: {
-                planItemsList: [],
-                centerShipCostList: [],
-                bsType: 'RP',
-                status: 0,
+      checkDialog: false,
+      checkId: "",
+      batchNo: "",
+      switchDialog: false,
+      activeName: "sale_detail",
+      disabled: false,
+      key: 0,
+      templateUrl: "/api/blade-sales-part/tire/center/warehouse/stockDesc/exportStockTemplate", // 模板url
+      form: {
+        planItemsList: [],
+        centerShipCostList: [],
+        bsType: "RP",
+        status: 0
+      },
+      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"
             },
-            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"
-                    }
-                ]
+            tip: "请上传 .xls,.xlsx 标准格式文件",
+            action: "/api/blade-sales-part/ship/import-item"
+          }
+        ]
+      },
+      optionForm: {
+        menuBtn: false,
+        span: 8,
+        disabled: false,
+        labelWidth: 100,
+        column: [
+          {
+            label: "货主",
+            prop: "customerName",
+            disabled: false,
+            rules: [
+              {
+                required: true,
+                message: " ",
+                trigger: "blur"
+              }
+            ]
+          },
+          {
+            label: "联系人",
+            type: "select",
+            prop: "contacts",
+            disabled: false,
+            allowCreate: true,
+            filterable: true,
+            props: {
+              label: "address",
+              value: "id"
             },
-            optionForm: {
-                menuBtn: false,
-                span: 8,
-                disabled: false,
-                labelWidth: 100,
-                column: [{
-                    label: '货主',
-                    prop: "customerName",
-                    disabled: false,
-                    rules: [{
-                        required: true,
-                        message: " ",
-                        trigger: "blur"
-                    }]
-                }, {
-                    label: '联系人',
-                    type: "select",
-                    prop: "contacts",
-                    disabled: false,
-                    allowCreate: true,
-                    filterable: true,
-                    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: "createUserName",
-                    disabled: true,
-                }, {
-                    label: '仓库',
-                    prop: "storageName",
-                    rules: [{
-                        required: true,
-                        message: " ",
-                        trigger: "blur"
-                    }]
-                },
-                {
-                    label: '入库日期',
-                    prop: "businesDate",
-                    searchProp: "businesDateList",
-                    disabled: false,
-                    type: "date",
-                    value: dateFormat(new Date(), 'yyyy-MM-dd'),
-                    format: "yyyy-MM-dd",
-                    valueFormat: "yyyy-MM-dd",
-                    rules: [
-                        {
-                            required: true,
-                            message: "",
-                            trigger: "blur"
-                        }
-                    ]
-                },
-                {
-                    label: '单据编号',
-                    prop: "ordNo",
-                    disabled: true,
-                },
-                {
-                    label: '计划总数量',
-                    prop: "goodsTotalNum",
-                    disabled: true,
-                },
-                {
-                    label: '司机姓名',
-                    prop: "driverName"
-                },
-                {
-                    label: '司机电话',
-                    prop: "driverPhone"
-                },
-                {
-                    label: '车牌号',
-                    prop: "licensePlate"
-                },
-                {
-                    label: '库管',
-                    prop: "warehouseKeeperName"
-                },
-                {
-                    label: '车辆照片',
-                    prop: "vehiclePhoto",
-                    listType: "picture-card",
-                    type: "upload",
-                    limit: 4,
-                    span: 24,
-                    propsHttp: {
-                        url: 'link',
-                        name: 'originalName',
-                        res: 'data'
-                    },
-                    action: '/api/blade-resource/oss/endpoint/put-file',
-                },
-                {
-                    label: '备注',
-                    prop: "remarks",
-                    type: 'textarea',
-                    disabled: false,
-                    span: 24,
-                    minRows: 1
-                }]
+            dicUrl: "/api/blade-sales-part/corpsAddr/corpIdByAddr?pid={{key}}"
+          },
+          {
+            label: "电话",
+            prop: "phone",
+            disabled: false,
+            type: "number",
+            controls: false,
+            precision: 0,
+            max: 99999999999
+          },
+          {
+            label: "制单人",
+            prop: "createUserName",
+            disabled: true
+          },
+          {
+            label: "仓库",
+            prop: "storageName",
+            rules: [
+              {
+                required: true,
+                message: " ",
+                trigger: "blur"
+              }
+            ]
+          },
+          {
+            label: "入库日期",
+            prop: "businesDate",
+            searchProp: "businesDateList",
+            disabled: false,
+            type: "date",
+            value: dateFormat(new Date(), "yyyy-MM-dd"),
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
+            rules: [
+              {
+                required: true,
+                message: "",
+                trigger: "blur"
+              }
+            ]
+          },
+          {
+            label: "单据编号",
+            prop: "ordNo",
+            disabled: true
+          },
+          {
+            label: "计划总数量",
+            prop: "goodsTotalNum",
+            disabled: true
+          },
+          {
+            label: "司机姓名",
+            prop: "driverName"
+          },
+          {
+            label: "司机电话",
+            prop: "driverPhone"
+          },
+          {
+            label: "车牌号",
+            prop: "licensePlate"
+          },
+          {
+            label: "库管",
+            prop: "warehouseKeeperName"
+          },
+          {
+            label: "车辆照片",
+            prop: "vehiclePhoto",
+            listType: "picture-card",
+            type: "upload",
+            limit: 4,
+            span: 24,
+            propsHttp: {
+              url: "link",
+              name: "originalName",
+              res: "data"
             },
-            formContacts: {},
-            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: "price",
-                    type: "sum",
-                    decimals: 2
-                }, {
-                    name: "sendNum",
-                    type: "sum",
-                    decimals: 2
-                }, {
-                    name: "subTotalMoney",
-                    type: "sum",
-                    decimals: 2
-                }, {
-                    name: "returnsNumber",
-                    type: "sum"
-                }, {
-                    name: "returnsAmount",
-                    type: "sum"
-                }],
-                column: [
-                    {
-                        label: '商品名称',
-                        prop: 'goodsName',
-                        width: 200,
-                        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: 'dot',
-                        width: 100,
-                        overHidden: true,
-                    }, {
-                        label: '小计',
-                        prop: 'subTotalMoney',
-                        overHidden: true,
-                        width: 100,
-                        disabled: true,
-                        editDisplay: false,
-                        addDisplay: false
-                    }, {
-                        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',
-                        overHidden: true,
-                        // type: "select",
-                        // disabled: false,
-                        // props: {
-                        //     label: "dictValue",
-                        //     value: "dictValue"
-                        // },
-                        // dicUrl: "/api/blade-system/dict-biz/dictionary?code=unit",
-                        // overHidden: true,
-                        // width: 100
-                    },
-                    {
-                        label: '备注',
-                        prop: "remarks",
-                        overHidden: true,
-                        width: 100,
-                        disabled: false,
+            action: "/api/blade-resource/oss/endpoint/put-file"
+          },
+          {
+            label: "备注",
+            prop: "remarks",
+            type: "textarea",
+            disabled: false,
+            span: 24,
+            minRows: 1
+          }
+        ]
+      },
+      formContacts: {},
+      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: "price",
+            type: "sum",
+            decimals: 2
+          },
+          {
+            name: "sendNum",
+            type: "sum",
+            decimals: 2
+          },
+          {
+            name: "subTotalMoney",
+            type: "sum",
+            decimals: 2
+          },
+          {
+            name: "returnsNumber",
+            type: "sum"
+          },
+          {
+            name: "returnsAmount",
+            type: "sum"
+          }
+        ],
+        column: [
+          {
+            label: "商品名称",
+            prop: "goodsName",
+            width: 200,
+            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: "dot",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "小计",
+            prop: "subTotalMoney",
+            overHidden: true,
+            width: 100,
+            disabled: true,
+            editDisplay: false,
+            addDisplay: false
+          },
+          {
+            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",
+            overHidden: true
+            // type: "select",
+            // disabled: false,
+            // props: {
+            //     label: "dictValue",
+            //     value: "dictValue"
+            // },
+            // dicUrl: "/api/blade-system/dict-biz/dictionary?code=unit",
+            // overHidden: true,
+            // width: 100
+          },
+          {
+            label: "备注",
+            prop: "remarks",
+            overHidden: true,
+            width: 100,
+            disabled: false
+          }
+        ]
+      },
+      selectionMultilist: [], // 多选数据
+      optionPaymentDetails: {},
+      optionPaymentDetailsBack: {
+        align: "center",
+        index: true,
+        addBtnText: "录入明细",
+        menu: false,
+        refreshBtn: false,
+        dialogDrag: true,
+        addBtn: false,
+        span: 8,
+        height: 600,
+        addRowBtn: false,
+        editBtn: false,
+        delBtn: false,
+        menuWidth: 140,
+        dialogTop: 25,
+        dialogWidth: "80%",
+        column: [
+          {
+            label: "支付编号",
+            prop: "serialNumber"
+          },
+          {
+            label: "金额",
+            prop: "amount"
+          },
+          {
+            label: "类型",
+            prop: "type"
+          },
+          {
+            label: "支付时间",
+            prop: "createTime"
+          }
+        ]
+      },
+      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: { reportDialog, check, checkSchedule, dicSelect },
+  props: {
+    onLoad: Object,
+    detailData: Object
+  },
+  async created() {
+    this.optionContacts = await this.getColumnData(this.getColumnName(477), this.optionContactsBack);
+    this.optionOutboundRecords = await this.getColumnData(this.getColumnName(478), 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;
+    });
+  },
+  mounted() {
+    this.$nextTick(() => {
+      // 监听浏览器高度变化,改变表格高度
+      window.onresize = () => {
+        this.rowHeight = window.innerHeight - 130 + "px";
+      };
+    });
+  },
+  methods: {
+    uploadExceed(limit, files, fileList, column) {
+      this.$message.error("超出上传限制文件数量");
+    },
+    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);
+    },
 
-                    }
-                ]
-            },
-            selectionMultilist: [], // 多选数据
-            optionPaymentDetails: {},
-            optionPaymentDetailsBack: {
-                align: 'center',
-                index: true,
-                addBtnText: "录入明细",
-                menu: false,
-                refreshBtn: false,
-                dialogDrag: true,
-                addBtn: false,
-                span: 8,
-                height: 600,
-                addRowBtn: false,
-                editBtn: false,
-                delBtn: false,
-                menuWidth: 140,
-                dialogTop: 25,
-                dialogWidth: "80%",
-                column: [{
-                    label: '支付编号',
-                    prop: 'serialNumber'
-                }, {
-                    label: '金额',
-                    prop: 'amount'
-                }, {
-                    label: '类型',
-                    prop: 'type'
-                }, {
-                    label: '支付时间',
-                    prop: 'createTime'
-                }]
-            },
-            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,
-                    }
-                ]
-            }
-        }
+    revokePlan() {
+      this.$confirm("确定要撤销该入库单吗?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        revokePlanIn(this.form.id).then(res => {
+          this.$message({
+            type: "success",
+            message: "撤销成功!"
+          });
+          this.getDetail(res.data.data, true);
+        });
+      });
+    },
+    addRow() {
+      // if (!this.form.id) {
+      //     return this.$message.error('请保存数据')
+      // }
+      this.form.centerShipCostList.push({
+        parentId: this.form.id,
+        billType:1,
+        goodsNum: this.form.goodsTotalNum,
+        $cellEdit: true
+      });
     },
-    components: { reportDialog, check, checkSchedule, dicSelect },
-    props: {
-        onLoad: Object,
-        detailData: Object
+    feeSubmit() {
+      if (!this.form.id) {
+        return this.$message.error("请保存数据");
+      }
+      feeSubmit(this.form.centerShipCostList).then(res=>{
+        this.getDetail(this.form.id);
+      })
     },
-    async created() {
-        this.optionContacts = await this.getColumnData(this.getColumnName(477), this.optionContactsBack);
-        this.optionOutboundRecords = await this.getColumnData(this.getColumnName(478), 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)
+    inEdit() {
+      if (this.form.status != 1) {
+        this.editButton = false;
+        this.$set(this.optionForm, "disabled", false);
+        this.$set(this.optionContactsBack, "disabled", false);
+      }
+    },
+    rowDicChange(name, row, el) {
+      if (name == "costName") {
+        if (row) {
+          el.costId = row.id;
+        } else {
+          el.costId = null;
+          el.costName = null;
         }
-        isProcurement({ "param": "number.decimal" }).then(res => {
-            this.numberDecimal = res.data.data ? Number(res.data.data) : 0
-        })
+      }
+      if (name == "regionName") {
+        if (row) {
+          el.regionId = row.id;
+        } else {
+          el.regionId = null;
+          el.regionName = null;
+        }
+      }
     },
-    mounted() {
-        this.$nextTick(() => {
-            // 监听浏览器高度变化,改变表格高度
-            window.onresize = () => {
-                this.rowHeight = (window.innerHeight - 130) + 'px'
+    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;
+        }
+      }
+    },
+    // 获取左侧筛选
+    getAllWorkDicts() {
+      getCorpType({ corpType: "SP", 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";
+    },
+    //刷新触发
+    refreshChange() {
+      this.page.currentPage = 1;
+      this.onLoadfun(this.page);
+    },
+    // 这个方法是解决 this.onLoad is not a function 的问题
+    onaloadfun(page, params = { artsVision: this.form.belongToCorpId }) {
+      this.loading = true;
+      getList({
+        ...params,
+        current: page.currentPage,
+        size: page.pageSize,
+        whetherIntegral: "0"
+      }).then(res => {
+        console.log(res, 1213);
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.pageList.total = data.total;
+        this.data = data.records;
+        this.goodsListShow = data.records;
+        this.loading = false;
+      });
+    },
+    //选中触发
+    selectionChange(list) {
+      this.tableData = list;
+    },
+    // 点击搜索触发
+    goodsSearch(params, done) {
+      this.page.currentPage = 1;
+      params = {
+        ...params,
+        artsVision: this.form.belongToCorpId
+      };
+      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);
+      }
+    },
+    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();
+        }
+      }
     },
-    methods: {
-        uploadExceed(limit, files, fileList, column) {
-            this.$message.error("超出上传限制文件数量");
-        },
-        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)
-        },
-
-        revokePlan(){
-            this.$confirm('确定要撤销该入库单吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                revokePlanIn(this.form.id).then(res => {
-                    this.$message({
-                        type: 'success',
-                        message: '撤销成功!'
-                    });
-                    this.getDetail(res.data.data, true)
-                })
-            })
-
-        },
-        addRow() {
-            // if (!this.form.id) {
-            //     return this.$message.error('请保存数据')
-            // }
-            this.form.centerShipCostList.push({
-                goodsNum: this.form.goodsTotalNum,
-                $cellEdit: true
-            })
-        },
-        inEdit() {
-            if (this.form.status != 1) {
-                this.editButton = false
-                this.$set(this.optionForm, 'disabled', false)
-                this.$set(this.optionContactsBack, 'disabled', false)
-            }
-        },
-        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
-                }
-            }
-        },
-        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
-                }
-            }
-        },
-        // 获取左侧筛选
-        getAllWorkDicts() {
-            getCorpType({ corpType: 'SP', 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";
-        },
-        //刷新触发
-        refreshChange() {
-            this.page.currentPage = 1;
-            this.onLoadfun(this.page);
-        },
-        // 这个方法是解决 this.onLoad is not a function 的问题
-        onaloadfun(page, params = { artsVision: this.form.belongToCorpId }) {
-            this.loading = true;
-            getList({
-                ...params,
-                current: page.currentPage,
-                size: page.pageSize,
-                whetherIntegral: '0'
-            }).then(res => {
-                console.log(res, 1213)
-                const data = res.data.data;
-                this.page.total = data.total;
-                this.pageList.total = data.total
-                this.data = data.records;
-                this.goodsListShow = data.records;
-                this.loading = false;
-            })
-        },
-        //选中触发
-        selectionChange(list) {
-            this.tableData = list
-        },
-        // 点击搜索触发
-        goodsSearch(params, done) {
-            this.page.currentPage = 1;
-            params = {
-                ...params,
-                artsVision: this.form.belongToCorpId
-            }
-            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);
-            }
-        },
-        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) {
-                this.form.planItemsList.push({
-                    price: item.price,
-                    goodsId: item.id,
-                    goodsName: item.cname,
-                    dot: item.dot,
-                    brandName: item.brandName,
-                    brandId: item.brandId,
-                    goodsTypeId: item.goodsTypeId,
-                    goodsNo: item.code,
-                    // propertyName:item.typeno,
-                    // 规格型号
-                    propertyName: item.specificationAndModel,
-                    // 花纹
-                    pattern: item.brandItem,
-                    // 商品描述
-                    goodsDescription: item.goodsDescription,
-
-                    goodsNum: item.goodsNum,
-                    units: item.unit,
-                    inventory: item.inventory,
-                    // sendNum:res.data.data[0],
-                    // 小计
-                    subTotalMoney: item.goodsNum * item.price,
-                    //
-                    // inventory:item.balanceQuantity,
-                    // 备注
-                    remarks: item.remarks,
-                    rebatePrice: item.rebatePrice,
-                    // 批次号的状态
-                    dotedittype: false,
-                    // 价格数量
-                    goodsNumtype: false,
-                    // 价格
-                    pricetype: false,
-                    // 是否是编辑状态
-                    $cellEdit: true
-                })
-            }
-            this.dialogVisible = false
-        },
-        // 导入
-        goodsListSaveHandle() {
-            this.tableData = this.goodsListSave
-            this.tableDataHandle()
-        },
 
-        //导入商品弹窗列表查询
-        onLoadfun(page, params = {}) {
-            console.log(params)
-            this.loading = true;
-            getList({
-                ...params,
-                current: page.currentPage,
-                size: page.pageSize,
-                customId: this.form.customerId,
-                stock: this.form.storageId,
-                enableOrNot: 1,
-                artsVision: this.form.belongToCorpId,
-                goodsTypeId: this.treeDeptId,
-                whetherIntegral: '0',
-                ...Object.assign(params, this.SelectSearch)
-            }).then(res => {
-                res.data.data.records.forEach(e => {
-                    e.rebatePrice = 0
-                })
-                const data = res.data.data;
-                this.page.total = data.total;
-                this.pageList.total = data.total
-                this.data = data.records;
-                this.goodsListShow = data.records;
+    // 导入按钮事件
+    tableDataHandle() {
+      // 循环获取库存数量
+      for (let item of this.tableData) {
+        this.form.planItemsList.push({
+          price: item.price,
+          goodsId: item.id,
+          goodsName: item.cname,
+          dot: item.dot,
+          brandName: item.brandName,
+          brandId: item.brandId,
+          goodsTypeId: item.goodsTypeId,
+          goodsNo: item.code,
+          // propertyName:item.typeno,
+          // 规格型号
+          propertyName: item.specificationAndModel,
+          // 花纹
+          pattern: item.brandItem,
+          // 商品描述
+          goodsDescription: item.goodsDescription,
 
-                // 获取单价数据
-                for (let item of this.goodsListShow) {
-                    item.goodsNum = item.goodsNum ? item.goodsNum : 0
-                }
-                this.loading = false;
-            })
-        },
-        // 采购明细行编辑
-        rowEdit(row, index) {
-            if (row.$cellEdit) {
-                this.$set(row, '$cellEdit', false)
-            } else {
-                this.$set(row, '$cellEdit', true)
-            }
-        },
-        //联系人change
-        contactsChange(e) {
-            console.log(e);
-            console.log(this.contactsOption);
-            // 假设this.contactsOption是你的数组对象
-            let matchedContact = this.contactsOption.find(item => item.contacts == e);
-            // 判断是否找到匹配的对象
-            this.$set(this.form, 'phone', matchedContact.tel)
+          goodsNum: item.goodsNum,
+          units: item.unit,
+          inventory: item.inventory,
+          // sendNum:res.data.data[0],
+          // 小计
+          subTotalMoney: item.goodsNum * item.price,
+          //
+          // inventory:item.balanceQuantity,
+          // 备注
+          remarks: item.remarks,
+          rebatePrice: item.rebatePrice,
+          // 批次号的状态
+          dotedittype: false,
+          // 价格数量
+          goodsNumtype: false,
+          // 价格
+          pricetype: false,
+          // 是否是编辑状态
+          $cellEdit: true
+        });
+      }
+      this.dialogVisible = false;
+    },
+    // 导入
+    goodsListSaveHandle() {
+      this.tableData = this.goodsListSave;
+      this.tableDataHandle();
+    },
 
-        },
-        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/order/import-item-name'
-                this.templateUrl = '/api/blade-sales-part/order/export-item-name'
-            } else if (name == 'code') {
-                this.findObject(this.excelOption.column, "excelFile").action = '/api/blade-sales-part/tire/center/warehouse/plan/import-item-code'
-                this.templateUrl = '/api/blade-sales-part/tire/center/warehouse/plan/exportPlanTemplate'
-            }
-            this.excelBox = true
-        },
-        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)
-                })
-            }
+    //导入商品弹窗列表查询
+    onLoadfun(page, params = {}) {
+      console.log(params);
+      this.loading = true;
+      getList({
+        ...params,
+        current: page.currentPage,
+        size: page.pageSize,
+        customId: this.form.customerId,
+        stock: this.form.storageId,
+        enableOrNot: 1,
+        artsVision: this.form.belongToCorpId,
+        goodsTypeId: this.treeDeptId,
+        whetherIntegral: "0",
+        ...Object.assign(params, this.SelectSearch)
+      }).then(res => {
+        res.data.data.records.forEach(e => {
+          e.rebatePrice = 0;
+        });
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.pageList.total = data.total;
+        this.data = data.records;
+        this.goodsListShow = data.records;
 
-        },
-        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.regionName || !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("请完善费用明细信息");
-                        }
-                    }
-                    let obj = {
-                        ...this.form,
-                        vehiclePhoto: JSON.stringify(this.form.vehiclePhoto),
-                        status: type,
-                    }
-                    const loading = this.$loading({
-                        lock: true,
-                        text: '加载中',
-                        spinner: 'el-icon-loading',
-                        background: 'rgba(255,255,255,0.7)'
-                    });
-                    submit(obj).then(res => {
-                        this.$message.success(type === 1 ? "提交成功" : "保存成功");
-                        this.getDetail(res.data.data)
-                    }).finally(() => {
-                        loading.close();
-                    });
-                } else {
-                    return false;
-                }
-            });
-        },
-        //关闭弹窗表单
-        beforeClose(done, type) {
-            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 => {
-                res.data.data.vehiclePhoto = JSON.parse(res.data.data.vehiclePhoto),
-                    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();
+        // 获取单价数据
+        for (let item of this.goodsListShow) {
+          item.goodsNum = item.goodsNum ? item.goodsNum : 0;
+        }
+        this.loading = false;
+      });
+    },
+    // 采购明细行编辑
+    rowEdit(row, index) {
+      if (row.$cellEdit) {
+        this.$set(row, "$cellEdit", false);
+      } else {
+        this.$set(row, "$cellEdit", true);
+      }
+    },
+    //联系人change
+    contactsChange(e) {
+      console.log(e);
+      console.log(this.contactsOption);
+      // 假设this.contactsOption是你的数组对象
+      let matchedContact = this.contactsOption.find(item => item.contacts == e);
+      // 判断是否找到匹配的对象
+      this.$set(this.form, "phone", matchedContact.tel);
+    },
+    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;
             });
-        },
-        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);
-                    }
-                }
-                );
+          });
+        }
+        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/order/import-item-name";
+        this.templateUrl = "/api/blade-sales-part/order/export-item-name";
+      } else if (name == "code") {
+        this.findObject(this.excelOption.column, "excelFile").action = "/api/blade-sales-part/tire/center/warehouse/plan/import-item-code";
+        this.templateUrl = "/api/blade-sales-part/tire/center/warehouse/plan/exportPlanTemplate";
+      }
+      this.excelBox = true;
+    },
+    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);
+        });
+      }
+    },
+    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.regionName || !row.goodsNum) {
+              this.$refs.formContacts.rowCell(row, row.$index);
+              return this.$message.error("请完善商品明细信息");
             }
-        },
-        // 明细信息多选
-        selectionContacts(list) {
-            this.selectionMultilist = list
-        },
-        // 一键删除
-        batchDelete() {
-            if (this.selectionMultilist.length == 0) {
-                return this.$message.warning('请选择要删除的数据')
+          }
+          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("请完善费用明细信息");
             }
-            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("操作成功!");
-                    });
-                }
+          }
+          let obj = {
+            ...this.form,
+            vehiclePhoto: JSON.stringify(this.form.vehiclePhoto),
+            status: type
+          };
+          const loading = this.$loading({
+            lock: true,
+            text: "加载中",
+            spinner: "el-icon-loading",
+            background: "rgba(255,255,255,0.7)"
+          });
+          submit(obj)
+            .then(res => {
+              this.$message.success(type === 1 ? "提交成功" : "保存成功");
+              this.getDetail(res.data.data);
             })
-        },
-        rowUpdate(form, index, done, loading) {
-            this.$set(form, 'goodsName', form.$goodsId)
-            console.log(form);
-            done(form)
-        },
-        rowAdd(row) {
-            if (!this.form.customerId) {
-                this.$message.error('请选择货主')
-                return
-            }
-            if (!this.form.storageId) {
-                this.$message.error('请选择仓库')
-                return
-            }
-            this.getAllWorkDicts()
-            this.refreshChange()
-            this.goodsListSave = []
-            this.dialogVisible = true
-        },
-        //打印
-        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;
+            .finally(() => {
+              loading.close();
+            });
+        } else {
+          return false;
+        }
+      });
+    },
+    //关闭弹窗表单
+    beforeClose(done, type) {
+      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 => {
+          (res.data.data.vehiclePhoto = JSON.parse(res.data.data.vehiclePhoto)), (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();
+        });
+    },
+    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);
             }
-        },
-        backToList(type) {
-            this.$emit("backToList", type);
-        },
+          }
+        });
+        // 有id 的处理
+        if (itemsWithId.length != 0) {
+          itemRemove({ ids: arrIds.join(",") }).then(res => {
+            this.$message.success("操作成功!");
+          });
+        }
+      });
     },
-    watch: {
-        "form.planItemsList": {
-            // 执行方法
-            handler(Value, newValue) {
-                this.form.goodsTotalNum = 0
-                Value.forEach(item => {
-                    this.form.goodsTotalNum += Number(item.goodsNum ? item.goodsNum : 0)
-                })
-            },
-            deep: false, // 深度监听
-            immediate: false  // 第一次改变就执行
-        },
+    rowUpdate(form, index, done, loading) {
+      this.$set(form, "goodsName", form.$goodsId);
+      console.log(form);
+      done(form);
+    },
+    rowAdd(row) {
+      if (!this.form.customerId) {
+        this.$message.error("请选择货主");
+        return;
+      }
+      if (!this.form.storageId) {
+        this.$message.error("请选择仓库");
+        return;
+      }
+      this.getAllWorkDicts();
+      this.refreshChange();
+      this.goodsListSave = [];
+      this.dialogVisible = true;
+    },
+    //打印
+    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);
     }
-}
+  },
+  watch: {
+    "form.planItemsList": {
+      // 执行方法
+      handler(Value, newValue) {
+        this.form.goodsTotalNum = 0;
+        Value.forEach(item => {
+          this.form.goodsTotalNum += Number(item.goodsNum ? item.goodsNum : 0);
+        });
+      },
+      deep: false, // 深度监听
+      immediate: false // 第一次改变就执行
+    }
+  }
+};
 </script>
 
 <style lang="scss" scoped>
 ::v-deep .el-form-item {
-    margin-bottom: 8px !important;
+  margin-bottom: 8px !important;
 }
 
 ::v-deep .el-dialog__body {
-    padding: 10px 20px;
+  padding: 10px 20px;
 }
 
 ::v-deep .el-table .cell {
-    padding: 0 2px !important;
-
-    .el-form-item {
-        margin-bottom: 0px !important;
-    }
+  padding: 0 2px !important;
 
+  .el-form-item {
+    margin-bottom: 0px !important;
+  }
 }
 
 ::v-deep .avue-crud .el-table .el-form-item__label {
-    left: -1px;
+  left: -1px;
 }
 </style>

+ 34 - 10
src/views/storehouse/outStockManage/outStockPlan/detailsPage.vue

@@ -207,8 +207,11 @@
               @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" :disabled="editButton" circle @click="addRowD()"> </el-button>
+                <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>
@@ -260,7 +263,7 @@
               <template slot-scope="{ type, size, row, index, disabled }" slot="menu">
                 <el-button
                   :size="size"
-                  :disabled="editButton || form.status == 1 || row.isDeleted == 1"
+                  :disabled="row.isDeleted == 1"
                   :type="type"
                   :icon="row.$cellEdit ? 'el-icon-plus' : 'el-icon-edit'"
                   @click="rowEdit(row, index)"
@@ -269,7 +272,6 @@
                 <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 ? "恢复" : "删除" }}
@@ -286,8 +288,11 @@
               @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" :disabled="editButton" circle @click="addRowC()"> </el-button>
+                <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>
@@ -339,7 +344,7 @@
               <template slot-scope="{ type, size, row, index, disabled }" slot="menu">
                 <el-button
                   :size="size"
-                  :disabled="editButton || form.status == 1 || row.isDeleted == 1"
+                  :disabled="row.isDeleted == 1"
                   :type="type"
                   :icon="row.$cellEdit ? 'el-icon-plus' : 'el-icon-edit'"
                   @click="rowEdit(row, index)"
@@ -348,7 +353,6 @@
                 <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 ? "恢复" : "删除" }}
@@ -481,7 +485,7 @@
 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 } from "@/api/storehouse/plan.js";
+import { getDetails, submitOutPlan, itemRemove, auditPlan, 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";
@@ -1149,6 +1153,8 @@ export default {
       //     return this.$message.error('请保存数据')
       // }
       this.form.centerShipCostList.push({
+        parentId: this.form.id,
+        billType: 2,
         $cellEdit: true
       });
     },
@@ -1157,9 +1163,25 @@ export default {
       //     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) {
@@ -1234,7 +1256,7 @@ export default {
             });
           });
         }
-        this.excelBox = false
+        this.excelBox = false;
       } else {
         this.$message.error(res);
       }
@@ -1259,10 +1281,12 @@ export default {
         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.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.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;