Selaa lähdekoodia

Merge remote-tracking branch 'origin/develop' into develop

# Conflicts:
#	src/views/supply/engin/commerce_list.vue
#	src/views/supply/engin/components/commerce_form.vue
FengChaoYu 3 vuotta sitten
vanhempi
commit
960ef1e292
73 muutettua tiedostoa jossa 4753 lisäystä ja 410 poistoa
  1. 37 0
      .history/src/api/stock_20220720145422.js
  2. 48 0
      .history/src/api/stock_20220818144734.js
  3. 11 0
      .history/src/views/basic_data/stock/product_list_20220818143421.vue
  4. 11 0
      .history/src/views/basic_data/stock/product_list_20220818143532.vue
  5. 67 0
      .history/src/views/basic_data/stock/product_list_20220818143704.vue
  6. 67 0
      .history/src/views/basic_data/stock/product_list_20220818143730.vue
  7. 67 0
      .history/src/views/basic_data/stock/product_list_20220818143739.vue
  8. 65 0
      .history/src/views/basic_data/stock/product_list_20220818144052.vue
  9. 75 0
      .history/src/views/basic_data/stock/product_list_20220818144133.vue
  10. 91 0
      .history/src/views/basic_data/stock/product_list_20220818144316.vue
  11. 94 0
      .history/src/views/basic_data/stock/product_list_20220818144338.vue
  12. 106 0
      .history/src/views/basic_data/stock/product_list_20220818144428.vue
  13. 119 0
      .history/src/views/basic_data/stock/product_list_20220818144456.vue
  14. 122 0
      .history/src/views/basic_data/stock/product_list_20220818144523.vue
  15. 195 0
      .history/src/views/basic_data/stock/product_list_20220818144541.vue
  16. 196 0
      .history/src/views/basic_data/stock/product_list_20220818144800.vue
  17. 206 0
      .history/src/views/basic_data/stock/product_list_20220818144930.vue
  18. 206 0
      .history/src/views/basic_data/stock/product_list_20220818144933.vue
  19. 206 0
      .history/src/views/basic_data/stock/product_list_20220818144956.vue
  20. 206 0
      .history/src/views/basic_data/stock/product_list_20220818145008.vue
  21. 206 0
      .history/src/views/basic_data/stock/product_list_20220818145018.vue
  22. 206 0
      .history/src/views/basic_data/stock/product_list_20220818145031.vue
  23. 0 0
      .history/src/views/stock/product_list_20220818143314.vue
  24. 5 0
      .history/src/views/stock/product_list_20220818143351.vue
  25. 5 0
      .history/src/views/stock/product_list_20220818143354.vue
  26. 11 0
      .history/src/views/stock/product_list_20220818143422.vue
  27. 1 1
      src/api/basic_data/dealer.js
  28. 8 8
      src/api/basic_data/material.js
  29. 1 1
      src/api/basic_data/wallet_list.js
  30. 2 2
      src/api/finance/finance_sum.js
  31. 1 1
      src/api/policy_list.js
  32. 1 0
      src/store/getters.js
  33. 1 1
      src/views/basic_data/dealer/dealer_stock.vue
  34. 1 1
      src/views/basic_data/material/classify_list.vue
  35. 3 3
      src/views/basic_data/material/modify_list.vue
  36. 15 7
      src/views/basic_data/material/price_list.vue
  37. 1 1
      src/views/basic_data/material/relation_list.vue
  38. 6 6
      src/views/basic_data/stock/product_list.vue
  39. 1 1
      src/views/basic_data/wallet/wallet_list.vue
  40. 15 0
      src/views/deposit_commerce/deposit_list.vue
  41. 78 43
      src/views/deposit_commerce/refund_list.vue
  42. 16 1
      src/views/deposit_home/deposit_list.vue
  43. 46 38
      src/views/deposit_home/refund_list.vue
  44. 94 5
      src/views/finance/components/receivable_list-add.vue
  45. 31 8
      src/views/finance/standbook_list.vue
  46. 144 143
      src/views/finance/wallet.vue
  47. 2 0
      src/views/login/index.vue
  48. 2 2
      src/views/sales/price/commercial_list.vue
  49. 2 2
      src/views/sales_policy/components/AddPolicy.vue
  50. 2 2
      src/views/sales_policy/components/editPolicy.vue
  51. 2 2
      src/views/sales_policy/policy_list.vue
  52. 2 2
      src/views/stock/reserved_stock.vue
  53. 32 32
      src/views/supply/apply/apply_list.vue
  54. 13 4
      src/views/supply/apply/components/engin_form.vue
  55. 9 0
      src/views/supply/apply/components/engin_return_form.vue
  56. 34 34
      src/views/supply/apply/engin_list.vue
  57. 63 25
      src/views/supply/deliver/commerce_list.vue
  58. 5 3
      src/views/supply/deliver/components/sum_print.vue
  59. 24 19
      src/views/supply/deliver/home_list.vue
  60. 4 2
      src/views/supply/deliver/sum_list.vue
  61. 4 0
      src/views/supply/engin/components/commerce_detail.vue
  62. 7 2
      src/views/supply/engin/components/engin_detail.vue
  63. 8 3
      src/views/supply/engin/components/engin_examine.vue
  64. 4 0
      src/views/supply/engin/components/engin_form.vue
  65. 3 2
      src/views/supply/engin/components/home_form.vue
  66. 2 0
      src/views/supply/engin/engin_list.vue
  67. 4 3
      src/views/supply/engin/home_list.vue
  68. 178 0
      src/views/supply/implement/components/sales_detail.vue
  69. 224 0
      src/views/supply/implement/components/sales_examine.vue
  70. 537 0
      src/views/supply/implement/components/sales_return_form.vue
  71. 456 0
      src/views/supply/implement/nsales_list.vue
  72. 18 0
      src/views/supply/policy/components/retail_detail.vue
  73. 18 0
      src/views/supply/retail/components/retail_detail.vue

+ 37 - 0
.history/src/api/stock_20220720145422.js

@@ -0,0 +1,37 @@
+import request from '@/utils/request'
+
+// 获取库存列表
+export function getStockList(params) {
+  return request({
+    url: '/stock/manager/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取仓库列表
+export function getWarehouseList(params) {
+  return request({
+    url: '/stock/listStock',
+    method: 'get',
+    params
+  })
+}
+
+// 获取销售类型列表
+export function getSalesTypeList(params) {
+  return request({
+    url: '/sale/type/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取预留库存列表
+export function getReservedList(params) {
+  return request({
+    url: '/stock/manager/listCustomer',
+    method: 'get',
+    params
+  })
+}

+ 48 - 0
.history/src/api/stock_20220818144734.js

@@ -0,0 +1,48 @@
+import request from '@/utils/request'
+
+// 获取库存列表
+export function getStockList(params) {
+  return request({
+    url: '/stock/manager/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取仓库列表
+export function getWarehouseList(params) {
+  return request({
+    url: '/stock/listStock',
+    method: 'get',
+    params
+  })
+}
+
+// 获取销售类型列表
+export function getSalesTypeList(params) {
+  return request({
+    url: '/sale/type/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取预留库存列表
+export function getReservedList(params) {
+  return request({
+    url: '/stock/manager/listCustomer',
+    method: 'get',
+    params
+  })
+}
+
+
+
+// 获取仓库现存列表
+export function getListStockToDay(params) {
+  return request({
+    url: '/stock/manager/listStockToDay',
+    method: 'get',
+    params
+  })
+}

+ 11 - 0
.history/src/views/basic_data/stock/product_list_20220818143421.vue

@@ -0,0 +1,11 @@
+<template>
+  <div class="app-container">
+      554
+  </div>
+</template>
+
+<script>
+export default {
+
+}
+</script>

+ 11 - 0
.history/src/views/basic_data/stock/product_list_20220818143532.vue

@@ -0,0 +1,11 @@
+<template>
+  <div class="app-container">
+      554
+  </div>
+</template>
+
+<script>
+export default {
+
+}
+</script>

+ 67 - 0
.history/src/views/basic_data/stock/product_list_20220818143704.vue

@@ -0,0 +1,67 @@
+<template>
+  <div class="app-container">
+      <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form ref="screenForm" :model="screenForm" label-width="90px" size="mini" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品大类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择产品大类" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input v-model="screenForm.goodsName" placeholder="请输入产品名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input v-model="screenForm.goodsNum" placeholder="请输入产品编码"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="规格型号" prop="model">
+              <el-input v-model="screenForm.model" placeholder="请输入规格型号"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="经销商编号" prop="jxsNum">
+              <el-input v-model="screenForm.jxsNum" placeholder="请输入经销商编号"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="经销商名称" prop="jxsName">
+              <el-input v-model="screenForm.jxsName" placeholder="请输入经销商名称"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+    data() {
+      return {
+         screenForm: { // 筛选表单数据
+        type: '',
+        goodsName: '',
+        goodsNum: '',
+        model: '',
+        jxsName: '',
+        jxsNum: '',
+      },
+      }
+    },
+}
+</script>

+ 67 - 0
.history/src/views/basic_data/stock/product_list_20220818143730.vue

@@ -0,0 +1,67 @@
+<template>
+  <div class="app-container">
+      <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form ref="screenForm" :model="screenForm" label-width="90px" size="mini" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品大类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择产品大类" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input v-model="screenForm.goodsName" placeholder="请输入产品名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input v-model="screenForm.goodsNum" placeholder="请输入产品编码"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="规格型号" prop="model">
+              <el-input v-model="screenForm.model" placeholder="请输入规格型号"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="经销商编号" prop="jxsNum">
+              <el-input v-model="screenForm.jxsNum" placeholder="请输入经销商编号"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="经销商名称" prop="jxsName">
+              <el-input v-model="screenForm.jxsName" placeholder="请输入经销商名称"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+    data() {
+      return {
+         screenForm: { // 筛选表单数据
+        type: '',
+        goodsName: '',
+        goodsNum: '',
+        model: '',
+        jxsName: '',
+        jxsNum: '',
+      },
+      }
+    },
+}
+</script>

+ 67 - 0
.history/src/views/basic_data/stock/product_list_20220818143739.vue

@@ -0,0 +1,67 @@
+<template>
+  <div class="app-container">
+      <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form ref="screenForm" :model="screenForm" label-width="90px" size="mini" label-position="left">
+        <el-row :gutter="20">
+          <!-- <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品大类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择产品大类" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input v-model="screenForm.goodsName" placeholder="请输入产品名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input v-model="screenForm.goodsNum" placeholder="请输入产品编码"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="规格型号" prop="model">
+              <el-input v-model="screenForm.model" placeholder="请输入规格型号"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="经销商编号" prop="jxsNum">
+              <el-input v-model="screenForm.jxsNum" placeholder="请输入经销商编号"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="经销商名称" prop="jxsName">
+              <el-input v-model="screenForm.jxsName" placeholder="请输入经销商名称"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+    data() {
+      return {
+         screenForm: { // 筛选表单数据
+        type: '',
+        goodsName: '',
+        goodsNum: '',
+        model: '',
+        jxsName: '',
+        jxsNum: '',
+      },
+      }
+    },
+}
+</script>

+ 65 - 0
.history/src/views/basic_data/stock/product_list_20220818144052.vue

@@ -0,0 +1,65 @@
+<template>
+  <div class="app-container">
+      <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form ref="screenForm" :model="screenForm" label-width="90px" size="mini" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <!-- <el-select v-model="screenForm.type" placeholder="请选择仓库" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select> -->
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input v-model="screenForm.goodsNum" placeholder="请输入产品编码"></el-input>
+            </el-form-item>
+          </el-col>
+           <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input v-model="screenForm.model" placeholder="请输入厂产品代码"></el-input>
+            </el-form-item>
+          </el-col>
+              <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input v-model="screenForm.goodsName" placeholder="请输入产品名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择品类" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+    data() {
+      return {
+         screenForm: { // 筛选表单数据
+        type: '',
+        goodsName: '',
+        goodsNum: '',
+        model: '',
+        jxsName: '',
+        jxsNum: '',
+      },
+      }
+    },
+}
+</script>

+ 75 - 0
.history/src/views/basic_data/stock/product_list_20220818144133.vue

@@ -0,0 +1,75 @@
+<template>
+  <div class="app-container">
+      <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form ref="screenForm" :model="screenForm" label-width="90px" size="mini" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <!-- <el-select v-model="screenForm.type" placeholder="请选择仓库" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select> -->
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input v-model="screenForm.goodsNum" placeholder="请输入产品编码"></el-input>
+            </el-form-item>
+          </el-col>
+           <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input v-model="screenForm.model" placeholder="请输入厂产品代码"></el-input>
+            </el-form-item>
+          </el-col>
+              <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input v-model="screenForm.goodsName" placeholder="请输入产品名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择品类" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getDictList } from '@/api/common'
+export default {
+    data() {
+      return {
+         screenForm: { // 筛选表单数据
+        type: '',
+        goodsName: '',
+        goodsNum: '',
+        model: '',
+        jxsName: '',
+        jxsNum: '',
+      },
+      typeList: [],
+      }
+    },
+
+    methods: {
+        getDictList() {
+      getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
+        this.typeList = res.data;
+      })
+    },
+    },
+}
+</script>

+ 91 - 0
.history/src/views/basic_data/stock/product_list_20220818144316.vue

@@ -0,0 +1,91 @@
+<template>
+  <div class="app-container">
+      <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form ref="screenForm" :model="screenForm" label-width="90px" size="mini" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择仓库" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input v-model="screenForm.goodsNum" placeholder="请输入产品编码"></el-input>
+            </el-form-item>
+          </el-col>
+           <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input v-model="screenForm.model" placeholder="请输入厂产品代码"></el-input>
+            </el-form-item>
+          </el-col>
+              <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input v-model="screenForm.goodsName" placeholder="请输入产品名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择品类" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <ExportButton :exUrl="'stock/manager/export'" :exParams="exParams" />
+        </div>
+      </div>
+      <div class="table">
+        <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
+          <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <CopyButton :copyText="scope.row.customerNumber" />
+              <span>{{scope.row.customerNumber}}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getDictList } from '@/api/common'
+export default {
+    data() {
+      return {
+         screenForm: { // 筛选表单数据
+        type: '',
+        goodsName: '',
+        goodsNum: '',
+        model: '',
+        jxsName: '',
+        jxsNum: '',
+      },
+      typeList: [],
+      }
+    },
+
+    methods: {
+        getDictList() {
+      getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
+        this.typeList = res.data;
+      })
+    },
+    },
+}
+</script>

+ 94 - 0
.history/src/views/basic_data/stock/product_list_20220818144338.vue

@@ -0,0 +1,94 @@
+<template>
+  <div class="app-container">
+      <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form ref="screenForm" :model="screenForm" label-width="90px" size="mini" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择仓库" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input v-model="screenForm.goodsNum" placeholder="请输入产品编码"></el-input>
+            </el-form-item>
+          </el-col>
+           <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input v-model="screenForm.model" placeholder="请输入厂产品代码"></el-input>
+            </el-form-item>
+          </el-col>
+              <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input v-model="screenForm.goodsName" placeholder="请输入产品名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择品类" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <ExportButton :exUrl="'stock/manager/export'" :exParams="exParams" />
+        </div>
+      </div>
+      <div class="table">
+        <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
+          <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <CopyButton :copyText="scope.row.customerNumber" />
+              <span>{{scope.row.customerNumber}}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getDictList } from '@/api/common'
+export default {
+    data() {
+      return {
+         screenForm: { // 筛选表单数据
+        type: '',
+        goodsName: '',
+        goodsNum: '',
+        model: '',
+        jxsName: '',
+        jxsNum: '',
+      },
+      typeList: [],
+      dataList:[],
+      listLoading:false,
+
+      }
+    },
+
+    methods: {
+        getDictList() {
+      getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
+        this.typeList = res.data;
+      })
+    },
+    },
+}
+</script>

+ 106 - 0
.history/src/views/basic_data/stock/product_list_20220818144428.vue

@@ -0,0 +1,106 @@
+<template>
+  <div class="app-container">
+      <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form ref="screenForm" :model="screenForm" label-width="90px" size="mini" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择仓库" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input v-model="screenForm.goodsNum" placeholder="请输入产品编码"></el-input>
+            </el-form-item>
+          </el-col>
+           <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input v-model="screenForm.model" placeholder="请输入厂产品代码"></el-input>
+            </el-form-item>
+          </el-col>
+              <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input v-model="screenForm.goodsName" placeholder="请输入产品名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择品类" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <ExportButton :exUrl="'stock/manager/export'" :exParams="exParams" />
+        </div>
+      </div>
+      <div class="table">
+        <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
+          <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <CopyButton :copyText="scope.row.customerNumber" />
+              <span>{{scope.row.customerNumber}}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getDictList } from '@/api/common'
+export default {
+    data() {
+      return {
+         screenForm: { // 筛选表单数据
+        type: '',
+        goodsName: '',
+        goodsNum: '',
+        model: '',
+        jxsName: '',
+        jxsNum: '',
+      },
+      typeList: [],
+      dataList:[],
+      listLoading:false,
+
+      }
+    },
+
+  computed: {
+    exParams() {
+      return {
+        materialName: this.screenForm.goodsName,
+        materialNumber: this.screenForm.goodsNum,
+        specification: this.screenForm.model,
+        mainNumber: this.screenForm.type,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
+      }
+    },
+  },
+    methods: {
+        getDictList() {
+      getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
+        this.typeList = res.data;
+      })
+    },
+    },
+}
+</script>

+ 119 - 0
.history/src/views/basic_data/stock/product_list_20220818144456.vue

@@ -0,0 +1,119 @@
+<template>
+  <div class="app-container">
+      <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form ref="screenForm" :model="screenForm" label-width="90px" size="mini" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择仓库" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input v-model="screenForm.goodsNum" placeholder="请输入产品编码"></el-input>
+            </el-form-item>
+          </el-col>
+           <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input v-model="screenForm.model" placeholder="请输入厂产品代码"></el-input>
+            </el-form-item>
+          </el-col>
+              <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input v-model="screenForm.goodsName" placeholder="请输入产品名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择品类" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <ExportButton :exUrl="'stock/manager/export'" :exParams="exParams" />
+        </div>
+      </div>
+      <div class="table">
+        <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
+          <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <CopyButton :copyText="scope.row.customerNumber" />
+              <span>{{scope.row.customerNumber}}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+       <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal">
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getDictList } from '@/api/common'
+export default {
+    data() {
+      return {
+         screenForm: { // 筛选表单数据
+        type: '',
+        goodsName: '',
+        goodsNum: '',
+        model: '',
+        jxsName: '',
+        jxsNum: '',
+      },
+      typeList: [],
+      dataList:[],
+      listLoading:false,
+
+      }
+    },
+
+  computed: {
+    exParams() {
+      return {
+        materialName: this.screenForm.goodsName,
+        materialNumber: this.screenForm.goodsNum,
+        specification: this.screenForm.model,
+        mainNumber: this.screenForm.type,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
+      }
+    },
+  },
+    methods: {
+        getDictList() {
+      getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
+        this.typeList = res.data;
+      })
+    },
+    },
+}
+</script>

+ 122 - 0
.history/src/views/basic_data/stock/product_list_20220818144523.vue

@@ -0,0 +1,122 @@
+<template>
+  <div class="app-container">
+      <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form ref="screenForm" :model="screenForm" label-width="90px" size="mini" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择仓库" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input v-model="screenForm.goodsNum" placeholder="请输入产品编码"></el-input>
+            </el-form-item>
+          </el-col>
+           <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input v-model="screenForm.model" placeholder="请输入厂产品代码"></el-input>
+            </el-form-item>
+          </el-col>
+              <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input v-model="screenForm.goodsName" placeholder="请输入产品名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="请选择品类" clearable>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <ExportButton :exUrl="'stock/manager/export'" :exParams="exParams" />
+        </div>
+      </div>
+      <div class="table">
+        <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
+          <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <CopyButton :copyText="scope.row.customerNumber" />
+              <span>{{scope.row.customerNumber}}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+       <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal">
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getDictList } from '@/api/common'
+export default {
+    data() {
+      return {
+              currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+         screenForm: { // 筛选表单数据
+        type: '',
+        goodsName: '',
+        goodsNum: '',
+        model: '',
+        jxsName: '',
+        jxsNum: '',
+      },
+      typeList: [],
+
+      }
+    },
+
+  computed: {
+    exParams() {
+      return {
+        materialName: this.screenForm.goodsName,
+        materialNumber: this.screenForm.goodsNum,
+        specification: this.screenForm.model,
+        mainNumber: this.screenForm.type,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
+      }
+    },
+  },
+    methods: {
+        getDictList() {
+      getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
+        this.typeList = res.data;
+      })
+    },
+    },
+}
+</script>

+ 195 - 0
.history/src/views/basic_data/stock/product_list_20220818144541.vue

@@ -0,0 +1,195 @@
+<template>
+  <div class="app-container">
+    <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="90px"
+        size="mini"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择仓库"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input
+                v-model="screenForm.goodsNum"
+                placeholder="请输入产品编码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input
+                v-model="screenForm.model"
+                placeholder="请输入厂产品代码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input
+                v-model="screenForm.goodsName"
+                placeholder="请输入产品名称"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择品类"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <ExportButton :exUrl="'stock/manager/export'" :exParams="exParams" />
+        </div>
+      </div>
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            align="left"
+            label="经销商编码"
+            prop="customerNumber"
+            min-width="100"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <CopyButton :copyText="scope.row.customerNumber" />
+              <span>{{ scope.row.customerNumber }}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getDictList } from "@/api/common";
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: {
+        // 筛选表单数据
+        type: "",
+        goodsName: "",
+        goodsNum: "",
+        model: "",
+        jxsName: "",
+        jxsNum: "",
+      },
+      typeList: [],
+    };
+  },
+
+  computed: {
+    exParams() {
+      return {
+        materialName: this.screenForm.goodsName,
+        materialNumber: this.screenForm.goodsNum,
+        specification: this.screenForm.model,
+        mainNumber: this.screenForm.type,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
+      };
+    },
+  },
+  methods: {
+    getDictList() {
+      getDictList({ sysDictEnum: "PRODUCT_TYPE" }).then((res) => {
+        this.typeList = res.data;
+      });
+    },
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+  },
+};
+</script>

+ 196 - 0
.history/src/views/basic_data/stock/product_list_20220818144800.vue

@@ -0,0 +1,196 @@
+<template>
+  <div class="app-container">
+    <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="90px"
+        size="mini"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择仓库"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input
+                v-model="screenForm.goodsNum"
+                placeholder="请输入产品编码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input
+                v-model="screenForm.model"
+                placeholder="请输入厂产品代码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input
+                v-model="screenForm.goodsName"
+                placeholder="请输入产品名称"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择品类"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <ExportButton :exUrl="'stock/manager/export'" :exParams="exParams" />
+        </div>
+      </div>
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            align="left"
+            label="经销商编码"
+            prop="customerNumber"
+            min-width="100"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <CopyButton :copyText="scope.row.customerNumber" />
+              <span>{{ scope.row.customerNumber }}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getListStockToDay } "@/api/stock"
+import { getDictList } from "@/api/common";
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: {
+        // 筛选表单数据
+        type: "",
+        goodsName: "",
+        goodsNum: "",
+        model: "",
+        jxsName: "",
+        jxsNum: "",
+      },
+      typeList: [],
+    };
+  },
+
+  computed: {
+    exParams() {
+      return {
+        materialName: this.screenForm.goodsName,
+        materialNumber: this.screenForm.goodsNum,
+        specification: this.screenForm.model,
+        mainNumber: this.screenForm.type,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
+      };
+    },
+  },
+  methods: {
+    getDictList() {
+      getDictList({ sysDictEnum: "PRODUCT_TYPE" }).then((res) => {
+        this.typeList = res.data;
+      });
+    },
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+  },
+};
+</script>

+ 206 - 0
.history/src/views/basic_data/stock/product_list_20220818144930.vue

@@ -0,0 +1,206 @@
+<template>
+  <div class="app-container">
+    <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="90px"
+        size="mini"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择仓库"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input
+                v-model="screenForm.goodsNum"
+                placeholder="请输入产品编码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input
+                v-model="screenForm.model"
+                placeholder="请输入厂产品代码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input
+                v-model="screenForm.goodsName"
+                placeholder="请输入产品名称"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择品类"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <ExportButton :exUrl="'stock/manager/export'" :exParams="exParams" />
+        </div>
+      </div>
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            align="left"
+            label="经销商编码"
+            prop="customerNumber"
+            min-width="100"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <CopyButton :copyText="scope.row.customerNumber" />
+              <span>{{ scope.row.customerNumber }}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getListStockToDay } "@/api/stock"
+import { getDictList } from "@/api/common";
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: {
+        // 筛选表单数据
+        type: "",
+        goodsName: "",
+        goodsNum: "",
+        model: "",
+        jxsName: "",
+        jxsNum: "",
+      },
+      typeList: [],
+    };
+  },
+
+  computed: {
+    exParams() {
+      return {
+        materialName: this.screenForm.goodsName,
+        materialNumber: this.screenForm.goodsNum,
+        specification: this.screenForm.model,
+        mainNumber: this.screenForm.type,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
+      };
+    },
+  },
+  methods: {
+
+    getList(){
+      const parmas = {
+        pageNum:
+      }
+      getListStockToDay().then(res=>{
+        this.dataList = res.data.records
+      })
+    }
+
+    getDictList() {
+      getDictList({ sysDictEnum: "PRODUCT_TYPE" }).then((res) => {
+        this.typeList = res.data;
+      });
+    },
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+  },
+};
+</script>

+ 206 - 0
.history/src/views/basic_data/stock/product_list_20220818144933.vue

@@ -0,0 +1,206 @@
+<template>
+  <div class="app-container">
+    <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="90px"
+        size="mini"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择仓库"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input
+                v-model="screenForm.goodsNum"
+                placeholder="请输入产品编码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input
+                v-model="screenForm.model"
+                placeholder="请输入厂产品代码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input
+                v-model="screenForm.goodsName"
+                placeholder="请输入产品名称"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择品类"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <ExportButton :exUrl="'stock/manager/export'" :exParams="exParams" />
+        </div>
+      </div>
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            align="left"
+            label="经销商编码"
+            prop="customerNumber"
+            min-width="100"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <CopyButton :copyText="scope.row.customerNumber" />
+              <span>{{ scope.row.customerNumber }}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getListStockToDay } "@/api/stock"
+import { getDictList } from "@/api/common";
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: {
+        // 筛选表单数据
+        type: "",
+        goodsName: "",
+        goodsNum: "",
+        model: "",
+        jxsName: "",
+        jxsNum: "",
+      },
+      typeList: [],
+    };
+  },
+
+  computed: {
+    exParams() {
+      return {
+        materialName: this.screenForm.goodsName,
+        materialNumber: this.screenForm.goodsNum,
+        specification: this.screenForm.model,
+        mainNumber: this.screenForm.type,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
+      };
+    },
+  },
+  methods: {
+
+    getList(){
+      const parmas = {
+        pageNum:1
+      }
+      getListStockToDay().then(res=>{
+        this.dataList = res.data.records
+      })
+    }
+
+    getDictList() {
+      getDictList({ sysDictEnum: "PRODUCT_TYPE" }).then((res) => {
+        this.typeList = res.data;
+      });
+    },
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+  },
+};
+</script>

+ 206 - 0
.history/src/views/basic_data/stock/product_list_20220818144956.vue

@@ -0,0 +1,206 @@
+<template>
+  <div class="app-container">
+    <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="90px"
+        size="mini"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择仓库"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input
+                v-model="screenForm.goodsNum"
+                placeholder="请输入产品编码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input
+                v-model="screenForm.model"
+                placeholder="请输入厂产品代码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input
+                v-model="screenForm.goodsName"
+                placeholder="请输入产品名称"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择品类"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <ExportButton :exUrl="'stock/manager/export'" :exParams="exParams" />
+        </div>
+      </div>
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            align="left"
+            label="经销商编码"
+            prop="customerNumber"
+            min-width="100"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <CopyButton :copyText="scope.row.customerNumber" />
+              <span>{{ scope.row.customerNumber }}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getListStockToDay } "@/api/stock";
+import { getDictList } from "@/api/common";
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: {
+        // 筛选表单数据
+        type: "",
+        goodsName: "",
+        goodsNum: "",
+        model: "",
+        jxsName: "",
+        jxsNum: "",
+      },
+      typeList: [],
+    };
+  },
+
+  computed: {
+    exParams() {
+      return {
+        materialName: this.screenForm.goodsName,
+        materialNumber: this.screenForm.goodsNum,
+        specification: this.screenForm.model,
+        mainNumber: this.screenForm.type,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
+      };
+    },
+  },
+  methods: {
+
+    getList(){
+      const parmas = {
+        pageNum:1
+      }
+      getListStockToDay().then(res=>{
+        this.dataList = res.data.records
+      })
+    }
+
+    getDictList() {
+      getDictList({ sysDictEnum: "PRODUCT_TYPE" }).then((res) => {
+        this.typeList = res.data;
+      });
+    },
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+  },
+};
+</script>

+ 206 - 0
.history/src/views/basic_data/stock/product_list_20220818145008.vue

@@ -0,0 +1,206 @@
+<template>
+  <div class="app-container">
+    <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="90px"
+        size="mini"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择仓库"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input
+                v-model="screenForm.goodsNum"
+                placeholder="请输入产品编码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input
+                v-model="screenForm.model"
+                placeholder="请输入厂产品代码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input
+                v-model="screenForm.goodsName"
+                placeholder="请输入产品名称"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择品类"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <ExportButton :exUrl="'stock/manager/export'" :exParams="exParams" />
+        </div>
+      </div>
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            align="left"
+            label="经销商编码"
+            prop="customerNumber"
+            min-width="100"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <CopyButton :copyText="scope.row.customerNumber" />
+              <span>{{ scope.row.customerNumber }}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getListStockToDay } "@/api/stock";
+import { getDictList } from "@/api/common";
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: {
+        // 筛选表单数据
+        type: "",
+        goodsName: "",
+        goodsNum: "",
+        model: "",
+        jxsName: "",
+        jxsNum: "",
+      },
+      typeList: [],
+    };
+  },
+
+  computed: {
+    exParams() {
+      return {
+        materialName: this.screenForm.goodsName,
+        materialNumber: this.screenForm.goodsNum,
+        specification: this.screenForm.model,
+        mainNumber: this.screenForm.type,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
+      };
+    },
+  },
+  methods: {
+
+    getList(){
+      const parmas = {
+        pageNum:1
+      }
+      getListStockToDay().then(res=>{
+        this.dataList = res.data.records
+      })
+    }
+
+    getDictList() {
+      getDictList({ sysDictEnum: "PRODUCT_TYPE" }).then((res) => {
+        this.typeList = res.data;
+      });
+    },
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+  },
+};
+</script>

+ 206 - 0
.history/src/views/basic_data/stock/product_list_20220818145018.vue

@@ -0,0 +1,206 @@
+<template>
+  <div class="app-container">
+    <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="90px"
+        size="mini"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择仓库"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input
+                v-model="screenForm.goodsNum"
+                placeholder="请输入产品编码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input
+                v-model="screenForm.model"
+                placeholder="请输入厂产品代码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input
+                v-model="screenForm.goodsName"
+                placeholder="请输入产品名称"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择品类"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <ExportButton :exUrl="'stock/manager/export'" :exParams="exParams" />
+        </div>
+      </div>
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            align="left"
+            label="经销商编码"
+            prop="customerNumber"
+            min-width="100"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <CopyButton :copyText="scope.row.customerNumber" />
+              <span>{{ scope.row.customerNumber }}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getListStockToDay } from "@/api/stock";
+import { getDictList } from "@/api/common";
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: {
+        // 筛选表单数据
+        type: "",
+        goodsName: "",
+        goodsNum: "",
+        model: "",
+        jxsName: "",
+        jxsNum: "",
+      },
+      typeList: [],
+    };
+  },
+
+  computed: {
+    exParams() {
+      return {
+        materialName: this.screenForm.goodsName,
+        materialNumber: this.screenForm.goodsNum,
+        specification: this.screenForm.model,
+        mainNumber: this.screenForm.type,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
+      };
+    },
+  },
+  methods: {
+
+    getList(){
+      const parmas = {
+        pageNum:1
+      }
+      getListStockToDay().then(res=>{
+        this.dataList = res.data.records
+      })
+    }
+
+    getDictList() {
+      getDictList({ sysDictEnum: "PRODUCT_TYPE" }).then((res) => {
+        this.typeList = res.data;
+      });
+    },
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+  },
+};
+</script>

+ 206 - 0
.history/src/views/basic_data/stock/product_list_20220818145031.vue

@@ -0,0 +1,206 @@
+<template>
+  <div class="app-container">
+    <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form
+        ref="screenForm"
+        :model="screenForm"
+        label-width="90px"
+        size="mini"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓库" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择仓库"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品编码" prop="goodsNum">
+              <el-input
+                v-model="screenForm.goodsNum"
+                placeholder="请输入产品编码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂产品代码" prop="model">
+              <el-input
+                v-model="screenForm.model"
+                placeholder="请输入厂产品代码"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="产品名称" prop="goodsName">
+              <el-input
+                v-model="screenForm.goodsName"
+                placeholder="请输入产品名称"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="品类" prop="type">
+              <el-select
+                v-model="screenForm.type"
+                placeholder="请选择品类"
+                clearable
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.dictCode"
+                  :label="item.dictValue"
+                  :value="item.dictCode"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </div>
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <ExportButton :exUrl="'stock/manager/export'" :exParams="exParams" />
+        </div>
+      </div>
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            align="left"
+            label="经销商编码"
+            prop="customerNumber"
+            min-width="100"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <CopyButton :copyText="scope.row.customerNumber" />
+              <span>{{ scope.row.customerNumber }}</span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getListStockToDay } from "@/api/stock";
+import { getDictList } from "@/api/common";
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: {
+        // 筛选表单数据
+        type: "",
+        goodsName: "",
+        goodsNum: "",
+        model: "",
+        jxsName: "",
+        jxsNum: "",
+      },
+      typeList: [],
+    };
+  },
+
+  computed: {
+    exParams() {
+      return {
+        materialName: this.screenForm.goodsName,
+        materialNumber: this.screenForm.goodsNum,
+        specification: this.screenForm.model,
+        mainNumber: this.screenForm.type,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
+      };
+    },
+  },
+  methods: {
+
+    getList(){
+      const parmas = {
+        pageNum:1
+      }
+      getListStockToDay().then(res=>{
+        this.dataList = res.data.records
+      })
+    }
+      ,
+    getDictList() {
+      getDictList({ sysDictEnum: "PRODUCT_TYPE" }).then((res) => {
+        this.typeList = res.data;
+      });
+    },
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+  },
+};
+</script>

+ 0 - 0
.history/src/views/stock/product_list_20220818143314.vue


+ 5 - 0
.history/src/views/stock/product_list_20220818143351.vue

@@ -0,0 +1,5 @@
+<template>
+  <div class="app-container">
+
+  </div>
+</template>

+ 5 - 0
.history/src/views/stock/product_list_20220818143354.vue

@@ -0,0 +1,5 @@
+<template>
+  <div class="app-container">
+      554
+  </div>
+</template>

+ 11 - 0
.history/src/views/stock/product_list_20220818143422.vue

@@ -0,0 +1,11 @@
+<template>
+  <div class="app-container">
+      554
+  </div>
+</template>
+
+<script>
+export default {
+
+}
+</script>

+ 1 - 1
src/api/basic_data/dealer.js

@@ -98,7 +98,7 @@ export function getDictionaries(params) {
     params,
   });
 }
-//产品类列表
+//产品类列表
 export function getProductCategoryList(params) {
   return request({
     url: "/product-category/list",

+ 8 - 8
src/api/basic_data/material.js

@@ -253,9 +253,9 @@ export function getWalletList(params) {
 
 
 
-//产品
+//产品类
 
-//产品类列表
+//产品类列表
 export function getProductCategoryList(params) {
   return request({
     url:'/product-category/list',
@@ -263,7 +263,7 @@ export function getProductCategoryList(params) {
     params
   })
 }
-//产品类小类列表
+//产品类小类列表
 export function getProductCategorySubList(params) {
   return request({
     url:'/product-category/sub-list',
@@ -271,7 +271,7 @@ export function getProductCategorySubList(params) {
     params
   })
 }
-//新增产品
+//新增产品类
 export function getProductCategoryAdd(data) {
   return request({
     url:'/product-category/add',
@@ -279,7 +279,7 @@ export function getProductCategoryAdd(data) {
     data
   })
 }
-//编辑产品
+//编辑产品类
 export function getProductCategoryEdit(data) {
   return request({
     url:'/product-category/edit',
@@ -295,7 +295,7 @@ export function getProductCategoryKingDeeCategoryList() {
 
   })
 }
-//新增产品类小类
+//新增产品类小类
 export function getProductCategoryAddSub(data) {
   return request({
     url:'/product-category/add-sub',
@@ -304,7 +304,7 @@ export function getProductCategoryAddSub(data) {
   })
 }
 
-//删除产品类小类
+//删除产品类小类
 export function getProductCategoryDelSub(params) {
   return request({
     url:'/product-category/del-sub',
@@ -312,7 +312,7 @@ export function getProductCategoryDelSub(params) {
     params
   })
 }
-//删除产品
+//删除产品类
 export function getProductCategoryDel(params) {
   return request({
     url:'/product-category/del',

+ 1 - 1
src/api/basic_data/wallet_list.js

@@ -8,7 +8,7 @@ export function getWalletList(params) {
     params,
   });
 }
-//产品类列表
+//产品类列表
 export function getProductCategory(params) {
   return request({
     url: "/product-category/list",

+ 2 - 2
src/api/finance/finance_sum.js

@@ -8,11 +8,11 @@ export function getFinanceTotal(params) {
       params
     })
   }
-// 产品类列表
+// 产品类列表
 export function getProductCategoryList(params) {
     return request({
       url: '/product-category/list',
       method: 'get',
       params
     })
-  }
+  }

+ 1 - 1
src/api/policy_list.js

@@ -305,7 +305,7 @@ export function getDictList(params) {
   });
 }
 
-// 产品
+// 产品类
 export function getProductList(params) {
   return request({
     url: "/product-category/list",

+ 1 - 0
src/store/getters.js

@@ -13,5 +13,6 @@ const getters = {
   customerNumber: (state) => state.user.customerNumber,
   showMessages: (state) => state.user.showMessages,
   code: (state) => state.sales.code,
+  isCustomer:state => state.user.customerId  && state.user.customerName &&  state.user.customerNumber
 };
 export default getters;

+ 1 - 1
src/views/basic_data/dealer/dealer_stock.vue

@@ -428,7 +428,7 @@ export default {
 
     //   this.oneList = res.data;
     // },
-    // //获取产品类数据
+    // //获取产品类数据
     // async getCategoryList() {
     //   let res = await getProductCategoryList();
     //   console.log(res);

+ 1 - 1
src/views/basic_data/material/classify_list.vue

@@ -206,7 +206,7 @@ export default {
 
       this.dataList = res.data;
     },
-    //获取产品类列表
+    //获取产品类列表
     async getDataList(data) {
       const res = await getProductCategoryList(data);
 

+ 3 - 3
src/views/basic_data/material/modify_list.vue

@@ -77,10 +77,10 @@
                 </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="产品类" prop="categoryId">
+                <el-form-item label="产品类" prop="categoryId">
                   <el-select
                   style="width:100%"
-                    placeholder="请选择产品类"
+                    placeholder="请选择产品类"
                     v-model="screenForm.mainId"
                   >
                     <el-option label="全部" value=""></el-option>
@@ -186,7 +186,7 @@
             ></el-table-column>
             <!-- <el-table-column
               align="left"
-              label="产品类"
+              label="产品类"
               prop="mainName"
               min-width="160"
               show-overflow-tooltip

+ 15 - 7
src/views/basic_data/material/price_list.vue

@@ -75,10 +75,10 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="产品类" prop="categoryId">
+            <el-form-item label="产品类" prop="categoryId">
               <el-select
                 v-model="screenForm.mainId"
-                placeholder="请选择产品类"
+                placeholder="请选择产品类"
               >
                 <el-option label="全部" value="" />
                 <el-option
@@ -165,7 +165,7 @@
 <!--          <el-table-column type="selection" align="left" />-->
           <!-- <el-table-column
             align="left"
-            label="产品类"
+            label="产品类"
             prop="mainName"
             min-width="160"
             show-overflow-tooltip
@@ -352,11 +352,19 @@
             align="center"
           >
             <template slot-scope="scope">
-              <el-button
-                type="text"
-                size="mini"
+              <el-popconfirm
+                v-if="!scope.row.isRevoke"
+                style="margin-right: 10px"
+                title="作废吗?"
                 @click="handleRevoke(scope.row.id)"
-              >作废</el-button>
+              >
+                <el-button
+                  slot="reference"
+                  type="text"
+                  size="mini"
+                >作废</el-button>
+              </el-popconfirm>
+
               <el-button
                 v-if="$checkBtnRole('del', $route.meta.roles)"
                 type="text"

+ 1 - 1
src/views/basic_data/material/relation_list.vue

@@ -17,7 +17,7 @@
                 v-model="screenForm.name"
               ></el-input>
               <!--
-              <el-select placeholder="请选择产品类" v-model="screenForm.name">
+              <el-select placeholder="请选择产品类" v-model="screenForm.name">
               <el-option label="默认" value=""></el-option>
                 <el-option
                   v-for="item in materialLis"

+ 6 - 6
src/views/basic_data/stock/product_list.vue

@@ -12,18 +12,18 @@
         <el-row :gutter="20">
 
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="产品编码" prop="materialNumber">
+            <el-form-item label="物料代码" prop="materialNumber">
               <el-input
                 v-model="screenForm.materialNumber"
-                placeholder="请输入产品编码"
+                placeholder="请输入物料代码"
               />
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="厂产品代码" prop="materialOldNumber">
+            <el-form-item label="产品编码" prop="materialOldNumber">
               <el-input
                 v-model="screenForm.materialOldNumber"
-                placeholder="请输入厂产品代码"
+                placeholder="请输入产品编码"
               />
             </el-form-item>
           </el-col>
@@ -96,7 +96,7 @@
           />
           <el-table-column
             align="left"
-            label="产品编码"
+            label="物料代码"
             prop="materialNumber"
             min-width="150"
             show-overflow-tooltip
@@ -108,7 +108,7 @@
           </el-table-column>
           <el-table-column
             align="left"
-            label="厂产品代码"
+            label="产品编码"
             prop="materialOldNumber"
             min-width="150"
             show-overflow-tooltip

+ 1 - 1
src/views/basic_data/wallet/wallet_list.vue

@@ -197,7 +197,7 @@ export default {
     searchFn() {
       this.getDataList({ ...this.searchForm });
     },
-    // //获取产品类列表
+    // //获取产品类列表
     // async getCategoryList() {
     //   const res = await getProductCategory();
     //   this.categoryList = res.data;

+ 15 - 0
src/views/deposit_commerce/deposit_list.vue

@@ -220,6 +220,13 @@
 
             </template>
             <el-col :xs="24" :sm="24" :lg="24">
+             <div class="fl">
+          <!-- <el-radio-group @change="changeEnginOrderTypeFn" v-model="enginOrderType" size="mini">
+            <el-radio-button label="HOME">家用工程</el-radio-button>
+            <el-radio-button label="TRADE">商用工程</el-radio-button>
+          </el-radio-group> -->
+          <el-button type="primary" size="mini" @click="syncDateFn">同步资料日期</el-button>
+        </div>
               <el-form-item label="" class="fr">
                 <el-button size="mini" @click="resetScreenForm">清空</el-button>
                 <el-button size="mini" type="primary" @click="submitScreenForm"
@@ -472,6 +479,9 @@
 <script>
 import DepositListDetail from "./components/deposit_list-detail";
 import DepositApplyDeduction from "./components/deposit-apply-deduction.vue";
+import {
+  getDepositManageDate,
+} from "@/api/engin_deposit/refund_list";
 import DepositApplySurrender from "./components/deposit-apply-surrender.vue";
 import { downloadFiles, handleImport } from "@/utils/util";
 import { getList } from "@/api/engin_deposit.js";
@@ -572,6 +582,11 @@ export default {
     },
   },
   methods: {
+      //同步资料日期
+    async syncDateFn() {
+      await getDepositManageDate();
+      this.$message.success("同步资料日期成功");
+    },
     // 免扣申请
     deductionFn() {
       this.showPage = 3;

+ 78 - 43
src/views/deposit_commerce/refund_list.vue

@@ -43,6 +43,11 @@
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="机型" prop="startSpecification">
+                <!-- <div class="fanwei">
+                  <el-input v-model="searchForm.startSpecification"></el-input>
+                  <span>-</span>
+                  <el-input v-model="searchForm.endSpecification"></el-input>
+                </div> -->
                 <el-input v-model="searchForm.startSpecification" placeholder="请输入"></el-input>
               </el-form-item>
             </el-col>
@@ -51,16 +56,22 @@
                 <el-input v-model="searchForm.refProjectName" placeholder="请输入"></el-input>
               </el-form-item> -->
               <el-form-item label="特价编号" prop="startSpecialNo">
-
+                <!-- <div class="fanwei">
+                  <el-input v-model="searchForm.startSpecialNo"></el-input>
+                  <span>-</span>
+                  <el-input v-model="searchForm.endSpecialNo"></el-input>
+                </div> -->
                 <el-input v-model="searchForm.startSpecialNo" placeholder="请输入"></el-input>
-
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="厂编号" prop="startRefFactoryNo">
-
+                <!-- <div class="fanwei">
+                  <el-input v-model="searchForm.startRefFactoryNo"></el-input>
+                  <span>-</span>
+                  <el-input v-model="searchForm.endRefFactoryNo"></el-input>
+                </div> -->
                 <el-input v-model="searchForm.startRefFactoryNo" placeholder="请输入"></el-input>
-
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
@@ -72,6 +83,17 @@
                 </div>
               </el-form-item>
             </el-col>
+
+            <!-- <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="开始安装日期" prop="startInstallTime">
+                <el-date-picker class="dateStyle" v-model="searchForm.startInstallTime" type="datetime" placeholder="" default-time="00:00:00" value-format="yyyy-MM-dd HH:mm:ss" />
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="结束安装日期" prop="endInstallTime">
+                <el-date-picker class="dateStyle" v-model="searchForm.endInstallTime" type="datetime" placeholder="" default-time="00:00:00" value-format="yyyy-MM-dd HH:mm:ss" />
+              </el-form-item>
+            </el-col> -->
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="区域" prop="refRegionWork">
                 <el-input v-model="searchForm.refRegionWork" placeholder="请输入"></el-input>
@@ -130,7 +152,7 @@
             <el-radio-button label="HOME">家用工程</el-radio-button>
             <el-radio-button label="TRADE">商用工程</el-radio-button>
           </el-radio-group> -->
-          <el-button type="primary" size="mini" @click="syncDateFn">同步资料日期</el-button>
+          <!-- <el-button type="primary" size="mini" @click="syncDateFn">同步资料日期</el-button> -->
         </div>
         <div class="fr">
           <el-button type="primary" size="mini" @click="exportFn">导出</el-button>
@@ -160,25 +182,13 @@
                 <span>{{scope.row.refEnginRecordNo}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="项目类别" prop="refProjectName" min-width="160" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.refProjectName" />
-                <span>{{scope.row.refProjectName}}</span>
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="机型" prop="specification" min-width="160" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.specification" />
-                <span>{{scope.row.a}}</span>
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="160" show-overflow-tooltip>
+              <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.customerNumber" />
                 <span>{{scope.row.customerNumber}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="经销商名称" prop="customerName" min-width="260" show-overflow-tooltip>
+             <el-table-column align="left" label="经销商名称" prop="customerName" min-width="260" show-overflow-tooltip>
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.customerName" />
                 <span>{{scope.row.customerName}}</span>
@@ -190,36 +200,66 @@
                 <span>{{scope.row.refFactoryNo}}</span>
               </template>
             </el-table-column>
-            <!-- <el-table-column align="left" label="产品编码" prop="customerName" min-width="260" show-overflow-tooltip>
+             <el-table-column align="right" label="厂编号" prop="factoryNo" min-width="160" show-overflow-tooltip>
+            </el-table-column>
+              <el-table-column align="right" label="特价编号" prop="specialNo" min-width="160" show-overflow-tooltip>
+            </el-table-column>
+            <el-table-column align="left" label="项目类别" prop="refProjectName" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.customerName" />
-                <span>{{scope.row.customerName}}</span>
+                <CopyButton :copyText="scope.row.refProjectName" />
+                <span>{{scope.row.refProjectName}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="物料编码" prop="customerName" min-width="260" show-overflow-tooltip>
+            <el-table-column align="left" label="使用单位
+" prop="refUseUnit" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.customerName" />
-                <span>{{scope.row.customerName}}</span>
+                <CopyButton :copyText="scope.row.refUseUnit" />
+                <span>{{scope.row.refUseUnit}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="产品名称" prop="customerName" min-width="260" show-overflow-tooltip>
+
+
+            <el-table-column align="left" label="区域" prop="refRegionWork" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.customerName" />
-                <span>{{scope.row.customerName}}</span>
+                <CopyButton :copyText="scope.row.refRegionWork" />
+                <span>{{scope.row.refRegionWork}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="规格型号" prop="customerName" min-width="260" show-overflow-tooltip>
+
+                 <el-table-column align="left" label="物料编码" prop="materialNumber" min-width="260" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.customerName" />
-                <span>{{scope.row.customerName}}</span>
+                <CopyButton :copyText="scope.row.materialNumber" />
+                <span>{{scope.row.materialNumber}}</span>
+              </template>
+            </el-table-column>
+              <el-table-column align="left" label="产品编码" prop="materialOldNumber" min-width="260" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.materialOldNumber" />
+                <span>{{scope.row.materialOldNumber}}</span>
+              </template>
+            </el-table-column>
+
+            <el-table-column align="left" label="产品名称" prop="materialName" min-width="260" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.materialName" />
+                <span>{{scope.row.materialName}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="规格型号" prop="specification" min-width="260" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.specification" />
+                <span>{{scope.row.specification}}</span>
               </template>
-            </el-table-column> -->
-            <el-table-column align="right" label="规格型号" prop="specification" min-width="160" show-overflow-tooltip>
             </el-table-column>
-            <el-table-column align="right" label="特价编号" prop="specialNo" min-width="160" show-overflow-tooltip>
+            <el-table-column align="right" label="押金金额" prop="depositAmount" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.depositAmount | numToFixed }}
+              </template>
             </el-table-column>
-            <el-table-column align="right" label="厂编号" prop="factoryNo" min-width="160" show-overflow-tooltip>
+            <el-table-column align="right" label="规格型号" prop="specification" min-width="160" show-overflow-tooltip>
             </el-table-column>
+
+
             <el-table-column align="right" label="安装日期" prop="installDate" min-width="160" show-overflow-tooltip>
             </el-table-column>
             <el-table-column align="left" label="审核人" prop="confirmBy" min-width="160" show-overflow-tooltip>
@@ -228,12 +268,7 @@
                 <span>{{scope.row.confirmBy}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="区域" prop="refRegionWork" min-width="160" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.refRegionWork" />
-                <span>{{scope.row.refRegionWork}}</span>
-              </template>
-            </el-table-column>
+
             <el-table-column fixed="right" align="center" label="操作" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
                 <el-button type="text" class="textColor" v-if="
@@ -264,8 +299,8 @@
 <script>
 import {
   getDepositManageList,
-  getDepositManagExport,
   getDepositManageDate,
+  getDepositManagExport,
 } from "@/api/engin_deposit/refund_list";
 import { downloadFiles, handleImport } from "@/utils/util";
 import RefundListDetail from "./components/refund_list-detail.vue";
@@ -465,7 +500,7 @@ export default {
         }
         downloadFiles("/deposit-manage/export", {
           id: arr,
-          orderType: "TRADE",
+          orderType: "HOME",
         });
       } else {
         this.$errorMsg("请选择押金项");

+ 16 - 1
src/views/deposit_home/deposit_list.vue

@@ -188,9 +188,16 @@
 
               </el-col>
 
-              </el-col>
+
               </template>
             <el-col :xs="24" :sm="24" :lg="24">
+    <div class="fl">
+          <!-- <el-radio-group @change="changeEnginOrderTypeFn" v-model="enginOrderType" size="mini">
+            <el-radio-button label="HOME">家用工程</el-radio-button>
+            <el-radio-button label="TRADE">商用工程</el-radio-button>
+          </el-radio-group> -->
+          <el-button type="primary" size="mini" @click="syncDateFn">同步资料日期</el-button>
+        </div>
               <el-form-item label="" class="fr">
                 <el-button
                   size="mini"
@@ -443,6 +450,9 @@
 
 <script>
 import DepositListDetail from './components/deposit_list-detail'
+import {
+  getDepositManageDate,
+} from "@/api/engin_deposit/refund_list";
 import DepositApplyDeduction from './components/deposit-apply-deduction.vue'
 import DepositApplySurrender from './components/deposit-apply-surrender.vue'
 import { downloadFiles, handleImport } from '@/utils/util'
@@ -542,6 +552,11 @@ export default {
     }
   },
   methods: {
+      //同步资料日期
+    async syncDateFn() {
+      await getDepositManageDate();
+      this.$message.success("同步资料日期成功");
+    },
     // 免扣申请
     deductionFn() {
       this.showPage = 3

+ 46 - 38
src/views/deposit_home/refund_list.vue

@@ -152,7 +152,7 @@
             <el-radio-button label="HOME">家用工程</el-radio-button>
             <el-radio-button label="TRADE">商用工程</el-radio-button>
           </el-radio-group> -->
-          <el-button type="primary" size="mini" @click="syncDateFn">同步资料日期</el-button>
+          <!-- <el-button type="primary" size="mini" @click="syncDateFn">同步资料日期</el-button> -->
         </div>
         <div class="fr">
           <el-button type="primary" size="mini" @click="exportFn">导出</el-button>
@@ -182,25 +182,13 @@
                 <span>{{scope.row.refEnginRecordNo}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="项目类别" prop="refProjectName" min-width="160" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.refProjectName" />
-                <span>{{scope.row.refProjectName}}</span>
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="机型" prop="specification" min-width="160" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.specification" />
-                <span>{{scope.row.a}}</span>
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="160" show-overflow-tooltip>
+              <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.customerNumber" />
                 <span>{{scope.row.customerNumber}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="经销商名称" prop="customerName" min-width="260" show-overflow-tooltip>
+             <el-table-column align="left" label="经销商名称" prop="customerName" min-width="260" show-overflow-tooltip>
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.customerName" />
                 <span>{{scope.row.customerName}}</span>
@@ -212,30 +200,57 @@
                 <span>{{scope.row.refFactoryNo}}</span>
               </template>
             </el-table-column>
-            <!-- <el-table-column align="left" label="产品编码" prop="customerName" min-width="260" show-overflow-tooltip>
+             <el-table-column align="right" label="厂编号" prop="factoryNo" min-width="160" show-overflow-tooltip>
+            </el-table-column>
+              <el-table-column align="right" label="特价编号" prop="specialNo" min-width="160" show-overflow-tooltip>
+            </el-table-column>
+            <el-table-column align="left" label="项目类别" prop="refProjectName" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.customerName" />
-                <span>{{scope.row.customerName}}</span>
+                <CopyButton :copyText="scope.row.refProjectName" />
+                <span>{{scope.row.refProjectName}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="物料编码" prop="customerName" min-width="260" show-overflow-tooltip>
+            <el-table-column align="left" label="使用单位
+" prop="refUseUnit" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.customerName" />
-                <span>{{scope.row.customerName}}</span>
+                <CopyButton :copyText="scope.row.refUseUnit" />
+                <span>{{scope.row.refUseUnit}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="产品名称" prop="customerName" min-width="260" show-overflow-tooltip>
+
+
+            <el-table-column align="left" label="区域" prop="refRegionWork" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.customerName" />
-                <span>{{scope.row.customerName}}</span>
+                <CopyButton :copyText="scope.row.refRegionWork" />
+                <span>{{scope.row.refRegionWork}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="规格型号" prop="customerName" min-width="260" show-overflow-tooltip>
+
+                 <el-table-column align="left" label="物料编码" prop="materialNumber" min-width="260" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.customerName" />
-                <span>{{scope.row.customerName}}</span>
+                <CopyButton :copyText="scope.row.materialNumber" />
+                <span>{{scope.row.materialNumber}}</span>
+              </template>
+            </el-table-column>
+              <el-table-column align="left" label="产品编码" prop="materialOldNumber" min-width="260" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.materialOldNumber" />
+                <span>{{scope.row.materialOldNumber}}</span>
+              </template>
+            </el-table-column>
+
+            <el-table-column align="left" label="产品名称" prop="materialName" min-width="260" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.materialName" />
+                <span>{{scope.row.materialName}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="规格型号" prop="specification" min-width="260" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.specification" />
+                <span>{{scope.row.specification}}</span>
               </template>
-            </el-table-column> -->
+            </el-table-column>
             <el-table-column align="right" label="押金金额" prop="depositAmount" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
                 {{ scope.row.depositAmount | numToFixed }}
@@ -243,10 +258,8 @@
             </el-table-column>
             <el-table-column align="right" label="规格型号" prop="specification" min-width="160" show-overflow-tooltip>
             </el-table-column>
-            <el-table-column align="right" label="特价编号" prop="specialNo" min-width="160" show-overflow-tooltip>
-            </el-table-column>
-            <el-table-column align="right" label="厂编号" prop="factoryNo" min-width="160" show-overflow-tooltip>
-            </el-table-column>
+
+
             <el-table-column align="right" label="安装日期" prop="installDate" min-width="160" show-overflow-tooltip>
             </el-table-column>
             <el-table-column align="left" label="审核人" prop="confirmBy" min-width="160" show-overflow-tooltip>
@@ -255,12 +268,7 @@
                 <span>{{scope.row.confirmBy}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="区域" prop="refRegionWork" min-width="160" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.refRegionWork" />
-                <span>{{scope.row.refRegionWork}}</span>
-              </template>
-            </el-table-column>
+
             <el-table-column fixed="right" align="center" label="操作" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
                 <el-button type="text" class="textColor" v-if="

+ 94 - 5
src/views/finance/components/receivable_list-add.vue

@@ -65,18 +65,35 @@
     </div>
     <span>明细</span>
     <el-divider></el-divider>
+    <!-- 按钮 -->
+    <div class="btn-group clearfix">
+      <div class="fl">
+
+        <el-popconfirm @onConfirm="delSeletFn" title="这是一段内容确定删除吗?">
+          <el-button :disabled="selectList.length < 1" type="danger" size="mini" class="textColor delStyle" icon="el-icon-minus" slot="reference">批量删除</el-button>
+        </el-popconfirm>
+      </div>
+      <div class="fr">
+        <el-button type="primary" size="mini" @click="downLoadFn">模板</el-button>
+        <el-upload class="import-btn" action="" :http-request="handleImport" :file-list="importFileList" :show-file-list="false">
+          <el-button type="primary" size="mini">批量导入</el-button>
+        </el-upload>
+
+      </div>
+    </div>
     <!-- 列表 -->
     <div class="mymain-container">
       <div class="table">
-        <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe :row-class-name="rouClassNameFn" @row-click="onRowClick">
-          <el-table-column align="left" label="序号">
+        <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe @selection-change="selectionChange" :row-class-name="rouClassNameFn" @row-click="onRowClick">
+          <!-- <el-table-column align="left" label="序号">
             <template slot-scope="scope">
               {{ scope.$index + 1 }}
             </template>
-          </el-table-column>
-          <el-table-column align="left" label="*经销商名称" prop="customerName" min-width="160" show-overflow-tooltip>
+          </el-table-column> -->
+          <el-table-column align="center" type="selection" width="51" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="*经销商名称" prop="customerName" min-width="280" show-overflow-tooltip>
             <template slot-scope="scope">
-              <el-select @change="changeCustomerFn($event, scope.$index)" v-model="scope.row.customerId" placeholder="请选择" filterable>
+              <el-select class="selectStyle" @change="changeCustomerFn($event, scope.$index)" v-model="scope.row.customerId" placeholder="请选择" filterable>
                 <el-option v-for="(item, i) in customerList" :key="i" :label="item.name" :value="item.id">
                 </el-option>
               </el-select>
@@ -199,9 +216,11 @@ import {
   getFinanceOtherReceApply,
   getFinanceOtherReceList,
 } from "@/api/finance/receivable_list";
+import { downloadFiles, handleImport } from "@/utils/util";
 export default {
   data() {
     return {
+      importFileList: [],
       messageList: [],
       dialogVisible: false,
       searchForm: {
@@ -227,12 +246,78 @@ export default {
       listLoading: false, // 列表加载loading
       walletList: [], //现金钱包数据
       delIndex: null,
+      selectList: [],
     };
   },
   created() {
     this.getCustomerList();
   },
   methods: {
+    //删除
+    delSeletFn() {
+      // console.log(this.dataList);
+      this.selectList.sort(function (a, b) {
+        return b - a;
+      });
+      // console.log(this.selectList);
+
+      for (let index = 0; index < this.selectList.length; index++) {
+        // console.log(index);
+        this.dataList.splice(this.selectList[index], 1);
+      }
+    },
+    //选择项改变
+    selectionChange(v) {
+      // console.log(v);
+      this.selectList = v.map((v) => v.index);
+      // console.log(this.selectList);
+    },
+    // 导入
+    async handleImport(param) {
+      const file = param.file;
+
+      const formData = new FormData();
+      formData.append("file", file);
+
+      let result = await handleImport("/finance/rece/import/data", formData);
+
+      // console.log(result);
+      this.importFileList = [];
+      if (result.code == 200) {
+        this.$message.success("导入成功");
+        // this.dataList.unshift(result.data);
+        let Arr = result.data.items;
+        for (let v = 0; v < Arr.length; v++) {
+          const res = await getFinanceCustomerList({
+            customerId: Arr[v].customerId,
+            type: "COMMONLY",
+          });
+          this.dataList.push({
+            customerNumber: Arr[v].customerNumber,
+            customerName: Arr[v].customerName,
+            customerId: Arr[v].customerId,
+            projectCode: Arr[v].projectCode,
+            projectName: Arr[v].projectName,
+            departmentId: Arr[v].departmentId,
+            customerWalletId: Arr[v].customerWalletId,
+            invoiceType: Arr[v].invoiceType,
+            incomeDept: Arr[v].incomeDept,
+            totalAmount: Arr[v].totalAmount,
+            taxRate: Arr[v].taxRate,
+            walletId: Arr[v].valletId,
+            walletList: res.data,
+            remark: Arr[v].remark,
+          });
+        }
+      } else {
+        this.$message.error(result.message);
+        // this.$message.error(1231);
+      }
+    },
+    //下载模板
+    async downLoadFn() {
+      downloadFiles("/finance/other/rec/download");
+    },
     //取消
     async dialogVisibleCancel() {
       this.dialogVisible = false;
@@ -392,6 +477,10 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+.import-btn {
+  display: inline-block;
+  margin-left: 10px;
+}
 ::v-deep .mountclass {
   input {
     text-align: right;

+ 31 - 8
src/views/finance/standbook_list.vue

@@ -312,14 +312,9 @@
 
 <script>
 // import { mapGetters } from "vuex";
-import { getWalletCustomerList } from "@/api/finance/change_apply";
-import {
-  getStandbookList,
-  getDictList,
-  getCustomerList,
-  getAmountCount,
-} from "@/api/finance/standbook_list";
-import { numToFixed } from "@/filters";
+import { getWalletCustomerList } from '@/api/finance/change_apply'
+import { getAmountCount, getCustomerList, getStandbookList } from '@/api/finance/standbook_list'
+import { numToFixed } from '@/filters'
 
 export default {
   data() {
@@ -453,8 +448,36 @@ export default {
       }
     });
   },
+  activated() {
 
+    // 钱包余额页跳转过来
+    if (this.$route.query && this.$route.query.status){
+
+      this.bill = this.$route.query.status
+      this.changeFn(this.bill)
+      //只有是从A进到B页面才执行
+        // 将要执行的逻辑
+        this.isShow = true;
+        this.isDisabled = true;
+        this.searchForm.customerId = this.$route.query.customerId;
+        this.changeFn(this.$route.query.customerId);
+        this.getDataList({
+          pageSize: this.pageSize,
+          pageNum: this.currentPage,
+          type: this.bill,
+          customerName: this.$route.query.customerName,
+          customerNumber: this.$route.query.customerNumber,
+        });
+        this.getAmountList({
+          type: this.bill,
+          customerName: this.$route.query.customerName,
+          customerNumber: this.$route.query.customerNumber,
+        });
+    }
+
+  },
   created() {
+
     // console.log(
     //   this.customerId,
     //   this.$store.state.user.customerName,

+ 144 - 143
src/views/finance/wallet.vue

@@ -1,18 +1,17 @@
 <template>
   <div class="app-container">
-    <div class="sty" v-show="show">
-      <el-page-header @back="goBack"> </el-page-header>
+    <div v-show="show" class="sty">
+      <el-page-header @back="goBack" />
     </div>
-    <br />
+    <br>
     <!-- 筛选条件 -->
     <div v-if="show2">
       <el-form ref="searchForm" :model="searchForm" :rules="rulesSearchForm" label-width="100px" size="mini" label-position="left">
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="经销商名称" prop="customerId">
-              <el-select class="selectStyle" v-model="searchForm.customerId" placeholder="请选择" filterable>
-                <el-option v-for="(v, i) in customerList" :key="i" :label="v.name" :value="v.id">
-                </el-option>
+              <el-select v-model="searchForm.customerId" class="selectStyle" placeholder="请选择" filterable>
+                <el-option v-for="(v, i) in customerList" :key="i" :label="v.name" :value="v.id" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -44,52 +43,54 @@
         </div>
       </el-col> -->
     </el-row>
-    <el-divider></el-divider>
+    <el-divider />
     <!-- 列表 -->
     <div class="mymain-container">
       <div class="table">
-        <el-table v-loading="listLoading" :data="walletList" element-loading-text="Loading" border fit highlight-current-row stripe show-summary :summary-method="$getSummaries">
-          <el-table-column align="left" label="经销商名称" prop="customerName" min-width="160" show-overflow-tooltip>
-            <template slot-scope="scope">
-              <CopyButton :copyText="scope.row.customerName" />
-              <span>{{scope.row.customerName}}</span>
-            </template>
-          </el-table-column>
-          <el-table-column align="left" label="钱包" prop="name" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="left" label="更新时间" prop="updateTime" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="right" label="余额" prop="amount" min-width="160" show-overflow-tooltip>
-            <template slot-scope="scope">
-              {{ scope.row.amount | numToFixed }}
-            </template>
-          </el-table-column>
-          <el-table-column align="right" label="可用信用额度" prop="freeCreditAmount" min-width="160" show-overflow-tooltip>
-            <template slot-scope="scope">
-              {{ scope.row.freeCreditAmount | numToFixed }}
-            </template>
-          </el-table-column>
-          <el-table-column align="right" label="已用信用额度" prop="usedCreditAmount" min-width="160" show-overflow-tooltip>
-            <template slot-scope="scope">
-              {{ scope.row.usedCreditAmount | numToFixed }}
-            </template>
-          </el-table-column>
+        <el-table v-loading="listLoading" @row-dblclick="fnJump($event,'COMMONLY')" :data="walletList" element-loading-text="Loading" border fit highlight-current-row stripe show-summary :summary-method="$getSummaries">
+          <template>
+            <el-table-column align="left" label="经销商名称" prop="customerName" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copy-text="scope.row.customerName" />
+                <span>{{ scope.row.customerName }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="钱包" prop="name" min-width="160" show-overflow-tooltip />
+            <el-table-column align="left" label="更新时间" prop="updateTime" min-width="160" show-overflow-tooltip />
+            <el-table-column align="right" label="余额" prop="amount" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.amount | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="right" label="可用信用额度" prop="freeCreditAmount" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.freeCreditAmount | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="right" label="已用信用额度" prop="usedCreditAmount" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.usedCreditAmount | numToFixed }}
+              </template>
+            </el-table-column>
+          </template>
 
         </el-table>
       </div>
     </div>
     <span>返利钱包</span>
-    <el-divider></el-divider>
+    <el-divider />
     <!-- 列表 -->
     <div class="mymain-container">
       <div class="table">
-        <el-table v-loading="listLoading" :data="rebateList" element-loading-text="Loading" border fit highlight-current-row stripe show-summary :summary-method="$getSummaries">
+        <el-table v-loading="listLoading" :data="rebateList" @row-dblclick="fnJump($event,'REBATE')"  element-loading-text="Loading" border fit highlight-current-row stripe show-summary :summary-method="$getSummaries">
           <el-table-column align="left" label="经销商名称" prop="customerName" min-width="160" show-overflow-tooltip>
             <template slot-scope="scope">
-              <CopyButton :copyText="scope.row.customerName" />
-              <span>{{scope.row.customerName}}</span>
+              <CopyButton :copy-text="scope.row.customerName" />
+              <span>{{ scope.row.customerName }}</span>
             </template>
           </el-table-column>
-          <el-table-column align="left" label="返利钱包" prop="name" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="left" label="更新时间" prop="updateTime" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="返利钱包" prop="name" min-width="160" show-overflow-tooltip />
+          <el-table-column align="left" label="更新时间" prop="updateTime" min-width="160" show-overflow-tooltip />
 
           <el-table-column align="right" label="钱包余额" prop="amount" min-width="160" show-overflow-tooltip>
             <template slot-scope="scope">
@@ -120,7 +121,7 @@
     <el-dialog title="配置返利比例" :visible.sync="dialogForm" width="30%" :show-close="false" :close-on-click-modal="false">
       <el-form ref="addForm" :rules="rules" :model="addForm" label-width="100px">
         <el-form-item label="返利比例" prop="rebateRate">
-          <el-input v-model.number="addForm.rebateRate" oninput="if(value>100)value=100;if(value<0)value=0"><i class="el-input__icon" slot="suffix">% </i></el-input>
+          <el-input v-model.number="addForm.rebateRate" oninput="if(value>100)value=100;if(value<0)value=0"><i slot="suffix" class="el-input__icon">% </i></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -133,9 +134,9 @@
       <el-form ref="exportForm" :rules="exportRules" :model="exportForm" label-width="120px">
         <el-form-item label="编码范围" prop="">
           <div class="fanwei">
-            <el-input v-model="exportForm.startCustomerId" type="number"></el-input>
+            <el-input v-model="exportForm.startCustomerId" type="number" />
             <span>——</span>
-            <el-input v-model="exportForm.endCustomerId" type="number"></el-input>
+            <el-input v-model="exportForm.endCustomerId" type="number" />
           </div>
         </el-form-item>
       </el-form>
@@ -148,56 +149,53 @@
 </template>
 
 <script>
-import { mapGetters } from "vuex";
-import {
-  getfinanceInit,
-  getWalletRebateRateUpdate,
-  getCustomerList,
-} from "@/api/finance/wallet";
-import { downloadFiles } from "@/utils/util";
-import { getWalletCustomerList } from "@/api/finance/change_apply";
+import { mapGetters } from 'vuex'
+import { getCustomerList, getWalletRebateRateUpdate } from '@/api/finance/wallet'
+import { downloadFiles } from '@/utils/util'
+import { getWalletCustomerList } from '@/api/finance/change_apply'
+
 export default {
   data() {
     return {
       dialogExportForm: false,
       exportRules: {},
       exportForm: {
-        endCustomerId: "",
-        startCustomerId: "",
+        endCustomerId: '',
+        startCustomerId: ''
       },
-      isShow: JSON.parse(localStorage.getItem("supply_user")).isCustomer,
+      isShow: JSON.parse(localStorage.getItem('supply_user')).isCustomer,
       show: false,
       show2: true,
       searchForm: {
-        customerId: null,
+        customerId: null
       },
       customerList: [],
       listLoading: false, // 列表加载loading
       walletList: [],
       rebateList: [],
       addForm: {
-        rebateRate: null,
+        rebateRate: null
       },
       dialogForm: false,
       rulesSearchForm: {
         customerId: [
           {
             required: true,
-            message: "请选择经销商",
-            trigger: "blur",
-          },
-        ],
+            message: '请选择经销商',
+            trigger: 'blur'
+          }
+        ]
       },
       rules: {
         rebateRate: [
           {
             required: true,
-            message: "请输入返利比例",
-            trigger: "blur",
-          },
-        ],
-      },
-    };
+            message: '请输入返利比例',
+            trigger: 'blur'
+          }
+        ]
+      }
+    }
   },
   beforeRouteEnter(to, from, next) {
     // console.log(11112222);
@@ -205,43 +203,43 @@ export default {
     next((vm) => {
       // 这个时候组件还没有创建,所以要通过vm来访问
       if (
-        from.path == "/finance/details/balance_sum" &&
-        to.path == "/finance/details/wallet" &&
+        from.path == '/finance/details/balance_sum' &&
+        to.path == '/finance/details/wallet' &&
         vm.$route.query.id
       ) {
-        //只有是从A进到B页面才执行
+        // 只有是从A进到B页面才执行
         // 将要执行的逻辑
-        vm.show = true;
-        vm.show2 = false;
+        vm.show = true
+        vm.show2 = false
         vm.getDataWallet({
           customerId: vm.$route.query.id,
-          type: "COMMONLY",
-        });
+          type: 'COMMONLY'
+        })
         vm.getDataRebate({
           customerId: vm.$route.query.id,
-          type: "REBATE",
-        });
+          type: 'REBATE'
+        })
       } else {
         if (vm.isShow) {
-          vm.show2 = false;
+          vm.show2 = false
           vm.getDataWallet({
             customerId: vm.customerId,
-            type: "COMMONLY",
-          });
+            type: 'COMMONLY'
+          })
           vm.getDataRebate({
             customerId: vm.customerId,
-            type: "REBATE",
-          });
+            type: 'REBATE'
+          })
         } else {
-          vm.show = false;
-          vm.show2 = true;
-          vm.walletList = [];
-          vm.rebateList = [];
-          vm.$message("请选择经销商");
-          vm.getCustomerDataList();
+          vm.show = false
+          vm.show2 = true
+          vm.walletList = []
+          vm.rebateList = []
+          vm.$message('请选择经销商')
+          vm.getCustomerDataList()
         }
       }
-    });
+    })
   },
 
   created() {
@@ -272,88 +270,91 @@ export default {
     // }
   },
   computed: {
-    ...mapGetters(["customerId"]),
+    ...mapGetters(['customerId'])
   },
   methods: {
+    fnJump({customerId},type){
+     this.$router.push(`/finance/details/standbook_list?status=${type}&customerId=${customerId}`)
+    },
     exportCancelFn() {
       this.exportForm = {
-        endCustomerId: "",
-        startCustomerId: "",
-      };
-      this.dialogExportForm = false;
+        endCustomerId: '',
+        startCustomerId: ''
+      }
+      this.dialogExportForm = false
     },
     exportOKFn() {
-      downloadFiles("/wallet/count/export", { ...this.exportForm });
+      downloadFiles('/wallet/count/export', { ...this.exportForm })
       this.exportForm = {
-        endCustomerId: "",
-        startCustomerId: "",
-      };
-      this.dialogExportForm = false;
+        endCustomerId: '',
+        startCustomerId: ''
+      }
+      this.dialogExportForm = false
     },
-    //导出
+    // 导出
     exportFn() {
-      this.dialogExportForm = true;
+      this.dialogExportForm = true
       // downloadFiles("/wallet/count/export");
     },
-    //清空
+    // 清空
     resetFn() {
-      this.$refs.searchForm.resetFields();
+      this.$refs.searchForm.resetFields()
     },
-    //搜索
+    // 搜索
     async searchFn() {
-      await this.$refs.searchForm.validate();
+      await this.$refs.searchForm.validate()
       this.getDataWallet({
         customerId: this.searchForm.customerId,
-        type: "COMMONLY",
-      });
+        type: 'COMMONLY'
+      })
       this.getDataRebate({
         customerId: this.searchForm.customerId,
-        type: "REBATE",
-      });
+        type: 'REBATE'
+      })
     },
-    //获取经销商列表
+    // 获取经销商列表
     async getCustomerDataList() {
-      let res = await getCustomerList({
+      const res = await getCustomerList({
         pageNum: 1,
-        pageSize: -1,
-      });
-      this.customerList = res.data.records;
+        pageSize: -1
+      })
+      this.customerList = res.data.records
     },
-    //返回
+    // 返回
     goBack() {
-      this.$router.go(-1);
-      this.$store.dispatch("tagsView/delView", this.$route);
+      this.$router.go(-1)
+      this.$store.dispatch('tagsView/delView', this.$route)
     },
-    //取消
+    // 取消
     async cancelFn() {
-      this.dialogForm = false;
-      await this.$refs.addForm.clearValidate();
+      this.dialogForm = false
+      await this.$refs.addForm.clearValidate()
     },
-    //确定
+    // 确定
     async determineFn() {
-      await this.$refs.addForm.validate();
-      const res = this.addForm.rebateRate / 100;
-      this.addForm.rebateRate = res;
-      await getWalletRebateRateUpdate({ ...this.addForm });
+      await this.$refs.addForm.validate()
+      const res = this.addForm.rebateRate / 100
+      this.addForm.rebateRate = res
+      await getWalletRebateRateUpdate({ ...this.addForm })
       if (this.$route.query.id) {
         this.getDataRebate({
           customerId: this.$route.query.id,
-          type: "REBATE",
-        });
+          type: 'REBATE'
+        })
       } else {
         this.getDataRebate({
           customerId: this.searchForm.customerId,
-          type: "REBATE",
-        });
+          type: 'REBATE'
+        })
       }
-      this.$message.success("修改成功");
-      this.dialogForm = false;
+      this.$message.success('修改成功')
+      this.dialogForm = false
     },
-    //修改
+    // 修改
     editFn(v) {
-      this.addForm.customerWalletId = v.customerWalletId;
-      this.addForm.rebateRate = v.rebateRate * 100;
-      this.dialogForm = true;
+      this.addForm.customerWalletId = v.customerWalletId
+      this.addForm.rebateRate = v.rebateRate * 100
+      this.dialogForm = true
     },
     // //一键生成
     // async generateFn() {
@@ -364,23 +365,23 @@ export default {
     // },
     //
     async getDataRebate(data) {
-      let res = await getWalletCustomerList(data);
+      const res = await getWalletCustomerList(data)
       res.data.forEach((item) => {
-        item.sums1 = [];
-        item.sums2 = ["amount"];
-      });
-      this.rebateList = res.data;
+        item.sums1 = []
+        item.sums2 = ['amount']
+      })
+      this.rebateList = res.data
     },
     async getDataWallet(data) {
-      let res = await getWalletCustomerList(data);
+      const res = await getWalletCustomerList(data)
       res.data.forEach((item) => {
-        item.sums1 = [];
-        item.sums2 = ["amount", "freeCreditAmount", "usedCreditAmount"];
-      });
-      this.walletList = res.data;
-    },
-  },
-};
+        item.sums1 = []
+        item.sums2 = ['amount', 'freeCreditAmount', 'usedCreditAmount']
+      })
+      this.walletList = res.data
+    }
+  }
+}
 </script>
 
 <style lang="scss" scoped>

+ 2 - 0
src/views/login/index.vue

@@ -399,6 +399,7 @@ $back: #333;
 .login-container {
   background: url("~@/assets/login/background.png") center center;
   background-size: cover;
+  height: 100vh;
   .el-input {
     display: inline-block;
     height: 47px;
@@ -585,6 +586,7 @@ $light_gray: #eee;
 .login-container {
   min-height: 100%;
   width: 100%;
+  height: 100vh;
   background-color: $bg;
   overflow: hidden;
   .login-form {

+ 2 - 2
src/views/sales/price/commercial_list.vue

@@ -5,7 +5,7 @@
       <el-form ref="searchForm" :model="searchForm" label-width="70px" size="small" label-position="left">
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="产品类" prop="categoryId">
+            <el-form-item label="产品类" prop="categoryId">
               <el-input v-model="searchForm.categoryId" placeholder="请输入"></el-input>
             </el-form-item>
           </el-col>
@@ -198,4 +198,4 @@ export default {
   display: inline-block;
   margin-left: 10px;
 }
-</style>
+</style>

+ 2 - 2
src/views/sales_policy/components/AddPolicy.vue

@@ -54,7 +54,7 @@
                 </el-form-item>
               </el-col>
               <!-- <el-col :xs="24" :ms="12" :lg="12">
-                <el-form-item label="产品类" prop="mainId">
+                <el-form-item label="产品类" prop="mainId">
                   <el-select
                     v-model="searchForm.mainId"
                     :disabled="dataList.length ? true : false"
@@ -766,7 +766,7 @@ export default {
       if (this.searchForm.mainId) {
         this.fang = true;
       } else {
-        this.$errorMsg("请选择产品类");
+        this.$errorMsg("请选择产品类");
       }
     },
     // 导入

+ 2 - 2
src/views/sales_policy/components/editPolicy.vue

@@ -54,7 +54,7 @@
                 </el-form-item>
               </el-col>
               <!-- <el-col :xs="24" :ms="12" :lg="12">
-                <el-form-item label="产品类" prop="mainId">
+                <el-form-item label="产品类" prop="mainId">
                   <el-select
                     v-model="searchForm.mainId"
                     :disabled="dataList.length ? true : false"
@@ -741,7 +741,7 @@ export default {
       if (this.searchForm.mainId) {
         this.fang = true
       } else {
-        this.$errorMsg('请选择产品类')
+        this.$errorMsg('请选择产品类')
       }
     },
     // 导入

+ 2 - 2
src/views/sales_policy/policy_list.vue

@@ -236,7 +236,7 @@
               >提审</el-button>
             </el-popconfirm>
             <el-popconfirm
-              v-if="scope.row.endTime || (scope.row.endTime && scope.row.startTime) && scope.row.examineStatus === 'OK' "
+              v-if=" scope.row.examineStatus === 'OK' && scope.row.status "
               style="margin-left: 10px"
               title="作废?"
               @onConfirm="handleNullify(scope.row)"
@@ -307,7 +307,7 @@
         />
         <!-- <el-table-column
           prop="mainName"
-          label="产品类"
+          label="产品类"
           align="left"
         ></el-table-column> -->
         <el-table-column

+ 2 - 2
src/views/stock/reserved_stock.vue

@@ -36,7 +36,7 @@
               <el-input v-model="screenForm.jxsName" placeholder="请输入经销商名称"></el-input>
             </el-form-item>
           </el-col>
-          
+
           <el-col :xs="24" :sm="24" :lg="12" class="tr">
             <el-form-item label="">
               <el-button @click="resetScreenForm">清空</el-button>
@@ -67,7 +67,7 @@
               <span>{{scope.row.customerName}}</span>
             </template>
           </el-table-column>
-          <el-table-column align="left" label="产品类" prop="categoryName" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="产品类" prop="categoryName" min-width="100" show-overflow-tooltip></el-table-column>
           <el-table-column align="left" label="物料编码" prop="materialNumber" min-width="120" show-overflow-tooltip>
             <template slot-scope="scope">
               <CopyButton :copyText="scope.row.materialNumber" />

+ 32 - 32
src/views/supply/apply/apply_list.vue

@@ -85,7 +85,7 @@
                 <el-input v-model="screenForm.mainOrderId" placeholder="请输入订单号"></el-input>
               </el-form-item>
             </el-col>
-            
+
             <el-col :xs="24" :sm="24" :lg="12" class="tr">
               <el-form-item label="">
                 <el-button @click="resetScreenForm">清空</el-button>
@@ -108,13 +108,13 @@
           </div>
         </div>
         <div class="table">
-          <el-table 
-            v-loading="listLoading" 
-            :data="dataList" 
-            element-loading-text="Loading" 
-            border 
-            fit 
-            highlight-current-row 
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
             stripe
             @selection-change="handleSelectionChange"
             show-summary
@@ -220,53 +220,53 @@
             <el-table-column align="center" label="操作" width="180" fixed="right">
               <template slot-scope="scope">
                 <el-popconfirm
-                  style="margin-right: 10px;" 
-                  title="确定申请吗?" 
-                  @onConfirm="handleSubmit(scope.row.id, 'WAIT')" 
+                  style="margin-right: 10px;"
+                  title="确定申请吗?"
+                  @onConfirm="handleSubmit(scope.row.id, 'WAIT')"
                   v-if="$checkBtnRole('apply', $route.meta.roles) && scope.row.examineStatus === 'SAVE'" >
                   <el-button slot="reference" type="text">申请</el-button>
                 </el-popconfirm>
                 <el-popconfirm
-                  style="margin-right: 10px;" 
-                  title="确定撤回吗?" 
+                  style="margin-right: 10px;"
+                  title="确定撤回吗?"
                   @onConfirm="handleSubmit(scope.row.id, 'SAVE')"
                   v-if="$checkBtnRole('apply', $route.meta.roles) && scope.row.examineStatus === 'WAIT'" >
                   <el-button slot="reference" type="text">撤回</el-button>
                 </el-popconfirm>
-                <el-popconfirm 
-                  style="margin-right: 10px;" 
-                  title="确定弃审吗?" 
-                  @onConfirm="handleAbandon(scope.row.id)" 
+                <el-popconfirm
+                  style="margin-right: 10px;"
+                  title="确定弃审吗?"
+                  @onConfirm="handleAbandon(scope.row.id)"
                   v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'OK'" >
                   <el-button slot="reference" type="text">弃审</el-button>
                 </el-popconfirm>
-                <el-button 
-                  type="text" 
-                  @click="toForm(scope.row)" 
+                <el-button
+                  type="text"
+                  @click="toForm(scope.row)"
                   v-if="$checkBtnRole('edit', $route.meta.roles) && (scope.row.examineStatus === 'SAVE' || scope.row.examineStatus === 'FAIL') && scope.row.type === 1">
                   编辑
                 </el-button>
-                <el-button 
-                  type="text" 
-                  @click="toReturnForm(scope.row)" 
+                <el-button
+                  type="text"
+                  @click="toReturnForm(scope.row)"
                   v-if="$checkBtnRole('edit', $route.meta.roles) && (scope.row.examineStatus === 'SAVE' || scope.row.examineStatus === 'FAIL') && scope.row.type === 2">
                   编辑
                 </el-button>
-                <el-button 
-                  type="text" 
-                  @click="toExamine(scope.row)" 
+                <el-button
+                  type="text"
+                  @click="toExamine(scope.row)"
                   v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'WAIT'">
                   审单
                 </el-button>
-                <el-button 
-                  type="text" 
+                <el-button
+                  type="text"
                   @click="toDetail(scope.row)">
                   详情
                 </el-button>
                 <el-popconfirm
-                  style="margin-left: 10px;" 
-                  title="确定删除吗?" 
-                  @onConfirm="handleDelete(scope.row.id)"  
+                  style="margin-left: 10px;"
+                  title="确定删除吗?"
+                  @onConfirm="handleDelete(scope.row.id)"
                   v-if="$checkBtnRole('del', $route.meta.roles) && scope.row.examineStatus !== 'OK'">
                   <el-button slot="reference" type="text" style="color: #f56c6c;">删除</el-button>
                 </el-popconfirm>
@@ -291,7 +291,7 @@
     </div>
 
     <ExamineDialog :isShow.sync="isShowExamineDialog" :examineForm.sync="examineForm" />
-    
+
     <ApplyDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
     <ApplyExamine :listItem="queryItem" v-if="isShowExamine" @backListFormDetail="backList" />
     <ApplyForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />

+ 13 - 4
src/views/supply/apply/components/engin_form.vue

@@ -69,6 +69,11 @@
             <el-input v-model="mainForm.company" placeholder="请输入使用单位" disabled></el-input>
           </el-form-item>
         </el-col>
+           <el-col :xs="24" :sm="12" :lg="8">
+          <el-form-item label="文件编号" prop="fileNo">
+            <el-input v-model="mainForm.fileNo" placeholder="请输入文件编号" disabled></el-input>
+          </el-form-item>
+        </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :xs="24" :sm="12" :lg="8">
@@ -162,7 +167,7 @@
         </el-table-column>
       </el-table>
     </div>
-    
+
     <div class="page-footer">
       <div class="footer" :class="classObj">
         <!-- <el-button type="primary" @click="clickSubmitForm('SAVE')">保 存</el-button> -->
@@ -275,7 +280,7 @@
           </div>
         </div>
       </div>
-      
+
       <span slot="footer" class="dialog-footer">
         <el-button @click="closeDialog">取 消</el-button>
         <el-button type="primary" @click="submitAddGoods">确 定</el-button>
@@ -329,6 +334,7 @@ export default {
         loginType: '',
         factoryNum: '',
         company: '',
+        fileNo:'',
         contactMan: '',
         tel: '',
         phone: '',
@@ -360,7 +366,7 @@ export default {
       typeList: [],
       stockList: [],
       categoryList: [],
-      
+
       tableGoodsList: [],
       tableSelection: [],
     }
@@ -437,6 +443,7 @@ export default {
         this.mainForm.createDate = data.createTime;
         this.mainForm.remark = data.remark;
         this.mainForm.examineRemark = data.approvalRemark;
+        this.mainForm.fileNo = data.fileNo
         this.screenForm.warehouse = data.correspondId;
         this.fileList = data.fileUrl ? [{
           url: data.fileUrl,
@@ -638,6 +645,7 @@ export default {
         this.mainForm.phone = data.refPhone;
         this.mainForm.address = data.refInstallAddress;
         this.mainForm.remark = data.remark;
+        this.mainForm.fileNo = data.fileNo
       })
     },
 
@@ -681,6 +689,7 @@ export default {
             refPhone: this.mainForm.phone,
             refInstallAddress: this.mainForm.address,
             remark: this.mainForm.remark,
+            fileNo:this.mainForm.fileNo,
             fileUrl: this.fileList && this.fileList.length > 0 ? this.fileList[0].url : '',
             fileName: this.fileList && this.fileList.length > 0 ? this.fileList[0].name : '',
             correspondId: this.screenForm.warehouse,
@@ -728,4 +737,4 @@ export default {
       padding-left: 10px;
     }
   }
-</style>
+</style>

+ 9 - 0
src/views/supply/apply/components/engin_return_form.vue

@@ -69,6 +69,11 @@
             <el-input v-model="mainForm.company" placeholder="请输入使用单位" disabled></el-input>
           </el-form-item>
         </el-col>
+        <el-col :xs="24" :sm="12" :lg="8">
+          <el-form-item label="文件编号" prop="fileNo">
+            <el-input v-model="mainForm.fileNo" placeholder="请输入文件编号" disabled></el-input>
+          </el-form-item>
+        </el-col>
       </el-row>
       <el-row :gutter="20">
         <el-col :xs="24" :sm="12" :lg="8">
@@ -366,6 +371,7 @@ export default {
         createMan: '',
         createDate: '',
         warehouse: '',
+        fileNo:''
       },
       mainFormRules: {
         // orderDate: [{ required: true, message: '请选择单据日期', trigger: 'change' }],
@@ -490,6 +496,7 @@ export default {
         this.mainForm.createDate = data.createTime;
         this.mainForm.remark = data.remark;
         this.mainForm.warehouse = data.correspondId;
+        this.mainForm.fileNo = data.fileNo
         this.fileList = data.fileUrl ? [{
           url: data.fileUrl,
           name: data.fileName,
@@ -725,6 +732,7 @@ export default {
         this.mainForm.remark = data.remark;
         this.mainForm.jxsNum = data.customerNumber;
         this.mainForm.jxsName = data.customerName;
+        this.mainForm.fileNo = data.fileNo
       })
     },
 
@@ -783,6 +791,7 @@ export default {
             refPhone: this.mainForm.phone,
             refInstallAddress: this.mainForm.address,
             remark: this.mainForm.remark,
+            fileNo:this.mainForm.fileNo,
             fileUrl: this.fileList && this.fileList.length > 0 ? this.fileList[0].url : '',
             fileName: this.fileList && this.fileList.length > 0 ? this.fileList[0].name : '',
             correspondId: this.mainForm.warehouse,

+ 34 - 34
src/views/supply/apply/engin_list.vue

@@ -95,7 +95,7 @@
                 <el-input v-model="screenForm.refUseUnit" placeholder="请输入使用单位"></el-input>
               </el-form-item>
             </el-col>
-            
+
             <el-col :xs="24" :sm="24" :lg="24" class="tr">
               <el-form-item label="">
                 <el-button @click="resetScreenForm">清空</el-button>
@@ -118,13 +118,13 @@
           </div>
         </div>
         <div class="table">
-          <el-table 
-            v-loading="listLoading" 
-            :data="dataList" 
-            element-loading-text="Loading" 
-            border 
-            fit 
-            highlight-current-row 
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
             stripe
             @selection-change="handleSelectionChange"
             show-summary
@@ -159,7 +159,7 @@
                 <span>{{scope.row.refEnginRecordNo}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="项目类别" prop="refProjectName" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="项目名称" prop="refProjectName" min-width="120" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="使用单位" prop="refUseUnit" min-width="120" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
@@ -236,53 +236,53 @@
             <el-table-column align="center" label="操作" width="180" fixed="right">
               <template slot-scope="scope">
                 <el-popconfirm
-                  style="margin-right: 10px;" 
-                  title="确定申请吗?" 
-                  @onConfirm="handleSubmit(scope.row.id, 'WAIT')" 
+                  style="margin-right: 10px;"
+                  title="确定申请吗?"
+                  @onConfirm="handleSubmit(scope.row.id, 'WAIT')"
                   v-if="$checkBtnRole('apply', $route.meta.roles) && scope.row.examineStatus === 'SAVE'" >
                   <el-button slot="reference" type="text">申请</el-button>
                 </el-popconfirm>
                 <el-popconfirm
-                  style="margin-right: 10px;" 
-                  title="确定撤回吗?" 
-                  @onConfirm="handleSubmit(scope.row.id, 'SAVE')" 
+                  style="margin-right: 10px;"
+                  title="确定撤回吗?"
+                  @onConfirm="handleSubmit(scope.row.id, 'SAVE')"
                   v-if="$checkBtnRole('apply', $route.meta.roles) && scope.row.examineStatus === 'WAIT'" >
                   <el-button slot="reference" type="text">撤回</el-button>
                 </el-popconfirm>
-                <el-popconfirm 
-                  style="margin-right: 10px;" 
-                  title="确定弃审吗?" 
-                  @onConfirm="handleAbandon(scope.row.id)" 
+                <el-popconfirm
+                  style="margin-right: 10px;"
+                  title="确定弃审吗?"
+                  @onConfirm="handleAbandon(scope.row.id)"
                   v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'OK'" >
                   <el-button slot="reference" type="text">弃审</el-button>
                 </el-popconfirm>
-                <el-button 
-                  type="text" 
-                  @click="toForm(scope.row)" 
+                <el-button
+                  type="text"
+                  @click="toForm(scope.row)"
                   v-if="$checkBtnRole('edit', $route.meta.roles) && (scope.row.examineStatus === 'SAVE' || scope.row.examineStatus === 'FAIL') && scope.row.type === 1">
                   编辑
                 </el-button>
-                <el-button 
-                  type="text" 
-                  @click="toReturnForm(scope.row)" 
+                <el-button
+                  type="text"
+                  @click="toReturnForm(scope.row)"
                   v-if="$checkBtnRole('edit', $route.meta.roles) && (scope.row.examineStatus === 'SAVE' || scope.row.examineStatus === 'FAIL') && scope.row.type === 2">
                   编辑
                 </el-button>
-                <el-button 
-                  type="text" 
-                  @click="toExamine(scope.row)" 
+                <el-button
+                  type="text"
+                  @click="toExamine(scope.row)"
                   v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'WAIT'">
                   审单
                 </el-button>
-                <el-button 
-                  type="text" 
+                <el-button
+                  type="text"
                   @click="toDetail(scope.row)">
                   详情
                 </el-button>
                 <el-popconfirm
-                  style="margin-left: 10px;" 
-                  title="确定删除吗?" 
-                  @onConfirm="handleDelete(scope.row.id)" 
+                  style="margin-left: 10px;"
+                  title="确定删除吗?"
+                  @onConfirm="handleDelete(scope.row.id)"
                   v-if="$checkBtnRole('del', $route.meta.roles)">
                   <el-button slot="reference" type="text" style="color: #f56c6c;">删除</el-button>
                 </el-popconfirm>
@@ -307,7 +307,7 @@
     </div>
 
     <ExamineDialog :isShow.sync="isShowExamineDialog" :examineForm.sync="examineForm" />
-    
+
     <EnginDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
     <EnginExamine :listItem="queryItem" v-if="isShowExamine" @backListFormDetail="backList" />
     <EnginForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />

+ 63 - 25
src/views/supply/deliver/commerce_list.vue

@@ -85,7 +85,7 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            
+
             <el-col :xs="24" :sm="24" :lg="12" class="tr">
               <el-form-item label="">
                 <el-button @click="resetScreenForm">清空</el-button>
@@ -106,33 +106,47 @@
           </div>
         </div>
         <div class="table">
-          <el-table 
-            v-loading="listLoading" 
-            :data="dataList" 
-            element-loading-text="Loading" 
-            border 
-            fit 
-            highlight-current-row 
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
             stripe
             show-summary
             :summary-method="$getSummaries">
-            <el-table-column align="left" label="发货单号" prop="id" min-width="140" show-overflow-tooltip>
+          <el-table-column align="left" label="订单类型" prop="type" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.type | orderTypeFilter}}
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="发货申请单" prop="id" min-width="130" show-overflow-tooltip>
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.id" />
                 <span>{{scope.row.id}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="发货日期" prop="orderTime" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="仓库" prop="correspondName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="发货申请日期" prop="createTime" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="仓库" prop="correspondName" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.type === 3 ? scope.row.stockName : scope.row.correspondName}}
+              </template>
+            </el-table-column>
             <el-table-column align="left" label="订单号" prop="enginOrderNo" min-width="140" show-overflow-tooltip>
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.enginOrderNo" />
                 <span>{{scope.row.enginOrderNo}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="工程登录编号" prop="refEnginRecordNo" min-width="200" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="项目类别" prop="refProjectName" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="使用单位" prop="refUseUnit" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="工程登录编号" prop="refEnginRecordNo" min-width="200" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.refEnginRecordNo" />
+                <span>{{scope.row.refEnginRecordNo}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="项目类别" prop="refProjectName" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="使用单位" prop="refUseUnit" min-width="120" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.customerNumber" />
@@ -145,7 +159,6 @@
                 <span>{{scope.row.customerName}}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="存货类别" prop="categoryName" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="物料编码" prop="materialCode" min-width="120" show-overflow-tooltip>
               <template slot-scope="scope">
                 <CopyButton :copyText="scope.row.materialCode" />
@@ -171,16 +184,41 @@
               </template>
             </el-table-column>
             <el-table-column align="left" label="单位" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="right" label="含税单价" prop="singlePayPrice" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.singlePayPrice | numToFixed}}
+              </template>
+            </el-table-column>
+            <el-table-column align="right" label="价税合计" prop="payAmount" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.payAmount | numToFixed}}
+              </template>
+            </el-table-column>
+            <el-table-column align="right" label="返利金额" prop="payRebateAmount" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.payRebateAmount | numToFixed}}
+              </template>
+            </el-table-column>
+            <el-table-column align="right" label="格力折扣" prop="totalDiscAmount" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.totalDiscAmount | numToFixed}}
+              </template>
+            </el-table-column>
             <el-table-column align="right" label="数量" prop="refundableQty" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="right" label="未出库数量" prop="notOutNumber" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="订单备注" prop="headerRemark" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="发货申请备注" prop="remark" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="表体备注" prop="invoiceRemark" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="业务员" prop="serviceName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="表头业务员" prop="k3ServiceName" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="制单人" prop="createBy" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="制单日期" prop="createTime" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="审单人" prop="approvalName" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="审单日期" prop="approvalTime" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="审核人" prop="approvalName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="审核日期" prop="approvalTime" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="审核状态" prop="examineStatus" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.examineStatus | statusFilter}}
+              </template>
+            </el-table-column>
             <el-table-column align="center" label="操作" width="200" fixed="right">
               <template slot-scope="scope">
                 <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
@@ -209,12 +247,12 @@
     <!-- 密码记录 -->
     <el-dialog title="密码记录" :visible.sync="isShowDialog" :show-close="false" width="50%" :close-on-click-modal="false">
       <div class="table" style="margin: 10px 0 20px;">
-        <el-table 
-          v-loading="dialogTable_listLoading" 
-          :data="dialogTable_dataList" 
-          element-loading-text="Loading" 
-          tooltip-effect="dark" 
-          style="width: 100%" 
+        <el-table
+          v-loading="dialogTable_listLoading"
+          :data="dialogTable_dataList"
+          element-loading-text="Loading"
+          tooltip-effect="dark"
+          style="width: 100%"
           max-height="270">
           <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
           <el-table-column align="center" prop="printPassword" label="密码"></el-table-column>
@@ -238,7 +276,7 @@
         <el-button @click="isShowDialog = false">关 闭</el-button>
       </div>
     </el-dialog>
-    
+
     <CommerceDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
 
   </div>

+ 5 - 3
src/views/supply/deliver/components/sum_print.vue

@@ -116,7 +116,7 @@ export default {
 </script>
 
 <style>
-  html,body{
+ body{
     height: auto !important;
   }
 </style>
@@ -125,9 +125,11 @@ export default {
 
   .detail-container {
     width: 100%;
+    height: auto !important;
     margin-bottom: 50px;
-    font-family: "Microsoft YaHei",system-ui ,"Avenir", Helvetica, Arial, sans-serif;
-    color: #000;
+    font-family:'STKaiti','KaiTi','Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif !important;
+    font-weight: bold !important;
+    color: #000 !important;
   }
   .top-container {
     margin-bottom: 20px;

+ 24 - 19
src/views/supply/deliver/home_list.vue

@@ -80,7 +80,7 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            
+
             <el-col :xs="24" :sm="24" :lg="12" class="tr">
               <el-form-item label="">
                 <el-button @click="resetScreenForm">清空</el-button>
@@ -101,13 +101,13 @@
           </div>
         </div>
         <div class="table">
-          <el-table 
-            v-loading="listLoading" 
-            :data="dataList" 
-            element-loading-text="Loading" 
-            border 
-            fit 
-            highlight-current-row 
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
             stripe
             show-summary
             :summary-method="$getSummaries">
@@ -163,19 +163,24 @@
               </template>
             </el-table-column>
             <el-table-column align="left" label="单位" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="right" label="含税单价" prop="singlePayPrice" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.singlePayPrice | numToFixed}}
+              </template>
+            </el-table-column>
             <el-table-column align="right" label="价税合计" prop="payAmount" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
                 {{scope.row.payAmount | numToFixed}}
               </template>
             </el-table-column>
-            <el-table-column align="right" label="无税金额" prop="noTotalAmount" min-width="100" show-overflow-tooltip>
+            <el-table-column align="right" label="返利金额" prop="payRebateAmount" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
-                {{scope.row.noTotalAmount | numToFixed}}
+                {{scope.row.payRebateAmount | numToFixed}}
               </template>
             </el-table-column>
-            <el-table-column align="right" label="无税单价" prop="afterTaxPrice" min-width="100" show-overflow-tooltip>
+            <el-table-column align="right" label="格力折扣" prop="totalDiscAmount" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
-                {{scope.row.afterTaxPrice | numToFixed}}
+                {{scope.row.totalDiscAmount | numToFixed}}
               </template>
             </el-table-column>
             <el-table-column align="right" label="数量" prop="refundableQty" min-width="100" show-overflow-tooltip></el-table-column>
@@ -212,12 +217,12 @@
     <!-- 密码记录 -->
     <el-dialog title="密码记录" :visible.sync="isShowDialog" :show-close="false" width="50%" :close-on-click-modal="false">
       <div class="table" style="margin: 10px 0 20px;">
-        <el-table 
-          v-loading="dialogTable_listLoading" 
-          :data="dialogTable_dataList" 
-          element-loading-text="Loading" 
-          tooltip-effect="dark" 
-          style="width: 100%" 
+        <el-table
+          v-loading="dialogTable_listLoading"
+          :data="dialogTable_dataList"
+          element-loading-text="Loading"
+          tooltip-effect="dark"
+          style="width: 100%"
           max-height="270">
           <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
           <el-table-column align="center" prop="printPassword" label="密码"></el-table-column>
@@ -241,7 +246,7 @@
         <el-button @click="isShowDialog = false">关 闭</el-button>
       </div>
     </el-dialog>
-    
+
     <HomeDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
 
   </div>

+ 4 - 2
src/views/supply/deliver/sum_list.vue

@@ -68,8 +68,8 @@
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="发货单号" prop="mainOrderId">
-                <el-input v-model="screenForm.mainOrderId" placeholder="请输入发货单号"></el-input>
+              <el-form-item label="订单" prop="mainOrderId">
+                <el-input v-model="screenForm.mainOrderId" placeholder="请输入订单"></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
@@ -171,6 +171,7 @@
                 <span>{{scope.row.specification}}</span>
               </template>
             </el-table-column>
+               <el-table-column align="left" label="仓库" prop="stockName" min-width="100" show-overflow-tooltip></el-table-column>
 
             <el-table-column align="right" label="发货金额" prop="payAmount" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
@@ -202,6 +203,7 @@
                 {{scope.row.payAmount | numToFixed}}
               </template>
             </el-table-column>
+
             <el-table-column align="right" label="发货数量" prop="refundableQty" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="业务员" prop="serviceName" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="政策单号" prop="policyCode" min-width="100" show-overflow-tooltip></el-table-column>

+ 4 - 0
src/views/supply/engin/components/commerce_detail.vue

@@ -44,6 +44,10 @@
               <div class="label">行业类别</div>
               <div class="value">{{detailData.refTradeCategory}}</div>
             </el-col>
+             <el-col :span="8" class="item">
+              <div class="label">工程编号</div>
+              <div class="value">{{detailData.enginNum}}</div>
+            </el-col>
             <el-col :span="8" class="item">
               <div class="label">跨区厂编号</div>
               <div class="value">{{detailData.refFactoryNo}}</div>

+ 7 - 2
src/views/supply/engin/components/engin_detail.vue

@@ -72,7 +72,10 @@
           <div class="label">安装地址</div>
           <div class="value">{{detailData.installAddress}}</div>
         </el-col>
-        <el-col v-if="!isDealer" :span="16" class="item">
+
+        <template v-if="!isCustomer">
+        <el-col :span="16" class="item">
+
           <div class="label">格力内部备注</div>
           <div class="value">{{detailData.geLiInerNote}}</div>
         </el-col>
@@ -80,6 +83,7 @@
           <div class="label">权限分类</div>
           <div class="value">{{detailData.powerCategory}}</div>
         </el-col>
+        </template>
         <el-col :span="24" class="item">
           <div class="label">格力回复</div>
           <div class="value">{{detailData.geLiNote}}</div>
@@ -177,7 +181,7 @@
 
 <script>
 import { getEnginDetail, overEngin } from "@/api/supply/engin";
-
+import { mapGetters } from "vuex";
 export default {
   name: 'EnginDetail',
   componentName: 'EnginDetail',
@@ -202,6 +206,7 @@ export default {
   },
 
   computed: {
+     ...mapGetters(['isCustomer']),
     isExamine() {
       return this.detailData.examineStatus === 'OK' || this.detailData.examineStatus === 'FAIL'
     },

+ 8 - 3
src/views/supply/engin/components/engin_examine.vue

@@ -118,7 +118,7 @@
             <el-input v-model="detailData.installAddress" placeholder="请输入安装地址"></el-input>
           </div>
         </el-col>
-        <el-col :span="24" class="item">
+        <el-col :span="24" class="item" v-if="!isCustomer">
           <div class="label">格力内部备注</div>
           <div class="value">
             <el-input v-model="detailData.geLiInerNote" placeholder="请输入格力内部备注"></el-input>
@@ -340,6 +340,7 @@
 <script>
 import { getEnginDetail, getRetailProductList, examineEngin } from "@/api/supply/engin";
 import { getTypeList, getSalesmanList, getDictList } from "@/api/common";
+import { mapGetters } from "vuex";
 
 export default {
   name: 'EnginExamine',
@@ -388,7 +389,7 @@ export default {
         {value: '医院医疗', label: '医院医疗'},
         {value: '其他', label: '其他'},
       ],
-      
+
       isShowGoodsDialog: false,
       goodsScreenForm: {
         proNum: '',
@@ -406,9 +407,13 @@ export default {
 
       leftSelection: [],
       rightSelection: [],
+
+      salesTypeList:[]
     }
   },
-
+  computed:{
+...mapGetters(['isCustomer']),
+  },
   created() {
     this.getDetail();
     this.getTypeList();

+ 4 - 0
src/views/supply/engin/components/engin_form.vue

@@ -305,6 +305,8 @@
             <el-table-column align="center" label="产品名称" prop="name" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="产品型号" prop="specification" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="产品价格" prop="batchPrice" min-width="80" show-overflow-tooltip></el-table-column>
+                                            <el-table-column align="center" prop="saleName" label="销售类型" show-overflow-tooltip></el-table-column>
+
           </el-table>
           <div class="pagination clearfix" style="margin-top: 10px">
             <div class="fr">
@@ -332,6 +334,8 @@
             <el-table-column align="center" label="产品名称" prop="name" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="产品型号" prop="specification" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="产品价格" prop="batchPrice" min-width="80" show-overflow-tooltip></el-table-column>
+                                <el-table-column align="center" prop="saleName" label="销售类型" show-overflow-tooltip></el-table-column>
+
           </el-table>
         </div>
       </div>

+ 3 - 2
src/views/supply/engin/components/home_form.vue

@@ -51,7 +51,7 @@
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="项目类别" prop="enginName">
+          <el-form-item label="项目类别"  prop="enginName">
             <el-input v-model="mainForm.enginName" placeholder="请输入项目类别" :disabled="isDealer"></el-input>
           </el-form-item>
         </el-col>
@@ -160,6 +160,7 @@
               v-model="mainForm.createDate"
               disabled
               type="date"
+                 :default-value="getDate()"
               value-format="yyyy-MM-dd"
               style="width: 100%;"
               placeholder="选择日期">
@@ -614,7 +615,7 @@ export default {
           if(this.isFirst) {
             this.isFirst = false;
           }else {
-            this.mainForm.salesMan = this.goodsList[0].serviceId;
+            // this.mainForm.salesMan = this.goodsList[0].serviceId;
           }
         }else {
           this.mainForm.salesMan = '';

+ 2 - 0
src/views/supply/engin/engin_list.vue

@@ -178,6 +178,8 @@
                 {{scope.row.totalAmount | numToFixed}}
               </template>
             </el-table-column>
+             <el-table-column align="left" label="业务员" prop="itemServiceName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="表头业务员" prop="serviceName" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="备注" prop="remark" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="制表人" prop="createBy" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="制表日期" prop="createTime" min-width="160" show-overflow-tooltip></el-table-column>

+ 4 - 3
src/views/supply/engin/home_list.vue

@@ -28,8 +28,8 @@
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="项目类别" prop="enginName">
-                <el-input v-model="screenForm.enginName" placeholder="请输入项目类别"></el-input>
+              <el-form-item label="项目名称" prop="enginName">
+                <el-input v-model="screenForm.enginName" placeholder="请输入项目名称"></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
@@ -164,7 +164,7 @@
               </template>
             </el-table-column>
             <el-table-column align="left" label="使用单位" prop="refUseUnit" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="项目类别" prop="refProjectName" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="项目名称" prop="refProjectName" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="销售类型" prop="saleTypeName" min-width="120" show-overflow-tooltip></el-table-column>
             <el-table-column align="left" label="物料编码" prop="materialNumber" min-width="120" show-overflow-tooltip>
               <template slot-scope="scope">
@@ -388,6 +388,7 @@ export default {
       dateForm: {
         date: '',
       },
+      salesTypeList:[]
     }
   },
 

+ 178 - 0
src/views/supply/implement/components/sales_detail.vue

@@ -0,0 +1,178 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" content="详情"></el-page-header>
+
+    <div id="printMe">
+      <div class="main-title">
+        <div class="title">出库单信息</div>
+      </div>
+      <div class="diy-table-1">
+        <el-row :gutter="0">
+          <el-col :span="8" class="item">
+            <div class="label">出库单号</div>
+            <div class="value">{{detailData.id}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">单据日期</div>
+            <div class="value">{{detailData.orderTime}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">单据状态</div>
+          <div class="value">{{detailData.examineStatus | statusFilter}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">发货单号</div>
+            <div class="value">{{detailData.orderNo}}</div>
+          </el-col>
+          <el-col :span="16" class="item">
+            <div class="label">经销商</div>
+            <div class="value">{{detailData.customerName}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">仓库</div>
+            <div class="value">{{detailData.correspondName}}</div>
+          </el-col>
+          <el-col :span="16" class="item">
+            <div class="label">备注</div>
+            <div class="value">{{detailData.remark}}</div>
+          </el-col>
+        </el-row>
+      </div>
+
+      <div class="main-title">
+        <div class="title">货品信息</div>
+      </div>
+      <div class="table">
+        <el-table
+          :data="detailData.saleOrderData"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+          max-height="400"
+          show-summary
+          :summary-method="$getSummaries">
+          <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
+          <el-table-column align="center" label="销售订单号" prop="mainOrderId" min-width="180" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ (scope.row.orderType == 'TRADE' || scope.row.orderType == 'HOME') ? scope.row.enginOrderNo : scope.row.mainOrderId }}
+            </template>
+          </el-table-column>
+          <el-table-column align="center" label="物料编码" prop="materialCode" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="产品编码" prop="materialOldNumber" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="规格型号" prop="specification" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="单位" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="right" label="数量" prop="refundableQty" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="right" label="单价" prop="price" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ scope.row.price | numToFixed }}
+            </template>
+          </el-table-column>
+          <el-table-column align="right" label="订单金额" prop="payAmount" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ scope.row.payAmount | numToFixed }}
+            </template>
+          </el-table-column>
+          <el-table-column align="left" label="订单备注" prop="headerRemark" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="发货申请备注" prop="remark" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="表体备注" prop="invoiceRemark" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="业务员" prop="serviceName" min-width="100" show-overflow-tooltip></el-table-column>
+        </el-table>
+      </div>
+
+      <div class="main-title">
+        <div class="title">审批记录</div>
+      </div>
+      <div class="diy-table-1">
+        <el-row :gutter="0">
+          <el-col :xs="12" :sm="8" :lg="8" class="item">
+            <div class="label">审批人</div>
+            <div class="value">{{detailData.approvalName}}</div>
+          </el-col>
+          <el-col :xs="12" :sm="8" :lg="8" class="item">
+            <div class="label">审批结果</div>
+            <div class="value">{{detailData.examineStatus | statusFilter}}</div>
+          </el-col>
+          <el-col :xs="12" :sm="8" :lg="8" class="item">
+            <div class="label">审批时间</div>
+            <div class="value">{{detailData.approvalTime}}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24" class="item">
+            <div class="label">审批说明</div>
+            <div class="value">{{detailData.approvalRemark}}</div>
+          </el-col>
+        </el-row>
+      </div>
+    </div>
+    
+
+
+  </div>
+</template>
+
+<script>
+import print from 'vue-print-nb'
+import { getDetail } from "@/api/supply/sales";
+
+export default {
+  name: 'SalesDetail',
+  componentName: 'SalesDetail',
+  props: ['listItem'],
+  directives: {
+    print
+  },
+  filters: {
+    statusFilter(val) {
+      const statusList = [
+        { label: '已保存', value: 'SAVE' },
+        { label: '待审核', value: 'WAIT' },
+        { label: '审核通过', value: 'OK' },
+        { label: '审核驳回', value: 'FAIL' },
+      ];
+      let obj = statusList.find(o => o.value == val);
+      return obj ? obj.label : ''
+    }
+  },
+  data() {
+    return {
+      printObj: {
+        id: 'printMe'
+      },
+      detailData: {},
+    }
+  },
+
+  created() {
+    this.getDetail();
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
+    // 获取详情
+    getDetail() {
+      getDetail({id: this.listItem.id}).then(res => {
+        if(res.data.saleOrderData) {
+          res.data.saleOrderData.forEach(item => {
+            item.sums1 = ['refundableQty'];
+            item.sums2 = ['payAmount', 'price'];
+          })
+        }
+        this.detailData = res.data;
+      })
+    },
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+</style>

+ 224 - 0
src/views/supply/implement/components/sales_examine.vue

@@ -0,0 +1,224 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" content="审批"></el-page-header>
+
+    <div class="main-title">
+      <div class="title">出库单信息</div>
+    </div>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :span="8" class="item">
+          <div class="label">出库单号</div>
+          <div class="value">{{detailData.id}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">单据日期</div>
+          <div class="value">{{detailData.orderTime}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">单据状态</div>
+        <div class="value">{{detailData.examineStatus | statusFilter}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">发货单号</div>
+          <div class="value">{{detailData.orderNo}}</div>
+        </el-col>
+        <el-col :span="16" class="item">
+          <div class="label">经销商</div>
+          <div class="value">{{detailData.customerName}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">仓库</div>
+          <div class="value">{{detailData.correspondName}}</div>
+        </el-col>
+        <el-col :span="16" class="item">
+          <div class="label">备注</div>
+          <div class="value">{{detailData.remark}}</div>
+        </el-col>
+      </el-row>
+    </div>
+
+    <div class="main-title">
+      <div class="title">货品信息</div>
+    </div>
+    <div class="table">
+      <el-table
+        :data="detailData.saleOrderData"
+        element-loading-text="Loading"
+        border
+        fit
+        highlight-current-row
+        stripe
+        max-height="400"
+        show-summary
+        :summary-method="$getSummaries">
+        <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
+        <el-table-column align="center" label="物料编码" prop="materialCode" min-width="120" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="产品编码" prop="materialOldNumber" min-width="120" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="规格型号" prop="specification" min-width="160" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="单位" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
+        <el-table-column align="right" label="数量" prop="refundableQty" min-width="100" show-overflow-tooltip></el-table-column>
+        <el-table-column align="right" label="单价" prop="price" min-width="100" show-overflow-tooltip>
+          <template slot-scope="scope">
+            {{ scope.row.price | numToFixed }}
+          </template>
+        </el-table-column>
+        <el-table-column align="right" label="订单金额" prop="payAmount" min-width="100" show-overflow-tooltip>
+          <template slot-scope="scope">
+            {{ scope.row.payAmount | numToFixed }}
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+
+    <div class="main-title">
+      <div class="title">审批记录</div>
+    </div>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :span="12" class="item">
+          <div class="label">审批人</div>
+          <div class="value">{{userName}}</div>
+        </el-col>
+        <el-col :span="12" class="item">
+          <div class="label">审批日期</div>
+          <div class="value">{{getDate()}}</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">审批说明</div>
+          <div class="value">
+            <el-input v-model="examineForm.remark" placeholder="请输入内容"></el-input>
+          </div>
+        </el-col>
+      </el-row>
+    </div>
+    
+    <div class="page-footer">
+      <div class="footer">
+        <el-button type="primary" @click="clickSubmitForm('OK')">审批通过</el-button>
+        <el-button type="warning" @click="clickSubmitForm('FAIL')">审批驳回</el-button>
+        <el-popconfirm title="确定关闭吗?" @onConfirm="goBack" style="margin-left: 10px;">
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+  </div>
+</template>
+
+<script>
+import { getDetail, examineData } from "@/api/supply/sales";
+
+export default {
+  name: 'SalesDetail',
+  componentName: 'SalesDetail',
+  props: ['listItem'],
+  filters: {
+    statusFilter(val) {
+      const statusList = [
+        { label: '已保存', value: 'SAVE' },
+        { label: '待审核', value: 'WAIT' },
+        { label: '审核通过', value: 'OK' },
+        { label: '审核驳回', value: 'FAIL' },
+      ];
+      let obj = statusList.find(o => o.value == val);
+      return obj ? obj.label : ''
+    }
+  },
+  data() {
+    return {
+      userName: JSON.parse(localStorage.getItem("supply_user")).nickName,
+      detailData: {},
+      formLoading: false,
+      examineForm: {
+        remark: '',
+      }
+    }
+  },
+
+  created() {
+    this.getDetail();
+  },
+
+  methods: {
+    getDate() {
+      var date = new Date();
+      var seperator1 = "-";
+      var year = date.getFullYear();
+      var month = date.getMonth() + 1;
+      var strDate = date.getDate();
+      if (month >= 1 && month <= 9) {
+          month = "0" + month;
+      }
+      if (strDate >= 0 && strDate <= 9) {
+          strDate = "0" + strDate;
+      }
+      var currentdate = year + seperator1 + month + seperator1 + strDate;
+      return currentdate;
+    },
+
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormExamine');
+    },
+
+    // 获取详情
+    getDetail() {
+      getDetail({id: this.listItem.id}).then(res => {
+        if(res.data.saleOrderData) {
+          res.data.saleOrderData.forEach(item => {
+            item.sums1 = ['refundableQty'];
+            item.sums2 = ['payAmount', 'price'];
+          })
+        }
+        this.detailData = res.data;
+      })
+    },
+
+    // 提交审批
+    clickSubmitForm(val) {
+      this.$confirm('此操作将审批订单, 是否继续?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        let params = {
+          id: this.listItem.id,
+          approvalRemark: this.examineForm.remark,
+          examineStatus: val,
+        };
+        this.formLoading = true;
+        examineData(params).then(res => {
+          this.$successMsg();
+          this.goBack();
+          this.$parent.getList();
+        }).finally(res => {
+          this.formLoading = false;
+        })
+      }).catch(() => {});
+    },
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+  .main-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-top: 30px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
+    .title {
+      font-size: 16px;
+      font-weight: 600;
+      padding-left: 10px;
+    }
+  }
+</style>

+ 537 - 0
src/views/supply/implement/components/sales_return_form.vue

@@ -0,0 +1,537 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" :content="listItem ? '编辑-退货申请':'新增-退货申请'"></el-page-header>
+
+    <div class="main-title">
+      <div class="title">退货申请单信息</div>
+    </div>
+
+    <el-form ref="mainForm" :model="mainForm" :rules="mainFormRules" label-width="90px" size="small" label-position="right">
+      <el-row :gutter="20">
+        <el-col :xs="24" :sm="12" :lg="8">
+          <el-form-item label="订单号" prop="orderNum">
+            <el-input v-model="mainForm.orderNum" placeholder="系统自动生成" disabled></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="8" style="height: 51px;">
+          <el-form-item label="单据日期" prop="date">
+            <el-date-picker
+              v-model="mainForm.date"
+              disabled
+              type="date"
+              value-format="yyyy-MM-dd"
+              style="width: 100%;"
+              placeholder="系统自动生成">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="8">
+          <el-form-item label="制单人" prop="createMan">
+            <el-input v-model="mainForm.createMan" disabled></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="8">
+          <el-form-item label="经销商编号" prop="jxsNum">
+            <el-input v-model="mainForm.jxsNum" disabled></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="16">
+          <el-form-item label="经销商名称" prop="jxsName">
+            <el-input v-model="mainForm.jxsName" disabled></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="24">
+          <el-form-item label="备注" prop="remark">
+            <el-input v-model="mainForm.remark" placeholder="请输入备注"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="8" :lg="8">
+          <el-form-item label="附件" prop="fileUrl">
+            <fileUpload :fileList="fileList" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <div class="main-title">
+      <div class="title">货品信息</div>
+      <div>
+        <!-- <span style="font-size: 14px; margin-right: 10px">仓库</span>
+        <el-select v-model="screenForm.warehouse" placeholder="请选择发货仓库" size="small" filterable clearable :disabled="goodsList.length > 0">
+          <el-option :label="item.name" :value="item.id" v-for="(item, index) in warehouseList" :key="index"></el-option>
+        </el-select>
+        <el-divider direction="vertical"></el-divider> -->
+        <el-button type="primary" size="small" icon="el-icon-plus" @click="openDialog">添加引用</el-button>
+      </div>
+    </div>
+
+    <div class="table" style="margin-top: 20px">
+      <el-table :data="goodsList" element-loading-text="Loading" border fit highlight-current-row stripe max-height="400">
+        <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
+        <el-table-column align="left" label="销售出库单" prop="id" min-width="180" show-overflow-tooltip></el-table-column>
+        <el-table-column align="left" label="销售类型" prop="saleTypeName" min-width="100" show-overflow-tooltip></el-table-column>
+        <el-table-column align="left" label="物料编码" prop="materialCode" min-width="120" show-overflow-tooltip></el-table-column>
+        <el-table-column align="left" label="产品编码" prop="materialOldNumber" min-width="120" show-overflow-tooltip></el-table-column>
+        <el-table-column align="left" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip></el-table-column>
+        <el-table-column align="left" label="规格型号" prop="specification" min-width="350" show-overflow-tooltip></el-table-column>
+        <el-table-column align="left" label="单位" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
+        <el-table-column align="right" label="可退数量" prop="refundableQty" min-width="80" show-overflow-tooltip></el-table-column>
+        <el-table-column align="right" label="申请数量" prop="invoiceNum" min-width="110" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.invoiceNum" size="mini" type="number"></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column align="left" label="仓库" prop="correspondId" min-width="140" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <el-select v-model="scope.row.correspondId" placeholder="请选择仓库" size="mini" filterable clearable style="width: 100%">
+              <el-option :label="item.name" :value="item.id" v-for="(item, index) in warehouseList" :key="index"></el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column align="left" label="备注" prop="remark" min-width="160" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.remark" size="small"></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" label="操作" width="100" fixed="right">
+          <template slot-scope="scope">
+            <el-button type="text" @click="deleteItem(scope.$index)">删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+
+    <div class="page-footer">
+      <div class="footer">
+        <el-button type="primary" @click="clickSubmitForm('SAVE')">保 存</el-button>
+        <el-button type="primary" @click="clickSubmitForm('WAIT')">提交审核</el-button>
+        <el-popconfirm title="确定关闭吗?" @onConfirm="goBack" style="margin-left: 10px;">
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+    <el-dialog title="添加产品" :visible.sync="isShowDialog" width="80%">
+      <el-form ref="screenForm" :model="screenForm" size="mini" label-position="left" label-width="100px">
+        <el-row :gutter="20">
+          <el-col :xs="12" :sm="6" :lg="6">
+            <el-form-item prop="warehouse" label="选择仓库">
+              <el-select v-model="screenForm.warehouse" placeholder="请选择仓库" filterable clearable style="width: 100%">
+                <el-option :label="item.name" :value="item.id" v-for="(item, index) in warehouseList" :key="index"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="12" :sm="6" :lg="6">
+            <el-form-item prop="type" label="存货类别">
+              <el-select v-model="screenForm.type" placeholder="选择存货类别" style="width: 100%" clearable>
+                <el-option v-for="item in categoryList" :key="item.name" :label="item.name" :value="item.name"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="12" :sm="6" :lg="6">
+            <el-form-item prop="orderNum" label="销售出库单号">
+              <el-input v-model="screenForm.orderNum" placeholder="请输入销售出库单号"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="12" :sm="6" :lg="6">
+            <el-form-item prop="orderNo" label="发货申请单号">
+              <el-input v-model="screenForm.orderNo" placeholder="请输入发货申请单号"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="12" :sm="6" :lg="6">
+            <el-form-item prop="mainOrderId" label="订单号">
+              <el-input v-model="screenForm.mainOrderId" placeholder="请输入订单号"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="12" :sm="6" :lg="6">
+            <el-form-item prop="dealer" label="经销商名称">
+              <el-input v-model="screenForm.dealer" placeholder="请输入经销商名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="12" :sm="6" :lg="6">
+            <el-form-item prop="goodsName" label="产品名称">
+              <el-input v-model="screenForm.goodsName" placeholder="请输入产品名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="12" :sm="6" :lg="6">
+            <el-form-item prop="model" label="规格型号">
+              <el-input v-model="screenForm.model" placeholder="请输入规格型号"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24" class="tr">
+            <el-form-item label="">
+              <el-button @click="resetScreenForm">清空</el-button>
+              <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+
+      <div class="table">
+        <el-table :data="tableGoodsList" element-loading-text="Loading" border fit highlight-current-row stripe height="400" @selection-change="tableSelectionChange">
+          <el-table-column align="center" type="selection" width="55" :selectable='checkboxSelect'></el-table-column>
+          <el-table-column align="left" label="销售出库单" prop="id" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="发货申请单号" prop="orderNo" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="订单号" prop="mainOrderId" min-width="120" show-overflow-tooltip>、
+            <template slot-scope="scope">
+              {{ (scope.row.orderType == 'TRADE' || scope.row.orderType == 'HOME') ? scope.row.enginOrderNo : scope.row.mainOrderId }}
+            </template>
+          </el-table-column>
+          <el-table-column align="left" label="经销商" prop="customerName" min-width="250" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="仓库" prop="correspondName" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="规格型号" prop="specification" min-width="350" show-overflow-tooltip></el-table-column>
+        </el-table>
+        <div class="pagination clearfix" style="margin-top: 10px">
+          <div class="fr">
+            <el-pagination
+              @current-change="handleTableCurrentChange"
+              :current-page="currentPage"
+              :page-size="10"
+              background
+              layout="prev, pager, next"
+              :total="listTotal">
+            </el-pagination>
+          </div>
+        </div>
+      </div>
+
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="closeDialog">取 消</el-button>
+        <el-button type="primary" @click="submitAddGoods">确 定</el-button>
+      </span>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import { addReturn, getDealerList, getSalesGoodsList, getWarehouseList } from '@/api/supply/sales'
+import { getCategoryList, getDictList } from '@/api/common'
+import fileUpload from '@/components/Common/file-upload.vue'
+
+export default {
+  components: {
+    fileUpload
+  },
+  name: 'SalesReturnForm',
+  componentName: 'SalesReturnForm',
+  props: ['listItem'],
+  data() {
+    return {
+      mainForm: {
+        orderNum: '',
+        date: '',
+        jxsNum: '',
+        jxsName: '',
+        remark: '',
+        createMan: '',
+      },
+      mainFormRules: {
+        // date: [{ required: true, message: '请选择单据日期', trigger: 'change' }],
+      },
+      dealerList: [],
+      fileList: [],
+      goodsList: [],
+
+      warehouseList: [],
+      isShowDialog: false,
+      screenForm: {
+        warehouse: '',
+        type: '',
+        orderNum: '',
+        orderNo: '',
+        mainOrderId: '',
+        dealer: '',
+        goodsName: '',
+        model: '',
+      },
+      currentPage: 1,
+      listTotal: 0,
+      // typeList: [],
+      stockList: [],
+      categoryList: [],
+
+      tableGoodsList: [],
+      tableSelection: [],
+    }
+  },
+
+  created() {
+    this.getDictList();
+    this.getWarehouseList();
+    this.getDealerList();
+    this.getCategoryList();
+    if(this.listItem) {
+      this.getDetail();
+    }else {
+      this.mainForm.jxsNum = JSON.parse(localStorage.getItem("supply_user")).customerNumber;
+      this.mainForm.jxsName = JSON.parse(localStorage.getItem("supply_user")).customerName;
+      this.mainForm.createMan = JSON.parse(localStorage.getItem("supply_user")).nickName;
+    }
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
+    // 获取详情
+    getDetail() {
+      getApplyDetail({id: this.listItem.id}).then(res => {
+        let data = res.data;
+        this.mainForm.orderNum = data.id;
+        this.mainForm.date = data.orderTime;
+        this.mainForm.jxsNum = data.customerNumber;
+        this.mainForm.jxsName = data.customerName;
+        this.mainForm.createMan = data.createBy;
+        this.mainForm.remark = data.remark;
+        this.screenForm.warehouse = data.correspondId;
+        this.fileList = data.fileUrl ? [{
+          url: data.fileUrl,
+          name: data.fileName
+        }] : [];
+        // data.orders.forEach(item => {
+        //   item.orderId = item.id;
+        // })
+        this.goodsList = data.orders;
+        // this.screenForm.type = data.mainId;
+      })
+    },
+
+    // 获取仓库列表
+    getWarehouseList() {
+      getWarehouseList({
+        pageNum: 1,
+        pageSize: -1
+      }).then((res) => {
+        this.warehouseList = res.data.records;
+      })
+    },
+
+    getDictList() {
+      // getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
+      //   this.typeList = res.data;
+      // })
+      getDictList({sysDictEnum: 'STOCK_ORDER'}).then(res => {
+        this.stockList = res.data;
+      })
+    },
+
+    // 获取经销商列表
+    getDealerList() {
+      getDealerList({
+        pageNum: 1,
+        pageSize: -1,
+        bindUser: false
+      }).then(res => {
+        this.dealerList = res.data.records;
+      })
+    },
+
+    // 获取存货类别列表
+    getCategoryList() {
+      getCategoryList({
+        pageNum: 1,
+        pageSize: -1,
+      }).then(res => {
+        this.categoryList = res.data.records;
+      })
+    },
+
+    // 库存字段
+    stockFilter(item, type) {
+      let STOCK_ORDER_INVOICE = this.stockList.find(o => o.dictCode == 'STOCK_ORDER_INVOICE').dictValue;
+      if(type === 1) {
+        return item.stockAdequate > STOCK_ORDER_INVOICE ? '充足' : item.stockAdequate;
+      }
+      if(type === 2) {
+        return item.stockCorrespond > STOCK_ORDER_INVOICE ? '充足' : item.stockCorrespond;
+      }
+    },
+
+    // 获取商品列表
+    getSalesGoodsList() {
+      getSalesGoodsList({
+        pageNum: this.currentPage,
+        pageSize: 10,
+        correspondId: this.screenForm.warehouse,
+        categoryName: this.screenForm.type,
+        id: this.screenForm.orderNum,
+        orderNo: this.screenForm.orderNo,
+        mainOrderId: this.screenForm.mainOrderId,
+        customerName: this.screenForm.dealer,
+        materialName: this.screenForm.goodsName,
+        specification: this.screenForm.model,
+      }).then(res => {
+        res.data.records.forEach(item => {
+          item.invoiceNum = '-' + item.invoiceNum;
+        })
+        let oldGoodsList = this.goodsList;
+        let newGoodsList = res.data.records;
+        for(let i = 0; i < oldGoodsList.length; i++) {
+          let oldItem = oldGoodsList[i]
+          for(let j = 0; j < newGoodsList.length; j++) {
+            let newItem = newGoodsList[j]
+            if(newItem.orderId === oldItem.orderId){
+              newGoodsList[j].selected = true;
+              newGoodsList[j].invoiceNum = oldGoodsList[i].invoiceNum;
+              break;
+            }
+          }
+        }
+        // newGoodsList.forEach(item => {
+        //   item.salesMainOrderId = item.id;
+        // })
+
+        this.tableGoodsList = newGoodsList;
+        this.listTotal = res.data.total;
+      })
+    },
+
+    // 查询重复值并禁选
+    checkboxSelect(row, rowIndex) {
+      if (row.selected) {
+        return false // 禁用
+      }else{
+        return true // 不禁用
+      }
+    },
+
+    // 点击 选择商品
+    openDialog() {
+      this.isShowDialog = true;
+      // if(this.screenForm.warehouse) {
+        this.getSalesGoodsList();
+      // }
+    },
+
+    // 列表选择
+    tableSelectionChange(val) {
+      this.tableSelection = val;
+    },
+
+    // 提交筛选表单
+    submitScreenForm() {
+      // if(!this.screenForm.warehouse) {
+      //   return this.$errorMsg('请选择仓库');
+      // }
+      this.currentPage = 1;
+      this.getSalesGoodsList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.tableGoodsList = [];
+      // this.getSalesGoodsList();
+    },
+
+    // 更改列表当前页
+    handleTableCurrentChange(val) {
+      this.currentPage = val;
+      this.getSalesGoodsList();
+    },
+
+    // 关闭 弹窗
+    closeDialog() {
+      this.isShowDialog = false;
+    },
+
+    // 检查是否一致
+    isAllEqual(array) {
+      if (array.length > 0) {
+        return !array.some(function(item, index) {
+          return item.id !== array[0].id;
+        });
+      } else {
+        return true;
+      }
+    },
+
+    // 确定 添加产品
+    submitAddGoods() {
+      let list = this.goodsList.concat(this.tableSelection);
+      if(!this.isAllEqual(list)) {
+        return this.$errorMsg('只能选择同一个销售出库单');
+      }
+
+      this.isShowDialog = false;
+      this.tableGoodsList = [];
+
+      this.goodsList = this.goodsList.concat(this.tableSelection);
+    },
+
+    // 删除产品
+    deleteItem(index) {
+      this.goodsList.splice(index, 1);
+    },
+
+    // 保存
+    clickSubmitForm(status) {
+      this.$refs.mainForm.validate((valid) => {
+        if (valid) {
+          if(this.goodsList.length < 1) {
+            return this.$errorMsg('请添加引用');
+          }
+          for(let i=0; i<this.goodsList.length; i++) {
+            if(!this.goodsList[i].invoiceNum) {
+              this.$errorMsg('请输入申请数量');
+              return;
+            }
+            if(Number(this.goodsList[i].invoiceNum) > 0) {
+              this.$errorMsg('申请数量需为负数');
+              return;
+            }
+            if(!this.goodsList[i].correspondId) {
+              this.$errorMsg('请选择仓库');
+              return;
+            }
+          }
+          // if(!this.screenForm.warehouse) {
+          //   return this.$errorMsg('请选择仓库');
+          // }
+          this.goodsList.forEach(item => {
+            item.correspondName = this.warehouseList.find(o => o.id === item.correspondId).name;
+          })
+
+          let params = {
+            // id: this.listItem ? this.listItem.id : '',
+            // orderTime: this.mainForm.date + ' 00:00:00',
+            remark: this.mainForm.remark,
+            fileUrl: this.fileList && this.fileList.length > 0 ? this.fileList[0].url : '',
+            fileName: this.fileList && this.fileList.length > 0 ? this.fileList[0].name : '',
+            correspondId: this.goodsList[0].correspondId,
+            correspondName: this.goodsList[0].correspondName,
+            id: this.goodsList[0].id,
+            saleOrderData: this.goodsList,
+            examineStatus: status,
+          }
+          if(this.listItem) {
+            editApply(params).then(res => {
+              this.$successMsg('编辑成功');
+              this.goBack();
+              this.$parent.getList();
+            })
+          }else {
+            addReturn(params).then(res => {
+              this.$successMsg('添加成功');
+              this.goBack();
+              this.$parent.getList();
+            })
+          }
+        }
+      })
+    },
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+</style>

+ 456 - 0
src/views/supply/implement/nsales_list.vue

@@ -0,0 +1,456 @@
+<template>
+  <div class="app-container">
+    <div v-show="!isShowDetail && !isShowExamine && !isShowReturnForm">
+      <!-- 筛选条件 -->
+      <div class="screen-container">
+        <el-form ref="screenForm" :model="screenForm" label-width="85px" size="mini" label-position="left">
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="24" :lg="24">
+              <el-form-item prop="orderNum" label-width="0">
+                <el-radio-group v-model="screenForm.status" @change="getList()">
+                  <el-radio-button label="">全部</el-radio-button>
+                  <el-radio-button v-for="(item, index) in statusList" :key="index" :label="item.value">{{item.label}}</el-radio-button>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="发货单号" prop="orderNum">
+                <el-input v-model="screenForm.orderNum" placeholder="请输入发货单号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="订单号" prop="mainOrderId">
+                <el-input v-model="screenForm.mainOrderId" placeholder="请输入订单号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商名称" prop="jxsName">
+                <el-input v-model="screenForm.jxsName" placeholder="请输入经销商名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商编号" prop="jxsNum">
+                <el-input v-model="screenForm.jxsNum" placeholder="请输入规格型号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="产品名称" prop="chName">
+                <el-input v-model="screenForm.chName" placeholder="请输入产品名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="产品编码" prop="chNum">
+                <el-input v-model="screenForm.chNum" placeholder="请输入产品编码"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="规格型号" prop="model">
+                <el-input v-model="screenForm.model" placeholder="请输入规格型号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="仓库名称" prop="warehouse">
+                <el-input v-model="screenForm.warehouse" placeholder="请输入仓库名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="发货日期" prop="date">
+                <el-date-picker
+                  v-model="screenForm.date"
+                  type="datetimerange"
+                  range-separator="至"
+                  style="width: 100%;"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+
+            <el-col :xs="24" :sm="12" :lg="18" class="tr">
+              <el-form-item label="">
+                <el-button @click="resetScreenForm">清空</el-button>
+                <el-button type="primary" @click="submitScreenForm">搜索</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+
+      <div class="mymain-container">
+        <div class="btn-group clearfix">
+          <div class="fl">
+<!--            <el-button size="mini" type="primary" icon="el-icon-plus" @click="toReturnForm()" v-if="$checkBtnRole('refund', $route.meta.roles)">退货申请</el-button>-->
+<!--            <el-button size="mini" type="warning" icon="el-icon-finished" @click="batchExamine" :disabled="multipleSelection.length < 1" v-if="$checkBtnRole('examine', $route.meta.roles)">批量审批</el-button>-->
+          </div>
+          <div class="fr">
+            <ExportButton :exUrl="'sale/order/export'" :exParams="exParams" />
+          </div>
+        </div>
+        <div class="table">
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+            @selection-change="handleSelectionChange"
+            show-summary
+            :summary-method="$getSummaries">
+<!--            <el-table-column align="center" type="selection" width="55"></el-table-column>-->
+            <el-table-column align="left" label="状态" prop="examineStatus" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.examineStatus | statusFilter}}
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="开票状态" prop="billStatus" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.billStatus | billStatusFilter}}
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="出库单号" prop="id" min-width="110" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.id" />
+                <span>{{scope.row.id}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="发货单号" prop="orderNo" min-width="130" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.orderNo" />
+                <span>{{scope.row.orderNo}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="订单号" prop="orderNo" min-width="140" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.orderType === 'TRADE' || scope.row.orderType === 'HMOE' ? scope.row.enginOrderNo : scope.row.mainOrderId" />
+                <span>{{scope.row.orderType === 'TRADE' || scope.row.orderType === 'HMOE' ? scope.row.enginOrderNo : scope.row.mainOrderId}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="仓库" prop="correspondName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.customerNumber" />
+                <span>{{scope.row.customerNumber}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="经销商名称" prop="customerName" min-width="250" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.customerName" />
+                <span>{{scope.row.customerName}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="物料编码" prop="materialCode" min-width="120" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.materialCode" />
+                <span>{{scope.row.materialCode}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="产品编码" prop="materialOldNumber" min-width="140" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.materialOldNumber" />
+                <span>{{scope.row.materialOldNumber}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.materialName" />
+                <span>{{scope.row.materialName}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="规格型号" prop="specification" min-width="350" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <CopyButton :copyText="scope.row.specification" />
+                <span>{{scope.row.specification}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="单位" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="right" label="数量" prop="refundableQty" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="right" label="单价" prop="price" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.price | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="right" label="订单金额" prop="payAmount" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.payAmount | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="订单备注" prop="headerRemark" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="发货申请备注" prop="remark" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="表体备注" prop="invoiceRemark" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="业务员" prop="serviceName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="表头业务员" prop="k3ServiceName" min-width="100" show-overflow-tooltip></el-table-column>
+<!--            <el-table-column align="center" label="操作" width="120" fixed="right">-->
+<!--              <template slot-scope="scope">-->
+<!--                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>-->
+<!--&lt;!&ndash;                <el-button type="text" @click="toExamine(scope.row)" v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'WAIT'">审批</el-button>&ndash;&gt;-->
+<!--&lt;!&ndash;                <el-popconfirm&ndash;&gt;-->
+<!--&lt;!&ndash;                   style="margin-left: 10px;"&ndash;&gt;-->
+<!--&lt;!&ndash;                  title="确定弃审吗?"&ndash;&gt;-->
+<!--&lt;!&ndash;                  @onConfirm="handleAbandon(scope.row.id)"&ndash;&gt;-->
+<!--&lt;!&ndash;                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'OK'" >&ndash;&gt;-->
+<!--&lt;!&ndash;                  <el-button slot="reference" type="text">弃审</el-button>&ndash;&gt;-->
+<!--&lt;!&ndash;                </el-popconfirm>&ndash;&gt;-->
+<!--              </template>-->
+<!--            </el-table-column>-->
+          </el-table>
+        </div>
+      </div>
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            :page-sizes="[10, 20, 30, 50]"
+            :page-size="10"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="listTotal">
+          </el-pagination>
+        </div>
+      </div>
+    </div>
+
+    <ExamineDialog :isShow.sync="isShowExamineDialog" :examineForm.sync="examineForm" />
+
+    <SalesDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
+    <SalesExamine :listItem="queryItem" v-if="isShowExamine" @backListFormExamine="backList" />
+    <SalesReturnForm :listItem="queryItem" v-if="isShowReturnForm" @backListFormDetail="backList" />
+
+  </div>
+</template>
+
+<script>
+import { abandonData, examineBatch, examineJudge, getList } from '@/api/supply/sales'
+import SalesDetail from '@/views/supply/sales/components/sales_detail'
+import SalesExamine from '@/views/supply/sales/components/sales_examine'
+import SalesReturnForm from '@/views/supply/sales/components/sales_return_form'
+import ExamineDialog from '@/components/Common/examine-dialog'
+
+let that
+export default {
+  components: {
+    SalesDetail,
+    SalesExamine,
+    SalesReturnForm,
+    ExamineDialog,
+  },
+  filters: {
+    statusFilter(val) {
+      let obj = that.statusList.find(o => o.value == val);
+      return obj ? obj.label : ''
+    },
+    billStatusFilter(val) {
+      const MAP = {
+        1: '已开票',
+        0: '未开票',
+      }
+      return MAP[val];
+    }
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: { // 筛选表单数据
+        orderNum: '',
+        jxsName: '',
+        jxsNum: '',
+        chName: '',
+        chNum: '',
+        model: '',
+        warehouse: '',
+        date: '',
+        status: '',
+        mainOrderId: '',
+      },
+      statusList: [
+        { label: '已保存', value: 'SAVE' },
+        { label: '待审核', value: 'WAIT' },
+        { label: '审核通过', value: 'OK' },
+        { label: '审核驳回', value: 'FAIL' },
+      ],
+
+      queryItem: {},
+      isShowDetail: false,
+      isShowExamine: false,
+      isShowReturnForm: false,
+
+      multipleSelection: [],
+      isShowExamineDialog: false,
+      examineForm: {
+        status: '',
+        remark: '',
+      },
+    }
+  },
+
+  computed: {
+    exParams() {
+      return {
+        examineStatus: this.screenForm.status,
+        orderNo: this.screenForm.orderNum,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
+        materialName: this.screenForm.chName,
+        materialNumber: this.screenForm.chNum,
+        specification: this.screenForm.model,
+        correspondName: this.screenForm.warehouse,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+        mainOrderId: this.screenForm.mainOrderId,
+      }
+    },
+  },
+
+  beforeCreate() {
+    that = this;
+  },
+
+  created() {
+    this.getList();
+  },
+
+  methods: {
+    // 查询列表
+    getList() {
+      this.listLoading = true;
+
+      let params = {
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+        examineStatus: this.screenForm.status,
+        orderNo: this.screenForm.orderNum,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
+        materialName: this.screenForm.chName,
+        materialNumber: this.screenForm.chNum,
+        specification: this.screenForm.model,
+        correspondName: this.screenForm.warehouse,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+        mainOrderId: this.screenForm.mainOrderId,
+      };
+      getList(params).then((res) => {
+        res.data.records.forEach(item => {
+          item.sums1 = ['refundableQty'];
+          item.sums2 = ['price', 'payAmount'];
+        })
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+      })
+    },
+
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+
+    // 判断是否可以审批
+    async examineJudge(item) {
+      // 获取页面模版
+      const result = await new Promise((resolve, reject)=>{
+        examineJudge({id: item.id}).then(res => {
+          resolve(res.code == 200);
+        }).catch(res => {
+          resolve(0);
+        })
+      })
+      return result;
+    },
+
+    // 进入表单
+    toReturnForm(item) {
+      this.queryItem = item;
+      this.isShowReturnForm = true;
+    },
+
+    // 进入详情
+    toDetail(item) {
+      this.queryItem = item;
+      this.isShowDetail = true;
+    },
+
+    // 进入审批
+    async toExamine(item) {
+      const canExamine = await this.examineJudge(item);
+      if(!canExamine) {
+        return false;
+      }
+      this.queryItem = item;
+      this.isShowExamine = true;
+    },
+
+    backList() {
+      this.queryItem = {};
+      this.isShowDetail = false;
+      this.isShowExamine = false;
+      this.isShowReturnForm = false;
+    },
+
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
+    },
+
+    // 打开 批量审批
+    batchExamine() {
+      this.isShowExamineDialog = true;
+    },
+
+    // 提交 批量审批
+    submitExamineForm() {
+      let ids = this.multipleSelection.map(item => {
+        return item.id;
+      });
+      examineBatch({
+        ids: ids.join(','),
+        examineStatus: this.examineForm.status,
+        approvalRemark: this.examineForm.remark,
+      }).then(res => {
+        this.isShowExamineDialog = false;
+        this.getList();
+        this.$successMsg('修改成功');
+      })
+    },
+
+    // 弃审
+    handleAbandon(id) {
+      abandonData({id}).then(res => {
+        this.$successMsg();
+        this.getList();
+      })
+    },
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 18 - 0
src/views/supply/policy/components/retail_detail.vue

@@ -434,6 +434,7 @@
               <el-date-picker
                 v-model="deliverForm.date"
                 type="date"
+                disabled
                 value-format="yyyy-MM-dd"
                 style="width: 100%"
                 placeholder="选择日期"
@@ -740,9 +741,26 @@ export default {
 
   created() {
     this.getDetail()
+     this.deliverForm.date = this.getDate()
   },
 
   methods: {
+
+      getDate() {
+      var date = new Date();
+      var seperator1 = "-";
+      var year = date.getFullYear();
+      var month = date.getMonth() + 1;
+      var strDate = date.getDate();
+      if (month >= 1 && month <= 9) {
+          month = "0" + month;
+      }
+      if (strDate >= 0 && strDate <= 9) {
+          strDate = "0" + strDate;
+      }
+      var currentdate = year + seperator1 + month + seperator1 + strDate;
+      return currentdate;
+    },
     // 返回列表
     goBack() {
       this.$emit('backListFormDetail')

+ 18 - 0
src/views/supply/retail/components/retail_detail.vue

@@ -171,6 +171,7 @@
               <el-date-picker
                 v-model="deliverForm.date"
                 type="date"
+                disabled
                 value-format="yyyy-MM-dd"
                 style="width: 100%;"
                 placeholder="选择日期">
@@ -389,9 +390,26 @@ export default {
 
   created() {
     this.getDetail();
+      this.deliverForm.date = this.getDate()
   },
 
   methods: {
+      getDate() {
+      var date = new Date();
+      var seperator1 = "-";
+      var year = date.getFullYear();
+      var month = date.getMonth() + 1;
+      var strDate = date.getDate();
+      if (month >= 1 && month <= 9) {
+          month = "0" + month;
+      }
+      if (strDate >= 0 && strDate <= 9) {
+          strDate = "0" + strDate;
+      }
+      var currentdate = year + seperator1 + month + seperator1 + strDate;
+      return currentdate;
+    },
+
     // 返回列表
     goBack() {
       this.$emit('backListFormDetail');