瀏覽代碼

Merge branch 'develop_szhj07' of http://git.chelingzhu.com/jianguan-web/qpls-md-html into develop_szhj07

chenrui 2 年之前
父節點
當前提交
764865bb43

+ 1 - 1
public/version.json

@@ -1,5 +1,5 @@
 {
   "message": "发现有新版本发布,确定更新系统?",
   "vendorJsVersion": "",
-  "version": 1668076357699
+  "version": 1668159132330
 }

+ 1 - 1
src/layouts/BasicLayout.vue

@@ -374,7 +374,7 @@ export default {
       }
       // 补货订单
       if (data.notice.extInfo.bizType == 'SHELF_REPLENISH') {
-        this.$router.push({ name: 'replenishmentManagement', query: { bizType: 'WAIT_CONFIRM' } })
+        this.$router.push({ name: 'replenishmentManagement', query: { bizType: 'ALL' } })
       }
       // 货架订单
       if (data.notice.extInfo.bizType == 'SHELF_ORDER') {

+ 1 - 0
src/views/common/outInDetialModal.vue

@@ -7,6 +7,7 @@
     title="出库明细"
     v-model="isShow"
     @cancel="isShow = false"
+    :zIndex="1010"
     :width="1024">
     <a-spin :spinning="spinning" tip="Loading...">
       <div class="baseInfo" v-if="baseData">

+ 1 - 1
src/views/notice/detailModal.vue

@@ -139,7 +139,7 @@ export default {
       }
       // 补货订单
       if (this.detailsData.extInfo.bizType == 'SHELF_REPLENISH') {
-        this.$router.push({ name: 'replenishmentManagement', query: { bizType: 'WAIT_CONFIRM' } })
+        this.$router.push({ name: 'replenishmentManagement', query: { bizType: 'ALL' } })
       }
       // 货架订单
       if (this.detailsData.extInfo.bizType == 'SHELF_ORDER') {

+ 1 - 1
src/views/notice/list.vue

@@ -192,7 +192,7 @@ export default {
       }
       // 补货订单
       if (data.notice.extInfo.bizType == 'SHELF_REPLENISH') {
-        this.$router.push({ name: 'replenishmentManagement', query: { bizType: 'WAIT_CONFIRM' } })
+        this.$router.push({ name: 'replenishmentManagement', query: { bizType: 'ALL' } })
       }
       // 货架订单
       if (data.notice.extInfo.bizType == 'SHELF_ORDER') {

+ 9 - 4
src/views/numsGoodsShelves/replenishmentManagement/creatReplenishmentOrder.vue

@@ -30,7 +30,7 @@
             </a-col>
             <a-col :md="10" :sm="24">
               <a-form-model-item label="库存情况">
-                <a-checkbox-group :options="options" @change="onStockChange" />
+                <a-checkbox-group :options="options" v-model="queryParam.stockStateList" @change="onStockChange" />
               </a-form-model-item>
             </a-col>
             <a-col :md="24" :sm="24" style="margin-bottom: 10px;text-align:right;">
@@ -44,9 +44,11 @@
         <div class="table-operator">
           <div>
             <a-button type="primary" @click="handleSave">创建补货单</a-button>
-            <span style="margin-left:20px;">已选{{ totalCategory }}款产品,共{{ totalQty }}件</span>
+            <span style="margin-left:10px;" v-if="totalCategory||totalQty">
+              已选 {{ totalCategory }} 款产品,共 {{ totalQty }} 件
+            </span>
           </div>
-          <div style="margin-left:20px;">
+          <div style="margin-left:20px;" v-if="totalCategory||totalQty">
             <a-checkbox @change="changeShowChecked">
               仅显示已选产品
             </a-checkbox>
@@ -62,6 +64,7 @@
           @rowSelection="rowSelectionFun"
           :columns="columns"
           :data="loadData"
+          :style="{ height: '480px' }"
           :scroll="{ y: 450 }"
           :showPagination="false"
           bordered>
@@ -162,7 +165,9 @@ export default {
             }
             for (var i = 0; i < data.length; i++) {
               data[i].no = i + 1
-              data[i].replenishQty = data[i].replenishBillWaitQty || 1
+              const row = this.rowSelectionInfo && this.rowSelectionInfo.selectedRows || []
+              const cur = row.find(item => item.id == data[i].id)
+              data[i].replenishQty = cur ? cur.replenishQty : (data[i].replenishBillWaitQty || 1)
             }
             this.disabled = false
           }

+ 49 - 7
src/views/numsGoodsShelves/replenishmentManagement/detailModal.vue

@@ -18,9 +18,13 @@
             <a-descriptions-item label="状态">{{ detailData&&detailData.billStateDictValue || '--' }}</a-descriptions-item>
             <a-descriptions-item label="出库时间">{{ detailData&&detailData.outStockTime || '--' }}</a-descriptions-item>
             <a-descriptions-item label="签收时间">{{ detailData&&detailData.putStockTime || '--' }}</a-descriptions-item>
-            <a-descriptions-item label="出库备注">{{ detailData&&detailData.remarks || '--' }}</a-descriptions-item>
+            <a-descriptions-item label="出库备注">
+              <div style="word-break: break-all;">
+                {{ detailData&&detailData.remarks || '--' }}
+              </div>
+            </a-descriptions-item>
             <a-descriptions-item label="关联销售单" :span="3" v-if="detailData.billState=='WAIT_CHECK' || detailData.billState=='WAIT_OUT_STOCK' || detailData.billState=='FINISH'">
-              <a-button type="link" class="button-info" v-for="item in salesOrderList" :key="item.id">{{ item.orderNo }};</a-button>
+              <a style="margin-right:10px;color:#00aaff;" v-for="item in salesOrderList" :key="item.id" @click="viewSales(item)">{{ item.salesBillNo }};</a>
               <a-button type="primary" class="button-info" @click="showPlModal=true">生成销售单</a-button>
             </a-descriptions-item>
           </a-descriptions>
@@ -47,15 +51,20 @@
     <!-- 生成销售单 -->
     <commonModal modalTit="" :openModal="showPlModal" @close="showPlModal=false" @ok="createSales">
       <div style="display: flex;justify-content: center;margin-bottom: 15px;">
-        <div style="padding:5px 20px;">产品款数:<span style="color:red;">9</span></div>
-        <div style="padding:5px 20px;">产品总件数:<span style="color:red;">12</span></div>
+        <div style="padding:5px 20px;">产品款数:<span style="color:red;">{{ listData&&listData.length }}</span></div>
+        <div style="padding:5px 20px;">产品总件数:<span style="color:red;">{{ totalNums }}</span></div>
       </div>
       <div style="text-align: center;" v-if="salesOrderList.length">
         <div style="margin-bottom: 5px;font-size: 14px;">此补货单已经存在对应的销售单</div>
         <div style="margin-bottom: 15px;font-size: 14px;"><strong>确认再次生成销售单吗?</strong></div>
         <div style="line-height: 24px;">
-          <div style="padding:5px;border-bottom: 1px solid #eee;color:#00aaff;display: flex;justify-content: space-between;align-items: center;" v-for="item in salesOrderList" :key="item.id">
-            <div class="flex-grow:1;padding:0 5px;">{{ item.orderNo }};</div>
+          <div
+            style="padding:5px;border-bottom: 1px solid #eee;color:#00aaff;cursor: pointer;display: flex;justify-content: space-between;align-items: center;"
+            v-for="item in salesOrderList"
+            :key="item.id"
+            @click="viewSales(item)"
+          >
+            <div class="flex-grow:1;padding:0 5px;">{{ item.salesBillNo }};</div>
             <div class="padding:0 5px;"><a-icon type="right" style="color:#00aaff;" /></div>
           </div>
         </div>
@@ -64,6 +73,22 @@
         <div style="margin-bottom: 15px;font-size: 14px;"><strong>确认生成销售单吗?</strong></div>
       </div>
     </commonModal>
+    <!-- 销售单详情 -->
+    <a-modal
+      centered
+      class="outboundOrderDetail-modal"
+      :footer="null"
+      :maskClosable="false"
+      :bodyStyle="{padding:'12px'}"
+      :zIndex="1001"
+      title="销售单详情"
+      v-model="openDetailModal"
+      @cancel="openDetailModal=false"
+      width="80%">
+      <div style="max-height: 700px;overflow-y: auto;">
+        <salesDetailModal v-if="openDetailModal" :outBizSn="orderSn" />
+      </div>
+    </a-modal>
   </a-modal>
 </template>
 
@@ -71,10 +96,11 @@
 import { commonMixin } from '@/utils/mixin'
 import { STable, VSelect } from '@/components'
 import commonModal from '@/views/common/commonModal.vue'
+import salesDetailModal from '@/views/salesManagement/salesQuery/detail.vue'
 import { shelfReplenishDetailList, shelfReplenishDetail, queryRelationSalesBill, createSalesBill } from '@/api/shelfReplenish'
 export default {
   name: 'DetailModal',
-  components: { STable, VSelect, commonModal },
+  components: { STable, VSelect, commonModal, salesDetailModal },
   mixins: [commonMixin],
   props: {
     openModal: { //  弹框显示状态
@@ -94,6 +120,9 @@ export default {
       spinning: false,
       disabled: false,
       showPlModal: false,
+      openDetailModal: false,
+      orderSn: null,
+      listData: [],
       // 表头
       columns: [
         { title: '序号', dataIndex: 'no', width: '5%', align: 'center' },
@@ -130,6 +159,13 @@ export default {
     modalTit () {
       const hjName = this.nowData && this.nowData.shelfInfo.shelfName ? this.nowData.shelfInfo.shelfName : ''
       return '补货单详情 —— ' + hjName
+    },
+    totalNums () {
+      let ret = 0
+      this.listData.map(item => {
+        ret = ret + item.putQty
+      })
+      return ret
     }
   },
   methods: {
@@ -156,6 +192,7 @@ export default {
     // 生成销售单
     createSales () {
       this.spinning = true
+      this.showPlModal = false
       createSalesBill({ replenishBillSn: this.nowData.replenishBillSn }).then(res => {
         if (res.status == 200) {
           this.$message.info(res.message)
@@ -164,6 +201,11 @@ export default {
         this.spinning = false
       })
     },
+    // 查看销售单详情
+    viewSales (item) {
+      this.orderSn = item.salesBillSn
+      this.openDetailModal = true
+    },
     pageInit () {
       const vm = this
       vm.$nextTick(() => {

+ 4 - 1
src/views/numsGoodsShelves/replenishmentManagement/list.vue

@@ -162,7 +162,7 @@ export default {
         { title: '补货单号', dataIndex: 'replenishBillNo', scopedSlots: { customRender: 'replenishBillNo' }, width: '15%', align: 'center' },
         { title: '货架名称', dataIndex: 'shelfInfo.shelfName', width: '25%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
         { title: '状态', dataIndex: 'billStateDictValue', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '补货总量', dataIndex: 'totalConfirmQty', width: '8%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '补货总量', dataIndex: 'totalQty', width: '8%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '签收总量', dataIndex: 'totalPutQty', width: '8%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '16%', align: 'left' }
       ],
@@ -451,6 +451,9 @@ export default {
       })
       this.curBizType = this.$route.query && this.$route.query.bizType || this.curBizType
       this.queryByTypeSum()
+      if (this.$route.query && this.$route.query.bizType == 'ALL') {
+        this.openSlodOut = true
+      }
     }
   },
   watch: {

+ 1 - 1
src/views/numsGoodsShelves/replenishmentManagement/outWarehousingModal.vue

@@ -94,7 +94,7 @@ export default {
         { title: '序号', dataIndex: 'no', width: '8%', align: 'center' },
         { title: '产品编码', dataIndex: 'product.code', width: '29%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '产品名称', dataIndex: 'product.name', width: '40%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '补货数量', dataIndex: 'confirmQty', width: '15%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '补货数量', dataIndex: 'qty', width: '15%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '单位', dataIndex: 'product.unit', width: '8%', align: 'center', customRender: function (text) { return text || '--' } }
       ],
       // 加载数据方法 必须为 Promise 对象

+ 3 - 3
src/views/numsGoodsShelves/replenishmentManagement/putWarehousingModal.vue

@@ -40,7 +40,7 @@
         <!-- 签收数量 -->
         <template slot="putQty" slot-scope="text, record">
           <a-input-number
-            v-if="record.confirmQty&&record.confirmQty!=0"
+            v-if="record.qty&&record.qty!=0"
             size="small"
             id="replenishmentManagement-outWarehousing-putQty"
             v-model="record.putQty"
@@ -88,7 +88,7 @@ export default {
         { title: '序号', dataIndex: 'no', width: '5%', align: 'center' },
         { title: '产品编码', dataIndex: 'product.code', width: '22%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '产品名称', dataIndex: 'product.name', width: '28%', align: 'left', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '补货数量', dataIndex: 'confirmQty', width: '12%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '补货数量', dataIndex: 'qty', width: '12%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '签收数量', scopedSlots: { customRender: 'putQty' }, width: '15%', align: 'center' },
         { title: '单位', dataIndex: 'product.unit', width: '6%', align: 'center', customRender: function (text) { return text || '--' } }
       ],
@@ -102,7 +102,7 @@ export default {
             data = res.data
             for (var i = 0; i < data.length; i++) {
               data[i].no = i + 1
-              data[i].putQty = data[i].confirmQty
+              data[i].putQty = data[i].qty
             }
             this.disabled = false
             this.listData = data || []

+ 3 - 1
src/views/numsGoodsShelves/replenishmentManagement/slodOutModal.vue

@@ -36,6 +36,7 @@
             :rowKey="(record) => record.id"
             :columns="columns"
             :data="loadData"
+            :style="{ height: '450px' }"
             :scroll="{ y: 400 }"
             :showPagination="false"
             bordered>
@@ -124,7 +125,7 @@ export default {
       this.$refs.table.refresh(true)
     },
     handleDetail (row) {
-      if (row.productCategory) {
+      if (row.productCategory && row.productQty) {
         this.nowData = row
         this.openCreatRoModal = true
       } else {
@@ -134,6 +135,7 @@ export default {
     pageInit () {
       const vm = this
       vm.$nextTick(() => {
+        vm.resetSearchForm()
         vm.spinning = false
         vm.disabled = false
       })

+ 2 - 2
vue.config.js

@@ -211,8 +211,8 @@ const vueConfig = {
     // If you want to turn on the proxy, please remove the mockjs /src/main.jsL11
     proxy: {
       '/api': {
-        target: 'http://192.168.0.215:8503/qpls-md',
-        // target: 'http://p.iscm.360arrow.com/qpls-md',
+        // target: 'http://192.168.0.182:8503/qpls-md',
+        target: 'http://p.iscm.360arrow.com/qpls-md',
         // ws: false,
         ws: true,
         changeOrigin: true,