chenrui 4 年之前
父节点
当前提交
f20d54c7d9

+ 89 - 12
src/config/router.config.js

@@ -479,19 +479,96 @@ export const asyncRouterMap = [{
               // permission: 'M_goodsManage_list'
             }
           },
-          // {
-          //   path: '/inventoryManagement/inventoryQuery/warehouseDetail/:id',
-          //   name: 'inventoryQueryWarehouseDetail',
-          //   component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryQuery/warehouseDetail.vue'),
-          //   meta: {
-          //     title: '盘点人盘点',
-          //     icon: 'monitor',
-          //     hidden: true
-          //     // permission: 'B_goodsManage_edit'
-          //   }
-          // }
+          {
+            path: '/inventoryManagement/inventoryChecking/overall/:id',
+            name: 'inventoryCheckingOverall',
+            component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/overall.vue'),
+            meta: {
+              title: '盘点人盘点【全盘】',
+              icon: 'monitor',
+              hidden: true
+              // permission: 'B_goodsManage_edit'
+            }
+          },
+          {
+            path: '/inventoryManagement/inventoryChecking/selfDisk/:id',
+            name: 'inventoryCheckingSelfDisk',
+            component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/selfDisk.vue'),
+            meta: {
+              title: '盘点人盘点【自选盘点】',
+              icon: 'monitor',
+              hidden: true
+              // permission: 'B_goodsManage_edit'
+            }
+          },
+          {
+            path: '/inventoryManagement/inventoryChecking/detail/:id',
+            name: 'inventoryCheckingDetail',
+            component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/detail.vue'),
+            meta: {
+              title: '库存盘点详情',
+              icon: 'monitor',
+              hidden: true
+              // permission: 'B_goodsManage_edit'
+            }
+          },
+          {
+            path: '/inventoryManagement/inventoryChecking/makeInventory/:id',
+            name: 'inventoryCheckingMakeInventory',
+            component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/makeInventory.vue'),
+            meta: {
+              title: '待盘点【盘点】',
+              icon: 'monitor',
+              hidden: true
+              // permission: 'B_goodsManage_edit'
+            }
+          },
+          {
+            path: '/inventoryManagement/inventoryChecking/makeInventory/detail/:id', /* 待盘点【盘点】详情  */
+            name: 'inventoryCheckingMakeInventoryDetail',
+            component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/makeInventoryDetail.vue'),
+            meta: {
+              title: '库存盘点详情',
+              icon: 'monitor',
+              hidden: true
+              // permission: 'B_goodsManage_edit'
+            }
+          },
+          {
+            path: '/inventoryManagement/inventoryChecking/supervisionAudit/:id',
+            name: 'inventoryCheckingSupervisionAudit',
+            component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/supervisionAudit.vue'),
+            meta: {
+              title: '监盘审核',
+              icon: 'monitor',
+              hidden: true
+              // permission: 'B_goodsManage_edit'
+            }
+          },
+          {
+            path: '/inventoryManagement/inventoryChecking/supervisionAudit/detail/:id', /* 监盘审核详情  */
+            name: 'inventoryCheckingSupervisionAuditDetail',
+            component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/supervisionAuditDetail.vue'),
+            meta: {
+              title: '库存盘点详情',
+              icon: 'monitor',
+              hidden: true
+              // permission: 'B_goodsManage_edit'
+            }
+          },
+          {
+            path: '/inventoryManagement/inventoryChecking/financialAudit/detail/:id', /* 财务审核详情  */
+            name: 'inventoryCheckingFinancialAuditDetail',
+            component: () => import(/* webpackChunkName: "shop" */ '@/views/inventoryManagement/inventoryChecking/financialAuditDetail.vue'),
+            meta: {
+              title: '库存盘点详情',
+              icon: 'monitor',
+              hidden: true
+              // permission: 'B_goodsManage_edit'
+            }
+          }
         ]
-      },
+      }
     ]
   },
   {

+ 0 - 152
src/views/inventoryManagement/inventoryChecking/checkingModal.vue

@@ -1,152 +0,0 @@
-<template>
-  <a-modal
-    centered
-    class="checkingEdit-modal"
-    :footer="null"
-    :maskClosable="false"
-    title="提示"
-    v-model="isShow"
-    @cancle="isShow=false"
-    :width="800">
-    <!-- 表单 -->
-    <div>
-      <a-form-model
-        id="checkingEdit-form"
-        ref="ruleForm"
-        :model="form"
-        :rules="rules"
-        :label-col="formItemLayout.labelCol"
-        :wrapper-col="formItemLayout.wrapperCol"
-      >
-        <a-form-model-item label="仓库名称" prop="name">
-          <a-input
-            id="checkingEdit-name"
-            :maxLength="30"
-            v-model="form.name"
-            placeholder="请输入仓库名称(最多30个字符)"
-            allowClear />
-        </a-form-model-item>
-        <a-form-model-item label="排序" prop="sort">
-          <a-input-number v-model="form.sort" :min="0" :max="999999" :precision="0" :step="1" placeholder="请输入排序(0~999999)" style="width: 100%;" />
-        </a-form-model-item>
-      </a-form-model>
-      <div class="btn-cont">
-        <a-button type="primary" id="checkingTips-edit-modal-save" @click="handleSave">保存</a-button>
-        <a-button id="checkingTips-edit-modal-back" @click="isShow = false" style="margin-left: 15px;">返回列表</a-button>
-      </div>
-    </div>
-  </a-modal>
-</template>
-
-<script>
-import { STable } from '@/components'
-import { checkingTipsSave } from '@/api/checkingTips'
-export default {
-  name: 'checkingEditModal',
-  components: { STable },
-  props: {
-    openModal: { //  弹框显示状态
-      type: Boolean,
-      default: false
-    },
-    itemId: {
-      type: [Number, String],
-      default: ''
-    },
-    nowData: {
-      type: Object,
-      default: null
-    }
-  },
-  data () {
-    return {
-      isShow: this.openModal, //  是否打开弹框
-      formItemLayout: {
-        labelCol: { span: 6 },
-        wrapperCol: { span: 16 }
-      },
-      form: {
-        name: '', // 仓库名称
-        sort: '',  //  排序
-      },
-      rules: {
-        name: [
-          { required: true, message: '请输入仓库名称', trigger: 'blur' }
-        ],
-      }
-    }
-  },
-  methods: {
-    //  详情
-    getDetail(){
-      this.form = {
-        name: this.nowData && this.nowData.name ? this.nowData.name : '',
-        sort: this.nowData && this.nowData.sort ? this.nowData.sort : ''
-      }
-    },
-    //  保存
-    handleSave(){
-      const _this = this
-      this.$refs.ruleForm.validate(valid => {
-        if (valid) {
-          const params = {
-            id: this.itemId ? this.itemId : undefined,
-            name: this.form.name,  //  仓库名称
-            sort: this.form.sort,  //  排序
-            isDefault: 0  //  是否为默认仓库   0为非默认,1为默认
-          }
-          checkingTipsSave(params).then(res => {
-            if(res.status == 200){
-              _this.$message.success(res.message)
-              _this.$emit('ok')
-              setTimeout(function () {
-                _this.isShow = false
-                _this.$refs.ruleForm.resetFields()
-              }, 300)
-            }else{
-              
-            }
-          })
-        } else {
-          console.log('error submit!!')
-          return false
-        }
-      })
-    },
-  },
-  watch: {
-    //  父页面传过来的弹框状态
-    openModal (newValue, oldValue) {
-      this.isShow = newValue
-    },
-    //  重定义的弹框状态
-    isShow (newValue, oldValue) {
-      if (!newValue) {
-        this.$emit('close')
-      }else{
-        this.form = {
-          name: '',
-          sort: ''
-        }
-      }
-    },
-    itemId (newValue, oldValue) {
-      if (this.isShow && newValue) {
-        this.getDetail()
-      }
-    }
-  }
-}
-</script>
-
-<style lang="less">
-  .checkingEdit-modal{
-    .ant-modal-body {
-    	padding: 40px 40px 24px;
-    }
-    .btn-cont {
-    	text-align: center;
-    	margin: 35px 0 10px;
-    }
-  }
-</style>

+ 3 - 2
src/views/inventoryManagement/inventoryChecking/checkingTipsModal.vue

@@ -109,8 +109,9 @@ export default {
       this.openTypeModal = true
     },
     //  新增/编辑  成功
-    handleOk(){
-      
+    handleOk(type){
+      this.$emit('ok', type)
+      this.isShow = false
     },
     //  关闭弹框
     closeModal(){

+ 2 - 0
src/views/inventoryManagement/inventoryChecking/checkingTypeModal.vue

@@ -78,6 +78,8 @@ export default {
       const _this = this
       this.$refs.ruleForm.validate(valid => {
         if (valid) {
+          _this.$emit('ok', _this.form.type)
+          _this.isShow = false
           // const params = {
           //   id: this.itemId ? this.itemId : undefined,
           //   name: this.form.name,  //  仓库名称

+ 179 - 0
src/views/inventoryManagement/inventoryChecking/detail.vue

@@ -0,0 +1,179 @@
+<template>
+  <div class="inventoryCheckingDetail-wrap">
+    <a-page-header :ghost="false" @back="handleBack" class="inventoryCheckingDetail-back">
+      <!-- 自定义的二级文字标题 -->
+      <template slot="subTitle">
+        <a id="inventoryCheckingDetail-back-btn" href="javascript:;" @click="handleBack">返回列表</a>
+      </template>
+      <!-- 操作区,位于 title 行的行尾 -->
+      <template slot="extra">
+        <a-button key="1" type="danger" @click="handleExport" :loading="exportLoading" id="inventoryCheckingDetail-export-btn">导出</a-button>
+      </template>
+    </a-page-header>
+    <!-- 基础信息 -->
+    <a-card :bordered="false" class="inventoryCheckingDetail-cont">
+      <a-collapse :activeKey="['1']">
+        <a-collapse-panel key="1" header="基础信息">
+          <a-descriptions :column="3">
+            <a-descriptions-item label="盘点单号">箭冠营销中心</a-descriptions-item>
+            <a-descriptions-item label="监盘审核状态">箭冠营销中心</a-descriptions-item>
+            <a-descriptions-item label="完结状态">箭冠营销中心</a-descriptions-item>
+          </a-descriptions>
+        </a-collapse-panel>
+      </a-collapse>
+    </a-card>
+    <!-- 详情 -->
+    <a-card :bordered="false" class="inventoryCheckingDetail-cont">
+      <a-collapse :activeKey="['1']">
+        <a-collapse-panel key="1" header="详情">
+          <!-- 总计 -->
+          <a-alert type="info" showIcon style="margin-bottom:15px">
+            <div slot="message">库存总数量: <strong>6</strong> ,盈亏总数量: <strong>6</strong></div>
+          </a-alert>
+          <!-- 筛选条件 -->
+          <div 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="类型">
+                    <a-select placeholder="请选择" id="inventoryCheckingDetail-type" allowClear v-model="queryParam.dataSourceNo">
+                      <a-select-option v-for="item in brandData" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
+                    </a-select>
+                  </a-form-item>
+                </a-col>
+                <a-col :md="6" :sm="24" style="margin-bottom: 24px;">
+                  <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="inventoryCheckingDetail-refresh">查询</a-button>
+                  <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="inventoryCheckingDetail-reset">重置</a-button>
+                </a-col>
+              </a-row>
+            </a-form>
+          </div>
+          <!-- 列表 -->
+          <s-table
+            class="sTable"
+            ref="table"
+            size="default"
+            :rowKey="(record) => record.id"
+            :columns="columns"
+            :data="loadData"
+            bordered>
+            <!-- 采购数量 -->
+            <template slot="purchaseNum" slot-scope="text, record">
+              <span>{{record.purchaseNum}}</span>
+            </template>
+            <!-- 缺货数量 -->
+            <template slot="outOfStockNum" slot-scope="text, record">
+              <span>{{record.outOfStockNum}}</span>
+            </template>
+          </s-table>
+        </a-collapse-panel>
+      </a-collapse>
+    </a-card>
+  </div>
+</template>
+
+<script>
+  import { STable, VSelect } from '@/components'
+  export default{
+    components: { STable, VSelect },
+    data(){
+      return{
+        queryParam: {
+          dataSourceNo: undefined
+        },
+        exportLoading: false, // 导出loading
+        disabled: false, //  查询、重置按钮是否可操作
+        // 表头
+        columns: [
+          { title: '序号', dataIndex: 'no', align: 'center' },
+          { title: '产品编码', dataIndex: 'creatDate', align: 'center' },
+          { title: '产品名称', dataIndex: 'custName', align: 'center' },
+          { title: '单位', dataIndex: 'mementPay', align: 'center' },
+          { title: '库存数量', scopedSlots: { customRender: 'outOfStockNum' }, align: 'center' },
+          { title: '盘点数量', dataIndex: 'tostalP', align: 'center' },
+          { title: '盈亏数量', dataIndex: 'totalNums', align: 'center' },
+        ],
+        // 加载数据方法 必须为 Promise 对象
+        loadData: parameter => {
+          this.disabled = true
+          // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
+          //   const 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
+          //   return data
+          // })
+          const _this = this
+          return new Promise(function(resolve, reject){
+            const data = {
+              pageNo: 1,
+              pageSize: 10,
+              list: [
+                { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
+              ],
+              count: 10
+            }
+            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
+            resolve(data)
+          })
+        },
+        brandData: []
+      }
+    },
+    methods: {
+      //  重置
+      resetSearchForm(){},
+      //  返回列表
+      handleBack(){
+        this.$router.push({ path: '/inventoryManagement/inventoryChecking/list'})
+      },
+      //  导出
+      handleExport () {
+        const params = this.queryParam
+        if (this.oldTime && this.oldTime.length > 0) {
+          params.beginOldExpiryDate = moment(this.oldTime[0]).format('YYYY-MM-DD')
+          params.endOldExpirydDate = moment(this.oldTime[1]).format('YYYY-MM-DD')
+        } else {
+          params.beginOldExpiryDate = ''
+          params.endOldExpirydDate = ''
+        }
+        if (this.newTime && this.newTime.length > 0) {
+          params.beginDate = moment(this.newTime[0]).format('YYYY-MM-DD')
+          params.endDate = moment(this.newTime[1]).format('YYYY-MM-DD')
+        } else {
+          params.beginDate = ''
+          params.endDate = ''
+        }
+        this.exportLoading = true
+        customerBundleExportDelay(params).then(res => {
+          this.exportLoading = false
+          this.download(res)
+        })
+      },
+      download (data) {
+        if (!data) { return }
+        const url = window.URL.createObjectURL(new Blob([data]))
+        const link = document.createElement('a')
+        link.style.display = 'none'
+        link.href = url
+        const a = moment().format('YYYYMMDDHHmmss')
+        const fname = '仓库调拨' + a
+        link.setAttribute('download', fname + '.xlsx')
+        document.body.appendChild(link)
+        link.click()
+      }
+    }
+  }
+</script>
+
+<style lang="less">
+  .inventoryCheckingDetail-cont, .inventoryCheckingDetail-back{
+    margin-bottom: 15px;
+  }
+</style>

+ 146 - 0
src/views/inventoryManagement/inventoryChecking/financialAuditDetail.vue

@@ -0,0 +1,146 @@
+<template>
+  <div class="financialAuditDetail-wrap">
+    <a-page-header :ghost="false" @back="handleBack" class="financialAuditDetail-back">
+      <!-- 自定义的二级文字标题 -->
+      <template slot="subTitle">
+        <a id="financialAuditDetail-back-btn" href="javascript:;" @click="handleBack">返回列表</a>
+      </template>
+      <!-- 操作区,位于 title 行的行尾 -->
+      <template slot="extra">
+        <a-button key="1" type="primary" id="financialAuditDetail-print-btn">快速打印</a-button>
+      </template>
+    </a-page-header>
+    <!-- 基础信息 -->
+    <a-card :bordered="false" class="financialAuditDetail-cont">
+      <a-collapse :activeKey="['1']">
+        <a-collapse-panel key="1" header="基础信息">
+          <a-descriptions :column="3">
+            <a-descriptions-item label="盘点单号">箭冠营销中心</a-descriptions-item>
+            <a-descriptions-item label="监盘审核状态">箭冠营销中心</a-descriptions-item>
+            <a-descriptions-item label="完结状态">箭冠营销中心</a-descriptions-item>
+            <a-descriptions-item label="库存总数量">箭冠营销中心</a-descriptions-item>
+            <a-descriptions-item label="库存总成本(¥)">箭冠营销中心</a-descriptions-item>
+          </a-descriptions>
+        </a-collapse-panel>
+      </a-collapse>
+    </a-card>
+    <!-- 详情 -->
+    <a-card :bordered="false" class="financialAuditDetail-cont">
+      <a-collapse :activeKey="['1']">
+        <a-collapse-panel key="1" header="详情">
+          <!-- 总计 -->
+          <a-alert type="info" showIcon style="margin-bottom:15px">
+            <div slot="message">盘盈总数量: <strong>6</strong> ,库存总成本(¥): <strong>6</strong> ,盘亏总数量: <strong>6</strong> ,盘亏总成本(¥): <strong>6</strong>,盈亏总数量: <strong>6</strong> ,盈亏总成本(¥): <strong>6</strong> </div>
+          </a-alert>
+          <!-- 筛选条件 -->
+          <div 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="类型">
+                    <a-select placeholder="请选择" id="financialAuditDetail-type" allowClear v-model="queryParam.dataSourceNo">
+                      <a-select-option v-for="item in brandData" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
+                    </a-select>
+                  </a-form-item>
+                </a-col>
+                <a-col :md="6" :sm="24" style="margin-bottom: 24px;">
+                  <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="financialAuditDetail-refresh">查询</a-button>
+                  <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="financialAuditDetail-reset">重置</a-button>
+                </a-col>
+              </a-row>
+            </a-form>
+          </div>
+          <!-- 列表 -->
+          <s-table
+            class="sTable"
+            ref="table"
+            size="default"
+            :rowKey="(record) => record.id"
+            :columns="columns"
+            :data="loadData"
+            bordered>
+            <!-- 采购数量 -->
+            <template slot="purchaseNum" slot-scope="text, record">
+              <span>{{record.purchaseNum}}</span>
+            </template>
+            <!-- 缺货数量 -->
+            <template slot="outOfStockNum" slot-scope="text, record">
+              <span>{{record.outOfStockNum}}</span>
+            </template>
+          </s-table>
+        </a-collapse-panel>
+      </a-collapse>
+    </a-card>
+  </div>
+</template>
+
+<script>
+  import { STable, VSelect } from '@/components'
+  export default{
+    components: { STable, VSelect },
+    data(){
+      return{
+        queryParam: {
+          dataSourceNo: undefined
+        },
+        exportLoading: false, // 导出loading
+        disabled: false, //  查询、重置按钮是否可操作
+        // 表头
+        columns: [
+          { title: '序号', dataIndex: 'no', align: 'center' },
+          { title: '产品编码', dataIndex: 'creatDate', align: 'center' },
+          { title: '产品名称', dataIndex: 'custName', align: 'center' },
+          { title: '单位', dataIndex: 'mementPay', align: 'center' },
+          { title: '库存数量', scopedSlots: { customRender: 'outOfStockNum' }, align: 'center' },
+          { title: '盘点数量', dataIndex: 'tostalP', align: 'center' },
+          { title: '盈亏数量', dataIndex: 'totalNums', align: 'center' },
+        ],
+        // 加载数据方法 必须为 Promise 对象
+        loadData: parameter => {
+          this.disabled = true
+          // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
+          //   const 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
+          //   return data
+          // })
+          const _this = this
+          return new Promise(function(resolve, reject){
+            const data = {
+              pageNo: 1,
+              pageSize: 10,
+              list: [
+                { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
+              ],
+              count: 10
+            }
+            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
+            resolve(data)
+          })
+        },
+        brandData: []
+      }
+    },
+    methods: {
+      //  重置
+      resetSearchForm(){},
+      //  返回列表
+      handleBack(){
+        this.$router.push({ path: '/inventoryManagement/inventoryChecking/list'})
+      },
+    }
+  }
+</script>
+
+<style lang="less">
+  .financialAuditDetail-cont, .financialAuditDetail-back{
+    margin-bottom: 15px;
+  }
+</style>

+ 59 - 12
src/views/inventoryManagement/inventoryChecking/list.vue

@@ -43,11 +43,11 @@
       bordered>
       <!-- 操作 -->
       <template slot="action" slot-scope="text, record">
-        <a-button size="small" type="primary" @click="handleEdit(record)" id="inventoryCheckingList-edit-btn">审核</a-button>
-        <a-button size="small" type="primary" @click="handleDel(record)" id="inventoryCheckingList-del-btn" style="margin: 0 0 10px 8px">盘点</a-button>
-        <a-button size="small" type="primary" @click="handleDel(record)" id="inventoryCheckingList-del-btn" style="margin: 0 0 10px 8px">监盘审核</a-button>
-        <a-button size="small" type="primary" @click="handleDel(record)" id="inventoryCheckingList-del-btn" style="margin: 0 0 10px 8px">编辑</a-button>
-        <a-button size="small" @click="handleDel(record)" id="inventoryCheckingList-del-btn" style="margin: 0 0 0 8px">详情</a-button>
+        <a-button size="small" type="primary" @click="handleEexamine(record)" id="inventoryCheckingList-edit-btn">审核</a-button>
+        <a-button size="small" type="primary" @click="handleInventory(record)" id="inventoryCheckingList-del-btn" style="margin: 0 0 10px 8px">盘点</a-button>
+        <a-button size="small" type="primary" @click="handleSupervisionAudit(record)" id="inventoryCheckingList-del-btn" style="margin: 0 0 10px 8px">监盘审核</a-button>
+        <a-button size="small" type="primary" @click="handleEdit(record)" id="inventoryCheckingList-del-btn" style="margin: 0 0 10px 8px">编辑</a-button>
+        <a-button size="small" @click="handleDetail(record)" id="inventoryCheckingList-del-btn" style="margin: 0 0 0 8px">详情</a-button>
         <a-button size="small" type="danger" @click="handleDel(record)" id="inventoryCheckingList-del-btn" style="margin: 0 0 0 8px">删除</a-button>
       </template>
     </s-table>
@@ -97,7 +97,12 @@ export default {
             pageNo: 1,
             pageSize: 10,
             list: [
-              { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
+              { id: '1', state: 1, purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
+              { id: '2', state: 2, purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
+              { id: '3', state: 3, purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
+              { id: '4', state: 4, purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
+              { id: '5', state: 5, purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
+              { id: '6', state: 6, purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
             ],
             count: 10
           }
@@ -135,14 +140,60 @@ export default {
       this.openModal = true
     },
     //  新增/编辑  成功
-    handleOk(){
-      this.$refs.table.refresh(true)
+    handleOk(type){
+      if(type=='a'){
+        this.$router.push({ path: `/inventoryManagement/inventoryChecking/overall/${this.itemId}` })
+      }else if(type=='b'){
+        this.$router.push({ path: `/inventoryManagement/inventoryChecking/selfDisk/${this.itemId}` })
+      }
     },
     //  关闭弹框
     closeModal(){
       this.itemId = ''
       this.openModal = false
     },
+    //  详情
+    handleDetail(row){
+      if(row.state == 3){  //  待盘点  详情
+        this.$router.push({ path: `/inventoryManagement/inventoryChecking/makeInventory/detail/${row.id}` })
+      }else if(row.state == 4){  //  待监盘审核  详情
+        this.$router.push({ path: `/inventoryManagement/inventoryChecking/supervisionAudit/detail/${row.id}` })
+      }else if(row.state == 5){  //  待财务审核  详情
+        this.$router.push({ path: `/inventoryManagement/inventoryChecking/financialAudit/detail/${row.id}` })
+      }else{  //  其他状态  详情
+        this.$router.push({ path: `/inventoryManagement/inventoryChecking/detail/${row.id}` })
+      }
+    },
+    //  审核
+    handleEexamine(row){
+      const _this = this
+      this.$confirm({
+        title: '提示',
+        content: '确认要审核通过吗?',
+        okText: row.state == 2 ? '确定' : '审核通过',
+        cancelText: row.state == 2 ? '取消' : '驳回重盘',
+        centered: true,
+        onOk () {
+          // delectRolePower({
+          //   id: row.id
+          // }).then(res => {
+          //   console.log(res, 'res1111')
+          //   if (res.status == 200) {
+          //     _this.$message.success(res.message)
+          //     _this.$refs.table.refresh()
+          //   }
+          // })
+        }
+      })
+    },
+    //  盘点
+    handleInventory(row){
+      this.$router.push({ path: `/inventoryManagement/inventoryChecking/makeInventory/${row.id}` })
+    },
+    //  监盘审核
+    handleSupervisionAudit(row){
+      this.$router.push({ path: `/inventoryManagement/inventoryChecking/supervisionAudit/${row.id}` })
+    },
     //  删除
     handleDel(row){
       const _this = this
@@ -164,10 +215,6 @@ export default {
         }
       })
     },
-    //  查看仓位
-    goStoringLocation(row){
-      this.$router.push({ path: `/inventoryManagement/storingLocation/${row.id}`, query: { name: row.name } })
-    }
   }
 }
 </script>

+ 186 - 0
src/views/inventoryManagement/inventoryChecking/makeInventory.vue

@@ -0,0 +1,186 @@
+<template>
+  <div class="makeInventory-wrap">
+    <a-page-header :ghost="false" @back="handleBack" class="makeInventory-back">
+      <!-- 自定义的二级文字标题 -->
+      <template slot="subTitle">
+        <a id="makeInventory-back-btn" href="javascript:;" @click="handleBack">返回列表</a>
+      </template>
+      <!-- 操作区,位于 title 行的行尾 -->
+      <template slot="extra">
+        <a-button key="1" type="primary" id="makeInventory-print-btn">快速打印</a-button>
+        <a-button key="2" id="makeInventory-preview-btn">打印预览</a-button>
+        <a-button key="3" type="danger" @click="handleExport" :loading="exportLoading" id="makeInventory-export-btn">导出</a-button>
+        <a-button key="4" @click="handleImport" id="makeInventory-import-btn">导入</a-button>
+        <a-button key="5" type="link" @click="handleDownImport" id="makeInventory-down-import-btn">下载导入模板</a-button>
+      </template>
+    </a-page-header>
+    <!-- 详情 -->
+    <a-card :bordered="false" class="makeInventory-cont">
+      <!-- 筛选条件 -->
+      <div 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="产品编码">
+                <a-input id="makeInventory-bundleName" v-model.trim="queryParam.bundleName" allowClear placeholder="请输入产品编码"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="6" :sm="24">
+              <a-form-item label="产品名称">
+                <a-input id="makeInventory-bundleName" v-model.trim="queryParam.bundleName" allowClear placeholder="请输入产品名称"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="6" :sm="24">
+              <a-form-item label="产品类别">
+                <a-cascader :options="typeData" id="makeInventory-state" placeholder="请选择产品类别" allowClear v-model="queryParam.brand" />
+              </a-form-item>
+            </a-col>
+            <a-col :md="6" :sm="24" style="margin-bottom: 24px;">
+              <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="makeInventory-refresh">查询</a-button>
+              <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="makeInventory-reset">重置</a-button>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+      <!-- 列表 -->
+      <s-table
+        class="sTable"
+        ref="table"
+        size="default"
+        :rowKey="(record) => record.id"
+        :columns="columns"
+        :data="loadData"
+        bordered>
+        <!-- 盘点数量 -->
+        <template slot="outOfStockNum" slot-scope="text, record">
+          <a-input-number
+            id="makeInventory-outOfStockNum"
+            :value="record.outOfStockNum"
+            :precision="0"
+            :min="0"
+            :max="999999"
+            placeholder="请输入" />
+        </template>
+      </s-table>
+    </a-card>
+    <a-affix :offset-bottom="0">
+      <div style="text-align: center;width: 100%;background-color: #fff;padding: 30px 0;box-shadow: 0 0 20px #dcdee2;">
+        <a-button type="primary" id="makeInventory-submit" size="large" @click="handleSubmit" style="padding: 0 60px;">提交</a-button>
+      </div>
+    </a-affix>
+  </div>
+</template>
+
+<script>
+  import { STable, VSelect } from '@/components'
+  export default{
+    components: { STable, VSelect },
+    data(){
+      return{
+        queryParam: {
+          dataSourceNo: undefined
+        },
+        exportLoading: false, // 导出loading
+        disabled: false, //  查询、重置按钮是否可操作
+        // 表头
+        columns: [
+          { title: '序号', dataIndex: 'no', align: 'center' },
+          { title: '产品编码', dataIndex: 'creatDate', align: 'center' },
+          { title: '产品名称', dataIndex: 'custName', align: 'center' },
+          { title: '单位', dataIndex: 'mementPay', align: 'center' },
+          { title: '仓库', dataIndex: 'memsentPay', align: 'center' },
+          { title: '仓位', dataIndex: 'memendtPay', align: 'center' },
+          { title: '库存数量', dataIndex: 'tostalP', align: 'center' },
+          { title: '盘点数量', scopedSlots: { customRender: 'outOfStockNum' }, align: 'center' },
+          { title: '盈亏数量', dataIndex: 'totalNums', align: 'center' },
+        ],
+        // 加载数据方法 必须为 Promise 对象
+        loadData: parameter => {
+          this.disabled = true
+          // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
+          //   const 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
+          //   return data
+          // })
+          const _this = this
+          return new Promise(function(resolve, reject){
+            const data = {
+              pageNo: 1,
+              pageSize: 10,
+              list: [
+                { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
+              ],
+              count: 10
+            }
+            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
+            resolve(data)
+          })
+        },
+        typeData: []
+      }
+    },
+    methods: {
+      //  返回列表
+      handleBack(){
+        this.$router.push({ path: '/inventoryManagement/inventoryChecking/list'})
+      },
+      //  导入
+      handleImport(){},
+      //  下载导入模板
+      handleDownImport(){},
+      //  提交
+      handleSubmit(){},
+      //  重置
+      resetSearchForm(){},
+      //  导出
+      handleExport () {
+        const params = this.queryParam
+        if (this.oldTime && this.oldTime.length > 0) {
+          params.beginOldExpiryDate = moment(this.oldTime[0]).format('YYYY-MM-DD')
+          params.endOldExpirydDate = moment(this.oldTime[1]).format('YYYY-MM-DD')
+        } else {
+          params.beginOldExpiryDate = ''
+          params.endOldExpirydDate = ''
+        }
+        if (this.newTime && this.newTime.length > 0) {
+          params.beginDate = moment(this.newTime[0]).format('YYYY-MM-DD')
+          params.endDate = moment(this.newTime[1]).format('YYYY-MM-DD')
+        } else {
+          params.beginDate = ''
+          params.endDate = ''
+        }
+        this.exportLoading = true
+        customerBundleExportDelay(params).then(res => {
+          this.exportLoading = false
+          this.download(res)
+        })
+      },
+      download (data) {
+        if (!data) { return }
+        const url = window.URL.createObjectURL(new Blob([data]))
+        const link = document.createElement('a')
+        link.style.display = 'none'
+        link.href = url
+        const a = moment().format('YYYYMMDDHHmmss')
+        const fname = '仓库调拨' + a
+        link.setAttribute('download', fname + '.xlsx')
+        document.body.appendChild(link)
+        link.click()
+      }
+    }
+  }
+</script>
+
+<style lang="less">
+  .makeInventory-cont, .makeInventory-back{
+    margin-bottom: 15px;
+  }
+</style>

+ 144 - 0
src/views/inventoryManagement/inventoryChecking/makeInventoryDetail.vue

@@ -0,0 +1,144 @@
+<template>
+  <div class="makeInventoryDetail-wrap">
+    <a-page-header :ghost="false" @back="handleBack" class="makeInventoryDetail-back">
+      <!-- 自定义的二级文字标题 -->
+      <template slot="subTitle">
+        <a id="makeInventoryDetail-back-btn" href="javascript:;" @click="handleBack">返回列表</a>
+      </template>
+      <!-- 操作区,位于 title 行的行尾 -->
+      <template slot="extra">
+        <a-button key="1" type="primary" id="makeInventoryDetail-print-btn">快速打印</a-button>
+      </template>
+    </a-page-header>
+    <!-- 基础信息 -->
+    <a-card :bordered="false" class="makeInventoryDetail-cont">
+      <a-collapse :activeKey="['1']">
+        <a-collapse-panel key="1" header="基础信息">
+          <a-descriptions :column="3">
+            <a-descriptions-item label="盘点单号">箭冠营销中心</a-descriptions-item>
+            <a-descriptions-item label="监盘审核状态">箭冠营销中心</a-descriptions-item>
+            <a-descriptions-item label="完结状态">箭冠营销中心</a-descriptions-item>
+          </a-descriptions>
+        </a-collapse-panel>
+      </a-collapse>
+    </a-card>
+    <!-- 详情 -->
+    <a-card :bordered="false" class="makeInventoryDetail-cont">
+      <a-collapse :activeKey="['1']">
+        <a-collapse-panel key="1" header="详情">
+          <!-- 总计 -->
+          <a-alert type="info" showIcon style="margin-bottom:15px">
+            <div slot="message">库存总数量: <strong>6</strong> ,盈亏总数量: <strong>6</strong></div>
+          </a-alert>
+          <!-- 筛选条件 -->
+          <div 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="类型">
+                    <a-select placeholder="请选择" id="makeInventoryDetail-type" allowClear v-model="queryParam.dataSourceNo">
+                      <a-select-option v-for="item in brandData" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
+                    </a-select>
+                  </a-form-item>
+                </a-col>
+                <a-col :md="6" :sm="24" style="margin-bottom: 24px;">
+                  <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="makeInventoryDetail-refresh">查询</a-button>
+                  <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="makeInventoryDetail-reset">重置</a-button>
+                </a-col>
+              </a-row>
+            </a-form>
+          </div>
+          <!-- 列表 -->
+          <s-table
+            class="sTable"
+            ref="table"
+            size="default"
+            :rowKey="(record) => record.id"
+            :columns="columns"
+            :data="loadData"
+            bordered>
+            <!-- 采购数量 -->
+            <template slot="purchaseNum" slot-scope="text, record">
+              <span>{{record.purchaseNum}}</span>
+            </template>
+            <!-- 缺货数量 -->
+            <template slot="outOfStockNum" slot-scope="text, record">
+              <span>{{record.outOfStockNum}}</span>
+            </template>
+          </s-table>
+        </a-collapse-panel>
+      </a-collapse>
+    </a-card>
+  </div>
+</template>
+
+<script>
+  import { STable, VSelect } from '@/components'
+  export default{
+    components: { STable, VSelect },
+    data(){
+      return{
+        queryParam: {
+          dataSourceNo: undefined
+        },
+        exportLoading: false, // 导出loading
+        disabled: false, //  查询、重置按钮是否可操作
+        // 表头
+        columns: [
+          { title: '序号', dataIndex: 'no', align: 'center' },
+          { title: '产品编码', dataIndex: 'creatDate', align: 'center' },
+          { title: '产品名称', dataIndex: 'custName', align: 'center' },
+          { title: '单位', dataIndex: 'mementPay', align: 'center' },
+          { title: '库存数量', scopedSlots: { customRender: 'outOfStockNum' }, align: 'center' },
+          { title: '盘点数量', dataIndex: 'tostalP', align: 'center' },
+          { title: '盈亏数量', dataIndex: 'totalNums', align: 'center' },
+        ],
+        // 加载数据方法 必须为 Promise 对象
+        loadData: parameter => {
+          this.disabled = true
+          // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
+          //   const 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
+          //   return data
+          // })
+          const _this = this
+          return new Promise(function(resolve, reject){
+            const data = {
+              pageNo: 1,
+              pageSize: 10,
+              list: [
+                { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
+              ],
+              count: 10
+            }
+            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
+            resolve(data)
+          })
+        },
+        brandData: []
+      }
+    },
+    methods: {
+      //  重置
+      resetSearchForm(){},
+      //  返回列表
+      handleBack(){
+        this.$router.push({ path: '/inventoryManagement/inventoryChecking/list'})
+      },
+    }
+  }
+</script>
+
+<style lang="less">
+  .makeInventoryDetail-cont, .makeInventoryDetail-back{
+    margin-bottom: 15px;
+  }
+</style>

+ 101 - 0
src/views/inventoryManagement/inventoryChecking/overall.vue

@@ -0,0 +1,101 @@
+<template>
+  <a-card :bordered="false" class="inventoryCheckingOverall-wrap">
+    <!-- 操作按钮 -->
+    <div class="table-operator">
+      <a-checkbox-group @change="onChange" v-model="queryParam.keyword" :disabled="disabled" id="inventoryCheckingOverall-type">
+        <a-checkbox value="A">不含废品仓</a-checkbox>
+        <a-checkbox value="B">有库存</a-checkbox>
+        <a-checkbox value="C">库存合并</a-checkbox>
+      </a-checkbox-group>
+    </div>
+    <!-- 列表 -->
+    <s-table
+      class="sTable"
+      ref="table"
+      size="default"
+      :rowKey="(record) => record.id"
+      :columns="columns"
+      :data="loadData"
+      :showPagination="false"
+      bordered>
+    </s-table>
+    <div class="btn-cont">
+      <a-button type="primary" id="inventoryChecking-overall-submit" @click="handleSubmit">提交</a-button>
+      <a-button id="inventoryChecking-overall-back" @click="handleBack" style="margin-left: 15px;">返回列表</a-button>
+    </div>
+  </a-card>
+</template>
+
+<script>
+import { warehouseFindAll, warehouseDel } from '@/api/warehouse'
+import { STable, VSelect } from '@/components'
+export default {
+  components: { STable, VSelect },
+  data () {
+    return {
+      queryParam: { //  查询条件
+        keyword: [],  //  
+      },
+      disabled: false, //  查询、重置按钮是否可操作
+      columns: [
+        { title: '序号', dataIndex: 'no', width: 70, align: 'center' },
+        { title: '产品编码', dataIndex: 'createDate', width: 180, align: 'center' },
+        { title: '产品名称', dataIndex: 'nsso', width: 70, align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '单位', dataIndex: 'no3', width: 70, align: 'center' },
+        { title: '库存数量', dataIndex: 'n4o', width: 70, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+      ],
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        this.disabled = true
+        // return warehouseFindAll( this.queryParam ).then(res => {
+        //   const data = res.data
+        //   this.disabled = false
+        //   return data
+        // })
+        const _this = this
+        return new Promise(function(resolve, reject){
+          const data = {
+            pageNo: 1,
+            pageSize: 10,
+            list: [
+              { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
+            ],
+            count: 10
+          }
+          for (var i = 0; i < data.list.length; i++) {
+            data.list[i].no = i + 1
+          }
+          _this.disabled = false
+          resolve(data)
+        })
+      },
+      
+    }
+  },
+  methods: {
+    //  提交
+    handleSubmit(){
+      
+    },
+    //  返回
+    handleBack(){
+      this.$router.push({ path: '/inventoryManagement/inventoryChecking/list' })
+    },
+    //  
+    onChange(){},
+  }
+}
+</script>
+
+<style lang="less">
+  .inventoryCheckingOverall-wrap{
+    padding: 10px 0 30px;
+    .table-operator{
+      margin-bottom: 25px;
+    }
+    .btn-cont {
+    	text-align: center;
+    	margin: 35px 0 10px;
+    }
+  }
+</style>

+ 294 - 0
src/views/inventoryManagement/inventoryChecking/selfDisk.vue

@@ -0,0 +1,294 @@
+<template>
+  <div class="selfDisk-wrap">
+    <a-page-header :ghost="false" @back="handleBack" class="selfDisk-back">
+      <!-- 自定义的二级文字标题 -->
+      <template slot="subTitle">
+        <a id="selfDisk-back-btn" href="javascript:;" @click="handleBack">返回列表</a>
+      </template>
+    </a-page-header>
+    <!-- 选择产品 -->
+    <a-card :bordered="false" class="selfDisk-cont">
+      <a-collapse :activeKey="['1']">
+        <a-collapse-panel key="1">
+          <template slot="header">选择产品</template>
+          <!-- 选择产品 -->
+          <div>
+            <!-- 搜索条件 -->
+            <div 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="关键词">
+                      <a-input id="selfDisk-bundleName" v-model.trim="queryParam.bundleName" allowClear placeholder="产品名称/产品编码/原厂编码"/>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="6" :sm="24">
+                    <a-form-item label="产品品牌">
+                      <a-select placeholder="请选择" id="selfDisk-state" allowClear v-model="queryParam.dataSourceNo" :showSearch="true" option-filter-prop="children" :filter-option="filterOption">
+                        <a-select-option v-for="item in brandData" :key="item.salesChannelNo" :value="item.salesChannelNo">{{ item.salesChannelName }}</a-select-option>
+                      </a-select>
+                    </a-form-item>
+                  </a-col>
+                  <a-col :md="6" :sm="24">
+                    <a-form-item label="产品类别">
+                      <a-cascader :options="typeData" id="selfDisk-state" placeholder="请选择产品类别" allowClear v-model="queryParam.brand" />
+                    </a-form-item>
+                  </a-col>
+                  <template v-if="advanced">
+                    <a-col :md="6" :sm="24">
+                      <a-form-item label="库存">
+                        <a-select placeholder="请选择" id="selfDisk-state" allowClear v-model="queryParam.dataSourceNo" :showSearch="true" option-filter-prop="children" :filter-option="filterOption">
+                          <a-select-option v-for="item in brandData" :key="item.salesChannelNo" :value="item.salesChannelNo">{{ item.salesChannelName }}</a-select-option>
+                        </a-select>
+                      </a-form-item>
+                    </a-col>
+                    <a-col :md="6" :sm="24">
+                      <a-form-item label="仓库">
+                        <a-select placeholder="请选择" id="selfDisk-state" allowClear v-model="queryParam.dataSourceNo" :showSearch="true" option-filter-prop="children" :filter-option="filterOption">
+                          <a-select-option v-for="item in brandData" :key="item.salesChannelNo" :value="item.salesChannelNo">{{ item.salesChannelName }}</a-select-option>
+                        </a-select>
+                      </a-form-item>
+                    </a-col>
+                    <a-col :md="6" :sm="24">
+                      <a-form-item label="仓位">
+                        <a-select placeholder="请选择" id="selfDisk-state" allowClear v-model="queryParam.dataSourceNo" :showSearch="true" option-filter-prop="children" :filter-option="filterOption">
+                          <a-select-option v-for="item in brandData" :key="item.salesChannelNo" :value="item.salesChannelNo">{{ item.salesChannelName }}</a-select-option>
+                        </a-select>
+                      </a-form-item>
+                    </a-col>
+                  </template>
+                  <a-col :md="6" :sm="24">
+                    <a-button style="margin-bottom: 18px;" type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="selfDisk-refresh">查询</a-button>
+                    <a-button style="margin: 0 0 18px 8px" @click="resetSearchForm" :disabled="disabled" id="selfDisk-reset">重置</a-button>
+                    <a @click="advanced=!advanced" style="margin-left: 8px">
+                      {{ advanced ? '收起' : '展开' }}
+                      <a-icon :type="advanced ? 'up' : 'down'"/>
+                    </a>
+                  </a-col>
+                </a-row>
+              </a-form>
+            </div>
+            <!-- 列表 -->
+            <s-table
+              class="sTable"
+              ref="table"
+              size="default"
+              :rowKey="(record) => record.id"
+              :columns="columns"
+              :data="loadData"
+              bordered>
+              <!-- 操作 -->
+              <template slot="action" slot-scope="text, record">
+                <a-button size="small" type="primary" @click="handleAdd(record)" id="selfDisk-add-btn">添加</a-button>
+              </template>
+            </s-table>
+          </div>
+        </a-collapse-panel>
+      </a-collapse>
+    </a-card>
+    <!-- 已选产品 -->
+    <a-card :bordered="false" class="selfDisk-cont">
+      <a-collapse :activeKey="['1']">
+        <a-collapse-panel key="1">
+          <template slot="header">
+            已选产品
+            <a-button size="small" class="import-btn" id="selfDisk-import-btn" @click.stop="handleImport">导入明细</a-button>
+          </template>
+          <!-- 已选产品 -->
+          <div>
+            <!-- 总计 -->
+            <a-alert type="info" showIcon style="margin-bottom:15px">
+              <div slot="message">产品款数 <strong>6</strong> ,采购数量合计 <strong>6</strong> ,采购金额合计¥<strong>6.33</strong></div>
+            </a-alert>
+            <!-- 列表 -->
+            <s-table
+              class="sTable"
+              ref="table"
+              size="default"
+              :rowKey="(record) => record.id"
+              :columns="chooseColumns"
+              :data="chooseLoadData"
+              bordered>
+              <!-- 操作 -->
+              <template slot="action" slot-scope="text, record">
+                <a-button size="small" type="primary" @click="handleDel(record)" id="selfDisk-del-btn">删除</a-button>
+              </template>
+            </s-table>
+          </div>
+        </a-collapse-panel>
+      </a-collapse>
+    </a-card>
+    <a-affix :offset-bottom="0">
+      <div style="text-align: center;width: 100%;background-color: #fff;padding: 30px 0;box-shadow: 0 0 20px #dcdee2;">
+        <a-button type="primary" id="warehouseAllocationEdit-submit" size="large" @click="handleSubmit" style="padding: 0 60px;">提交</a-button>
+      </div>
+    </a-affix>
+  </div>
+</template>
+
+<script>
+  import { STable, VSelect } from '@/components'
+  export default{
+    components: { STable, VSelect },
+    data(){
+      return{
+        queryParam: {
+          
+        },
+        brandData: [],  //  产品品牌  下拉数据
+        typeData: [],  //  产品类别  下拉数据
+        advanced: false,  //  高级搜索 展开/关闭
+        disabled: false, //  查询、重置按钮是否可操作
+        // 表头
+        columns: [
+          { title: '产品编码', dataIndex: 'creatDate', align: 'center', sorter: true },
+          { title: '产品名称', dataIndex: 'custName', align: 'center' },
+          { title: '原厂编码', dataIndex: 'totalP', align: 'center' },
+          { title: '产品品牌', dataIndex: 'custssName', align: 'center' },
+          { title: '产品级别', dataIndex: 'custsdName', align: 'center' },
+          { title: '仓库', dataIndex: 'totalNums', align: 'center' },
+          { title: '仓位', dataIndex: 'totalNsums', align: 'center' },
+          { title: '库存数量', dataIndex: 'storageQuantity', align: 'center' },
+          { title: '单位', scopedSlots: { customRender: 'outOfStockNum' }, align: 'center' },
+          { title: '最后入库时间', scopedSlots: { customRender: 'purchaseNum' }, align: 'center' },
+          { title: '操作', scopedSlots: { customRender: 'action' }, width: 150, align: 'center' }
+        ],
+        // 加载数据方法 必须为 Promise 对象
+        loadData: parameter => {
+          this.disabled = true
+          // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
+          //   const 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
+          //   return data
+          // })
+          const _this = this
+          return new Promise(function(resolve, reject){
+            const data = {
+              pageNo: 1,
+              pageSize: 10,
+              list: [
+                { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
+              ],
+              count: 10
+            }
+            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
+            resolve(data)
+          })
+        },
+        // 表头
+        chooseColumns: [
+          { title: '产品编码', dataIndex: 'creatDate', align: 'center', sorter: true },
+          { title: '产品名称', dataIndex: 'custName', align: 'center' },
+          { title: '原厂编码', dataIndex: 'totalP', align: 'center' },
+          { title: '产品品牌', dataIndex: 'custsNasme', align: 'center' },
+          { title: '产品级别', dataIndex: 'custsNdme', align: 'center' },
+          { title: '仓库', dataIndex: 'totalNums', align: 'center' },
+          { title: '仓位', dataIndex: 'totalNsums', align: 'center' },
+          { title: '库存数量', dataIndex: 'storageQuantity', align: 'center' },
+          { title: '单位', scopedSlots: { customRender: 'outOfStockNum' }, align: 'center' },
+          { title: '最后入库时间', scopedSlots: { customRender: 'purchaseNum' }, align: 'center' },
+          { title: '操作', scopedSlots: { customRender: 'action' }, width: 150, align: 'center' }
+        ],
+        // 加载数据方法 必须为 Promise 对象
+        chooseLoadData: parameter => {
+          this.disabled = true
+          // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
+          //   const 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
+          //   return data
+          // })
+          const _this = this
+          return new Promise(function(resolve, reject){
+            const data = {
+              pageNo: 1,
+              pageSize: 10,
+              list: [
+                { id: '1', purchaseNo: 'jgqp11111111111', custssName: 0, creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
+                { id: '2', purchaseNo: 'jgqp11111111111', custssName: 0, creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
+                { id: '3', purchaseNo: 'jgqp11111111111', custssName: 0, creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' },
+              ],
+              count: 10
+            }
+            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
+            resolve(data)
+          })
+        },
+        openModal: false, // 选择基本信息弹框是否显示
+      }
+    },
+    methods: {
+      //  重置
+      resetSearchForm () {
+        this.queryParam.orderBundleNo = ''
+        this.queryParam.orderBundle.custMobile = ''
+        this.queryParam.bundleName = ''
+        this.queryParam.itemName = ''
+        this.oldTime = undefined
+        this.newTime = undefined
+        this.$refs.table.refresh(true)
+      },
+      //  提交
+      handleSubmit(){},
+      //  添加
+      handleAdd(row){},
+      //  删除
+      handleDel(row){},
+      //  编辑基本信息
+      handleEditInfo(){
+        this.openModal = true
+      },
+      //  基本信息  保存
+      handleOk(){
+        
+      },
+      //  导入明细
+      handleImport(){
+        console.log(333)
+      },
+      //  返回列表
+      handleBack(){
+        this.$router.push({ path: '/inventoryManagement/inventoryChecking/list'})
+      },
+      filterOption(input, option) {
+      	return (
+      		option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      	)
+      },
+    },
+    beforeRouteEnter (to, from, next) {
+      next(vm => {
+        vm.openModal = false
+      })
+    }
+  }
+</script>
+
+<style lang="less">
+  .selfDisk-wrap{
+    .selfDisk-back{
+      margin-bottom: 15px;
+    }
+    .selfDisk-cont{
+      margin-bottom: 15px;
+      .import-btn{
+        margin-left: 15px;
+      }
+    }
+  }
+</style>

+ 148 - 0
src/views/inventoryManagement/inventoryChecking/supervisionAudit.vue

@@ -0,0 +1,148 @@
+<template>
+  <div class="supervisionAudit-wrap">
+    <a-page-header :ghost="false" @back="handleBack" class="supervisionAudit-back">
+      <!-- 自定义的二级文字标题 -->
+      <template slot="subTitle">
+        <a id="supervisionAudit-back-btn" href="javascript:;" @click="handleBack">返回列表</a>
+      </template>
+      <!-- 操作区,位于 title 行的行尾 -->
+      <template slot="extra">
+        <a-button key="1" type="primary" id="supervisionAudit-print-btn">快速打印</a-button>
+      </template>
+    </a-page-header>
+    <!-- 详情 -->
+    <a-card :bordered="false" class="supervisionAudit-cont">
+      <!-- 筛选条件 -->
+      <div 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="产品编码">
+                <a-input id="supervisionAudit-bundleName" v-model.trim="queryParam.bundleName" allowClear placeholder="请输入产品编码"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="6" :sm="24">
+              <a-form-item label="产品名称">
+                <a-input id="supervisionAudit-bundleName" v-model.trim="queryParam.bundleName" allowClear placeholder="请输入产品名称"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="6" :sm="24">
+              <a-form-item label="产品类别">
+                <a-cascader :options="typeData" id="supervisionAudit-state" placeholder="请选择产品类别" allowClear v-model="queryParam.brand" />
+              </a-form-item>
+            </a-col>
+            <template v-if="advanced">
+              <a-col :md="6" :sm="24">
+                <a-form-item label="类型">
+                  <a-select placeholder="请选择" id="supervisionAudit-state" allowClear v-model="queryParam.dataSourceNo">
+                    <a-select-option v-for="item in typeData" :key="item.salesChannelNo" :value="item.salesChannelNo">{{ item.salesChannelName }}</a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+            </template>
+            <a-col :md="6" :sm="24" style="margin-bottom: 24px;">
+              <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="supervisionAudit-refresh">查询</a-button>
+              <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="supervisionAudit-reset">重置</a-button>
+              <a @click="advanced=!advanced" style="margin-left: 8px">
+                {{ advanced ? '收起' : '展开' }}
+                <a-icon :type="advanced ? 'up' : 'down'"/>
+              </a>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+      <!-- 列表 -->
+      <s-table
+        class="sTable"
+        ref="table"
+        size="default"
+        :rowKey="(record) => record.id"
+        :columns="columns"
+        :data="loadData"
+        bordered>
+      </s-table>
+    </a-card>
+    <a-affix :offset-bottom="0">
+      <div style="text-align: center;width: 100%;background-color: #fff;padding: 30px 0;box-shadow: 0 0 20px #dcdee2;">
+        <a-button type="primary" id="supervisionAudit-submit" size="large" @click="handleSubmit" style="padding: 0 60px;">提交</a-button>
+        <a-button type="danger" id="supervisionAudit-again" size="large" @click="handleAgain" style="padding: 0 60px;margin-left: 60px;">重新盘点</a-button>
+      </div>
+    </a-affix>
+  </div>
+</template>
+
+<script>
+  import { STable, VSelect } from '@/components'
+  export default{
+    components: { STable, VSelect },
+    data(){
+      return{
+        queryParam: {
+          dataSourceNo: undefined
+        },
+        exportLoading: false, // 导出loading
+        disabled: false, //  查询、重置按钮是否可操作
+        advanced: false,  //  高级搜索 展开/关闭
+        // 表头
+        columns: [
+          { title: '序号', dataIndex: 'no', align: 'center' },
+          { title: '产品编码', dataIndex: 'creatDate', align: 'center' },
+          { title: '产品名称', dataIndex: 'custName', align: 'center' },
+          { title: '单位', dataIndex: 'mementPay', align: 'center' },
+          { title: '库存数量', dataIndex: 'tostalP', align: 'center' },
+          { title: '盘点数量', dataIndex: 'tossstalP', align: 'center' },
+          { title: '盈亏数量', dataIndex: 'totalNums', align: 'center' },
+        ],
+        // 加载数据方法 必须为 Promise 对象
+        loadData: parameter => {
+          this.disabled = true
+          // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
+          //   const 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
+          //   return data
+          // })
+          const _this = this
+          return new Promise(function(resolve, reject){
+            const data = {
+              pageNo: 1,
+              pageSize: 10,
+              list: [
+                { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
+              ],
+              count: 10
+            }
+            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
+            resolve(data)
+          })
+        },
+        typeData: []
+      }
+    },
+    methods: {
+      //  返回列表
+      handleBack(){
+        this.$router.push({ path: '/inventoryManagement/inventoryChecking/list'})
+      },
+      //  提交
+      handleSubmit(){},
+      //  重新盘点
+      handleAgain(){},
+      //  重置
+      resetSearchForm(){},
+    }
+  }
+</script>
+
+<style lang="less">
+  .supervisionAudit-cont, .supervisionAudit-back{
+    margin-bottom: 15px;
+  }
+</style>

+ 144 - 0
src/views/inventoryManagement/inventoryChecking/supervisionAuditDetail.vue

@@ -0,0 +1,144 @@
+<template>
+  <div class="supervisionAuditDetail-wrap">
+    <a-page-header :ghost="false" @back="handleBack" class="supervisionAuditDetail-back">
+      <!-- 自定义的二级文字标题 -->
+      <template slot="subTitle">
+        <a id="supervisionAuditDetail-back-btn" href="javascript:;" @click="handleBack">返回列表</a>
+      </template>
+      <!-- 操作区,位于 title 行的行尾 -->
+      <template slot="extra">
+        <a-button key="1" type="primary" id="supervisionAuditDetail-print-btn">快速打印</a-button>
+      </template>
+    </a-page-header>
+    <!-- 基础信息 -->
+    <a-card :bordered="false" class="supervisionAuditDetail-cont">
+      <a-collapse :activeKey="['1']">
+        <a-collapse-panel key="1" header="基础信息">
+          <a-descriptions :column="3">
+            <a-descriptions-item label="盘点单号">箭冠营销中心</a-descriptions-item>
+            <a-descriptions-item label="监盘审核状态">箭冠营销中心</a-descriptions-item>
+            <a-descriptions-item label="完结状态">箭冠营销中心</a-descriptions-item>
+          </a-descriptions>
+        </a-collapse-panel>
+      </a-collapse>
+    </a-card>
+    <!-- 详情 -->
+    <a-card :bordered="false" class="supervisionAuditDetail-cont">
+      <a-collapse :activeKey="['1']">
+        <a-collapse-panel key="1" header="详情">
+          <!-- 总计 -->
+          <a-alert type="info" showIcon style="margin-bottom:15px">
+            <div slot="message">库存总款数: <strong>6</strong> ,库存总数量: <strong>6</strong> ,盈亏数量: <strong>6</strong></div>
+          </a-alert>
+          <!-- 筛选条件 -->
+          <div 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="类型">
+                    <a-select placeholder="请选择" id="supervisionAuditDetail-type" allowClear v-model="queryParam.dataSourceNo">
+                      <a-select-option v-for="item in brandData" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
+                    </a-select>
+                  </a-form-item>
+                </a-col>
+                <a-col :md="6" :sm="24" style="margin-bottom: 24px;">
+                  <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="supervisionAuditDetail-refresh">查询</a-button>
+                  <a-button style="margin-left: 8px" @click="resetSearchForm" :disabled="disabled" id="supervisionAuditDetail-reset">重置</a-button>
+                </a-col>
+              </a-row>
+            </a-form>
+          </div>
+          <!-- 列表 -->
+          <s-table
+            class="sTable"
+            ref="table"
+            size="default"
+            :rowKey="(record) => record.id"
+            :columns="columns"
+            :data="loadData"
+            bordered>
+            <!-- 采购数量 -->
+            <template slot="purchaseNum" slot-scope="text, record">
+              <span>{{record.purchaseNum}}</span>
+            </template>
+            <!-- 缺货数量 -->
+            <template slot="outOfStockNum" slot-scope="text, record">
+              <span>{{record.outOfStockNum}}</span>
+            </template>
+          </s-table>
+        </a-collapse-panel>
+      </a-collapse>
+    </a-card>
+  </div>
+</template>
+
+<script>
+  import { STable, VSelect } from '@/components'
+  export default{
+    components: { STable, VSelect },
+    data(){
+      return{
+        queryParam: {
+          dataSourceNo: undefined
+        },
+        exportLoading: false, // 导出loading
+        disabled: false, //  查询、重置按钮是否可操作
+        // 表头
+        columns: [
+          { title: '序号', dataIndex: 'no', align: 'center' },
+          { title: '产品编码', dataIndex: 'creatDate', align: 'center' },
+          { title: '产品名称', dataIndex: 'custName', align: 'center' },
+          { title: '单位', dataIndex: 'mementPay', align: 'center' },
+          { title: '库存数量', scopedSlots: { customRender: 'outOfStockNum' }, align: 'center' },
+          { title: '盘点数量', dataIndex: 'tostalP', align: 'center' },
+          { title: '盈亏数量', dataIndex: 'totalNums', align: 'center' },
+        ],
+        // 加载数据方法 必须为 Promise 对象
+        loadData: parameter => {
+          this.disabled = true
+          // return customerBundleDelayList( Object.assign(parameter, this.queryParam) ).then(res => {
+          //   const 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
+          //   return data
+          // })
+          const _this = this
+          return new Promise(function(resolve, reject){
+            const data = {
+              pageNo: 1,
+              pageSize: 10,
+              list: [
+                { id: '1', purchaseNo: 'jgqp11111111111', creatDate: '产品1', custName: 'jgqp111123545', totalP: '箭冠品牌', totalNums: '产品分类1', totalPrice: '5', payType: '122' }
+              ],
+              count: 10
+            }
+            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
+            resolve(data)
+          })
+        },
+        brandData: []
+      }
+    },
+    methods: {
+      //  重置
+      resetSearchForm(){},
+      //  返回列表
+      handleBack(){
+        this.$router.push({ path: '/inventoryManagement/inventoryChecking/list'})
+      },
+    }
+  }
+</script>
+
+<style lang="less">
+  .supervisionAuditDetail-cont, .supervisionAuditDetail-back{
+    margin-bottom: 15px;
+  }
+</style>

+ 12 - 5
src/views/purchasingManagement/purchaseOrder/edit.vue

@@ -56,14 +56,20 @@
                       <a-cascader :options="typeData" id="purchaseOrderEdit-state" placeholder="请选择产品类别" allowClear v-model="queryParam.brand" />
                     </a-form-item>
                   </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="适用车型">
-                      <a-cascader :options="typeData" id="purchaseOrderEdit-state" placeholder="请选择适用车型" allowClear v-model="queryParam.brand" />
-                    </a-form-item>
-                  </a-col>
+                  <template v-if="advanced">
+                    <a-col :md="6" :sm="24">
+                      <a-form-item label="适用车型">
+                        <a-cascader :options="typeData" id="purchaseOrderEdit-state" placeholder="请选择适用车型" allowClear v-model="queryParam.brand" />
+                      </a-form-item>
+                    </a-col>
+                  </template>
                   <a-col :md="6" :sm="24">
                     <a-button style="margin-bottom: 18px;" type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="purchaseOrderEdit-refresh">查询</a-button>
                     <a-button style="margin: 0 0 18px 8px" @click="resetSearchForm" :disabled="disabled" id="purchaseOrderEdit-reset">重置</a-button>
+                    <a @click="advanced=!advanced" style="margin-left: 8px">
+                      {{ advanced ? '收起' : '展开' }}
+                      <a-icon :type="advanced ? 'up' : 'down'"/>
+                    </a>
                   </a-col>
                 </a-row>
               </a-form>
@@ -155,6 +161,7 @@
         },
         brandData: [],  //  产品品牌  下拉数据
         typeData: [],  //  产品类别  下拉数据
+        advanced: false,  //  高级搜索 展开/关闭
         disabled: false, //  查询、重置按钮是否可操作
         // 表头
         columns: [

+ 1 - 2
src/views/purchasingManagement/purchaseOrder/list.vue

@@ -106,8 +106,7 @@ export default {
   components: { STable, VSelect, basicInfoModal },
   data () {
     return {
-      // 高级搜索 展开/关闭
-      advanced: false,
+      advanced: false,  //  高级搜索 展开/关闭
       disabled: false, //  查询、重置按钮是否可操作
       openModal: false, // 基本信息弹框是否显示
       customeList:[],