chenrui 2 роки тому
батько
коміт
a35d40f86e

+ 44 - 54
src/views/inventoryManagement/inventoryChecking/selfDisk.vue

@@ -28,67 +28,59 @@
         <!-- 筛选条件 -->
         <div class="table-page-search-wrapper">
           <a-row>
-            <a-col :md="20" :sm="24">
+            <a-col>
               <a-form layout="inline" @keyup.enter.native="searchForm">
                 <a-row :gutter="15">
-                  <a-col :md="6" :sm="24">
+                  <a-col :md="4" :sm="16">
                     <a-form-item label="产品编码" prop="productCode">
                       <a-input id="inventoryCheckSelfDiskList-productCode" v-model.trim="queryParam.productCode" placeholder="请输入" allowClear />
                     </a-form-item>
                   </a-col>
-                  <a-col :md="6" :sm="24">
+                  <a-col :md="4" :sm="16">
                     <a-form-item label="产品名称" prop="productName">
                       <a-input id="inventoryCheckSelfDiskList-productName" v-model.trim="queryParam.productName" placeholder="请输入" allowClear />
                     </a-form-item>
                   </a-col>
-                  <a-col :md="6" :sm="24">
+                  <a-col :md="4" :sm="16">
                     <a-form-item label="产品品牌">
                       <ProductBrand id="inventoryCheckSelfDiskList-productBrand" sysFlag="" v-model="queryParam.brandSn"></ProductBrand>
                     </a-form-item>
                   </a-col>
-                  <template v-if="advanced">
-                    <a-col :md="6" :sm="24">
-                      <a-form-item label="产品分类">
-                        <ProductType id="inventoryCheckSelfDiskList-productType" @change="changeProductType" v-model="productType"></ProductType>
-                      </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="24" v-if="basicInfoData&&basicInfoData.warehouseFlag=='1'">
-                      <a-form-item label="仓库">
-                        <a-select id="inventoryCheckSelfDiskList-warehouseSn" allowClear placeholder="请选择仓库" v-model="queryParam.warehouseSn" >
-                          <a-select-option v-for="item in warehouseList" :key="item.warehouseSn" :value="item.warehouseSn">{{ item.name }}</a-select-option>
-                        </a-select>
-                      </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="24">
-                      <a-form-item label="">
-                        <a-checkbox @change="onlySeeStock" :checked="showChecked">只查看有库存</a-checkbox>
-                      </a-form-item>
-                    </a-col>
-                  </template>
-                  <a-col :md="4" :sm="16" style="margin-bottom: 10px;">
+                  <a-col :md="4" :sm="16">
+                    <a-form-item label="产品分类">
+                      <ProductType id="inventoryCheckSelfDiskList-productType" @change="changeProductType" v-model="productType"></ProductType>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="4" :sm="16" v-if="basicInfoData&&basicInfoData.warehouseFlag=='1'">
+                    <a-form-item label="仓库">
+                      <a-select id="inventoryCheckSelfDiskList-warehouseSn" allowClear placeholder="请选择仓库" v-model="queryParam.warehouseSn" >
+                        <a-select-option v-for="item in warehouseList" :key="item.warehouseSn" :value="item.warehouseSn">{{ item.name }}</a-select-option>
+                      </a-select>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="4" :sm="16">
+                    <a-form-item label="">
+                      <a-checkbox @change="onlySeeStock" :checked="showChecked">只查看有库存</a-checkbox>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="4" :sm="16" style="margin-bottom: 10px;text-align: right;">
                     <a-button type="primary" @click="searchForm" :disabled="disabled" id="inventoryCheckSelfDiskList-refresh">查询</a-button>
                     <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="inventoryCheckSelfDiskList-reset">重置</a-button>
-                    <a @click="advanced=!advanced" style="margin-left: 5px">
-                      {{ advanced ? '收起' : '展开' }}
-                      <a-icon :type="advanced ? 'up' : 'down'"/>
-                    </a>
                   </a-col>
                 </a-row>
               </a-form>
             </a-col>
-            <a-col :md="2" :sm="24" style="text-align: right;">
+            <a-col :md="20"></a-col>
+            <a-col :md="4" :sm="16" style="margin-bottom: 10px;text-align: right;">
               <a-button size="small" type="primary" class="button-info" @click.stop="handleBatchAdd('batch')" id="chainTransferOutEdit-del-all-btn">批量添加</a-button>
-            </a-col>
-            <a-col :md="1" :sm="12" style="text-align: right;">
               <a-button
                 size="small"
                 type="primary"
                 class="button-info"
-                style="margin-left: 5px"
+                style="margin: 0px"
                 @click.stop="handleBatchAdd('all')"
                 id="chainTransferOutEdit-del-all-btn">全部添加</a-button>
             </a-col>
-
           </a-row>
         </div>
         <!-- 列表 -->
@@ -130,42 +122,40 @@
             <a-col :md="24" :sm="24">
               <a-form layout="inline" @keyup.enter.native="$refs.chooseTable.refresh(true)">
                 <a-row :gutter="15">
-                  <a-col :md="6" :sm="24">
+                  <a-col :md="5" :sm="20">
                     <a-form-item label="产品编码" prop="productCode">
                       <a-input id="inventoryCheckSelfDiskList-productCode" v-model.trim="chooseQueryParam.productCode" placeholder="请输入" allowClear />
                     </a-form-item>
                   </a-col>
-                  <a-col :md="6" :sm="24">
+                  <a-col :md="5" :sm="20">
                     <a-form-item label="产品名称" prop="productName">
                       <a-input id="inventoryCheckSelfDiskList-productName" v-model.trim="chooseQueryParam.productName" placeholder="请输入" allowClear />
                     </a-form-item>
                   </a-col>
-                  <a-col :md="6" :sm="24">
+                  <a-col :md="5" :sm="20">
                     <a-form-item label="产品品牌">
                       <ProductBrand id="inventoryCheckSelfDiskList-productBrand" sysFlag="" v-model="chooseQueryParam.brandSn"></ProductBrand>
                     </a-form-item>
                   </a-col>
-                  <template v-if="chooseAdvanced">
-                    <a-col :md="6" :sm="24">
-                      <a-form-item label="产品分类">
-                        <ProductType id="inventoryCheckSelfDiskList-productType" @change="changeChooseProductType" v-model="chooseProductType"></ProductType>
-                      </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="24" v-if="basicInfoData&&basicInfoData.warehouseFlag=='1'">
-                      <a-form-item label="仓库">
-                        <a-select id="inventoryCheckSelfDiskList-warehouseSn" allowClear placeholder="请选择仓库" v-model="chooseQueryParam.warehouseSn" >
-                          <a-select-option v-for="item in warehouseList" :key="item.warehouseSn" :value="item.warehouseSn">{{ item.name }}</a-select-option>
-                        </a-select>
-                      </a-form-item>
-                    </a-col>
-                  </template>
-                  <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
+                  <a-col :md="5" :sm="20">
+                    <a-form-item label="产品分类">
+                      <ProductType id="inventoryCheckSelfDiskList-productType" @change="changeChooseProductType" v-model="chooseProductType"></ProductType>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="5" :sm="20" v-if="basicInfoData&&basicInfoData.warehouseFlag=='1'">
+                    <a-form-item label="仓库">
+                      <a-select id="inventoryCheckSelfDiskList-warehouseSn" allowClear placeholder="请选择仓库" v-model="chooseQueryParam.warehouseSn" >
+                        <a-select-option v-for="item in warehouseList" :key="item.warehouseSn" :value="item.warehouseSn">{{ item.name }}</a-select-option>
+                      </a-select>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="4" :sm="16" style="margin-bottom: 10px;text-align: right;">
                     <a-button type="primary" @click="$refs.chooseTable.refresh(true)" :disabled="chooseDisabled" id="inventoryCheckSelfDiskList-refresh">查询</a-button>
                     <a-button style="margin-left: 5px" @click="chooseResetSearchForm" :disabled="chooseDisabled" id="inventoryCheckSelfDiskList-reset">重置</a-button>
-                    <a @click="chooseAdvanced=!chooseAdvanced" style="margin-left: 5px">
+                    <!-- <a @click="chooseAdvanced=!chooseAdvanced" style="margin-left: 5px">
                       {{ chooseAdvanced ? '收起' : '展开' }}
                       <a-icon :type="chooseAdvanced ? 'up' : 'down'"/>
-                    </a>
+                    </a> -->
                   </a-col>
                 </a-row>
               </a-form>
@@ -174,7 +164,6 @@
         </div>
         <a-row>
           <a-col :md="20" :sm="16">
-            <a-button size="small" type="primary" class="button-error" @click.stop="handleDel('', 'batch')" id="chainTransferOutEdit-del-all-btn">批量删除</a-button>
             <!-- 总计 -->
             <a-alert type="info" style="margin-bottom:10px;display: inline-block;">
               <div slot="message">
@@ -187,6 +176,7 @@
             </a-alert>
           </a-col>
           <a-col :md="4" :sm="8" style="text-align: right;">
+            <a-button size="small" type="primary" class="button-error" @click.stop="handleDel('', 'batch')" id="chainTransferOutEdit-del-all-btn">批量删除</a-button>
             <a-button
               size="small"
               type="primary"

+ 33 - 22
src/views/numsGoodsShelves/recallManagement/addRecallBillModal.vue

@@ -6,7 +6,7 @@
     :maskClosable="false"
     :title="'新增回调单——'+recallBillInfo.shelfName"
     v-model="isShow"
-    @cancel="isShow = false;$refs.recallBillTable.clearSelected();showChecked=false"
+    @cancel="isShow = false"
     width="60%">
     <a-spin :spinning="spinning" tip="Loading...">
       <a-form-model id="shelfSet-basicInfo-form" ref="ruleForm" :model="queryParam" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
@@ -57,16 +57,16 @@
       <div class="tableCon">
         <div style="margin-bottom: 16px">
           <a-button type="primary" @click="handleSave">新增调回单</a-button>
-          <span class="tableSpan">
+          <span class="tableSpan" v-if="totalCategory ||totalNum">
             <template>
               已选
-              <span>{{ selectedRowKeys.length }}</span>
+              <span>{{ totalCategory }}</span>
               款产品,共
               <span>{{ totalNum }}</span>
             </template>
           </span>
-          <span><a-checkbox @change="isShowChooseList" :checked="showChecked" size="small">仅显示已选产品</a-checkbox></span>
+          <span v-if="totalNum ||totalCategory"><a-checkbox @change="isShowChooseList" :checked="showChecked" size="small">仅显示已选产品</a-checkbox></span>
         </div>
         <s-table
           class="sTable"
@@ -81,18 +81,17 @@
           :showPagination="false"
           bordered>
           <template slot="confirmQty" slot-scope="text, record">
-            <div v-if="record.confirmQty == 0">--</div>
+            <div v-show="record.confirmQty == 0">--</div>
             <a-input-number
-              v-else
+              v-show="record.confirmQty != 0"
               size="small"
-              id="shelfMonitoring-add-confirmQty"
               v-model="record.confirmQty"
               :precision="0"
-              :min="0"
+              :min="1"
               :max="record.qty"
               placeholder="请输入"
               :style="{ width: '100%' }"
-            />
+            ></a-input-number>
           </template>
         </s-table>
       </div>
@@ -138,7 +137,6 @@ export default {
         unsalableDaysBegin: undefined,
         unsalableDaysEnd: undefined
       },
-      totalNum: 0,
       columns: [
         { title: '序号', dataIndex: 'no', width: '10%', align: 'center' },
         { title: '货位号', dataIndex: 'shelfPlaceCode', width: '15%', align: 'center' },
@@ -215,11 +213,10 @@ export default {
             return text || text == 0 ? text : '--'
           }
         },
-        { title: '调回数量', width: '20%', align: 'left', scopedSlots: { customRender: 'confirmQty' } }
+        { title: '调回数量', width: '20%', align: 'center', scopedSlots: { customRender: 'confirmQty' } }
       ],
-      selectedRowKeys: [], // 选中表格id
-      chooseList: [],
       showChecked: false,
+      rowSelectionInfo: null,
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         // 获取列表
@@ -234,11 +231,13 @@ export default {
           if (res.status == 200) {
             data = res.data
             if (this.showChecked) {
-              data = this.chooseList && this.chooseList || []
+              data = this.rowSelectionInfo && this.rowSelectionInfo.selectedRows || []
             }
             for (var i = 0; i < data.length; i++) {
               data[i].no = i + 1
-              data[i].confirmQty = data[i].qty
+              const row = this.rowSelectionInfo && this.rowSelectionInfo.selectedRows || []
+              const cur = row.find(item => item.id == data[i].id)
+              data[i].confirmQty = cur ? cur.confirmQty : (data[i].confirmQty || data[i].qty)
             }
           }
           this.spinning = false
@@ -250,21 +249,17 @@ export default {
   methods: {
     onSelectChange (obj) {
       // 获取选中列表
-      this.selectedRowKeys = obj.selectedRowKeys
-      this.chooseList = obj.selectedRows || null
-      this.totalNum = obj.selectedRows.reduce((pre, val) => {
-        return pre + val.confirmQty
-      }, 0)
+      this.rowSelectionInfo = obj || null
     },
     //  确定新增回调单
     handleSave () {
       const _this = this
-      if (this.chooseList && this.chooseList.length == 0) {
+      if (this.rowSelectionInfo.selectedRows && this.rowSelectionInfo.selectedRows.length == 0) {
         this.$message.warning('请先选择产品')
         return
       }
       const arr = []
-      this.chooseList.forEach((item, index) => {
+      this.rowSelectionInfo.selectedRows.forEach((item, index) => {
         if (item.confirmQty) {
           arr.push({
             shelfSn: item.shelfSn,
@@ -349,8 +344,24 @@ export default {
       if (!newValue) {
         this.$emit('close')
         this.$refs.ruleForm.resetFields()
+      } else {
+        this.$nextTick(() => {
+          this.resetSearchForm()
+        })
       }
     }
+  },
+  computed: {
+    totalNum () {
+      let ret = 0
+      this.rowSelectionInfo && this.rowSelectionInfo.selectedRows.map(item => {
+        ret = ret + item.confirmQty
+      })
+      return ret
+    },
+    totalCategory () {
+      return this.rowSelectionInfo && this.rowSelectionInfo.selectedRows.length
+    }
   }
 }
 </script>

+ 18 - 4
src/views/numsGoodsShelves/recallManagement/detailModal.vue

@@ -18,9 +18,9 @@
         <a-descriptions-item style="width:calc(100% - 18px);background:red">
           <span style="color:rgba(0, 0, 0, 0.85)">关联销售退货单:</span>
           <span v-if="salesReturnBillList && salesReturnBillList.length>0">
-            <span v-for="con in salesReturnBillList" :key="con.id" class="recallBillNo">{{ con.salesReturnNo }}</span>
+            <span v-for="con in salesReturnBillList" :key="con.id" class="recallBillNo" @click="jumpDetail(con)">{{ con.salesReturnNo }}</span>
           </span>
-          <a-button type="primary" ghost class="recallBillBtn" @click="seeRecallBill">生成销售退货单</a-button>
+          <a-button type="primary" ghost class="recallBillBtn" @click="seeRecallBill" v-if="itemData.billState != 'CANCEL'">生成销售退货单</a-button>
         </a-descriptions-item>
       </a-descriptions>
     </div>
@@ -47,13 +47,13 @@
       width="23%">
       <div class="tipTop" v-if="itemData">
         <div>产品总款数:<span>{{ itemData.totalCategory }}</span></div>
-        <div>产品总件数:<span>{{ itemData.totalQty }}</span></div>
+        <div>产品总件数:<span>{{ itemData.viewQty }}</span></div>
       </div>
       <div class="tipCon" v-if="salesReturnBillList && salesReturnBillList.length==0">确认生成销售退货订单吗?</div>
       <div v-else>
         <div class="tipCon">此调回单已经存在相应的销售退货单,确定再次生成销售退货单吗?</div>
         <div class="tipRecallBillNo">
-          <p v-for="con in salesReturnBillList" :key="con.id">{{ con.salesReturnNo }}</p>
+          <p v-for="con in salesReturnBillList" :key="con.id" @click="jumpDetail(con)">{{ con.salesReturnNo }}</p>
         </div>
       </div>
       <div class="tipFooter">
@@ -187,6 +187,19 @@ export default {
         }
         this.btnLoading = false
       })
+    },
+    jumpDetail (row) {
+      const _this = this
+      if (row.delFlag == 0) {
+        _this.isShow = false
+        _this.$router.push({ name: 'salesReturnDetail', params: { id: row.id, sn: row.salesReturnSn } })
+      } else {
+        _this.$error({
+          title: '提示',
+          content: '此销售退货单已删除,无法查看详情',
+          centered: true
+        })
+      }
     }
   }
 }
@@ -220,6 +233,7 @@ export default {
     .recallBillNo{
       color:#39f;
       font-weight: 600;
+      cursor: pointer;
     }
     .recallBillNo:not(:last-child)::after{
       content:',';

+ 3 - 3
src/views/numsGoodsShelves/recallStockManagement/editStock.vue

@@ -105,12 +105,12 @@ export default {
             data = res.data
             for (let i = 0; i < data.length; i++) {
               data[i].no = i + 1
-              if (this.defaultWarehouseCascade.length > 0) {
+              if (this.defaultWarehouseCascade.length > 0 && (!data[i].warehouseSn || !data[i].warehouseLocationSn)) {
                 data[i].warehouseCascade = this.defaultWarehouseCascade
                 data[i].warehouseSn = this.defaultWarehouseCascade[0]
                 data[i].warehouseLocationSn = this.defaultWarehouseCascade[1]
               } else {
-                data[i].warehouseCascade = undefined
+                data[i].warehouseCascade = [data[i].warehouseSn, data[i].warehouseLocationSn]
               }
             }
           }
@@ -155,7 +155,7 @@ export default {
     updateSelectData (ajaxData) {
       updateSelective(ajaxData).then(res => {
         if (res.status == 200) {
-          // this.$refs.table.refresh()
+          this.$refs.table.refresh()
           this.getStockInfo()
         }
       })

+ 2 - 1
src/views/numsGoodsShelves/shelfMonitoring/addModal.vue

@@ -103,7 +103,7 @@ export default {
       const _this = this
       const arr = []
       const arrInd = []
-      this.spinning = true
+
       this.listData.map((item, index) => {
         if (item.confirmQty) {
           arr.push({
@@ -123,6 +123,7 @@ export default {
         this.$message.warning('调回数量不能为空或0,请移除后提交')
         return
       }
+      this.spinning = true
       const params = {
         shelfSn: this.nowData && this.nowData.shelfInfo && this.nowData.shelfInfo.shelfSn,
         detailList: arr