ソースを参照

Merge branch 'feature/Feature-basic_data' of https://gogs.zfire.top/zfire-front/supply-front into feature/Feature-basic_data

chen 3 年 前
コミット
6ef012625a
34 ファイル変更2210 行追加1314 行削除
  1. 10 0
      src/api/basic_data/material.js
  2. 274 0
      src/api/policy_list.js
  3. 18 0
      src/api/supply/deliver.js
  4. 119 9
      src/api/supply/engin.js
  5. 1 1
      src/api/supply/pickup.js
  6. 0 254
      src/api/supply/sales.js
  7. 1 1
      src/styles/index.scss
  8. 436 325
      src/views/basic_data/material/components/material_list-detail.vue
  9. 203 162
      src/views/basic_data/material/components/modify_list-apply.vue
  10. 57 22
      src/views/basic_data/material/components/modify_list-approval.vue
  11. 50 40
      src/views/basic_data/material/components/modify_list-detail.vue
  12. 5 5
      src/views/basic_data/material/machine_list.vue
  13. 26 2
      src/views/basic_data/material/modify_list.vue
  14. 4 4
      src/views/basic_data/material/relation_list.vue
  15. 1 1
      src/views/sales_policy/codealer_list.vue
  16. 80 68
      src/views/sales_policy/components/AddCondition.vue
  17. 1 1
      src/views/sales_policy/components/AddPolicy.vue
  18. 1 1
      src/views/sales_policy/components/Distributor.vue
  19. 26 13
      src/views/sales_policy/components/Examine.vue
  20. 1 1
      src/views/sales_policy/components/TabelTransfer.vue
  21. 2 3
      src/views/sales_policy/components/Transfer.vue
  22. 17 3
      src/views/sales_policy/policy_list.vue
  23. 11 3
      src/views/sales_rebate/rebate_list.vue
  24. 51 28
      src/views/sales_rebate/salestype_list.vue
  25. 1 1
      src/views/supply/deliver/components/deliver_detail.vue
  26. 86 9
      src/views/supply/deliver/deliver_list.vue
  27. 368 47
      src/views/supply/engin/components/home_form.vue
  28. 105 71
      src/views/supply/engin/home_list.vue
  29. 43 57
      src/views/supply/pickup/components/pickup_form.vue
  30. 120 91
      src/views/supply/pickup/pickup_list.vue
  31. 18 15
      src/views/supply/pickup/sum_list.vue
  32. 55 54
      src/views/supply/policy/components/retail_form.vue
  33. 1 1
      src/views/supply/policy/policy_list.vue
  34. 18 21
      src/views/supply/retail/components/retail_form.vue

+ 10 - 0
src/api/basic_data/material.js

@@ -228,6 +228,16 @@ export function getRebate(params) {
   })
 }
 
+export function getWalletList(params) {
+  return request({
+    url:'/wallet/list',
+    method: 'get',
+    params
+  })
+}
+
+
+
 //产品品类
 
 //产品品类列表

+ 274 - 0
src/api/policy_list.js

@@ -0,0 +1,274 @@
+import request from '@/utils/request'
+
+
+// 销售政策
+export function getList(params) {
+  return request({
+    url: '/policy/list',
+    method: 'get',
+    params
+  })
+}
+//新增政策
+export function addPoliy(params) {
+  return request({
+    url: '/policy/add',
+    method: 'post',
+    data: params
+  })
+}
+//新增政策条件
+
+export function addPoliyCondition(params) {
+  return request({
+    url: '/policy/condition/add',
+    method: 'post',
+    data: params
+  })
+}
+//政策条件列表
+export function getConditionList(params) {
+  return request({
+    url: '/policy/condition/list',
+    method: 'get',
+    params
+  })
+}
+
+export function updatePolicy(params) {
+  return request({
+    url: '/policy/update',
+    method: 'post',
+    data: params
+  })
+}
+
+export function deletePolicy(params) {
+  return request({
+    url: '/policy/delete',
+    method: 'post',
+    params
+  })
+}
+
+export function getConditionMaterialDetail(params) {
+  return request({
+    url: '/policy/condition/detail',
+    method: 'get',
+    params
+  })
+}
+//政策条件的机型列表
+export function getConditionMaterialList(params) {
+  return request({
+    url: '/policy/condition/material/list',
+    method: 'get',
+    params
+  })
+}
+//经销商api
+
+export function getCrList(params) {
+  return request({
+    url: '/customer/list',
+    method: 'get',
+    params
+  })
+}
+
+//政策销售商列表
+export function getCustomerList(params) {
+  return request({
+    url: '/policy/customer/list',
+    method: 'get',
+    params
+  })
+}
+//获取销售政策编号
+export function getId(params) {
+  return request({
+    url: '/policy/id',
+    method: 'get',
+    params
+  })
+}
+
+
+
+export function deleteCondition(params) {
+  return request({
+    url: '/policy/condition/delete',
+    method: 'post',
+    params
+  })
+}
+export function toExamine(params) {
+  return request({
+    url: '/policy/examine',
+    method: 'post',
+    params
+  })
+}
+//导入政策货品
+// /policy/material/import
+
+//政策货品列表
+export function getMaterialList(params) {
+  return request({
+    url: '/policy/material/list',
+    method: 'get',
+    params
+  })
+}
+//提审政策
+export function getpolicySubmit(params) {
+  return request({
+    url: '/policy/policy/submit',
+    method: 'post',
+    params
+  })
+}
+
+//删除政策货品
+
+export function deleteMaterialPolicy(params) {
+  return request({
+    url: '/policy/material/delete',
+    method: 'post',
+    params
+  })
+}
+
+//获取经销商详情
+export function getPolicyDetail(params) {
+  return request({
+    url: '/policy/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 对应经销商
+
+export function getCustomerlist(params) {
+  return request({
+    url: '/policy/customer_count/list',
+    method: 'get',
+    params
+  })
+}
+
+export function eidtBatch(params) {
+  return request({
+    url: '/policy/customer_count/batch',
+    method: 'post',
+    params
+  })
+}
+
+
+
+//销售类型
+
+export function getTypeList(params) {
+  return request({
+    url: '/sale/type/list',
+    method: 'get',
+    params
+  })
+}
+
+export function DeleteData(params) {
+  return request({
+    url: '/policy/material/delete',
+    method: 'psot',
+    params
+  })
+}
+
+export function addData(params) {
+  return request({
+    url: '/sale/type/add',
+    method: 'post',
+    data: params
+  })
+}
+
+export function delTypeData(params) {
+  return request({
+    url: '/sale/type/delete',
+    method: 'post',
+    params
+  })
+}
+
+export function getDetail(params) {
+  return request({
+    url: '/sale/type/detail',
+    method: 'post',
+    data: params
+  })
+}
+
+export function updateType(params) {
+  return request({
+    url: '/sale/type/update',
+    method: 'post',
+    data: params
+  })
+}
+
+// 返利钱包列表
+
+export function getWalletList(params) {
+  return request({
+    url: '/wallet/rebate/list',
+    method: 'get',
+    params
+  })
+}
+
+
+export function addWallet(params) {
+  return request({
+    url: '/wallet/add',
+    method: 'post',
+    data: params
+  })
+}
+
+
+export function getWalletDetail(params) {
+  return request({
+    url: '/wallet/rebate/detail',
+    method: 'get',
+    params
+  })
+}
+
+export function updateWallet(params) {
+  return request({
+    url: '/wallet/update',
+    method: 'post',
+    data: params
+  })
+}
+
+
+// 销售品类
+export function getDictList(params) {
+  return request({
+    url: '/common/dict/list',
+    method: 'get',
+    params
+  })
+}
+
+// 产品品类
+export function getProductList(params) {
+  return request({
+    url: '/product-category/list',
+    method: 'get',
+    params
+  })
+}

+ 18 - 0
src/api/supply/deliver.js

@@ -18,6 +18,24 @@ export function getDeliverDetail(params) {
   })
 }
 
+// 获取密码
+export function getPassword(params) {
+  return request({
+    url: '/ship/shipPassword',
+    method: 'post',
+    params
+  })
+}
+
+// 获取密码记录
+export function getPasswordRecord(params) {
+  return request({
+    url: '/ship/listShipPassword',
+    method: 'get',
+    params
+  })
+}
+
 // 获取列表 - 工程发货单
 export function getEnginList(params) {
   return request({

+ 119 - 9
src/api/supply/engin.js

@@ -18,7 +18,7 @@ export function getDetail(params) {
   })
 }
 
-// 获取列表
+// 工程信息单 - 获取列表
 export function getEnginList(params) {
   return request({
     url: '/engin-info-order/list',
@@ -27,7 +27,7 @@ export function getEnginList(params) {
   })
 }
 
-// 获取详情
+// 工程信息单 - 获取详情
 export function getEnginDetail(params) {
   return request({
     url: '/engin-info-order/detail',
@@ -36,7 +36,7 @@ export function getEnginDetail(params) {
   })
 }
 
-// 审批
+// 工程信息单 - 审批
 export function examineEngin(params) {
   return request({
     url: '/engin-info-order/examine',
@@ -54,7 +54,7 @@ export function getRetailProductList(params) {
   })
 }
 
-// 新增
+// 工程信息单 - 新增
 export function addEngin(params) {
   return request({
     url: '/engin-info-order/add',
@@ -63,7 +63,7 @@ export function addEngin(params) {
   })
 }
 
-// 编辑
+// 工程信息单 - 编辑
 export function editEngin(params) {
   return request({
     url: '/engin-info-order/edit',
@@ -72,7 +72,7 @@ export function editEngin(params) {
   })
 }
 
-// 提交审核
+// 工程信息单 - 提交审核
 export function submitEngin(params) {
   return request({
     url: '/engin-info-order/submit',
@@ -81,7 +81,7 @@ export function submitEngin(params) {
   })
 }
 
-// 申请
+// 工程信息单 - 申请
 export function applyEngin(params) {
   return request({
     url: '/engin-info-order/submit-on-list',
@@ -90,7 +90,7 @@ export function applyEngin(params) {
   })
 }
 
-// 撤回
+// 工程信息单 - 撤回
 export function withdrawEngin(params) {
   return request({
     url: '/engin-info-order/revoke',
@@ -99,11 +99,121 @@ export function withdrawEngin(params) {
   })
 }
 
-// 删除
+// 工程信息单 - 删除
 export function deleteEngin(params) {
   return request({
     url: '/engin-info-order/del',
     method: 'post',
     params
   })
+}
+
+// 工程订单 - 获取列表
+export function getOrderList(params) {
+  return request({
+    url: '/engin-order/list',
+    method: 'get',
+    params
+  })
+}
+
+// 工程订单 - 获取详情
+export function getOrderDetail(params) {
+  return request({
+    url: '/engin-order/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 家用工程订单 - 获取工程登录列表
+export function getHomeLoginList(params) {
+  return request({
+    url: '/engin-sys/api/list',
+    method: 'get',
+    params
+  })
+}
+
+// 家用工程订单 - 获取工程登录详情
+export function getHomeLoginDetail(params) {
+  return request({
+    url: '/engin-sys/api/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 家用工程订单 - 新增
+export function addHome(params) {
+  return request({
+    url: '/engin-order/home-add',
+    method: 'post',
+    data: params
+  })
+}
+
+// 家用工程订单 - 编辑
+export function editHome(params) {
+  return request({
+    url: '/engin-order/home-edit',
+    method: 'post',
+    data: params
+  })
+}
+
+
+
+// 商用工程订单 - 获取工程登录列表
+export function getComLoginList(params) {
+  return request({
+    url: '/engin-info/list',
+    method: 'get',
+    params
+  })
+}
+
+// 商用工程订单 - 获取工程登录列表
+export function getComLoginDetail(params) {
+  return request({
+    url: '/engin-info/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 商用工程订单 - 新增
+export function addCom(params) {
+  return request({
+    url: '/engin-order/home-add',
+    method: 'post',
+    data: params
+  })
+}
+
+// 商用工程订单 - 编辑
+export function editCom(params) {
+  return request({
+    url: '/engin-order/home-edit',
+    method: 'post',
+    data: params
+  })
+}
+
+// 获取仓库列表
+export function getWarehouseList(params) {
+  return request({
+    url: '/stock/listStock',
+    method: 'get',
+    params
+  })
+}
+
+// 检查库存
+export function checkStock(params) {
+  return request({
+    url: '/stock/manager/stockStatus',
+    method: 'get',
+    params
+  })
 }

+ 1 - 1
src/api/supply/pickup.js

@@ -30,7 +30,7 @@ export function getWarehouseList(params) {
 // 获取发货单列表
 export function getDeliverList(params) {
   return request({
-    url: '/pick/listShip',
+    url: '/pick/listInvoice',
     method: 'get',
     params
   })

+ 0 - 254
src/api/supply/sales.js

@@ -9,257 +9,3 @@ export function getList(params) {
     params
   })
 }
-//新增政策
-export function addPoliy(params) {
-  return request({
-    url: '/policy/add',
-    method: 'post',
-    data: params
-  })
-}
-//新增政策条件
-
-export function addPoliyCondition(params) {
-  return request({
-    url: '/policy/condition/add',
-    method: 'post',
-    data: params
-  })
-}
-//政策条件列表
-export function getConditionList(params) {
-  return request({
-    url: '/policy/condition/list',
-    method: 'get',
-    params
-  })
-}
-
-export function updatePolicy(params) {
-  return request({
-    url: '/policy/update',
-    method: 'post',
-    data: params
-  })
-}
-
-export function deletePolicy(params) {
-  return request({
-    url: '/policy/delete',
-    method: 'post',
-    params
-  })
-}
-
-export function getConditionMaterialDetail(params) {
-  return request({
-    url: '/policy/condition/detail',
-    method: 'post',
-    params
-  })
-}
-//政策条件的机型列表
-export function getConditionMaterialList(params) {
-  return request({
-    url: '/policy/condition/material/list',
-    method: 'get',
-    params
-  })
-}
-//经销商api
-
-export function getCrList(params) {
-  return request({
-    url: '/customer/list',
-    method: 'get',
-    params
-  })
-}
-
-//政策销售商列表
-export function getCustomerList(params) {
-  return request({
-    url: '/policy/customer/list',
-    method: 'get',
-    params
-  })
-}
-//获取销售政策编号
-export function getId(params) {
-  return request({
-    url: '/policy/id',
-    method: 'get',
-    params
-  })
-}
-
-
-
-export function deleteCondition(params) {
-  return request({
-    url: '/policy/condition/delete',
-    method: 'post',
-    params
-  })
-}
-export function toExamine(params) {
-  return request({
-    url: '/policy/examine',
-    method: 'post',
-    params
-  })
-}
-//导入政策货品
-// /policy/material/import
-
-//政策货品列表
-export function getMaterialList(params) {
-  return request({
-    url: '/policy/material/list',
-    method: 'get',
-    params
-  })
-}
-//提审政策
-export function getpolicySubmit(params) {
-  return request({
-    url: '/policy/policy/submit',
-    method: 'post',
-    params
-  })
-}
-
-//删除政策货品
-
-export function deleteMaterialPolicy(params) {
-  return request({
-    url: '/policy/material/delete',
-    method: 'post',
-    params
-  })
-}
-
-//获取经销商详情
-export function getPolicyDetail(params) {
-  return request({
-    url: '/policy/detail',
-    method: 'get',
-    params
-  })
-}
-
-// 对应经销商
-
-export function getCustomerlist(params) {
-  return request({
-    url: '/policy/customer_count/list',
-    method: 'get',
-    params
-  })
-}
-
-export function eidtBatch(params) {
-  return request({
-    url: '/policy/customer_count/batch',
-    method: 'post',
-    params
-  })
-}
-
-
-
-//销售类型
-
-export function getTypeList(params) {
-  return request({
-    url: '/sale/type/list',
-    method: 'get',
-    params
-  })
-}
-
-export function DeleteData(params) {
-  return request({
-    url: '/policy/material/delete',
-    method: 'psot',
-    params
-  })
-}
-
-export function addData(params) {
-  return request({
-    url: '/sale/type/add',
-    method: 'post',
-    data: params
-  })
-}
-
-export function delTypeData(params) {
-  return request({
-    url: '/sale/type/delete',
-    method: 'post',
-    params
-  })
-}
-
-export function getDetail(params) {
-  return request({
-    url: '/sale/type/detail',
-    method: 'post',
-    data: params
-  })
-}
-
-export function updateType(params) {
-  return request({
-    url: '/sale/type/update',
-    method: 'post',
-    data: params
-  })
-}
-
-// 返利钱包列表
-
-export function getWalletList(params) {
-  return request({
-    url: '/wallet/rebate/list',
-    method: 'get',
-    params
-  })
-}
-
-
-export function addWallet(params) {
-  return request({
-    url: '/wallet/add',
-    method: 'post',
-    data: params
-  })
-}
-
-
-export function getWalletDetail(params) {
-  return request({
-    url: '/wallet/rebate/detail',
-    method: 'get',
-    params
-  })
-}
-
-export function updateWallet(params) {
-  return request({
-    url: '/wallet/update',
-    method: 'post',
-    data: params
-  })
-}
-
-
-// 销售品类
-export function getDictList(params) {
-  return request({
-    url: '/common/dict/list',
-    method: 'get',
-    params
-  })
-}

+ 1 - 1
src/styles/index.scss

@@ -243,7 +243,7 @@ div:focus {
     position: fixed;
     bottom: 0;
     left: 0;
-    z-index: 1;
+    z-index: 9;
     width: 100%;
     background: #fff;
     padding: 15px 40px;

+ 436 - 325
src/views/basic_data/material/components/material_list-detail.vue

@@ -9,31 +9,26 @@
           <span>信息</span>
         </div>
         <el-row>
-          <el-col :xs="24" :sm="12" :lg="6"
-            >
-              <el-form-item label="创建组织" size="small">
-                <el-input v-model="detail.updateBy"  size="small"></el-input>
-              </el-form-item>
-           </el-col>
-          <el-col :xs="24" :sm="12" :lg="6"
-            >
-             <el-form-item label="使用组织" size="small">
-                <el-input v-model="detail.useOrgId"  size="small"></el-input>
-              </el-form-item>
-
-           </el-col>
-          <el-col :xs="24" :sm="12" :lg="6"
-            >
-             <el-form-item label="编码" size="small">
-                <el-input v-model="detail.useOrgNumber"  size="small"></el-input>
-              </el-form-item>
-           </el-col>
-         <el-col :xs="24" :sm="12" :lg="6"
-            >
-             <el-form-item label="名称" size="small">
-                <el-input v-model="detail.name"  size="small"></el-input>
-              </el-form-item>
-           </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="创建组织" size="small">
+              <el-input v-model="detail.updateBy" size="small"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="使用组织" size="small">
+              <el-input v-model="detail.useOrgId" size="small"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="编码" size="small">
+              <el-input v-model="detail.useOrgNumber" size="small"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="名称" size="small">
+              <el-input v-model="detail.name" size="small"></el-input>
+            </el-form-item>
+          </el-col>
         </el-row>
       </el-card>
 
@@ -41,252 +36,267 @@
         <div slot="header" class="clearfix">
           <span>基本</span>
         </div>
-        <div class="baseInfo">
-          <div>
-            <div class="base-header">
-              <span>基本信息</span>
-            </div>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">规格型号</span>
-                <input type="text" v-model="detail.specification" />
-                <!-- <select name="" id="" class="selectStyle2">
-                <option value="">普通仓库</option>
-              </select> -->
+        <div>
+          <el-row :gutter="20" type="flex">
+            <el-col :span="24">
+              <div class="base-header">
+                <span>基本信息</span>
+              </div>
+              <el-col>
+                <el-form-item label="规格型号" size="small">
+                  <el-input v-model="detail.specification"></el-input>
+                </el-form-item>
               </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r color">助记码</span><input type="text"
-              /></el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r color">旧物料编码</span
-                ><input type="text" v-model="detail.number" />
+
+              <el-col>
+                <el-form-item label="助记码" size="small">
+                  <el-input v-model="detail.specification"></el-input>
+                </el-form-item>
               </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">条码</span><input type="text" />
+
+              <el-col>
+                <el-form-item label="旧物料编码" size="small">
+                  <el-input v-model="detail.number"></el-input>
+                </el-form-item>
               </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r color">描述</span
-                ><textarea
-                  class="textareaStyle"
-                  name=""
-                  id=""
-                  cols="30"
-                  rows="10"
-                ></textarea>
+
+              <el-col>
+                <el-form-item label="条码" size="small">
+                  <el-input v-model="detail.materialGroupNumber"></el-input>
+                </el-form-item>
               </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">物料分组</span
-                ><input type="text" v-model="detail.materialGroupNumber" />
+
+              <el-col>
+                <el-form-item label="描述" size="small">
+                  <el-input v-model="detail.materialGroupNumber"></el-input>
+                </el-form-item>
               </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">物料属性</span
-                ><select name="" id="" class="selectStyle2">
-                  <option value="">普通仓库</option>
-                </select>
+
+              <el-col>
+                <el-form-item label="物料分组" size="small">
+                  <el-input v-model="detail.materialGroupNumber"></el-input>
+                </el-form-item>
               </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">配置生产</span
-                ><select name="" id="" class="selectStyle2">
-                  <option value="">普通仓库</option>
-                </select></el-col
-              >
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">特征件子项</span
-                ><select name="" id="" class="selectStyle2">
-                  <option value="">普通仓库</option>
-                </select></el-col
-              >
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">套件</span
-                ><select name="" id="" class="selectStyle2">
-                  <option value="">普通仓库</option>
-                </select></el-col
-              >
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">基本单位</span
-                ><select name="" id="" class="selectStyle2">
-                  <option value="">正常</option>
-                </select></el-col
-              >
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">禁用原因</span><input type="text"
-              /></el-col>
-            </el-row>
-          </div>
-          <div>
-            <div class="base-header">
-              <span>控制</span>
-            </div>
-            <el-row>
-              <el-row></el-row>
-              <el-row>
-                <el-col :span="8"
-                  ><span class="marg-r">允许采购</span
-                  ><input type="checkbox" :checked="detail.isPurchase"
-                /></el-col>
-                <el-col :span="8"
-                  ><span class="marg-r">允许销售</span
-                  ><input type="checkbox" :checked="detail.isSale"
-                /></el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="8"
-                  ><span class="marg-r">允许库存</span
-                  ><input type="checkbox" :checked="detail.isInventory"
-                /></el-col>
-                <el-col :span="8"
-                  ><span class="marg-r">允许生产</span><input type="checkbox"
-                /></el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="8"
-                  ><span class="marg-r">允许委外</span><input type="checkbox"
-                /></el-col>
-                <el-col :span="8"
-                  ><span class="marg-r">允许资产</span><input type="checkbox"
-                /></el-col>
-              </el-row>
-            </el-row>
 
-            <div class="base-header">
-              <span>财务信息</span>
-            </div>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">默认税率</span><input type="text"
-              /></el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">存货类别</span
-                ><input type="text" v-model="detail.categoryId"
-              /></el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">税分类</span><input type="text"
-              /></el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">结算成本价加减价比例(%)</span
-                ><input type="text"
-              /></el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">商城公开价</span><input type="text"
-              /></el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">套机码</span><input type="text"
-              /></el-col>
-            </el-row>
-          </div>
-          <div>
-            <div class="base-header">
-              <span>重量信息</span>
-            </div>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">毛重</span><input type="text"
-              /></el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">净重</span><input type="text"
-              /></el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">重量单位</span><input type="text"
-              /></el-col>
-            </el-row>
+              <el-col>
+                <el-form-item label="物料属性" size="small">
+                  <el-select v-model="value">
+                    <el-option label="普通仓库"> </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
 
-            <div class="base-header">
-              <span>尺寸信息</span>
-            </div>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">长</span
-                ><input type="text" v-model="detail.length"
-              /></el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">宽</span
-                ><input type="text" v-model="detail.width"
-              /></el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">高</span
-                ><input type="text" v-model="detail.height"
-              /></el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">体积</span
-                ><input type="text" v-dmole="detail.volume"
-              /></el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">尺寸单位</span><input type="text"
-              /></el-col>
-            </el-row>
+              <el-col>
+                <el-form-item label="普通仓库" size="small">
+                  <el-select v-model="value">
+                    <el-option label="普通仓库"> </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
 
-            <div class="base-header">
-              <span>状态</span>
-            </div>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">数据状态</span
-                ><select name="" id="" class="selectStyle2">
-                  <option value="">普通仓库</option>
-                </select></el-col
-              >
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">禁用状态</span
-                ><select name="" id="" class="selectStyle2">
-                  <option value="">普通仓库</option>
-                </select></el-col
-              >
-            </el-row>
-            <el-row>
-              <el-col :span="24"
-                ><span class="marg-r">已使用</span
-                ><select name="" id="" class="selectStyle2">
-                  <option value="">普通仓库</option>
-                </select></el-col
-              >
-            </el-row>
-          </div>
+              <el-col>
+                <el-form-item label="特征件子项" size="small">
+                  <el-select v-model="value">
+                    <el-option label="普通仓库"> </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+
+              <el-col>
+                <el-form-item label="套件" size="small">
+                  <el-select v-model="value">
+                    <el-option label="普通仓库"> </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+
+              <el-col>
+                <el-form-item label="基本单位" size="small">
+                  <el-select v-model="value">
+                    <el-option label="正常"> </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+
+              <el-col>
+                <el-form-item label="禁用原因" size="small">
+                  <el-input v-model="detail.specification"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-col>
+            <el-col :span="24">
+              <div class="clearfix">
+                <div class="base-header">
+                  <span>控制</span>
+                </div>
+
+                <el-col :span="12">
+                  <el-form-item label="允许采购" size="small">
+                    <el-checkbox v-model="detail.isPurchase"></el-checkbox>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                  <el-form-item label="允许销售" size="small">
+                    <el-checkbox v-model="detail.isSale"></el-checkbox>
+                  </el-form-item>
+                </el-col>
+
+                <el-col :span="12">
+                  <el-form-item label="允许库存" size="small">
+                    <el-checkbox v-model="detail.isInventory"></el-checkbox>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                  <el-form-item label="允许生产" size="small">
+                    <el-checkbox v-model="detail.isInventory"></el-checkbox>
+                  </el-form-item>
+                </el-col>
+
+                <el-col :span="12">
+                  <el-form-item label="允许委外" size="small">
+                    <el-checkbox v-model="detail.isInventory"></el-checkbox>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                  <el-form-item label="允许资产" size="small">
+                    <el-checkbox v-model="detail.isInventory"></el-checkbox>
+                  </el-form-item>
+                </el-col>
+              </div>
+
+              <div>
+                <div class="base-header">
+                  <span>财务信息</span>
+                </div>
+
+                <el-col :span="24">
+                  <el-form-item label="默认税率" size="small">
+                    <el-input v-model="value"></el-input>
+                  </el-form-item>
+                </el-col>
+
+                <el-col :span="24">
+                  <el-form-item label="存货类别" size="small">
+                    <el-input v-model="detail.categoryId"></el-input>
+                  </el-form-item>
+                </el-col>
+
+                <el-col :span="24">
+                  <el-form-item label="税分类" size="small">
+                    <el-input v-model="detail.categoryId"></el-input>
+                  </el-form-item>
+                </el-col>
+
+                <el-col :span="24">
+                  <el-form-item label="结算成本价加减价比例" size="small">
+                    <el-input v-model="detail.categoryId"></el-input>
+                  </el-form-item>
+                </el-col>
+
+                <el-col :span="24">
+                  <el-form-item label="商城公开价" size="small">
+                    <el-input v-model="detail.categoryId"></el-input>
+                  </el-form-item>
+                </el-col>
+
+                <el-col :span="24">
+                  <el-form-item label="套机码" size="small">
+                    <el-input v-model="detail.categoryId"></el-input>
+                  </el-form-item>
+                </el-col>
+              </div>
+            </el-col>
+            <el-col :span="24">
+              <div>
+                <div class="clearfix">
+                  <div class="base-header">
+                    <span>重量信息</span>
+                  </div>
+
+                  <el-col :span="24">
+                    <el-form-item label="毛重" size="small">
+                      <el-input v-model="value"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-form-item label="净重" size="small">
+                      <el-input v-model="value"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-form-item label="重量单位" size="small">
+                      <el-input v-model="value"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </div>
+
+                <div class="clearfix">
+                  <div class="base-header">
+                    <span>尺寸信息</span>
+                  </div>
+
+                  <el-col :span="24">
+                    <el-form-item label="长" size="small">
+                      <el-input v-model="detail.length"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-form-item label="宽" size="small">
+                      <el-input v-model="detail.width"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-form-item label="高" size="small">
+                      <el-input v-model="detail.height"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-form-item label="体积" size="small">
+                      <el-input v-model="detail.volume"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-form-item label="尺寸单位" size="small">
+                      <el-input v-model="detail.volume"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </div>
+
+                <div class="clearfix">
+                  <div class="base-header">
+                    <span>状态</span>
+                  </div>
+                  <el-col :span="24">
+                    <el-form-item label="数据状态" size="small">
+                      <el-select v-model="value">
+                        <el-option label="普通仓库"> </el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24">
+                    <el-form-item label="禁用状态" size="small">
+                      <el-select v-model="value">
+                        <el-option label="普通仓库"> </el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="24">
+                    <el-form-item label="已使用" size="small">
+                      <el-select v-model="value">
+                        <el-option label="普通仓库"> </el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                </div>
+              </div>
+            </el-col>
+          </el-row>
         </div>
       </el-card>
       <el-card class="box-card">
@@ -300,43 +310,67 @@
             </div>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">库存单位</span
-                ><select name="" id="" class="selectStyle2">
-                  <option value="">普通仓库</option>
-                </select></el-col
+                >
+                   <el-form-item label="库存单位" size="small">
+                      <el-select v-model="value">
+                        <el-option label="普通仓库"> </el-option>
+                      </el-select>
+                    </el-form-item>
+
+             </el-col
               >
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r color">换算方向</span
-                ><select name="" id="" class="selectStyle2">
-                  <option value="">普通仓库</option>
-                </select></el-col
+                >
+                   <el-form-item label="换算方向" size="small">
+                      <el-select v-model="value">
+                        <el-option label="普通仓库"> </el-option>
+                      </el-select>
+                    </el-form-item>
+
+              </el-col
               >
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r color">仓库</span><input type="text" />
+                >
+                     <el-form-item label="仓库" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+
               </el-col>
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">仓位</span><input type="text" />
+                >
+                  <el-form-item label="仓位" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+
               </el-col>
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r color">单箱标准数量</span
-                ><input type="text"
-              /></el-col>
+                >
+                 <el-form-item label="单箱标准数量" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+                </el-col>
             </el-row>
             <div class="base-header">
               <span>库存控制</span>
             </div>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r color">可锁库</span><input type="checkbox"
-              /></el-col>
+                >
+                <el-form-item label="可锁库" size="small">
+                    <el-checkbox v-model="value" label="" ></el-checkbox>
+                  </el-form-item>
+               </el-col>
             </el-row>
           </div>
           <div>
@@ -345,54 +379,93 @@
             </div>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">启用批号管理</span><input type="text"
-              /></el-col>
+                >
+                      <el-form-item label="启用批号管理" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+               </el-col>
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">批号编码规则</span><input type="text"
-              /></el-col>
+                >
+                    <el-form-item label="批号编码规则" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+               </el-col>
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">启用保质期管理</span><input type="text"
-              /></el-col>
+                >
+
+                 <el-form-item label="启用保质期管理" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+               </el-col>
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">批号附属信息</span><input type="text"
-              /></el-col>
+                >
+                   <el-form-item label="批号附属信息" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+              </el-col>
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">保质期单位</span
-                ><select name="" id="" class="selectStyle2">
-                  <option value="">普通仓库</option>
-                </select></el-col
+                >
+                 <el-form-item label="保质期单位" size="small">
+                      <el-select v-model="value">
+                        <el-option label="普通仓库"> </el-option>
+                      </el-select>
+                    </el-form-item>
+
+              </el-col
               >
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">在架寿命期</span><input type="text"
-              /></el-col>
+                >
+
+                 <el-form-item label="在架寿命期" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+              </el-col>
             </el-row>
             <div class="base-header">
               <span>库存成本</span>
             </div>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">参考成本</span><input type="text"
-              /></el-col>
+                >
+                   <el-form-item label="参考成本" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+               </el-col>
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">成本单位</span><input type="text"
-              /></el-col>
+                >
+                  <el-form-item label="成本单位" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+               </el-col>
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">币别</span><input type="text"
-              /></el-col>
+                >
+                      <el-form-item label="币别" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+
+               </el-col>
             </el-row>
           </div>
           <div>
@@ -401,34 +474,66 @@
             </div>
             <el-row>
               <el-col :span="24">
-                <span class="marg-r startUse">启用</span>
-                <div class="start">
-                  <div><input type="checkbox" /><span>最小库存预警</span></div>
-                  <div><input type="checkbox" /><span>安全库存预警</span></div>
-                  <div><input type="checkbox" /><span>最大库存预警</span></div>
-                  <div><input type="checkbox" /><span>在订货点预警</span></div>
-                </div>
+
+                  <el-form-item label="启用" size="small">
+                  </el-form-item>
+                  <el-form-item label="最小库存预警" size="small">
+                    <el-checkbox v-model="value" label="" ></el-checkbox>
+                  </el-form-item>
+                   <el-form-item label="安全库存预警" size="small">
+                    <el-checkbox v-model="value" label="" ></el-checkbox>
+                  </el-form-item>
+                   <el-form-item label="最大库存预警" size="small">
+                    <el-checkbox v-model="value" label="" ></el-checkbox>
+                  </el-form-item>
+                   <el-form-item label="在订货点预警" size="small">
+                    <el-checkbox v-model="value" label="" ></el-checkbox>
+                  </el-form-item>
+
               </el-col>
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">最小库存</span><input type="text"
-              /></el-col>
+                >
+                 <el-form-item label="最小库存" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+
+                </el-col>
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">再定货点</span><input type="text"
-              /></el-col>
+                >
+                  <el-form-item label="再定货点" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+
+
+              </el-col>
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">经济订货批量</span><input type="text"
-              /></el-col>
+                >
+                      <el-form-item label="经济订货批量" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+
+
+              </el-col>
             </el-row>
             <el-row>
               <el-col :span="24"
-                ><span class="marg-r">最大库存</span><input type="text"
-              /></el-col>
+                >
+                      <el-form-item label="最大库存" size="small">
+                <el-input v-model="value" ></el-input>
+
+                  </el-form-item>
+
+
+              </el-col>
             </el-row>
           </div>
         </div>
@@ -436,7 +541,7 @@
           <div class="base-header">
             <span>客机信息</span>
           </div>
-          <!-- 列表 -->
+
           <br />
           <el-table
             v-loading="listLoading"
@@ -515,10 +620,11 @@
           <br />
           <el-row>
             <el-col :span="6">
-              <strong class="marg-r">商城分类</strong>
-              <select name="" id="" class="selectStyle2">
-                <option value="">挂式空调</option>
-              </select>
+                <el-form-item label="商城分类" size="small">
+                      <el-select v-model="value">
+                        <el-option label="挂式空调"> </el-option>
+                      </el-select>
+                    </el-form-item>
             </el-col>
           </el-row>
           <div>
@@ -549,16 +655,18 @@
           <br />
           <el-row>
             <el-col :span="6">
-              <strong class="marg-r">是否允许订货</strong>
-              <select name="" id="" class="selectStyle2">
-                <option value="">是</option>
-                <option value="">否</option>
-              </select>
+              <el-form-item label="是否允许订货" size="small">
+                      <el-select v-model="value">
+                        <el-option label="是"> </el-option>
+                        <el-option label="否"> </el-option>
+                      </el-select>
+                    </el-form-item>
+
             </el-col>
           </el-row>
-          <br />
-          <br />
-          <el-button type="info">保存</el-button>
+
+
+          <el-button >保存</el-button>
         </div>
       </el-card>
     </el-form>
@@ -686,4 +794,7 @@ export default {
     margin-bottom: 0;
   }
 }
+::v-deep .el-select{
+  width: 100%;
+}
 </style>

+ 203 - 162
src/views/basic_data/material/components/modify_list-apply.vue

@@ -27,7 +27,7 @@
                 placeholder="请选择调价业务员"
                 filterable
                 @change="handleUser"
-                v-model="operatorId"
+                v-model="serviceId"
               >
                 <el-option
                   v-for="(item, index) in userList"
@@ -131,12 +131,13 @@
               align="center"
               label="存货编码"
               prop="materialNumber"
+
               min-width="160"
               show-overflow-tooltip
             >
               <template slot-scope="scope">
                 <el-form-item>
-                  <el-input v-model="scope.row.materialNumber"></el-input>
+                  <el-input disabled v-model="scope.row.materialNumber"></el-input>
                 </el-form-item>
               </template>
             </el-table-column>
@@ -149,7 +150,7 @@
             >
               <template slot-scope="scope">
                 <el-form-item>
-                  <el-input v-model="scope.row.materialName"></el-input>
+                  <el-input disabled v-model="scope.row.materialName"></el-input>
                 </el-form-item>
               </template>
             </el-table-column>
@@ -162,7 +163,7 @@
             >
               <template slot-scope="scope">
                 <el-form-item>
-                  <el-input v-model="scope.row.specification"></el-input>
+                  <el-input disabled v-model="scope.row.specification"></el-input>
                 </el-form-item>
               </template>
             </el-table-column>
@@ -195,12 +196,12 @@
             <el-table-column
               align="center"
               label="格力折扣"
-              prop="retailPrice"
+              prop="discAmount"
               min-width="160"
               show-overflow-tooltip
               ><template slot-scope="scope">
                 <el-form-item>
-                  <el-input v-model="scope.row.retailPrice"></el-input>
+                  <el-input v-model="scope.row.discAmount"></el-input>
                 </el-form-item>
               </template>
             </el-table-column>
@@ -212,7 +213,19 @@
               show-overflow-tooltip
               ><template slot-scope="scope">
                 <el-form-item>
-                  <el-input v-model="scope.row.rebateUseRate"></el-input>
+                  <el-select
+                    v-model="scope.row.walletRebateId"
+                    placeholder="请选择返利类型"
+                    @change="handelRebateList($event, scope.$index)"
+                  >
+                    <el-option
+                      v-for="(item, index) in rebateList"
+                      :key="item.index"
+                      :value="item.walletRebateId"
+                      :label="item.name"
+                    >
+                    </el-option>
+                  </el-select>
                 </el-form-item>
               </template>
             </el-table-column>
@@ -301,9 +314,9 @@
                     placeholder="请选择现金钱包"
                   >
                     <el-option
-                      v-for="item in scope.row.rebateList"
-                      :key="item.walletRebateId"
-                      :value="item.walletRebateId"
+                      v-for="item in walleList"
+                      :key="item.id"
+                      :value="item.id"
                       :label="item.name"
                     >
                     </el-option>
@@ -636,7 +649,7 @@
         style="float: right"
         type="primary"
         size="small"
-        @click="(centerDialogVisible = true), handleDataList()"
+        @click="centerDialogVisible = true"
         >添加</el-button
       >
     </div>
@@ -665,7 +678,7 @@
                 <el-button size="small" @click="resetScreenForm"
                   >清空</el-button
                 >
-                <el-button size="small" type="primary" @click="handleDataList"
+                <el-button size="small" type="primary" @click="submitScreenForm"
                   >搜索</el-button
                 >
               </el-form-item>
@@ -768,10 +781,10 @@
           </el-pagination>
         </div>
       </div>
-       <span slot="footer" class="dialog-footer">
-    <el-button @click="centerDialogVisible = false">取 消</el-button>
-    <el-button type="primary" @click="handleDetermine  ">确 定</el-button>
-  </span>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="centerDialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="handleDetermine">确 定</el-button>
+      </span>
     </el-dialog>
   </div>
 </template>
@@ -785,6 +798,7 @@ import {
   getRebate,
   getUserList,
   getMaterialDetail,
+  getWalletList,
 } from "@/api/basic_data/material";
 
 import MaterialListDetail from "./material_list-detail.vue";
@@ -803,8 +817,8 @@ export default {
         examineResult: true,
         examineStatus: "",
         id: null,
-        operatorId: "",
-        operatorName: "",
+        serviceId: "",
+        serviceName: "",
         remark: "",
         saleTypeId: "",
       },
@@ -815,9 +829,9 @@ export default {
       rebateList: [],
       typeList: [],
       saleTypeId: "",
-      operatorId: "",
+      serviceId: "",
       adminCompanyId: "",
-      operatorName: "",
+      serviceName: "",
       adminCompanyName: "",
       adminWebsitId: "",
       remark: "",
@@ -829,7 +843,8 @@ export default {
       dialogForm: {
         keyword: "",
       },
-      selectData:[]
+      selectData: [],
+      walleList: [],
     };
   },
   mounted() {
@@ -852,21 +867,42 @@ export default {
       status: "",
       userName: "",
     }).then((res) => {
-      console.log(res, "bumeng");
       this.userList = res.data.records;
     });
+    getWalletList({ mainId: "", walletName: "" }).then((res) => {
+      this.walleList = res.data;
+    });
+    let rebateParams = {
+      pageNum: 1,
+      pageSize: -1,
+      mainName: "",
+      saleTypeCode: "",
+      saleTypeName: "",
+      status: "",
+    };
+    getRebate(rebateParams).then((res) => {
+      this.rebateList = res.data.records;
+    });
   },
   methods: {
     handelWallets(e, index) {
-      this.items[index].wallets = [
-        {
-          billId: "",
-          id: "",
-          mainId: "",
-          parentId: "",
-          parentItemId: e,
-        },
-      ];
+      let obj =  {
+         	"billId": "",
+					"id": "",
+					"parentId": "",
+					"parentItemId": "",
+					"walletRebateId": e
+        }
+
+      this.$set(this.items[index], "wallets", [...this.items[index].wallets,obj]);
+    },
+    handelRebateList(e, index) {
+      const reabteData = this.rebateList.filter((k) => {
+        return k.walletRebateId == e;
+      })[0];
+      this.$set(this.items[index], "walletRebateName", reabteData.name);
+      this.$set(this.items[index], "walletRebateId", reabteData.walletRebateId);
+      this.$set(this.items[index], "rebateRate", reabteData.rebateRate);
     },
     handleUser(e) {
       const adminCompany = this.userList.filter((k) => {
@@ -874,8 +910,8 @@ export default {
       })[0];
       this.adminWebsitId = adminCompany.adminUserId;
       this.adminCompanyName = adminCompany.adminCompanyName;
-      this.operatorName = adminCompany.roleName;
-      this.operatorId = adminCompany.roleId;
+      this.serviceName = adminCompany.nickName || 'd';
+      this.serviceId = adminCompany.roleId;
     },
     goBack() {
       this.$parent.show = 1;
@@ -888,72 +924,64 @@ export default {
     hanleDeleInd(index) {
       this.items.splice(index, 1);
     },
-    handleDetermine(){
+    handleDetermine() {
       if (this.selectData.length) {
+        for (let i = 0; i < this.selectData.length; i++) {
+          this.items.push({
+            baseUnitId: "",
+            batchPrice: "",
+            billId: "",
+            endDate: "",
+            isPromote: "",
+            isPublish: "",
+            materialId: this.selectData[i].id,
+            materialName: this.selectData[i].name,
+            materialNumber: this.selectData[i].number,
+            discAmount: "",
+            materialOldNumber: this.selectData[i].oldNumber,
+            parentId: "",
+            walletRebateName: "",
+            walletRebateId: "",
+            rebateRate: "",
+            qty: "",
+            rebateUseRate: "",
+            retailPrice: ""||0,
+            saleTypeId: "",
+            specification: this.selectData[i].specification,
+            startDate: this.selectData[i].startDate,
+            wallets: [
 
-          for (let i = 0; i < array.length; i++) {
-            const element = array[i];
-          }
-           this.items.push({
-          baseUnitId: "",
-          batchPrice: "",
-          billId: "",
-          endDate: "",
-          id: null,
-          isPromote: "",
-          isPublish: "",
-          materialId: this.materialId,
-          materialName: "",
-          materialNumber: "",
-          parentId: "",
-          qty: "",
-          rebateUseRate: "",
-          retailPrice: "",
-          saleTypeId: "",
-          specification: "",
-          startDate: "",
-          wallets: [],
-          rebateList: [...this.rebateList],
-          isPublishArr: [
-            {
-              value: "是",
-              bool: 1,
-            },
-            {
-              value: "否",
-              bool: 0,
-            },
-          ],
-          isPromoteArr: [
-            {
-              value: "是",
-              bool: 1,
-            },
-            {
-              value: "否",
-              bool: 0,
-            },
-          ],
-        });
-          this.centerDialogVisible = false
-      }else{
-        this.$errorMsg('请选择内容')
+            ],
+            rebateList: [...this.rebateList],
+            isPublishArr: [
+              {
+                value: "是",
+                bool: 1,
+              },
+              {
+                value: "否",
+                bool: 0,
+              },
+            ],
+            isPromoteArr: [
+              {
+                value: "是",
+                bool: 1,
+              },
+              {
+                value: "否",
+                bool: 0,
+              },
+            ],
+          });
+        }
+        // console.log(this.items);
+        this.centerDialogVisible = false;
+      } else {
+        this.$errorMsg("请选择内容");
       }
-
     },
     getMaterialList() {
-      let rebateParams = {
-        pageNum: 1,
-        pageSize: 10,
-        mainName: "",
-        saleTypeCode: "",
-        saleTypeName: "",
-        status: 1,
-      };
-      getRebate(rebateParams).then((res) => {
-        this.rebateList = res.data.records;
-        console.log(this.rebateList, "this.rebateList");
-      });
       let params = {
         pageNum: 1,
         pageSize: 10,
@@ -964,20 +992,19 @@ export default {
       });
     },
     handleSelectionAllChange(e) {
-        this.selectData = e
+      this.selectData = e;
     },
     handleSelectionChange(e) {
-      this.selectData = e
+      this.selectData = e;
     },
     hanleAdd() {
       if (this.materialId) {
-
         this.centerDialogVisible = false;
       } else {
         this.$errorMsg("请选择产品");
       }
     },
-    handleDataList() {
+    getList() {
       this.listLoading = true;
       let params = {
         pageNum: this.currentPage,
@@ -991,75 +1018,89 @@ export default {
       });
     },
     hanleSbumit() {
+      for (let i = 0; i < this.items.length; i++) {
+
+          for (let j = i+1; j < this.items.length; j++) {
+
+              if (this.items[i].materialNumber==this.items[j].materialNumber) {
+                if (this.items[i].saleTypeId ==this.items[j].saleTypeId ) {
+                      this.$errorMsg('有存货编码销售类型相同')
+                return
+                }
+
+              }
+
+
+          }
+      }
       const params = {
         ...this.base,
         items: this.items,
         saleTypeId: this.saleTypeId,
         adminWebsitId: this.adminWebsitId,
-        operatorId: this.operatorId,
-      };
+        serviceId: this.serviceId,
+      adminCompanyName :this.adminCompanyName,
+      serviceName :this.nickName ,
+
+      }
       getProductRriceAdd(params).then((res) => {
-        this.items = {
-          baseUnitId: "32",
-          batchPrice: "23",
-          billId: "",
-          endDate: "",
-          id: null,
-          isPromote: "",
-          isPublish: "",
-          materialId: "",
-          materialName: "",
-          materialNumber: "",
-          parentId: "",
-          qty: "",
-          rebateUseRate: "",
-          retailPrice: "",
-          saleTypeId: "",
-          specification: "",
-          startDate: "",
-          wallets: [],
-          isPublishArr: [
-            {
-              value: "是",
-              bool: 1,
-            },
-            {
-              value: "否",
-              bool: 0,
-            },
-          ],
-          isPromoteArr: [
-            {
-              value: "是",
-              bool: 1,
-            },
-            {
-              value: "否",
-              bool: 0,
-            },
-          ],
-        };
-        this.base = {
-          adminCompanyId: "",
-          adminWebsitId: "",
-          billId: "",
-          examineNote: "",
-          examineResult: true,
-          examineStatus: "",
-          id: null,
-          operatorId: "",
-          operatorName: "",
-          remark: "",
-          saleTypeId: "",
-        };
+        // this.items = {
+        //   baseUnitId: "32",
+        //   batchPrice: "23",
+        //   billId: "",
+        //   endDate: "",
+        //   id: null,
+        //   isPromote: "",
+        //   isPublish: "",
+        //   materialId: "",
+        //   materialName: "",
+        //   materialNumber: "",
+        //   parentId: "",
+        //   qty: "",
+        //   rebateUseRate: "",
+        //   retailPrice: "",
+        //   saleTypeId: "",
+        //   specification: "",
+        //   startDate: "",
+        //   wallets: [],
+        //   isPublishArr: [
+        //     {
+        //       value: "是",
+        //       bool: 1,
+        //     },
+        //     {
+        //       value: "否",
+        //       bool: 0,
+        //     },
+        //   ],
+        //   isPromoteArr: [
+        //     {
+        //       value: "是",
+        //       bool: 1,
+        //     },
+        //     {
+        //       value: "否",
+        //       bool: 0,
+        //     },
+        //   ],
+        // };
+        // this.base = {
+        //   adminCompanyId: "",
+        //   adminWebsitId: "",
+        //   billId: "",
+        //   examineNote: "",
+        //   examineResult: true,
+        //   examineStatus: "",
+        //   id: null,
+        //   serviceId: "",
+        //   serviceName: "",
+        //   remark: "",
+        //   saleTypeId: "",
+        // };
         this.$successMsg("成功");
-        // getProductRriceDetail({ id: res.data }).then((res) => {
-        //   this.base = {
-        //     ...res.data,
-        //   };
-
-        //   this.detail = res.data.items;
-        // });
+        getProductRriceDetail({ id: res.data }).then((res) => {
+          this.base.billId = res.data.billId;
+        });
       });
     },
     handleReseat() {
@@ -1071,8 +1112,8 @@ export default {
         examineResult: true,
         examineStatus: "",
         id: null,
-        operatorId: "",
-        operatorName: "",
+        serviceId: "",
+        serviceName: "",
         remark: "",
         saleTypeId: "",
       };

+ 57 - 22
src/views/basic_data/material/components/modify_list-approval.vue

@@ -25,7 +25,7 @@
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="调价部门" prop="account">
-              <el-input placeholder="请输入" disabled></el-input>
+              <el-input placeholder="请输入" v-model="men"  disabled></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
@@ -33,24 +33,16 @@
               <el-input
                 disabled
                 placeholder="请输入"
-                v-model="detail.operatorName"
+                v-model="ren"
               ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="销售类型" prop="account">
-              <el-select placeholder="请选择活动区域" disabled>
-                <el-option label="区域一" value="shanghai"></el-option>
-                <el-option label="区域二" value="beijing"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="文件编码" prop="operatorName">
               <el-input
                 disabled
                 placeholder="请输入"
-                v-model="detail.operatorName"
+                v-model="detail.remark"
               ></el-input>
             </el-form-item>
           </el-col>
@@ -72,8 +64,10 @@
                 label="销售类型"
                 prop="saleTypeId"
                 min-width="160"
+                :formatter="formatterType"
                 show-overflow-tooltip
-              ></el-table-column>
+              >
+              </el-table-column>
               <el-table-column
                 align="center"
                 label="存货编码"
@@ -91,14 +85,14 @@
               <el-table-column
                 align="center"
                 label="规格型号"
-                prop="model"
+                prop="specification"
                 min-width="160"
                 show-overflow-tooltip
               ></el-table-column>
               <el-table-column
                 align="center"
                 label="计量单位"
-                prop="company"
+                prop="baseUnitId"
                 min-width="160"
                 show-overflow-tooltip
               ></el-table-column>
@@ -120,7 +114,7 @@
               <el-table-column
                 align="center"
                 label="返利使用比例"
-                prop="rebateUseRate"
+                prop="rebateRate"
                 min-width="160"
                 show-overflow-tooltip
               >
@@ -192,15 +186,15 @@
               <div class="label">审批结果</div>
               <div class="value">
                 <el-radio-group v-model="detail.examineResult">
-                  <el-radio :label="true">通过</el-radio>
-                  <el-radio :label="false">驳回</el-radio>
+                  <el-radio label="通过" :value="true"></el-radio>
+                  <el-radio label="驳回" :value="false"></el-radio>
                 </el-radio-group>
               </div>
             </el-col>
             <el-col :xs="24" :sm="24" :lg="24" class="item">
               <div class="label">审批说明</div>
               <div class="value">
-                <el-input v-model="detail.examineNote " size="small"></el-input>
+                <el-input v-model="detail.examineNote" size="small"></el-input>
               </div>
             </el-col>
           </el-row>
@@ -216,13 +210,13 @@
             > -->
           </div>
         </div>
-   </el-form>
+      </el-form>
     </div>
   </div>
 </template>
 
 <script>
-import { getProductRriceConfirm } from "@/api/basic_data/material";
+import { getProductRriceConfirm, getTypeList,getUserList } from "@/api/basic_data/material";
 import Mixin from "@/mixin/index";
 export default {
   // mixins: [Mixin],
@@ -252,19 +246,60 @@ export default {
           release: "是",
         },
       ],
+      typeList: [],
+      userList:[],
+      men:'',
+      ren:''
     };
   },
+
+  created() {
+    let params = {
+      pageNum: 1,
+      pageSize: -1,
+      saleCode: "",
+      saleName: "",
+      status: "",
+    };
+    getTypeList(params).then((res) => {
+      this.typeList = res.data.records;
+    });
+    getUserList({
+      pageNum: 1,
+      pageSize: -1,
+      adminWebsitId: "",
+      isCustomer: 0,
+      roleId: "",
+      status: "",
+      userName: "",
+    }).then((res) => {
+      this.userList = res.data.records;
+      var a= this.userList.filter(k=>{
+
+        return k.roleId == this.detail.serviceId
+      })[0]
+      this.men = a.adminCompanyName
+      this.ren = a.nickName
+    });
+  },
   methods: {
+    formatterType(row) {
+      return this.typeList.filter((k) => {
+        return k.id == row.saleTypeId;
+      })[0]?.saleName;
+    },
     goBack() {
       console.log(this.$parent);
       this.$parent.show = 1;
     },
     onSubmit() {
+
       const params = {
-        ...this.detail,
+        ...this.detail
+
       };
       getProductRriceConfirm(params).then((res) => {
-         this.$successMsg("已提交审核");
+        this.$successMsg("已提交审核");
       });
     },
     resetScreenForm() {

+ 50 - 40
src/views/basic_data/material/components/modify_list-detail.vue

@@ -3,13 +3,11 @@
     <div>
       <el-page-header @back="goBack" content="详情"> </el-page-header>
     </div>
-    <br />
-    <br />
     <div>
       <el-form
         ref="screenForm"
         :model="detail"
-        label-width="70px"
+        label-width="120px"
         size="small"
         label-position="left"
       >
@@ -23,20 +21,10 @@
               ></el-input>
             </el-form-item>
           </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="调价日期" prop="account">
-              <el-date-picker
-                disabled
-                v-model="value1"
-                type="date"
-                placeholder="选择日期"
-              >
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
+
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="调价部门" prop="account">
-              <el-input placeholder="请输入" disabled></el-input>
+              <el-input placeholder="请输入"    v-model="men" disabled></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
@@ -44,35 +32,18 @@
               <el-input
                 disabled
                 placeholder="请输入"
-                v-model="detail.operatorName"
+                v-model="ren"
               ></el-input>
             </el-form-item>
           </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="制单日期" prop="account">
-              <el-date-picker
-                v-model="value1"
-                disabled
-                type="date"
-                placeholder="选择日期"
-              >
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="销售类型" prop="account">
-              <el-select placeholder="请选择活动区域" disabled>
-                <el-option label="区域一" value="shanghai"></el-option>
-                <el-option label="区域二" value="beijing"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
+
+
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="文件编码" prop="operatorName">
               <el-input
                 disabled
                 placeholder="请输入"
-                v-model="detail.operatorName"
+                v-model="detail.remark"
               ></el-input>
             </el-form-item>
           </el-col>
@@ -93,6 +64,7 @@
                 align="center"
                 label="销售类型"
                 prop="saleTypeId"
+                 :formatter="formatterType"
                 min-width="160"
                 show-overflow-tooltip
               ></el-table-column>
@@ -113,14 +85,14 @@
               <el-table-column
                 align="center"
                 label="规格型号"
-                prop="model"
+                prop="specification"
                 min-width="160"
                 show-overflow-tooltip
               ></el-table-column>
               <el-table-column
                 align="center"
                 label="计量单位"
-                prop="company"
+                prop="baseUnitId"
                 min-width="160"
                 show-overflow-tooltip
               ></el-table-column>
@@ -202,7 +174,7 @@
       <el-row :gutter="0">
         <el-col :xs="12" :sm="8" :lg="8" class="item">
           <div class="label">审批人</div>
-          <div class="value">{{detail.operatorName}}</div>
+          <div class="value">{{this.$store.getters.name }}</div>
         </el-col>
         <el-col :xs="12" :sm="8" :lg="8" class="item">
           <div class="label">审批结果</div>
@@ -210,7 +182,7 @@
         </el-col>
         <el-col :xs="12" :sm="8" :lg="8" class="item">
           <div class="label">审批时间</div>
-          <div class="value">{{}}</div>
+          <div class="value">{{''}}</div>
         </el-col>
         <el-col :xs="24" :sm="24" :lg="24" class="item">
           <div class="label">审批说明</div>
@@ -226,6 +198,8 @@
 
 
 <script>
+import { getProductRriceConfirm, getTypeList,getUserList } from "@/api/basic_data/material";
+
 export default {
   props:{
     detail:{
@@ -252,12 +226,48 @@ export default {
           release: "是",
         },
       ],
+       typeList: [],
+      userList:[],
+      men:'',
+      ren:''
     };
   },
   created() {
+    let params = {
+      pageNum: 1,
+      pageSize: -1,
+      saleCode: "",
+      saleName: "",
+      status: "",
+    };
       console.log(this.detail);
+       getTypeList(params).then((res) => {
+      this.typeList = res.data.records;
+    });
+    getUserList({
+      pageNum: 1,
+      pageSize: -1,
+      adminWebsitId: "",
+      isCustomer: 0,
+      roleId: "",
+      status: "",
+      userName: "",
+    }).then((res) => {
+      this.userList = res.data.records;
+      var a= this.userList.filter(k=>{
+
+        return k.roleId == this.detail.serviceId
+      })[0]
+      this.men = a.adminCompanyName
+      this.ren = a.nickName
+    });
   },
   methods: {
+       formatterType(row) {
+      return this.typeList.filter((k) => {
+        return k.id == row.saleTypeId;
+      })[0]?.saleName;
+    },
     goBack() {
       console.log(this.$parent);
       this.$parent.show = 1;

+ 5 - 5
src/views/basic_data/material/machine_list.vue

@@ -30,7 +30,7 @@
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="编码" prop="number">
               <el-input
-                type="number"
+
                 placeholder="请输入编码"
                 v-model.number="screenForm.number"
               ></el-input>
@@ -258,16 +258,16 @@
           </el-select>
         </el-form-item>
         <el-form-item label="名称">
-          <el-input v-model="diaLogForm.name" size="normal"></el-input>
+          <el-input v-model="diaLogForm.name"   type="number" size="normal"></el-input>
         </el-form-item>
         <el-form-item label="型号">
-          <el-input v-model="diaLogForm.model" size="normal"></el-input>
+          <el-input v-model="diaLogForm.model"   type="number" size="normal"></el-input>
         </el-form-item>
         <el-form-item label="编码">
-          <el-input v-model="diaLogForm.number" size="normal"></el-input>
+          <el-input v-model="diaLogForm.number"    size="normal"></el-input>
         </el-form-item>
         <el-form-item label="体积">
-          <el-input v-model="diaLogForm.volume" size="normal"></el-input>
+          <el-input v-model="diaLogForm.volume"   type="number" size="normal"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">

+ 26 - 2
src/views/basic_data/material/modify_list.vue

@@ -100,7 +100,7 @@
             @select="hanleSelectAll"
             stripe
           >
-            <el-table-column type="selection" align="center"></el-table-column>
+            <el-table-column type="selection" align="center" width="50"></el-table-column>
             <el-table-column
               align="center"
               label="单据号"
@@ -119,6 +119,7 @@
               align="center"
               label="销售类型"
               prop="saleTypeId"
+                      :formatter="formatterType"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
@@ -153,7 +154,7 @@
             <el-table-column
               align="center"
               label="计量单位"
-              prop="company"
+              prop="baseUnitId"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
@@ -317,6 +318,7 @@ import {
   getProductRriceDetail,
   getProductRriceList,
   getProductRricedel,
+  getTypeList
 } from "@/api/basic_data/material";
 import { downloadFiles } from "@/utils/util";
 export default {
@@ -376,6 +378,7 @@ export default {
         startDate: "",
         wallets: [],
       },
+      typeList:[]
     };
   },
   components: {
@@ -383,7 +386,28 @@ export default {
     ModifyListApproval,
     ModifyListDetail,
   },
+  mounted(){
+       let params = {
+      pageNum: 1,
+      pageSize: -1,
+      saleCode: "",
+      saleName: "",
+      status: "",
+    };
+   getTypeList(params).then((res) => {
+      this.typeList = res.data.records;
+    });
+  },
   methods: {
+  formatterType(row) {
+      for (let i = 0; i < this.typeList.length; i++) {
+
+     if (this.typeList[i].id == row.saleTypeId) {
+          return this.typeList[i].saleName
+     }
+
+      }
+    },
     addFn() {
       this.show = 2;
     },

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

@@ -13,10 +13,11 @@
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="产品名称" prop="materialName">
               <el-select placeholder="请选择产品品类" v-model="screenForm.name">
+              <el-option label="默认" value=""></el-option>
                 <el-option
                   v-for="item in materialLis"
                   :label="item.name"
-                  :value="item.id"
+                  :value="item.name"
                   :key="item.id"
                 ></el-option>
               </el-select>
@@ -290,7 +291,6 @@
         </el-pagination>
       </div>
     </div>
-
     <!-- 弹窗 -->
     <el-dialog
       title="产品信息"
@@ -389,10 +389,10 @@
     </el-dialog>
   </div>
 </template>
-<!-- /product-compose/export -->
+
 <script>
 import Mixin from "@/mixin/index";
-import { downloadFiles, handleImport } from "@/utils/util";
+import { downloadFiles } from "@/utils/util";
 import {
   getProductList,
   getProductEdit,

+ 1 - 1
src/views/sales_policy/codealer_list.vue

@@ -114,7 +114,7 @@
 </template>
 
 <script>
-import { getCustomerlist } from "@/api/supply/sales";
+import { getCustomerlist } from "@/api/policy_list";
 import Minxin from "@/mixin";
 import Distributor from "./components/Distributor";
 export default {

+ 80 - 68
src/views/sales_policy/components/AddCondition.vue

@@ -1,8 +1,7 @@
 <template>
   <el-container>
     <el-header height="50px" class="header">
-      <el-page-header @back="handleBack" content="详情页面">
-      </el-page-header>
+      <el-page-header @back="handleBack" content="详情页面"> </el-page-header>
     </el-header>
     <div class="line">
       <el-divider></el-divider>
@@ -20,16 +19,12 @@
             v-for="(item, index) in conditionBox"
             :key="index"
           >
-
             <el-row>
-
               <el-row class="pdt">
                 <el-button
                   type="primary"
                   size="small"
-
                   @click="(VisibleModle = true), getMaterialLists(index)"
-
                   >添加机型</el-button
                 >
 
@@ -68,30 +63,22 @@
             </el-row>
           </el-col>
         </el-row>
-        <el-row >
+        <el-row>
           <el-form label-width="120px" :inline="false" size="small">
             <el-row>
               <el-form-item label="配置比例设置"> </el-form-item>
             </el-row>
-       <el-col
-              :xs="24"
-              :sm="8"
-              :lg="8"
-
-            >
+            <el-col :xs="24" :sm="8" :lg="8">
               <el-form-item label="限定机型">
-                <el-input
-                  size="small"
-                  v-model="limit"
-                ></el-input>
+                <el-input size="small" v-model="limit"></el-input>
               </el-form-item>
-              </el-col>
+            </el-col>
 
             <el-col
               :xs="24"
               :sm="8"
               :lg="8"
-              v-for="(len, index) in conditionBox.length-1"
+              v-for="(len, index) in conditionBox.length - 1"
             >
               <el-form-item :label="'配提' + (index + 1) + '比例'">
                 <el-input
@@ -116,16 +103,24 @@
             v-for="(item, index) in conditionBoxs"
             :key="index"
           >
-            <el-row >
-
+            <el-row>
               <el-row>
                 <el-table style="width: 100%" :data="item" border>
                   <el-table-column type="selection" width="55" align="center">
                   </el-table-column>
-                  <el-table-column label="货品名称" width="300" align="center" prop="materialName" >
-                    <template slot-scope="scope">{{ scope.row.date }}</template>
+                  <el-table-column
+                    label="货品名称"
+                    width="300"
+                    align="center"
+                    prop="materialName"
+                  >
+                    <template slot-scope="scope">{{ scope.row.materialName }}</template>
                   </el-table-column>
-                  <el-table-column prop="specification" label="规格型号" align="center">
+                  <el-table-column
+                    prop="specification"
+                    label="规格型号"
+                    align="center"
+                  >
                   </el-table-column>
                 </el-table>
               </el-row>
@@ -139,12 +134,22 @@
             </el-row>
             <el-col :xs="24" :sm="8" :lg="8">
               <el-form-item label="限定机型">
-                <el-input size="small"></el-input>
+                <el-input size="small" v-model="limit"></el-input>
               </el-form-item>
             </el-col>
-            <el-col :xs="24" :sm="8" :lg="8" v-for="len in conditionBoxs">
-              <el-form-item label="配提比例">
-                <el-input size="small"></el-input>
+
+            <el-col
+              :xs="24"
+              :sm="8"
+              :lg="8"
+              v-for="(len, index) in conditionBoxs.length - 1"
+            >
+              <el-form-item :label="'配提' + (index + 1) + '比例'">
+              {{index}}
+                <el-input
+                  size="small"
+                  v-model="popArr['line_' + index]"
+                ></el-input>
               </el-form-item>
             </el-col>
           </el-form>
@@ -175,7 +180,6 @@
     <el-dialog :visible.sync="VisibleModle" width="70%" center>
       <div>
         <el-container>
-
           <el-header height="">
             <el-form label-width="0" :inline="false" size="small">
               <el-col :xs="24" :sm="8" :lg="8" :offset="0">
@@ -364,14 +368,13 @@ import {
   getConditionMaterialList,
   getMaterialList,
   getConditionMaterialDetail,
-} from "@/api/supply/sales";
+} from "@/api/policy_list";
 import TabelTransfer from "./TabelTransfer.vue";
 
-import { mapState} from "vuex";
+import { mapState } from "vuex";
 import AddModel from "./AddModel";
 import Minxin from "@/mixin";
 
-
 export default {
   mixins: [Minxin],
   props: {
@@ -379,6 +382,10 @@ export default {
       type: String,
       default: "",
     },
+    policyId:{
+      type:String,
+      default:""
+    }
   },
   data() {
     return {
@@ -420,44 +427,54 @@ export default {
       arrIndex: 0,
 
       popArr: {},
-
     };
   },
   created() {
     this.getCommonApi();
   },
-   computed: mapState({
+  computed: mapState({
     comCode: (state) => state.sales.code,
   }),
-    updated() {
-
-    },
+  updated() {},
   methods: {
-    getList() {
-
-    },
-    handleBack(){
-      if (this.$parent.isShow==10) {
-          this.$parent.isShow = 8
-      }else{
-        this.$parent.isCondition =0
+    getList() {},
+    handleBack() {
+      if (this.$parent.isShow == 10) {
+        this.$parent.isShow = 8;
+      } else {
+        this.$parent.isCondition = 0;
       }
-
     },
     getCommonApi() {
       if (this.id) {
-        var i = 1;
-        getConditionMaterialDetail({ id: this.id }).then((res) => {
-          this.pop = res.data;
-          while (i <= 2) {
-            getConditionMaterialList({pageNum:1,pageSize:10,policyConditionId:this.id,popType:i}).then((res) => {
-                this.conditionBoxs = res.data.records
-              i++;
-            });
 
-            i++;
-          }
-        });
+        getConditionMaterialDetail({ id: this.policyId }).then((res) => {
+          this.pop = res.data.pop
+
+            let pop = res.data.pop.split(":");
+            for (let i = 0; i < pop.length; i++) {
+                 if (i == 0) {
+                   this.limit = pop[i];
+                   continue
+               }
+
+              this.$set(this.popArr,"line_" + i-1,pop[i])
+            }
+
+              for (let k = 0; k <pop.length ; k++) {
+               getConditionMaterialList({
+                pageNum: 1,
+                pageSize: -1,
+                policyConditionId:res.data.id,
+                popType: k+1,
+                  }).then((res) => {
+
+                this.conditionBoxs.push(res.data.records);
+                  });
+              }
+                  console.log(this.conditionBoxs);
+
+        })
       }
     },
     toggleSelection(rows) {
@@ -477,9 +494,9 @@ export default {
       for (let i = 0; i < this.conditionBox.length; i++) {
         for (let j = 0; j < this.conditionBox[i].length; j++) {
           this.conditionBox[i][j].popType = i + 1;
-               this.conditionBox[i][j].policyId = this.comCode
-               this.conditionBox[i][j].id = ''
-                  //  this.conditionBox[i][j].policyMaterialId =this.conditionBox[i][j].materialId
+          this.conditionBox[i][j].policyId = this.comCode;
+          this.conditionBox[i][j].id = "";
+          //  this.conditionBox[i][j].policyMaterialId =this.conditionBox[i][j].materialId
         }
         tableData = [...tableData, ...this.conditionBox[i]];
       }
@@ -489,7 +506,6 @@ export default {
       }
       var pop = [this.limit];
       for (const key in this.popArr) {
-
         pop.push(this.popArr[key]);
       }
       console.log(pop.join(":"));
@@ -502,11 +518,10 @@ export default {
       };
       addPoliyCondition(params).then((res) => {
         this.$successMsg("添加成功");
-        this.$parent.isCondition = 0
-        this.$parent.isFlag = 1
-        this.$emit('handleSubmitCon',this.comCode)
+        this.$parent.isCondition = 0;
+        this.$parent.isFlag = 1;
+        this.$emit("handleSubmitCon", this.comCode);
       });
-
     },
     handleSelectionChange(val) {
       this.multipleSelection = val;
@@ -566,7 +581,6 @@ export default {
       this.conditList2 = this.leftData;
 
       this.leftData = [];
-
     },
     handleAllDelete() {
       this.conditList2 = [];
@@ -594,14 +608,12 @@ export default {
               ...this.conditList2,
 
               ...this.conditionBox[i],
-
             ]);
             console.log(this.conditionBox);
           }
         }
         this.VisibleModle = false;
         this.conditList2 = [];
-
       } else {
         this.$errorMsg("请选择内容");
       }

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

@@ -284,7 +284,7 @@ import {
   deleteCondition,
   getConditionList,
   deleteMaterialPolicy,
-} from "@/api/supply/sales";
+} from "@/api/policy_list";
 import { downloadFiles, handleImport } from "@/utils/util";
 import Transfer from "./Transfer";
 import AddCondition from "./AddCondition";

+ 1 - 1
src/views/sales_policy/components/Distributor.vue

@@ -205,7 +205,7 @@ import {
   getPolicyDetail,
   getCustomerList,
   eidtBatch,
-} from "@/api/supply/sales";
+} from "@/api/policy_list";
 import Minxin from "@/mixin";
 
 export default {

+ 26 - 13
src/views/sales_policy/components/Examine.vue

@@ -64,9 +64,9 @@
               <!-- <el-button size="small">查看</el-button> -->
             </el-col>
             <el-col :span="12" class="tr">
-              <el-button size="small" @click="$parent.isShow = 10"
+              <!-- <el-button size="small" @click="$parent.isShow = 10"
                 >查看条件</el-button
-              >
+              > -->
             </el-col>
           </el-row>
           <el-divider></el-divider>
@@ -161,7 +161,11 @@
               限定条件{{scope.$index+1}}
             </template>
           </el-table-column>
-
+         <el-table-column  label="操作" align="center"   width="80">
+            <template slot-scope="scope">
+               <el-button type="text" size="small" @click="$parent.isShow = 10,$parent.policyId=scope.row.id " >查看条件</el-button>
+            </template>
+          </el-table-column>
         </el-table>
         <el-row>
           <el-divider></el-divider>
@@ -217,7 +221,7 @@
           >
           </el-pagination>
         </div>
-        <div class="descriptions" v-if="$parent.isShow == 8  && detail.examineStatus == 'SAVE'">
+        <div class="descriptions" v-if="$parent.isShow == 8  && detail.examineStatus == 'WAIT'">
           <el-row>
             <el-col :span="6">审核人</el-col>
             <el-col :span="6">{{$store.getters.name}}</el-col>
@@ -233,11 +237,9 @@
           </el-row>
           <el-row>
             <el-col :span="4">审批说明</el-col>
-            <el-col :span="20" class="col" style="padding: 0">
+            <el-col :span="20" class="col value" style="padding: 0" >
               <el-input
-
-                  size="small"
-
+                size="small"
                 placeholder="请输入内容"
                 v-model="remark"
               >
@@ -246,7 +248,7 @@
           </el-row>
           <el-row>
             <el-button type="primary" size="small" @click="handleSubmit"
-              >审核</el-button
+              >审核通过</el-button
             >
           </el-row>
         </div>
@@ -262,7 +264,7 @@ import {
   getCustomerList,
   getConditionList,
   toExamine,
-} from "@/api/supply/sales";
+} from "@/api/policy_list";
 import Minxin from "@/mixin";
 import { ok } from "assert";
 
@@ -398,8 +400,19 @@ export default {
 .col {
   height: 100px;
 }
-.el-input.is-active .el-input__inner, .el-input__inner:focus {
-    border-color: #fff;
-    outline: 0;
+
+::v-deep .enterpriseName .el-input__inner {
+    width:100%;
+    background-color: #e8e8e8;
+    text-align: center;
+    border-color: #c0c4cc;
+    color:#000
+}
+::v-deep .el-input--small .el-input__inner{
+  height: 40px;
+  border: none;
+}
+::v-deep.el-input__inner:focus{
+      border-color:#fff !important;
 }
 </style>

+ 1 - 1
src/views/sales_policy/components/TabelTransfer.vue

@@ -4,7 +4,7 @@
 
 <script>
 import Minxin from "@/mixin";
-import { getId, getMaterialList } from "@/api/supply/sales";
+import { getId, getMaterialList } from "@/api/policy_list";
 import Pagination from "./Pagination";
 export default {
   mixins: [Minxin],

+ 2 - 3
src/views/sales_policy/components/Transfer.vue

@@ -121,7 +121,7 @@
 
 <script>
 import Minxin from "@/mixin";
-import { getCrList } from "@/api/supply/sales";
+import { getCrList } from "@/api/policy_list";
 export default {
   mixins: [Minxin],
   data() {
@@ -151,7 +151,7 @@ export default {
       const customerParams = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
-        keyword: this.region == 1 || this.region =='' ? '' : this.keyword,
+        keyword: this.region == 1 || this.region == "" ? "" : this.keyword,
         region: this.region == 1 ? this.keyword : "",
       };
       // 获取经销商列表
@@ -198,7 +198,6 @@ export default {
       }
     },
     handleSubmit() {
-
       this.$emit("handleAddPolicy", this.dataR);
     },
   },

+ 17 - 3
src/views/sales_policy/policy_list.vue

@@ -181,14 +181,16 @@
             >
             <el-button
               type="text"
+                 v-if="scope.row.examineStatus=='WAIT'"
               @click="
-                (isShow = 8), (id = scope.row.id), (code = scope.row.code)
+                (isShow = 8), (id = scope.row.id),policyId=scope.row.policyId, (code = scope.row.code)
               "
               size="small"
               >审核</el-button
             >
             <!-- </el-popconfirm> -->
             <el-popconfirm
+            v-if="scope.row.examineStatus=='SAVE'"
               style="margin-left: 10px"
               title="提审?"
               @onConfirm="handlesubmit(scope.row)"
@@ -216,6 +218,15 @@
 
           </template>
         </el-table-column>
+        <el-table-column label="状态" width="120" align="center">
+          <template slot-scope="scope">
+            <el-tag v-if="scope.row.examineStatus == 'SAVE'">保存</el-tag>
+            <el-tag v-else-if="scope.row.examineStatus == 'WAIT'">待审核 </el-tag>
+              <el-tag v-else-if="scope.row.examineStatus == 'OK'">通过 </el-tag>
+                <el-tag v-else>不通过 </el-tag>
+
+          </template>
+        </el-table-column>
         <el-table-column
           prop="code"
           label="销售政策编号"
@@ -291,7 +302,7 @@
     </div>
   </div>
   <AddPolicy v-else-if="isShow == 2" />
-  <!-- <AddCondition v-else-if="isShow == 3 || isShow == 6" :id="id" /> -->
+  <AddCondition v-else-if="isShow == 10 " :id="id" :policyId="policyId"/>
   <Examine v-else />
 </template>
 
@@ -302,7 +313,7 @@ import {
   deletePolicy,
   getpolicySubmit,
   toExamine,
-} from "@/api/supply/sales";
+} from "@/api/policy_list";
 import Minxin from "@/mixin";
 import { downloadFiles, handleImport } from "@/utils/util";
 import AddPolicy from "./components/AddPolicy";
@@ -319,6 +330,7 @@ export default {
       id: "",
       code: "",
       codeId: "",
+      policyId:"",
       isShow: 1,
       dataList: [],
       screenForm: {
@@ -396,6 +408,7 @@ export default {
       };
       getList(params).then((res) => {
         this.dataList = res.data.records;
+        this.listTotal = res.data.total
       });
       const paramsType = {
         pageNum: 1,
@@ -451,6 +464,7 @@ export default {
     handlesubmit(e) {
         getpolicySubmit({ policyId: e.id }).then((res) => {
           this.$successMsg("已提交");
+          this.getList()
         });
       // if (e.examineStatus == "SAVE") {
 

+ 11 - 3
src/views/sales_rebate/rebate_list.vue

@@ -238,7 +238,7 @@ export default {
         mainName: "",
         saleTypeCode: "",
         saleTypeName: "",
-        status: true,
+        status: '',
       },
       dialogForm: {
         name: "",
@@ -247,7 +247,7 @@ export default {
         saleTypeCode: "",
         saleTypeName: "",
         rabateRate: "",
-        status: true,
+        status: '',
       },
       dataList: [],
       columns: [
@@ -298,6 +298,10 @@ export default {
         },
       ],
       options: [
+         {
+          value: '',
+          label: "状态",
+        },
         {
           value: true,
           label: "已启用",
@@ -424,4 +428,8 @@ export default {
 };
 </script>
 
-<style scoped></style>
+<style scoped>
+
+.el-switch.is-disabled {
+  opacity: inherit;
+}</style>

+ 51 - 28
src/views/sales_rebate/salestype_list.vue

@@ -4,7 +4,6 @@
       <el-form
         ref="screenForm"
         :model="screenForm"
-
         size="small"
         label-position="left"
       >
@@ -149,12 +148,16 @@
       </div>
     </div>
     <div>
-      <el-dialog :visible.sync="dialogVisible" width="50%"  @close="resetForm"
-          :close-on-click-modal="false">
+      <el-dialog
+        :visible.sync="dialogVisible"
+        width="50%"
+        @close="resetForm"
+        :close-on-click-modal="false"
+      >
         <el-form
           ref="dialogForm"
           :model="dialogForm"
-           :rules="type==1?rules:''"
+          :rules="type == 1 ? rules : ''"
           label-width="120px"
           size="normal"
         >
@@ -162,10 +165,20 @@
             <el-input v-model="dialogForm.saleCode"></el-input>
           </el-form-item>
           <el-form-item label="销售类型名称" prop="saleName">
-            <el-input v-model="dialogForm.saleName" ></el-input>
+            <el-input v-model="dialogForm.saleName"></el-input>
           </el-form-item>
           <el-form-item label="品类" prop="mainName">
-            <el-input v-model="dialogForm.mainName"></el-input>
+            <el-select v-model="dialogForm.mainName">
+              <el-option
+                v-for="(item, index) in productList"
+                :key="index"
+                :label="item.productCategoryName"
+                :value="item.productCategoryName"
+              >
+              </el-option>
+            </el-select>
+
+            <!-- <el-input v-model="dialogForm.mainName"></el-input> -->
           </el-form-item>
           <el-form-item label="状态" prop="status">
             <el-switch
@@ -178,7 +191,9 @@
           </el-form-item>
         </el-form>
         <span slot="footer" class="dialog-footer">
-          <el-button @click="dialogVisible = false,resetForm()">取 消</el-button>
+          <el-button @click="(dialogVisible = false), resetForm()"
+            >取 消</el-button
+          >
           <el-button type="primary" @click="handelInfo">确 定</el-button>
         </span>
       </el-dialog>
@@ -195,6 +210,7 @@ import {
   addData,
   updateType,
   getDetail,
+  getProductList,
 } from "@/api/supply/sales";
 
 export default {
@@ -280,10 +296,17 @@ export default {
         },
       ],
       rules: {
-        saleCode: [{required: true,message: '请输入销售类型编码', trigger: 'blur'}],
-        saleName: [{required: true,message: '请输入销售类型名称', trigger: 'blur'}],
-           mainName: [{required: true,message: '请输入品类名称', trigger: 'blur'}],
+        saleCode: [
+          { required: true, message: "请输入销售类型编码", trigger: "blur" },
+        ],
+        saleName: [
+          { required: true, message: "请输入销售类型名称", trigger: "blur" },
+        ],
+        mainName: [
+          { required: true, message: "请输入品类名称", trigger: "blur" },
+        ],
       },
+      productList: [],
     };
   },
   methods: {
@@ -301,6 +324,12 @@ export default {
         this.listTotal = res.data.total;
         this.listLoading = false;
       });
+      getProductList({
+        productCategoryName: "",
+        productCategoryNumber: "",
+      }).then((res) => {
+        this.productList = res.data;
+      });
     },
     hanleDatele(id) {
       this.hanleDeleteAllPromise(id).then((ids) => {
@@ -331,25 +360,22 @@ export default {
       this.type = 3;
     },
     handelInfo() {
-
       if (this.type == 1) {
-            this.$refs.dialogForm.validate((valid) => {
+        this.$refs.dialogForm.validate((valid) => {
           if (valid) {
-          const params = {
-          ...this.dialogForm,
-        };
-        addData(params).then((res) => {
-          console.log(res);
-          this.$successMsg("添加成功");
-          this.hanleReset();
-
-        });
+            const params = {
+              ...this.dialogForm,
+            };
+            addData(params).then((res) => {
+              console.log(res);
+              this.$successMsg("添加成功");
+              this.hanleReset();
+            });
           } else {
-            console.log('error submit!!');
+            console.log("error submit!!");
             return false;
           }
         });
-
       } else if (this.type == 0) {
         const upParams = {
           ...this.dialogForm,
@@ -358,18 +384,15 @@ export default {
           this.$successMsg("修改成功");
 
           this.hanleReset();
-
         });
       } else {
         this.dialogVisible = false;
       }
     },
-     resetForm(formName) {
-        this.$refs.dialogForm.resetFields();
-
+    resetForm(formName) {
+      this.$refs.dialogForm.resetFields();
     },
     hanleReset() {
-
       this.dialogForm = {
         id: "",
         saleCode: "",

+ 1 - 1
src/views/supply/deliver/components/deliver_detail.vue

@@ -159,7 +159,7 @@
 
 <script>
 import print from 'vue-print-nb'
-import { getDeliverDetail } from "@/api/supply/return";
+import { getDeliverDetail } from "@/api/supply/deliver";
 
 export default {
   name: 'DeliverDetail',

+ 86 - 9
src/views/supply/deliver/deliver_list.vue

@@ -62,24 +62,26 @@
         </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="center" label="发货单号" prop="shipOrderNo" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="发货日期" prop="shipTime" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="仓库" prop="stockName" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="发货单号" prop="id" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="发货日期" prop="orderTime" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="仓库" prop="correspondName" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="经销商" prop="customerName" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="产品名称" prop="productName" min-width="160" 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="totalPrice" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="无税金额" prop="price" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
-                {{ scope.row.number * scope.row.price }}
+                {{ scope.row.qty * scope.row.price }}
               </template>
             </el-table-column>
             <el-table-column align="center" label="无税单价" prop="price" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="数量" prop="number" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="数量" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="备注" prop="remark" min-width="200" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="操作" width="120" fixed="right">
+            <el-table-column align="center" label="操作" width="200" fixed="right">
               <template slot-scope="scope">
                 <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
+                <el-button type="text" @click="getPassword(scope.row.id)">获取密码</el-button>
+                <el-button type="text" @click="openShareDetail(scope.row.id)">密码记录</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -99,6 +101,39 @@
         </div>
       </div>
     </div>
+
+    <!-- 密码记录 -->
+    <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%" 
+          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>
+          <el-table-column align="center" prop="createTime" label="打印时间"></el-table-column>
+        </el-table>
+      </div>
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @current-change="dialogTableCurrentChange"
+            :current-page="dialogTable_currentPage"
+            :page-size="dialogTable_pageSize"
+            background
+            layout="prev, pager, next"
+            :total="dialogTable_listTotal">
+          </el-pagination>
+        </div>
+      </div>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="isShowDialog = false">关 闭</el-button>
+      </div>
+    </el-dialog>
     
     <DeliverDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
 
@@ -106,8 +141,7 @@
 </template>
 
 <script>
-import { COMMON_SELECT } from '@/utils/select_data'
-import { getDeliverList } from "@/api/supply/deliver";
+import { getDeliverList, getPassword, getPasswordRecord } from "@/api/supply/deliver";
 import DeliverDetail from "@/views/supply/deliver/components/deliver_detail";
 
 export default {
@@ -130,6 +164,13 @@ export default {
         date: '',
       },
 
+      isShowDialog: false, // 密码记录 - 弹窗
+      dialogTable_dataList: null, // 密码记录 - 列表数据
+      dialogTable_listLoading: true, // 密码记录 - 列表加载loading
+      dialogTable_currentPage: 1, // 密码记录 - 当前页码
+      dialogTable_pageSize: 10, // 密码记录 - 每页数量
+      dialogTable_listTotal: 0, // 密码记录 - 列表总数
+
       queryItem: {},
     }
   },
@@ -221,6 +262,42 @@ export default {
     backList() {
       this.queryItem = {};
     },
+
+    // 获取密码
+    getPassword(id) {
+      getPassword({id}).then(res => {
+        this.$alert(res.data, '新密码', {
+          confirmButtonText: '确定',
+          callback: action => {}
+        });
+      })
+    },
+
+    // 密码记录 - 获取列表
+    getPasswordRecord(id) {
+      getPasswordRecord({
+        pageNum: this.dialogTable_currentPage,
+        pageSize: this.dialogTable_pageSize,
+        id
+      }).then(res => {
+        this.dialogTable_dataList = res.data.records;
+        this.dialogTable_listTotal = res.data.total;
+        this.dialogTable_listLoading = false;
+      })
+    },
+
+    // 密码记录 - 打开弹窗
+    openShareDetail(id) {
+      this.isShowDialog = true;
+      this.dialogTable_currentPage = 1;
+      this.getPasswordRecord(id);
+    },
+
+    // 密码记录 - 更改列表当前页
+    dialogTableCurrentChange(val) {
+      this.dialogTable_currentPage = val;
+      this.getPasswordRecord();
+    },
   }
 }
 </script>

+ 368 - 47
src/views/supply/engin/components/home_form.vue

@@ -6,17 +6,17 @@
       <div class="title">工程订单</div>
     </div>
 
-    <el-form ref="mainForm" :model="mainForm" label-width="100px" size="small" label-position="left">
+    <el-form ref="mainForm" :model="mainForm" :rules="mainFormRules" label-width="110px" size="small" label-position="right">
       <el-row :gutter="20">
         <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="工程订单" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入工程订单"></el-input>
+          <el-form-item label="工程订单" prop="orderNum">
+            <el-input v-model="mainForm.orderNum" placeholder="系统自动生成" readonly></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-form-item label="单据日期" prop="orderDate">
             <el-date-picker
-              v-model="mainForm.date"
+              v-model="mainForm.orderDate"
               type="date"
               value-format="yyyy-MM-dd"
               style="width: 100%;"
@@ -25,79 +25,102 @@
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="品类" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入品类"></el-input>
+          <el-form-item label="产品大类" prop="type">
+            <el-select v-model="mainForm.type" placeholder="选择产品大类" style="width: 100%" 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="8">
-          <el-form-item label="工程登录单号" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入工程登录单号"></el-input>
+          <el-form-item label="经销商编码" prop="jxsNum">
+            <el-input v-model="mainForm.jxsNum" placeholder="请输入经销商编码" readonly></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" placeholder="请输入经销商名称" readonly></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="8">
+          <el-form-item label="工程登录编号" prop="loginNum">
+            <div style="display: flex;">
+              <el-input v-model="mainForm.loginNum" placeholder="请选择工程登录" readonly></el-input>
+              <el-button style="margin-left: 10px;" @click="openShareDetail" :disabled="mainForm.loginNum !== ''">选择</el-button>
+            </div>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="项目名称" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入项目名称"></el-input>
+          <el-form-item label="工程项目名称" prop="enginName">
+            <el-input v-model="mainForm.enginName" placeholder="请选择工程登录" readonly></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="单据类型" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入单据类型"></el-input>
+          <el-form-item label="工程登录类型" prop="loginType">
+            <el-input v-model="mainForm.loginType" placeholder="请选择工程登录" readonly></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="经销商编码" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入经销商编码"></el-input>
+          <el-form-item label="厂工程编码" prop="factoryNum">
+            <el-input v-model="mainForm.factoryNum" placeholder="请输入厂工程编码"></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="使用单位" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入使用单位"></el-input>
+          <el-form-item label="使用单位" prop="company">
+            <el-input v-model="mainForm.company" placeholder="请选择工程登录" readonly></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="安装地址" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入安装地址"></el-input>
+          <el-form-item label="销售类型" prop="saleType">
+            <el-select v-model="mainForm.saleType" placeholder="选择销售类型" style="width: 100%" clearable>
+              <el-option v-for="item in salesTypeList" :key="item.id" :label="item.saleName" :value="item.id"></el-option>
+            </el-select>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="工程编号" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入工程编号"></el-input>
+          <el-form-item label="联系人" prop="contactMan">
+            <el-input v-model="mainForm.contactMan" placeholder="请选择工程登录" readonly></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="厂工程编码" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入厂工程编码"></el-input>
+          <el-form-item label="固定电话" prop="tel">
+            <el-input v-model="mainForm.tel" placeholder="请选择工程登录" readonly></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="工程登录类型" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入工程登录类型"></el-input>
+          <el-form-item label="移动电话" prop="phone">
+            <el-input v-model="mainForm.phone" placeholder="请选择工程登录" readonly></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="24">
+          <el-form-item label="安装地址" prop="address">
+            <el-input v-model="mainForm.address" placeholder="请选择工程登录" readonly></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="24" :lg="24">
-          <el-form-item label="格力回复" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入格力回复"></el-input>
+          <el-form-item label="格力内部备注" prop="greeRemark">
+            <el-input v-model="mainForm.greeRemark" placeholder="请输入格力内部备注"></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="24" :lg="24">
-          <el-form-item label="格力内部备注" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入格力内部备注"></el-input>
+          <el-form-item label="格力回复" prop="greeReply">
+            <el-input v-model="mainForm.greeReply" placeholder="请输入格力回复"></el-input>
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="24" :lg="24">
-          <el-form-item label="备注" prop="warehouse">
+          <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="12" :lg="8">
-          <el-form-item label="制单人" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入制单人"></el-input>
+          <el-form-item label="制单人" prop="createMan">
+            <el-input v-model="mainForm.createMan" placeholder="请输入制单人" readonly></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-form-item label="制单日期" prop="createDate">
             <el-date-picker
-              v-model="mainForm.date"
+              v-model="mainForm.createDate"
+              readonly
               type="date"
               value-format="yyyy-MM-dd"
               style="width: 100%;"
@@ -106,8 +129,8 @@
           </el-form-item>
         </el-col>
         <el-col :xs="24" :sm="12" :lg="8">
-          <el-form-item label="文件编号" prop="warehouse">
-            <el-input v-model="mainForm.remark" placeholder="请输入文件编号"></el-input>
+          <el-form-item label="文件编号" prop="fileNum">
+            <el-input v-model="mainForm.fileNum" placeholder="请输入文件编号"></el-input>
           </el-form-item>
         </el-col>
       </el-row>
@@ -115,28 +138,53 @@
 
     <div class="main-title">
       <div class="title">货品信息</div>
-      <el-button type="primary" size="small" icon="el-icon-plus">添加货品</el-button>
+      <div>
+        <el-select v-model="warehouseValue" placeholder="请选择发货仓库" size="small" style="margin-right: 10px">
+          <el-option :label="item.name" :value="item.id" v-for="(item, index) in warehouseList" :key="index"></el-option>
+        </el-select>
+        <el-button type="primary" size="small" icon="el-icon-search" @click="checkStock">检查库存</el-button>
+      </div>
     </div>
 
     <div class="table" style="margin-top: 20px">
-      <el-table :data="detailData.kingDeeTransferItems" element-loading-text="Loading" border fit highlight-current-row stripe max-height="400">
+      <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="center" label="引用记录" prop="materialNumber" min-width="160" 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="model" min-width="160" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="物料代码" prop="model" min-width="160" show-overflow-tooltip></el-table-column>
         <el-table-column align="center" label="产品名称" prop="baseUnitId" min-width="160" show-overflow-tooltip></el-table-column>
         <el-table-column align="center" label="规格型号" prop="qty" min-width="160" show-overflow-tooltip></el-table-column>
         <el-table-column align="center" label="单位" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
-        <el-table-column align="center" label="总数量" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
-        <el-table-column align="center" label="是否使用返利" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
-        <el-table-column align="center" label="返利使用比例" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="单价" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="工程登录数量" prop="qty" min-width="120" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="数量" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="订单金额" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="返利类型" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="使用返利金额" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="格力折扣" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="现金钱包" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="实付金额" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
         <el-table-column align="center" label="是否直调" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
         <el-table-column align="center" label="直调数量" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
         <el-table-column align="center" label="已发货数量" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
-        <el-table-column align="center" label="单价" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
-        <el-table-column align="center" label="金额" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
-        <el-table-column align="center" label="返利" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
         <el-table-column align="center" label="备注" prop="qty" min-width="160" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="税率" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="总仓库" prop="status1" min-width="100" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <div>{{ scope.row.status1 | status1Filter }}</div>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" label="仓库状态" prop="status2" min-width="100" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <div>{{ status2Filter(scope.row) }}</div>
+          </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>
     
@@ -150,22 +198,148 @@
       </div>
     </div>
 
+    <!-- 工程登录列表 -->
+    <el-dialog title="工程登录列表" :visible.sync="isShowDialog" width="70%" :close-on-click-modal="false">
+      <el-form ref="screenForm" :model="screenForm" label-width="0" size="small" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item prop="loginNum">
+              <el-input v-model="screenForm.loginNum" placeholder="工程登录编号"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item prop="enginName">
+              <el-input v-model="screenForm.enginName" placeholder="工程项目"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item prop="company">
+              <el-input v-model="screenForm.company" placeholder="使用单位"></el-input>
+            </el-form-item>
+          </el-col>
+          
+          <el-col :xs="24" :sm="12" :lg="6" class="tr">
+            <el-form-item label="">
+              <el-button size="small" @click="resetScreenForm">清空</el-button>
+              <el-button size="small" type="primary" @click="submitScreenForm">搜索</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <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%" 
+          max-height="270">
+          <el-table-column align="center" label="" width="100">
+            <template slot-scope="scope">
+              <el-button type="primary" size="small" @click="chooseItem(scope.row.recordNo)">选择</el-button>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="checkTime" label="工程登录日期" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" prop="recordNo" label="工程登录编号" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" prop="projectName" label="工程项目" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" prop="useUnit" label="使用单位" show-overflow-tooltip></el-table-column>
+        </el-table>
+      </div>
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @current-change="dialogTableCurrentChange"
+            :current-page="dialogTable_currentPage"
+            :page-size="dialogTable_pageSize"
+            background
+            layout="prev, pager, next"
+            :total="dialogTable_listTotal">
+          </el-pagination>
+        </div>
+      </div>
+      
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="isShowDialog = false">关 闭</el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
 <script>
-import { getDetail } from "@/api/supply/engin";
+import { getOrderDetail, getHomeLoginList, getWarehouseList, addHome, editHome, checkStock } from "@/api/supply/engin";
+import { getDictList, getTypeList } from '@/api/common'
 
 export default {
   name: 'HomeForm',
   componentName: 'HomeForm',
   props: ['listItem'],
+  filters: {
+    status1Filter(val) {
+      if (val === '' || val === null || val === undefined) return '未检查';
+      else if (val === 0) return '无货';
+      else if (val > 0 && val <= 30) return val;
+      else if (val > 30 && val <= 1000) return '有货';
+      else if (val > 1000) return '充足';
+    },
+  },
   data() {
     return {
       detailData: {},
       mainForm: {
+        orderNum: '',
+        orderDate: '',
+        type: '',
+        jxsNum: '',
+        jxsName: '',
+        loginNum: '',
+        enginName: '',
+        loginType: '',
+        factoryNum: '',
+        company: '',
+        saleType: '',
+        contactMan: '',
+        tel: '',
+        phone: '',
+        address: '',
+        greeRemark: '',
+        greeReply: '',
+        remark: '',
+        createMan: '',
+        createDate: '',
+        fileNum: '',
+      },
+      mainFormRules: {
+        orderDate: [{ required: true, message: '请选择单据日期', trigger: 'change' }],
+        jxsNum: [{ required: true, message: '请输入经销商编码', trigger: 'blur' }],
+        jxsName: [{ required: true, message: '请输入经销商名称', trigger: 'blur' }],
+        loginNum: [{ required: true, message: '请输入工程登录编号', trigger: 'blur' }],
+        enginName: [{ required: true, message: '请输入工程项目名称', trigger: 'blur' }],
+        loginType: [{ required: true, message: '请输入工程登录类型', trigger: 'blur' }],
+        company: [{ required: true, message: '请输入使用单位', trigger: 'blur' }],
+        contactMan: [{ required: true, message: '请输入联系人', trigger: 'blur' }],
+        tel: [{ required: true, message: '请输入固定电话', trigger: 'blur' }],
+        phone: [{ required: true, message: '请输入移动电话', trigger: 'blur' }],
+        address: [{ required: true, message: '请输入安装地址', trigger: 'blur' }],
+      },
+      salesTypeList: [],
+      typeList: [],
+      goodsList: [],
 
+      isShowDialog: false, // 工程登录列表 - 弹窗
+      screenForm: {
+        loginNum: '',
+        enginName: '',
+        company: '',
       },
+      dialogTable_dataList: null, // 工程登录列表 - 列表数据
+      dialogTable_listLoading: true, // 工程登录列表 - 列表加载loading
+      dialogTable_currentPage: 1, // 工程登录列表 - 当前页码
+      dialogTable_pageSize: 10, // 工程登录列表 - 每页数量
+      dialogTable_listTotal: 0, // 工程登录列表 - 列表总数
+
+      warehouseList: [],
+      warehouseValue: '',
     }
   },
 
@@ -182,7 +356,18 @@ export default {
   },
 
   created() {
-    this.getDetail();
+    this.getDictList();
+    this.getSalesTypeList();
+    this.getWarehouseList();
+
+    if(this.listItem) {
+      this.getDetail();
+    }else {
+      this.mainForm.jxsNum = JSON.parse(localStorage.getItem("supply_user")).customerId;
+      this.mainForm.jxsName = JSON.parse(localStorage.getItem("supply_user")).customerName;
+      this.mainForm.createMan = JSON.parse(localStorage.getItem("supply_user")).nickName;
+      this.mainForm.createDate = this.getDate();
+    }
   },
 
   methods: {
@@ -191,13 +376,141 @@ export default {
       this.$emit('backListFormDetail');
     },
 
+    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;
+    },
+
+    // 获取产品大类列表
+    getDictList() {
+      getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
+        this.typeList = res.data;
+      })
+    },
+
+    // 获取销售类型列表
+    getSalesTypeList() {
+      getTypeList({
+        pageNum: 1,
+        pageSize: -1
+      }).then((res) => {
+        this.salesTypeList = res.data.records;
+      })
+    },
+
+    // 获取仓库列表
+    getWarehouseList() {
+      getWarehouseList({
+        pageNum: 1,
+        pageSize: -1
+      }).then((res) => {
+        this.warehouseList = res.data.records;
+      })
+    },
+
     // 获取详情
     getDetail() {
-      getDetail({id: this.listItem.id}).then(res => {
+      getOrderDetail({id: this.listItem.id}).then(res => {
         this.detailData = res.data;
       })
     },
 
+    // 工程登录列表 - 获取列表
+    getHomeLoginList() {
+      getHomeLoginList({
+        pageNum: this.dialogTable_currentPage,
+        pageSize: this.dialogTable_pageSize,
+        recordNo: this.screenForm.loginNum,
+        projectName: this.screenForm.enginName,
+        useUnit: this.screenForm.company,
+      }).then(res => {
+        this.dialogTable_dataList = res.data.records;
+        this.dialogTable_listTotal = res.data.total;
+        this.dialogTable_listLoading = false;
+      })
+    },
+
+    // 工程登录列表 - 打开弹窗
+    openShareDetail() {
+      this.isShowDialog = true;
+      this.dialogTable_currentPage = 1;
+      this.getHomeLoginList();
+    },
+
+    // 工程登录列表 - 更改列表当前页
+    dialogTableCurrentChange(val) {
+      this.dialogTable_currentPage = val;
+      this.getHomeLoginList();
+    },
+
+    // 提交筛选表单
+    submitScreenForm() {
+      this.dialogTable_currentPage = 1;
+      this.getHomeLoginList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.dialogTable_currentPage = 1;
+      this.getHomeLoginList();
+    },
+
+    // 选择工程登录
+    chooseItem(id) {
+      addHome({refEnginRecordNo: id}).then(res => {
+        this.isShowDialog = false;
+      })
+    },
+
+    // 删除产品
+    deleteItem(index) {
+      this.goodsList.splice(index, 1);
+    },
+
+    // 检查库存
+    checkStock() {
+      if(!this.warehouseValue) {
+        return this.$errorMsg('请选择仓库');
+      }
+      if(!this.goodsList) {
+        return this.$errorMsg('请添加货品');
+      }
+      let ids = [];
+      this.goodsList.forEach(item => {
+        ids.push(item.materialId);
+      })
+      checkStock({
+        correspondId: this.warehouseValue,
+        materialId: ids.join(',')
+      }).then(res => {
+        if(res.data) {
+          this.goodsList.forEach((item, index) => {
+            item.status1 = res.data[index].allStockNum;
+            item.status2 = res.data[index].stockNum;
+          })
+        }
+      })
+    },
+
+    status2Filter(item) {
+      if (item.status2 === '' || item.status2 === null || item.status2 === undefined) return '未检查';
+      else if (item.status2 >= item.qty) return '可用';
+      else return '短缺';
+    },
+
+
     clickSubmitForm() {
 
     },
@@ -224,4 +537,12 @@ export default {
       padding-left: 10px;
     }
   }
+
+  ::v-deep input::-webkit-outer-spin-button,
+  ::v-deep input::-webkit-inner-spin-button {
+    -webkit-appearance: none;
+  }
+  ::v-deep input[type='number'] {
+    -moz-appearance: textfield;
+  }
 </style>

+ 105 - 71
src/views/supply/engin/home_list.vue

@@ -6,14 +6,10 @@
         <el-form ref="screenForm" :model="screenForm" label-width="100px" size="small" 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" size="medium">
-                  <el-radio-button label="1">全部</el-radio-button>
-                  <el-radio-button label="2">已保存</el-radio-button>
-                  <el-radio-button label="3">待审核</el-radio-button>
-                  <el-radio-button label="3">审核通过</el-radio-button>
-                  <el-radio-button label="3">审核驳回</el-radio-button>
-                  <el-radio-button label="3">已退单</el-radio-button>
+              <el-form-item prop="status" label-width="0">
+                <el-radio-group v-model="screenForm.status" size="medium" @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>
@@ -23,18 +19,18 @@
               </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 label="工程编码" prop="enginNum">
+                <el-input v-model="screenForm.enginNum" 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 label="工程登录单号" prop="loginNum">
+                <el-input v-model="screenForm.loginNum" 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 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">
@@ -51,27 +47,22 @@
               </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 label="销售类型" prop="saleType">
+                <el-input v-model="screenForm.saleType" 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 label="制表人" prop="createMan">
+                <el-input v-model="screenForm.createMan" 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="model">
-                <el-input v-model="screenForm.model" placeholder="请输入审核人"></el-input>
+              <el-form-item label="审核人" prop="examineMan">
+                <el-input v-model="screenForm.examineMan" placeholder="请输入审核人"></el-input>
               </el-form-item>
             </el-col>
             
-            <el-col :xs="24" :sm="12" :lg="18" class="tr">
+            <el-col :xs="24" :sm="24" :lg="24" class="tr">
               <el-form-item label="">
                 <el-button size="small" @click="resetScreenForm">清空</el-button>
                 <el-button size="small" type="primary" @click="submitScreenForm">搜索</el-button>
@@ -92,28 +83,41 @@
         </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="center" label="工程订单号" prop="shipOrderNo" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="单据日期" prop="shipTime" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="工程编码" prop="stockName" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="工程登录单号" prop="projectNumber" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="工程名称" prop="projectName" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="使用单位" prop="unit" 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="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="规格型号" prop="number" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="单位" prop="number" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="总数量" prop="remark" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="是否直调" prop="customerNumber" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="直调数量" prop="customerName" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="单价" prop="productName" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="金额" prop="createBy" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="返利使用比例" prop="createTime" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="返利" prop="createBy" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="制表人" prop="createTime" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="制表日期" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="审核人" prop="aaa" min-width="200" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="审核日期" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="审核状态" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" 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="工程订单号" prop="enginOrderNo" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="订单日期" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="工程登录单号" prop="refEnginRecordNo" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="订单类型" prop="enginOrderType" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.enginOrderType | typeFilter}}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="工程名称" prop="refProjectName" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="销售类型" prop="saleTypeId" min-width="160" 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="baseUnitId" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="总数量" prop="qty" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="是否直调" prop="isDirectTransfer" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.isDirectTransfer ? '是':'否'}}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="直调数量" prop="directTransferQty" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="出库数量" prop="hasSendQty" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="单价" prop="enginPrice" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="金额" prop="enginTotality" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="返利钱包" prop="customerWalletName2" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="使用返利金额" prop="rebateAmount" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="业务员" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="制表人" prop="createName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="制表日期" prop="createTime" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="审核人" prop="confirmName" min-width="200" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="审核日期" prop="confirmTime" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="操作" width="160" fixed="right">
               <template slot-scope="scope">
                 <el-button type="text" @click="toForm(scope.row)">编辑</el-button>
@@ -148,15 +152,29 @@
 </template>
 
 <script>
-import { getList } from "@/api/supply/engin";
+import { getOrderList } from "@/api/supply/engin";
 import HomeDetail from "@/views/supply/engin/components/home_detail";
 import HomeForm from "@/views/supply/engin/components/home_form";
 
+let that
 export default {
   components: {
     HomeDetail,
     HomeForm,
   },
+  filters: {
+    statusFilter(val) {
+      let obj = that.statusList.find(o => o.value == val);
+      return obj ? obj.label : ''
+    },
+    typeFilter(val) {
+      const MAP = {
+        TRADE: '商用',
+        HOME: '家用',
+      }
+      return MAP[val];
+    }
+  },
   data() {
     return {
       currentPage: 1, // 当前页码
@@ -166,13 +184,21 @@ export default {
       listLoading: false, // 列表加载loading
       screenForm: { // 筛选表单数据
         orderNum: '',
-        jxsName: '',
-        chName: '',
-        model: '',
+        enginNum: '',
+        loginNum: '',
+        enginName: '',
         date: '',
-        jxsNum: '',
-        status: '',
+        saleType: '',
+        createMan: '',
+        examineMan: '',
       },
+      statusList: [
+        { label: '已保存', value: 'SAVE' },
+        { label: '待审核', value: 'WAIT' },
+        { label: '审核通过', value: 'OK' },
+        { label: '审核驳回', value: 'FAIL' },
+        { label: '已关闭', value: 'CLOSE' },
+      ],
 
       queryItem: {},
       isShowDetail: false,
@@ -183,18 +209,24 @@ export default {
   computed: {
     exParams() {
       return {
-        retreatOrderNo: this.screenForm.orderNum,
-        customerNumber: this.screenForm.jxsNum,
-        customerName: this.screenForm.jxsName,
-        productName: this.screenForm.chName,
-        specification: this.screenForm.model,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
-        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
-        status: 2, // 1:发货单,2:工程发货单
+        enginOrderNo: this.screenForm.orderNum,
+        refProjectNo: this.screenForm.enginNum,
+        refEnginRecordNo: this.screenForm.loginNum,
+        refProjectName: this.screenForm.enginName,
+        startCreateTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endCreateTime: this.screenForm.date ? this.screenForm.date[1] : '',
+        saleTypeId: this.screenForm.saleType,
+        createName: this.screenForm.createMan,
+        confirmName: this.screenForm.examineMan,
+        enginOrderType: 'HOME', // TRADE=商用 HOME=家用
       }
     },
   },
 
+  beforeCreate() {
+    that = this;
+  },
+
   created() {
     this.getList();
   },
@@ -216,16 +248,18 @@ export default {
       let params = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
-        retreatOrderNo: this.screenForm.orderNum,
-        customerNumber: this.screenForm.jxsNum,
-        customerName: this.screenForm.jxsName,
-        productName: this.screenForm.chName,
-        specification: this.screenForm.model,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
-        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
-        status: 2, // 1:发货单,2:工程发货单
+        enginOrderNo: this.screenForm.orderNum,
+        refProjectNo: this.screenForm.enginNum,
+        refEnginRecordNo: this.screenForm.loginNum,
+        refProjectName: this.screenForm.enginName,
+        startCreateTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endCreateTime: this.screenForm.date ? this.screenForm.date[1] : '',
+        saleTypeId: this.screenForm.saleType,
+        createName: this.screenForm.createMan,
+        confirmName: this.screenForm.examineMan,
+        enginOrderType: 'HOME', // TRADE=商用 HOME=家用
       };
-      getList(params).then((res) => {
+      getOrderList(params).then((res) => {
         this.dataList = res.data.records;
         this.listTotal = res.data.total;
         this.listLoading = false;

+ 43 - 57
src/views/supply/pickup/book.vue → src/views/supply/pickup/components/pickup_form.vue

@@ -1,13 +1,16 @@
 <template>
-  <div class="app-container">
-    <!-- 筛选条件 -->
+  <div class="detail-container">
+
+    <el-page-header @back="goBack" :content="listItem ? '编辑':'新增'"></el-page-header>
+    <el-divider></el-divider>
+    
     <div>
       <el-form ref="mainForm" :model="mainForm" :rules="mainFormRules" label-width="80px" size="small" label-position="left">
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="选择仓库" prop="warehouse">
               <el-select v-model="mainForm.warehouse" placeholder="请选择仓库">
-                <el-option :label="item.name" :value="item.name" v-for="(item, index) in warehouseList" :key="index"></el-option>
+                <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>
@@ -29,29 +32,21 @@
           </el-col>
           <el-col :xs="24" :sm="12" :lg="12" style="height: 51px;">
             <el-form-item label="预约时段" prop="timeSlot">
-              <el-time-picker
-                is-range
-                v-model="mainForm.timeSlot"
-                style="width: 100%"
-                value-format="HH:mm:ss"
-                range-separator="至"
-                start-placeholder="开始时间"
-                end-placeholder="结束时间"
-                placeholder="选择时间范围">
-              </el-time-picker>
+              <el-radio-group v-model="mainForm.timeSlot">
+                <el-radio :label="1">上午</el-radio>
+                <el-radio :label="2">下午</el-radio>
+              </el-radio-group>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="提货方式" prop="pickupWay">
-              <el-select v-model="mainForm.pickupWay" placeholder="全部" style="width: 100%">
-                <el-option :label="item.dictValue" :value="item.dictCode" v-for="(item, index) in pickupWayList" :key="index"></el-option>
-              </el-select>
+              <el-radio-group v-model="mainForm.pickupWay">
+                <el-radio :label="item.dictCode" v-for="(item, index) in pickupWayList" :key="index">{{item.dictValue}}</el-radio>
+              </el-radio-group>
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="提货人" prop="pickupMan">
               <el-select v-model="mainForm.pickupMan" placeholder="全部" style="width: 100%">
@@ -73,7 +68,9 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :xs="24" :sm="12" :lg="12">
+        </el-row>
+        <el-row :gutter="20">
+          <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>
@@ -86,37 +83,20 @@
       <div class="table">
         <el-table v-loading="listLoading" :data="deliverList" element-loading-text="Loading" border fit highlight-current-row stripe @selection-change="handleSelectionChange">
           <el-table-column align="center" type="selection" width="55"></el-table-column>
-          <el-table-column type="expand">
-            <template slot-scope="props">
-              <div style="display: flex; margin: 0 -30px 0 -20px;">
-                <div style="line-height: 50px; font-weight: 600">产品信息</div>
-                <div class="diy-table-2" style="margin: 0 0 0 14px; flex: 1">
-                  <div class="head">
-                    <el-row :gutter="20">
-                      <el-col :span="5">产品编号</el-col>
-                      <el-col :span="10">产品名称</el-col>
-                      <el-col :span="3">规格型号</el-col>
-                      <el-col :span="3">单位</el-col>
-                      <el-col :span="3">数量</el-col>
-                    </el-row>
-                  </div>
-                  <div class="body">
-                    <el-row v-for="(item, index) in props.row.shipDocumentOrders" :key="index" :gutter="20">
-                      <el-col :span="5">{{ item.productNumber }}</el-col>
-                      <el-col :span="10">{{ item.productName }}</el-col>
-                      <el-col :span="3">{{ item.specification }}</el-col>
-                      <el-col :span="3">{{ item.unit }}</el-col>
-                      <el-col :span="3">{{ item.number }}</el-col>
-                    </el-row>
-                  </div>
-                </div>
-              </div>
+          <el-table-column align="center" label="发货申请单" prop="invoiceOrderId" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="单据日期" prop="orderTime" min-width="120" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ scope.row.orderTime | dateToDayFilter }}
             </template>
           </el-table-column>
-          <el-table-column align="center" label="发货单号" prop="shipOrderNo" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="单据日期" prop="createTime" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="工程编号" prop="factoryNumber" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="销售类型" prop="salesType" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="销售订单号" prop="retailOrderId" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="工程编号" prop="enginOrderNo" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="销售类型" prop="saleTypeName" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="产品编码" prop="materialCode" min-width="160" 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="center" label="数量" prop="approvalNumber" min-width="100" show-overflow-tooltip></el-table-column>
         </el-table>
       </div>
     </div>
@@ -139,6 +119,9 @@ import { getDictList } from "@/api/common";
 import { findElem } from "@/utils/util";
 
 export default {
+  name: 'PickupForm',
+  componentName: 'PickupForm',
+  props: ['listItem'],
   data() {
     return {
       deliverList: null, // 列表数据
@@ -207,6 +190,11 @@ export default {
       return true
     },
 
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
     // 获取仓库列表
     getWarehouseList() {
       getWarehouseList({
@@ -260,7 +248,7 @@ export default {
         return this.$errorMsg('请选择仓库');
       }
       this.listLoading = true;
-      getDeliverList({stockName: this.mainForm.warehouse}).then((res) => {
+      getDeliverList({correspondId: this.mainForm.warehouse}).then((res) => {
         this.deliverList = res.data;
         this.listLoading = false;
       })
@@ -274,7 +262,7 @@ export default {
       this.$refs.mainForm.validate((valid) => {
         if (valid) {
           if(this.tableSelection.length < 1) {
-            return this.$errorMsg('请选择发货单');
+            return this.$errorMsg('请选择发货申请单');
           }
 
           this.formLoading = true;
@@ -285,18 +273,17 @@ export default {
           }
           let orderList = [];
           this.tableSelection.forEach(item => {
-            orderList.push(item.id);
+            orderList.push(item.invoiceOrderId);
           });
           let params = {
             stockName: this.mainForm.warehouse,
             pickTime: this.mainForm.date,
-            pickStartTime: this.mainForm.timeSlot[0],
-            pickEndTime: this.mainForm.timeSlot[1],
+            pickStatus: Number(this.mainForm.timeSlot),
             pickType: Number(this.mainForm.pickupWay),
             takerId: this.mainForm.pickupMan,
             takerName,
             remark: this.mainForm.remark,
-            shipDocumentBeans: orderList,
+            invoiceOrderIds: orderList,
           }
           if(this.mainForm.pickupWay == '1') {
             params.takerCarId = this.mainForm.pickupCar;
@@ -306,9 +293,8 @@ export default {
           }
           addPickupBook(params).then(res => {
             this.$successMsg('提交成功');
-            setTimeout(() => {
-              this.resetForm();
-            }, 1500)
+            this.goBack();
+            this.$parent.getList();
           }).finally(res => {
             this.formLoading = false;
           })

+ 120 - 91
src/views/supply/pickup/pickup_list.vue

@@ -1,109 +1,123 @@
 <template>
   <div class="app-container">
-    <!-- 筛选条件 -->
-    <div class="screen-container">
-      <el-form ref="screenForm" :model="screenForm" label-width="100px" size="small" label-position="left">
-        <el-row :gutter="20">
-          <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="applyName">
-              <el-input v-model="screenForm.applyName" 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="24" :lg="24" class="tr">
-            <el-form-item label="">
-              <el-button size="small" @click="resetScreenForm">清空</el-button>
-              <el-button size="small" type="primary" @click="submitScreenForm">搜索</el-button>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-    </div>
+    <div v-show="!isShowForm">
+      <!-- 筛选条件 -->
+      <div class="screen-container">
+        <el-form ref="screenForm" :model="screenForm" label-width="100px" size="small" label-position="left">
+          <el-row :gutter="20">
+            <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="applyName">
+                <el-input v-model="screenForm.applyName" 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="24" :lg="24" class="tr">
+              <el-form-item label="">
+                <el-button size="small" @click="resetScreenForm">清空</el-button>
+                <el-button size="small" 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="'admin/user/mch/export'" :exParams="exParams" />
+      <div class="mymain-container">
+        <div class="btn-group clearfix">
+          <div class="fl">
+            <el-button size="small" type="primary" icon="el-icon-plus" @click="toForm()">新增</el-button>
+          </div>
+          <div class="fr">
+            <ExportButton :exUrl="'admin/user/mch/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="center" label="状态" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.printNum ? '已打单':'未打单' }}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="打单日期" prop="createTime" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="信息密钥" prop="informationKey" min-width="180" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="发货申请单号" prop="invoiceOrderId" min-width="180" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="预约日期" prop="pickTime" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="提货时段" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.pickStatus == '1' ? '上午':'下午' }}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="提货仓库" prop="correspondName" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="提货方式" prop="pickType" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.pickType == '1' ? '自提':'物流快递' }}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="单据日期" prop="orderTime" min-width="120" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.orderTime | dateToDayFilter }}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="销售订单号" prop="retailOrderId" min-width="180" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="工程编号" prop="enginOrderNo" min-width="180" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="产品编号" prop="productNumber" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="产品名称" prop="productName" 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="number" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="备注" prop="remark" min-width="100" show-overflow-tooltip></el-table-column>
+          </el-table>
         </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="center" label="状态" min-width="160" show-overflow-tooltip>
-            <template slot-scope="scope">
-              {{ scope.row.printNum ? '已打单':'未打单' }}
-            </template>
-          </el-table-column>
-          <el-table-column align="center" label="打单日期" prop="createTime" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="提货单号" prop="pickOrderNo" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="预约日期" prop="pickTime" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="提货时段" min-width="160" show-overflow-tooltip>
-            <template slot-scope="scope">
-              {{ scope.row.pickStartTime }} 至 {{ scope.row.pickEndTime }}
-            </template>
-          </el-table-column>
-          <el-table-column align="center" label="提货仓库" prop="stockName" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="提货方式" prop="pickType" min-width="160" show-overflow-tooltip>
-            <template slot-scope="scope">
-              {{ scope.row.pickType == '1' ? '自提':'物流快递' }}
-            </template>
-          </el-table-column>
-          <el-table-column align="center" label="发货单号" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="单据日期" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="发货申请单号" prop="invoiceOrderNo" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="工程编号" prop="projectNumber" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="产品编号" prop="productNumber" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="产品名称" prop="productName" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="规格型号" prop="specification" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="提货总数量" prop="number" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="总体积" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="备注" prop="remark" min-width="100" show-overflow-tooltip></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 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>
 
+    <PickupForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />
+
   </div>
 </template>
 
 <script>
 import { getPickupList } from "@/api/supply/pickup";
+import PickupForm from "@/views/supply/pickup/components/pickup_form";
 
 export default {
+  components: {
+    PickupForm
+  },
   data() {
     return {
       currentPage: 1, // 当前页码
@@ -117,6 +131,10 @@ export default {
         warehouse: '',
         date: '',
       },
+
+      queryItem: {},
+      isShowForm: false,
+
     }
   },
 
@@ -191,6 +209,17 @@ export default {
       this.currentPage = val;
       this.getList();
     },
+
+    // 进入表单
+    toForm(item) {
+      this.queryItem = item;
+      this.isShowForm = true;
+    },
+
+    backList() {
+      this.queryItem = {};
+      this.isShowForm = false;
+    },
   }
 }
 </script>

+ 18 - 15
src/views/supply/pickup/sum_list.vue

@@ -56,29 +56,32 @@
               {{ scope.row.printNum ? '已打单':'未打单' }}
             </template>
           </el-table-column>
-          <el-table-column align="center" label="申请发货单号" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="申请日期" prop="createTime" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="发货单号" prop="aaa" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="提货单号" prop="pickOrderNo" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="经销商名称" prop="customerName" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="经销商编码" prop="customerNumber" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="发货仓库" prop="stockName" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="提货方式" prop="pickType" min-width="160" show-overflow-tooltip>
+          <el-table-column align="center" label="打单日期" prop="createTime" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="信息密钥" prop="informationKey" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="发货申请单号" prop="invoiceOrderId" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="预约日期" prop="pickTime" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="提货时段" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ scope.row.pickStatus == '1' ? '上午':'下午' }}
+            </template>
+          </el-table-column>
+          <el-table-column align="center" label="提货仓库" prop="correspondName" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="提货方式" prop="pickType" min-width="100" show-overflow-tooltip>
             <template slot-scope="scope">
               {{ scope.row.pickType == '1' ? '自提':'物流快递' }}
             </template>
           </el-table-column>
-          <el-table-column align="center" label="提货日期" prop="pickTime" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="提货时段" min-width="160" show-overflow-tooltip>
+          <el-table-column align="center" label="单据日期" prop="orderTime" min-width="120" show-overflow-tooltip>
             <template slot-scope="scope">
-              {{ scope.row.pickStartTime }} 至 {{ scope.row.pickEndTime }}
+              {{ scope.row.orderTime | dateToDayFilter }}
             </template>
           </el-table-column>
-          <el-table-column align="center" label="产品编号" prop="productNumber" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="产品名称" prop="productName" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="规格型号" prop="specification" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="销售订单号" prop="retailOrderId" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="工程编号" prop="enginOrderNo" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="产品编号" prop="productNumber" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="产品名称" prop="productName" 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="number" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="总体积" prop="aaa" min-width="100" show-overflow-tooltip></el-table-column>
           <el-table-column align="center" label="备注" prop="remark" min-width="100" show-overflow-tooltip></el-table-column>
         </el-table>
       </div>

+ 55 - 54
src/views/supply/policy/components/retail_form.vue

@@ -275,7 +275,7 @@
           <template slot-scope="scope">
             {{
               (scope.row.price * scope.row.qty * (scope.row.rebateRate * 100)) /
-              100
+              100 || 0
             }}
           </template>
         </el-table-column>
@@ -329,7 +329,7 @@
                   100) *
                   100 -
                 ((scope.row.qty * (scope.row.discAmount * 100)) / 100) * 100) /
-              100
+              100 || 0
             }}
           </template>
         </el-table-column>
@@ -373,32 +373,14 @@
           min-width="100"
           show-overflow-tooltip
         ></el-table-column>
-        <el-table-column
-          align="center"
-          label="总仓库"
-          prop="status1"
-          min-width="100"
-          show-overflow-tooltip
-          v-if="!listItem"
-        >
+        <el-table-column align="center" label="总仓库" prop="status1" min-width="100" show-overflow-tooltip v-if="!listItem">
           <template slot-scope="scope">
-            <el-tag :type="scope.row.status1 | statusTagFilter">{{
-              scope.row.status1 | statusFilter
-            }}</el-tag>
+            <div>{{ scope.row.status1 | status1Filter }}</div>
           </template>
         </el-table-column>
-        <el-table-column
-          align="center"
-          label="仓库状态"
-          prop="status2"
-          min-width="100"
-          show-overflow-tooltip
-          v-if="!listItem"
-        >
+        <el-table-column align="center" label="仓库状态" prop="status2" min-width="100" show-overflow-tooltip v-if="!listItem">
           <template slot-scope="scope">
-            <el-tag :type="scope.row.status2 | statusTagFilter">{{
-              scope.row.status2 | statusFilter
-            }}</el-tag>
+            <div>{{ status2Filter(scope.row) }}</div>
           </template>
         </el-table-column>
         <el-table-column align="center" label="操作" width="100" fixed="right">
@@ -699,22 +681,14 @@ export default {
   componentName: "RetailForm",
   props: ["listItem"],
   filters: {
-    statusFilter(val) {
-      if (val === "") return "未检查";
-      const MAP = {
-        0: "库存不足",
-        1: "库存充足",
-      };
-      return MAP[val];
-    },
-    statusTagFilter(val) {
-      if (val === "") return "info";
-      const MAP = {
-        0: "danger",
-        1: "success",
-      };
-      return MAP[val];
+     status1Filter(val) {
+      if (val === '' || val === null || val === undefined) return '未检查';
+      else if (val === 0) return '无货';
+      else if (val > 0 && val <= 30) return val;
+      else if (val > 30 && val <= 1000) return '有货';
+      else if (val > 1000) return '充足';
     },
+
   },
   data() {
     return {
@@ -818,6 +792,7 @@ export default {
     },
     comxjWalletList(){
       return (c)=>{
+        console.log(c);
           const walle =[]
           const ovalVall = c == undefined || !c.length ? []: c
           for (let i = 0; i < this.xjWalletList.length; i++) {
@@ -846,6 +821,7 @@ export default {
   },
 
   methods: {
+
     // 返回列表
     goBack() {
       this.$emit("backListFormDetail");
@@ -945,6 +921,7 @@ export default {
         type: "REBATE",
       }).then((res) => {
         this.flWalletList = res.data;
+        console.log(this.flWalletList,'xxccc');
       });
     },
 
@@ -1083,7 +1060,9 @@ export default {
           policyId: params[1],
         }).then((res) => {
           this.pop = res.data.pop;
-          this.popArr = res.data.pop.split(":");
+          this.popArr = res.data.pop.split(":")
+          this.popArr.splice(0,1);
+          console.log
           for (let i = 0; i < this.popArr.length; i++) {
             this.$set(this.radioObj, "radio" + (i + 1), "");
           }
@@ -1127,6 +1106,22 @@ export default {
             }
           }
         }
+
+             const params = this.radio.split("&");
+            let arr = []
+          for (let k = 0; k < this.dataList.length; k++) {
+
+            if (this.dataList[k].policyId==params[1]) {
+              arr = [this.dataList[k]]
+            }
+
+        }
+           this.goodsList = [...arr,...this.goodsList]
+            this.goodsList.forEach((item) => {
+              this.$set(item,'status1','')
+             this.$set(item,'status2','')
+
+        });
         this.cusIndex = 0;
         this.radio = ''
         this.dataList = []
@@ -1155,29 +1150,35 @@ export default {
 
     // 检查库存
     checkStock() {
-      if (!this.warehouseValue) {
-        return this.$errorMsg("请选择仓库");
+       if(!this.warehouseValue) {
+        return this.$errorMsg('请选择仓库');
       }
-      if (!this.goodsList) {
-        return this.$errorMsg("请添加货品");
+      if(!this.goodsList) {
+        return this.$errorMsg('请添加货品');
       }
       let ids = [];
-      this.goodsList.forEach((item) => {
+      this.goodsList.forEach(item => {
         ids.push(item.materialId);
-      });
+      })
       checkStock({
         correspondId: this.warehouseValue,
-        materialId: ids.join(","),
-      }).then((res) => {
-        if (res.data) {
+        materialId: ids.join(',')
+      }).then(res => {
+        if(res.data) {
           this.goodsList.forEach((item, index) => {
-            item.status1 = res.data[index].allStockStatus;
-            item.status2 = res.data[index].stockStatus;
-          });
+           item.status1 = res.data[index].allStockNum;
+            item.status2 = res.data[index].stockNum;
+            console.log(item.status1,item.status2);
+          })
+
         }
-      });
+      })
+    },
+   status2Filter(item) {
+      if (item.status2 === '' || item.status2 === null || item.status2 === undefined) return '未检查';
+      else if (item.status2 >= item.qty) return '可用';
+      else return '短缺';
     },
-
     // 保存
     clickSubmitForm() {
       this.$refs.mainForm.validate((valid) => {

+ 1 - 1
src/views/supply/policy/policy_list.vue

@@ -542,7 +542,7 @@ export default {
     // 进入表单
     toForm(item) {
       this.queryItem = item;
-      console.log(item, 99999);
+
       this.isShowForm = true;
     },
 

+ 18 - 21
src/views/supply/retail/components/retail_form.vue

@@ -134,12 +134,12 @@
         <el-table-column align="center" label="税率" prop="tax" min-width="100" show-overflow-tooltip></el-table-column>
         <el-table-column align="center" label="总仓库" prop="status1" min-width="100" show-overflow-tooltip v-if="!listItem">
           <template slot-scope="scope">
-            <el-tag :type="scope.row.status1 | statusTagFilter">{{ scope.row.status1 | statusFilter }}</el-tag>
+            <div>{{ scope.row.status1 | status1Filter }}</div>
           </template>
         </el-table-column>
         <el-table-column align="center" label="仓库状态" prop="status2" min-width="100" show-overflow-tooltip v-if="!listItem">
           <template slot-scope="scope">
-            <el-tag :type="scope.row.status2 | statusTagFilter">{{ scope.row.status2 | statusFilter }}</el-tag>
+            <div>{{ status2Filter(scope.row) }}</div>
           </template>
         </el-table-column>
         <el-table-column align="center" label="操作" width="100" fixed="right">
@@ -164,14 +164,14 @@
         <el-row :gutter="20">
           <el-col :xs="12" :sm="6" :lg="6">
             <el-form-item prop="type">
-              <el-select v-model="mainForm.type" placeholder="选择品类" style="width: 100%">
+              <el-select v-model="mainForm.type" placeholder="选择品类" style="width: 100%" 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="12" :sm="6" :lg="6">
             <el-form-item prop="salesType">
-              <el-select v-model="screenForm.salesType" placeholder="选择销售类型" style="width: 100%">
+              <el-select v-model="screenForm.salesType" placeholder="选择销售类型" style="width: 100%" clearable>
                 <el-option v-for="item in salesTypeList" :key="item.id" :label="item.saleName" :value="item.id"></el-option>
               </el-select>
             </el-form-item>
@@ -266,22 +266,13 @@ export default {
   componentName: 'RetailForm',
   props: ['listItem'],
   filters: {
-    statusFilter(val) {
-      if (val === '') return '未检查';
-      const MAP = {
-        0: '库存不足',
-        1: '库存充足'
-      }
-      return MAP[val];
+    status1Filter(val) {
+      if (val === '' || val === null || val === undefined) return '未检查';
+      else if (val === 0) return '无货';
+      else if (val > 0 && val <= 30) return val;
+      else if (val > 30 && val <= 1000) return '有货';
+      else if (val > 1000) return '充足';
     },
-    statusTagFilter(val) {
-      if (val === '') return 'info';
-      const MAP = {
-        0: 'danger',
-        1: 'success'
-      }
-      return MAP[val];
-    }
   },
   data() {
     return {
@@ -594,13 +585,19 @@ export default {
       }).then(res => {
         if(res.data) {
           this.goodsList.forEach((item, index) => {
-            item.status1 = res.data[index].allStockStatus;
-            item.status2 = res.data[index].stockStatus;
+            item.status1 = res.data[index].allStockNum;
+            item.status2 = res.data[index].stockNum;
           })
         }
       })
     },
 
+    status2Filter(item) {
+      if (item.status2 === '' || item.status2 === null || item.status2 === undefined) return '未检查';
+      else if (item.status2 >= item.qty) return '可用';
+      else return '短缺';
+    },
+
     // 保存
     clickSubmitForm() {
       this.$refs.mainForm.validate((valid) => {