Browse Source

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

# Conflicts:
#	public/version.json
bug
lilei 2 years ago
parent
commit
6b92feb0d5

+ 1 - 1
public/version.json

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

+ 33 - 0
src/api/oos.js

@@ -11,3 +11,36 @@ export const oosList = (params) => {
     method: 'post'
   })
 }
+
+//  采购缺货列表  有分页
+export const outOfStockList = (params) => {
+  const url = `/oos/queryPage/${params.pageNo}/${params.pageSize}`
+  delete params.pageNo
+  delete params.pageSize
+  return axios({
+    url: url,
+    data: params,
+    method: 'post'
+  })
+}
+//  缺货详情导出
+export const outOfStockExportDetail = (params) => {
+  const url = '/oos/export'
+  return axios.request({
+    url: url,
+    data: params,
+    method: 'post',
+    responseType: 'blob'
+  })
+}
+//  缺货详情列表  有分页
+export const outOfStockDetailList = (params) => {
+  const url = `/oos/detail/queryPage/${params.pageNo}/${params.pageSize}`
+  delete params.pageNo
+  delete params.pageSize
+  return axios({
+    url: url,
+    data: params,
+    method: 'post'
+  })
+}

+ 25 - 0
src/config/router.config.js

@@ -949,6 +949,31 @@ export const asyncRouterMap = [
               }
             ]
           },
+          {
+            path: '/purchasingManagement/purchaseOutOfStock',
+            redirect: '/purchasingManagement/purchaseOutOfStock/list',
+            name: 'purchaseOutOfStock',
+            component: BlankLayout,
+            meta: {
+              title: '采购缺货',
+              icon: 'money-collect'
+              // permission: 'M_purchaseOutOfStockList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'purchaseOutOfStockList',
+                component: () => import(/* webpackChunkName: "purchasingManagement" */ '@/views/purchasingManagement/purchaseOutOfStock/list.vue'),
+                meta: {
+                  title: '采购缺货列表',
+                  icon: 'money-collect',
+                  hidden: true
+                  // permission: 'M_purchaseOutOfStockList'
+                }
+              }
+            ]
+          },
           {
             path: '/purchasingManagement/purchaseReturnApplyForm',
             redirect: '/purchasingManagement/purchaseReturnApplyForm/list',

+ 2 - 2
src/views/inventoryManagement/inventoryChecking/list.vue

@@ -21,8 +21,8 @@
           </a-col>
           <template v-if="advanced">
             <a-col :md="6" :sm="24">
-              <a-form-item label="状态">
-                <v-select code="CHECK_WAREHOUSE_STATE" id="inventoryCheckingList-state" v-model="queryParam.state" allowClear placeholder="请选择状态"></v-select>
+              <a-form-item label="盘点状态">
+                <v-select code="CHECK_WAREHOUSE_STATE" id="inventoryCheckingList-state" v-model="queryParam.state" allowClear placeholder="请选择盘点状态"></v-select>
               </a-form-item>
             </a-col>
             <a-col :md="6" :sm="24">

+ 1 - 1
src/views/numsGoodsShelves/approveStore/list.vue

@@ -25,7 +25,7 @@
               </a-form-item>
             </a-col>
             <a-col :md="4" :sm="24">
-              <a-form-item label="状态">
+              <a-form-item label="审核状态">
                 <v-select
                   v-model="queryParam.auditStatus"
                   ref="auditStatus"

+ 2 - 2
src/views/power/role/roleList.vue

@@ -16,8 +16,8 @@
               </a-form-item>
             </a-col>
             <a-col :md="6" :sm="24">
-              <a-form-item label="状态">
-                <v-select code="ENABLE_FLAG" v-model="queryParam.isEnable" allowClear placeholder="请选择状态" id="roleList-isEnable"></v-select>
+              <a-form-item label="启用状态">
+                <v-select code="ENABLE_FLAG" v-model="queryParam.isEnable" allowClear placeholder="请选择启用状态" id="roleList-isEnable"></v-select>
               </a-form-item>
             </a-col>
             <a-col :md="6" :sm="24">

+ 6 - 6
src/views/power/user/userList.vue

@@ -15,8 +15,8 @@
               </a-form-item>
             </a-col>
             <a-col :md="6" :sm="24">
-              <a-form-item label="状态">
-                <v-select id="userList-loginFlag" code="ENABLE_FLAG" v-model="queryParam.loginFlag" allowClear placeholder="请选择状态"></v-select>
+              <a-form-item label="启用状态">
+                <v-select id="userList-loginFlag" code="ENABLE_FLAG" v-model="queryParam.loginFlag" allowClear placeholder="请选择启用状态"></v-select>
               </a-form-item>
             </a-col>
             <a-col :md="4" :sm="24">
@@ -117,11 +117,11 @@ export default {
             data = res.data
             const no = (data.pageNo - 1) * data.pageSize
             // 超级管理员列表不显示
-            let userList=data.list.filter((item)=>{
-              return item.loginName!='xsadmin'
+            const userList = data.list.filter((item) => {
+              return item.loginName != 'xsadmin'
             })
-            data.list=userList
-            console.log(userList,data,'符合条件的数组')
+            data.list = userList
+            console.log(userList, data, '符合条件的数组')
             for (let i = 0; i < data.list.length; i++) {
               const _item = data.list[i]
               // console.log(data,'符合条件的数组')

+ 2 - 2
src/views/productManagement/productBrand/list.vue

@@ -11,8 +11,8 @@
               </a-form-item>
             </a-col>
             <a-col :md="6" :sm="24">
-              <a-form-item label="状态">
-                <v-select code="ENABLE_FLAG" id="productBrandList-enabledFlag" v-model="queryParam.enabledFlag" allowClear placeholder="请选择状态"></v-select>
+              <a-form-item label="启用状态">
+                <v-select code="ENABLE_FLAG" id="productBrandList-enabledFlag" v-model="queryParam.enabledFlag" allowClear placeholder="请选择启用状态"></v-select>
               </a-form-item>
             </a-col>
             <a-col :md="6" :sm="24">

+ 2 - 2
src/views/productManagement/productInfo/list.vue

@@ -26,8 +26,8 @@
                 </a-form-item>
               </a-col>
               <a-col :md="6" :sm="24">
-                <a-form-item label="状态">
-                  <v-select code="ENABLE_FLAG" id="productInfoList-enabledFlag" v-model="queryParam.enabledFlag" allowClear placeholder="请选择状态"></v-select>
+                <a-form-item label="启用状态">
+                  <v-select code="ENABLE_FLAG" id="productInfoList-enabledFlag" v-model="queryParam.enabledFlag" allowClear placeholder="请选择启用状态"></v-select>
                 </a-form-item>
               </a-col>
               <a-col :md="6" :sm="24">

+ 54 - 48
src/views/productManagement/productInfoJg/list.vue

@@ -31,22 +31,27 @@
               </a-form-item>
             </a-col> -->
             <a-col :md="6" :sm="24">
-              <a-form-item label="状态">
-                <v-select code="ENABLE_FLAG" id="productInfoList-enabledFlag" v-model="queryParam.enabledFlag" allowClear placeholder="请选择状态"></v-select>
+              <a-form-item label="产品状态">
+                <v-select code="ONLINE_FLAG" id="productInfoList-onlineFalg" v-model="queryParam.onlineFalg " allowClear placeholder="请选择产品状态"></v-select>
               </a-form-item>
             </a-col>
             <a-col :md="6" :sm="24">
-            <a-form-item label="是否有库存">
-              <a-select allowClear v-model="queryParam.stockEmptyFlag" placeholder="请选择查看是否有库存">
-                <a-select-option value="0">
-                  是
-                </a-select-option>
-                <a-select-option value="1">
-                  否
-                </a-select-option>
-              </a-select>
-            </a-form-item>
-          </a-col>
+              <a-form-item label="启用状态">
+                <v-select code="ENABLE_FLAG" id="productInfoList-enabledFlag" v-model="queryParam.enabledFlag" allowClear placeholder="请选择启用状态"></v-select>
+              </a-form-item>
+            </a-col>
+            <a-col :md="6" :sm="24">
+              <a-form-item label="是否有库存">
+                <a-select allowClear v-model="queryParam.stockEmptyFlag" placeholder="请选择查看是否有库存">
+                  <a-select-option value="0">
+                    是
+                  </a-select-option>
+                  <a-select-option value="1">
+                    否
+                  </a-select-option>
+                </a-select>
+              </a-form-item>
+            </a-col>
           </template>
           <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
             <a-button type="primary" @click="searchForm(true)" :disabled="disabled" id="productInfoList-refresh">查询</a-button>
@@ -74,34 +79,34 @@
         </a-col>
         <a-col class="gutter-row " :span="16" style="text-align: right;">
           <a-dropdown v-model="showCell">
-              <a-button type="link" class="button-default"> <a-icon type="setting" />  显示</a-button>
-              <a-menu slot="overlay">
-                <a-menu-item>
-                  <a-checkbox v-model="isTerminalPrice">
-                    自定义终端价
-                  </a-checkbox>
-                </a-menu-item>
-                <a-menu-item>
-                  <a-checkbox v-model="isCarOwnersPrice">
-                    自定义车主价
-                  </a-checkbox>
-                </a-menu-item>
-                <a-menu-item>
-                  <a-checkbox v-model="isCityPrice">
-                    市级价
-                  </a-checkbox>
-                </a-menu-item>
-                <a-menu-item>
-                  <a-checkbox v-model="isZdPrice">
-                    终端价
-                  </a-checkbox>
-                </a-menu-item>
-                <a-menu-item>
-                  <a-checkbox v-model="isCzPrice">
-                    车主价
-                  </a-checkbox>
-                </a-menu-item>
-              </a-menu>
+            <a-button type="link" class="button-default"> <a-icon type="setting" />  显示</a-button>
+            <a-menu slot="overlay">
+              <a-menu-item>
+                <a-checkbox v-model="isTerminalPrice">
+                  自定义终端价
+                </a-checkbox>
+              </a-menu-item>
+              <a-menu-item>
+                <a-checkbox v-model="isCarOwnersPrice">
+                  自定义车主价
+                </a-checkbox>
+              </a-menu-item>
+              <a-menu-item>
+                <a-checkbox v-model="isCityPrice">
+                  市级价
+                </a-checkbox>
+              </a-menu-item>
+              <a-menu-item>
+                <a-checkbox v-model="isZdPrice">
+                  终端价
+                </a-checkbox>
+              </a-menu-item>
+              <a-menu-item>
+                <a-checkbox v-model="isCzPrice">
+                  车主价
+                </a-checkbox>
+              </a-menu-item>
+            </a-menu>
           </a-dropdown>
           <a-divider type="vertical" style="margin:5px 0;"/>
           <a-dropdown>
@@ -216,8 +221,8 @@ export default {
       openGuideModal: false,
       isTerminalPrice: true,
       isCarOwnersPrice: true,
-      isCityPrice: true, 
-      isZdPrice: true, 
+      isCityPrice: true,
+      isZdPrice: true,
       isCzPrice: true,
       openEditPriceModal: false, // 自定义报价弹窗
       iconShowFlag: false, // 列表配置图标显示
@@ -263,16 +268,17 @@ export default {
         // { title: '车主价', dataIndex: 'carOwnersPrice', width: '8%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
         // { title: '自定义终端价', dataIndex: 'price1', width: '8%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
         // { title: '自定义车主价', dataIndex: 'price2', width: '8%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
-        { title: '可用库存', dataIndex: 'currentStockQty', width: '7%', align: 'center', customRender: function (text) {return text || text == 0 ? text : '--'}},
-        { title: '状态', scopedSlots: { customRender: 'enabledFlag' }, width: '7%', align: 'center' },
+        { title: '可用库存', dataIndex: 'currentStockQty', width: '7%', align: 'center', customRender: function (text) { return text || text == 0 ? text : '--' } },
+        { title: '产品状态', dataIndex: 'status', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '启用状态', scopedSlots: { customRender: 'enabledFlag' }, width: '7%', align: 'center' },
         { title: '产品图片', scopedSlots: { customRender: 'imageUrl' }, width: '6%', align: 'center' },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: '12%', align: 'center' }
       ]
       if (_this.currentDealerInfo.dealerLevel && _this.currentDealerInfo.dealerLevel == 'PROVINCE') { //  省级
         arr.push(
-          { title: '省级价', dataIndex: 'provincePrice', width: '6%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
+          { title: '省级价', dataIndex: 'provincePrice', width: '6%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }
         )
-        if(_this.isCityPrice){
+        if (_this.isCityPrice) {
           arr.push(
             { title: '市级价', dataIndex: 'cityPrice', width: '6%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }
           )
@@ -285,7 +291,7 @@ export default {
       if (_this.currentDealerInfo.isShowSpecialPrice && _this.currentDealerInfo.isShowSpecialPrice == '1') { //  是否展示特约价
         arr.push({ title: '特约价', dataIndex: 'specialPrice', width: '6%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } })
       }
-      
+
       if (_this.isZdPrice) {
         arr.push({ title: '终端价', dataIndex: 'terminalPrice', width: '8%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } })
       }

+ 2 - 2
src/views/productManagement/productUniversal/list.vue

@@ -15,8 +15,8 @@
             </a-form-item>
           </a-col>
           <a-col :md="6" :sm="24">
-            <a-form-item label="上线状态">
-              <v-select code="ONLINE_FLAG" id="productUniversalList-onlineFalg" v-model="queryParam.onlineFalg" allowClear placeholder="请选择上线状态"></v-select>
+            <a-form-item label="产品状态">
+              <v-select code="ONLINE_FLAG" id="productUniversalList-onlineFalg" v-model="queryParam.onlineFalg" allowClear placeholder="请选择产品状态"></v-select>
             </a-form-item>
           </a-col>
           <template v-if="advanced">

+ 8 - 4
src/views/promotionManagement/promotionInfo/promotionShowModal.vue

@@ -10,8 +10,8 @@
     :width="500">
     <div class="promotionDesc-con">
       <img src="@/assets/iphone.png" alt="图片走丢了" srcset="">
-      <div class="promotionDescCon" v-show="showType=='IMAGE_CONTENT'" v-html="mainContent"></div>
-      <div class="promotionDescCon" v-show="showType=='VIDEO'" >
+      <div class="promotionDescCon" v-if="showType=='IMAGE_CONTENT'" v-html="mainContent"></div>
+      <div class="promotionDescCon" v-if="showType=='VIDEO'&&mainContent" >
         <video width="100%" height="auto" controls loop controlsList="nodownload">
           <source :src="mainContent" type="video/mp4"></source>
         </video>
@@ -49,10 +49,12 @@ export default {
       const ajaxData = {
         id: con.id
       }
-      this.showType = con.showType
       promoTerminalDetail(ajaxData).then(res => {
         if (res.status == 200) {
-          this.mainContent = res.data.content
+          this.$nextTick(() => {
+            this.showType = res.data.contentType
+            this.mainContent = res.data.content
+          })
         }
       })
     }
@@ -66,6 +68,8 @@ export default {
     isShow (newValue, oldValue) {
       if (!newValue) {
         this.$emit('close')
+        this.mainContent = ''
+        this.showType = undefined
       }
     }
   }

+ 144 - 0
src/views/purchasingManagement/purchaseOutOfStock/detailModal.vue

@@ -0,0 +1,144 @@
+<template>
+  <a-modal
+    centered
+    class="inventoryQueryDetail-modal"
+    :footer="null"
+    :maskClosable="false"
+    :title="modalTit"
+    v-model="isShow"
+    @cancel="isShow=false"
+    :width="960">
+    <a-spin :spinning="spinning" tip="Loading...">
+      <!-- 基础信息 -->
+      <a-card size="small" :bordered="false" class="purchaseReturnDetail-cont">
+        <a-collapse :activeKey="['1']">
+          <a-collapse-panel key="1" header="基础信息">
+            <a-descriptions :column="3">
+              <a-descriptions-item label="采购单号">{{ objItem&&objItem.purchaseBillNo || '--' }}</a-descriptions-item>
+            </a-descriptions>
+          </a-collapse-panel>
+        </a-collapse>
+      </a-card>
+      <!-- 合计 -->
+      <a-alert type="info" style="margin-bottom:10px" v-if="objItem">
+        <div class="ftext" slot="message">
+          缺货总款数:<strong>{{ objItem.totalCategory || objItem.totalCategory==0 ? objItem.totalCategory : '--' }}个</strong>;
+          缺货总数量:<strong>{{ objItem.totalQty || objItem.totalQty==0 ? objItem.totalQty : '--' }}个</strong>;
+          <div style="display: inline-block;" v-if="$hasPermissions('M_ShowAllCost')">
+            缺货总售价:<strong>{{ objItem.totalAmount || objItem.totalAmount==0 ? toThousands(objItem.totalAmount) : '--' }}</strong>。
+          </div>
+        </div>
+      </a-alert>
+      <!-- 详情 -->
+      <s-table
+        class="sTable"
+        ref="table"
+        size="small"
+        :rowKey="(record) => record.id"
+        :columns="columns"
+        :data="loadData"
+        :scroll="{ y: 500 }"
+        bordered>
+      </s-table>
+      <div class="btn-cont">
+        <a-button id="inventoryQueryDetail-detail-modal-back" @click="isShow = false">返回列表</a-button>
+      </div>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+import { commonMixin } from '@/utils/mixin'
+import { STable } from '@/components'
+import { outOfStockDetailList } from '@/api/oos'
+export default {
+  name: 'DetailModal',
+  components: { STable },
+  mixins: [commonMixin],
+  props: {
+    openModal: { //  弹框显示状态
+      type: Boolean,
+      default: false
+    },
+    objItem: {
+      type: Object,
+      default: () => {
+        return {}
+      }
+    }
+  },
+  computed: {
+    modalTit () {
+      return '详情'
+    },
+    columns () {
+      const _this = this
+      const arr = [
+        { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
+        { title: '产品编码', dataIndex: 'productCode', width: '17%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '产品名称', dataIndex: 'productName', width: '17%', align: 'center', ellipsis: true, customRender: function (text) { return text || '--' } },
+        { title: '原厂编码', dataIndex: 'productOrigCode', width: '12%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '单位', dataIndex: 'unit', width: '10%', align: 'center', ellipsis: true, customRender: function (text) { return text || '--' } },
+        { title: '缺货数量', dataIndex: 'qty', width: '7%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '单价', dataIndex: 'price', width: '7%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
+        { title: '缺货金额', dataIndex: 'totalAmount', width: '7%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }
+      ]
+      return arr
+    }
+  },
+  data () {
+    return {
+      spinning: false,
+      isShow: this.openModal, //  是否打开弹框
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        this.disabled = true
+        this.spinning = true
+        return outOfStockDetailList(Object.assign(parameter, { purchaseBillSn: this.objItem && this.objItem.purchaseBillSn || '' })).then(res => {
+          let data
+          if (res.status == 200) {
+            data = res.data
+            const no = (data.pageNo - 1) * data.pageSize
+            for (var i = 0; i < data.list.length; i++) {
+              data.list[i].no = no + i + 1
+            }
+            this.disabled = false
+          }
+          this.spinning = false
+          return data
+        })
+      },
+      disabled: false //  查询、重置按钮是否可操作
+    }
+  },
+  methods: {
+    // 获取表格数据
+    pageInit () {
+      this.$refs.table.refresh(true)
+    }
+  },
+  watch: {
+    //  父页面传过来的弹框状态
+    openModal (newValue, oldValue) {
+      this.isShow = newValue
+    },
+    //  重定义的弹框状态
+    isShow (newValue, oldValue) {
+      if (!newValue) {
+        this.$emit('close')
+        this.currentStock = null
+        this.$refs.table.clearTable()
+      }
+    }
+  }
+}
+</script>
+
+<style lang="less">
+  .inventoryQueryDetail-modal{
+    .btn-cont {
+      text-align: center;
+      margin: 5px 0 10px;
+    }
+  }
+</style>

+ 189 - 0
src/views/purchasingManagement/purchaseOutOfStock/list.vue

@@ -0,0 +1,189 @@
+<template>
+  <a-card size="small" :bordered="false" class="jg-page-wrap purchaseOutOfStock-wrap">
+    <a-spin :spinning="spinning" tip="Loading...">
+      <!-- 搜索条件 -->
+      <div ref="tableSearch" class="table-page-search-wrapper">
+        <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+          <a-row :gutter="15">
+            <a-col :md="6" :sm="24">
+              <a-form-item label="创建时间">
+                <rangeDate ref="rangeDate" :value="time" @change="dateChange" />
+              </a-form-item>
+            </a-col>
+            <a-col :md="6" :sm="24">
+              <a-form-item label="客户名称">
+                <a-input id="outOfStockList-purchaseTargetName" v-model.trim="queryParam.purchaseTargetName" placeholder="请输入客户名称" allowClear />
+              </a-form-item>
+            </a-col>
+            <a-col :md="6" :sm="24" style="margin-bottom: 10px;">
+              <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="purchaseOutOfStock-refresh">查询</a-button>
+              <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="purchaseOutOfStock-reset">重置</a-button>
+              <a-button
+                type="primary"
+                style="margin-left: 5px"
+                @click="handleExport"
+                :disabled="disabled"
+                :loading="exportLoading"
+                id="inventoryWarningList-export-btn">导出</a-button>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+      <!-- 列表 -->
+      <s-table
+        class="sTable fixPagination"
+        ref="table"
+        :style="{ height: tableHeight+84.5+'px' }"
+        size="small"
+        :rowKey="(record) => record.id"
+        :columns="columns"
+        :data="loadData"
+        :scroll="{ y: tableHeight }"
+        :defaultLoadData="false"
+        bordered>
+        <!-- 操作 -->
+        <template slot="action" slot-scope="text, record">
+          <a-button
+            size="small"
+            type="link"
+            class="button-success"
+            @click="handleDetail(record)"
+            id="purchaseOutOfStock-edit-btn">详情</a-button>
+        </template>
+      </s-table>
+    </a-spin>
+    <!-- 查看详情 -->
+    <detail-modal ref="outOfStockDetail" v-drag :openModal="openModal" :objItem="detailObj" @close="closeModal" />
+  </a-card>
+</template>
+
+<script>
+import { commonMixin } from '@/utils/mixin'
+import { STable, VSelect } from '@/components'
+import rangeDate from '@/views/common/rangeDate.vue'
+import { outOfStockList, outOfStockExportDetail } from '@/api/oos'
+import custList from '@/views/common/custList.vue'
+import detailModal from './detailModal.vue'
+import { downloadExcel } from '@/libs/JGPrint.js'
+export default {
+  name: 'PurchaseOutOfStock',
+  components: { STable, VSelect, rangeDate, custList, detailModal },
+  mixins: [commonMixin],
+  data () {
+    return {
+      spinning: false,
+      queryParam: { //  查询条件
+        beginDate: undefined,
+        endDate: undefined,
+        purchaseTargetName: ''
+      },
+      detailObj: undefined, // 详情统计内容
+      openModal: false,
+      disabled: false, //  查询、重置按钮是否可操作
+      tableHeight: 0,
+      time: [],
+      exportLoading: false, // 导出loading
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        this.disabled = true
+        this.spinning = true
+        return outOfStockList(Object.assign(parameter, this.queryParam)).then(res => {
+          let data
+          if (res.status == 200) {
+            data = res.data
+            const no = (data.pageNo - 1) * data.pageSize
+            for (var i = 0; i < data.list.length; i++) {
+              data.list[i].no = no + i + 1
+            }
+            this.disabled = false
+          }
+          this.spinning = false
+          return data
+        })
+      }
+    }
+  },
+  computed: {
+    columns () {
+      const _this = this
+      const arr = [
+        { title: '序号', dataIndex: 'no', width: '4%', align: 'center' },
+        { title: '创建时间', dataIndex: 'createDate', width: '14%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '采购单号', dataIndex: 'purchaseBillNo', width: '14%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '供应商', dataIndex: 'purchaseTargetName', width: '18%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
+        { title: '缺货款数', dataIndex: 'totalCategory', 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: 'totalAmount', width: '8%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text, 2) : '--') } },
+        { title: '操作', scopedSlots: { customRender: 'action' }, width: '13%', align: 'center' }
+      ]
+      return arr
+    }
+  },
+  methods: {
+    // 导出
+    handleExport () {
+      const _this = this
+      _this.exportLoading = true
+      outOfStockExportDetail(_this.queryParam).then(res => {
+        downloadExcel(res, '采购缺货列表')
+        _this.exportLoading = false
+      })
+    },
+    // 关闭详情弹窗
+    closeModal () {
+      this.openModal = false
+      this.detailObj = undefined
+    },
+    //  时间  change
+    dateChange (date) {
+      this.queryParam.beginDate = date[0]
+      this.queryParam.endDate = date[1]
+    },
+    //  重置
+    resetSearchForm () {
+      this.$refs.rangeDate.resetDate(this.time)
+      this.queryParam.beginDate = undefined
+      this.queryParam.endDate = undefined
+      this.queryParam.purchaseTargetName = undefined
+      this.$refs.table.refresh(true)
+    },
+    //  详情
+    handleDetail (row) {
+      this.openModal = true
+      this.detailObj = row
+      const _this = this
+      _this.$nextTick(() => {
+        _this.$ref.outOfStockDetail.pageInit()
+      })
+    },
+    pageInit () {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+      _this.resetSearchForm()
+    },
+    setTableH () {
+      const tableSearchH = this.$refs.tableSearch.offsetHeight
+      this.tableHeight = window.innerHeight - tableSearchH - 235
+    }
+  },
+  watch: {
+    advanced (newValue, oldValue) {
+      const _this = this
+      this.$nextTick(() => { // 页面渲染完成后的回调
+        _this.setTableH()
+      })
+    },
+    '$store.state.app.winHeight' (newValue, oldValue) { //  窗口变更时,需同时更改表格高度
+      this.setTableH()
+    }
+  },
+  activated () {
+    this.pageInit()
+  },
+  beforeRouteEnter (to, from, next) {
+    next(vm => {})
+  }
+}
+</script>

+ 2 - 2
src/views/salesManagement/salesman/list.vue

@@ -10,8 +10,8 @@
             </a-form-item>
           </a-col>
           <a-col :md="6" :sm="24">
-            <a-form-item label="状态">
-              <v-select code="ENABLE_FLAG" id="salesmanList-enableFlag" v-model="queryParam.enableFlag" allowClear placeholder="请选择状态"></v-select>
+            <a-form-item label="启用状态">
+              <v-select code="ENABLE_FLAG" id="salesmanList-enableFlag" v-model="queryParam.enableFlag" allowClear placeholder="请选择启用状态"></v-select>
             </a-form-item>
           </a-col>
           <a-col :md="6" :sm="24">

+ 2 - 2
src/views/supplierManagement/supplierInfo/list.vue

@@ -10,8 +10,8 @@
             </a-form-item>
           </a-col>
           <a-col :md="6" :sm="24">
-            <a-form-item label="状态">
-              <v-select code="ENABLE_FLAG" id="supplierInfoList-enabledFlag" v-model="queryParam.enabledFlag" allowClear placeholder="请选择状态"></v-select>
+            <a-form-item label="启用状态">
+              <v-select code="ENABLE_FLAG" id="supplierInfoList-enabledFlag" v-model="queryParam.enabledFlag" allowClear placeholder="请选择启用状态"></v-select>
             </a-form-item>
           </a-col>
           <a-col :md="6" :sm="24">

+ 2 - 2
vue.config.js

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