web100 2 years ago
parent
commit
3052d089af

+ 18 - 7
src/views/businessManagement/deliveryNotice/configuration/customerContact.json

@@ -195,10 +195,21 @@
           "trigger": "blur"
         }
       ]
+    },    {
+      "label": "库区",
+      "prop": "storageId",
+      "index": 12,
+      "width": 150,
+      "cell": false,
+      "overHidden": true,
+      "props": {
+        "label": "storageName",
+        "value": "storageId"
+      }
     },{
       "label": "库存数量",
       "prop": "inventoryNumber",
-      "index": 12,
+      "index": 13,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -212,7 +223,7 @@
     },{
       "label": "库存金额",
       "prop": "inventoryAmount",
-      "index": 13,
+      "index": 14,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -226,7 +237,7 @@
     },{
       "label": "到货数量",
       "prop": "arrivalQuantity",
-      "index": 14,
+      "index": 15,
       "width":100,
       "cell": false,
       "slot": true,
@@ -242,7 +253,7 @@
     {
       "label": "积分倍数",
       "prop": "integralMultiples",
-      "index": 15,
+      "index": 16,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -257,7 +268,7 @@
     {
       "label": "赠送积分",
       "prop": "integral",
-      "index": 16,
+      "index": 17,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -272,7 +283,7 @@
     {
       "label": "重量",
       "prop": "actualWeight",
-      "index": 17,
+      "index": 18,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -287,7 +298,7 @@
     {
       "label": "体积",
       "prop": "containerVolume",
-      "index": 18,
+      "index": 19,
       "width":100,
       "cell": false,
       "overHidden": true,

+ 189 - 306
src/views/businessManagement/deliveryNotice/detailsPageEdit.vue

@@ -4,68 +4,29 @@
       <div class="customer-back">
         <!--        <i class="back-icon el-icon-arrow-left"></i><i style="font-style:normal">返回管理列表</i>-->
         <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
-                   @click="backToList">返回列表
+          @click="backToList">返回列表
         </el-button>
       </div>
       <div class="add-customer-btn">
-        <el-button
-          v-if="detailData.seeDisabled"
-          size="small"
-          @click="editHandle"
-          type="primary"
-        >编 辑</el-button>
-        <el-button
-          class="el-button--small-yh"
-          type="primary"
-          size="small"
-          :disabled="detailData.seeDisabled"
-          v-if="form.deliveryStatus == '已到货'"
-          :loading="saveLoading"
-          @click="cancelArrival"
-        >撤销到货</el-button>
-        <el-button
-          class="el-button--small-yh"
-          type="primary"
-          size="small"
-          :disabled="detailData.seeDisabled || arrivalDisabled"
-          v-if="form.deliveryStatus == '已收货'"
-          :loading="saveLoading"
-          @click="confirmArrival"
-        >确认到货</el-button>
-        <el-button
-          class="el-button--small-yh"
-          type="primary"
-          @click="revokeOutGoods"
-          size="small"
-          v-if="form.deliveryStatus == '已收货'"
-          :loading="saveLoading"
-          :disabled="detailData.seeDisabled || arrivalDisabled"
-        >撤销收货</el-button>
-        <el-button
-          class="el-button--small-yh"
-          type="primary"
-          @click="sendOutGoods"
-          size="small"
-          v-if="form.deliveryStatus == '录入'"
-          :loading="saveLoading"
-          :disabled="detailData.seeDisabled || !form.id || arrivalDisabled"
-        >确认收货</el-button>
-        <el-button
-          class="el-button--small-yh"
-          size="small"
-          type="success" @click="copyOrder"
-          :loading="saveLoading"
+        <el-button v-if="detailData.seeDisabled" size="small" @click="editHandle" type="primary">编 辑</el-button>
+        <el-button class="el-button--small-yh" type="primary" size="small" :disabled="detailData.seeDisabled"
+          v-if="form.deliveryStatus == '已到货'" :loading="saveLoading" @click="cancelArrival">撤销到货</el-button>
+        <el-button class="el-button--small-yh" type="primary" size="small"
+          :disabled="detailData.seeDisabled || arrivalDisabled" v-if="form.deliveryStatus == '已收货'" :loading="saveLoading"
+          @click="confirmArrival">确认到货</el-button>
+        <el-button class="el-button--small-yh" type="primary" @click="revokeOutGoods" size="small"
+          v-if="form.deliveryStatus == '已收货'" :loading="saveLoading"
+          :disabled="detailData.seeDisabled || arrivalDisabled">撤销收货</el-button>
+        <el-button class="el-button--small-yh" type="primary" @click="sendOutGoods" size="small"
+          v-if="form.deliveryStatus == '录入'" :loading="saveLoading"
+          :disabled="detailData.seeDisabled || !form.id || arrivalDisabled">确认收货</el-button>
+        <!-- <el-button class="el-button--small-yh" size="small" type="success" @click="copyOrder" :loading="saveLoading"
           :disabled="detailData.seeDisabled || !form.id || arrivalDisabled">
           复制单据
-        </el-button>
-        <el-button
-          class="el-button--small-yh"
-          type="primary"
-          :disabled="disabled || detailData.seeDisabled || arrivalDisabled"
-          @click="editCustomer(false)"
-          :loading="saveLoading"
-          size="small"
-        >保 存
+        </el-button> -->
+        <el-button class="el-button--small-yh" type="primary"
+          :disabled="disabled || detailData.seeDisabled || arrivalDisabled" @click="editCustomer(false)"
+          :loading="saveLoading" size="small">保 存
         </el-button>
       </div>
     </div>
@@ -74,99 +35,85 @@
         <containerTitle title="基础资料"></containerTitle>
         <basic-container>
           <el-row>
-            <el-col v-for="(item,index) in basicData.column" :key="index" :span="item.span?item.span:8">
+            <el-col v-for="(item, index) in basicData.column" :key="index" :span="item.span ? item.span : 8">
               <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
                 <!--                <avue-input-tree v-if="item.prop === 'corpsTypeId'"  leaf-only multiple :props="{label:'title'}" v-model="form[item.prop]" placeholder="请选择内容" type="tree" :dic="dic"-->
                 <!--                ></avue-input-tree>-->
                 <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]"
-                                size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss" :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled || deliverDisabled"/>
+                  size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss"
+                  :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled || deliverDisabled" />
                 <el-date-picker v-else-if="item.type === 'date'" style="width: 100%;" v-model="form[item.prop]"
-                                size="small" type="date" placeholder="选择日期"
-                                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"/>
-                <crop-select
-                  v-else-if="item.prop === 'corpId'"
-                  v-model="form[item.prop]"
-                  corpType="KH"
+                  size="small" type="date" placeholder="选择日期"
+                  :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled" />
+                <crop-select v-else-if="item.prop === 'corpId'" v-model="form[item.prop]" corpType="KH"
                   :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled || form.srcOrderNo"
-                  style="width: 100%"
-                  @getCorpData="returnBack"
-                ></crop-select>
-                <crop-select
-                  v-else-if="item.prop === 'salesCompany'"
-                  v-model="form[item.prop]"
-                  corpType="GS"
+                  style="width: 100%" @getCorpData="returnBack"></crop-select>
+                <crop-select v-else-if="item.prop === 'salesCompany'" v-model="form[item.prop]" corpType="GS"
                   :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
-                  @getCorpData="getGSName"
-                ></crop-select>
-                <el-select v-else-if="item.prop === 'deliveryStatus'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled || deliverDisabled">
-                  <el-option v-for="(item,index) in statusOption" :key="index" :label="item.dictValue" :value="item.dictValue" size="small"></el-option>
+                  @getCorpData="getGSName"></crop-select>
+                <el-select v-else-if="item.prop === 'deliveryStatus'" v-model="form[item.prop]" placeholder="请选择"
+                  clearable filterable style="width: 100%" size="small"
+                  :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled || deliverDisabled">
+                  <el-option v-for="(item, index) in statusOption" :key="index" :label="item.dictValue"
+                    :value="item.dictValue" size="small"></el-option>
+                </el-select>
+                <el-select v-else-if="item.prop === 'warehouseType'" v-model="form[item.prop]" placeholder="请选择" clearable
+                  filterable style="width: 100%" size="small"
+                  :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled">
+                  <el-option v-for="(item, index) in warehouseTypeOption" :key="index" :label="item.dictValue"
+                    :value="item.dictValue"></el-option>
                 </el-select>
-                <el-select v-else-if="item.prop === 'warehouseType'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled">
-                  <el-option v-for="(item,index) in warehouseTypeOption" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
+                <!-- <warehouse-select v-else-if="item.prop === 'storageId'" v-model="form[item.prop]"
+                                 :configuration="configurationWarehouse" style="width: 100%" :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"/> -->
+                <el-select v-else-if="item.prop === 'storageId'" v-model="form[item.prop]" placeholder="请选择仓库" clearable
+                  filterable style="width: 100%" size="small"
+                  :disabled="detailData.seeDisabled || item.disabled || browse">
+                  <el-option v-for="(item, index) in storageIdOption" :key="index" :label="item.cname"
+                    :value="item.id"></el-option>
                 </el-select>
-                <warehouse-select v-else-if="item.prop === 'storageId'" v-model="form[item.prop]"
-                                 :configuration="configurationWarehouse" style="width: 100%" :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"/>
-                <el-select v-else-if="item.prop === 'saleman'"
-                           v-model="form[item.prop]" placeholder="请选择"
-                           filterable
-                           size="small"
-                           style="width: 100%;"
-                           :disabled="detailData.seeDisabled">
-                  <el-option v-for="(item,index) in userList" :key="index" :label="item.realName" :value="item.realName"></el-option>
+                <el-select v-else-if="item.prop === 'saleman'" v-model="form[item.prop]" placeholder="请选择" filterable
+                  size="small" style="width: 100%;" :disabled="detailData.seeDisabled">
+                  <el-option v-for="(item, index) in userList" :key="index" :label="item.realName"
+                    :value="item.realName"></el-option>
                 </el-select>
-                <el-input
-                  v-else-if="item.type == 'number'"
-                  placeholder="请输入"
-                  v-input-limit="2"
-                  size="small"
+                <el-input v-else-if="item.type == 'number'" placeholder="请输入" v-input-limit="2" size="small"
                   :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled || deliverDisabled"
-                  v-model.trim="form[item.prop]"
-                />
-                <el-input type="textarea" v-else-if="item.type === 'textarea'" v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled"></el-input>
-                <el-input type="age" v-else v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled || deliverDisabled"></el-input>
+                  v-model.trim="form[item.prop]" />
+                <el-input type="textarea" v-else-if="item.type === 'textarea'" v-model.trim="form[item.prop]" size="small"
+                  autocomplete="off" :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled"></el-input>
+                <el-input type="age" v-else v-model.trim="form[item.prop]" size="small" autocomplete="off"
+                  :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled || deliverDisabled"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
         </basic-container>
         <containerTitle title="商品信息"></containerTitle>
         <basic-container>
-          <avue-crud
-              :option="customerContact"
-              v-model="contactsForm"
-              :data="goodsShowData"
-              ref="crudContact"
-              @row-save="rowSave"
-              @row-click="handleRowClick"
-              @row-update="rowUpdate"
-              @row-del="rowDel"
-              @saveColumn="saveColumn('goods')"
-              @resetColumn="resetColumn"
-              :cell-style="goodsRowClassName"
-              :key="crudIndex"
-          >
+          <avue-crud :option="customerContact" v-model="contactsForm" :data="goodsShowData" ref="crudContact"
+            @row-save="rowSave" @row-click="handleRowClick" @row-update="rowUpdate" @row-del="rowDel"
+            @saveColumn="saveColumn('goods')" @resetColumn="resetColumn" :cell-style="goodsRowClassName" :key="crudIndex">
             <template slot="headerSerial">
-              <el-button type="primary" icon="el-icon-circle-plus-outline" circle size="mini" @click="$refs.crudContact.rowCellAdd()"></el-button>
+              <el-button type="primary" icon="el-icon-circle-plus-outline" circle size="mini"
+                @click="$refs.crudContact.rowCellAdd()"></el-button>
             </template>
             <template slot="code" slot-scope="{row}">
-<!--              <el-button type="text" size="mini" style="padding:4px 10px;float:left" @click="commodityChoice(row)" :disabled="detailData.seeDisabled || !row.$cellEdit || arrivalDisabled || deliverDisabled">选择</el-button>-->
+              <!--              <el-button type="text" size="mini" style="padding:4px 10px;float:left" @click="commodityChoice(row)" :disabled="detailData.seeDisabled || !row.$cellEdit || arrivalDisabled || deliverDisabled">选择</el-button>-->
               <span>{{ row.code }}</span>
             </template>
+            <!-- <template>
+              <div>
+                <avue-curd v-if="row.$cellEdit" v-model="row.storageId" :dict="storageDict" type="select" />
+                <span v-else>{{ getStorageName(row.storageId) }}</span>
+              </div>
+            </template> -->
+
             <template slot-scope="{row,index}" slot="menu">
-              <el-button
-                  type="text"
-                  size="small"
-                  @click="rowCell(row,index)"
-                  :disabled="detailData.seeDisabled || arrivalDisabled"
-              >{{ row.$cellEdit ? '保存' : '修改' }}
+              <el-button type="text" size="small" @click="rowCell(row, index)"
+                :disabled="detailData.seeDisabled || arrivalDisabled">{{ row.$cellEdit ? '保存' : '修改' }}
               </el-button>
-              <el-button
-                size="small"
-                icon="el-icon-delete"
-                type="text"
-                @click="rowDel(row, index)"
-                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
-                v-if="!row.$cellEdit"
-              >删 除</el-button>
+              <el-button size="small" icon="el-icon-delete" type="text" @click="rowDel(row, index)"
+                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled" v-if="!row.$cellEdit">删
+                除</el-button>
             </template>
             <template slot="menuLeft" slot-scope="{size}">
               <el-tabs v-model="goodsActives" @tab-click="handleClick">
@@ -175,192 +122,115 @@
                 <el-tab-pane label="赠品" name="gift" :key="'second'" :disabled="goodsDisabled">
                 </el-tab-pane>
               </el-tabs>
-              <el-button type="primary"
-                         icon="el-icon-plus"
-                         size="small"
-                         @click="marketDialog = true"
-                         :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
-                         v-if="goodsActives == 'goods'"
-              >录入明细
-              </el-button>
-              <el-button type="primary"
-                         icon="el-icon-plus"
-                         size="small"
-                         @click="commoditySelection"
-                         :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
-                         v-if="goodsActives == 'gift'"
-              >录入明细
+              <!-- <el-button type="primary" icon="el-icon-plus" size="small" @click="marketDialog = true"
+                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
+                v-if="goodsActives == 'goods'">录入明细
               </el-button>
+              <el-button type="primary" icon="el-icon-plus" size="small" @click="commoditySelection"
+                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
+                v-if="goodsActives == 'gift'">录入明细
+              </el-button> -->
               <el-button type="info" :size="size" icon="el-icon-printer" @click.stop="openReport()">报表打印</el-button>
-              <el-button
-                type="warning"
-                icon="el-icon-refresh"
-                size="small"
-                @click="resetStock"
-              >库存刷新</el-button>
+              <el-button type="warning" icon="el-icon-refresh" size="small" @click="resetStock">库存刷新</el-button>
             </template>
+
             <template slot="actualQuantity" slot-scope="{ row }">
-<!--              <el-input-->
-<!--                v-if="row.$cellEdit"-->
-<!--                v-model.trim="row.actualQuantity"-->
-<!--                v-input-limit="0"-->
-<!--                @change="actualQuantityChange(row)"-->
-<!--                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"-->
-<!--              ></el-input>-->
-<!--              <span v-else>{{ row.actualQuantity | IntegerFormat }}</span>-->
+              <!--              <el-input-->
+              <!--                v-if="row.$cellEdit"-->
+              <!--                v-model.trim="row.actualQuantity"-->
+              <!--                v-input-limit="0"-->
+              <!--                @change="actualQuantityChange(row)"-->
+              <!--                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"-->
+              <!--              ></el-input>-->
+              <!--              <span v-else>{{ row.actualQuantity | IntegerFormat }}</span>-->
               <span>{{ row.actualQuantity | IntegerFormat }}</span>
             </template>
-<!--            到货数量-->
+            <!--            到货数量-->
             <template slot="arrivalQuantity" slot-scope="{ row }">
-              <el-input
-                v-if="row.$cellEdit"
-                v-model.trim="row.arrivalQuantity"
-                v-input-limit="0"
-                @input="arrivalQuantityChange(row)"
-              ></el-input>
+              <el-input v-if="row.$cellEdit" v-model.trim="row.arrivalQuantity" v-input-limit="0"
+                @input="arrivalQuantityChange(row)"></el-input>
               <span v-else>{{ row.arrivalQuantity | IntegerFormat }}</span>
             </template>
             <template slot="corpId" slot-scope="{ row, index }">
-              <crop-select
-                v-if="row.$cellEdit"
-                v-model="row.corpId"
-                :cropIndex="index"
-                corpType="GYS"
+              <crop-select v-if="row.$cellEdit" v-model="row.corpId" :cropIndex="index" corpType="GYS"
                 @getCorpData="getcorpId"
-                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
-              ></crop-select>
+                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"></crop-select>
               <span v-else>{{ row.corpName }}</span>
             </template>
           </avue-crud>
         </basic-container>
-        <fee-info
-          ref="feeInfo"
-          :orderFeesList="advantageProjectData"
-          :disabled="detailData.seeDisabled || arrivalDisabled"
-          :srcType="3"
-          optionType="GN"
-          itemType="收货"
-          feeUrl="/blade-deliver-goods/deliveryfees/update"
-          @beforeFinance="beforeFinance"
-          :corpId="form.corpId"
-        />
+        <fee-info ref="feeInfo" :orderFeesList="advantageProjectData"
+          :disabled="detailData.seeDisabled || arrivalDisabled" :srcType="3" optionType="GN" itemType="收货"
+          feeUrl="/blade-deliver-goods/deliveryfees/update" @beforeFinance="beforeFinance" :corpId="form.corpId" />
         <containerTitle title="附件上传"></containerTitle>
-        <c-upload
-          :data="bankOfDepositData"
-          deleteUrl="/api/blade-deliver-goods/deliveryfiles/update"
-          :enumerationValue="77"
-          display
-        />
+        <c-upload :data="bankOfDepositData" deleteUrl="/api/blade-deliver-goods/deliveryfiles/update"
+          :enumerationValue="77" display />
       </el-form>
     </div>
-    <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-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" style="height: 100%;overflow-y: auto">
           <div>
             <el-scrollbar>
               <basic-container>
-                <avue-tree :option="treeOption" :data="treeDataGoods" @node-click="nodeClick"/>
+                <avue-tree :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="data"
-                       ref="crud"
-                       @refresh-change="refreshChange"
-                       @selection-change="selectionChange"
-                       :page.sync="page"
-                       @search-change="goodsSearch"
-                       @on-load="onLoad"></avue-crud>
+            <avue-crud :option="optionTwo" :table-loading="loading" :data="data" ref="crud"
+              @refresh-change="refreshChange" @selection-change="selectionChange" :page.sync="page"
+              @search-change="goodsSearch" @on-load="onLoad"></avue-crud>
           </basic-container>
         </el-col>
       </el-row>
       <span slot="footer" class="dialog-footer">
-          <el-button @click="dialogVisible = false">取 消</el-button>
-          <el-button type="primary" @click="importGoods" v-if="commodityData !== true">导入</el-button>
-          <el-button type="primary" @click="importChoice" v-if="commodityData === true"
-                     :disabled="tableData.length !== 1">导入</el-button>
-        </span>
+        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="importGoods" v-if="commodityData !== true">导入</el-button>
+        <el-button type="primary" @click="importChoice" v-if="commodityData === true"
+          :disabled="tableData.length !== 1">导入</el-button>
+      </span>
     </el-dialog>
-    <el-dialog
-        title="导入费用"
-        append-to-body
-        class="el-dialogDeep"
-        :visible.sync="dialogCost"
-        width="80%"
-        :close-on-click-modal="false"
-        :destroy-on-close="true"
-        :close-on-press-escape="false"
-        @close="closeFees">
-      <el-row :style="{height: rowHeight}">
+    <el-dialog title="导入费用" append-to-body class="el-dialogDeep" :visible.sync="dialogCost" width="80%"
+      :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" @close="closeFees">
+      <el-row :style="{ height: rowHeight }">
         <el-col :span="5" style="height: 100%;overflow-y: auto">
           <div>
             <el-scrollbar>
               <basic-container>
-                <avue-tree :option="treeOptionCost" :data="treeData" @node-click="nodeClickCost"/>
+                <avue-tree :option="treeOptionCost" :data="treeData" @node-click="nodeClickCost" />
               </basic-container>
             </el-scrollbar>
           </div>
         </el-col>
         <el-col :span="19">
           <basic-container>
-            <avue-crud :option="optionTwoCost"
-                       :table-loading="loadingCost"
-                       :data="dataCost"
-                       ref="crud"
-                       @refresh-change="refreshChangeCost"
-                       @selection-change="selectionChangeCost"
-                       :page.sync="pageCost"
-                       @searchChange="feesSearch"
-                       @on-load="onLoadCost">
+            <avue-crud :option="optionTwoCost" :table-loading="loadingCost" :data="dataCost" ref="crud"
+              @refresh-change="refreshChangeCost" @selection-change="selectionChangeCost" :page.sync="pageCost"
+              @searchChange="feesSearch" @on-load="onLoadCost">
             </avue-crud>
           </basic-container>
         </el-col>
       </el-row>
       <span slot="footer" class="dialog-footer">
-          <el-button @click="dialogCost = false">取 消</el-button>
-          <el-button type="primary" @click="importCost" v-if="choiceData !== true">导入</el-button>
-          <el-button type="primary" @click="choiceCost" v-if="choiceData === true"
-                     :disabled="tableDataCost.length !== 1">导入</el-button>
-        </span>
+        <el-button @click="dialogCost = false">取 消</el-button>
+        <el-button type="primary" @click="importCost" v-if="choiceData !== true">导入</el-button>
+        <el-button type="primary" @click="choiceCost" v-if="choiceData === true"
+          :disabled="tableDataCost.length !== 1">导入</el-button>
+      </span>
     </el-dialog>
-<!--    导入销售明细-->
-    <el-dialog
-      title="导入销售"
-      append-to-body
-      class="el-dialogDeep"
-      :visible.sync="marketDialog"
-      width="60%"
-      :close-on-click-modal="false"
-      :destroy-on-close="true"
-      :modal-append-to-body='false'
-      :close-on-press-escape="false"
+    <!--    导入销售明细-->
+    <el-dialog title="导入销售" append-to-body class="el-dialogDeep" :visible.sync="marketDialog" width="60%"
+      :close-on-click-modal="false" :destroy-on-close="true" :modal-append-to-body='false' :close-on-press-escape="false"
       v-dialog-drag>
-      <market-detail
-        @importMarket="importMarket"
-        @close="closeMarkeDialog"
-        systemType="GN"
-      >
+      <market-detail @importMarket="importMarket" @close="closeMarkeDialog" systemType="GN">
       </market-detail>
     </el-dialog>
-    <report-dialog
-      :switchDialog="switchDialog"
-      :reportId="form.id"
-      reportName="客户收货确认"
-      @onClose="onClose()"
-    ></report-dialog>
+    <report-dialog :switchDialog="switchDialog" :reportId="form.id" reportName="客户收货确认"
+      @onClose="onClose()"></report-dialog>
   </div>
 </template>
 
@@ -377,18 +247,19 @@ import {
   confirmArrival,
   cancelArrival
 } from "@/api/basicData/deliveryNotice"
-import {getList} from "@/api/basicData/commodityType";
+import { getList } from "@/api/basicData/commodityType";
 import customerContact from "./configuration/customerContact.json"
 import advantageProject from "./configuration/advantageProject.json"
 import bankOfDeposit from "./configuration/bankOfDeposit.json"
 import commodity from "./configuration/commodity.json"
 import optionTwoCost from "./configuration/mainListCost.json"
-import {getDeptLazyTree,getDeptLazyTreeTwo, customerList} from "@/api/basicData/basicFeesDesc";
-import {customerList as wareHouseType} from "@/api/basicData/basicStorageType"
-import {customerList as selectWareHouse} from "@/api/basicData/basicStorageDesc"
-import {selectGoodsNum} from "@/api/basicData/inventoryAccount"
+import { getDeptLazyTree, getDeptLazyTreeTwo, customerList } from "@/api/basicData/basicFeesDesc";
+import { customerList as wareHouseType } from "@/api/basicData/basicStorageType"
+import { customerList as selectWareHouse } from "@/api/basicData/basicStorageDesc"
+import { selectGoodsNum } from "@/api/basicData/inventoryAccount"
 import { contrastObj, contrastList } from "@/util/contrastData";
-import  marketDetail from "@/components/procurement/market";
+import { customerList as storageType } from "@/api/basicData/basicStorageType"
+import marketDetail from "@/components/procurement/market";
 import feeInfo from "@/components/fee-info/main";
 import {
   isDiscount,
@@ -414,6 +285,7 @@ export default {
   },
   data() {
     return {
+      storageIdOption: [],
       configuration: {
         multipleChoices: false,
         multiple: false,
@@ -437,7 +309,7 @@ export default {
         clearable: true,
       },
       form: {
-        businessDate:getCurrentDate()
+        businessDate: getCurrentDate()
       },
       data: [],
       loadingCost: false,
@@ -593,10 +465,10 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '匹配订单号',
             prop: 'srcOrderNo',
-            disabled:true,
+            disabled: true,
             rules: [
               {
                 required: false,
@@ -652,7 +524,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '收货地址',
             prop: 'arrivalAddress',
             rules: [
@@ -692,7 +564,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '赠送积分',
             prop: 'presenterIntegral',
             disabled: true,
@@ -703,7 +575,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '兑换积分',
             prop: 'convertIntegral',
             disabled: true,
@@ -726,7 +598,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '业务员',
             prop: 'saleman',
             rules: [
@@ -748,7 +620,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '体积合计',
             prop: 'totalVolumn',
             disabled: true,
@@ -759,7 +631,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '使用返利',
             prop: 'thisUsedProfit',
             disabled: true,
@@ -844,13 +716,18 @@ export default {
     this.getWorkDicts("order_status").then(res => {
       this.statusOption = res.data.data
     })
+    storageType().then(res => {
+      console.log('1', res.data.data);
+      this.storageIdOption = res.data.data.records
+
+    })
     this.getWorkDicts("warehouseType").then(res => {
       this.warehouseTypeOption = res.data.data
     })
-    this.$set(this.form,'deliveryStatus','录入')
-    this.$set(this.form, 'presenterIntegral' , 0)
-    this.$set(this.form, 'convertIntegral' , 0)
-    this.$set(this.form, 'createProfit' , 0)
+    this.$set(this.form, 'deliveryStatus', '录入')
+    this.$set(this.form, 'presenterIntegral', 0)
+    this.$set(this.form, 'convertIntegral', 0)
+    this.$set(this.form, 'createProfit', 0)
     wareHouseType().then(res => {
       this.warehouseType = res.data.data.records
       this.warehouseType.forEach(item => {
@@ -861,10 +738,10 @@ export default {
         }
       })
       let result = [], temp = {}
-      for(let i = 0; i < this.warehouseType.length;i++) {
+      for (let i = 0; i < this.warehouseType.length; i++) {
         temp[this.warehouseType[i].id] = this.warehouseType[i]
       }
-      for (let j = 0;j < this.warehouseType.length;j++) {
+      for (let j = 0; j < this.warehouseType.length; j++) {
         let current = this.warehouseType[j]
         let tempCurrentParent = temp[current.parentId]
         if (tempCurrentParent) {
@@ -883,12 +760,15 @@ export default {
     })
     gainUser().then(res => {
       this.userList = res.data.data;
+      console.log(this.userList);
+      console.log(this.warehouseName);
+
 
     });
     if (this.detailData.id) {
       let id = this.detailData.id
       this.queryData(id)
-    }else if (this.detailData.form){
+    } else if (this.detailData.form) {
       this.form = JSON.parse(this.detailData.form);
       this.$set(this.form, 'orgId', this.form.id);
       delete this.form.createTime
@@ -926,7 +806,7 @@ export default {
       })
       this.goodsShowData = this.giftData;
       this.goodsActives = 'goods';
-      this.handleClick({name: this.goodsActives})
+      this.handleClick({ name: this.goodsActives })
       // this.contactsData = this.form.orderItemsList
       delete this.form.orderItemsList
       this.configuration.dicData = this.form.corpName
@@ -1033,7 +913,7 @@ export default {
         })
         this.goodsShowData = this.giftData;
         this.goodsActives = 'goods';
-        this.handleClick({name: this.goodsActives})
+        this.handleClick({ name: this.goodsActives })
         this.advantageProjectData = this.form.deliveryFeesList
         this.bankOfDepositData = this.form.deliveryFilesList
         this.configuration.dicData = this.form.corpName
@@ -1050,6 +930,7 @@ export default {
         }
         if (this.form.storageMap) {
           this.configurationWarehouse.dicData = this.form.storageMap
+          console.log('1'.this.configurationWarehouse.dicData);
         }
         let feesData = []
         this.form.deliveryFeesList.forEach(item => {
@@ -1076,7 +957,7 @@ export default {
           this.maxFeeNum = 0;
         } else {
           this.maxFeeNum = num.reduce((a, b) => {
-            return b > a? b: a;
+            return b > a ? b : a;
           })
         }
         let goodsNum = []
@@ -1087,7 +968,7 @@ export default {
           this.maxGoodsNum = 0;
         } else {
           this.maxGoodsNum = goodsNum.reduce((a, b) => {
-            return b > a? b: a;
+            return b > a ? b : a;
           })
         }
         this.oldGoodsList = []
@@ -1191,7 +1072,7 @@ export default {
         })
       } else {
         row.integral = Number(row.integralMultiples) * Number(row.actualQuantity)
-        this.$set(this.form, 'convertIntegral' , 0)
+        this.$set(this.form, 'convertIntegral', 0)
         this.goodsShowData.forEach(item => {
           this.form.convertIntegral = (Number(this.form.convertIntegral) + Number(item.integral)).toFixed(2)
         })
@@ -1207,7 +1088,7 @@ export default {
         row.purchaseTotalAmount = (Number(row.arrivalQuantity) * Number(row.purchaseAmount)).toFixed(2)
         row.deliveryAmount = (Number(row.arrivalQuantity) * Number(row.price)).toFixed(2)
         row.integral = Number(row.integralMultiples) * Number(row.arrivalQuantity)
-        this.$set(this.form, 'presenterIntegral' , 0)
+        this.$set(this.form, 'presenterIntegral', 0)
         this.goodsShowData.forEach(item => {
           this.form.presenterIntegral = (Number(this.form.presenterIntegral) + Number(item.integral)).toFixed(2)
         })
@@ -1223,7 +1104,7 @@ export default {
           this.form.storageId = null
         }
       }
-      let data =  {
+      let data = {
         storageTypeId: id
       }
       selectWareHouse(data).then(res => {
@@ -1279,7 +1160,7 @@ export default {
           itemType: this.tableData[0].typeno,
           tradeType: 'GN'
         }).then(res => {
-          this.contactsData[this.choiceIndexT].storageQuantity =  res.data.data
+          this.contactsData[this.choiceIndexT].storageQuantity = res.data.data
         })
       }
       this.dialogVisible = !this.dialogVisible
@@ -1321,8 +1202,8 @@ export default {
             goodsId: this.tableData[item].id,
             itemType: this.tableData[item].typeno,
             tradeType: 'GN'
-          }).then(res =>{
-            this.tableData[item].storageQuantity =  res.data.data
+          }).then(res => {
+            this.tableData[item].storageQuantity = res.data.data
             this.$set(this.tableData[item], 'specificationAndModel', this.tableData[item].typeno)
             this.tableData[item].itemId = this.tableData[item].id
             this.tableData[item].priceCategory = this.tableData[item].goodsTypeName
@@ -1531,13 +1412,13 @@ export default {
     // 去重
     removeRepeat() {
       let obj = []
-      this.configuration.dicData = this.configuration.dicData.reduce((current,next) => {
-        obj[next.id] ? '': obj[next.id] = true && current.push(next)
+      this.configuration.dicData = this.configuration.dicData.reduce((current, next) => {
+        obj[next.id] ? '' : obj[next.id] = true && current.push(next)
         return current
       }, [])
     },
     //
-    receiveList(data){
+    receiveList(data) {
       this.configuration.dicData = this.configuration.dicData.concat(data)
       this.removeRepeat()
     },
@@ -1573,7 +1454,7 @@ export default {
           // 如果有id解锁,没有跳过
           // !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'fh',tableName: 'business_delivery', billId: this.form.id})
           typeSave(this.form).then(res => {
-            this.$message({type: "success", message: this.form.id ? "修改成功!" : "新增成功!"});
+            this.$message({ type: "success", message: this.form.id ? "修改成功!" : "新增成功!" });
             // this.$set(this.detailData, 'seeDisabled', true);
             if (isBack) {
               //成功关闭此页面回到列表页
@@ -1621,12 +1502,12 @@ export default {
         }).then(() => {
           this.editCustomer(true)
         }).catch(() => {
-          !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'fh',tableName: 'business_delivery', billId: this.form.id})
+          !this.detailData.seeDisabled && this.form.id && this.unLock({ moduleName: 'fh', tableName: 'business_delivery', billId: this.form.id })
           this.$emit("goBack");
           this.leaveDetailsKey(this.$route.name)
         })
       } else {
-        !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'fh',tableName: 'business_delivery', billId: this.form.id})
+        !this.detailData.seeDisabled && this.form.id && this.unLock({ moduleName: 'fh', tableName: 'business_delivery', billId: this.form.id })
         this.$emit("goBack");
         this.leaveDetailsKey(this.$route.name)
       }
@@ -1865,7 +1746,7 @@ export default {
       }
     },
     // 商品表格加色
-    goodsRowClassName({row, column, rowIndex, columnIndex}) {
+    goodsRowClassName({ row, column, rowIndex, columnIndex }) {
       if (Number(row.actualQuantity) > Number(row.inventoryNumber) && column.property == 'inventoryNumber') {
         return "color: #fff;background:#a4cf57"
       }
@@ -1876,7 +1757,7 @@ export default {
       this.contactsData.forEach(item => {
         selectGoodsNum({
           goodsId: item.itemId,
-          itemType: item.itemType? item.itemType: item.typeno,
+          itemType: item.itemType ? item.itemType : item.typeno,
           tradeType: 'GN',
           storageId: this.form.storageId
         }).then(res => {
@@ -1909,7 +1790,7 @@ export default {
         this.goodsShowData = this.contactsData;
         setTimeout(() => {
           this.goodsDisabled = false
-        },500)
+        }, 500)
       } else {
         // 隐藏字段
         this.contactsData = this.goodsShowData
@@ -1928,18 +1809,18 @@ export default {
         this.goodsShowData = this.giftData;
         setTimeout(() => {
           this.goodsDisabled = false
-        },500)
+        }, 500)
       }
     },
     // 报表
     openReport() {
-      this.switchDialog =! this.switchDialog;
+      this.switchDialog = !this.switchDialog;
     },
     onClose(val) {
       this.switchDialog = val;
     },
     //费用明细回调
-    beforeFinance(feesData,callback){
+    beforeFinance(feesData, callback) {
       this.advantageProjectData = feesData;
       let params = {}
       //暂时默认通过  之后优化
@@ -2029,7 +1910,8 @@ export default {
     margin: 1vh auto 0 !important;
     padding-bottom: 10px !important;
 
-    .el-dialog__body, .el-dialog__footer {
+    .el-dialog__body,
+    .el-dialog__footer {
       padding-bottom: 0 !important;
       padding-top: 0 !important;
     }
@@ -2075,11 +1957,12 @@ export default {
   padding: 10.5px 0 10.5px 30px;
   //border: 1px solid #000;
 }
+
 ::v-deep .el-form-item {
   margin-bottom: 0;
 }
 
-::v-deep .el-form-item__content{
+::v-deep .el-form-item__content {
   line-height: 32px;
 }
 </style>

+ 19 - 3
src/views/businessManagement/purchaseOrder/detailsPageEdit.vue

@@ -1163,7 +1163,13 @@ export default {
           goodsId: this.tableData[0].id,
           itemType: this.tableData[0].typeno
         }).then(res => {
-          this.contactsData[this.choiceIndexT].storageQuantity =  res.data.data
+          // this.contactsData[this.choiceIndexT].storageQuantity =  res.data.data[0].purchasePrice
+          if (res.data.data.length > 0) {
+            this.contactsData[this.choiceIndexT].storageQuantity =  res.data.data[0].surplusRouteQuantity
+            } else {
+              this.contactsData[this.choiceIndexT].storageQuantity =  0
+
+            }
         })
       }
       this.dialogVisible = !this.dialogVisible
@@ -1211,7 +1217,12 @@ export default {
             goodsId: this.goodsListSave[item].id,
             itemType: this.goodsListSave[item].typeno
           }).then(res => {
-            this.$set(this.goodsListSave[item], 'storageQuantity', res.data.data)
+            // this.$set(this.goodsListSave[item], 'storageQuantity', res.data.data)
+            if (res.data.data.length > 0) {
+              this.$set(this.goodsListSave[item], 'storageQuantity', res.data.data[0].surplusRouteQuantity)
+            } else {
+              this.$set(this.goodsListSave[item], 'storageQuantity', '0')
+            }
             this.goodsListSave[item].itemId = this.goodsListSave[item].id
             this.goodsListSave[item].priceCategory = this.goodsListSave[item].goodsTypeName
             delete this.goodsListSave[item].id
@@ -1241,7 +1252,12 @@ export default {
             goodsId: this.tableData[item].id,
             itemType: this.tableData[item].typeno
           }).then(res => {
-            this.$set(this.tableData[item], 'storageQuantity', res.data.data)
+            // this.$set(this.tableData[item], 'storageQuantity', res.data.data)
+            if (res.data.data.length > 0) {
+              this.$set(this.tableData[item], 'storageQuantity', res.data.data[0].surplusRouteQuantity)
+            } else {
+              this.$set(this.tableData[item], 'storageQuantity', '0')
+            }
             this.tableData[item].itemId = this.tableData[item].id
             this.tableData[item].priceCategory = this.tableData[item].goodsTypeName
             delete this.tableData[item].id

+ 18 - 6
src/views/businessManagement/receipt/configuration/customerContact.json

@@ -83,7 +83,7 @@
     },{
       "label": "编码",
       "prop": "code",
-      "index": 2,
+      "index": 3,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -139,7 +139,7 @@
     },{
       "label": "采购金额",
       "prop": "purchaseAmount",
-      "index": 6,
+      "index": 7,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -151,9 +151,21 @@
         }
       ]
     },{
+      "label": "库区",
+      "prop": "storageId",
+      "index": 8,
+      "width": 150,
+      "cell": false,
+      "overHidden": true,
+      "type": "select",
+      "props": {
+        "label": "storageName",
+        "value": "storageId"
+      }
+    },{
       "label": "入库数量",
       "prop": "actualQuantity",
-      "index": 6,
+      "index": 9,
       "width":100,
       "cell": false,
       "slot": true,
@@ -168,7 +180,7 @@
     },{
       "label": "入库金额",
       "prop": "deliveryAmount",
-      "index": 6,
+      "index": 10,
       "width":100,
       "cell": true,
       "overHidden": true,
@@ -183,7 +195,7 @@
     {
       "label": "重量",
       "prop": "actualWeight",
-      "index": 7,
+      "index":11,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -198,7 +210,7 @@
     {
       "label": "体积",
       "prop": "containerVolume",
-      "index": 8,
+      "index": 12,
       "width":100,
       "cell": false,
       "overHidden": true,

+ 270 - 290
src/views/businessManagement/receipt/detailsPageEdit.vue

@@ -4,56 +4,25 @@
       <div class="customer-back">
         <!--        <i class="back-icon el-icon-arrow-left"></i><i style="font-style:normal">返回管理列表</i>-->
         <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
-                   @click="backToList">返回列表
+          @click="backToList">返回列表
         </el-button>
       </div>
       <div class="add-customer-btn">
-        <el-button
-          v-if="detailData.seeDisabled"
-          size="small"
-          @click="editHandle"
-          type="primary"
-        >编 辑</el-button>
-        <el-button type="primary"
-                   size="small"
-                   :disabled="!form.id"
-                   :loading="saveLoading"
-                   @click="postMessage"
-        >发送消息</el-button>
-        <el-button
-          class="el-button--small-yh"
-          type="primary"
-          @click="revokeInGoods"
-          size="small"
-          v-if="form.deliveryStatus === '已发货'"
-          :loading="saveLoading"
-          :disabled="detailData.seeDisabled"
-        >撤销发货</el-button>
-        <el-button
-          class="el-button--small-yh"
-          type="primary"
-          @click="sendInGoods"
-          size="small"
-          v-if="form.deliveryStatus == '录入'"
-          :loading="saveLoading"
-          :disabled="detailData.seeDisabled || !this.form.id"
-        >确认发货</el-button>
-        <el-button
-          class="el-button--small-yh"
-          size="small"
-          type="success" @click="copyOrder"
-          :loading="saveLoading"
+        <el-button v-if="detailData.seeDisabled" size="small" @click="editHandle" type="primary">编 辑</el-button>
+        <el-button type="primary" size="small" :disabled="!form.id" :loading="saveLoading"
+          @click="postMessage">发送消息</el-button>
+        <el-button class="el-button--small-yh" type="primary" @click="revokeInGoods" size="small"
+          v-if="form.deliveryStatus === '已发货'" :loading="saveLoading" :disabled="detailData.seeDisabled">撤销发货</el-button>
+        <el-button class="el-button--small-yh" type="primary" @click="sendInGoods" size="small"
+          v-if="form.deliveryStatus == '录入'" :loading="saveLoading"
+          :disabled="detailData.seeDisabled || !this.form.id">确认发货</el-button>
+        <!-- <el-button class="el-button--small-yh" size="small" type="success" @click="copyOrder" :loading="saveLoading"
           :disabled="detailData.seeDisabled || !this.form.id">
           复制单据
-        </el-button>
-        <el-button
-          class="el-button--small-yh"
-          type="primary"
-          :disabled="disabled || detailData.seeDisabled || receiveDisabled"
-          @click="editCustomer(false)"
-          size="small"
-          :loading="saveLoading"
-        >保 存
+        </el-button> -->
+        <el-button class="el-button--small-yh" type="primary"
+          :disabled="disabled || detailData.seeDisabled || receiveDisabled" @click="editCustomer(false)" size="small"
+          :loading="saveLoading">保 存
         </el-button>
       </div>
     </div>
@@ -62,121 +31,102 @@
         <containerTitle title="基础资料"></containerTitle>
         <basic-container>
           <el-row>
-            <el-col v-for="(item,index) in basicData.column" :key="index" :span="item.span?item.span:8">
+            <el-col v-for="(item, index) in basicData.column" :key="index" :span="item.span ? item.span : 8">
               <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
                 <!--                <avue-input-tree v-if="item.prop === 'corpsTypeId'"  leaf-only multiple :props="{label:'title'}" v-model="form[item.prop]" placeholder="请选择内容" type="tree" :dic="dic"-->
                 <!--                ></avue-input-tree>-->
                 <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]"
-                                size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss" :disabled="detailData.seeDisabled || receiveDisabled"/>
+                  size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss"
+                  :disabled="detailData.seeDisabled || receiveDisabled" />
                 <el-date-picker v-else-if="item.type === 'date'" style="width: 100%;" v-model="form[item.prop]"
-                                size="small" type="date" placeholder="选择日期"
-                                :disabled="detailData.seeDisabled || receiveDisabled"/>
-                <crop-select
-                  v-else-if="item.prop === 'corpId'"
-                  v-model="form[item.prop]"
-                  corpType="GYS"
-                  :disabled="detailData.seeDisabled || receiveDisabled"
-                  @getCorpData="returnBack"
-                ></crop-select>
-                <crop-select
-                  v-else-if="item.prop === 'salesCompany'"
-                  v-model="form[item.prop]"
-                  corpType="GS"
-                  :disabled="detailData.seeDisabled || receiveDisabled"
-                  @getCorpData="getGSName"
-                ></crop-select>
-<!--                <selectComponent v-else-if="item.prop === 'corpId'" v-model="form[item.prop]"-->
-<!--                                 :configuration="configuration" style="width: 100%" :disabled="detailData.seeDisabled"/>-->
-<!--                <selectComponent v-else-if="item.prop === 'salesCompany'" v-model="form[item.prop]"-->
-<!--                                 :configuration="companyConfiguration" style="width: 100%" :disabled="detailData.seeDisabled"/>-->
-                <el-select v-else-if="item.prop === 'purchaseMode'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled || receiveDisabled">
-                  <el-option v-for="(item,index) in procurementMethodOption" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
+                  size="small" type="date" placeholder="选择日期" :disabled="detailData.seeDisabled || receiveDisabled" />
+                <crop-select v-else-if="item.prop === 'corpId'" v-model="form[item.prop]" corpType="GYS"
+                  :disabled="detailData.seeDisabled || receiveDisabled" @getCorpData="returnBack"></crop-select>
+                <crop-select v-else-if="item.prop === 'salesCompany'" v-model="form[item.prop]" corpType="GS"
+                  :disabled="detailData.seeDisabled || receiveDisabled" @getCorpData="getGSName"></crop-select>
+                <!--                <selectComponent v-else-if="item.prop === 'corpId'" v-model="form[item.prop]"-->
+                <!--                                 :configuration="configuration" style="width: 100%" :disabled="detailData.seeDisabled"/>-->
+                <!--                <selectComponent v-else-if="item.prop === 'salesCompany'" v-model="form[item.prop]"-->
+                <!--                                 :configuration="companyConfiguration" style="width: 100%" :disabled="detailData.seeDisabled"/>-->
+                <el-select v-else-if="item.prop === 'purchaseMode'" v-model="form[item.prop]" placeholder="请选择" clearable
+                  filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled || receiveDisabled">
+                  <el-option v-for="(item, index) in procurementMethodOption" :key="index" :label="item.dictValue"
+                    :value="item.dictValue"></el-option>
                 </el-select>
-                <el-select v-else-if="item.prop === 'warehouseType'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled || receiveDisabled">
-                  <el-option v-for="(item,index) in warehouseTypeOption" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
+                <el-select v-else-if="item.prop === 'warehouseType'" v-model="form[item.prop]" placeholder="请选择" clearable
+                  filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled || receiveDisabled">
+                  <el-option v-for="(item, index) in warehouseTypeOption" :key="index" :label="item.dictValue"
+                    :value="item.dictValue"></el-option>
                 </el-select>
-                <el-select
-                  v-else-if="item.prop === 'arrivalAddress'"
-                  v-model="form[item.prop]"
-                  placeholder="请选择"
-                  clearable
-                  filterable
-                  style="width: 100%"
-                  size="small"
-                  @change="arrivalAddressChange"
+                <el-select v-else-if="item.prop === 'arrivalAddress'" v-model="form[item.prop]" placeholder="请选择"
+                  clearable filterable style="width: 100%" size="small" @change="arrivalAddressChange"
                   :disabled="detailData.seeDisabled || receiveDisabled">
-                  <el-option v-for="(item,index) in GYSInfo" :key="index" :label="item.addr" :value="item.addr"></el-option>
+                  <el-option v-for="(item, index) in GYSInfo" :key="index" :label="item.addr"
+                    :value="item.addr"></el-option>
                 </el-select>
-                <el-radio-group v-else-if="item.prop === 'logisticsConfirm'" v-model="form[item.prop]" :disabled="detailData.seeDisabled || receiveDisabled" @change="logisticsConfirmChange">
-                   <el-radio label="1">是</el-radio>
-                   <el-radio label="0">否</el-radio>
+                <el-radio-group v-else-if="item.prop === 'logisticsConfirm'" v-model="form[item.prop]"
+                  :disabled="detailData.seeDisabled || receiveDisabled" @change="logisticsConfirmChange">
+                  <el-radio label="1">是</el-radio>
+                  <el-radio label="0">否</el-radio>
                 </el-radio-group>
-                <el-radio-group v-else-if="item.prop === 'assistantConfirm'" v-model="form[item.prop]" :disabled="detailData.seeDisabled || receiveDisabled" @change="assistantConfirmChange">
-                   <el-radio label="1">是</el-radio>
-                   <el-radio label="0">否</el-radio>
+                <el-radio-group v-else-if="item.prop === 'assistantConfirm'" v-model="form[item.prop]"
+                  :disabled="detailData.seeDisabled || receiveDisabled" @change="assistantConfirmChange">
+                  <el-radio label="1">是</el-radio>
+                  <el-radio label="0">否</el-radio>
                 </el-radio-group>
-                <warehouse-select v-else-if="item.prop === 'storageId'" v-model="form[item.prop]"
-                                  :configuration="configurationWarehouse" style="width: 100%" :disabled="detailData.seeDisabled || receiveDisabled"/>
-                <el-input
-                  v-else-if="item.type == 'number'"
-                  placeholder="请输入"
-                  v-input-limit="2"
-                  size="small"
-                  :disabled="item.disabled || detailData.seeDisabled || receiveDisabled"
-                  v-model.trim="form[item.prop]"
-                />
-                <el-input type="textarea" v-else-if="item.type === 'textarea'" v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled || receiveDisabled"></el-input>
-                <el-input type="age" v-else v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled || receiveDisabled"></el-input>
+                <!-- <warehouse-select v-else-if="item.prop === 'storageId'" v-model="form[item.prop]"
+                                  :configuration="configurationWarehouse" style="width: 100%" :disabled="detailData.seeDisabled || receiveDisabled"/> -->
+                <el-select v-else-if="item.prop === 'storageId'" v-model="form[item.prop]" placeholder="请选择仓库" clearable
+                  filterable style="width: 100%" size="small"
+                  :disabled="detailData.seeDisabled || item.disabled || browse" @change="handleStorageIdChange">
+                  <el-option v-for="(item, index) in storageIdOption" :key="index" :label="item.cname"
+                    :value="item.id"></el-option>
+                </el-select>
+
+
+                <el-input v-else-if="item.type == 'number'" placeholder="请输入" v-input-limit="2" size="small"
+                  :disabled="item.disabled || detailData.seeDisabled || receiveDisabled" v-model.trim="form[item.prop]" />
+                <el-input type="textarea" v-else-if="item.type === 'textarea'" v-model.trim="form[item.prop]" size="small"
+                  autocomplete="off" :disabled="item.disabled || detailData.seeDisabled || receiveDisabled"></el-input>
+                <el-input type="age" v-else v-model.trim="form[item.prop]" size="small" autocomplete="off"
+                  :disabled="item.disabled || detailData.seeDisabled || receiveDisabled"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
         </basic-container>
         <containerTitle title="商品信息"></containerTitle>
         <basic-container>
-          <avue-crud
-              :option="customerContact"
-              v-model="contactsForm"
-              :data="contactsData"
-              ref="crudContact"
-              @row-save="rowSave"
-              @row-click="handleRowClick"
-              @row-update="rowUpdate"
-              @row-del="rowDel"
-              @saveColumn="saveColumn('goods')"
-              @resetColumn="resetColumn"
-              :key="crudIndex"
-          >
+          <avue-crud :option="customerContact" v-model="contactsForm" :data="contactsData" ref="crudContact"
+            @row-save="rowSave" @row-click="handleRowClick" @row-update="rowUpdate" @row-del="rowDel"
+            @saveColumn="saveColumn('goods')" @resetColumn="resetColumn" :key="crudIndex">
             <template slot="headerSerial">
-              <el-button type="primary" icon="el-icon-circle-plus-outline" circle size="mini" @click="$refs.crudContact.rowCellAdd()"></el-button>
+              <el-button type="primary" icon="el-icon-circle-plus-outline" circle size="mini"
+                @click="$refs.crudContact.rowCellAdd()"></el-button>
             </template>
             <template slot="code" slot-scope="{row}">
-              <el-button type="text" size="mini" style="padding:4px 10px;float:left" :disabled="detailData.seeDisabled || !row.$cellEdit" @click="commodityChoice(row)">选择</el-button>
+              <el-button type="text" size="mini" style="padding:4px 10px;float:left"
+                :disabled="detailData.seeDisabled || !row.$cellEdit" @click="commodityChoice(row)">选择</el-button>
               <span>{{ row.code }}</span>
             </template>
             <template slot-scope="{row,index}" slot="menu">
-              <el-button
-                  type="text"
-                  size="small"
-                  @click="rowCell(row,index)"
-                  :disabled="detailData.seeDisabled || receiveDisabled"
-              >{{ row.$cellEdit ? '保存' : '修改' }}
+              <el-button type="text" size="small" @click="rowCell(row, index)"
+                :disabled="detailData.seeDisabled || receiveDisabled">{{ row.$cellEdit ? '保存' : '修改' }}
               </el-button>
-              <el-button
-                size="small"
-                icon="el-icon-delete"
-                type="text"
-                @click="rowDel(row, index)"
-                :disabled="detailData.seeDisabled || receiveDisabled"
-                v-if="!row.$cellEdit"
-              >删 除</el-button>
+              <el-button size="small" icon="el-icon-delete" type="text" @click="rowDel(row, index)"
+                :disabled="detailData.seeDisabled || receiveDisabled" v-if="!row.$cellEdit">删 除</el-button>
+            </template>
+            <template slot="storageId" slot-scope="{ row }">
+              <el-select v-if="row.$cellEdit" v-model="row.storageId" allow-create filterable v-input-limit="2"
+                default-first-option @change="handleStorageNameChange(row)">
+                <el-option v-for="(item, index) in storageQuantityList" :key="index" :label="item.cname"
+                  :value="item.id"></el-option>
+              </el-select>
+              <span v-else>{{ row.storageName }}</span>
             </template>
+
             <template slot="actualQuantity" slot-scope="{ row }">
-              <el-input
-                v-if="row.$cellEdit"
-                v-model.trim="row.actualQuantity"
-                v-input-limit="0"
-                @input="actualQuantityChange(row)"
-              ></el-input>
+              <el-input v-if="row.$cellEdit" v-model.trim="row.actualQuantity" v-input-limit="0"
+                @input="actualQuantityChange(row)"></el-input>
               <span v-else>{{ row.actualQuantity | IntegerFormat }}</span>
             </template>
             <template slot="purchaseQuantity" slot-scope="{ row }">
@@ -189,131 +139,78 @@
               <span>{{ row.deliveryAmount | decimalFormat }}</span>
             </template>
             <template slot="menuLeft" slot-scope="{size}">
-              <el-button type="primary"
-                         icon="el-icon-plus"
-                         size="small"
-                         @click="commoditySelection"
-                         :disabled="detailData.seeDisabled || receiveDisabled"
-              >录入明细
-              </el-button>
+              <!-- <el-button type="primary" icon="el-icon-plus" size="small" @click="commoditySelection"
+                :disabled="detailData.seeDisabled || receiveDisabled">录入明细
+              </el-button> -->
               <el-button type="info" :size="size" icon="el-icon-printer" @click.stop="openReport()">报表打印</el-button>
             </template>
           </avue-crud>
         </basic-container>
-        <fee-info
-          ref="feeInfo"
-          :orderFeesList="advantageProjectData"
-          :disabled="detailData.seeDisabled || receiveDisabled"
-          @beforeFinance="beforeFinance"
-          :srcType="3"
-          optionType="GN"
-          itemType="发货"
-          feeUrl="/blade-deliver-goods/deliveryfees/update"
-          :corpId="form.corpId"
-        />
+        <fee-info ref="feeInfo" :orderFeesList="advantageProjectData"
+          :disabled="detailData.seeDisabled || receiveDisabled" @beforeFinance="beforeFinance" :srcType="3"
+          optionType="GN" itemType="发货" feeUrl="/blade-deliver-goods/deliveryfees/update" :corpId="form.corpId" />
         <containerTitle title="附件上传"></containerTitle>
-        <c-upload
-          :data="bankOfDepositData"
-          deleteUrl="/api/blade-deliver-goods/deliveryfiles/update"
-          :enumerationValue="77"
-          display
-        />
+        <c-upload :data="bankOfDepositData" deleteUrl="/api/blade-deliver-goods/deliveryfiles/update"
+          :enumerationValue="77" display />
       </el-form>
     </div>
-    <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-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" style="height: 100%;overflow-y: auto">
           <div>
             <el-scrollbar>
               <basic-container>
-                <avue-tree :option="treeOption" :data="treeDataGoods" @node-click="nodeClick"/>
+                <avue-tree :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="data"
-                       ref="crud"
-                       @refresh-change="refreshChange"
-                       @selection-change="selectionChange"
-                       :page.sync="page"
-                       @search-change="goodsSearch"
-                       @on-load="onLoad"></avue-crud>
+            <avue-crud :option="optionTwo" :table-loading="loading" :data="data" ref="crud"
+              @refresh-change="refreshChange" @selection-change="selectionChange" :page.sync="page"
+              @search-change="goodsSearch" @on-load="onLoad"></avue-crud>
           </basic-container>
         </el-col>
       </el-row>
       <span slot="footer" class="dialog-footer">
-          <el-button @click="dialogVisible = false">取 消</el-button>
-          <el-button type="primary" @click="importGoods" v-if="commodityData !== true">导入</el-button>
-          <el-button type="primary" @click="importChoice" v-if="commodityData === true"
-                     :disabled="tableData.length !== 1">导入</el-button>
-        </span>
+        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="importGoods" v-if="commodityData !== true">导入</el-button>
+        <el-button type="primary" @click="importChoice" v-if="commodityData === true"
+          :disabled="tableData.length !== 1">导入</el-button>
+      </span>
     </el-dialog>
-    <el-dialog
-        title="导入费用"
-        append-to-body
-        class="el-dialogDeep"
-        :visible.sync="dialogCost"
-        width="80%"
-        :close-on-click-modal="false"
-        :destroy-on-close="true"
-        :close-on-press-escape="false"
-        @close="closeFees">
-      <el-row :style="{height: rowHeight}">
+    <el-dialog title="导入费用" append-to-body class="el-dialogDeep" :visible.sync="dialogCost" width="80%"
+      :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" @close="closeFees">
+      <el-row :style="{ height: rowHeight }">
         <el-col :span="5" style="height: 100%;overflow-y: auto">
           <div>
             <el-scrollbar>
               <basic-container>
-                <avue-tree :option="treeOptionCost" :data="treeData" @node-click="nodeClickCost"/>
+                <avue-tree :option="treeOptionCost" :data="treeData" @node-click="nodeClickCost" />
               </basic-container>
             </el-scrollbar>
           </div>
         </el-col>
         <el-col :span="19">
           <basic-container>
-            <avue-crud :option="optionTwoCost"
-                       :table-loading="loadingCost"
-                       :data="dataCost"
-                       ref="crud"
-                       @refresh-change="refreshChangeCost"
-                       @selection-change="selectionChangeCost"
-                       :page.sync="pageCost"
-                       @searchChange="feesSearch"
-                       @on-load="onLoadCost">
+            <avue-crud :option="optionTwoCost" :table-loading="loadingCost" :data="dataCost" ref="crud"
+              @refresh-change="refreshChangeCost" @selection-change="selectionChangeCost" :page.sync="pageCost"
+              @searchChange="feesSearch" @on-load="onLoadCost">
             </avue-crud>
           </basic-container>
         </el-col>
       </el-row>
       <span slot="footer" class="dialog-footer">
-          <el-button @click="dialogCost = false">取 消</el-button>
-          <el-button type="primary" @click="importCost" v-if="choiceData !== true">导入</el-button>
-          <el-button type="primary" @click="choiceCost" v-if="choiceData === true"
-                     :disabled="tableDataCost.length !== 1">导入</el-button>
-        </span>
+        <el-button @click="dialogCost = false">取 消</el-button>
+        <el-button type="primary" @click="importCost" v-if="choiceData !== true">导入</el-button>
+        <el-button type="primary" @click="choiceCost" v-if="choiceData === true"
+          :disabled="tableDataCost.length !== 1">导入</el-button>
+      </span>
     </el-dialog>
-    <messagePost
-      v-if="messageVisble"
-      ref="messagePost"
-      @closeDialog="closeDialog"
-    ></messagePost>
-    <report-dialog
-        :switchDialog="switchDialog"
-        :reportId="form.id"
-        reportName="国内贸易-发货明细"
-        @onClose="onClose()"
-    />
+    <messagePost v-if="messageVisble" ref="messagePost" @closeDialog="closeDialog"></messagePost>
+    <report-dialog :switchDialog="switchDialog" :reportId="form.id" reportName="国内贸易-发货明细" @onClose="onClose()" />
   </div>
 </template>
 
@@ -329,16 +226,17 @@ import {
   sendInGoods,
   revokeInGoods
 } from "@/api/basicData/receipt"
-import {getList} from "@/api/basicData/commodityType";
+import { customerList as storageDesc } from "@/api/basicData/basicStorageDesc";
+import { getList } from "@/api/basicData/commodityType";
 import customerContact from "./configuration/customerContact.json"
 import advantageProject from "./configuration/advantageProject.json"
 import bankOfDeposit from "./configuration/bankOfDeposit.json"
 import commodity from "./configuration/commodity.json"
 import optionTwoCost from "./configuration/mainListCost.json"
-import {getDeptLazyTree, customerList,getDeptLazyTreeTwo} from "@/api/basicData/basicFeesDesc";
-import {customerList as wareHouseType} from "@/api/basicData/basicStorageType"
-import {customerList as selectWareHouse} from "@/api/basicData/basicStorageDesc"
-import {selectGoodsNum} from "@/api/basicData/inventoryAccount"
+import { getDeptLazyTree, customerList, getDeptLazyTreeTwo } from "@/api/basicData/basicFeesDesc";
+import { customerList as wareHouseType } from "@/api/basicData/basicStorageType"
+import { customerList as selectWareHouse } from "@/api/basicData/basicStorageDesc"
+import { selectGoodsNum } from "@/api/basicData/inventoryAccount"
 import { contrastObj, contrastList } from "@/util/contrastData";
 import feeInfo from "@/components/fee-info/main";
 import {
@@ -347,10 +245,11 @@ import {
   micrometerFormat,
   IntegerFormat
 } from "@/util/validate";
-import {detail as GYSDetail} from "@/api/basicData/customerInformation";
+import { detail as GYSDetail } from "@/api/basicData/customerInformation";
 import { getMarketPrice, getPurchasePrice } from "@/api/basicData/fees";
 import { dateFormat } from "@/util/date";
 import reportDialog from "@/components/report-dialog/main";
+import { customerList as storageType } from "@/api/basicData/basicStorageType"
 export default {
   name: "detailsPage",
   props: {
@@ -359,10 +258,12 @@ export default {
     }
   },
   components: {
-    feeInfo,reportDialog
+    feeInfo, reportDialog
   },
   data() {
     return {
+      storageIdOption: [],
+      storageQuantityList: [],
       saveLoading: false,
       configuration: {
         multipleChoices: false,
@@ -496,7 +397,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '采购方式',
             prop: 'purchaseMode',
             rules: [
@@ -506,7 +407,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },  {
+          }, {
             label: '所属公司',
             prop: 'salesCompany',
             span: 16,
@@ -517,7 +418,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '仓库类型',
             prop: 'warehouseType',//字典表
             rules: [
@@ -548,7 +449,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '入库金额',
             prop: 'deliveryAmount',
             disabled: true,
@@ -570,7 +471,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '入库数量',
             prop: 'totalQuantity',
             disabled: true,
@@ -635,32 +536,32 @@ export default {
             ]
           },
           {
-              label: "物流确认",
-              prop: "logisticsConfirm",
+            label: "物流确认",
+            prop: "logisticsConfirm",
           },
           {
-              label: "操作人",
-              prop: "logisticsConfirmUser",
-              disabled:true
+            label: "操作人",
+            prop: "logisticsConfirmUser",
+            disabled: true
           },
           {
-              label: "操作时间",
-              prop: "logisticsConfirmTime",
-              disabled:true
+            label: "操作时间",
+            prop: "logisticsConfirmTime",
+            disabled: true
           },
           {
-              label: "助理确认",
-              prop: "assistantConfirm",
+            label: "助理确认",
+            prop: "assistantConfirm",
           },
           {
-              label: "操作人",
-              prop: "assistantConfirmUser",
-              disabled:true
+            label: "操作人",
+            prop: "assistantConfirmUser",
+            disabled: true
           },
           {
-              label: "操作时间",
-              prop: "assistantConfirmTime",
-              disabled:true
+            label: "操作时间",
+            prop: "assistantConfirmTime",
+            disabled: true
           },
           {
             label: '重量合计',
@@ -673,7 +574,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '体积合计',
             prop: 'totalVolumn',
             disabled: true,
@@ -684,7 +585,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
+          }, {
             label: '来源单号',
             prop: 'srcOrderNo',
             disabled: true,
@@ -731,19 +632,26 @@ export default {
       pageLoading: false,
       // 发货禁用
       receiveDisabled: false,
-      messageVisble:false,
+      messageVisble: false,
       switchDialog: false,
       GYSInfo: [], //供应商发货方信息
       crudIndex: 0,
     }
   },
+
   mounted() {
+    if (!this.form.storageId) {
+      this.handleStorageIdChange(this.form.storageId)
+    } else {
+
+    }
     this.$nextTick(() => {
       // 监听浏览器高度变化,改变表格高度
       window.onresize = () => {
         this.rowHeight = (window.innerHeight - 130) + 'px'
       }
     })
+
   },
   filters: {
     IntegerFormat(num) {
@@ -755,12 +663,18 @@ export default {
   },
   //初始化查询
   async created() {
+
     this.rowHeight = (window.innerHeight - 130) + 'px'
     this.customerContact = await this.getColumnData(this.getColumnName(24), customerContact);
     this.advantageProject = await this.getColumnData(this.getColumnName(25), advantageProject);
     this.getWorkDicts("procurement_method").then(res => {
       this.procurementMethodOption = res.data.data
     })
+    storageType().then(res => {
+
+      // console.log('1', res.data.data);
+      this.storageIdOption = res.data.data.records
+    })
     this.getWorkDicts("warehouseType").then(res => {
       this.warehouseTypeOption = res.data.data
     })
@@ -774,10 +688,10 @@ export default {
         }
       })
       let result = [], temp = {}
-      for(let i = 0; i < this.warehouseType.length;i++) {
+      for (let i = 0; i < this.warehouseType.length; i++) {
         temp[this.warehouseType[i].id] = this.warehouseType[i]
       }
-      for (let j = 0;j < this.warehouseType.length;j++) {
+      for (let j = 0; j < this.warehouseType.length; j++) {
         let current = this.warehouseType[j]
         let tempCurrentParent = temp[current.parentId]
         if (tempCurrentParent) {
@@ -798,16 +712,23 @@ export default {
     this.form.totalQuantity = 0
     this.form.purchaseAmount = 0
     this.form.deliveryStatus = '录入'
+    console.log('456', this.detailData.form);
+    this.form.orderItemsList = []
+
     if (this.detailData.id) {
       this.queryData(this.detailData.id)
-    }else if (this.detailData.form){
+    } else if (this.detailData.form) {
+      console.log('1132452345', this.detailData.form);
+
       this.form = JSON.parse(this.detailData.form);
+      console.log(this.form);
       this.$set(this.form, 'orgId', this.form.id);
+      this.$set(this.form, 'srcId', this.form.id);
       delete this.form.createTime
       delete this.form.id
       delete this.form.sysNo
       this.contactsData = this.form.orderItemsList
-      delete this.form.orderItemsList
+      // delete this.form.orderItemsList
       this.configuration.dicData = this.form.corpName
       delete this.form.corpName
       this.$set(this.form, 'deliveryStatus', '录入')
@@ -818,7 +739,7 @@ export default {
       this.$set(this.form, 'deliveryAmount', 0)
       this.$set(this.form, 'totalQuantity', 0)
       this.$set(this.form, 'purchaseAmount', 0)
-      this.returnBack({id: this.form.corpId})
+      this.returnBack({ id: this.form.corpId })
       this.contactsData.forEach(item => {
         this.$set(item, 'containerVolume', item.cntrVolumn)
         this.$set(item, 'actualWeight', item.cartonWeight)
@@ -829,6 +750,7 @@ export default {
         // this.$set(item, "deliveryAmount", item.amount)
         this.$set(item, "purchaseAmount", item.purchaseAmount)
         this.$set(item, "purchaseQuantity", Number(item.orderQuantity))
+        this.$set(item, "storageQuantityList", [])
         this.$set(item, "actualQuantity", (Number(item.orderQuantity) - Number(item.actualQuantity)))
         this.actualQuantityChange(item)
         // 入库数量和入库金额的比例
@@ -855,12 +777,22 @@ export default {
   watch: {
   },
   methods: {
+    handleStorageIdChange(e) {
+      let queryParams = {
+        "storageTypeId": e
+      }
+      storageDesc(queryParams).then(res => {
+        console.log(res.data.data);
+        this.storageQuantityList = res.data.data.records
+
+      })
+    },
     queryData(id, isCopy = false) {
       this.pageLoading = true
       this.saveLoading = true
       detail(id).then(res => {
         this.form = res.data.data;
-        this.receiveDisabled = this.form.deliveryStatus == '录入'? false: true
+        this.receiveDisabled = this.form.deliveryStatus == '录入' ? false : true
         this.contactsData = this.form.deliveryItemsList
         this.advantageProjectData = this.form.deliveryFeesList
         this.bankOfDepositData = this.form.deliveryFilesList
@@ -899,7 +831,7 @@ export default {
           this.maxFeeNum = 0;
         } else {
           this.maxFeeNum = num.reduce((a, b) => {
-            return b > a? b: a;
+            return b > a ? b : a;
           })
         }
         let goodsNum = []
@@ -910,7 +842,7 @@ export default {
           this.maxGoodsNum = 0;
         } else {
           this.maxGoodsNum = goodsNum.reduce((a, b) => {
-            return b > a? b: a;
+            return b > a ? b : a;
           })
         }
         this.oldGoodsList = []
@@ -944,6 +876,36 @@ export default {
         this.pageLoading = false
       });
     },
+    handleStorageNameChange(row) {
+      console.log(row)
+      this.choiceIndexT = row.$index
+      console.log(row.storageId);
+      let index
+      console.log(row.storageQuantityList);
+      if (row.storageQuantityList.length > 0) {
+
+        index = row.storageQuantityList.findIndex(function (item) {
+          return item.storageId === row.storageId;
+        });
+        console.log(index);
+        this.contactsData[this.choiceIndexT].storageName = row.storageQuantityList[index].storageName;
+        this.contactsData[this.choiceIndexT].storageId = row.storageQuantityList[index].storageId;
+      } else {
+        let queryParams = {
+          "storageTypeId": this.form.storageId
+        }
+        storageDesc(queryParams).then(res => {
+          console.log(res.data.data);
+          index = res.data.data.records.findIndex(function (item) {
+            return item.id === row.storageId;
+          });
+          console.log(index);
+          this.contactsData[this.choiceIndexT].storageName = res.data.data.records[index].cname;
+          this.contactsData[this.choiceIndexT].storageId = res.data.data.records[index].id;
+        })
+      }
+
+    },
     copyOrder() {
       this.queryData(this.form.id, true)
     },
@@ -968,7 +930,7 @@ export default {
           this.form.storageId = null
         }
       }
-      let data =  {
+      let data = {
         storageTypeId: id
       }
       selectWareHouse(data).then(res => {
@@ -978,10 +940,17 @@ export default {
     },
     //点击行可编辑
     handleRowClick(row, event, column) {
+      console.log(243243);
       console.log(row.$index)
     },
     //商品编辑
     rowCell(row, index) {
+      // if (row.$cellEdit == true) {
+      //   this.$set(row, "$cellEdit", false);
+      // } else {
+      //   this.$set(row, "$cellEdit", true);
+      // }
+
       this.$refs.crudContact.rowCell(row, row.$index)
     },
     //费用编辑
@@ -995,7 +964,7 @@ export default {
     },
     // 报表
     openReport() {
-      this.switchDialog =! this.switchDialog;
+      this.switchDialog = !this.switchDialog;
     },
     //商品新增触发
     commoditySelection() {
@@ -1017,6 +986,7 @@ export default {
       console.log(row)
       this.choiceIndexT = row.$index
     },
+    //点击仓库
     //导入商品触发
     importChoice() {
       if (this.tableData.length === 1) {
@@ -1025,7 +995,7 @@ export default {
         this.contactsData[this.choiceIndexT].typeno = this.tableData[0].typeno
         this.contactsData[this.choiceIndexT].specificationAndModel = this.tableData[0].typeno
         this.contactsData[this.choiceIndexT].itemId = this.tableData[0].id
-        getPurchasePrice({code: this.contactsData[this.choiceIndexT].code}).then(res => {
+        getPurchasePrice({ code: this.contactsData[this.choiceIndexT].code }).then(res => {
           if (res.data.data.length > 0) {
             this.$set(this.contactsData[this.choiceIndexT], 'purchaseAmount', res.data.data[0].purchasePrice)
           } else {
@@ -1036,7 +1006,9 @@ export default {
           goodsId: this.tableData[0].id,
           itemType: this.tableData[0].typeno
         }).then(res => {
-          this.contactsData[this.choiceIndexT].storageQuantity =  res.data.data
+          this.contactsData[this.choiceIndexT].storageQuantity = res.data.data
+
+          // this.storageQuantityList = res.data.data
         })
       }
       this.dialogVisible = !this.dialogVisible
@@ -1071,11 +1043,11 @@ export default {
       this.dialogCost = false
     },
     //确认导入触发
-    importGoods() {
+    importGoods(row) {
       // this.contactsData = this.contactsData.concat(this.tableData)
       if (this.tableData.length > 0) {
         for (let item in this.tableData) {
-          getPurchasePrice({code: this.tableData[item].code}).then(res => {
+          getPurchasePrice({ code: this.tableData[item].code }).then(res => {
             if (res.data.data.length > 0) {
               this.$set(this.tableData[item], 'purchaseAmount', res.data.data[0].purchasePrice)
             } else {
@@ -1086,7 +1058,7 @@ export default {
             goodsId: this.tableData[item].id,
             itemType: this.tableData[item].typeno
           }).then(res => {
-            this.tableData[item].storageQuantity =  res.data.data
+            this.tableData[item].storageQuantity = res.data.data
             this.tableData[item].itemId = this.tableData[item].id
             this.tableData[item].priceCategory = this.tableData[item].goodsTypeName
             delete this.tableData[item].goodsTypeName
@@ -1095,6 +1067,8 @@ export default {
             delete this.tableData[item].isDeleted
             this.$set(this.tableData[item], 'specificationAndModel', this.tableData[item].typeno)
             this.$set(this.tableData[item], 'purchaseQuantity', 0)
+            this.$set(this.tableData[item], 'storageQuantityList', res.data.data)
+            this.$set(this.tableData[item], 'storageQuantity', res.data.data)
             this.$set(this.tableData[item], 'actualQuantity', 0)
             this.$set(this.tableData[item], 'purchaseAmount', 0)
             this.$set(this.tableData[item], 'deliveryAmount', 0)
@@ -1102,6 +1076,8 @@ export default {
             this.maxGoodsNum++
             this.$refs.crudContact.rowCellAdd(this.tableData[item]);
             this.$refs.crudContact.rowCell(this.tableData[item], this.contactsData.length - 1)
+            // row.storageQuantityList = res.data.data
+
           })
         }
       }
@@ -1115,22 +1091,22 @@ export default {
       this.treeDeptIdCost = "";
       this.treeData = [];
     },
-    logisticsConfirmChange(row){
-      if(row==1){
-        this.$set(this.form, 'logisticsConfirmUser',JSON.parse(localStorage.getItem("saber-userInfo")).content.real_name)
-        this.$set(this.form, 'logisticsConfirmTime',dateFormat(new Date(), "yyyy-MM-dd hh:mm:ss"))
-      }else{
-        this.$set(this.form, 'logisticsConfirmUser',null)
-        this.$set(this.form, 'logisticsConfirmTime',null)
+    logisticsConfirmChange(row) {
+      if (row == 1) {
+        this.$set(this.form, 'logisticsConfirmUser', JSON.parse(localStorage.getItem("saber-userInfo")).content.real_name)
+        this.$set(this.form, 'logisticsConfirmTime', dateFormat(new Date(), "yyyy-MM-dd hh:mm:ss"))
+      } else {
+        this.$set(this.form, 'logisticsConfirmUser', null)
+        this.$set(this.form, 'logisticsConfirmTime', null)
       }
     },
-    assistantConfirmChange(row){
-       if(row==1){
-        this.$set(this.form, 'assistantConfirmUser',JSON.parse(localStorage.getItem("saber-userInfo")).content.real_name)
-        this.$set(this.form, 'assistantConfirmTime',dateFormat(new Date(), "yyyy-MM-dd hh:mm:ss"))
-      }else{
-        this.$set(this.form, 'assistantConfirmUser',null)
-        this.$set(this.form, 'assistantConfirmTime',null)
+    assistantConfirmChange(row) {
+      if (row == 1) {
+        this.$set(this.form, 'assistantConfirmUser', JSON.parse(localStorage.getItem("saber-userInfo")).content.real_name)
+        this.$set(this.form, 'assistantConfirmTime', dateFormat(new Date(), "yyyy-MM-dd hh:mm:ss"))
+      } else {
+        this.$set(this.form, 'assistantConfirmUser', null)
+        this.$set(this.form, 'assistantConfirmTime', null)
       }
     },
     //选中触发
@@ -1277,12 +1253,12 @@ export default {
     // 去重
     removeRepeat() {
       let obj = []
-      this.configuration.dicData = this.configuration.dicData.reduce((current,next) => {
-        obj[next.id] ? '': obj[next.id] = true && current.push(next)
+      this.configuration.dicData = this.configuration.dicData.reduce((current, next) => {
+        obj[next.id] ? '' : obj[next.id] = true && current.push(next)
         return current
       }, [])
     },
-    receiveList(data){
+    receiveList(data) {
       this.configuration.dicData = this.configuration.dicData.concat(data)
       this.removeRepeat()
     },
@@ -1381,7 +1357,7 @@ export default {
           this.saveLoading = true
           typeSave(this.form).then(res => {
             // this.$set(this.detailData, 'seeDisabled', true);
-            this.$message({type: "success", message: this.form.id ? "修改成功!" : "新增成功!"});
+            this.$message({ type: "success", message: this.form.id ? "修改成功!" : "新增成功!" });
             if (isBack) {
               //成功关闭此页面回到列表页
               this.$emit("goBack");
@@ -1429,12 +1405,12 @@ export default {
         }).then(() => {
           this.editCustomer(true)
         }).catch(() => {
-          !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'sh',tableName: 'business_delivery', billId: this.form.id})
+          !this.detailData.seeDisabled && this.form.id && this.unLock({ moduleName: 'sh', tableName: 'business_delivery', billId: this.form.id })
           this.$emit("goBack");
           this.leaveDetailsKey(this.$route.name)
         })
       } else {
-        !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'sh',tableName: 'business_delivery', billId: this.form.id})
+        !this.detailData.seeDisabled && this.form.id && this.unLock({ moduleName: 'sh', tableName: 'business_delivery', billId: this.form.id })
         this.$emit("goBack");
         this.leaveDetailsKey(this.$route.name)
       }
@@ -1482,7 +1458,7 @@ export default {
       }
     },
     //费用明细回调
-    beforeFinance(feesData,callback){
+    beforeFinance(feesData, callback) {
       this.advantageProjectData = feesData;
       let params = {}
       //暂时默认通过  之后优化
@@ -1505,6 +1481,7 @@ export default {
       this.switchDialog = val;
     },
     editHandle() {
+
       const data = {
         moduleName: 'sh',
         tableName: 'business_delivery',
@@ -1529,6 +1506,7 @@ export default {
       }).finally(() => {
         this.saveLoading = false
       })
+
     },
     returnBack(data) {
       GYSDetail(data.id).then(res => {
@@ -1612,7 +1590,8 @@ export default {
     margin: 1vh auto 0 !important;
     padding-bottom: 10px !important;
 
-    .el-dialog__body, .el-dialog__footer {
+    .el-dialog__body,
+    .el-dialog__footer {
       padding-bottom: 0 !important;
       padding-top: 0 !important;
     }
@@ -1658,11 +1637,12 @@ export default {
   padding: 10.5px 0 10.5px 30px;
   //border: 1px solid #000;
 }
+
 ::v-deep .el-form-item {
   margin-bottom: 0;
 }
 
-::v-deep .el-form-item__content{
+::v-deep .el-form-item__content {
   line-height: 32px;
 }
 </style>

+ 3 - 1
src/views/businessManagement/salesOrder/detailsPageEdit.vue

@@ -1560,6 +1560,7 @@ export default {
         warehouseId: this.form.storageId
       }).then(res => {
         row.storageQuantityList = res.data.data
+        // this.$set(row,'storageQuantityList',res.data.data)
         row.storageId = res.data.data[0].storageId
         row.storageName = res.data.data[0].storageName
         row.storageQuantity = res.data.data[0].surplusRouteQuantity
@@ -1816,7 +1817,8 @@ export default {
           tradeType: 'GN',
           warehouseId: selectedValue
         }).then(res => {
-          this.goodsShowData[row.$index].storageQuantityList = res.data.data;
+          this.$set(this.goodsShowData[row.$index],'storageQuantityList',res.data.data)
+          // this.goodsShowData[row.$index].storageQuantityList = res.data.data;
           this.goodsShowData[row.$index].storageId = res.data.data[0].storageId;
           this.goodsShowData[row.$index].storageName = res.data.data[0].storageName;
           this.goodsShowData[row.$index].storageQuantity = res.data.data[0].surplusRouteQuantity;