Bläddra i källkod

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

howie 3 år sedan
förälder
incheckning
e696fe3192
98 ändrade filer med 13028 tillägg och 2097 borttagningar
  1. 23 0
      src/api/basic_data/material.js
  2. 8 0
      src/api/basic_data/taker.js
  3. 10 0
      src/api/basic_data/warehouse.js
  4. 9 0
      src/api/common.js
  5. 46 0
      src/api/issue.js
  6. 38 11
      src/api/notice.js
  7. 28 1
      src/api/stock.js
  8. 19 0
      src/api/supply/apply.js
  9. 19 0
      src/api/supply/displace.js
  10. 19 0
      src/api/supply/implement.js
  11. 57 3
      src/api/supply/purchase.js
  12. 19 0
      src/api/supply/retail.js
  13. 284 0
      src/components/Common/image-upload.vue
  14. 1 1
      src/layout/components/Sidebar/SidebarItem.vue
  15. 1 3
      src/main.js
  16. 17 3
      src/permission.js
  17. 260 298
      src/views/basic_data/dealer/components/dealer_list-detail.vue
  18. 33 23
      src/views/basic_data/dealer/dealer_deposit.vue
  19. 6 18
      src/views/basic_data/dealer/dealer_list.vue
  20. 55 26
      src/views/basic_data/logistics/logistics_list.vue
  21. 31 53
      src/views/basic_data/material/category_list.vue
  22. 382 88
      src/views/basic_data/material/components/modify_list-apply.vue
  23. 21 11
      src/views/basic_data/material/components/modify_list-approval.vue
  24. 160 136
      src/views/basic_data/material/components/modify_list-detail.vue
  25. 72 139
      src/views/basic_data/material/machine_list.vue
  26. 2 2
      src/views/basic_data/material/material_list.vue
  27. 50 30
      src/views/basic_data/material/modify_list.vue
  28. 199 108
      src/views/basic_data/material/relation_list.vue
  29. 439 436
      src/views/basic_data/supplier/components/supplier_list-detail.vue
  30. 23 5
      src/views/basic_data/taker/taker_car.vue
  31. 132 20
      src/views/basic_data/taker/taker_list.vue
  32. 29 5
      src/views/basic_data/warehouse/warehouse_book.vue
  33. 64 52
      src/views/basic_data/warehouse/warehouse_cost.vue
  34. 2 2
      src/views/basic_data/warehouse/warehouse_list.vue
  35. 221 0
      src/views/engin_deposit/components/deposit-apply-deduction.vue
  36. 221 0
      src/views/engin_deposit/components/deposit-apply-surrender.vue
  37. 307 0
      src/views/engin_deposit/components/deposit_list-detail.vue
  38. 286 0
      src/views/engin_deposit/components/nodeduct_list-detail.vue
  39. 286 0
      src/views/engin_deposit/components/refund_list-detail.vue
  40. 259 0
      src/views/engin_deposit/deposit_list.vue
  41. 219 0
      src/views/engin_deposit/nodeduct_list.vue
  42. 218 0
      src/views/engin_deposit/refund_list.vue
  43. 209 0
      src/views/finance/account_list.vue
  44. 166 0
      src/views/finance/balance_sum.vue
  45. 200 0
      src/views/finance/components/account_list-detail.vue
  46. 393 0
      src/views/finance/components/balance_sum-detail.vue
  47. 152 0
      src/views/finance/components/credit_list-detail.vue
  48. 167 0
      src/views/finance/components/rebate_list-detail.vue
  49. 270 0
      src/views/finance/components/special_list-add.vue
  50. 256 0
      src/views/finance/components/special_list-detail.vue
  51. 64 0
      src/views/finance/components/wallet-detail.vue
  52. 217 0
      src/views/finance/credit_list.vue
  53. 99 0
      src/views/finance/finance_sum.vue
  54. 196 0
      src/views/finance/rebate_list.vue
  55. 229 0
      src/views/finance/special_list.vue
  56. 79 0
      src/views/finance/tax_rate.vue
  57. 386 0
      src/views/finance/wallet.vue
  58. 319 0
      src/views/issue/index.vue
  59. 484 107
      src/views/notice/index.vue
  60. 43 55
      src/views/stock/reserved_stock.vue
  61. 56 56
      src/views/stock/stock_list.vue
  62. 5 0
      src/views/supply/apply.vue
  63. 265 0
      src/views/supply/apply/apply_list.vue
  64. 277 0
      src/views/supply/apply/components/apply_detail.vue
  65. 203 0
      src/views/supply/apply/components/apply_examine.vue
  66. 1 1
      src/views/supply/apply/components/engin_detail.vue
  67. 1 1
      src/views/supply/apply/components/engin_examine.vue
  68. 1 1
      src/views/supply/apply/components/engin_return.vue
  69. 25 20
      src/views/supply/apply/engin_list.vue
  70. 1 1
      src/views/supply/deliver/engin_list.vue
  71. 5 0
      src/views/supply/displace.vue
  72. 206 0
      src/views/supply/displace/components/displace_detail.vue
  73. 185 0
      src/views/supply/displace/components/displace_form.vue
  74. 263 0
      src/views/supply/displace/displace_list.vue
  75. 288 0
      src/views/supply/engin/commerce_list.vue
  76. 2 2
      src/views/supply/engin/components/commerce_detail.vue
  77. 2 2
      src/views/supply/engin/components/commerce_examine.vue
  78. 2 2
      src/views/supply/engin/components/commerce_form.vue
  79. 2 2
      src/views/supply/engin/components/commerce_return.vue
  80. 321 0
      src/views/supply/engin/components/home_detail.vue
  81. 247 0
      src/views/supply/engin/components/home_examine.vue
  82. 3 3
      src/views/supply/engin/components/home_form.vue
  83. 242 0
      src/views/supply/engin/components/home_return.vue
  84. 6 6
      src/views/supply/engin/home_list.vue
  85. 5 0
      src/views/supply/implement.vue
  86. 202 0
      src/views/supply/implement/implement_list.vue
  87. 53 60
      src/views/supply/purchase/components/enter_detail.vue
  88. 66 81
      src/views/supply/purchase/components/purchase_detail.vue
  89. 43 60
      src/views/supply/purchase/enter_list.vue
  90. 54 41
      src/views/supply/purchase/plan_list.vue
  91. 61 73
      src/views/supply/purchase/purchase_list.vue
  92. 93 49
      src/views/supply/purchase/sum_list.vue
  93. 5 0
      src/views/supply/retail.vue
  94. 321 0
      src/views/supply/retail/components/retail_detail.vue
  95. 247 0
      src/views/supply/retail/components/retail_examine.vue
  96. 227 0
      src/views/supply/retail/components/retail_form.vue
  97. 242 0
      src/views/supply/retail/components/retail_return.vue
  98. 296 0
      src/views/supply/retail/retail_list.vue

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

@@ -7,6 +7,13 @@ export function getList(params) {
     params
   })
 }
+export function getCategoryList(params) {
+  return request({
+    url: '/k3/category/list',
+    method: 'get',
+    params
+  })
+}
 
 
 export function getMaterialList(params) {
@@ -117,6 +124,22 @@ export function getProductRriceAdd(params) {
   })
 }
 
+export function getDistList(params) {
+  return request({
+    url:'/common/dict/list',
+    method: 'get',
+    params
+  })
+}
+
+export function getProductRricedel(params) {
+  return request({
+    url:'/product-upd-price/del',
+    method: 'post',
+    params:{ids:params.join(',')}
+  })
+}
+
 export function getProductRriceConfirm(params) {
   return request({
     url:'/product-upd-price/confirm',

+ 8 - 0
src/api/basic_data/taker.js

@@ -24,6 +24,14 @@ export function addDataList(data) {
     data
   })
 }
+//删除提货人档案
+export function deleDataList(params) {
+  return request({
+    url: '/taker-record/del',
+    method: 'POST',
+    params
+  })
+}
 //提货人档案列表导出
 export function exportDataList(params) {
   return request({

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

@@ -123,3 +123,13 @@ export function getCustomerList(params) {
     params
   })
 }
+
+
+
+export function addReserve(params) {
+  return request({
+    url: '/stock/addReserve',
+    method: 'post',
+    data:params
+  })
+}

+ 9 - 0
src/api/common.js

@@ -25,4 +25,13 @@ export function getOssConfig(params) {
     method: 'get',
     params
   })
+}
+
+// 获取附件地址
+export function getFileUrl(params) {
+  return request({
+    url: '/common/file/get',
+    method: 'get',
+    params
+  })
 }

+ 46 - 0
src/api/issue.js

@@ -0,0 +1,46 @@
+import request from '@/utils/request'
+
+// 获取列表
+export function getList(params) {
+  return request({
+    url: '/com/list/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取下载列表
+export function getDownloadList(params) {
+  return request({
+    url: '/com/list/download/log',
+    method: 'get',
+    params
+  })
+}
+
+// 删除
+export function deleteData(params) {
+  return request({
+    url: '/com/list/delete',
+    method: 'post',
+    params
+  })
+}
+
+// 下载文件
+export function exportFile(params) {
+  return request({
+    url: '/com/list/download',
+    method: 'get',
+    params
+  })
+}
+
+// 导入
+export function handleImport(params) {
+  return request({
+    url: '/com/list/yonge',
+    method: 'post',
+    params
+  })
+}

+ 38 - 11
src/api/notice.js

@@ -1,7 +1,7 @@
 import request from '@/utils/request'
 
-// 获取消息列表
-export function getNoticeList(params) {
+// 获取列表
+export function getList(params) {
   return request({
     url: '/notice/list',
     method: 'get',
@@ -9,29 +9,56 @@ export function getNoticeList(params) {
   })
 }
 
-// 更改全部消息状态
-export function changeAllReadFlag(params) {
+// 获取详情
+export function getDetail(params) {
   return request({
-    url: '/notice/mark/read/all',
+    url: '/notice/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 获取阅读记录
+export function getDownloadList(params) {
+  return request({
+    url: '/com/list/download/log',
+    method: 'get',
+    params
+  })
+}
+
+// 删除
+export function deleteData(params) {
+  return request({
+    url: '/notice/mark/del',
     method: 'post',
     params
   })
 }
 
-// 更改消息状态
-export function changeReadFlag(params) {
+// 新增
+export function addData(params) {
   return request({
-    url: '/notice/mark/read',
+    url: '/notice/add',
     method: 'post',
     data: params
   })
 }
 
-// 获取消息列表
-export function getNoticeListCount(params) {
+// 获取部门列表
+export function getDepartmentList(params) {
   return request({
-    url: '/notice/list/count',
+    url: '/admin/websit/tree',
     method: 'get',
     params
   })
 }
+
+// 查收
+export function confirmCheck(params) {
+  return request({
+    url: '/notice/mark/read',
+    method: 'post',
+    params
+  })
+}

+ 28 - 1
src/api/stock.js

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

+ 19 - 0
src/api/supply/apply.js

@@ -0,0 +1,19 @@
+import request from '@/utils/request'
+
+// 获取列表
+export function getList(params) {
+  return request({
+    url: '/ship/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取详情
+export function getDetail(params) {
+  return request({
+    url: '/ship/detail',
+    method: 'get',
+    params
+  })
+}

+ 19 - 0
src/api/supply/displace.js

@@ -0,0 +1,19 @@
+import request from '@/utils/request'
+
+// 获取列表
+export function getList(params) {
+  return request({
+    url: '/retreat/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取详情
+export function getDetail(params) {
+  return request({
+    url: '/retreat/detail',
+    method: 'get',
+    params
+  })
+}

+ 19 - 0
src/api/supply/implement.js

@@ -0,0 +1,19 @@
+import request from '@/utils/request'
+
+// 获取列表
+export function getList(params) {
+  return request({
+    url: '/transfer/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取详情
+export function getDetail(params) {
+  return request({
+    url: '/transfer/detail',
+    method: 'get',
+    params
+  })
+}

+ 57 - 3
src/api/supply/purchase.js

@@ -1,10 +1,64 @@
 import request from '@/utils/request'
 
-// 获取列表
-export function getList(params) {
+// 获取采购单列表
+export function getPurchaseList(params) {
   return request({
-    url: '/admin/user/mch/list',
+    url: '/purchaseOrder/list',
     method: 'get',
     params
   })
 }
+
+// 获取采购单列表
+export function getPurchaseDetail(params) {
+  return request({
+    url: '/purchaseOrder/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 获取采购入库单列表
+export function getEnterList(params) {
+  return request({
+    url: '/purchaseStockIn/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取采购入库单列表
+export function getEnterDetail(params) {
+  return request({
+    url: '/purchaseStockIn/detail',
+    method: 'get',
+    params
+  })
+}
+
+// 获取采购计划单列表
+export function getPlanList(params) {
+  return request({
+    url: '/plan/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取经销商采购计划单汇总列表
+export function getSumList(params) {
+  return request({
+    url: '/plan/listCustomer',
+    method: 'get',
+    params
+  })
+}
+
+// 提交经销商采购计划单
+export function submitPlan(params) {
+  return request({
+    url: '/plan/submitPlan',
+    method: 'post',
+    data: params
+  })
+}

+ 19 - 0
src/api/supply/retail.js

@@ -0,0 +1,19 @@
+import request from '@/utils/request'
+
+// 获取列表
+export function getList(params) {
+  return request({
+    url: '/retail/list',
+    method: 'get',
+    params
+  })
+}
+
+// 获取详情
+export function getDetail(params) {
+  return request({
+    url: '/retail/detail',
+    method: 'get',
+    params
+  })
+}

+ 284 - 0
src/components/Common/image-upload.vue

@@ -0,0 +1,284 @@
+<template>
+	<div>
+		<el-upload
+			class="uploader"
+			:action="oss_url"
+			:data="dataObj"
+			:multiple="multiple"
+			name="file"
+			:accept="accept"
+			:show-file-list="false"
+			:on-success="uploadSuccess"
+			:before-upload="beforeUpload">
+		</el-upload>
+		<div class="images">
+			<div class="item" v-for="(item, index) in fileList" :key="index">
+				<div class="img" v-if="item.url" @mouseover="item.hover = true;" @mouseout="item.hover = false;">
+					<el-image ref="img" :src="imageURL + item.url" :preview-src-list="previewImages" v-if="checkFileType(item.url) == 'image'" style="width: 120px; height: 120px" fit="cover"></el-image>
+					<el-image ref="img" :src="imageURL + item.url" v-else style="width: 120px; height: 120px" fit="cover">
+						<div slot="error" class="image-slot">
+							<img class="file" src="@/assets/common/word.png" v-if="checkFileType(item.url) == 'word'">
+							<img class="file" src="@/assets/common/excel.png" v-if="checkFileType(item.url) == 'excel'">
+							<img class="file" src="@/assets/common/ppt.png" v-if="checkFileType(item.url) == 'ppt'">
+							<img class="file" src="@/assets/common/pdf.png" v-if="checkFileType(item.url) == 'pdf'">
+						</div>
+					</el-image>
+					<div class="mask" v-show="item.hover">
+						<i class="el-icon-zoom-in" @click="previewImage(item.url)" v-if="checkFileType(item.url) == 'image'"></i>
+						<i class="el-icon-upload2" @click="uploadImage(item.url)"></i>
+						<i class="el-icon-delete" @click="deleteImage(item.url)"></i>
+					</div>
+				</div>
+			</div>
+			<div class="add" @click="uploadImage()" v-if="multiple || (!multiple && fileList.length < 1)"><i class="el-icon-plus"></i></div>
+		</div>
+	</div>
+</template>
+<script>
+import { getOssConfig } from '@/api/common';
+import { findElem } from '@/utils/util'
+
+export default {
+	name: 'fileUpload',
+	props: {
+		// 接受上传的文件列表
+		fileList: Array,
+
+		// 接受上传的文件类型
+    fileType: {
+      type: Array,
+      default: () => ['image', 'word', 'excel', 'ppt', 'pdf']
+    },
+
+		// 是否支持多选文件
+		multiple: {
+			type: Boolean,
+			default: false,
+		}
+	},
+	data() {
+		return {
+      imageURL: this.$imageUrl,
+			oss_url: '',
+			dataObj: {},
+			uploadImageUrl: '',
+			waitUploadList: [],
+		};
+	},
+	created() {
+    getOssConfig().then(res => {
+      this.oss_url = res.data.host;
+    })
+	},
+	computed: {
+		isShowFileList: {
+			get: function() {
+				if (this.fileList.length > 0 && this.fileList[0].url) {
+					return true;
+				} else {
+					return false;
+				}
+			},
+			set: function(newValue) {}
+		},
+		accept() {
+			const imageList = ['.jpg', '.jpeg', '.png'];
+      const videoList = ['.mp4'];
+      const wordList = ['.doc', '.docx', '.dot', '.wps', '.wpt'];
+			const excelList = ['.xls', '.xlsx', '.xlt', '.et', '.ett'];
+			const pptList = ['.ppt', '.pptx', '.dps', '.dpt', '.pot', '.pps'];
+			const pdfList = ['.pdf'];
+
+      let whiteList = [];
+      this.fileType.includes('image') && (whiteList = whiteList.concat(imageList));
+      this.fileType.includes('video') && (whiteList = whiteList.concat(videoList));
+      this.fileType.includes('word') && (whiteList = whiteList.concat(wordList));
+      this.fileType.includes('excel') && (whiteList = whiteList.concat(excelList));
+      this.fileType.includes('ppt') && (whiteList = whiteList.concat(pptList));
+      this.fileType.includes('pdf') && (whiteList = whiteList.concat(pdfList));
+      
+			return whiteList.join(',');
+		},
+		previewImages() {
+      let fileList = [];
+      if(this.fileList && this.fileList.length > 0) {
+        this.fileList.forEach(item => {
+          if(this.checkFileType(item.url) == 'image') {
+            fileList.push(this.imageURL + item.url);
+          }
+        })
+      }
+      return fileList;
+    },
+	},
+	methods: {
+		getUUID() {
+			return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
+				return (c === 'x' ? (Math.random() * 16) | 0 : 'r&0x3' | '0x8').toString(16);
+			});
+		},
+		createName(name) {
+			const date = Date.now();
+			const uuid = this.getUUID();
+			const fileSuffix = name.substring(name.lastIndexOf(".") + 1);
+			return `${date}${uuid}.${fileSuffix}`;
+		},
+
+		// 检查文件类型
+    checkFileType(url) {
+      if(!url) return '';
+			const fileSuffix = url.substring(url.lastIndexOf(".") + 1);
+
+			if (['jpg', 'jpeg', 'png'].includes(fileSuffix)) {
+				return 'image';
+			}else if (['doc', 'docx', 'dot', 'wps', 'wpt'].includes(fileSuffix)) {
+				return 'word';
+			}else if(['xls', 'xlsx', 'xlt', 'et', 'ett'].includes(fileSuffix)) {
+				return 'excel';
+			}else if(['ppt', 'pptx', 'dps', 'dpt', 'pot', 'pps'].includes(fileSuffix)) {
+				return 'ppt';
+			}else if(['pdf'].includes(fileSuffix)) {
+				return 'pdf';
+			}else {
+        return '';
+      }
+		},
+
+		// 获取oss配置
+    async getOssConfig(fileName) {
+      const result = await new Promise((resolve, reject) => {
+				getOssConfig().then(res => {
+					const fileKey = this.createName(fileName);
+					res.data.name = fileName;
+					res.data.key = res.data.dir + fileKey;
+					resolve(res.data);
+				}).catch(res => {
+          resolve({});
+        })
+      })
+      return result;
+    },
+
+		// 预览图片
+    previewImage(url) {
+      let index = findElem(this.fileList, 'url', url);
+      this.$refs.img[index].showViewer = true;
+    },
+
+    // 删除图片
+    deleteImage(url) {
+      let index = findElem(this.fileList, 'url', url);
+      this.fileList.splice(index, 1);
+    },
+
+		// 点击上传
+		uploadImage(url) {
+      this.uploadImageUrl = url;
+      document.querySelector('.uploader input').click();
+    },
+
+		// 上传文件之前
+		async beforeUpload(file) {
+			const loading = this.$loading({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      });
+			this.dataObj = await this.getOssConfig(file.name);
+			this.waitUploadList.push(this.dataObj);
+		},
+
+		// 文件上传成功
+		uploadSuccess(res, file) {
+			const loading = this.$loading({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      });
+			if(this.uploadImageUrl) {
+        let index = findElem(this.fileList, 'url', this.uploadImageUrl);
+        this.$set(this.fileList, index, {
+					name: this.dataObj.name,
+					url: this.dataObj.key,
+					hover: false
+				});
+				this.waitUploadList = [];
+      }else {
+				let index = findElem(this.waitUploadList, 'name', file.name);
+				this.fileList.push({
+					name: this.waitUploadList[index].name,
+					url: this.waitUploadList[index].key,
+					hover: false
+				});
+        this.waitUploadList.splice(index, 1);
+      }
+			this.showFileList = true;
+			loading.close();
+		},
+	}
+};
+</script>
+
+<style scoped lang="scss">
+	.images {
+		display: flex;
+		flex-wrap: wrap;
+		.item {
+			margin-right: 20px;
+			.img {
+				width: 120px;
+				height: 120px;
+				border-radius: 5px;
+				overflow: hidden;
+				position: relative;
+				border: 1px dashed #eaeaea;
+				display: flex;
+				.el-image {
+					display: block;
+				}
+				.file {
+					width: 120px;
+					height: 120px;
+					display: block;
+					padding: 30px;
+				}
+				.mask {
+					position: absolute;
+					left: 0;
+					top: 0;
+					width: 120px;
+					height: 120px;
+					background: rgba($color: #000000, $alpha: 0.3);
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					i {
+						font-size: 20px;
+						color: #ffffff;
+						cursor: pointer;
+						margin: 0 8px;
+					}
+				}
+			}
+		}
+		.add {
+			width: 120px;
+			height: 120px;
+			border: 1px dashed #eaeaea;
+			border-radius: 5px;
+			cursor: pointer;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			i {
+				font-size: 30px;
+				color: #999;
+			}
+		}
+	}
+	.uploader {
+    height: 0;
+  }
+</style>

+ 1 - 1
src/layout/components/Sidebar/SidebarItem.vue

@@ -1,7 +1,7 @@
 <template>
   <div v-if="!item.hidden">
     <!-- <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren) && !item.alwaysShow"> -->
-    <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren || (onlyOneChild.children && onlyOneChild.children.length < 1 && (onlyOneChild.name == 'wxcustomer_index' || onlyOneChild.name == 'settlement_index' || onlyOneChild.name == 'freight_index' || onlyOneChild.name == 'storage_index' || onlyOneChild.name == 'notice_index' || onlyOneChild.name == 'dashboard'))) && !item.alwaysShow">
+    <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren || (onlyOneChild.children && onlyOneChild.children.length < 1 && (onlyOneChild.name == 'issue_index' || onlyOneChild.name == 'notice_index' || onlyOneChild.name == 'dashboard'))) && !item.alwaysShow">
       <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)">
         <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
           <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />

+ 1 - 3
src/main.js

@@ -32,9 +32,7 @@ Vue.component('ExportButton', ExportButton);
 import ImportButton from '@/components/Common/import-button.vue'
 Vue.component('ImportButton', ImportButton);
 
-
-Vue.prototype.$fileUrl = process.env.VUE_APP_BASE_API + 'common/file/get?key=';
-Vue.prototype.$imageUrl = process.env.VUE_APP_BASE_API + 'common/img/get?key=';
+Vue.prototype.$imageUrl = process.env.VUE_APP_BASE_API + 'img/get?key=';
 
 /**
  * If you don't want to use mock-server

+ 17 - 3
src/permission.js

@@ -154,13 +154,27 @@ function buildRootRoute(route) {
       }
     )
   }
-  if (code == 'msg') {
+  if (code == 'issue') {
+    let children = route.children;
+    route.children = [];
+    route.children.push(
+      {
+        'code': "issue_index",
+        'moduleName': "文件下发",
+        'type': 2,
+        'url': '/index',
+        'children': children
+      }
+    )
+    item.alwaysShow = false;
+  }
+  if (code == 'notice') {
     let children = route.children;
     route.children = [];
     route.children.push(
       {
         'code': "notice_index",
-        'moduleName': "消息列表",
+        'moduleName': "系统通知",
         'type': 2,
         'url': '/index',
         'children': children
@@ -169,7 +183,7 @@ function buildRootRoute(route) {
     item.alwaysShow = false;
   }
   item.children = []
-  if ((route.hasOwnProperty('children') && type === 1) || code == 'wxcustomer' || code == 'settle_manage' || code == 'delivery_manage' || code == 'stockpile_manage' || code == 'msg' || code == 'index') {
+  if ((route.hasOwnProperty('children') && type === 1) || code == 'issue' || code == 'notice' || code == 'index') {
     for (var child of route.children) {
       item.children.push(buildRoute(child, url))
     }

+ 260 - 298
src/views/basic_data/dealer/components/dealer_list-detail.vue

@@ -3,231 +3,277 @@
     <div class="sty">
       <el-page-header @back="goBack" content="详情页面"> </el-page-header>
     </div>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>客户</span>
-      </div>
-      <el-row>
-        <el-col :span="8"
-          ><span class="color">创建组织</span
-          ><input v-model="infoForm.a" type="text"
-        /></el-col>
-        <el-col :span="8"
-          ><span>客户编码</span><input v-model="infoForm.number" type="text"
-        /></el-col>
-        <el-col :span="8"
-          ><span class="color">使用组织</span
-          ><input v-model="infoForm.useOrgId" type="text"
-        /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="8"><span>简称</span><input type="text" /></el-col>
-      </el-row>
-    </el-card>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>基本信息</span>
-      </div>
-      <div class="baseInfo">
+    <el-form
+      :model="infoList"
+      label-width="130px"
+      size="small"
+      label-position="right"
+    >
+      <el-card class="">
+        <div slot="header" class="clearfix">
+          <strong>客户</strong>
+        </div>
         <div>
-          <div class="base-header">
-            <span>地址</span>
-          </div>
-          <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 v-model="infoForm.region" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">省份</span
-              ><input v-model="infoForm.province" type="text"
-            /></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">通讯地址</span
-              ><input v-model="infoForm.invoiceAddress" 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 color">商城订单对应组织</span
-              ><input type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">联系邮箱</span
-              ><input v-model="infoForm.email" type="text"
-            /></el-col>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="创建组织" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="客户编码" prop="takerName">
+                <el-input
+                  v-model="infoList.number"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="使用组织" prop="telephone">
+                <el-input
+                  v-model="infoList.useOrgName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="简称" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
+          <!-- </el-form> -->
         </div>
+      </el-card>
+      <br />
+      <el-card class="">
+        <div slot="header" class="clearfix">
+          <strong>基本信息</strong>
+        </div>
+        <span>地址</span>
+        <el-divider></el-divider>
         <div>
-          <div class="base-header">
-            <span>管理</span>
-          </div>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">联系电话</span
-              ><input v-model="infoForm.mobile" 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 color">公司类别</span><input type="text"
-            /></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"
-            /></el-col>
-          </el-row>
-          <div class="base-header">
-            <span>开票信息</span>
-          </div>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">发票抬头</span
-              ><input v-model="infoForm.invoiceTitle" 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 v-model="infoForm.bank" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">银行账号</span
-              ><input v-model="infoForm.bankAccount" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">开票联系电话</span
-              ><input v-model="infoForm.invoicePhone" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">开票通讯地址</span
-              ><input v-model="infoForm.invoiceAddress" type="text"
-            /></el-col>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="国家" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="地区" prop="takerName">
+                <el-input
+                  v-model="infoList.region"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="省份" prop="telephone">
+                <el-input
+                  v-model="infoList.province"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="城市" prop="telephone">
+                <el-input
+                  v-model="infoList.city"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="通信地址" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="邮政编码" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司网址" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="商城订单对应组织" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="联系邮箱" prop="telephone">
+                <el-input
+                  v-model="infoList.email"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
+          <!-- </el-form> -->
         </div>
+        <span>管理</span>
+        <el-divider></el-divider>
         <div>
-          <div class="base-header">
-            <span>相关</span>
-          </div>
-          <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"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">集团客户</span><input type="checkbox"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">默认付款方</span><input type="checkbox"
-            /></el-col>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="联系电话" prop="">
+                <el-input
+                  v-model="infoList.mobile"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="传真" prop="takerName">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司类别" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司性质" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司规模" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">不校验可发量</span><input type="checkbox"
-            /></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"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">对应组织</span><input type="text"
-            /></el-col>
+          <!-- </el-form> -->
+        </div>
+        <span>相关</span>
+        <el-divider></el-divider>
+        <div>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="对应供应商" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="对应集团客户" prop="takerName">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="客户类别" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="客户分组" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="集团客户" prop="telephone">
+                <el-checkbox></el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="默认付款方" prop="telephone">
+                <el-checkbox></el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="不校验可发量" prop="telephone">
+                <el-checkbox></el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="对应组织" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="备注" prop="telephone">
+                <el-input placeholder="请输入"></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> -->
+        </div>
+        <span>开票信息</span>
+        <el-divider></el-divider>
+        <div>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="发票抬头" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="纳税登记号" prop="takerName">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="开户银行" prop="telephone">
+                <el-input
+                  v-model="infoList.bank"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="银行账号" prop="telephone">
+                <el-input
+                  v-model="infoList.bankAccount"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="开票联系电话" prop="telephone">
+                <el-input
+                  v-model="infoList.invoicePhone"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="开票通讯地址" prop="telephone">
+                <el-input
+                  v-model="infoList.invoiceAddress"
+                  placeholder="请输入"
+                ></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="checkbox"
-            /></el-col>
+          <!-- </el-form> -->
+        </div>
+        <span>智慧订货</span>
+        <el-divider></el-divider>
+        <div>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="允许对接智慧订单" prop="">
+                <el-checkbox></el-checkbox>
+              </el-form-item>
+            </el-col>
           </el-row>
+          <!-- </el-form> -->
         </div>
-      </div>
-    </el-card>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>信用额度</span>
-      </div>
-      <el-row>
-        <el-col :span="8"
-          ><span class="color">信用额度</span><input type="text"
-        /></el-col>
-        <el-col :span="8"><span>有效期</span><input type="text" /></el-col>
-        <el-col :span="8"></el-col>
-      </el-row>
-    </el-card>
-    <el-card class="box-card">
+      </el-card>
+    </el-form>
+    <br />
+    <el-card>
       <div slot="header" class="clearfix">
-        <span>业务信息</span>
+        <strong>信用额度</strong>
       </div>
     </el-card>
   </div>
@@ -242,45 +288,11 @@ export default {
     },
   },
   data() {
-    return {
-      infoForm: {
-        adminUserId: "",
-        bank: "",
-        bankAccount: "",
-        bindUser: true,
-        city: "",
-        createBy: "",
-        createTime: "",
-        creditAmount: 0,
-        email: "",
-        forbidStatus: "",
-        id: "",
-        invoiceAddress: "",
-        invoicePhone: "",
-        invoiceTitle: "",
-        mobile: "",
-        name: "",
-        number: "",
-        province: "",
-        region: "",
-        saleDeptName: "",
-        saleDeptNumber: "",
-        syncTime: "",
-        taxNo: "",
-        updateBy: "",
-        updateTime: "",
-        useOrgId: "",
-        useOrgName: "",
-        useOrgNumber: "",
-      },
-    };
-  },
-  created() {
-    this.infoForm = this.infoList;
+    return {};
   },
+  created() {},
   methods: {
     goBack() {
-      console.log(this.$parent);
       this.$parent.isShow = true;
     },
   },
@@ -288,57 +300,7 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-.color {
-  color: #1f93ec;
-}
-.el-col-24 {
-  margin: 6px 0;
-}
-
-.marg-r {
-  padding-right: 15px;
-  font-size: 12px;
-  display: inline-block;
-  width: 120px;
-}
-.base-header {
-  height: 20px;
-  width: 60%;
-  border-bottom: 2px solid gray;
-  span {
-    width: 100px;
-    height: 100%;
-    display: block;
-    text-align: center;
-    color: #fff;
-
-    background-color: gray;
-  }
-}
-.box-card {
-  margin-bottom: 20px;
-}
-.el-col-8 {
-  span {
-    padding-right: 10px;
-    display: inline-block;
-    width: 100px;
-  }
-}
-.baseInfo {
-  display: flex;
-  justify-content: space-between;
-  > div {
-    width: 33%;
-  }
-}
 .sty {
   margin-bottom: 20px;
 }
-.el-row {
-  margin-bottom: 20px;
-  &:last-child {
-    margin-bottom: 0;
-  }
-}
 </style>

+ 33 - 23
src/views/basic_data/dealer/dealer_deposit.vue

@@ -139,8 +139,8 @@
               >
                 <el-button type="text" class="textColor" slot="reference"
                   >删除</el-button
-                ></el-popconfirm
-              >
+                >
+              </el-popconfirm>
             </template>
           </el-table-column>
         </el-table>
@@ -192,12 +192,19 @@
         </el-form-item>
 
         <el-form-item label="押金比例" prop="rate">
-          <el-input v-model.number="dialogForm.rate" class="inputStyle">
+          <el-input
+            placeholder="请输入押金比例"
+            @focus="rateFn"
+            v-model.number="dialogForm.rate"
+            class="inputStyle"
+          >
             <i class="el-input__icon" slot="suffix">% </i>
           </el-input>
         </el-form-item>
         <el-form-item label="押金定额金额" prop="amount">
           <el-input
+            placeholder="请输入押金定额"
+            @focus="amountFn"
             v-model.number="dialogForm.amount"
             class="inputStyle"
           ></el-input>
@@ -254,26 +261,6 @@ import { number } from "echarts";
 
 export default {
   data() {
-    // var amount = (rule, value, callback) => {
-    //   console.log(rule, value);
-    //   console.log(this.dialogForm);
-    //   if (this.dialogForm.rate !== 0) {
-    //     this.$message.warning("已选押金比例,如需选择定额押金,请把押金比例归零");
-    //     // callback(new Error("已选押金比例,如需选择定额押金,请把押金比例归零"));
-    //   } else {
-    //     callback();
-    //   }
-    // };
-    // var rate = (rule, value, callback) => {
-    //   console.log(rule, value);
-    //   console.log(this.dialogForm);
-    //   if (this.dialogForm.amount !== 0) {
-    //     this.$message.warning("已选定额押金,如需选择押金比例,请把定额押金归零");
-    //     // callback(new Error("已选定额押金,如需选择押金比例,请把定额押金归零"));
-    //   } else {
-    //     callback();
-    //   }
-    // };
     return {
       title: "",
       currentPage: 1, // 当前页码
@@ -351,9 +338,32 @@ export default {
     await this.getList({ pageNum: 1, pageSize: 10 });
     await this.getDealerDataList({ pageNum: 1, pageSize: 10 });
   },
+
   methods: {
+    //押金
+    amountFn(e) {
+      if (this.dialogForm.rate != 0 || this.dialogForm.rate != "") {
+        this.$message.warning("已选押金比例,如需选择定额押金,请把押金比例归零");
+      }
+    },
+    rateFn(e) {
+      if (this.dialogForm.amount != 0 || this.dialogForm.amount != "") {
+        this.$message.warning("已选定额押金,如需选择押金比例,请把定额押金归零");
+      }
+    },
     //取消
     async cancelFn() {
+      this.dialogForm = {
+        amount: "",
+        customerId: "",
+        customerName: "",
+        customerNumber: "",
+        endTime: "",
+
+        rate: "",
+        remark: "",
+        startTime: "",
+      };
       await this.$refs.dialogForm.resetFields();
       this.showDialog = false;
     },

+ 6 - 18
src/views/basic_data/dealer/dealer_list.vue

@@ -64,13 +64,7 @@
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
-            <el-table-column
-              align="center"
-              label="单据状态"
-              prop="danJuZhuangTai"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
+
             <el-table-column
               prop="forbidStatus"
               align="center"
@@ -96,25 +90,19 @@
             ></el-table-column>
             <el-table-column
               align="center"
-              label="审核人"
-              prop="shenHeRen"
+              label="更新人"
+              prop="updateBy"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
-              label="审核日期"
-              prop="shenHeDate"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="center"
-              label="客户分组"
-              prop="keHu"
+              label="更新时间"
+              prop="updateTime"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
+
             <el-table-column
               align="center"
               label="操作"

+ 55 - 26
src/views/basic_data/logistics/logistics_list.vue

@@ -214,30 +214,35 @@
     <el-dialog
       title="提货车辆档案"
       :visible.sync="showDialogForm"
-      width="30%"
+      width="50%"
       :show-close="false"
       :close-on-click-modal="false"
     >
-      <el-form ref="form" :model="diaLogForm" label-width="100px">
-        <el-form-item label="物流公司名称">
+      <el-form
+        ref="form"
+        :rules="type == 2 ? rules : ''"
+        :model="diaLogForm"
+        label-width="120px"
+      >
+        <el-form-item label="物流公司名称" prop="logisticsCompany">
           <el-input v-model="diaLogForm.logisticsCompany"></el-input>
         </el-form-item>
-        <el-form-item label="物流公司代码">
+        <el-form-item label="物流公司代码" prop="logisticsNumber">
           <el-input v-model="diaLogForm.logisticsNumber"></el-input>
         </el-form-item>
-        <el-form-item label="提货人">
+        <el-form-item label="提货人" prop="pickName">
           <el-input v-model="diaLogForm.pickName"></el-input>
         </el-form-item>
-        <el-form-item label="提货人电话">
+        <el-form-item label="提货人电话" prop="pickTel">
           <el-input v-model="diaLogForm.pickTel"></el-input>
         </el-form-item>
-        <el-form-item label="客服电话">
+        <el-form-item label="客服电话" prop="customerTel">
           <el-input v-model="diaLogForm.customerTel"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="hanleCancel">取 消</el-button>
-        <el-button type="primary" @click="handelInfo">确 定</el-button>
+        <el-button @click="hanleCancel('form')">取 消</el-button>
+        <el-button type="primary" @click="handelInfo('form')">确 定</el-button>
       </div>
     </el-dialog>
   </div>
@@ -251,7 +256,7 @@ import {
   updateInfo,
   deleteInfo,
 } from "@/api/basic_data/logistics";
-import { downloadFiles } from "@/utils/util";
+import { downloadFiles ,importFileList} from "@/utils/util";
 export default {
   mixins: [Mixin],
   data() {
@@ -274,6 +279,23 @@ export default {
         logisticsCompany: "",
       },
       ids: [],
+      rules: {
+        logisticsCompany: [
+          { required: true, message: "请输入物流公司名称", trigger: "blur" },
+        ],
+        logisticsNumber: [
+          { required: true, message: "请输入物流公司代码", trigger: "blur" },
+        ],
+        pickName: [
+          { required: true, message: "请输入提货人", trigger: "blur" },
+        ],
+        pickTel: [
+          { required: true, message: "请输入提货人电话", trigger: "blur" },
+        ],
+        customerTel: [
+          { required: true, message: "请输入客服电话", trigger: "blur" },
+        ],
+      },
     };
   },
   methods: {
@@ -312,7 +334,7 @@ export default {
       });
     },
     //新增数据或者编辑数据请求接口  type 1 为编辑  type 2 新增
-    handelInfo() {
+    handelInfo(formName) {
       if (this.type === 1) {
         const params = {
           ...this.diaLogForm,
@@ -325,17 +347,23 @@ export default {
         });
         this.diaLogForm.id = null;
       } else if (this.type === 2) {
-        addInof(this.diaLogForm).then((res) => {
-          this.$successMsg("保存成功");
-          this.showDialogForm = false;
-          this.hanleCancel();
-          this.getList();
+        this.$refs[formName].validate((valid) => {
+          if (valid) {
+            addInof(this.diaLogForm).then((res) => {
+              this.$successMsg("保存成功");
+              this.showDialogForm = false;
+              this.hanleCancel();
+              this.getList();
+            });
+          } else {
+            console.log("error submit!!");
+            return false;
+          }
         });
       } else {
         this.showDialogForm = false;
       }
     },
-
     //查看详情
     hanleDetail(detail) {
       this.type = 3;
@@ -362,15 +390,16 @@ export default {
       });
     },
     // 取消按钮重置数据
-    hanleCancel() {
-      this.diaLogForm = {
-        id: null,
-        customerTel: "",
-        logisticsCompany: "",
-        logisticsNumber: "",
-        pickName: "",
-        pickTel: "",
-      };
+    hanleCancel(form) {
+      this.$refs['form'].resetFields()
+      // this.diaLogForm = {
+      //   id: null,
+      //   customerTel: "",
+      //   logisticsCompany: "",
+      //   logisticsNumber: "",
+      //   pickName: "",
+      //   pickTel: "",
+      // };
       this.showDialogForm = false;
     },
   },

+ 31 - 53
src/views/basic_data/material/category_list.vue

@@ -36,45 +36,27 @@
             stripe
           >
             <el-table-column
-              type="selection"
-              align="center"
-              min-width="100"
-            ></el-table-column>
-            <el-table-column
               align="center"
               label="编码"
-              prop="dictCode"
+              prop="number"
               min-width="100"
             ></el-table-column>
             <el-table-column
               align="center"
-              label="类型"
+              label="创建组织"
               prop="dictType"
               min-width="100"
             ></el-table-column>
             <el-table-column
               align="center"
               label="名称"
-              prop="dictValue"
+              prop="name"
               min-width="100"
             ></el-table-column>
-
             <el-table-column
               align="center"
-              label="备注"
-              prop="remark"
-              min-width="100"
-            ></el-table-column>
-             <el-table-column
-              align="center"
-              label="更新时间"
-              prop="createTime"
-              min-width="100"
-            ></el-table-column>
-            <!-- <el-table-column
-              align="center"
               label="使用组织"
-              prop="useOrganize"
+              prop="useOrgId"
               min-width="100"
             ></el-table-column>
             <el-table-column
@@ -88,29 +70,39 @@
               label="禁用状态"
               prop="disableState"
               min-width="100"
-            ></el-table-column>
+            >
+              <template slot-scope="scope">
+                <el-tag
+                  type="success"
+                  size="small"
+                  v-if="scope.row.forbidStatus == 'A'"
+                  >正常</el-tag
+                >
+                <el-tag type="danger" size="small" v-else>禁用</el-tag>
+              </template>
+            </el-table-column>
             <el-table-column
               align="center"
               label="创建人"
-              prop="create"
+              prop="createBy"
               min-width="100"
             ></el-table-column>
             <el-table-column
               align="center"
               label="创建日期"
-              prop="createDate"
+              prop="createTime"
               min-width="100"
             ></el-table-column>
             <el-table-column
               align="center"
               label="修改人"
-              prop="modify"
+              prop="updateBy"
               min-width="100"
-            ></el-table-column> -->
-            <!-- <el-table-column
+            ></el-table-column>
+            <el-table-column
               align="center"
               label="修改日期"
-              prop="modifyDate"
+              prop="updateTime"
               min-width="100"
             ></el-table-column>
             <el-table-column
@@ -137,17 +129,6 @@
               prop="disableDate"
               min-width="100"
             ></el-table-column>
-            <el-table-column
-              align="center"
-              label="操作"
-              min-width="160"
-              show-overflow-tooltip
-            >
-              <el-button type="text" class="textColor" @click="editFn"
-                >编辑</el-button
-              >
-              <el-button type="text" class="textColor">删除</el-button>
-            </el-table-column> -->
           </el-table>
         </div>
         <!-- 分页 -->
@@ -163,18 +144,16 @@
         </div>
       </div>
     </div>
-    <CategoryListDetail v-else />
+    <!-- <CategoryListDetail v-else /> -->
   </div>
 </template>
 
 <script>
 import CategoryListDetail from "./components/category_list-detail.vue";
-import {
- getDictList
-} from "@/api/common";
+import { getCategoryList } from "@/api/basic_data/material";
 import Mixin from "@/mixin/index";
 export default {
-   mixins: [Mixin],
+  mixins: [Mixin],
   data() {
     return {
       isShow: true,
@@ -256,23 +235,22 @@ export default {
     editFn() {
       this.isShow = false;
     },
-      // 初始化数据
+    // 初始化数据
     getList() {
       this.listLoading = true;
       let params = {
-       sysDictEnum:'PRODUCT_TYPE'
-
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+        keyword: "",
       };
-      getDictList(params).then((res) => {
-        this.dataList = res.data;
+      getCategoryList(params).then((res) => {
+        this.dataList = res.data.records;
         this.listTotal = res.data.total;
         this.listLoading = false;
-        // console.log(this.dataList, 1233);
       });
     },
   },
 };
 </script>
 
-<style>
-</style>
+<style></style>

+ 382 - 88
src/views/basic_data/material/components/modify_list-apply.vue

@@ -8,7 +8,7 @@
       <el-form label-width="100px" size="small" label-position="left">
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="单据编号" >
+            <el-form-item label="单据编号">
               <el-input
                 placeholder="请输入"
                 disabled
@@ -17,7 +17,7 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="调价日期" >
+            <el-form-item label="调价日期">
               <el-date-picker
                 v-model="base.startDate"
                 type="datetime"
@@ -29,17 +29,17 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="调价部门" >
+            <el-form-item label="调价部门">
               <el-input placeholder="请输入" disabled></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="调价业务员" >
+            <el-form-item label="调价业务员">
               <el-input placeholder="请输入" disabled></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="制单日期" >
+            <el-form-item label="制单日期">
               <el-date-picker
                 v-model="startDate"
                 disabled
@@ -51,15 +51,18 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="销售类型" >
+            <el-form-item label="销售类型">
               <el-select placeholder="请选择销售类型" v-model="saleTypeId">
-                <el-option  v-for="item in typeList" :label="item.name" :value="item.name"></el-option>
-
+                <el-option
+                  v-for="item in typeList"
+                  :label="item.name"
+                  :value="item.name"
+                ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="文件编码" >
+            <el-form-item label="文件编码">
               <el-input placeholder="请输入" v-model="base.remark"></el-input>
             </el-form-item>
           </el-col>
@@ -80,16 +83,20 @@
         <el-button
           type="primary"
           size="small"
-          @click="centerDialogVisible = true ,getMaterialList()"
+          @click="(centerDialogVisible = true), getMaterialList()"
           >添加</el-button
         >
       </div>
     </div>
     <div class="mymain-container">
       <!-- 列表 -->
-
       <div class="table">
-        <el-form :model="items" ref="form" size="small" label-position="left">
+        <el-form
+          :model="items"
+          v-if="!detail.length"
+          size="small"
+          label-position="left"
+        >
           <el-table
             v-loading="listLoading"
             :data="items"
@@ -107,7 +114,14 @@
               show-overflow-tooltip
             >
               <!-- <el-button type="text" class="textColor">修改</el-button> -->
-              <el-button type="text" class="textColor">删除</el-button>
+              <template slot-scope="scope">
+                <el-button
+                  type="text"
+                  class="textColor"
+                  @click="hanleDeleInd(scope.$index)"
+                  >删除</el-button
+                >
+              </template>
             </el-table-column>
             <el-table-column
               align="center"
@@ -118,11 +132,276 @@
             >
               <template slot-scope="scope">
                 <el-form-item>
-                   <el-select placeholder="请选择销售类型" v-model="scope.row.saleTypeId">
-                <el-option  v-for="item in typeList" :label="item.name" :value="item.id"></el-option>
-
-              </el-select>
-
+                  <el-select
+                    placeholder="请选择销售类型"
+                    v-model="scope.row.saleTypeId"
+                  >
+                    <el-option
+                      v-for="item in typeList"
+                      :label="item.name"
+                      :value="item.id"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              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-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="存货名称"
+              prop="materialName"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.materialName"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="规格型号"
+              prop="specification"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.specification"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="计量单位"
+              prop="company"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.SalesType"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="批发价"
+              prop="batchPrice"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.batchPrice"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="零售价"
+              prop="retailPrice"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.retailPrice"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="返利使用比例"
+              prop="rebateUseRate"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.rebateUseRate"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="生效日期"
+              prop="startDate"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-date-picker
+                    v-model="scope.row.startDate"
+                    type="date"
+                    placeholder="请输入调价日期"
+                    value-format="yyyy-MM-dd"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="失效日期"
+              prop="endDate"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-date-picker
+                    v-model="scope.row.endDate"
+                    type="date"
+                    placeholder="请输入调价日期"
+                    value-format="yyyy-MM-dd"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="是否促销价"
+              prop="isPromote"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-select
+                    v-model="scope.row.isPromote"
+                    @change="hanleChange"
+                    placeholder="请选择是否促销价"
+                  >
+                    <el-option
+                      v-for="item in scope.row.isPromoteArr"
+                      :key="item.bool"
+                      :value="item.bool"
+                      :label="item.value"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="数量"
+              prop="qty"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-input v-model="scope.row.qty"></el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="支付钱包类型"
+              prop="wallets"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-select
+                    v-model="scope.row.isPublish"
+                    @change="hanleChange"
+                    placeholder="请选择支付钱包类型"
+                  >
+                    <el-option
+                      v-for="item in scope.row.rebateList"
+                      :key="item.bool"
+                      :value="item.bool"
+                      :label="item.value"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="发布"
+              prop="isPublish"
+              min-width="160"
+              show-overflow-tooltip
+              ><template slot-scope="scope">
+                <el-form-item>
+                  <el-select
+                    v-model="scope.row.isPublish"
+                    @change="hanleChange"
+                    placeholder="请选择是否发布"
+                  >
+                    <el-option
+                      v-for="item in scope.row.isPublishArr"
+                      :key="item.bool"
+                      :value="item.bool"
+                      :label="item.value"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-form>
+        <el-form :model="detail" v-else size="small" label-position="left">
+          <el-table
+            v-loading="listLoading"
+            :data="detail"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+          >
+            <el-table-column
+              align="center"
+              label="操作类型"
+              prop="nname"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <!-- <el-button type="text" class="textColor">修改</el-button> -->
+              <template slot-scope="scope">
+                <el-button
+                  type="text"
+                  class="textColor"
+                  @click="hanleDeleInd(scope.$index)"
+                  >删除</el-button
+                >
+              </template>
+            </el-table-column>
+            <el-table-column
+              align="center"
+              label="销售类型"
+              prop="saleTypeId"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="scope">
+                <el-form-item>
+                  <el-select
+                    placeholder="请选择销售类型"
+                    v-model="scope.row.saleTypeId"
+                  >
+                    <el-option
+                      v-for="item in typeList"
+                      :label="item.name"
+                      :value="item.id"
+                    ></el-option>
+                  </el-select>
                 </el-form-item>
               </template>
             </el-table-column>
@@ -337,7 +616,6 @@
             </el-table-column>
           </el-table>
         </el-form>
-
         <el-dialog
           title="提示"
           :visible.sync="centerDialogVisible"
@@ -345,21 +623,26 @@
           center
           class="dia"
         >
-        <el-form :model="form" ref="form" :rules="rules" label-width="80px" :inline="false" size="normal">
-          <el-form-item label="产品类型">
-             <el-select v-model="materialId" placeholder="请选择" width="100%">
-            <el-option
-              v-for="item in materialLis"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id"
-            >
-            </el-option>
-          </el-select>
-          </el-form-item>
-
-        </el-form>
-
+          <el-form
+            :model="form"
+            ref="form"
+            :rules="rules"
+            label-width="80px"
+            :inline="false"
+            size="normal"
+          >
+            <el-form-item label="产品类型">
+              <el-select v-model="materialId" placeholder="请选择" width="100%">
+                <el-option
+                  v-for="item in materialLis"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-form>
 
           <span slot="footer" class="dialog-footer">
             <el-button @click="centerDialogVisible = false">取 消</el-button>
@@ -383,48 +666,47 @@ import {
   getTypeList,
   // getTree,
   getMaterialList,
-  getRebate
+  getRebate,
 } from "@/api/basic_data/material";
 import { thisTypeAnnotation } from "@babel/types";
 export default {
   data() {
     return {
       base: {
-        adminCompanyId: "5454",
-        adminWebsitId: "345",
-        billId: "34324",
-        examineNote: "234",
+        adminCompanyId: "",
+        adminWebsitId: "",
+        billId: "",
+        examineNote: "",
         examineResult: true,
-        examineStatus: "2342",
+        examineStatus: "",
         id: null,
-        operatorId: "234",
-        operatorName: "3223",
-        remark: "2332",
-        saleTypeId: "2332",
+        operatorId: "",
+        operatorName: "",
+        remark: "",
+        saleTypeId: "",
       },
-      items: [
-
-      ],
+      items: [],
       centerDialogVisible: false,
-      materialLis:[],
-      materialId:'',
-      rebateList:[],
-      typeList:[],
-      saleTypeId:'',
-      remark:''
+      materialLis: [],
+      materialId: "",
+      rebateList: [],
+      typeList: [],
+      saleTypeId: "",
+      remark: "",
+      detail: [],
     };
   },
   mounted() {
-       let params={
-        pageNum:1,
-       pageSize:10,
-       saleCode:'',
-       saleName:'',
-       status:1
-      }
-    getTypeList(params).then(res=>{
-      this.typeList = res.data.records
-    })
+    let params = {
+      pageNum: 1,
+      pageSize: 10,
+      saleCode: "",
+      saleName: "",
+      status: 1,
+    };
+    getTypeList(params).then((res) => {
+      this.typeList = res.data.records;
+    });
   },
   methods: {
     hanleChange(e) {
@@ -433,28 +715,32 @@ export default {
     goBack() {
       this.$parent.show = 1;
     },
-    getMaterialList(){
-      let rebateParams={
-        pageNum:1,
-       pageSize:10,
-       mainName:'',
-       saleTypeCode:'',
-       saleTypeName:'',
-       status:1
-      }
-      getRebate(rebateParams).then(res=>{
-          this.rebateList = res.data.records
-      })
-       let params = {
-        pageNum:1,
+    indexMethod(index) {
+      console.log(index);
+    },
+    hanleDeleInd(index) {
+      this.items.splice(index, 1);
+    },
+    getMaterialList() {
+      let rebateParams = {
+        pageNum: 1,
         pageSize: 10,
-        keyword: '',
+        mainName: "",
+        saleTypeCode: "",
+        saleTypeName: "",
+        status: 1,
+      };
+      getRebate(rebateParams).then((res) => {
+        this.rebateList = res.data.records;
+      });
+      let params = {
+        pageNum: 1,
+        pageSize: 10,
+        keyword: "",
       };
       getMaterialList(params).then((res) => {
         this.materialLis = res.data.records;
-
       });
-
     },
     hanleAdd() {
       this.centerDialogVisible = false;
@@ -478,14 +764,14 @@ export default {
         startDate: "",
         wallets: [
           {
-                 billId:'44',
-                 id:'55',
-                mainId:'',
-              parentId:'',
-               parentItemId:''
-          }
+            billId: "44",
+            id: "",
+            mainId: "",
+            parentId: "",
+            parentItemId: "",
+          },
         ],
-        rebateList:this.rebateList,
+        rebateList: this.rebateList,
         isPublishArr: [
           {
             value: "是",
@@ -567,6 +853,14 @@ export default {
           remark: "2332",
           saleTypeId: "2332",
         };
+
+        getProductRriceDetail({ id: res.data }).then((res) => {
+          this.base = {
+            ...res.data,
+          };
+
+          this.detail = res.data.items;
+        });
       });
     },
   },
@@ -577,7 +871,7 @@ export default {
 ::v-deep .el-date-editor--date {
   width: 100%;
 }
-.dia .el-select--normal{
+.dia .el-select--normal {
   width: 100%;
 }
 </style>

+ 21 - 11
src/views/basic_data/material/components/modify_list-approval.vue

@@ -16,12 +16,17 @@
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="单据编号" prop="billId">
-              <el-input placeholder="请输入" v-model="detail.billId"></el-input>
+              <el-input
+                placeholder="请输入"
+                disabled
+                v-model="detail.billId"
+              ></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="选择日期"
@@ -31,12 +36,13 @@
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="调价部门" prop="account">
-              <el-input placeholder="请输入"></el-input>
+              <el-input placeholder="请输入" disabled></el-input>
             </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"
               ></el-input>
@@ -46,6 +52,7 @@
             <el-form-item label="制单日期" prop="account">
               <el-date-picker
                 v-model="value1"
+                disabled
                 type="date"
                 placeholder="选择日期"
               >
@@ -54,7 +61,7 @@
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="销售类型" prop="account">
-              <el-select placeholder="请选择活动区域">
+              <el-select placeholder="请选择活动区域" disabled>
                 <el-option label="区域一" value="shanghai"></el-option>
                 <el-option label="区域二" value="beijing"></el-option>
               </el-select>
@@ -63,6 +70,7 @@
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="文件编码" prop="operatorName">
               <el-input
+                disabled
                 placeholder="请输入"
                 v-model="detail.operatorName"
               ></el-input>
@@ -200,19 +208,21 @@
           <el-row :gutter="0">
             <el-col :xs="12" :sm="12" :lg="12" class="item">
               <div class="label">审批人</div>
-              <div class="value">2022123233435342</div>
+              <div class="value">{{ detail.operatorName }}</div>
             </el-col>
             <el-col :xs="12" :sm="12" :lg="12" class="item">
               <div class="label">审批结果</div>
               <div class="value">
-                <el-radio v-model="radio" label="0">通过</el-radio>
-                <el-radio v-model="radio" label="1">驳回</el-radio>
+                <el-radio-group v-model="detail.examineResult">
+                  <el-radio label="0">通过</el-radio>
+                  <el-radio label="1">驳回</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">2022123233435342</div>
+              <div class="value">{{ detail.examineNote }}</div>
             </el-col>
           </el-row>
         </div>
@@ -222,9 +232,9 @@
             <el-button type="primary" size="small" @click="onSubmit"
               >提交审批</el-button
             >
-            <el-button type="primary" size="small" @click="resetScreenForm"
+            <!-- <el-button type="primary" size="small" @click="resetScreenForm"
               >重置</el-button
-            >
+            > -->
           </div>
         </div>
       </el-form>
@@ -273,10 +283,10 @@ export default {
     onSubmit() {
       const params = {
         ...this.detail,
-        // confirmResult:this.radio
+        qty: 23,
       };
       getProductRriceConfirm(params).then((res) => {
-        console.log(res);
+         this.$successMsg("已提交审核");
       });
     },
     resetScreenForm() {

+ 160 - 136
src/views/basic_data/material/components/modify_list-detail.vue

@@ -6,16 +6,27 @@
     <br />
     <br />
     <div>
-      <el-form label-width="100px" size="small" label-position="left">
+      <el-form
+        ref="screenForm"
+        :model="detail"
+        label-width="70px"
+        size="small"
+        label-position="left"
+      >
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="单据编号" prop="account">
-              <el-input placeholder="请输入" v-model="detail.billId"></el-input>
+            <el-form-item label="单据编号" prop="billId">
+              <el-input
+                placeholder="请输入"
+                disabled
+                v-model="detail.billId"
+              ></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="选择日期"
@@ -25,18 +36,23 @@
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="调价部门" prop="account">
-              <el-input placeholder="请输入"></el-input>
+              <el-input placeholder="请输入" disabled></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="调价业务员" prop="account">
-              <el-input placeholder="请输入" v-model="detail.operatorName"></el-input>
+            <el-form-item label="调价业务员" prop="operatorName">
+              <el-input
+                disabled
+                placeholder="请输入"
+                v-model="detail.operatorName"
+              ></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="选择日期"
               >
@@ -45,165 +61,170 @@
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="销售类型" prop="account">
-              <el-select placeholder="请选择活动区域">
+              <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="account">
-              <el-input placeholder="请输入" v-model="detail.operatorName"></el-input>
+            <el-form-item label="文件编码" prop="operatorName">
+              <el-input
+                disabled
+                placeholder="请输入"
+                v-model="detail.operatorName"
+              ></el-input>
             </el-form-item>
           </el-col>
         </el-row>
-      </el-form>
-    </div>
-    <div class="mymain-container">
-      <!-- 列表 -->
-      <div class="table">
-        <el-table
 
-          :data="detail.items"
-          element-loading-text="Loading"
-          border
-          fit
-          highlight-current-row
-          stripe
-        >
-          <el-table-column
-            align="center"
-            label="销售类型"
-            prop="saleTypeId"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="存货编码"
-            prop="billId"
-            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="company"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="批发价"
-            prop="batchPrice"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="零售价"
-            prop="retailPrice"
-            min-width="160"
-            show-overflow-tooltip
-          >
-          </el-table-column>
-          <el-table-column
-            align="center"
-            label="返利使用比例"
-            prop="rebateUseRate"
-            min-width="160"
-            show-overflow-tooltip
-          >
-          </el-table-column>
-          <el-table-column
-            align="center"
-            label="生效日期"
-            prop="startDate"
-            min-width="160"
-            show-overflow-tooltip
-          >
-          </el-table-column>
-          <el-table-column
-            align="center"
-            label="失效日期"
-            prop="endDate"
-            min-width="160"
-            show-overflow-tooltip
-          >
-          </el-table-column>
-          <el-table-column
-            align="center"
-            label="是否促销价"
-            prop="isPromote"
-            min-width="160"
-            show-overflow-tooltip
-          >
-                     <template slot-scope="scope">
-               <el-tag type="success" v-if="scope.row.isPromote">是</el-tag>
-                 <el-tag type="danger" v-else>否</el-tag>
-              </template>
-          </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="isPublish"
-            min-width="160"
-            show-overflow-tooltip
-          >
-                  <template slot-scope="scope">
-               <el-tag type="success" v-if="scope.row.isPublish">是</el-tag>
-                 <el-tag type="danger" v-else>否</el-tag>
-              </template>
-          </el-table-column>
-        </el-table>
-      </div>
-    </div>
-    <br />
+        <div class="mymain-container">
+          <!-- 列表 -->
+          <div class="table">
+            <el-table
+              :data="detail.items"
+              element-loading-text="Loading"
+              border
+              fit
+              highlight-current-row
+              stripe
+            >
+              <el-table-column
+                align="center"
+                label="销售类型"
+                prop="saleTypeId"
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="存货编码"
+                prop="billId"
+                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="company"
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="批发价"
+                prop="batchPrice"
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="零售价"
+                prop="retailPrice"
+                min-width="160"
+                show-overflow-tooltip
+              >
+              </el-table-column>
+              <el-table-column
+                align="center"
+                label="返利使用比例"
+                prop="rebateUseRate"
+                min-width="160"
+                show-overflow-tooltip
+              >
+              </el-table-column>
+              <el-table-column
+                align="center"
+                label="生效日期"
+                prop="startDate"
+                min-width="160"
+                show-overflow-tooltip
+              >
+              </el-table-column>
+              <el-table-column
+                align="center"
+                label="失效日期"
+                prop="endDate"
+                min-width="160"
+                show-overflow-tooltip
+              >
+              </el-table-column>
+              <el-table-column
+                align="center"
+                label="是否促销价"
+                prop="isPromote"
+                min-width="160"
+                show-overflow-tooltip
+              >
+                <template slot-scope="scope">
+                  <el-tag type="success" v-if="scope.row.isPromote">是</el-tag>
+                  <el-tag type="danger" v-else>否</el-tag>
+                </template>
+              </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="isPublish"
+                min-width="160"
+                show-overflow-tooltip
+              >
+                <template slot-scope="scope">
+                  <el-tag type="success" v-if="scope.row.isPublish">是</el-tag>
+                  <el-tag type="danger" v-else>否</el-tag>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+        </div>
     <div class="diy-table-1">
       <el-row :gutter="0">
         <el-col :xs="12" :sm="8" :lg="8" class="item">
           <div class="label">审批人</div>
-          <div class="value">2022123233435342</div>
+          <div class="value">{{detail.operatorName}}</div>
         </el-col>
         <el-col :xs="12" :sm="8" :lg="8" class="item">
           <div class="label">审批结果</div>
-          <div class="value">2022123233435342</div>
+          <div class="value">{{detail.examineResult?'通过':'驳回'}}</div>
         </el-col>
         <el-col :xs="12" :sm="8" :lg="8" class="item">
           <div class="label">审批时间</div>
-          <div class="value">2022123233435342</div>
+          <div class="value">{{}}</div>
         </el-col>
         <el-col :xs="24" :sm="24" :lg="24" class="item">
           <div class="label">审批说明</div>
-          <div class="value">2022123233435342</div>
+          <div class="value">{{detail.examineNote}}</div>
         </el-col>
       </el-row>
     </div>
+      </el-form>
+    </div>
   </div>
 </template>
 
+
+
 <script>
 export default {
   props:{
@@ -233,6 +254,9 @@ export default {
       ],
     };
   },
+  created() {
+      console.log(this.detail);
+  },
   methods: {
     goBack() {
       console.log(this.$parent);

+ 72 - 139
src/views/basic_data/material/machine_list.vue

@@ -63,22 +63,22 @@
           @click="(showDialogForm = true), (type = 1)"
           >新增</el-button
         >
-       <el-popconfirm
-                confirm-button-text="好的"
-                cancel-button-text="不用了"
-                icon="el-icon-info"
-                icon-color="red"
-                title="内容确定删除吗?"
-                @onConfirm="hanleDeleteAll"
-              >
-                <el-button
-                  slot="reference"
-                   type="primary"
-      size="small"
-                  class="textColor el-popover-left"
-                  >删除</el-button
-                >
-              </el-popconfirm>
+        <el-popconfirm
+          confirm-button-text="好的"
+          cancel-button-text="不用了"
+          icon="el-icon-info"
+          icon-color="red"
+          title="内容确定删除吗?"
+          @onConfirm="hanleDeleteAll"
+        >
+          <el-button
+            slot="reference"
+            type="primary"
+            size="small"
+            class="textColor el-popover-left"
+            >删除</el-button
+          >
+        </el-popconfirm>
       </div>
       <div class="fr">
         <el-upload
@@ -105,81 +105,47 @@
           border
           fit
           highlight-current-row
-           @select-all="hanleSelectAll"
-           @select="hanleSelectAll"
+          @select-all="hanleSelectAll"
+          @select="hanleSelectAll"
           stripe
         >
           <el-table-column type="selection" align="center"></el-table-column>
           <el-table-column
             align="center"
-            label="内机名称"
-            prop="innerMachineName"
+            label="类型"
+            prop="type"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
-            label="内机型号"
-            prop="innerMachineType"
+            label="名称"
+            prop="name"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
-            label="编码"
-            prop="innerMachineNumber"
+            label="型号"
+            prop="model"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
-            label="内机体积"
-            prop="innerMachineVolume"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="外机名称"
-            prop="outsideMachineName"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="外机型号"
-            prop="outsideMachineType"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="外机编码"
-            prop="outsideMachineNumber"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="外机体积"
-            prop="outsideMachineVolume"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="配件1"
-            prop="parts1"
+            label="编码"
+            prop="number"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
-            label="配件2"
-            prop="parts2"
+            label="体积"
+            prop="volume"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
+
           <el-table-column
             align="center"
             label="创建人"
@@ -219,10 +185,10 @@
               <el-button
                 type="text"
                 class="textColor"
-                @click="editFn(scope.row.id,scope.row)"
+                @click="editFn(scope.row.id, scope.row)"
                 >编辑</el-button
               >
-                 <el-popconfirm
+              <el-popconfirm
                 confirm-button-text="好的"
                 cancel-button-text="不用了"
                 icon="el-icon-info"
@@ -233,7 +199,6 @@
                 <el-button
                   slot="reference"
                   type="text"
-
                   class="textColor el-popover-left"
                   >删除</el-button
                 >
@@ -271,61 +236,28 @@
         size="small"
         label-position="left"
       >
-        <el-form-item label="内机名称">
-          <!-- <el-select
-            v-model="diaLogForm.positionName"
-            multiple
-            placeholder="请选择"
-          >
-            <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
-            </el-option>
-          </el-select> -->
-          <el-input v-model="diaLogForm.innerMachineName"></el-input>
-        </el-form-item>
-        <el-form-item label="内机型号">
-          <el-input v-model="diaLogForm.innerMachineType"></el-input>
-        </el-form-item>
-        <el-form-item label="内机编码">
-          <el-input v-model="diaLogForm.innerMachineNumber"></el-input>
-        </el-form-item>
-        <el-form-item label="内机体积">
-          <el-input v-model="diaLogForm.innerMachineVolume"></el-input>
-        </el-form-item>
-        <el-form-item label="外机名称">
-          <!-- <el-select
-            v-model="diaLogForm.positionName"
-            multiple
-            placeholder="请选择"
-          >
+        <el-form-item label="类型">
+          <el-select v-model="diaLogForm.type" placeholder="请选择">
             <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+              v-for="item in distList"
+              :key="item.dictCode"
+              :label="item.dictValue"
+              :value="item.dictCode"
             >
             </el-option>
-          </el-select> -->
-          <el-input v-model="diaLogForm.outsideMachineName"></el-input>
-        </el-form-item>
-        <el-form-item label="外机机型号">
-          <el-input v-model="diaLogForm.outsideMachineType"></el-input>
+          </el-select>
         </el-form-item>
-        <el-form-item label="外机编码">
-          <el-input v-model="diaLogForm.outsideMachineNumber"></el-input>
+        <el-form-item label="名称">
+          <el-input v-model="diaLogForm.name" size="normal"></el-input>
         </el-form-item>
-        <el-form-item label="外机体积">
-          <el-input v-model="diaLogForm.outsideMachineVolume"></el-input>
+        <el-form-item label="型号">
+          <el-input v-model="diaLogForm.model" size="normal"></el-input>
         </el-form-item>
-        <el-form-item label="配件1">
-          <el-input v-model="diaLogForm.parts1"></el-input>
+        <el-form-item label="编码">
+          <el-input v-model="diaLogForm.number" size="normal"></el-input>
         </el-form-item>
-        <el-form-item label="配件2">
-          <el-input v-model="diaLogForm.parts2"></el-input>
+        <el-form-item label="体积">
+          <el-input v-model="diaLogForm.volume" size="normal"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -346,6 +278,9 @@ import {
   getMachineAdd,
   getMachineDel,
   getMachineEdit,
+  getDistList,
+  getMaterialList,
+
 } from "@/api/basic_data/material";
 export default {
   mixins: [Mixin],
@@ -378,17 +313,12 @@ export default {
       ],
       diaLogForm: {
         id: null,
-        parts1:'',
-        parts2:"",
-        innerMachineName: "",
-        innerMachineNumber: "",
-        innerMachineType: "",
-        innerMachineVolume: 2,
-        orgNumber: "",
-        outsideMachineName: "",
-        outsideMachineNumber: "",
-        outsideMachineType: "",
-        outsideMachineVolume: 2,
+        name: "",
+        number: "",
+        model: "",
+        volume: "",
+        type: "",
+
       },
       showDialogForm: false,
       dataList: [
@@ -484,20 +414,15 @@ export default {
   },
   methods: {
     editFn(id, row) {
-      this.type=2
+      this.type = 2;
       this.diaLogForm = {
         id,
-        parts1:row.parts1,
-        parts2:row.parts2,
-        innerMachineName: row.innerMachineName,
-        innerMachineNumber: row.innerMachineNumber,
-        innerMachineType: row.innerMachineType,
-        innerMachineVolume: row.innerMachineVolume,
-        orgNumber: row.orgNumber,
-        outsideMachineName: row.outsideMachineName,
-        outsideMachineNumber: row.outsideMachineNumber,
-        outsideMachineType: row.outsideMachineType,
-        outsideMachineVolume: row.outsideMachineVolume,
+        name: row.name,
+        number: row.number,
+        model: row.model,
+        volume: row.volume,
+        type: row.type,
+
       };
       this.showDialogForm = true;
     },
@@ -519,7 +444,6 @@ export default {
       }
       this.resetInfo();
       this.showDialogForm = false;
-
     },
     // 初始化数据
     getList() {
@@ -538,6 +462,10 @@ export default {
         this.listLoading = false;
         console.log(this.dataList, 1233);
       });
+      getDistList({ sysDictEnum: "MACHINE_CONFIGURE" }).then((res) => {
+        this.distList = res.data;
+        console.log(res, 123);
+      });
     },
     // 导入
     async handleImport(param) {
@@ -572,7 +500,7 @@ export default {
       console.log(id);
       this.hanleDeleteAllPromise(id).then((ids) => {
         getMachineDel(ids).then((res) => {
-           this.getList();
+          this.getList();
         });
       });
     },
@@ -590,6 +518,7 @@ export default {
         outsideMachineVolume: 2,
       };
     },
+
   },
 };
 </script>
@@ -598,4 +527,8 @@ export default {
 ::v-deep .el-select {
   width: 100%;
 }
+.import-btn {
+  display: inline-block;
+  margin-right: 10px;
+}
 </style>

+ 2 - 2
src/views/basic_data/material/material_list.vue

@@ -44,11 +44,11 @@
             highlight-current-row
             stripe
           >
-            <el-table-column
+            <!-- <el-table-column
               type="selection"
               align="center"
               min-width="100"
-            ></el-table-column>
+            ></el-table-column> -->
             <el-table-column
               align="center"
               label="使用组织"

+ 50 - 30
src/views/basic_data/material/modify_list.vue

@@ -62,13 +62,28 @@
       <div class="btn-group clearfix">
         <div class="fl">
           <el-button type="primary" size="small" @click="addFn">新增</el-button>
-          <el-button type="primary" size="small">编辑</el-button>
-          <el-button type="primary" size="small">删除</el-button>
+          <!-- <el-button type="primary" size="small">编辑</el-button> -->
+          <el-popconfirm
+            confirm-button-text="好的"
+            cancel-button-text="不用了"
+            icon="el-icon-info"
+            icon-color="red"
+            title="内容确定删除吗?"
+            @onConfirm="hanleDeleteAll"
+          >
+            <el-button
+              type="primary"
+              size="small"
+              slot="reference"
+              class="el-popover-left"
+              >删除</el-button
+            >
+          </el-popconfirm>
         </div>
         <div class="fr">
-          <el-button type="primary" size="small">导入</el-button>
+          <!-- <el-button type="primary" size="small">导入</el-button>
           <el-button type="primary" size="small">导出</el-button>
-          <el-button type="primary" size="small">打印</el-button>
+          <el-button type="primary" size="small">打印</el-button> -->
         </div>
       </div>
       <div class="mymain-container">
@@ -299,13 +314,9 @@ import ModifyListApproval from "./components/modify_list-approval.vue";
 import ModifyListDetail from "./components/modify_list-detail.vue";
 import Mixin from "@/mixin/index";
 import {
-  getProductRriceAdd,
-  getProductRriceConfirm,
   getProductRriceDetail,
-  getProductRriceEdit,
   getProductRriceList,
-  getProductRriceRevoke,
-  getProductRriceSubmit,
+  getProductRricedel,
 } from "@/api/basic_data/material";
 import { downloadFiles } from "@/utils/util";
 export default {
@@ -343,27 +354,28 @@ export default {
         materialNumber: "",
         startDate: "",
       },
+      liDetail: {},
       detail: {},
-      obj:{
-          baseUnitId: "",
-          batchPrice: "",
-          billId: "",
-          endDate: "",
-          id: null,
-          isPromote: "",
-          isPublish: "",
-          materialId: "",
-          materialName: "",
-          materialNumber: "",
-          parentId: "",
-          qty: "",
-          rebateUseRate: "",
-          retailPrice: "",
-          saleTypeId: "",
-          specification: "",
-          startDate: "",
-          wallets: [],
-        }
+      obj: {
+        baseUnitId: "",
+        batchPrice: "",
+        billId: "",
+        endDate: "",
+        id: null,
+        isPromote: "",
+        isPublish: "",
+        materialId: "4",
+        materialName: "",
+        materialNumber: "",
+        parentId: "",
+        qty: "",
+        rebateUseRate: "",
+        retailPrice: "",
+        saleTypeId: "",
+        specification: "",
+        startDate: "",
+        wallets: [],
+      },
     };
   },
   components: {
@@ -375,7 +387,15 @@ export default {
     addFn() {
       this.show = 2;
     },
-    approvalFn() {
+    hanleDeleteAll(id) {
+      this.hanleDeleteAllPromise(id).then((ids) => {
+        getProductRricedel(ids).then((res) => {
+          this.$successMsg("删除成功");
+          this.getList();
+        });
+      });
+    },
+    approvalFn(id) {
       getProductRriceDetail({ id }).then((res) => {
         this.detail = res.data;
         this.show = 3;

+ 199 - 108
src/views/basic_data/material/relation_list.vue

@@ -11,7 +11,7 @@
       >
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="产品名称" prop="name">
+            <el-form-item label="产品名称" prop="materialName">
               <el-select placeholder="请选择产品品类" v-model="screenForm.name">
                 <el-option
                   v-for="item in materialLis"
@@ -160,7 +160,7 @@
           <el-table-column
             align="center"
             label="产品名称"
-            prop="name"
+            prop="materialName"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
@@ -208,8 +208,8 @@
           ></el-table-column>
           <el-table-column
             align="center"
-            label="parts2"
-            prop="partsTwo"
+            label="配件2"
+            prop="parts2"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
@@ -294,77 +294,94 @@
     <el-dialog
       title="产品信息"
       :visible.sync="showDialogForm"
-      width="30%"
+      width="70%"
       :show-close="false"
       :close-on-click-modal="false"
     >
-      <el-form ref="form" :model="diaLogForm" label-width="100px">
-        <el-form-item label="产品名称">
-         <el-select placeholder="请选择产品品类" v-model="diaLogForm.materialId">
+      <el-form ref="form" :model="diaLogForm" label-width="80px">
+        <el-row :gutter="20">
+          <el-col :span="12" :offset="0">
+            <el-form-item label="产品名称">
+              <el-select
+                placeholder="选择名称"
+                @change="hanleName"
+                v-model="diaLogForm.materialId"
+              >
                 <el-option
                   v-for="item in materialLis"
                   :label="item.name"
                   :value="item.id"
                 ></el-option>
               </el-select>
+            </el-form-item>
+            <el-form-item label="产品型号">
+              <el-input v-model="diaLogForm.productModel"></el-input>
+            </el-form-item>
+            <el-form-item label="套机编码">
+              <el-input v-model="diaLogForm.productNumber"></el-input>
+            </el-form-item>
+            <el-form-item label="产品体积">
+              <el-input v-model="diaLogForm.productVolume"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" :offset="0">
+            <el-row>
+              <el-col :span="22" type="flex">
+                <el-form-item label="类型">
+                  <el-select
+                    v-model="diaLogForm.type"
+                    @change="hanleType"
+                    placeholder="请选择类型"
+                  >
+                    <el-option
+                      v-for="item in DistType"
+                      :key="item.dictCode"
+                      :label="item.dictValue"
+                      :value="item.dictCode"
+                    >
+                    </el-option>
+                  </el-select> </el-form-item
+              ></el-col>
+              <el-col :span="2">
+                <el-button type="primary" @click="hanleAddData"
+                  >+</el-button
+                ></el-col
+              >
+            </el-row>
 
-        </el-form-item>
-        <el-form-item label="产品型号">
-          <el-input v-model="diaLogForm.productModel"></el-input>
-        </el-form-item>
-        <el-form-item label="套机棉麻">
-          <el-input v-model="diaLogForm.composeNumber"></el-input>
-        </el-form-item>
-        <el-form-item label="产品体积">
-          <el-input v-model="diaLogForm.productVolume"></el-input>
-        </el-form-item>
-        <el-form-item label="内机编码">
-          <el-select v-model="diaLogForm.items" multiple placeholder="请选择">
-            <el-option
-              v-for="item in machineList"
-              :key="item.id"
-              :label="item.innerMachineNumber"
-              :value="item.id"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="外机编码">
-          <el-select v-model="diaLogForm.items" multiple placeholder="请选择">
-            <el-option
-              v-for="item in machineList"
-              :key="item.id"
-              :label="item.outsideMachineNumber"
-              :value="item.id"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="配件1">
-          <el-select v-model="diaLogForm.items" multiple placeholder="请选择">
-            <el-option
-              v-for="item in machineList"
-              :key="item.id"
-              :label="item.parts1"
-              :value="item.id"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="配件2">
-          <el-select v-model="diaLogForm.items" multiple placeholder="请选择">
-            <el-option
-              v-for="item in machineList"
-              :key="item.id"
-              :label="item.parts2"
-              :value="item.id"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item>
+            <template v-for="(item, index) in diaLogForm.items">
+              <el-form-item label="编码">
+                <el-select
+                  v-model="item.number"
+                  placeholder="请选择编码"
+                  @change="hanleCode($event, index)"
+                >
+                  <el-option
+                    v-for="item in machineList"
+                    :key="item.id"
+                    :label="item.number"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item label="名称">
+                <el-input v-model="item.name" placeholder=""></el-input>
+              </el-form-item>
+              <el-form-item label="型号">
+                <el-input v-model="item.model" placeholder=""></el-input>
+              </el-form-item>
+              <el-form-item label="体积">
+                <el-input v-model="item.volume" placeholder=""></el-input>
+              </el-form-item>
+            </template>
+          </el-col>
+        </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="showDialogForm = false">取 消</el-button>
+        <el-button @click="(showDialogForm = false), resetInfo()"
+          >取 消</el-button
+        >
         <el-button type="primary" @click="hanleInfo">确 定</el-button>
       </div>
     </el-dialog>
@@ -374,15 +391,14 @@
 <script>
 import Mixin from "@/mixin/index";
 import { downloadFiles, handleImport } from "@/utils/util";
-// import { getDictList } from "@/api/common";
 import {
   getProductList,
   getProductEdit,
-  getProductDetail,
   getProductDel,
   getProductAdd,
   getMachineLlist,
-getMaterialList
+  getMaterialList,
+  getDistList,
 } from "@/api/basic_data/material";
 export default {
   mixins: [Mixin],
@@ -415,12 +431,25 @@ export default {
       ],
       diaLogForm: {
         adminCompanyId: null,
-        composeNumber: "",
+        productNumber: "",
         id: null,
-        items: [],
+        items: [
+          {
+            id: "",
+            innerOutsideMachineId: "",
+            machineConfigureId: "",
+            parentId: "",
+            model: "",
+            name: "",
+            number: "",
+            type: "",
+            volume: "",
+          },
+        ],
         materialId: null,
         productModel: "",
         productVolume: 0,
+        type: "",
       },
       showDialogForm: false,
       dataList: [
@@ -504,20 +533,91 @@ export default {
         volume: "",
       },
       materialLis: {},
+      typeList: [],
+      DistType: [],
+      machineConfigureId: "",
     };
   },
   mounted() {
-      let params = {
-        pageNum:1,
-        pageSize: 410,
-        keyword: '',
+    this.getMaterMacList();
+  },
+  methods: {
+    hanleAddData() {
+      this.diaLogForm.items.push({
+        id: "",
+        innerOutsideMachineId: "",
+        machineConfigureId: "",
+        parentId: "",
+        model: "",
+        name: "",
+        number: "",
+        type: "",
+        volume: "",
+      });
+    },
+    getMaterMacList() {
+      const params = {
+        pageNum: 1,
+        pageSize: 10,
+        keyword: "",
       };
+
       getMaterialList(params).then((res) => {
         this.materialLis = res.data.records;
-          console.log(this.materialLis,44444);
       });
-  },
-  methods: {
+      const params2 = {
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+        keyword: "",
+      };
+      getMachineLlist(params2).then((res) => {
+        this.typeList = res.data.records;
+      });
+    },
+    hanleType(e) {
+      let params2 = {
+        pageNum: this.machinePei.currentPage,
+        pageSize: this.machinePei.pageSize,
+        model: this.machinePei.model,
+        name: this.machinePei.name,
+        number: this.machinePei.number,
+        type: e,
+        volume: this.machinePei.volume,
+      };
+      getMachineLlist(params2).then((res) => {
+        this.machineList = res.data.records;
+        console.log(1111);
+      });
+    },
+    hanleCode(e, i) {
+      this.machineList.find((l) => {
+        if (l.id == e) {
+          this.$set(this.diaLogForm.items, i, {
+            id: "",
+            machineConfigureId: l.id,
+            parentId: "",
+            innerOutsideMachineId: l.id,
+            model: l.model,
+            name: l.name,
+            number: l.number,
+            type: l.type,
+            volume: l.volume,
+          });
+          return;
+        }
+      });
+    },
+    hanleName(e) {
+      this.materialLis.find((k) => {
+        if (k.id == e) {
+          console.log(k.number, 4546);
+          this.diaLogForm.productModel = k.specification;
+          this.diaLogForm.productNumber = k.number;
+          this.diaLogForm.volume = k.volume;
+          return;
+        }
+      });
+    },
     getList() {
       this.listLoading = true;
       let params = {
@@ -549,7 +649,6 @@ export default {
         adminCompanyId: row.adminCompanyId,
         materialId: row.materialId,
       };
-
       this.showDialogForm = true;
     },
     hanleInfo() {
@@ -557,17 +656,17 @@ export default {
         this.diaLogForm.id = null;
         this.diaLogForm.adminCompanyId = null;
 
-        const items = this.hanleForItem(this.diaLogForm.items);
-        getProductAdd({ ...this.diaLogForm, items }).then((res) => {
+        getProductAdd({ ...this.diaLogForm }).then((res) => {
           this.$successMsg("保存成功");
           this.getList();
+          this.resetInfo();
         });
       } else if (this.type === 2) {
-        const items = this.hanleForItem(this.diaLogForm.items);
-        const params = { ...this.diaLogForm, items };
+        const params = { ...this.diaLogForm };
         getProductEdit(params).then((res) => {
           this.$successMsg("编辑成功");
           this.getList();
+          this.resetInfo();
         });
       }
 
@@ -594,7 +693,19 @@ export default {
         id: null,
         composeNumber: "",
         id: "",
-        items: [],
+        items: [
+          {
+            id: "",
+            innerOutsideMachineId: "",
+            machineConfigureId: "",
+            parentId: "",
+            model: "",
+            name: "",
+            number: "",
+            type: "",
+            volume: "",
+          },
+        ],
         materialId: "",
         orgNumber: 0,
         productModel: "",
@@ -602,38 +713,18 @@ export default {
       };
     },
     hanleMachine() {
-      let params2 = {
-        pageNum: this.machinePei.currentPage,
-        pageSize: this.machinePei.pageSize,
-        name: this.machinePei.name,
-        number: this.machinePei.number,
-        type: this.machinePei.type,
-        volume: this.machinePei.volume,
-      };
-      getMachineLlist(params2).then((res) => {
-        this.machineList = res.data.records;
-        console.log(this.machineList, 1233);
-      });
-          let params = {
-        pageNum:1,
-        pageSize: 410,
-        keyword: '',
+      let params = {
+        pageNum: 1,
+        pageSize: 10,
+        keyword: "",
       };
       getMaterialList(params).then((res) => {
         this.materialLis = res.data.records;
-          console.log(this.materialLis,44444);
       });
-    },
-    hanleForItem(item) {
-      const items = [];
-      item.map((k) => {
-        return items.push({
-          id: "",
-          innerOutsideMachineId: k,
-          parentId: "",
-        });
+      getDistList({ sysDictEnum: "MACHINE_CONFIGURE" }).then((res) => {
+        console.log(res, "type");
+        this.DistType = res.data;
       });
-      return items;
     },
   },
 };

+ 439 - 436
src/views/basic_data/supplier/components/supplier_list-detail.vue

@@ -3,341 +3,454 @@
     <div class="sty">
       <el-page-header @back="goBack" content="详情页面"> </el-page-header>
     </div>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>供应商编码</span>
-      </div>
-      <el-row>
-        <el-col :span="6"
-          ><span class="color">创建组织</span
-          ><input type="text" v-model="infoForm.createOrgName"
-        /></el-col>
-        <el-col :span="6"
-          ><span>使用组织</span><input type="text" v-model="infoForm.useOrgId"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">注册编码</span
-          ><input v-model="infoForm.regNumber" type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">编码</span
-          ><input v-model="infoForm.number" type="text"
-        /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"
-          ><span>名称</span><input v-model="infoForm.name" type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span>简称</span><input v-model="infoForm.shortName" type="text"
-        /></el-col>
-      </el-row>
-    </el-card>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>基本信息</span>
-      </div>
-      <div class="baseInfo">
+    <el-form
+      :model="infoList"
+      label-width="130px"
+      size="small"
+      label-position="right"
+    >
+      <el-card class="">
+        <div slot="header" class="clearfix">
+          <strong>供应商编码</strong>
+        </div>
         <div>
-          <div class="base-header">
-            <span>地址</span>
-          </div>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">国家</span
-              ><input v-model="infoForm.country" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">地区</span
-              ><input v-model="infoForm.provincial" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">通讯地址</span
-              ><textarea
-                v-model="infoForm.address"
-                name=""
-                id=""
-                cols="30"
-                rows="10"
-                class="textareaStyle"
-              ></textarea>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="创建组织" prop="">
+                <el-input
+                  v-model="infoList.createOrgName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
             </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">邮政编码</span
-              ><input v-model="infoForm.zip" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">语言</span
-              ><input v-model="infoForm.language" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">公司地址</span
-              ><textarea
-                v-model="infoForm.webSite"
-                class="textareaStyle"
-                name=""
-                id=""
-                cols="30"
-                rows="10"
-              ></textarea>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="使用组织" prop="takerName">
+                <el-input
+                  v-model="infoList.useOrgName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="注册编码" prop="telephone">
+                <el-input
+                  v-model="infoList.regNumber"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="编码" prop="telephone">
+                <el-input
+                  v-model="infoList.number"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="名称" prop="telephone">
+                <el-input
+                  v-model="infoList.name"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="简称" prop="telephone">
+                <el-input
+                  v-model="infoList.shortName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
             </el-col>
           </el-row>
+          <!-- </el-form> -->
+        </div>
+      </el-card>
+      <br />
+      <el-card class="">
+        <div slot="header" class="clearfix">
+          <strong>基本信息</strong>
         </div>
+        <span>地址</span>
+        <el-divider></el-divider>
         <div>
-          <div class="base-header">
-            <span>注册</span>
-          </div>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">行业</span
-              ><input v-model="infoForm.trade" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">创立日期</span
-              ><input v-model="infoForm.foundDate" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">法人代表</span
-              ><input v-model="infoForm.legalPerson" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">注册资金(万元)</span
-              ><input v-model="infoForm.registerFund" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">公司规模工商登记号</span
-              ><input v-model="infoForm.registerCode" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">生产经许可证</span
-              ><input v-model="infoForm.tendPermit" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">统一社会信用代码</span
-              ><input v-model="infoForm.socialCreCode" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">注册地址</span
-              ><textarea
-                v-model="infoForm.registerAddress"
-                name=""
-                id=""
-                cols="30"
-                rows="10"
-                class="textareaStyle"
-              ></textarea>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="国家" prop="">
+                <el-input
+                  v-model="infoList.country"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="地区" prop="takerName">
+                <el-input
+                  v-model="infoList.provincial"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="通讯地址" prop="telephone">
+                <el-input
+                  v-model="infoList.address"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="邮政编码" prop="telephone">
+                <el-input
+                  v-model="infoList.zip"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="语言" prop="telephone">
+                <el-input
+                  v-model="infoList.language"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司网址" prop="telephone">
+                <el-input
+                  v-model="infoList.webSite"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
             </el-col>
           </el-row>
+          <!-- </el-form> -->
         </div>
+        <span>注册</span>
+        <el-divider></el-divider>
         <div>
-          <div class="base-header">
-            <span>管理</span>
-          </div>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">负责部门</span
-              ><input v-model="infoForm.deptName" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">负责人</span
-              ><input v-model="infoForm.staffName" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">供应商分类</span
-              ><input v-model="infoForm.supplierClassify" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">供应类别</span
-              ><select name="" id="" class="selectStyle">
-                <option value="">采购</option>
-              </select></el-col
-            >
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">供应商等级</span
-              ><input v-model="infoForm.supplierGrade" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">供应商分组</span
-              ><input v-model="infoForm.groupName" type="text"
-            /></el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">公司类别</span
-              ><input v-model="infoForm.companyClassify" type="text"
-            /></el-col>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="行业" prop="">
+                <el-input
+                  v-model="infoList.trade"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="创立日期" prop="takerName">
+                <el-date-picker
+                  v-model="infoList.foundDate"
+                  type="datetime"
+                  placeholder="选择日期时间"
+                  default-time="23:59:59"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="法人代表" prop="telephone">
+                <el-input
+                  v-model="infoList.legalPerson"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="注册资金" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="工商登记号" prop="telephone">
+                <el-input
+                  v-model="infoList.registerFund"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="生产经营许可证" prop="telephone">
+                <el-input
+                  v-model="infoList.tendPermit"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="统一社会信用代码" prop="telephone">
+                <el-input
+                  v-model="infoList.socialCrecode"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="注册地址" prop="telephone">
+                <el-input
+                  v-model="infoList.registerAddress"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r color">公司性质</span
-              ><input v-model="infoForm.companyNature" type="text"
-            /></el-col>
+          <!-- </el-form> -->
+        </div>
+        <span>管理</span>
+        <el-divider></el-divider>
+        <div>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="负责部门" prop="">
+                <el-input
+                  v-model="infoList.deptName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="负责人" prop="takerName">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="供应商分类" prop="telephone">
+                <el-input
+                  v-model="infoList.supplierClassify"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="供应类别" prop="telephone">
+                <el-select
+                  v-model="infoList.supplyClassify"
+                  placeholder="请选择"
+                >
+                  <el-option> </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="供应商等级" prop="telephone">
+                <el-input
+                  v-model="infoList.supplierGrade"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="供应商分组" prop="telephone">
+                <el-input
+                  v-model="infoList.groupName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司类别" prop="telephone">
+                <el-input
+                  v-model="infoList.companyClassify"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司性质" prop="telephone">
+                <el-input
+                  v-model="infoList.companyNature"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="公司规模" prop="telephone">
+                <el-input
+                  v-model="infoList.companyScale"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="对应组织" prop="telephone">
+                <el-input
+                  v-model="infoList.correspondOrgName"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">公司规模</span
-              ><input v-model="infoForm.companyScale" type="text"
-            /></el-col>
+          <!-- </el-form> -->
+        </div>
+      </el-card>
+      <br />
+      <el-card class="">
+        <div slot="header" class="clearfix">
+          <strong>商务信息</strong>
+        </div>
+        <div>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="采购组" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="默认价目表" prop="takerName">
+                <el-input
+                  v-model="infoList.number"
+                  placeholder="请输入"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="业务状态" prop="telephone">
+                <el-select v-model="infoList.useOrgName" placeholder="请选择">
+                  <el-option> </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="默认折扣表" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="冻结范围" prop="telephone">
+                <el-select placeholder="请选择">
+                  <el-option> </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="供货方" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="冻结人" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="VMI仓库" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="冻结日期" prop="telephone">
+                <el-date-picker
+                  type="datetime"
+                  placeholder="选择日期时间"
+                  default-time="23:59:59"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="VMI业务" prop="telephone">
+                <el-checkbox></el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="启用供应商协同" prop="telephone">
+                <el-checkbox></el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="汇总公司" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="保证金比例" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="默认联系人" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
-          <el-row>
-            <el-col :span="24"
-              ><span class="marg-r">对应组织</span
-              ><input v-model="infoForm.correspondOrgName" type="text"
-            /></el-col>
+          <!-- </el-form> -->
+        </div>
+      </el-card>
+      <br />
+      <el-card class="">
+        <div slot="header" class="clearfix">
+          <strong>财务信息</strong>
+        </div>
+        <div>
+          <!-- <el-form label-width="130px" size="small" label-position="right"> -->
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="对应客户" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="单次预付额度" prop="takerName">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="发票类型" prop="telephone">
+                <el-select placeholder="请选择">
+                  <el-option> </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="税分类" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="默认税率" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="结算方式" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="描述" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="付款条件" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经营类型" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="收款方" prop="telephone">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
+          <!-- </el-form> -->
         </div>
-      </div>
-    </el-card>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>商务信息</span>
-      </div>
-      <el-row>
-        <el-col :span="6"
-          ><span class="color">采购组</span><input type="text"
-        /></el-col>
-        <el-col :span="6"><span>默认价目表</span><input type="text" /></el-col>
-        <el-col :span="6"
-          ><span>业务状态</span
-          ><select name="" id="" class="selectStyle2">
-            <option value="">正常</option>
-          </select></el-col
-        >
-        <el-col :span="6"><span>默认折扣表</span><input type="text" /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"
-          ><span>冻结范围</span
-          ><select name="" id="" class="selectStyle2">
-            <option value=""></option></select
-        ></el-col>
-        <el-col :span="6"
-          ><span class="color">供货方</span><input type="text"
-        /></el-col>
-        <el-col :span="6"><span>冻结人</span><input type="text" /></el-col>
-        <el-col :span="6"
-          ><span class="color">VMI仓库</span><input type="text"
-        /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"
-          ><span>冻结日期</span><input type="date" class="inputDate"
-        /></el-col>
-        <el-col :span="6"><span>VMI业务</span><input type="checkbox" /></el-col>
-        <el-col :span="6"
-          ><span class="color">汇总公司</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span>启用供应商协同</span><input type="checkbox"
-        /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"><span>保证金比例</span><input type="text" /></el-col>
-        <el-col :span="6"
-          ><span class="color">默认联系人</span><input type="text"
-        /></el-col>
-        <el-col :span="6"></el-col>
-        <el-col :span="6"></el-col>
-      </el-row>
-    </el-card>
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>财务信息</span>
-      </div>
-      <el-row>
-        <el-col :span="6"
-          ><span class="color">对应客户</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span>单次预付额度</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">发票类型</span
-          ><select name="" id="" class="selectStyle2">
-            <option value="">正常</option>
-          </select></el-col
-        >
-        <el-col :span="6"
-          ><span class="color">结算币别</span><input type="text"
-        /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"
-          ><span class="color">税分类</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">默认税率</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">结算方式</span><input type="text"
-        /></el-col>
-        <el-col :span="6"><span>税务登记号</span><input type="text" /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"
-          ><span>描述</span
-          ><textarea
-            class="textareaStyle"
-            name=""
-            id=""
-            cols="30"
-            rows="10"
-            style="width: 41%"
-          ></textarea>
-        </el-col>
-        <el-col :span="6"
-          ><span class="color">付款条件</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">经营类型</span><input type="text"
-        /></el-col>
-        <el-col :span="6"
-          ><span class="color">结算方</span><input type="text"
-        /></el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="6"
-          ><span class="color">收款方</span><input type="text"
-        /></el-col>
-        <el-col :span="6"></el-col>
-        <el-col :span="6"></el-col>
-        <el-col :span="6"></el-col>
-      </el-row>
-    </el-card>
+      </el-card>
+      <br />
+    </el-form>
   </div>
 </template>
 
@@ -350,58 +463,11 @@ export default {
     },
   },
   data() {
-    return {
-      infoForm: {
-        address: "",
-        auditName: "",
-        companyClassify: "",
-        companyNature: "",
-        companyScale: "",
-        correspondOrgName: "",
-        country: "",
-        createBy: "",
-        createOrgName: "",
-        createTime: "",
-        deptName: "",
-        forbidStatus: "",
-        foundDate: "",
-        groupName: "",
-        groupNumber: "",
-        id: "",
-        language: "",
-        legalPerson: "",
-        name: "",
-        number: "",
-        provincial: "",
-        regNumber: "",
-        registerAddress: "",
-        registerCode: "",
-        registerFund: 0,
-        shortName: "",
-        socialCreCode: "",
-        staffName: "",
-        supplierClassify: "",
-        supplierGrade: "",
-        supplyClassify: "",
-        syncTime: "",
-        tendPermit: "",
-        trade: "",
-        updateBy: "",
-        updateTime: "",
-        useOrgId: "",
-        useOrgName: "",
-        useOrgNumber: "",
-        webSite: "",
-        zip: "",
-      },
-    };
-  },
-  created() {
-    this.infoForm = this.infoList;
+    return {};
   },
+  created() {},
   methods: {
     goBack() {
-      console.log(this.$parent);
       this.$parent.isShow = true;
     },
   },
@@ -409,76 +475,13 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-.baseWidth {
-  width: 46%;
-}
-.inputDate {
-  width: 41%;
-}
-.selectStyle2 {
-  width: 41%;
-}
-.selectStyle {
-  width: 31%;
-}
-
-.textareaStyle {
-  vertical-align: text-top;
-  resize: none;
-  width: 31%;
-  height: 100px;
-}
-.color {
-  color: #1f93ec;
-}
-.el-col-24 {
-  margin: 6px 0;
-}
-
-.marg-r {
-  padding-right: 15px;
-  font-size: 12px;
-  display: inline-block;
-  width: 120px;
-}
-.base-header {
-  height: 20px;
-  width: 60%;
-  border-bottom: 2px solid gray;
-  span {
-    width: 100px;
-    height: 100%;
-    display: block;
-    text-align: center;
-    color: #fff;
-
-    background-color: gray;
-  }
-}
-.box-card {
-  margin-bottom: 20px;
+::v-deep .el-date-editor--datetime {
+  width: 100%;
 }
-.el-col-6 {
-  span {
-    padding-right: 10px;
-    display: inline-block;
-    width: 100px;
-  }
-}
-.baseInfo {
-  display: flex;
-  justify-content: space-between;
-  > div {
-    width: 33%;
-  }
+::v-deep .el-select {
+  width: 100%;
 }
 .sty {
   margin-bottom: 20px;
 }
-.el-row {
-  margin-bottom: 20px;
-  &:last-child {
-    margin-bottom: 0;
-  }
-}
 </style>

+ 23 - 5
src/views/basic_data/taker/taker_car.vue

@@ -249,7 +249,7 @@ export default {
       },
       rules: {
         customerId: [
-          { required: true, message: "请选择活动区域", trigger: "change" },
+          { required: true, message: "请选择活动区域", trigger: "blur" },
         ],
         mobile: [
           {
@@ -283,6 +283,7 @@ export default {
   },
   async created() {
     this.getDataList({ pageNum: 1, pageSize: 10 });
+    this.getDealerDataList({ pageNum: 1, pageSize: 10 });
   },
   methods: {
     // 筛选部分数据或者单个
@@ -304,13 +305,23 @@ export default {
     },
     //取消
     async cancelFn() {
-      await this.$refs.addForm.resetFields();
+      if (this.addForm.id) {
+        this.addForm = {
+          customerId: "",
+          mobile: "",
+          carType: "",
+          volume: "",
+          carBrand: "",
+        };
+      } else {
+        await this.$refs.addForm.resetFields();
+      }
       this.dialogForm = false;
     },
     //编辑
     editFn(data) {
-      this.dialogForm = true;
       this.addForm = data;
+      this.dialogForm = true;
     },
     //重置
     clearFn() {
@@ -341,9 +352,16 @@ export default {
       this.dealerList = res.data.records;
     },
     //新增
-    addDataList() {
+    async addDataList() {
+      this.addForm = {
+        customerId: "",
+        mobile: "",
+        carType: "",
+        volume: "",
+        carBrand: "",
+      };
+
       this.dialogForm = true;
-      this.getDealerDataList({ pageNum: 1, pageSize: 10 });
     },
     async addDataListFn() {
       await this.$refs.addForm.validate();

+ 132 - 20
src/views/basic_data/taker/taker_list.vue

@@ -107,13 +107,6 @@
           ></el-table-column>
           <el-table-column
             align="center"
-            label="附件"
-            prop="attach"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
             label="有效期"
             prop="expireTime"
             min-width="160"
@@ -155,13 +148,34 @@
             show-overflow-tooltip
           >
             <template slot-scope="scope"
-              ><el-button type="text" class="textColor">查看</el-button>
+              ><el-button
+                type="text"
+                class="textColor"
+                @click="seeFn(scope.row)"
+                >查看</el-button
+              >
+              <el-popconfirm
+                @onConfirm="deleFn(scope.row.id)"
+                title="这是一段内容确定删除吗?"
+              >
+                <el-button type="text" class="textColor" slot="reference"
+                  >删除</el-button
+                >
+              </el-popconfirm>
               <el-button
                 type="text"
                 class="textColor"
                 @click="stopFn(scope.row.id)"
+                v-if="scope.row.flag === 1"
                 >停用</el-button
               >
+              <el-button
+                type="text"
+                class="textColor"
+                @click="rebuild(scope.row)"
+                v-else-if="scope.row.flag === 2"
+                >重建</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
@@ -253,15 +267,15 @@
             </el-form-item></el-col
           >
         </el-row>
-        <!-- <el-form-item label="上传提货人附件">
-          <el-upload action="#" class="upload-demo" :on-success="handlefile">
-            <el-button size="small" type="info">点击上传</el-button>
-          </el-upload>
-        </el-form-item> -->
+        <el-form-item label="上传提货人附件" prop="fileUrl">
+          <fileUpload :fileList="fileList" />
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="cancelFn">取 消</el-button>
-        <el-button type="primary" @click="addDataFn">确 定</el-button>
+        <el-button v-if="showOK" type="primary" @click="addDataFn"
+          >确 定</el-button
+        >
       </div>
     </el-dialog>
   </div>
@@ -273,12 +287,19 @@ import {
   addDataList,
   getCodeApi,
   stopTaker,
+  deleDataList,
 } from "@/api/basic_data/taker";
 import { getDealerList } from "@/api/basic_data/dealer";
 import { downloadFiles } from "@/utils/util";
+import fileUpload from "@/components/Common/file-upload.vue";
 export default {
+  components: {
+    fileUpload,
+  },
   data() {
     return {
+      baseURL: process.env.VUE_APP_BASE_API,
+      fileList: [],
       listLoading: false, // 列表加载loading
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
@@ -293,9 +314,10 @@ export default {
         expireTime: "",
         code: "",
       },
+
       rules: {
         customerId: [
-          { required: true, message: "请选择经销商", trigger: "change" },
+          { required: true, message: "请选择经销商", trigger: "blur" },
         ],
         takerName: [
           { required: true, message: "请输入提货人姓名", trigger: "blur" },
@@ -351,6 +373,8 @@ export default {
         telephone: "",
       },
       dealerList: [],
+      id: "", //重建之前的Id
+      showOK: true,
     };
   },
   async created() {
@@ -358,12 +382,54 @@ export default {
     await this.getDealerDataList({ pageNum: 1, pageSize: 10 });
   },
   methods: {
-    changFn(v) {
-      console.log(v);
+    //重建
+    rebuild(data) {
+      this.showOK = true;
+      this.id = data.id;
+      this.addForm = {
+        customerId: data.customerId,
+        takerName: data.takerName,
+        identity: data.identity,
+        phone: data.phone,
+
+        sparePhone: data.sparePhone,
+        expireTime: "",
+        code: "",
+      };
+      this.fileList = [];
+      this.dialogForm = true;
     },
+    //删除
+    async deleFn(ids) {
+      await deleDataList({ ids });
+      this.$message.success("删除成功");
+      this.getDataList({ pageNum: 1, pageSize: 10 });
+    },
+    //查看
+    seeFn(data) {
+      this.showOK = false;
+      this.addForm = data;
+      this.fileList = [];
+      this.dialogForm = true;
+    },
+
     //取消
     cancelFn() {
-      this.$refs.addForm.resetFields();
+      if (this.addForm.id) {
+        this.addForm = {
+          customerId: "",
+          takerName: "",
+          identity: "",
+          phone: "",
+
+          sparePhone: "",
+          expireTime: "",
+          code: "",
+        };
+      } else {
+        this.$refs.addForm.resetFields();
+      }
+
       this.dialogForm = false;
     },
     //上传
@@ -425,19 +491,65 @@ export default {
     },
     //新增
     async addDataFn() {
+      console.log(this.fileList);
+
       await this.$refs.addForm.validate();
 
       const res = this.dealerList.filter(
         (v) => v.id === this.addForm.customerId
       )[0];
       console.log(res);
-      await addDataList({ ...this.addForm, orgNumber: res.useOrgNumber });
+
+      if (this.fileList.length == 1) {
+        await addDataList({
+          ...this.addForm,
+          orgNumber: res.useOrgNumber,
+
+          fileName: this.fileList[0].name,
+          fileUrl: this.fileList[0].url,
+        });
+      } else {
+        await addDataList({
+          ...this.addForm,
+          orgNumber: res.useOrgNumber,
+
+          fileName: "",
+          fileUrl: "",
+        });
+      }
+
+      if (this.id) {
+        await deleDataList({ ids: this.id });
+      }
+
       this.$message.success("新增成功");
-      this.$refs.addForm.resetFields();
+      this.id = "";
+      // this.addForm = {
+      //   customerId: "",
+      //   takerName: "",
+      //   identity: "",
+      //   phone: "",
+
+      //   sparePhone: "",
+      //   expireTime: "",
+      //   code: "",
+      // };
       this.getDataList({ pageNum: 1, pageSize: 10 });
       this.dialogForm = false;
     },
     addFn() {
+      this.addForm = {
+        customerId: "",
+        takerName: "",
+        identity: "",
+        phone: "",
+
+        sparePhone: "",
+        expireTime: "",
+        code: "",
+      };
+      this.fileList = [];
+      this.showOK = true;
       this.dialogForm = true;
     },
   },

+ 29 - 5
src/views/basic_data/warehouse/warehouse_book.vue

@@ -45,7 +45,7 @@
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <el-input v-model="scope.row.number"></el-input>
+              <el-input v-model="scope.row.number" :disabled="scope.row.isDisabled"></el-input>
             </template>
           </el-table-column>
           <el-table-column
@@ -56,7 +56,7 @@
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <el-input v-model="scope.row.towerNum"></el-input>
+              <el-input v-model="scope.row.towerNum" :disabled="scope.row.isDisabled"></el-input>
             </template>
           </el-table-column>
 
@@ -64,12 +64,15 @@
             align="center"
             label="操作"
             min-width="160"
+
             show-overflow-tooltip
           >
-            <el-button type="text" class="textColor" @click="editFn"
+          <template slot-scope="scope">
+            <el-button type="text" class="textColor" @click="hanleEidt(scope.$index)"
               >编辑</el-button
             >
-            <el-button type="text" class="textColor">删除</el-button>
+            <el-button type="text" class="textColor" @click="hanleSave(scope.row)">保存</el-button>
+            </template>
           </el-table-column>
         </el-table>
       </div>
@@ -79,7 +82,7 @@
 
 <script>
 import Mixin from "@/mixin/index";
-import { getListReserve } from "@/api/basic_data/warehouse";
+import { getListReserve,addReserve } from "@/api/basic_data/warehouse";
 export default {
   mixins: [Mixin],
   data() {
@@ -114,12 +117,30 @@ export default {
           maxSets: "",
         },
       ],
+      index:0
     };
   },
   created() {
     this.getList();
   },
   methods: {
+    hanleEidt(i){
+      this.dataList.forEach(e=>{
+        e.isDisabled = true
+      })
+      this.dataList[i].isDisabled = false
+    },
+    hanleSave(edata){
+      const params = {
+        ...edata
+      }
+    addReserve(params).then(res=>{
+       this.$successMsg("保存成功");
+       this.dataList.forEach(e=>{
+        e.isDisabled = true
+      })
+    })
+    },
     getList() {
       this.listLoading = true;
       let params = {
@@ -127,6 +148,9 @@ export default {
         pageSize: this.pageSize,
       };
       getListReserve(params).then((res) => {
+          res.data.records.forEach(el => {
+              el.isDisabled=true
+          });
         this.dataList = res.data.records;
         this.listTotal = res.data.total;
         this.listLoading = false;

+ 64 - 52
src/views/basic_data/warehouse/warehouse_cost.vue

@@ -67,30 +67,17 @@
         <el-button
           type="primary"
           size="small"
-          @click="
-            () => {
-              (showDialog = true), (type = 1);
-            }
-          "
+          @click="(showDialog = true), (type = 1)"
           >新增</el-button
         >
-        <el-button
-          type="primary"
-          size="small"
-          @click="
-            () => {
-              (showDialog = true), (type = 2);
-            }
-          "
-          >编辑</el-button
-        >
+
         <el-popconfirm
           confirm-button-text="好的"
           cancel-button-text="不用了"
           icon="el-icon-info"
           icon-color="red"
           title="内容确定删除吗?"
-          @onConfirm="hanleDeleteAll"
+          @onConfirm="hanleDelete"
         >
           <el-button
             type="primary"
@@ -248,44 +235,53 @@
       :close-on-click-modal="false"
     >
       <el-form :model="dialogForm" label-width="100px" label-position="right">
-        <el-form-item label="经销商编码">
+        <el-form-item label="经销商编码" prop="customerNumber">
           <el-select
             v-model="dialogForm.customerNumber"
             placeholder="请选择活动区域"
             class="inputStyle"
-            v-el-select-loadmore="loadMore"
+            v-el-select-loadmore="loadmore"
           >
+            <!-- v-el-select-loadmore="loadMore" -->
             <el-option
-              v-for="item in customerList"
-              :key="item.id"
+              v-for="(item, index) in customerList"
+              :key="index"
               :label="item.number"
               :value="item.id"
             ></el-option>
           </el-select>
         </el-form-item>
 
-        <el-form-item label="经销商名称">
+        <el-form-item label="经销商名称" prop="customerName">
           <el-input
             v-model="dialogForm.customerName"
             class="inputStyle"
           ></el-input>
         </el-form-item>
-        <el-form-item label="仓库存放" class="sty">
+        <el-form-item label="仓库存放" class="sty" prop="freeDay">
           <el-input
+            type="number"
             v-model="dialogForm.freeDay"
             class="inputStyle"
           />天内可免费受存储管理费用. 当超过
           <el-input
+            type="number"
             v-model="dialogForm.freeDay"
             class="inputStyle"
           />天后,按每立方米
-          <el-input v-model="dialogForm.toll" class="inputStyle" />
+          <el-input
+            v-model="dialogForm.toll"
+            type="number"
+            class="inputStyle"
+          />
           元/天计算
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="showDialog = false">取 消</el-button>
-        <el-button type="primary" @click="hanleInfo">确 定</el-button>
+        <el-button @click="(showDialog = false), kong()">取 消</el-button>
+        <el-button type="primary" @click="hanleInfo(dialogForm)"
+          >确 定</el-button
+        >
       </div>
     </el-dialog>
   </div>
@@ -294,7 +290,6 @@
 <script>
 import Mixin from "@/mixin/index";
 import { downloadFiles, handleImport } from "@/utils/util";
-
 import {
   getListToll,
   getDetail,
@@ -307,22 +302,26 @@ export default {
   mixins: [Mixin],
   data() {
     return {
+      dialogForm: {
+        id: null,
+        customerName: "",
+        customerNumber: "",
+        freeDay: 0,
+        toll: 0,
+      },
       sleectBox: {
         currentPage: 1, // 当前页码
         pageSize: 10, // 每页数量
         listTotal: 0, // 列表总数
       },
+      baseURL: "",
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
       importLoading: false, // 导入加载loading
       importFileList: [], // 导入列表
-      dialogForm: {
-        customerName: "",
-        customerNumber: "",
-        freeDay: 0,
-        toll: 0,
-      },
+
+      customerList: [],
       showDialog: false,
       dataList: [],
       screenForm: {
@@ -355,7 +354,7 @@ export default {
           const condition =
             this.scrollHeight - this.scrollTop <= this.clientHeight;
           if (condition) {
-            console.log("到底", binding);
+            binding.value();
           }
         });
       },
@@ -363,33 +362,37 @@ export default {
   },
   methods: {
     editFn(id, row) {
-      this.type = 2;
-      this.diaLogForm = {
-        id,
+      (this.dialogForm = {
+        id: id,
         customerName: row.customerName,
         customerNumber: row.customerNumber,
         freeDay: row.freeDay,
         toll: row.toll,
-      };
+      }),
+        (this.type = 2);
       this.showDialog = true;
     },
-    hanleInfo() {
+    hanleInfo(dialogForm) {
       if (this.type === 1) {
-        addToll(this.diaLogForm).then((res) => {
+        const params = {
+          ...dialogForm,
+        };
+        console.log(params, 78798);
+        addToll(params).then((res) => {
           this.$successMsg("保存成功");
-          console.log(params, 123);
+          this.kong();
           this.getList();
         });
       } else if (this.type === 2) {
-        const params = {
-          ...this.diaLogForm,
+        const paramss = {
+          ...this.dialogForm,
         };
-        console.log(params, 123);
-        updateToll(params).then((res) => {
+        updateToll(paramss).then((res) => {
           this.$successMsg("编辑成功");
+          this.kong();
+          this.diaLogForm.id = null;
           this.getList();
         });
-        this.diaLogForm.id = null;
       }
       this.showDialog = false;
     },
@@ -410,7 +413,6 @@ export default {
     },
     loadmore() {
       this.sleectBox.currentPage++;
-      console.log(1233);
       this.getCustomerList();
     },
     getCustomerList() {
@@ -420,15 +422,17 @@ export default {
         keyword: "",
       };
       getCustomerList(params).then((res) => {
-        this.customerList = res.data.records;
+        if (res.data.records.length) {
+          this.customerList = [...this.customerList, ...res.data.records];
+        }
         // this.listTotal = res.data.total;
       });
     },
-    hanleDetail(detail) {
-      this.type = null;
-      this.showDialogForm = true;
-      this.diaLogForm = detail;
-    },
+    // hanleDetail(detail) {
+    //   this.type = null;
+    //   this.showDialog = true;
+    //   this.diaLogForm = detail;
+    // },
 
     handleExport() {
       let screenData = {
@@ -466,6 +470,14 @@ export default {
         });
       }
     },
+    kong() {
+      this.dialogForm = {
+        customerName: "",
+        customerNumber: "",
+        freeDay: 0,
+        toll: 0,
+      };
+    },
   },
 };
 </script>

+ 2 - 2
src/views/basic_data/warehouse/warehouse_list.vue

@@ -43,11 +43,11 @@
             highlight-current-row
             stripe
           >
-            <el-table-column
+            <!-- <el-table-column
               type="selection"
               align="center"
               min-width="100"
-            ></el-table-column>
+            ></el-table-column> -->
             <el-table-column
               align="center"
               label="编码"

+ 221 - 0
src/views/engin_deposit/components/deposit-apply-deduction.vue

@@ -0,0 +1,221 @@
+<template>
+  <div>
+    <div class="sty">
+      <el-page-header @back="goBack" content="免扣申请"> </el-page-header>
+    </div>
+    <el-divider></el-divider>
+    <h3>工程项目信息</h3>
+    <el-divider></el-divider>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程登录编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程名称(项目名称)</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程编号</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">经销商名称</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">经销商编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">工程登录类型</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">厂工程编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">使用单位</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">安装地址</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">扣款总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">押金比例</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">安装时间</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">押金总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">退款总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">寄厂日期</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+      </el-row>
+    </div>
+    <h3>货品信息</h3>
+    <el-divider></el-divider>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <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=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="产品名称"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="规格型号"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="单价"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="数量"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="押金金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <h3>上传资料</h3>
+    <el-divider></el-divider>
+    <!-- 筛选条件 -->
+    <div>
+      <el-form
+        ref="searchForm"
+        :model="searchForm"
+        label-width="100px"
+        size="small"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="24">
+            <el-form-item label="工程验收资料" prop="">
+              <fileUpload :fileList="fileList" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="申请人" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="申请日期" prop="">
+              <el-date-picker
+                class="dateStyle"
+                type="date"
+                placeholder="选择日期"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="18">
+            <el-form-item label="申请退押" prop="">
+              <el-input
+                type="textarea"
+                placeholder="请输入"
+                class="textareaStyle"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24">
+            <el-form-item label="">
+              <el-button size="small">清空</el-button>
+              <el-button size="small" type="primary">提交</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+  </div>
+</template>
+
+<script>
+import fileUpload from "@/components/Common/file-upload.vue";
+export default {
+  components: {
+    fileUpload,
+  },
+  data() {
+    return {
+      fileList: [],
+    };
+  },
+  methods: {
+    goBack() {
+      this.$parent.showPage = 1;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+::v-deep .textareaStyle {
+  .el-textarea__inner {
+    resize: none;
+    height: 100px;
+  }
+}
+.dateStyle {
+  width: 100%;
+}
+</style>

+ 221 - 0
src/views/engin_deposit/components/deposit-apply-surrender.vue

@@ -0,0 +1,221 @@
+<template>
+  <div>
+    <div class="sty">
+      <el-page-header @back="goBack" content="申请退押"> </el-page-header>
+    </div>
+    <el-divider></el-divider>
+    <h3>工程项目信息</h3>
+    <el-divider></el-divider>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程登录编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程名称(项目名称)</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程编号</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">经销商名称</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">经销商编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">工程登录类型</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">厂工程编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">使用单位</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">安装地址</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">扣款总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">押金比例</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">安装时间</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">押金总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">退款总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">寄厂日期</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+      </el-row>
+    </div>
+    <h3>货品信息</h3>
+    <el-divider></el-divider>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <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=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="产品名称"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="规格型号"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="单价"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="数量"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="押金金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <h3>上传资料</h3>
+    <el-divider></el-divider>
+    <!-- 筛选条件 -->
+    <div>
+      <el-form
+        ref="searchForm"
+        :model="searchForm"
+        label-width="100px"
+        size="small"
+        label-position="left"
+      >
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="24">
+            <el-form-item label="工程验收资料" prop="">
+              <fileUpload :fileList="fileList" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="申请人" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="申请日期" prop="">
+              <el-date-picker
+                class="dateStyle"
+                type="date"
+                placeholder="选择日期"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="18">
+            <el-form-item label="申请退押" prop="">
+              <el-input
+                type="textarea"
+                placeholder="请输入"
+                class="textareaStyle"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24">
+            <el-form-item label="">
+              <el-button size="small">清空</el-button>
+              <el-button size="small" type="primary">提交</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+  </div>
+</template>
+
+<script>
+import fileUpload from "@/components/Common/file-upload.vue";
+export default {
+  components: {
+    fileUpload,
+  },
+  data() {
+    return {
+      fileList: [],
+    };
+  },
+  methods: {
+    goBack() {
+      this.$parent.showPage = 1;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+::v-deep .textareaStyle {
+  .el-textarea__inner {
+    resize: none;
+    height: 100px;
+  }
+}
+.dateStyle {
+  width: 100%;
+}
+</style>

+ 307 - 0
src/views/engin_deposit/components/deposit_list-detail.vue

@@ -0,0 +1,307 @@
+<template>
+  <div>
+    <div class="sty">
+      <el-page-header @back="goBack" content="审批"> </el-page-header>
+    </div>
+    <el-divider></el-divider>
+    <el-radio-group v-model="engineering" size="">
+      <el-radio-button label="工程押金信息"></el-radio-button>
+      <el-radio-button label="工程订单信息"></el-radio-button>
+      <el-radio-button label="工程发货信息"></el-radio-button>
+    </el-radio-group>
+    <br /><br />
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程登录编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程名称(项目名称)</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程编号</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">经销商名称</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">经销商编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">工程登录类型</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">厂工程编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">使用单位</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">安装地址</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">扣款总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">押金比例</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">安装时间</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">押金总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">退款总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">寄厂日期</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+      </el-row>
+    </div>
+    <div v-show="engineering == '工程押金信息'">
+      <h3>货品信息</h3>
+      <el-divider></el-divider>
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <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=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="产品名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="规格型号"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单价"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="数量"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="金额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-columnk
+              align="center"
+              label="押金金额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-columnk>
+            <el-table-column
+              align="center"
+              label="上交资料"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+          </el-table>
+        </div>
+      </div>
+    </div>
+    <div v-show="engineering == '工程订单信息'">
+      <h3>订单信息</h3>
+      <el-divider></el-divider>
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <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=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="订单日期"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="产品名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="规格型号"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单价"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="数量"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="押金金额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+          </el-table>
+        </div>
+      </div>
+    </div>
+    <div v-show="engineering == '工程发货信息'">
+      <h3>发货单信息</h3>
+      <el-divider></el-divider>
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <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=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="发货申请日期"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="产品名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="规格型号"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单价"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="数量"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="押金金额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+          </el-table>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      engineering: "工程押金信息",
+    };
+  },
+  methods: {
+    goBack() {
+      this.$parent.showPage = 1;
+    },
+  },
+};
+</script>
+
+<style>
+</style>

+ 286 - 0
src/views/engin_deposit/components/nodeduct_list-detail.vue

@@ -0,0 +1,286 @@
+<template>
+  <div>
+    <div class="sty">
+      <el-page-header @back="goBack" content="审批"> </el-page-header>
+    </div>
+    <el-divider></el-divider>
+
+    <h3>工程项目信息</h3>
+    <el-divider></el-divider>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程登录编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程名称(项目名称)</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程编号</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">经销商名称</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">经销商编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">工程登录类型</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">厂工程编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">使用单位</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">安装地址</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">扣款总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">押金比例</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">安装时间</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">押金总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">退款总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">寄厂日期</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+      </el-row>
+    </div>
+    <h3>货品信息</h3>
+    <el-divider></el-divider>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <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=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="产品名称"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="规格型号"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="单价"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="数量"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="押金金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="上交资料"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <h3>工程资料</h3>
+    <el-divider></el-divider>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <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=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="原文件名"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="缩略图"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="下载文件名称"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="操作"
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="">
+              <el-button type="text" class="textColor" slot="reference"
+                >下载</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <el-divider></el-divider>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :xs="12" :sm="12" :lg="12" class="item">
+          <div class="label">申请人</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="12" :lg="12" class="item">
+          <div class="label">申请日期</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="24" :lg="24" class="item">
+          <div class="label">申请免扣押金</div>
+          <div class="value">************</div>
+        </el-col>
+      </el-row>
+    </div>
+    <h3>审批</h3>
+    <el-divider></el-divider>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :xs="12" :sm="12" :lg="12" class="item">
+          <div class="label">验收人</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="12" :lg="12" class="item">
+          <div class="label">验收日期</div>
+          <div class="value">
+            <el-date-picker type="date" placeholder=""> </el-date-picker>
+          </div>
+        </el-col>
+        <el-col :xs="12" :sm="12" :lg="12" class="item">
+          <div class="label">是否免押金</div>
+          <div class="value">
+            <el-radio-group>
+              <el-radio :label="true">是</el-radio>
+              <el-radio :label="false">否</el-radio>
+            </el-radio-group>
+          </div>
+        </el-col>
+        <el-col :xs="12" :sm="12" :lg="12" class="item">
+          <div class="label">审批结果</div>
+          <div class="value">
+            <el-radio-group>
+              <el-radio :label="true">同意</el-radio>
+              <el-radio :label="false">驳回</el-radio>
+            </el-radio-group>
+          </div>
+        </el-col>
+        <el-col :xs="12" :sm="24" :lg="24" class="item">
+          <div class="label">审批说明</div>
+          <div class="value">
+            <el-input placeholder="请输入内容"></el-input>
+          </div>
+        </el-col>
+      </el-row>
+    </div>
+    <br />
+    <!-- 按钮 -->
+    <div class="btn-group clearfix">
+      <div class="fl">
+        <el-button type="primary" size="small">提交审批</el-button>
+        <el-button type="primary" size="small">重置</el-button>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  methods: {
+    goBack() {
+      this.$parent.showExamine = true;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.dateStyle {
+  width: 100%;
+}
+</style>

+ 286 - 0
src/views/engin_deposit/components/refund_list-detail.vue

@@ -0,0 +1,286 @@
+<template>
+  <div>
+    <div class="sty">
+      <el-page-header @back="goBack" content="审批"> </el-page-header>
+    </div>
+    <el-divider></el-divider>
+
+    <h3>工程项目信息</h3>
+    <el-divider></el-divider>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程登录编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程名称(项目名称)</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="8" :lg="8" class="item">
+          <div class="label">工程编号</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">经销商名称</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">经销商编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">工程登录类型</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">厂工程编码</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">使用单位</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">安装地址</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">扣款总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">押金比例</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">安装时间</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">押金总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">退款总额</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="8" class="item">
+          <div class="label">寄厂日期</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+      </el-row>
+    </div>
+    <h3>货品信息</h3>
+    <el-divider></el-divider>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <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=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="产品名称"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="规格型号"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="单价"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="数量"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="押金金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="上交资料"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <h3>工程资料</h3>
+    <el-divider></el-divider>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <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=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="原文件名"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="缩略图"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="下载文件名称"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="操作"
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="">
+              <el-button type="text" class="textColor" slot="reference"
+                >下载</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <el-divider></el-divider>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :xs="12" :sm="12" :lg="12" class="item">
+          <div class="label">申请人</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="12" :lg="12" class="item">
+          <div class="label">申请日期</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="24" :lg="24" class="item">
+          <div class="label">申请免扣押金</div>
+          <div class="value">************</div>
+        </el-col>
+      </el-row>
+    </div>
+    <h3>审批</h3>
+    <el-divider></el-divider>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :xs="12" :sm="12" :lg="12" class="item">
+          <div class="label">验收人</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :xs="12" :sm="12" :lg="12" class="item">
+          <div class="label">验收日期</div>
+          <div class="value">
+            <el-date-picker type="date" placeholder=""> </el-date-picker>
+          </div>
+        </el-col>
+        <el-col :xs="12" :sm="12" :lg="12" class="item">
+          <div class="label">是否免押金</div>
+          <div class="value">
+            <el-radio-group>
+              <el-radio :label="true">是</el-radio>
+              <el-radio :label="false">否</el-radio>
+            </el-radio-group>
+          </div>
+        </el-col>
+        <el-col :xs="12" :sm="12" :lg="12" class="item">
+          <div class="label">审批结果</div>
+          <div class="value">
+            <el-radio-group>
+              <el-radio :label="true">同意</el-radio>
+              <el-radio :label="false">驳回</el-radio>
+            </el-radio-group>
+          </div>
+        </el-col>
+        <el-col :xs="12" :sm="24" :lg="24" class="item">
+          <div class="label">审批说明</div>
+          <div class="value">
+            <el-input placeholder="请输入内容"></el-input>
+          </div>
+        </el-col>
+      </el-row>
+    </div>
+    <br />
+    <!-- 按钮 -->
+    <div class="btn-group clearfix">
+      <div class="fl">
+        <el-button type="primary" size="small">提交审批</el-button>
+        <el-button type="primary" size="small">重置</el-button>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  methods: {
+    goBack() {
+      this.$parent.showSurrender = true;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.dateStyle {
+  width: 100%;
+}
+</style>

+ 259 - 0
src/views/engin_deposit/deposit_list.vue

@@ -0,0 +1,259 @@
+<template>
+  <div class="app-container">
+    <div v-if="showPage == 1">
+      <el-radio-group v-model="deduction" size="">
+        <el-radio-button label="全部"></el-radio-button>
+        <el-radio-button label="待确认"></el-radio-button>
+        <el-radio-button label="已退款"></el-radio-button>
+        <el-radio-button label="全部扣款"></el-radio-button>
+        <el-radio-button label="部分扣款"></el-radio-button>
+      </el-radio-group>
+      <br /><br />
+      <!-- 筛选条件 -->
+      <div>
+        <el-form
+          ref="searchForm"
+          :model="searchForm"
+          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="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商编码" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商名称" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="工程名称" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="发货申请日期" prop="">
+                <el-date-picker
+                  class="dateStyle"
+                  type="date"
+                  placeholder="选择日期"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="产品名称" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="规格型号" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+
+            <el-col :xs="24" :sm="24" :lg="6">
+              <el-form-item label="" class="fr">
+                <el-button size="small">清空</el-button>
+                <el-button size="small" type="primary">搜索</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <!-- 按钮 -->
+      <div class="btn-group clearfix">
+        <div class="fl">
+          <el-button type="primary" size="small" @click="detailFn"
+            >详情</el-button
+          >
+          <el-button type="primary" size="small" @click="surrenderFn"
+            >申请退押</el-button
+          >
+          <el-button type="primary" size="small" @click="deductionFn"
+            >免扣申请</el-button
+          >
+        </div>
+        <div class="fr">
+          <el-button type="primary" size="small">导出</el-button>
+        </div>
+      </div>
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <div class="table">
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+          >
+            <el-table-column
+              align="center"
+              label="工程登录编码"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="工程名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="经销商编码"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="经销商名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="是否免扣"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="是否退押"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="押金比例"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="押金金额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="状态"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="订单数量"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="是否已发货"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="操作"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="">
+                <el-button type="text" class="textColor" slot="reference"
+                  >详情</el-button
+                >
+                <el-button type="text" class="textColor" slot="reference"
+                  >申请退押</el-button
+                >
+                <el-button type="text" class="textColor" slot="reference"
+                  >免扣退押</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+        <!-- 分页 -->
+        <div class="fr">
+          <el-pagination
+            :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>
+    <DepositListDetail v-else-if="showPage == 2" />
+    <DepositApplyDeduction v-else-if="showPage == 3" />
+    <DepositApplySurrender v-else-if="showPage == 4" />
+  </div>
+</template>
+
+<script>
+import DepositListDetail from "./components/deposit_list-detail";
+import DepositApplyDeduction from "./components/deposit-apply-deduction.vue";
+import DepositApplySurrender from "./components/deposit-apply-surrender.vue";
+export default {
+  components: {
+    DepositListDetail,
+    DepositApplyDeduction,
+    DepositApplySurrender,
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+      deduction: "全部",
+      showPage: 1,
+    };
+  },
+  methods: {
+    //免扣申请
+    deductionFn() {
+      this.showPage = 3;
+    },
+    //申请退押
+    surrenderFn() {
+      this.showPage = 4;
+    },
+    detailFn() {
+      this.showPage = 2;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.dateStyle {
+  width: 100%;
+}
+</style>

+ 219 - 0
src/views/engin_deposit/nodeduct_list.vue

@@ -0,0 +1,219 @@
+<template>
+  <div class="app-container">
+    <div v-if="showExamine">
+      <el-radio-group v-model="examine" size="">
+        <el-radio-button label="全部"></el-radio-button>
+        <el-radio-button label="待审核"></el-radio-button>
+        <el-radio-button label="审核驳回"></el-radio-button>
+        <el-radio-button label="审核通过"></el-radio-button>
+      </el-radio-group>
+      <br /><br />
+      <!-- 筛选条件 -->
+      <div>
+        <el-form
+          ref="searchForm"
+          :model="searchForm"
+          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="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商编码" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商名称" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="工程名称" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="发货申请日期" prop="">
+                <el-date-picker
+                  class="dateStyle"
+                  type="date"
+                  placeholder="选择日期"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="产品名称" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="规格型号" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+
+            <el-col :xs="24" :sm="24" :lg="6">
+              <el-form-item label="" class="fr">
+                <el-button size="small">清空</el-button>
+                <el-button size="small" type="primary">搜索</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <!-- 按钮 -->
+      <div class="btn-group clearfix">
+        <div class="fl">
+          <el-button type="primary" size="small" @click="examineFn"
+            >审批</el-button
+          >
+          <el-button type="primary" size="small">编辑</el-button>
+          <el-button type="primary" size="small">详情</el-button>
+        </div>
+        <div class="fr">
+          <el-button type="primary" size="small">导出</el-button>
+        </div>
+      </div>
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <div class="table">
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+          >
+            <el-table-column
+              align="center"
+              label="工程登录编码"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="工程名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="经销商编码"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="经销商名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="是否免扣"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="押金比例"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="押金金额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="状态"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="操作"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="">
+                <el-button type="text" class="textColor" slot="reference"
+                  >审批</el-button
+                >
+                <el-button type="text" class="textColor" slot="reference"
+                  >编辑</el-button
+                >
+                <el-button type="text" class="textColor" slot="reference"
+                  >详情</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+        <!-- 分页 -->
+        <div class="fr">
+          <el-pagination
+            :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>
+    <NodeductListDetail v-else />
+  </div>
+</template>
+
+<script>
+import NodeductListDetail from "./components/nodeduct_list-detail";
+export default {
+  components: {
+    NodeductListDetail,
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+      examine: "全部",
+      showExamine: true,
+    };
+  },
+  methods: {
+    examineFn() {
+      this.showExamine = false;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.dateStyle {
+  width: 100%;
+}
+</style>

+ 218 - 0
src/views/engin_deposit/refund_list.vue

@@ -0,0 +1,218 @@
+<template>
+  <div class="app-container">
+    <div v-if="showSurrender">
+      <el-radio-group v-model="examine" size="">
+        <el-radio-button label="全部"></el-radio-button>
+        <el-radio-button label="待审核"></el-radio-button>
+        <el-radio-button label="审核驳回"></el-radio-button>
+        <el-radio-button label="审核通过"></el-radio-button>
+        <el-radio-button label="已退押金"></el-radio-button>
+      </el-radio-group>
+      <br /><br />
+      <!-- 筛选条件 -->
+      <div>
+        <el-form
+          ref="searchForm"
+          :model="searchForm"
+          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="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商编码" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商名称" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="工程名称" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="发货申请日期" prop="">
+                <el-date-picker
+                  class="dateStyle"
+                  type="date"
+                  placeholder="选择日期"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="产品名称" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="规格型号" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+
+            <el-col :xs="24" :sm="24" :lg="6">
+              <el-form-item label="" class="fr">
+                <el-button size="small">清空</el-button>
+                <el-button size="small" type="primary">搜索</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <!-- 按钮 -->
+      <div class="btn-group clearfix">
+        <div class="fl">
+          <el-button type="primary" size="small" @click="examineFn"
+            >审批</el-button
+          >
+
+          <el-button type="primary" size="small">详情</el-button>
+        </div>
+        <div class="fr">
+          <el-button type="primary" size="small">导出</el-button>
+        </div>
+      </div>
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <div class="table">
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+          >
+            <el-table-column
+              align="center"
+              label="工程登录编码"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="工程名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="经销商编码"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="经销商名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="是否免扣"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="押金比例"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="押金金额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="状态"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="操作"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="">
+                <el-button type="text" class="textColor" slot="reference"
+                  >审批</el-button
+                >
+
+                <el-button type="text" class="textColor" slot="reference"
+                  >详情</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+        <!-- 分页 -->
+        <div class="fr">
+          <el-pagination
+            :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>
+    <RefundListDetail v-else />
+  </div>
+</template>
+
+<script>
+import RefundListDetail from "./components/refund_list-detail.vue";
+export default {
+  components: {
+    RefundListDetail,
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+      examine: "全部",
+      showSurrender: true,
+    };
+  },
+  methods: {
+    examineFn() {
+      this.showSurrender = false;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.dateStyle {
+  width: 100%;
+}
+</style>

+ 209 - 0
src/views/finance/account_list.vue

@@ -0,0 +1,209 @@
+<template>
+  <div class="app-container">
+    <div v-if="showReconciliation">
+      <!-- 筛选条件 -->
+      <div>
+        <el-form
+          ref="searchForm"
+          :model="searchForm"
+          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="">
+                <el-select class="selectStyle" placeholder="请选择">
+                  <el-option> </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="单据号" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="12">
+              <el-form-item label="日期时间" prop="">
+                <el-date-picker
+                  type="datetimerange"
+                  range-separator="至"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="24" :lg="24">
+              <el-form-item label="" class="fr">
+                <el-button size="small">清空</el-button>
+                <el-button size="small" type="primary">搜索</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <!-- 按钮 -->
+      <div class="btn-group clearfix">
+        <div class="fl">
+          <el-button type="primary" size="small" @click="reconciliationFn"
+            >一键对账</el-button
+          >
+        </div>
+      </div>
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <div class="table">
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+          >
+            <el-table-column
+              align="center"
+              label="序号"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="月份"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="对账状态"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="客户编码"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="客户名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="部门"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="现金钱包类型"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单据类型"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单据号"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单据日期"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="首付款金额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="发货金额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="备注"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+          </el-table>
+        </div>
+        <!-- 分页 -->
+        <div class="fr">
+          <el-pagination
+            :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>
+    <AccountListDetail v-else />
+  </div>
+</template>
+
+<script>
+import AccountListDetail from "./components/account_list-detail";
+export default {
+  components: {
+    AccountListDetail,
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+      showReconciliation: true,
+    };
+  },
+  methods: {
+    //一键对账
+    reconciliationFn() {
+      this.showReconciliation = false;
+    },
+    seeFN() {
+      this.showDetail = false;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.selectStyle {
+  width: 100%;
+}
+</style>

+ 166 - 0
src/views/finance/balance_sum.vue

@@ -0,0 +1,166 @@
+<template>
+  <div class="app-container">
+    <div v-if="showDetail">
+      <!-- 筛选条件 -->
+      <div>
+        <el-form
+          ref="searchForm"
+          :model="searchForm"
+          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="">
+                <el-input placeholder="请输入经销商名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商编码" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="24" :lg="24">
+              <el-form-item label="" class="fr">
+                <el-button size="small">清空</el-button>
+                <el-button size="small" type="primary">搜索</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <!-- 按钮 -->
+      <div class="btn-group clearfix">
+        <div class="fr">
+          <el-button type="primary" size="small">导出</el-button>
+          <el-button type="primary" size="small" @click="seeFN"
+            >查看明细</el-button
+          >
+        </div>
+      </div>
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <div class="table">
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+          >
+            <el-table-column
+              align="center"
+              label="经销商编码"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="经销商名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="起初金额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="总金额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="普通钱包"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="特殊钱包"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="返利钱包"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="更新时间"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="操作"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope=""> </template>
+              <el-button type="text" class="textColor" slot="reference">
+                查看明细
+              </el-button>
+            </el-table-column>
+          </el-table>
+        </div>
+        <!-- 分页 -->
+        <div class="fr">
+          <el-pagination
+            :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>
+    <BalanceSumDetail v-else />
+  </div>
+</template>
+
+<script>
+import BalanceSumDetail from "./components/balance_sum-detail";
+export default {
+  components: {
+    BalanceSumDetail,
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+      showDetail: true,
+    };
+  },
+  methods: {
+    seeFN() {
+      this.showDetail = false;
+    },
+  },
+};
+</script>
+
+<style>
+</style>

+ 200 - 0
src/views/finance/components/account_list-detail.vue

@@ -0,0 +1,200 @@
+<template>
+  <div>
+    <div class="sty">
+      <el-page-header @back="goBack" content="对账历史记录"> </el-page-header>
+    </div>
+    <el-divider></el-divider>
+    <!-- 筛选条件 -->
+    <div>
+      <el-form
+        ref="searchForm"
+        :model="searchForm"
+        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="">
+              <el-select class="selectStyle" placeholder="请选择">
+                <el-option> </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="单据号" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="开始时间" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="结束时间" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24">
+            <el-form-item label="" class="fr">
+              <el-button size="small">清空</el-button>
+              <el-button size="small" type="primary">搜索</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <!-- 按钮 -->
+    <div class="btn-group clearfix">
+      <div class="fr">
+        <el-button type="primary" size="small" @click="reconciliationFn"
+          >导出</el-button
+        >
+      </div>
+    </div>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            align="center"
+            label="序号"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="月份"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="对账状态"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="客户编码"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="客户名称"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="部门"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="现金钱包类型"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="单据类型"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="单据号"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="单据日期"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="首付款金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="发货金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="备注"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+        </el-table>
+      </div>
+      <!-- 分页 -->
+      <div class="fr">
+        <el-pagination
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+    };
+  },
+  methods: {
+    goBack() {
+      this.$parent.showReconciliation = true;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.selectStyle {
+  width: 100%;
+}
+</style>

+ 393 - 0
src/views/finance/components/balance_sum-detail.vue

@@ -0,0 +1,393 @@
+<template>
+  <div>
+    <div class="sty">
+      <el-page-header @back="goBack" content="明细"> </el-page-header>
+    </div>
+    <el-divider></el-divider>
+    <el-form label-width="100px" size="small" label-position="left">
+      <el-row :gutter="20">
+        <el-col :xs="24" :sm="12" :lg="12">
+          <el-radio-group v-model="category" size="">
+            <el-radio-button label="家用空调"></el-radio-button>
+            <el-radio-button label="商用空调"></el-radio-button>
+            <el-radio-button label="生活电器"></el-radio-button>
+          </el-radio-group>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="12">
+          <el-form-item label="" class="fr">
+            <el-select class="selectStyle" placeholder="请选择">
+              <el-option> </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <h1></h1>
+    <div>
+      <el-row type="flex" class="row-bg" justify="space-around">
+        <el-col :xs="24" :sm="12" :lg="4"
+          ><div class="moneyStyle color1">
+            <span>普通钱包</span>
+            <strong>¥12.367万</strong>
+          </div>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="4"
+          ><div class="moneyStyle color2">
+            <span>特殊钱包</span> <strong>¥12.367万</strong>
+          </div></el-col
+        >
+        <el-col :xs="24" :sm="12" :lg="4">
+          <div class="moneyStyle color3">
+            <span>折扣钱包</span> <strong>¥12.367万</strong>
+          </div></el-col
+        >
+        <el-col :xs="24" :sm="12" :lg="4">
+          <div class="moneyStyle color4">
+            <span>返利钱包</span> <strong>¥12.367万</strong>
+          </div></el-col
+        >
+      </el-row>
+    </div>
+    <el-divider></el-divider>
+    <el-radio-group v-model="bill" size="">
+      <el-radio-button label="贷款台账"></el-radio-button>
+      <el-radio-button label="返利台账"></el-radio-button>
+    </el-radio-group>
+    <h1></h1>
+    <!-- 筛选条件 -->
+    <div>
+      <el-form
+        ref="searchForm"
+        :model="searchForm"
+        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="">
+              <el-select class="selectStyle" placeholder="请选择">
+                <el-option> </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="单据号" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="日期时间" prop="">
+              <el-date-picker
+                type="datetimerange"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="24" :lg="6">
+            <el-form-item label="" class="fr">
+              <el-button size="small">清空</el-button>
+              <el-button size="small" type="primary">搜索</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div v-show="bill == '贷款台账'">
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <div class="table">
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+          >
+            <el-table-column
+              label="序号"
+              align="center"
+              min-width="100"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单据日期"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单据类型"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单据号"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="钱包"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="摘要"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="预付货款"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="订单占款"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="支付货款"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="押金"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="工程保证金"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="其他暂扣款"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="账户余额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+          </el-table>
+        </div>
+        <!-- 分页 -->
+        <div class="fr">
+          <el-pagination
+            :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>
+    <div v-show="bill == '返利台账'">
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <div class="table">
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+          >
+            <el-table-column
+              label="序号"
+              align="center"
+              min-width="100"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="客户编码"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="客户名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单据日期"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="审核日期"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单据类型"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单据号"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="返利品类"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="摘要"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="收入"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="支出"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="暂扣返利"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="结存"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+          </el-table>
+        </div>
+        <!-- 分页 -->
+        <div class="fr">
+          <el-pagination
+            :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>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+      category: "家用空调",
+      bill: "贷款台账",
+    };
+  },
+  methods: {
+    goBack() {
+      this.$parent.showDetail = true;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.moneyStyle {
+  height: 130px;
+  border-radius: 20px;
+  padding: 20px 0 0 20px;
+  color: #fff;
+  span {
+    display: block;
+    font-size: 20px;
+  }
+  strong {
+    margin-top: 16px;
+    display: block;
+    font-size: 36px;
+  }
+}
+.selectStyle {
+  width: 100%;
+}
+.color1 {
+  background-color: #6c83d0;
+}
+.color2 {
+  background-color: #dfc062;
+}
+.color3 {
+  background-color: #dfc062;
+}
+.color4 {
+  background-color: #6bcfd7;
+}
+</style>

+ 152 - 0
src/views/finance/components/credit_list-detail.vue

@@ -0,0 +1,152 @@
+<template>
+  <div>
+    <div class="sty">
+      <el-page-header @back="goBack" content="信用额度变更记录">
+      </el-page-header>
+    </div>
+    <el-divider></el-divider>
+    <!-- 表头 -->
+    <div>
+      <el-form
+        ref="searchForm"
+        :model="searchForm"
+        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="">
+              <el-date-picker
+                v-model="value1"
+                type="daterange"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="24" :lg="18">
+            <el-form-item label="" class="fr">
+              <el-button size="small">清空</el-button>
+              <el-button size="small" type="primary">搜索</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <!-- 按钮 -->
+    <div class="btn-group clearfix">
+      <div class="fr">
+        <el-button type="primary" size="small">导出</el-button>
+        <el-button type="primary" size="small">打印</el-button>
+      </div>
+    </div>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            label="序号"
+            align="center"
+            min-width="100"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="经销商编码"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="经销商名称"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="关联钱包"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="变更额度"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="总信用额度"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="变更时间"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="变更人"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+        </el-table>
+      </div>
+      <!-- 分页 -->
+      <div class="fr">
+        <el-pagination
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+    };
+  },
+  methods: {
+    goBack() {
+      this.$parent.showRecord = true;
+    },
+  },
+};
+</script>
+
+<style>
+</style>

+ 167 - 0
src/views/finance/components/rebate_list-detail.vue

@@ -0,0 +1,167 @@
+<template>
+  <div>
+    <div class="sty">
+      <el-page-header @back="goBack" content="销售返利单"> </el-page-header>
+    </div>
+    <el-divider></el-divider>
+    <!-- 表头 -->
+    <div>
+      <el-form
+        ref="searchForm"
+        :model="searchForm"
+        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="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="返利日期" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="制单人" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="制单日期" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="审核人" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="审核日期" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="备注" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            label="序号"
+            align="center"
+            min-width="100"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="经销商编码"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="经销商名称"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="返利类型"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="返利钱包ID"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="返利钱包"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="返利金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="暂扣返利"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="备注"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+        </el-table>
+      </div>
+      <!-- 分页 -->
+      <div class="fr">
+        <el-pagination
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+    };
+  },
+  methods: {
+    goBack() {
+      this.$parent.showInfo = true;
+    },
+  },
+};
+</script>
+
+<style>
+</style>

+ 270 - 0
src/views/finance/components/special_list-add.vue

@@ -0,0 +1,270 @@
+<template>
+  <div>
+    <div class="sty">
+      <el-page-header @back="goBack" content="开单"> </el-page-header>
+    </div>
+    <el-divider></el-divider>
+    <!-- 表头 -->
+    <div>
+      <el-form
+        ref="searchForm"
+        :model="searchForm"
+        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="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="单据日期" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="经销商" prop="">
+              <el-select class="selectStyle" placeholder="请选择">
+                <el-option> </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="单据内容" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="币种" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="税率" prop="">
+              <el-select class="selectStyle" placeholder="请选择">
+                <el-option> </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="金额" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="本币金额" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="数量" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="部门" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="业务员" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="项目" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="付款条件" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="摘要" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂工程编码" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="订单类型" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="单据来源" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+          show-summary
+        >
+          <el-table-column
+            label="序号"
+            align="center"
+            min-width="100"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="方向"
+            prop="aaa"
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <el-input v-model="scope.row.aaa"></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            label="科目"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="">
+              <el-input></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            label="币种"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="">
+              <el-input></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            label="汇率"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="">
+              <el-input></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            label="金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="">
+              <el-input></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            label="本币金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="">
+              <el-input></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            label="部门"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="">
+              <el-input></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            label="业务员"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="">
+              <el-input></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            label="摘要"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="">
+              <el-input></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            label="操作"
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <el-button type="text" class="textColor">删除</el-button>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <!-- 按钮 -->
+    <div class="btn-group clearfix">
+      <div class="fl">
+        <el-button type="primary" size="small">保存</el-button>
+        <el-button type="primary" size="small">提交审核</el-button>
+        <el-button type="primary" size="small">重置</el-button>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      dataList: [{ aaa: "" }], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+    };
+  },
+  methods: {
+    goBack() {
+      this.$parent.isShowType = 1;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.selectStyle {
+  width: 100%;
+}
+</style>

+ 256 - 0
src/views/finance/components/special_list-detail.vue

@@ -0,0 +1,256 @@
+<template>
+  <div>
+    <div class="sty">
+      <el-page-header @back="goBack" content="特殊费"> </el-page-header>
+    </div>
+    <el-divider></el-divider>
+    <!-- 表头 -->
+    <div>
+      <el-form
+        ref="searchForm"
+        :model="searchForm"
+        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="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="单据日期" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="经销商" prop="">
+              <el-select class="selectStyle" placeholder="请选择">
+                <el-option> </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="科目" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="币种" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="汇率" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="金额" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="本币金额" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="数量" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="部门" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="业务员" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="项目" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="付款条件" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="摘要" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="厂工程编码" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="订单类型" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="单据来源" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+          show-summary
+        >
+          <el-table-column
+            label="序号"
+            align="center"
+            min-width="100"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="方向"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="科目"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="币种"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="汇率"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="本币金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="部门"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="业务员"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="项目"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="摘要"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <!-- 表头 -->
+    <div>
+      <el-form
+        ref="searchForm"
+        :model="searchForm"
+        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="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="录单时间" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="审核人" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="审核时间" prop="">
+              <el-input placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+    };
+  },
+  methods: {
+    goBack() {
+      this.$parent.isShowType = 1;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.selectStyle {
+  width: 100%;
+}
+</style>

+ 64 - 0
src/views/finance/components/wallet-detail.vue

@@ -0,0 +1,64 @@
+<template>
+  <div>
+    <div class="sty">
+      <el-page-header @back="goBack" content="返利明细"> </el-page-header>
+    </div>
+    <el-divider></el-divider>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <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=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="钱包余额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="更新时间"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="变动金额"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+        </el-table>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  methods: {
+    goBack() {
+      this.$parent.showRebate = true;
+    },
+  },
+};
+</script>
+
+<style>
+</style>

+ 217 - 0
src/views/finance/credit_list.vue

@@ -0,0 +1,217 @@
+<template>
+  <div class="app-container">
+    <div v-if="showRecord">
+      <!-- 筛选条件 -->
+      <div>
+        <el-form
+          ref="searchForm"
+          :model="searchForm"
+          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="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商名称" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="12">
+              <el-form-item label="日期时间" prop="">
+                <el-date-picker
+                  type="datetimerange"
+                  range-separator="至"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+
+            <el-col :xs="24" :sm="24" :lg="24">
+              <el-form-item label="" class="fr">
+                <el-button size="small">清空</el-button>
+                <el-button size="small" type="primary">搜索</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <!-- 按钮 -->
+      <div class="btn-group clearfix">
+        <div class="fl">
+          <el-button type="primary" size="small" @click="showAddFn"
+            >新建</el-button
+          >
+          <el-button type="primary" size="small" @click="recordFn"
+            >详情</el-button
+          >
+        </div>
+        <div class="fr">
+          <el-button type="primary" size="small">导出</el-button>
+          <el-button type="primary" size="small">打印</el-button>
+        </div>
+      </div>
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <div class="table">
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+          >
+            <el-table-column
+              label="序号"
+              align="center"
+              min-width="100"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="经销商编码"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="经销商名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="总信用额度"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="上次额度"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="关联钱包"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="操作"
+              min-width="160"
+              show-overflow-tooltip
+            >    
+              <template slot-scope="">
+                <el-button type="text" class="textColor" slot="reference"
+                  >编辑</el-button
+                >
+                <el-button type="text" class="textColor" slot="reference"
+                  >记录</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+        <!-- 分页 -->
+        <div class="fr">
+          <el-pagination
+            :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>
+    <CreditListDetail v-else />
+    <!-- 新增弹窗 -->
+    <el-dialog
+      title="提货人档案"
+      :visible.sync="dialogForm"
+      width="30%"
+      :show-close="false"
+      :close-on-click-modal="false"
+    >
+      <el-form label-width="120px">
+        <el-form-item label="经销商名称" prop="customerId" label-width="120px">
+          <el-select class="selectStyle" placeholder="请选择">
+            <el-option> </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="信用变更额度" prop="">
+          <el-input></el-input>
+        </el-form-item>
+
+        <el-form-item label="关联钱包" prop="customerId">
+          <el-select class="selectStyle" placeholder="请选择">
+            <el-option> </el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="cancelFn">取 消</el-button>
+        <el-button type="primary" @click="addDataFn">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import CreditListDetail from "./components/credit_list-detail";
+export default {
+  components: {
+    CreditListDetail,
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+      showRecord: true,
+      dialogForm: false, //弹窗表单
+    };
+  },
+  methods: {
+    //新建
+    showAddFn() {
+      this.dialogForm = true;
+    },
+    //确定
+    addDataFn() {},
+    //取消
+    cancelFn() {
+      this.dialogForm = false;
+    },
+    recordFn() {
+      this.showRecord = false;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.selectStyle {
+  width: 100%;
+}
+</style>

+ 99 - 0
src/views/finance/finance_sum.vue

@@ -0,0 +1,99 @@
+<template>
+  <div class="app-container">
+    <!-- 筛选条件 -->
+    <div>
+      <el-form
+        ref="searchForm"
+        :model="searchForm"
+        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="">
+              <el-select class="selectStyle" placeholder="请选择">
+                <el-option> </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :lg="18">
+            <el-form-item label="" class="fr">
+              <el-button size="small">清空</el-button>
+              <el-button size="small" type="primary">搜索</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <div class="table">
+        <el-table
+          v-loading="listLoading"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            align="center"
+            label="钱包类型"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="经销商名称"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="更新时间"
+            prop=""
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+        </el-table>
+      </div>
+      <!-- 分页 -->
+      <div class="fr">
+        <el-pagination
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+    };
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.selectStyle {
+  width: 100%;
+}
+</style>

+ 196 - 0
src/views/finance/rebate_list.vue

@@ -0,0 +1,196 @@
+<template>
+  <div class="app-container">
+    <div v-if="showInfo">
+      <!-- 筛选条件 -->
+      <div>
+        <el-form
+          ref="searchForm"
+          :model="searchForm"
+          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="">
+                <el-input placeholder="请输入经销商名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="返利类型" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商编码" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="返利日期" prop="">
+                <el-select class="selectStyle" placeholder="请选择">
+                  <el-option> </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+
+            <el-col :xs="24" :sm="24" :lg="24">
+              <el-form-item label="" class="fr">
+                <el-button size="small">清空</el-button>
+                <el-button size="small" type="primary">搜索</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+
+      <!-- 按钮 -->
+      <div class="btn-group clearfix">
+        <div class="fl">
+          <el-button type="primary" size="small" @click="infoFn"
+            >详情</el-button
+          >
+        </div>
+        <div class="fr">
+          <el-button type="primary" size="small">导入</el-button>
+          <el-button type="primary" size="small">导出</el-button>
+          <el-button type="primary" size="small">打印</el-button>
+        </div>
+      </div>
+
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <div class="table">
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+          >
+            <el-table-column
+              label="序号"
+              align="center"
+              min-width="100"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="返利单号"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="返利日期"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="经销商编码"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="经销商名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="返利类型"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="返利金额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="暂扣返利"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="备注"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="操作"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="">
+                <el-button type="text" class="textColor" slot="reference"
+                  >详情</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+        <!-- 分页 -->
+        <div class="fr">
+          <el-pagination
+            :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>
+
+    <!-- 详情 -->
+    <RebateListDetail v-else />
+  </div>
+</template>
+
+<script>
+import RebateListDetail from "./components/rebate_list-detail";
+export default {
+  components: {
+    RebateListDetail,
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+      showInfo: true,
+    };
+  },
+  methods: {
+    infoFn() {
+      this.showInfo = false;
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.selectStyle {
+  width: 100%;
+}
+</style>

+ 229 - 0
src/views/finance/special_list.vue

@@ -0,0 +1,229 @@
+<template>
+  <div class="app-container">
+    <div v-if="isShowType == 1">
+      <!-- 筛选条件 -->
+      <div>
+        <el-form
+          ref="searchForm"
+          :model="searchForm"
+          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="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商名称" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="订单类型" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="单据日期" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="单据号" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="状态" prop="">
+                <el-select class="selectStyle" placeholder="请选择">
+                  <el-option> </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+
+            <el-col :xs="24" :sm="24" :lg="12">
+              <el-form-item label="" class="fr">
+                <el-button size="small">清空</el-button>
+                <el-button size="small" type="primary">搜索</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+
+      <!-- 按钮 -->
+      <div class="btn-group clearfix">
+        <div class="fl">
+          <el-button type="primary" size="small" @click="showAddFn"
+            >新建</el-button
+          >
+          <el-button type="primary" size="small" @click="showInfoFn"
+            >详情</el-button
+          >
+        </div>
+        <div class="fr">
+          <el-button type="primary" size="small">导出</el-button>
+          <el-button type="primary" size="small">打印</el-button>
+        </div>
+      </div>
+
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <div class="table">
+          <el-table
+            v-loading="listLoading"
+            :data="dataList"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+          >
+            <el-table-column
+              label="序号"
+              align="center"
+              min-width="100"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单据号"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单据日期"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="经销商编码"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="经销商名称"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="科目"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="订单类型"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="厂工程编码"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单据来源"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="金额"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="状态"
+              prop=""
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="操作"
+              min-width="160"
+              show-overflow-tooltip
+            >
+              <template slot-scope="">
+                <el-button type="text" class="textColor" slot="reference"
+                  >详情</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+        <!-- 分页 -->
+        <div class="fr">
+          <el-pagination
+            :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>
+    <!-- 新增 -->
+    <SpecialListAdd v-else-if="isShowType == 2" />
+    <!-- 详情 -->
+    <SpecialListDetail v-else-if="isShowType == 3" />
+  </div>
+</template>
+
+<script>
+import SpecialListAdd from "./components/special_list-add";
+import SpecialListDetail from "./components/special_list-detail.vue";
+export default {
+  components: {
+    SpecialListAdd,
+    SpecialListDetail,
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      listLoading: false, // 列表加载loading
+      isShowType: 1,
+    };
+  },
+  methods: {
+    showInfoFn() {
+      this.isShowType = 3;
+    },
+    showAddFn() {
+      this.isShowType = 2;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.selectStyle {
+  width: 100%;
+}
+</style>

+ 79 - 0
src/views/finance/tax_rate.vue

@@ -0,0 +1,79 @@
+<template>
+  <div class="app-container">
+    <div class="setting_title">税率设置</div>
+    <el-divider></el-divider>
+    <div class="">
+      <el-form label-position="left" label-width="100px">
+        <el-row>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="仓存费税率" prop="">
+              <el-input placeholder="请输入">
+                <i class="el-input__icon" slot="suffix">% </i>
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :xs="24" :sm="24" :lg="6">
+            <el-form-item label="工程价差税率" prop="">
+              <el-input placeholder="请输入">
+                <i class="el-input__icon" slot="suffix">% </i>
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :xs="24" :sm="24" :lg="6">
+            <el-form-item label="运输费税率" prop="">
+              <el-input placeholder="请输入">
+                <i class="el-input__icon" slot="suffix">% </i>
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :xs="24" :sm="24" :lg="6">
+            <el-form-item label="安装费税率" prop="">
+              <el-input placeholder="请输入">
+                <i class="el-input__icon" slot="suffix">% </i>
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :xs="24" :sm="24" :lg="6">
+            <el-form-item label="库存商品税率" prop="">
+              <el-input placeholder="请输入">
+                <i class="el-input__icon" slot="suffix">% </i>
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-row>
+          <el-col :xs="24" :sm="24" :lg="24">
+            <el-form-item label="" class="">
+              <el-button size="small">修改</el-button>
+              <el-button size="small" type="primary">确定</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      userInfo: {
+        nickName: "",
+      },
+    };
+  },
+};
+</script>
+
+<style>
+</style>

+ 386 - 0
src/views/finance/wallet.vue

@@ -0,0 +1,386 @@
+<template>
+  <div class="app-container">
+    <div v-if="showRebate">
+      <el-radio-group v-model="category" size="">
+        <el-radio-button label="家用空调"></el-radio-button>
+        <el-radio-button label="商用空调"></el-radio-button>
+        <el-radio-button label="生活电器"></el-radio-button>
+      </el-radio-group>
+      <h1></h1>
+      <div>
+        <el-row type="flex" class="row-bg" justify="space-around">
+          <el-col :xs="24" :sm="12" :lg="4"
+            ><div class="moneyStyle color1">
+              <span>普通钱包</span>
+              <strong>¥12.367万</strong>
+            </div>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="4"
+            ><div class="moneyStyle color2">
+              <span>特殊钱包</span> <strong>¥12.367万</strong>
+            </div></el-col
+          >
+          <el-col :xs="24" :sm="12" :lg="4">
+            <div class="moneyStyle color3">
+              <span>折扣钱包</span> <strong>¥12.367万</strong>
+            </div></el-col
+          >
+          <el-col :xs="24" :sm="12" :lg="4">
+            <div @click="rebateFn" class="moneyStyle color4">
+              <span>返利钱包</span> <strong>¥12.367万</strong>
+            </div></el-col
+          >
+        </el-row>
+      </div>
+      <el-divider></el-divider>
+      <el-radio-group v-model="bill" size="">
+        <el-radio-button label="贷款台账"></el-radio-button>
+        <el-radio-button label="返利台账"></el-radio-button>
+      </el-radio-group>
+      <h2></h2>
+      <!-- 筛选条件 -->
+      <div>
+        <el-form
+          ref="searchForm"
+          :model="searchForm"
+          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="">
+                <el-select class="selectStyle" placeholder="请选择">
+                  <el-option> </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="单据号" prop="">
+                <el-input placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="日期时间" prop="">
+                <el-date-picker
+                  type="datetimerange"
+                  range-separator="至"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="" class="fr">
+                <el-button size="small">清空</el-button>
+                <el-button size="small" type="primary">搜索</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+
+      <div v-show="bill == '贷款台账'">
+        <!-- 列表 -->
+        <div class="mymain-container">
+          <div class="table">
+            <el-table
+              v-loading="listLoading"
+              :data="dataList"
+              element-loading-text="Loading"
+              border
+              fit
+              highlight-current-row
+              stripe
+            >
+              <el-table-column
+                label="序号"
+                align="center"
+                min-width="100"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="单据日期"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="单据类型"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="单据号"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="钱包"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="摘要"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="预付货款"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="订单占款"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="支付货款"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="押金"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="工程保证金"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="其他暂扣款"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="账户余额"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+            </el-table>
+          </div>
+          <!-- 分页 -->
+          <div class="fr">
+            <el-pagination
+              :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>
+      <div v-show="bill == '返利台账'">
+        <!-- 列表 -->
+        <div class="mymain-container">
+          <div class="table">
+            <el-table
+              v-loading="listLoading"
+              :data="dataList"
+              element-loading-text="Loading"
+              border
+              fit
+              highlight-current-row
+              stripe
+            >
+              <el-table-column
+                label="序号"
+                align="center"
+                min-width="100"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="客户编码"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="客户名称"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="单据日期"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="审核日期"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="单据类型"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="单据号"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="返利品类"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="摘要"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="收入"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="支出"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="暂扣返利"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="center"
+                label="结存"
+                prop=""
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+            </el-table>
+          </div>
+          <!-- 分页 -->
+          <div class="fr">
+            <el-pagination
+              :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>
+    </div>
+    <WalletDetail v-else />
+  </div>
+</template>
+
+<script>
+import WalletDetail from "./components/wallet-detail.vue";
+export default {
+  components: {
+    WalletDetail,
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      searchForm: {}, //搜索表单
+      showRebate: true,
+      category: "家用空调",
+      bill: "贷款台账",
+    };
+  },
+  methods: {
+    //返利钱包
+    rebateFn() {
+      this.showRebate = false;
+    },
+    goBack() {
+      this.$parent.showDetail = true;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.moneyStyle {
+  height: 130px;
+  border-radius: 20px;
+  padding: 20px 0 0 20px;
+  color: #fff;
+  span {
+    display: block;
+    font-size: 20px;
+  }
+  strong {
+    margin-top: 16px;
+    display: block;
+    font-size: 36px;
+  }
+}
+.selectStyle {
+  width: 100%;
+}
+.color1 {
+  background-color: #6c83d0;
+}
+.color2 {
+  background-color: #dfc062;
+}
+.color3 {
+  background-color: #dfc062;
+}
+.color4 {
+  background-color: #6bcfd7;
+}
+</style>

+ 319 - 0
src/views/issue/index.vue

@@ -0,0 +1,319 @@
+<template>
+  <div class="app-container">
+    <!-- 筛选条件 -->
+    <div class="screen-container">
+      <el-form ref="screenForm" :model="screenForm" label-width="60px" size="small" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="18" :lg="18">
+            <el-form-item label="标题" prop="title">
+              <el-input v-model="screenForm.title" placeholder="请输入标题"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="6" :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>
+
+    <div class="mymain-container">
+      <div class="btn-group clearfix">
+        <div class="fl">
+          <el-button class="fl" size="small" type="primary" icon="el-icon-plus" @click="clickImport()">新增</el-button>
+          <div class="tips fl">导入模板第一行必须为空白行、第一列必须为公司编号(S9219801)</div>
+        </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="操作" fixed="right" width="160">
+            <template slot-scope="scope">
+              <el-button type="text" @click="openDetail(scope.row.id)" v-if="checkBtnRole('edit')">详情</el-button>
+              <el-button type="text" @click="handleExport(scope.row)" v-if="checkBtnRole('edit')">下载</el-button>
+              <el-popconfirm style="margin-left: 10px;" title="确定删除吗?" @onConfirm="deleteData(scope.row.id)">
+                <el-button slot="reference" type="text">删除</el-button>
+              </el-popconfirm>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" label="标题" prop="title" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="操作人" prop="operatorUserName" min-width="140" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{scope.row.operatorNickName}}({{scope.row.operatorUserName}})
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="remark" label="备注" min-width="140" 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>
+      </div>
+      
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            :page-sizes="[10, 20, 30, 50]"
+            :page-size="10"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="listTotal">
+          </el-pagination>
+        </div>
+      </div>
+    </div>
+
+    <!-- 新增 -->
+    <el-dialog title="新增" :visible.sync="importFormDialog" :show-close="false" width="40%" :close-on-click-modal="false">
+      <el-form ref="importForm" label-position="left" label-width="80px">
+        <el-form-item label="标题" prop="title">
+          <el-input v-model="importForm.title" placeholder="请输入标题"></el-input>
+        </el-form-item>
+        <el-form-item label="上传文件" prop="fileUrl">
+          <FileUpload :fileList="fileList" :fileType="['excel']" />
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input type="textarea" v-model="importForm.remark" placeholder="请输入备注"></el-input>
+        </el-form-item>
+      </el-form>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="cancelImportForm">取 消</el-button>
+        <el-button type="primary" @click="submitImportForm">确 定</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 详情 -->
+    <el-dialog title="详情" :visible.sync="detailDialog" :show-close="false" width="70%" :close-on-click-modal="false">
+      <div class="table" style="margin: 10px 0 20px;">
+        <el-table 
+          v-loading="detailTable_listLoading" 
+          :data="detailTable_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="title" label="标题" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" prop="websitNumber" label="网点名称" min-width="140" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{scope.row.websitName}}({{scope.row.websitNumber}})
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="remark" label="备注" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" prop="createTime" label="下载时间" min-width="160"></el-table-column>
+        </el-table>
+      </div>
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @current-change="detailTableCurrentChange"
+            :current-page="detailTable_currentPage"
+            :page-size="detailTable_pageSize"
+            background
+            layout="prev, pager, next"
+            :total="detailTable_listTotal">
+          </el-pagination>
+        </div>
+      </div>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="detailDialog = false">关 闭</el-button>
+      </div>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import { getToken } from '@/utils/auth'
+import { getList, getDownloadList, deleteData, exportFile, handleImport } from '@/api/issue'
+import FileUpload from '@/components/Common/file-upload.vue'
+
+export default {
+  components: {
+    FileUpload
+  },
+  data() {
+    return {
+      imageURL: this.$imageUrl,
+      dataList: null, // 列表数据
+      listLoading: true, // 列表加载loading
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      screenForm: { // 筛选表单数据
+        title: '',
+      },
+      importForm: {
+        title: '',
+        remark: '',
+      },
+      importFormDialog: false,
+      fileList: [],
+
+      detailDialog: false, // 详情 - 弹窗
+      detailTable_dataList: null, // 详情 - 列表数据
+      detailTable_listLoading: true, // 详情 - 列表加载loading
+      detailTable_currentPage: 1, // 详情 - 当前页码
+      detailTable_pageSize: 10, // 详情 - 每页数量
+      detailTable_listTotal: 0, // 详情 - 列表总数
+    }
+  },
+  computed: {
+    
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    // 查询按钮权限
+    checkBtnRole(value) {
+      return true;
+      let btnRole = this.$route.meta.roles;
+      if(!btnRole) {return true}
+      let index = btnRole.indexOf(value);
+      return index >= 0 ? true : false;
+    },
+
+    // 获取列表
+    getList() {
+      this.listLoading = true;
+      let params = {
+        pageNo: this.currentPage,
+        pageSize: this.pageSize,
+        title: this.screenForm.title,
+      }
+      getList(params).then(res => {
+        this.listLoading = false;
+        this.dataList = res.data ? res.data.records : [];
+        this.listTotal = res.data ? res.data.total : 0;
+      })
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 操作 - 删除
+    deleteData(id) {
+      deleteData({id}).then(res => {
+        this.getList();
+        this.$successMsg();
+      })
+    },
+
+    // 详情 - 获取列表
+    getDownloadList() {
+      getDownloadList({
+        pageNo: this.detailTable_currentPage,
+        pageSize: this.detailTable_pageSize,
+        id: this.detailId
+      }).then(res => {
+        this.detailTable_dataList = res.data.records;
+        this.detailTable_listTotal = res.data.total;
+        this.detailTable_listLoading = false;
+      })
+    },
+
+    // 详情 - 打开弹窗
+    openDetail(id) {
+      this.detailId = id;
+      this.detailDialog = true;
+      this.detailTable_currentPage = 1;
+      this.getDownloadList();
+    },
+
+    // 详情 - 更改列表当前页
+    detailTableCurrentChange(val) {
+      this.detailTable_currentPage = val;
+      this.getDownloadList();
+    },
+
+    // 点击导入
+    clickImport() {
+      this.importFormDialog = true;
+    },
+
+    // 取消 导入
+    cancelImportForm(){
+      this.importFormDialog = false;
+      this.fileList = [];
+      this.importForm.title = '';
+      this.importForm.remark = '';
+    },
+
+    // 导入
+    async submitImportForm() {
+      if(!this.importForm.title) {
+        return this.$errorMsg('请填写标题');
+      }
+      if(this.fileList.length <= 0) {
+        return this.$errorMsg('请上传文件');
+      }
+      const loading = this.$loading({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      });
+      const formData = {
+        file: this.fileList[0].url,
+        title: this.importForm.title,
+        remark: this.importForm.remark
+      };
+      handleImport(formData).then(res => {
+        this.fileList = [];
+        this.getList();
+        this.importFormDialog = false;
+      }).catch(res => {
+        this.$errorMsg(res.message);
+      }).finally(res => {
+        loading.close();
+      })
+    },
+
+    // 下载
+    handleExport(item) {
+      exportFile({id: item.id}).then(res => {
+        if(res.data) {
+          window.open(this.imageURL + res.data);
+        }
+      })
+    },
+
+  }
+}
+</script>
+
+<style scoped>
+.tips {
+  font-size: 14px;
+  color: red;
+  line-height: 32px;
+  margin-left: 10px;
+}
+</style>

+ 484 - 107
src/views/notice/index.vue

@@ -2,21 +2,37 @@
   <div class="app-container">
     <!-- 筛选条件 -->
     <div class="screen-container">
-      <div class="top clearfix">
-        <div class="title fl">条件筛选</div>
-      </div>
-      <el-form ref="screenForm" :model="screenForm" label-width="50px" size="small" label-position="left">
+      <el-form ref="screenForm" :model="screenForm" label-width="70px" size="small" label-position="left">
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="标志" prop="readFlag">
-              <el-select v-model="screenForm.readFlag" placeholder="全部标志" size="small">
-                <el-option label="全部" value=""></el-option>
-                <el-option label="未读" value="false"></el-option>
-                <el-option label="已读" value="true"></el-option>
-              </el-select>
+            <el-form-item label="通知类型" prop="type">
+              <el-input v-model="screenForm.type" placeholder="请输入通知类型"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="文件编码" prop="code">
+              <el-input v-model="screenForm.code" placeholder="请输入文件编码"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="文件标题" prop="title">
+              <el-input v-model="screenForm.title" placeholder="请输入文件标题"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="6">
+            <el-form-item label="发布日期" prop="date">
+              <el-date-picker
+                v-model="screenForm.date"
+                type="datetimerange"
+                range-separator="至"
+                style="width: 100%;"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期">
+              </el-date-picker>
             </el-form-item>
           </el-col>
-          <el-col :xs="24" :sm="12" :lg="18" class="tr">
+          <el-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>
@@ -29,39 +45,33 @@
     <div class="mymain-container">
       <div class="btn-group clearfix">
         <div class="fl">
-          <el-button size="small" @click="changeReadFlag('ALL')">全部标为已读</el-button>
-          <el-button size="small" @click="changeReadFlag('SEL')">标为已读消息</el-button>
+          <el-button class="fl" size="small" type="primary" icon="el-icon-plus" @click="openMainForm()">新增</el-button>
+          <el-button class="fl" size="small" type="danger" icon="el-icon-minus" @click="batchDelete()">批量删除</el-button>
         </div>
       </div>
-
       <div class="table">
-        <el-table ref="noticeTable" v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
-          <el-table-column align="center" type="selection" width="40" :selectable="checkSelRow"></el-table-column>
-          <el-table-column align="center" label="消息编号" prop="noticeId" min-width="180"></el-table-column>
-          <el-table-column align="center" label="订单编号" prop="objId" min-width="180"></el-table-column>
-          <el-table-column align="center" label="标题" prop="title" min-width="80"></el-table-column>
-          <el-table-column align="center" label="消息类型" prop="type">
-            <template slot-scope="scope">
-              {{ scope.row.type | NOTICE_CURRENT_TYPE_FILTER }}
-            </template>
-          </el-table-column>
-          <el-table-column align="center" label="消息内容" prop="content" min-width="200"></el-table-column>
-          <el-table-column align="center" label="状态" class-name="status-col">
+        <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe @selection-change="handleSelectionChange">
+          <el-table-column align="center" label="操作" fixed="right" width="120">
             <template slot-scope="scope">
-              <el-tag :type="scope.row.readFlag ? 'success' : 'danger'">{{ scope.row.readFlag ? '已读' : '未读'}}</el-tag>
-            </template>
-          </el-table-column>
-          <el-table-column align="center" label="创建时间" prop="createTime" min-width="160"></el-table-column>
-          <el-table-column align="center" label="操作" fixed="right" width="100">
-            <template slot-scope="scope">
-              <template v-if="checkBtnRole('status')">
-                <el-button type="text" v-if="scope.row.type === 1" @click="goOrderDetail(scope.row)">查看记录</el-button>
-              </template>
+              <el-button type="text" @click="openDetail(scope.row.id)" v-if="checkBtnRole('edit')">浏览</el-button>
+              <el-popconfirm style="margin-left: 10px;" title="确定删除吗?" @onConfirm="deleteData(scope.row.noticeId)">
+                <el-button slot="reference" type="text">删除</el-button>
+              </el-popconfirm>
             </template>
           </el-table-column>
+          <el-table-column align="center" type="selection" width="55"></el-table-column>
+          <el-table-column align="center" label="通知类型" prop="type" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="文件编码" prop="code" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="文件标题" prop="title" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="接收人" prop="adminNickName" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="发送人" prop="issueNickName" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="发送人编号" prop="issueUserId" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="发布日期" prop="issueTime" 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="readFlag" min-width="140" show-overflow-tooltip></el-table-column> -->
         </el-table>
       </div>
-
+      
       <div class="pagination clearfix">
         <div class="fr">
           <el-pagination
@@ -76,116 +86,483 @@
         </div>
       </div>
     </div>
+
+    <!-- 新增 -->
+    <el-dialog title="新增" :visible.sync="mainFormDialog" :show-close="false" width="60%" :close-on-click-modal="false">
+      <el-form ref="mainForm" :model="mainForm" :rules="mainFormRules" label-position="right" label-width="90px">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="12" :lg="12">
+            <el-form-item label="通知类型" prop="type">
+              <el-input v-model="mainForm.type" placeholder="请输入通知类型"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="12">
+            <el-form-item label="文件编号" prop="code">
+              <el-input v-model="mainForm.code" placeholder="请输入文件编号"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="12">
+            <el-form-item label="文件标题" prop="title">
+              <el-input v-model="mainForm.title" placeholder="请输入文件标题"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :lg="12">
+            <el-form-item label="来源" prop="source">
+              <el-input v-model="mainForm.source" placeholder="请输入来源"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24">
+            <el-form-item label="发布日期" prop="date">
+              <el-date-picker
+                v-model="mainForm.date"
+                type="datetime"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                style="width: 100%"
+                placeholder="选择发布日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24">
+            <el-form-item label="发布内容" prop="content">
+              <el-input type="textarea" v-model="mainForm.content" placeholder="请输入发布内容" :autosize="{ minRows: 4, maxRows: 8}"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24">
+            <el-form-item label="接收人" prop="department">
+              <el-tree
+                :data="departmentList"
+                show-checkbox
+                node-key="adminWebsitId"
+                ref="tree"
+                highlight-current
+                :props="props">
+              </el-tree>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-form-item label="上传附件" prop="fileUrl">
+          <ImageUpload :fileList="fileList" :multiple="true" />
+        </el-form-item>
+        
+      </el-form>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="closeMainForm">取 消</el-button>
+        <el-button type="primary" @click="submitMainForm">确 定</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 已阅记录 -->
+    <el-dialog title="已阅记录" :visible.sync="recordDialog" :show-close="false" width="70%" :close-on-click-modal="false">
+      <div class="table" style="margin: 10px 0 20px;">
+        <el-table 
+          v-loading="detailTable_listLoading" 
+          :data="detailTable_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="title" label="标题" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" prop="websitNumber" label="网点名称" min-width="140" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{scope.row.websitName}}({{scope.row.websitNumber}})
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="remark" label="备注" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" prop="createTime" label="下载时间" min-width="160"></el-table-column>
+        </el-table>
+      </div>
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @current-change="detailTableCurrentChange"
+            :current-page="detailTable_currentPage"
+            :page-size="detailTable_pageSize"
+            background
+            layout="prev, pager, next"
+            :total="detailTable_listTotal">
+          </el-pagination>
+        </div>
+      </div>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="recordDialog = false">关 闭</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 详情 -->
+    <el-dialog title="浏览" :visible.sync="detailDialog" width="60%" :close-on-click-modal="false">
+      <div class="detail-container">
+        <div class="title">{{detailData.title}}</div>
+        <div class="text">发布人:{{detailData.issueNickName}}<el-divider direction="vertical"></el-divider>发布时间:{{detailData.issueTime}}</div>
+        <el-divider></el-divider>
+        <div class="content">{{detailData.content}}</div>
+        <el-divider v-if="detailData.files && detailData.files.length > 0"></el-divider>
+        <div class="file" v-if="detailData.files && detailData.files.length > 0">
+          <div>附件:</div>
+          <div class="file-list">
+            <div v-for="(item, index) in detailData.files" :key="index" class="item">
+              <el-image v-if="checkFileType(item.url) == 'image'" class="img" :src="imageURL + item.url" :preview-src-list="[imageURL + item.url]"></el-image>
+              <div v-else class="box2" @click="openLink(item.url)">
+                <img src="@/assets/common/word.png" v-if="checkFileType(item.url) == 'word'" />
+                <img src="@/assets/common/excel.png" v-if="checkFileType(item.url) == 'excel'" />
+                <img src="@/assets/common/ppt.png" v-if="checkFileType(item.url) == 'ppt'" />
+                <img src="@/assets/common/pdf.png" v-if="checkFileType(item.url) == 'pdf'" />
+                <div class="name ellipsis-3">{{ item.name }}</div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="confirmCheck(detailData.id)" v-if="!detailData.readFlag">确认接收</el-button>
+        <el-button @click="detailDialog = false" v-if="detailData.readFlag">关 闭</el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
 <script>
-import { getNoticeList, changeAllReadFlag, changeReadFlag } from "@/api/notice";
+import { getList, getDownloadList, deleteData, addData, getDepartmentList, getDetail, confirmCheck } from '@/api/notice'
+import { getFileUrl } from '@/api/common';
+import ImageUpload from '@/components/Common/image-upload.vue'
 
 export default {
-  name: "index",
+  components: {
+    ImageUpload
+  },
   data() {
     return {
+      imageURL: this.$imageUrl,
       dataList: null, // 列表数据
       listLoading: true, // 列表加载loading
-      screenForm: { // 筛选表单数据
-        readFlag: '' //
-      },
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
-      listTotal: 0 // 列表总数
+      listTotal: 0, // 列表总数
+      screenForm: { // 筛选表单数据
+        type: '',
+        code: '',
+        title: '',
+        date: '',
+      },
+      mainForm: {
+        type: '',
+        code: '',
+        title: '',
+        source: '',
+        department: '',
+        date: '',
+        content: '',
+      },
+      mainFormRules: {
+        type: [
+          { required: true, message: '请输入通知类型', trigger: 'blur' }
+        ],
+        title: [
+          { required: true, message: '请输入文件标题', trigger: 'blur' }
+        ],
+        date: [
+          { required: true, message: '请选择发布日期', trigger: 'change' }
+        ],
+        content: [
+          { required: true, message: '请输入发布内容', trigger: 'blur' }
+        ],
+      },
+      mainFormDialog: false,
+      fileList: [],
+
+      departmentList: [],
+      props: {
+        multiple: true,
+        value: 'adminWebsitId',
+        label: 'name',
+        children: 'children',
+      },
+
+      detailDialog: false, // 详情 - 弹窗
+      detailData: {},
+
+      multipleSelection: [],
+
+      recordDialog: false, // 已阅记录 - 弹窗
+      detailTable_dataList: null, // 已阅记录 - 列表数据
+      detailTable_listLoading: true, // 已阅记录 - 列表加载loading
+      detailTable_currentPage: 1, // 已阅记录 - 当前页码
+      detailTable_pageSize: 10, // 已阅记录 - 每页数量
+      detailTable_listTotal: 0, // 已阅记录 - 列表总数
     }
   },
+  computed: {
+    
+  },
   created() {
-    this.getList()
+    this.getList();
   },
   methods: {
     // 查询按钮权限
     checkBtnRole(value) {
-      // let btnRole = this.$route.meta.roles;
-      // if(!btnRole) {return true}
-      // let index = btnRole.indexOf(value);
-      // return index >= 0 ? true : false;
-      return true
+      return true;
+      let btnRole = this.$route.meta.roles;
+      if(!btnRole) {return true}
+      let index = btnRole.indexOf(value);
+      return index >= 0 ? true : false;
+    },
+
+    // 获取部门列表
+    getTree() {
+      getDepartmentList().then(res => {
+        this.departmentList = res.data;
+      })
     },
+
+    // 获取列表
     getList() {
+      this.listLoading = true;
       let params = {
-        readFlag: this.screenForm.readFlag,
         pageNum: this.currentPage,
-        pageSize: this.pageSize
+        pageSize: this.pageSize,
+        type: this.screenForm.type,
+        code: this.screenForm.code,
+        title: this.screenForm.title,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
       }
-
-      getNoticeList(params).then(res => {
-        this.dataList = res.data.records
-        this.listTotal = res.data.total
-        this.listLoading = false
+      getList(params).then(res => {
+        this.listLoading = false;
+        this.dataList = res.data ? res.data.records : [];
+        this.listTotal = res.data ? res.data.total : 0;
       })
     },
-    // 检查行能否选中
-    checkSelRow(row) {
-      return !row.readFlag
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
     },
+
     // 提交筛选表单
     submitScreenForm() {
-      this.currentPage = 1
-      this.getList()
+      this.currentPage = 1;
+      this.getList();
     },
+
     // 重置筛选表单
     resetScreenForm() {
-      this.$refs.screenForm.resetFields()
-      this.currentPage = 1
-      this.getList()
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
     },
-    // 更改每页数量
-    handleSizeChange(val) {
-      this.pageSize = val
-      this.currentPage = 1
-      this.getList()
+
+    // 表格选择
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
     },
-    // 更改当前页
-    handleCurrentChange(val) {
-      this.currentPage = val
-      this.getList()
-    },
-    changeReadFlag(type) {
-      if (type === 'ALL') {
-        changeAllReadFlag().then(() => {
-          this.getList()
-          this.$successMsg('全部标为已读成功')
+
+    // 批量删除
+    batchDelete() {
+      if(this.multipleSelection.length < 1) {
+        return this.$errorMsg('请选择信息');
+      }
+      this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        let ids = [];
+        this.multipleSelection.forEach(item => {
+          ids.push(item.noticeId);
+        });
+        deleteData({noticeIds: ids.join(',')}).then(res => {
+          this.$successMsg('删除成功');
+          this.getList();
         })
-      } else {
-        if (this.$refs['noticeTable'].selection.length > 0) {
-          let noticeIds = []
-          this.$refs['noticeTable'].selection.forEach(row => {
-            noticeIds.push(row.noticeId)
-          })
-          changeReadFlag(noticeIds).then(() => {
-            this.getList()
-            this.$successMsg('标为已读成功')
+      }).catch(() => {});
+    },
+
+    // 操作 - 删除
+    deleteData(id) {
+      deleteData({noticeIds: id}).then(res => {
+        this.$successMsg('删除成功');
+        this.getList();
+      })
+    },
+
+    // 详情 - 打开弹窗
+    openDetail(id) {
+      getDetail({id}).then(res => {
+        this.detailData = res.data;
+        this.detailDialog = true;
+      })
+    },
+
+    // 检查文件类型
+    checkFileType(url) {
+      if(!url) return '';
+			const fileSuffix = url.substring(url.lastIndexOf(".") + 1);
+
+			if (['jpg', 'jpeg', 'png'].includes(fileSuffix)) {
+				return 'image';
+			}else if (['doc', 'docx', 'dot', 'wps', 'wpt'].includes(fileSuffix)) {
+				return 'word';
+			}else if(['xls', 'xlsx', 'xlt', 'et', 'ett'].includes(fileSuffix)) {
+				return 'excel';
+			}else if(['ppt', 'pptx', 'dps', 'dpt', 'pot', 'pps'].includes(fileSuffix)) {
+				return 'ppt';
+			}else if(['pdf'].includes(fileSuffix)) {
+				return 'pdf';
+			}else {
+        return '';
+      }
+		},
+
+    // 打开链接
+    openLink(url) {
+      getFileUrl({key: url}).then(res => {
+        window.open(res.data);
+      })
+    },
+
+    // 确认查收
+    confirmCheck(id) {
+      confirmCheck({noticeIds: id}).then(res => {
+        this.$successMsg('查收成功');
+        this.detailDialog = false;
+        this.getList();
+      })
+    },
+
+    // 已阅记录 - 获取列表
+    getDownloadList() {
+      getDownloadList({
+        pageNo: this.detailTable_currentPage,
+        pageSize: this.detailTable_pageSize,
+        id: this.recordId
+      }).then(res => {
+        this.detailTable_dataList = res.data.records;
+        this.detailTable_listTotal = res.data.total;
+        this.detailTable_listLoading = false;
+      })
+    },
+
+    // 已阅记录 - 打开弹窗
+    openRecord(id) {
+      this.recordId = id;
+      this.recordDialog = true;
+      this.detailTable_currentPage = 1;
+      this.getDownloadList();
+    },
+
+    // 已阅记录 - 更改列表当前页
+    detailTableCurrentChange(val) {
+      this.detailTable_currentPage = val;
+      this.getDownloadList();
+    },
+
+    // 打开 表单
+    openMainForm() {
+      this.getTree();
+      this.mainFormDialog = true;
+    },
+
+    // 关闭 表单
+    closeMainForm(){
+      this.mainFormDialog = false;
+      this.fileList = [];
+      this.$refs.mainForm.resetFields();
+    },
+
+    // 提交 表单
+    async submitMainForm() {
+      this.$refs.mainForm.validate((valid) => {
+        if (valid) {
+          let params = {
+            type: this.mainForm.type,
+            code: this.mainForm.code,
+            title: this.mainForm.title,
+            source: this.mainForm.source,
+            issueTime: this.mainForm.date,
+            content: this.mainForm.content,
+            adminWebsitIds: this.$refs.tree.getCheckedKeys(),
+            files: this.fileList,
+          };
+          addData(params).then(res => {
+            this.closeMainForm();
+            this.getList();
+            this.mainFormDialog = false;
           })
-        } else {
-          this.$errorMsg("请先选择消息!")
         }
-      }
+      })
     },
-    goOrderDetail(row) {
-      let noticeIds = []
-      noticeIds.push(row.noticeId)
-      changeReadFlag(noticeIds)
-      let {href} = this.$router.resolve({path: `/order/detail?orderId=${row.objId}`});
-      window.open(href, '_blank');
-      // this.$router.push({
-      //   path: '/order/detail',
-      //   query: {
-      //     orderId: row.objId,
-      //     type: 'notice'
-      //   }
-      // })
-    }
+
   }
 }
 </script>
 
-<style scoped>
-
-</style>
+<style scoped lang="scss">
+  .detail-container {
+    .title {
+      font-size: 16px;
+      color: #333333;
+      font-weight: 600;
+    }
+    .text {
+      font-size: 14px;
+      color: #999999;
+      margin-top: 10px;
+    }
+    .content {
+      font-size: 14px;
+      color: #666666;
+      line-height: 20px;
+    }
+    .file {
+      .file-list {
+        display: flex;
+        .item {
+          margin-top: 10px;
+          margin-right: 10px;
+        }
+      }
+      .img {
+        width: 80px;
+        height: 80px;
+        display: block;
+        border: 1px solid #e4e7ed;
+      }
+      .box2 {
+        flex: 1;
+        display: flex;
+        padding: 10px;
+        align-items: center;
+        border: 1px solid #e4e7ed;
+        width: 240px;
+        height: 80px;
+        cursor: pointer;
+        img {
+          width: 40px;
+          height: 40px;
+          display: block;
+        }
+        .name {
+          flex: 1;
+          color: #222;
+          font-weight: 600;
+          margin-left: 10px;
+        }
+      }
+    }
+  }
+  .el-divider--horizontal {
+    margin: 16px 0;
+  }
+</style>

+ 43 - 55
src/views/stock/reserved_stock.vue

@@ -2,24 +2,13 @@
   <div class="app-container">
     <!-- 筛选条件 -->
     <div class="screen-container">
-      <div class="top clearfix">
-        <div class="title fl">条件筛选</div>
-      </div>
       <el-form ref="screenForm" :model="screenForm" label-width="70px" size="small" label-position="left">
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="品类" prop="category">
-              <el-select v-model="screenForm.category" placeholder="全部">
-                <el-option label="全部" value=""></el-option>
-                <el-option :label="item.label" :value="item.value" v-for="(item, index) in select_status" :key="index"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="销售类型" prop="saleType">
-              <el-select v-model="screenForm.saleType" placeholder="全部">
+            <el-form-item label="品类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="全部">
                 <el-option label="全部" value=""></el-option>
-                <el-option :label="item.label" :value="item.value" v-for="(item, index) in select_status" :key="index"></el-option>
+                <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>
@@ -39,7 +28,7 @@
             </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>
@@ -52,23 +41,20 @@
     <div class="mymain-container">
       <div class="btn-group clearfix">
         <div class="fr">
-          <el-button size="small" type="primary" icon="el-icon-download" @click="handleExport">导出数据</el-button>
+          <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="经销商编码" prop="aaa" 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="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="aaa" 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="aaa" 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="aaa" min-width="160" 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="200" 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="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="categoryName" min-width="160" show-overflow-tooltip></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="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="reservedNum" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="经销商暂扣库存" prop="temporaryNum" min-width="140" show-overflow-tooltip></el-table-column>
         </el-table>
       </div>
     </div>
@@ -90,9 +76,8 @@
 </template>
 
 <script>
-import { COMMON_SELECT } from '@/utils/select_data'
-import { getStockList } from "@/api/stock";
-import { downloadFiles } from '@/utils/util'
+import { getReservedList } from "@/api/stock";
+import { getDictList } from '@/api/common'
 
 export default {
   data() {
@@ -103,20 +88,29 @@ export default {
       dataList: null, // 列表数据
       listLoading: false, // 列表加载loading
       screenForm: { // 筛选表单数据
-        warehouse: '',
+        type: '',
         name: '',
         code: '',
         model: '',
-        category: '',
-        saleType: '',
       },
-      select_status: [ // 筛选字段 - 状态
-        { label: '正常', value: true },
-        { label: '冻结', value: false }
-      ],
+      typeList: [],
     }
   },
+
+  computed: {
+    exParams() {
+      return {
+        name: this.screenForm.warehouse,
+        materialName: this.screenForm.name,
+        materialNumber: this.screenForm.code,
+        specification: this.screenForm.model,
+        categoryName: this.screenForm.type,
+      }
+    },
+  },
+
   created() {
+    this.getDictList();
     this.getList();
   },
 
@@ -130,6 +124,12 @@ export default {
       return true
     },
 
+    getDictList() {
+      getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
+        this.typeList = res.data;
+      })
+    },
+
     // 查询列表
     getList() {
       this.listLoading = true;
@@ -137,13 +137,12 @@ export default {
       let params = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        materialName: this.screenForm.name,
+        materialNumber: this.screenForm.code,
+        specification: this.screenForm.model,
+        categoryName: this.screenForm.type,
       };
-      getStockList(params).then((res) => {
+      getReservedList(params).then((res) => {
         this.dataList = res.data.records;
         this.listTotal = res.data.total;
         this.listLoading = false;
@@ -176,17 +175,6 @@ export default {
       this.getList();
     },
 
-    // 导出
-    handleExport() {
-      let screenData = {
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
-      };
-      downloadFiles('admin/user/mch/export', screenData);
-    },
   }
 }
 </script>

+ 56 - 56
src/views/stock/stock_list.vue

@@ -2,16 +2,13 @@
   <div class="app-container">
     <!-- 筛选条件 -->
     <div class="screen-container">
-      <div class="top clearfix">
-        <div class="title fl">条件筛选</div>
-      </div>
       <el-form ref="screenForm" :model="screenForm" label-width="70px" size="small" label-position="left">
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="仓库" prop="warehouse">
-              <el-select v-model="screenForm.warehouse" placeholder="全部">
+              <el-select v-model="screenForm.warehouse" placeholder="请选择仓库">
                 <el-option label="全部" value=""></el-option>
-                <el-option :label="item.label" :value="item.value" v-for="(item, index) in select_status" :key="index"></el-option>
+                <el-option :label="item.name" :value="item.name" v-for="(item, index) in warehouseList" :key="index"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -31,23 +28,15 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="品类" prop="category">
-              <el-select v-model="screenForm.category" placeholder="全部">
+            <el-form-item label="品类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="全部">
                 <el-option label="全部" value=""></el-option>
-                <el-option :label="item.label" :value="item.value" v-for="(item, index) in select_status" :key="index"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="销售类型" prop="saleType">
-              <el-select v-model="screenForm.saleType" placeholder="全部">
-                <el-option label="全部" value=""></el-option>
-                <el-option :label="item.label" :value="item.value" v-for="(item, index) in select_status" :key="index"></el-option>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           
-          <el-col :xs="24" :sm="24" :lg="12" class="tr">
+          <el-col :xs="24" :sm="12" :lg="18" class="tr">
             <el-form-item label="">
               <el-button size="small" @click="resetScreenForm">清空</el-button>
               <el-button size="small" type="primary" @click="submitScreenForm">搜索</el-button>
@@ -60,24 +49,19 @@
     <div class="mymain-container">
       <div class="btn-group clearfix">
         <div class="fr">
-          <el-button size="small" type="primary" icon="el-icon-download" @click="handleExport">导出数据</el-button>
+          <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="产品品类" 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="aaa" 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="aaa" 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="aaa" min-width="160" 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="200" 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="200" 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="200" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="产品品类" prop="categoryName" min-width="160" show-overflow-tooltip></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="specification" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="总库存数量" prop="stockQty" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="经销商预留库存" prop="reservedNum" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="经销商暂扣库存" prop="temporaryNum" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="仓库" prop="name" min-width="160" show-overflow-tooltip></el-table-column>
         </el-table>
       </div>
     </div>
@@ -99,9 +83,8 @@
 </template>
 
 <script>
-import { COMMON_SELECT } from '@/utils/select_data'
-import { getStockList } from "@/api/stock";
-import { downloadFiles } from '@/utils/util'
+import { getStockList, getWarehouseList } from "@/api/stock";
+import { getDictList } from '@/api/common'
 
 export default {
   data() {
@@ -116,16 +99,28 @@ export default {
         name: '',
         code: '',
         model: '',
-        category: '',
-        saleType: '',
+        type: '',
       },
-      select_status: [ // 筛选字段 - 状态
-        { label: '正常', value: true },
-        { label: '冻结', value: false }
-      ],
+      warehouseList: [],
+      typeList: [],
     }
   },
+
+  computed: {
+    exParams() {
+      return {
+        name: this.screenForm.warehouse,
+        materialName: this.screenForm.name,
+        materialNumber: this.screenForm.code,
+        specification: this.screenForm.model,
+        categoryName: this.screenForm.type,
+      }
+    },
+  },
+
   created() {
+    this.getWarehouseList();
+    this.getDictList();
     this.getList();
   },
 
@@ -139,6 +134,22 @@ export default {
       return true
     },
 
+    // 获取仓库列表
+    getWarehouseList() {
+      getWarehouseList({
+        pageNum: 1,
+        pageSize: -1
+      }).then((res) => {
+        this.warehouseList = res.data.records;
+      })
+    },
+
+    getDictList() {
+      getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
+        this.typeList = res.data;
+      })
+    },
+
     // 查询列表
     getList() {
       this.listLoading = true;
@@ -146,11 +157,11 @@ export default {
       let params = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        name: this.screenForm.warehouse,
+        materialName: this.screenForm.name,
+        materialNumber: this.screenForm.code,
+        specification: this.screenForm.model,
+        categoryName: this.screenForm.type,
       };
       getStockList(params).then((res) => {
         this.dataList = res.data.records;
@@ -185,17 +196,6 @@ export default {
       this.getList();
     },
 
-    // 导出
-    handleExport() {
-      let screenData = {
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
-      };
-      downloadFiles('admin/user/mch/export', screenData);
-    },
   }
 }
 </script>

+ 5 - 0
src/views/supply/apply.vue

@@ -0,0 +1,5 @@
+<template>
+  <div>
+    <router-view />
+  </div>
+</template>

+ 265 - 0
src/views/supply/apply/apply_list.vue

@@ -0,0 +1,265 @@
+<template>
+  <div class="app-container">
+    <div v-show="!isShowDetail && !isShowExamine">
+      <!-- 筛选条件 -->
+      <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="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-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="发货申请单" prop="orderNum">
+                <el-input v-model="screenForm.orderNum" placeholder="请输入发货申请单"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="仓库" prop="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="jxsName">
+                <el-input v-model="screenForm.jxsName" placeholder="请输入经销商编码"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商名称" prop="jxsNum">
+                <el-input v-model="screenForm.jxsNum" placeholder="请输入经销商名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="发货申请日期" prop="date">
+                <el-date-picker
+                  v-model="screenForm.date"
+                  type="datetimerange"
+                  range-separator="至"
+                  style="width: 100%;"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="产品名称" prop="chName">
+                <el-input v-model="screenForm.chName" placeholder="请输入产品名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="规格型号" prop="model">
+                <el-input v-model="screenForm.model" 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>
+
+      <div class="mymain-container">
+        <div class="btn-group clearfix">
+          <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="发货申请单" 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="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="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="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="操作" width="120" fixed="right">
+              <template slot-scope="scope">
+                <el-button type="text" @click="toExamine(scope.row)">审单</el-button>
+                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+      </div>
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            :page-sizes="[10, 20, 30, 50]"
+            :page-size="10"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="listTotal">
+          </el-pagination>
+        </div>
+      </div>
+    </div>
+    
+    <ApplyDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
+    <ApplyExamine :listItem="queryItem" v-if="isShowExamine" @backListFormDetail="backList" />
+
+  </div>
+</template>
+
+<script>
+import { getList } from "@/api/supply/apply";
+import ApplyDetail from "@/views/supply/apply/components/apply_detail";
+import ApplyExamine from "@/views/supply/apply/components/apply_examine";
+
+export default {
+  components: {
+    ApplyDetail,
+    ApplyExamine,
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: { // 筛选表单数据
+        orderNum: '',
+        jxsName: '',
+        chName: '',
+        model: '',
+        date: '',
+        jxsNum: '',
+        status: '',
+      },
+
+      queryItem: {},
+      isShowDetail: false,
+      isShowExamine: false,
+    }
+  },
+
+  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:工程发货单
+      }
+    },
+  },
+
+  created() {
+    this.getList();
+  },
+
+  methods: {
+    // 查询按钮权限
+    checkBtnRole(value) {
+      // let btnRole = this.$route.meta.roles;
+      // if(!btnRole) {return true}
+      // let index = btnRole.indexOf(value);
+      // return index >= 0;
+      return true
+    },
+
+    // 查询列表
+    getList() {
+      this.listLoading = true;
+
+      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:工程发货单
+      };
+      getList(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+      })
+    },
+
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+
+    // 进入审批
+    toExamine(item) {
+      this.queryItem = item;
+      this.isShowExamine = true;
+    },
+
+    // 进入详情
+    toDetail(item) {
+      this.queryItem = item;
+      this.isShowDetail = true;
+    },
+
+    backList() {
+      this.queryItem = {};
+      this.isShowDetail = false;
+      this.isShowExamine = false;
+    },
+
+    handleDelete(id) {
+
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 277 - 0
src/views/supply/apply/components/apply_detail.vue

@@ -0,0 +1,277 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" content="详情"></el-page-header>
+
+    <div id="printData">
+      <div class="main-title">
+        <div class="title">工程订单</div>
+      </div>
+
+      <div class="diy-table-1">
+        <el-row>
+          <el-col :span="8" class="item">
+            <div class="label">发货申请单号</div>
+            <div class="value">{{detailData.billNo}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">申请日期</div>
+            <div class="value">{{detailData.fdate}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">单据状态</div>
+            <div class="value">{{detailData.srcStockId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">经销商编号</div>
+            <div class="value">{{detailData.destStockId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">经销商名称</div>
+            <div class="value">{{detailData.approveDate}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">仓库</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">工程登录编码</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">制单人</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">制单日期</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="24" class="item">
+            <div class="label">备注</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="12" class="item">
+            <div class="label">审核人</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="12" class="item">
+            <div class="label">审核日期</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="24" class="item">
+            <div class="label">审批说明</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+        </el-row>
+      </div>
+
+      <div class="main-title">
+        <div class="title">货品信息</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-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="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="160" show-overflow-tooltip></el-table-column>
+        </el-table>
+      </div>
+
+      <div class="main-title">
+        <div class="title">审批记录</div>
+      </div>
+      <div class="diy-table-1">
+        <el-row :gutter="0">
+          <el-col :span="12" class="item">
+            <div class="label">审批人</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+          <el-col :span="12" class="item">
+            <div class="label">审批结果</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+          <el-col :span="24" class="item">
+            <div class="label">审批说明</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+        </el-row>
+      </div>
+      
+    </div>
+    
+    <div class="page-footer">
+      <div class="footer" :class="classObj">
+        <el-button  type="primary" @click="openDeliverDialog">直调发货</el-button>
+        <el-popconfirm title="确定关闭吗?" @onConfirm="goBack" style="margin-left: 10px;">
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+    <el-dialog
+      title="直调发货"
+      :visible.sync="isShowDeliverDialog"
+      width="80%">
+      <el-form ref="deliverForm" :model="deliverForm" label-width="70px" size="small" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="8" :lg="8">
+            <el-form-item label="工程订单" prop="orderNum">
+              <el-input v-model="deliverForm.orderNum" placeholder="请输入工程订单"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="8" :lg="8" style="height: 51px;">
+            <el-form-item label="发货日期" prop="date">
+              <el-date-picker
+                v-model="deliverForm.date"
+                type="date"
+                value-format="yyyy-MM-dd"
+                style="width: 100%;"
+                placeholder="选择日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="8" :lg="8">
+            <el-form-item label="发货仓库" prop="warehouse">
+              <el-select v-model="deliverForm.warehouse" placeholder="请选择发货仓库">
+                <el-option
+                  v-for="item in warehouseList"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+
+      <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-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="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="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>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="closeDeliverDialog">取 消</el-button>
+        <el-button type="primary" @click="submitDeliverForm">确 定</el-button>
+      </span>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import print from 'vue-print-nb'
+import { getDetail } from "@/api/supply/apply";
+
+export default {
+  name: 'ApplyDetail',
+  componentName: 'ApplyDetail',
+  props: ['listItem'],
+  directives: {
+    print
+  },
+  data() {
+    return {
+      printObj: {
+        id: 'printData'
+      },
+      detailData: {},
+
+      isShowDeliverDialog: false,
+      deliverForm: {
+        orderNum: '',
+        date: '',
+      },
+      warehouseList: [],
+    }
+  },
+
+  computed: {
+    sidebar() {
+      return this.$store.state.app.sidebar
+    },
+    classObj() {
+      return {
+        hideSidebar: !this.sidebar.opened,
+        openSidebar: this.sidebar.opened
+      }
+    },
+  },
+
+  created() {
+    this.getDetail();
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
+    // 获取详情
+    getDetail() {
+      getDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
+
+    // 打开 直调发货
+    openDeliverDialog() {
+      this.isShowDeliverDialog = true;
+    },
+
+    // 关闭 直调发货
+    closeDeliverDialog() {
+      this.isShowDeliverDialog = false;
+    },
+
+    // 提交 直调发货
+    submitDeliverForm() {
+
+    },
+
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+  .main-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-top: 20px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
+    .title {
+      font-size: 16px;
+      font-weight: 600;
+      padding-left: 10px;
+    }
+  }
+</style>

+ 203 - 0
src/views/supply/apply/components/apply_examine.vue

@@ -0,0 +1,203 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" content="审批"></el-page-header>
+
+    <div class="main-title">
+      <div class="title">工程订单</div>
+    </div>
+
+    <div class="diy-table-1">
+      <el-row>
+        <el-col :span="8" class="item">
+          <div class="label">发货申请单号</div>
+          <div class="value">{{detailData.billNo}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">申请日期</div>
+          <div class="value">{{detailData.fdate}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">单据状态</div>
+          <div class="value">{{detailData.srcStockId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">经销商编号</div>
+          <div class="value">{{detailData.destStockId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">经销商名称</div>
+          <div class="value">{{detailData.approveDate}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">仓库</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">工程登录编码</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">制单人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">制单日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">备注</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="12" class="item">
+          <div class="label">审核人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="12" class="item">
+          <div class="label">审核日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">审批说明</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+      </el-row>
+    </div>
+
+    <div class="main-title">
+      <div class="title">货品信息</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-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="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="160" show-overflow-tooltip></el-table-column>
+      </el-table>
+    </div>
+
+    <div class="main-title">
+      <div class="title">审批信息</div>
+    </div>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :span="12" class="item">
+          <div class="label">审批人</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :span="12" class="item">
+          <div class="label">审批结果</div>
+          <div class="value">
+            <el-radio-group v-model="examineForm.status">
+              <el-radio :label="true">通过</el-radio>
+              <el-radio :label="false">驳回</el-radio>
+            </el-radio-group>
+          </div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">审批说明</div>
+          <div class="value"><el-input v-model="examineForm.remark" placeholder="请输入内容"></el-input></div>
+        </el-col>
+      </el-row>
+    </div>
+    
+    <div class="page-footer">
+      <div class="footer" :class="classObj">
+        <el-button type="primary" @click="clickSubmitForm" :loading="formLoading">{{ formLoading ? '提交中 ...' : '提 交' }}</el-button>
+        <el-popconfirm
+          title="确定关闭吗?"
+          @onConfirm="goBack"
+          style="margin-left: 10px;"
+        >
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+  </div>
+</template>
+
+<script>
+import { getDetail } from "@/api/supply/apply";
+
+export default {
+  name: 'ApplyExamine',
+  componentName: 'ApplyExamine',
+  props: ['listItem'],
+  data() {
+    return {
+      printObj: {
+        id: 'printData'
+      },
+      detailData: {},
+
+      formLoading: false,
+      examineForm: {
+        status: true,
+        remark: '',
+      }
+    }
+  },
+
+  computed: {
+    sidebar() {
+      return this.$store.state.app.sidebar
+    },
+    classObj() {
+      return {
+        hideSidebar: !this.sidebar.opened,
+        openSidebar: this.sidebar.opened
+      }
+    },
+  },
+
+  created() {
+    this.getDetail();
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
+    // 获取详情
+    getDetail() {
+      getDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
+
+    clickSubmitForm() {
+
+    },
+
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+  .main-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-top: 20px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
+    .title {
+      font-size: 16px;
+      font-weight: 600;
+      padding-left: 10px;
+    }
+  }
+</style>

+ 1 - 1
src/views/supply/engin/components/engin_detail.vue → src/views/supply/apply/components/engin_detail.vue

@@ -226,7 +226,7 @@
 
 <script>
 import print from 'vue-print-nb'
-import { getDetail } from "@/api/supply/reserve";
+import { getDetail } from "@/api/supply/apply";
 
 export default {
   name: 'EnginDetail',

+ 1 - 1
src/views/supply/engin/components/engin_examine.vue → src/views/supply/apply/components/engin_examine.vue

@@ -167,7 +167,7 @@
 </template>
 
 <script>
-import { getDetail } from "@/api/supply/reserve";
+import { getDetail } from "@/api/supply/apply";
 
 export default {
   name: 'EnginExamine',

+ 1 - 1
src/views/supply/engin/components/engin_return.vue → src/views/supply/apply/components/engin_return.vue

@@ -162,7 +162,7 @@
 </template>
 
 <script>
-import { getDetail } from "@/api/supply/reserve";
+import { getDetail } from "@/api/supply/apply";
 
 export default {
   name: 'EnginReturn',

+ 25 - 20
src/views/supply/engin/apply_list.vue → src/views/supply/apply/engin_list.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <div v-show="!isShowDetail && !isShowForm">
+    <div v-show="!isShowDetail && !isShowReturn && !isShowExamine">
       <!-- 筛选条件 -->
       <div class="screen-container">
         <el-form ref="screenForm" :model="screenForm" label-width="100px" size="small" label-position="left">
@@ -13,7 +13,7 @@
                   <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-radio-button label="3">已退单</el-radio-button>
                 </el-radio-group>
               </el-form-item>
             </el-col>
@@ -73,9 +73,6 @@
 
       <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>
@@ -84,13 +81,13 @@
           <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="shipTime" 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="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>
@@ -102,11 +99,9 @@
             <el-table-column align="center" label="审核状态" prop="aaa" 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>
+                <el-button type="text" @click="toReturn(scope.row)">退货</el-button>
+                <el-button type="text" @click="toExamine(scope.row)">审批</el-button>
                 <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
-                <el-popconfirm v-if="scope.row.status" style="margin-left: 10px;" title="确定删除吗?" @onConfirm="handleDelete(scope.row.id)" >
-                  <el-button slot="reference" type="text">删除</el-button>
-                </el-popconfirm>
               </template>
             </el-table-column>
           </el-table>
@@ -128,20 +123,23 @@
     </div>
     
     <EnginDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
-    <EnginForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />
+    <EnginReturn :listItem="queryItem" v-if="isShowReturn" @backListFormDetail="backList" />
+    <EnginExamine :listItem="queryItem" v-if="isShowExamine" @backListFormDetail="backList" />
 
   </div>
 </template>
 
 <script>
-import { getList } from "@/api/supply/engin";
-import EnginDetail from "@/views/supply/engin/components/engin_detail";
-import EnginForm from "@/views/supply/engin/components/engin_form";
+import { getList } from "@/api/supply/apply";
+import EnginDetail from "@/views/supply/apply/components/engin_detail";
+import EnginReturn from "@/views/supply/apply/components/engin_return";
+import EnginExamine from "@/views/supply/apply/components/engin_examine";
 
 export default {
   components: {
     EnginDetail,
-    EnginForm,
+    EnginReturn,
+    EnginExamine,
   },
   data() {
     return {
@@ -162,7 +160,8 @@ export default {
 
       queryItem: {},
       isShowDetail: false,
-      isShowForm: false,
+      isShowReturn: false,
+      isShowExamine: false,
     }
   },
 
@@ -244,10 +243,16 @@ export default {
       this.getList();
     },
 
-    // 进入表单
+    // 进入退单
+    toForm(item) {
+      this.queryItem = item;
+      this.isShowReturn = true;
+    },
+
+    // 进入审批
     toForm(item) {
       this.queryItem = item;
-      this.isShowForm = true;
+      this.isShowExamine = true;
     },
 
     // 进入详情

+ 1 - 1
src/views/supply/deliver/engin_list.vue

@@ -79,7 +79,7 @@
       <div class="mymain-container">
         <div class="btn-group clearfix">
           <div class="fl">
-            <el-button size="small" type="warning" icon="el-icon-close">退货</el-button>
+            <!-- <el-button size="small" type="warning" icon="el-icon-close">退货</el-button> -->
           </div>
           <div class="fr">
             <ExportButton :exUrl="'admin/user/mch/export'" :exParams="exParams" />

+ 5 - 0
src/views/supply/displace.vue

@@ -0,0 +1,5 @@
+<template>
+  <div>
+    <router-view />
+  </div>
+</template>

+ 206 - 0
src/views/supply/displace/components/displace_detail.vue

@@ -0,0 +1,206 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" content="详情"></el-page-header>
+
+    <div id="printMe">
+      <div class="main-title">
+        <div class="title">订单信息</div>
+      </div>
+      <div class="diy-table-1">
+        <el-row :gutter="0">
+          <el-col :span="8" class="item">
+            <div class="label">订单号</div>
+            <div class="value">{{detailData.retreatOrderNo}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">订单日期</div>
+            <div class="value">{{detailData.retreatTime}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">单据状态</div>
+            <div class="value">{{detailData.aaa}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">原订单号</div>
+            <div class="value">{{detailData.salesType}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">订单类型</div>
+            <div class="value">{{detailData.orderNo}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">业务员</div>
+            <div class="value">{{detailData.billNumber}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">经销商编号</div>
+            <div class="value">{{detailData.clientName}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">经销商名称</div>
+            <div class="value">{{detailData.salesDep}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label"></div>
+            <div class="value"></div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24" class="item">
+            <div class="label">备注</div>
+            <div class="value">{{detailData.remark}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">申请人</div>
+            <div class="value">{{detailData.salesDep}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">审核人</div>
+            <div class="value">{{detailData.salesDep}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">关闭人</div>
+            <div class="value">{{detailData.salesDep}}</div>
+          </el-col>
+        </el-row>
+      </div>
+
+      <div class="main-title">
+        <div class="title">货品信息</div>
+      </div>
+      <div class="table">
+        <el-table :data="detailData.retreatDocumentOrder" element-loading-text="Loading" border fit highlight-current-row stripe>
+          <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
+          <el-table-column align="center" label="订单号" prop="orderNumber" 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="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="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="includedPrice" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="含税金额" prop="includedPrice" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ scope.row.number * scope.row.includedPrice }}
+            </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="price" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ scope.row.number * scope.row.price }}
+            </template>
+          </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="rate" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="退补标记" prop="refund" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="厂产品代码" prop="factoryNumber" min-width="100" show-overflow-tooltip></el-table-column>
+        </el-table>
+      </div>
+    </div>
+
+    <div class="main-title">
+        <div class="title">审批记录</div>
+      </div>
+      <div class="diy-table-1">
+        <el-row :gutter="0">
+          <el-col :span="8" class="item">
+            <div class="label">审批人</div>
+            <div class="value">{{detailData.salesDep}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">审批结果</div>
+            <div class="value">{{detailData.salesDep}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">审批时间</div>
+            <div class="value">{{detailData.salesDep}}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24" class="item">
+            <div class="label">审批说明</div>
+            <div class="value">{{detailData.remark}}</div>
+          </el-col>
+        </el-row>
+      </div>
+    
+    <div class="page-footer">
+      <div class="footer" :class="classObj">
+        <el-button  type="primary" icon="el-icon-printer" v-print="printObj">打 印</el-button>
+        <el-popconfirm title="确定关闭吗?" @onConfirm="goBack" style="margin-left: 10px;">
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+  </div>
+</template>
+
+<script>
+import print from 'vue-print-nb'
+import { getDetail } from "@/api/supply/displace";
+
+export default {
+  name: 'DisplaceDetail',
+  componentName: 'DisplaceDetail',
+  props: ['listItem'],
+  directives: {
+    print
+  },
+  data() {
+    return {
+      printObj: {
+        id: 'printMe'
+      },
+      detailData: {},
+    }
+  },
+
+  computed: {
+    sidebar() {
+      return this.$store.state.app.sidebar
+    },
+    classObj() {
+      return {
+        hideSidebar: !this.sidebar.opened,
+        openSidebar: this.sidebar.opened
+      }
+    },
+  },
+
+  created() {
+    this.getDetail();
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
+    // 获取详情
+    getDetail() {
+      getDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+  .main-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-top: 30px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
+    .title {
+      font-size: 16px;
+      font-weight: 600;
+      padding-left: 10px;
+    }
+  }
+</style>

+ 185 - 0
src/views/supply/displace/components/displace_form.vue

@@ -0,0 +1,185 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" :content="listItem ? '编辑':'新增'"></el-page-header>
+
+    <div class="main-title">
+      <div class="title">置换订单信息</div>
+    </div>
+
+    <el-form ref="mainForm" :model="mainForm" label-width="100px" size="small" label-position="left">
+      <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>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="8" style="height: 51px;">
+          <el-form-item label="单据日期" prop="date">
+            <el-date-picker
+              v-model="mainForm.date"
+              type="date"
+              value-format="yyyy-MM-dd"
+              style="width: 100%;"
+              placeholder="选择日期">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="8">
+          <el-form-item label="品类" prop="warehouse">
+            <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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <div class="main-title">
+      <div class="title">货品信息</div>
+      <div>
+        <el-button type="primary" size="small">检查库存</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-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="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="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="qty" min-width="100" show-overflow-tooltip></el-table-column>
+      </el-table>
+    </div>
+    
+    <div class="page-footer">
+      <div class="footer" :class="classObj">
+        <el-button type="primary" @click="clickSubmitForm">保 存</el-button>
+        <el-button type="primary" @click="clickSubmitForm">提交审核</el-button>
+        <el-popconfirm title="确定关闭吗?" @onConfirm="goBack" style="margin-left: 10px;">
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+  </div>
+</template>
+
+<script>
+import { getDetail } from "@/api/supply/displace";
+
+export default {
+  name: 'DisplaceForm',
+  componentName: 'DisplaceForm',
+  props: ['listItem'],
+  data() {
+    return {
+      detailData: {},
+      mainForm: {
+
+      },
+    }
+  },
+
+  computed: {
+    sidebar() {
+      return this.$store.state.app.sidebar
+    },
+    classObj() {
+      return {
+        hideSidebar: !this.sidebar.opened,
+        openSidebar: this.sidebar.opened
+      }
+    },
+  },
+
+  created() {
+    this.getDetail();
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
+    // 获取详情
+    getDetail() {
+      getDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
+
+    clickSubmitForm() {
+
+    },
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+  .main-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-top: 20px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
+    .title {
+      font-size: 16px;
+      font-weight: 600;
+      padding-left: 10px;
+    }
+  }
+</style>

+ 263 - 0
src/views/supply/displace/displace_list.vue

@@ -0,0 +1,263 @@
+<template>
+  <div class="app-container">
+    <div v-show="!isShowDetail && !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="jxsNum">
+                <el-input v-model="screenForm.jxsNum" placeholder="请输入原销售订单号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商名称" prop="jxsName">
+                <el-input v-model="screenForm.jxsName" placeholder="请输入经销商名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="产品名称" prop="chName">
+                <el-input v-model="screenForm.chName" placeholder="请输入产品名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="订单日期" prop="date">
+                <el-date-picker
+                  v-model="screenForm.date"
+                  type="datetimerange"
+                  range-separator="至"
+                  style="width: 100%;"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="申请人" prop="sqMan">
+                <el-input v-model="screenForm.sqMan" placeholder="请输入申请人"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="审核人" prop="shMan">
+                <el-input v-model="screenForm.shMan" placeholder="请输入审核人"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="销售订单类型" prop="shMan">
+                <el-input v-model="screenForm.shMan" placeholder="请输入销售订单类型"></el-input>
+              </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="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="订单号" prop="retreatOrderNo" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="订单日期" prop="retreatTime" 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="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="specification" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="产品编码" prop="totalPrice" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="产品名称" prop="price" 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="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="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="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>
+                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
+                <el-popconfirm v-if="scope.row.status" style="margin-left: 10px;" title="确定删除吗?" @onConfirm="handleDelete(scope.row.id)" >
+                  <el-button slot="reference" type="text">删除</el-button>
+                </el-popconfirm>
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+      </div>
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            :page-sizes="[10, 20, 30, 50]"
+            :page-size="10"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="listTotal">
+          </el-pagination>
+        </div>
+      </div>
+    </div>
+    
+    <DisplaceDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
+    <DisplaceForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />
+
+  </div>
+</template>
+
+<script>
+import { getList } from "@/api/supply/displace";
+import DisplaceDetail from "@/views/supply/displace/components/displace_detail";
+import DisplaceForm from "@/views/supply/displace/components/displace_form";
+
+export default {
+  components: {
+    DisplaceDetail,
+    DisplaceForm,
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: { // 筛选表单数据
+        orderNum: '',
+        jxsNum: '',
+        jxsName: '',
+        chName: '',
+        model: '',
+        date: '',
+      },
+
+      queryItem: {},
+      isShowDetail: false,
+      isShowForm: false,
+    }
+  },
+
+  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: 1, // 1:退货单,2:电商退货单
+      }
+    },
+  },
+
+  created() {
+    this.getList();
+  },
+
+  methods: {
+    // 查询按钮权限
+    checkBtnRole(value) {
+      // let btnRole = this.$route.meta.roles;
+      // if(!btnRole) {return true}
+      // let index = btnRole.indexOf(value);
+      // return index >= 0;
+      return true
+    },
+
+    // 查询列表
+    getList() {
+      this.listLoading = true;
+
+      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: 1, // 1:退货单,2:电商退货单
+      };
+      getList(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+      })
+    },
+
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+
+    // 进入表单
+    toForm(item) {
+      this.queryItem = item;
+      this.isShowForm = true;
+    },
+
+    // 进入详情
+    toDetail(item) {
+      this.queryItem = item;
+      this.isShowDetail = true;
+    },
+
+    backList() {
+      this.queryItem = {};
+      this.isShowDetail = false;
+      this.isShowForm = false;
+    },
+
+    handleDelete(id) {
+
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 288 - 0
src/views/supply/engin/commerce_list.vue

@@ -0,0 +1,288 @@
+<template>
+  <div class="app-container">
+    <div v-show="!isShowDetail && !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="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-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="工程订单号" prop="orderNum">
+                <el-input v-model="screenForm.orderNum" placeholder="请输入工程订单号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="工程编码" prop="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="jxsName">
+                <el-input v-model="screenForm.jxsName" placeholder="请输入工程登录单号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="工程名称" prop="jxsNum">
+                <el-input v-model="screenForm.jxsNum" placeholder="请输入工程名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="单据日期" prop="date">
+                <el-date-picker
+                  v-model="screenForm.date"
+                  type="datetimerange"
+                  range-separator="至"
+                  style="width: 100%;"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="销售类型" prop="chName">
+                <el-input v-model="screenForm.chName" placeholder="请输入销售类型"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="使用单位" prop="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>
+            </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="18" 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="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="工程订单号" 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="操作" width="160" fixed="right">
+              <template slot-scope="scope">
+                <el-button type="text" @click="toForm(scope.row)">编辑</el-button>
+                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
+                <el-popconfirm v-if="scope.row.status" style="margin-left: 10px;" title="确定删除吗?" @onConfirm="handleDelete(scope.row.id)" >
+                  <el-button slot="reference" type="text">删除</el-button>
+                </el-popconfirm>
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+      </div>
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            :page-sizes="[10, 20, 30, 50]"
+            :page-size="10"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="listTotal">
+          </el-pagination>
+        </div>
+      </div>
+    </div>
+    
+    <CommerceDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
+    <CommerceForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />
+
+  </div>
+</template>
+
+<script>
+import { getList } from "@/api/supply/engin";
+import CommerceDetail from "@/views/supply/engin/components/commerce_detail";
+import CommerceForm from "@/views/supply/engin/components/commerce_form";
+
+export default {
+  components: {
+    CommerceDetail,
+    CommerceForm,
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: { // 筛选表单数据
+        orderNum: '',
+        jxsName: '',
+        chName: '',
+        model: '',
+        date: '',
+        jxsNum: '',
+        status: '',
+      },
+
+      queryItem: {},
+      isShowDetail: false,
+      isShowForm: false,
+    }
+  },
+
+  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:工程发货单
+      }
+    },
+  },
+
+  created() {
+    this.getList();
+  },
+
+  methods: {
+    // 查询按钮权限
+    checkBtnRole(value) {
+      // let btnRole = this.$route.meta.roles;
+      // if(!btnRole) {return true}
+      // let index = btnRole.indexOf(value);
+      // return index >= 0;
+      return true
+    },
+
+    // 查询列表
+    getList() {
+      this.listLoading = true;
+
+      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:工程发货单
+      };
+      getList(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+      })
+    },
+
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+
+    // 进入表单
+    toForm(item) {
+      this.queryItem = item;
+      this.isShowForm = true;
+    },
+
+    // 进入详情
+    toDetail(item) {
+      this.queryItem = item;
+      this.isShowDetail = true;
+    },
+
+    backList() {
+      this.queryItem = {};
+      this.isShowDetail = false;
+      this.isShowForm = false;
+    },
+
+    handleDelete(id) {
+
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 2 - 2
src/views/supply/engin/components/apply_detail.vue → src/views/supply/engin/components/commerce_detail.vue

@@ -185,8 +185,8 @@ import print from 'vue-print-nb'
 import { getDetail } from "@/api/supply/reserve";
 
 export default {
-  name: 'EnginDetail',
-  componentName: 'EnginDetail',
+  name: 'CommerceDetail',
+  componentName: 'CommerceDetail',
   props: ['listItem'],
   directives: {
     print

+ 2 - 2
src/views/supply/engin/components/apply_examine.vue → src/views/supply/engin/components/commerce_examine.vue

@@ -126,8 +126,8 @@
 import { getDetail } from "@/api/supply/reserve";
 
 export default {
-  name: 'EnginExamine',
-  componentName: 'EnginExamine',
+  name: 'CommerceExamine',
+  componentName: 'CommerceExamine',
   props: ['listItem'],
   data() {
     return {

+ 2 - 2
src/views/supply/engin/components/apply_form.vue → src/views/supply/engin/components/commerce_form.vue

@@ -88,8 +88,8 @@
 import { getDetail } from "@/api/supply/reserve";
 
 export default {
-  name: 'EnginForm',
-  componentName: 'EnginForm',
+  name: 'CommerceForm',
+  componentName: 'CommerceForm',
   props: ['listItem'],
   data() {
     return {

+ 2 - 2
src/views/supply/engin/components/apply_return.vue → src/views/supply/engin/components/commerce_return.vue

@@ -121,8 +121,8 @@
 import { getDetail } from "@/api/supply/reserve";
 
 export default {
-  name: 'EnginReturn',
-  componentName: 'EnginReturn',
+  name: 'CommerceReturn',
+  componentName: 'CommerceReturn',
   props: ['listItem'],
   data() {
     return {

+ 321 - 0
src/views/supply/engin/components/home_detail.vue

@@ -0,0 +1,321 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" content="详情"></el-page-header>
+
+    <div id="printData">
+      <div class="main-title">
+        <div class="title">工程订单</div>
+      </div>
+
+      <div class="diy-table-1">
+        <el-row>
+          <el-col :span="8" class="item">
+            <div class="label">订单号</div>
+            <div class="value">{{detailData.billNo}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">订单日期</div>
+            <div class="value">{{detailData.fdate}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">单据状态</div>
+            <div class="value">{{detailData.srcStockId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">工程登录单号</div>
+            <div class="value">{{detailData.destStockId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">项目名称</div>
+            <div class="value">{{detailData.approveDate}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">单据类型</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">经销商编码</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">使用单位</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">安装地址</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">工程编号</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">厂工厂编码</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">工程登录类型</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">文件编号</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">制单人</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">制单日期</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="24" class="item">
+            <div class="label">格力回复</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="24" class="item">
+            <div class="label">格力内部备注</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="6" class="item">
+            <div class="label">审核人</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="6" class="item">
+            <div class="label">审核日期</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="6" class="item">
+            <div class="label">关闭人</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="6" class="item">
+            <div class="label">关闭日期</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="24" class="item">
+            <div class="label">备注</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+        </el-row>
+      </div>
+
+      <div class="main-title">
+        <div class="title">货品信息</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-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="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="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>
+      </div>
+
+      <div class="main-title">
+        <div class="title">审批记录</div>
+      </div>
+      <div class="diy-table-1">
+        <el-row :gutter="0">
+          <el-col :span="12" class="item">
+            <div class="label">审批人</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+          <el-col :span="12" class="item">
+            <div class="label">审批结果</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+          <el-col :span="24" class="item">
+            <div class="label">审批说明</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+        </el-row>
+      </div>
+      
+    </div>
+    
+    <div class="page-footer">
+      <div class="footer" :class="classObj">
+        <el-button  type="primary" @click="openDeliverDialog">直调发货</el-button>
+        <el-popconfirm title="确定关闭吗?" @onConfirm="goBack" style="margin-left: 10px;">
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+    <el-dialog
+      title="直调发货"
+      :visible.sync="isShowDeliverDialog"
+      width="80%">
+      <el-form ref="deliverForm" :model="deliverForm" label-width="70px" size="small" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="8" :lg="8">
+            <el-form-item label="工程订单" prop="orderNum">
+              <el-input v-model="deliverForm.orderNum" placeholder="请输入工程订单"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="8" :lg="8" style="height: 51px;">
+            <el-form-item label="发货日期" prop="date">
+              <el-date-picker
+                v-model="deliverForm.date"
+                type="date"
+                value-format="yyyy-MM-dd"
+                style="width: 100%;"
+                placeholder="选择日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="8" :lg="8">
+            <el-form-item label="发货仓库" prop="warehouse">
+              <el-select v-model="deliverForm.warehouse" placeholder="请选择发货仓库">
+                <el-option
+                  v-for="item in warehouseList"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+
+      <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-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="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="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>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="closeDeliverDialog">取 消</el-button>
+        <el-button type="primary" @click="submitDeliverForm">确 定</el-button>
+      </span>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import print from 'vue-print-nb'
+import { getDetail } from "@/api/supply/engin";
+
+export default {
+  name: 'HomeDetail',
+  componentName: 'HomeDetail',
+  props: ['listItem'],
+  directives: {
+    print
+  },
+  data() {
+    return {
+      printObj: {
+        id: 'printData'
+      },
+      detailData: {},
+
+      isShowDeliverDialog: false,
+      deliverForm: {
+        orderNum: '',
+        date: '',
+      },
+      warehouseList: [],
+    }
+  },
+
+  computed: {
+    sidebar() {
+      return this.$store.state.app.sidebar
+    },
+    classObj() {
+      return {
+        hideSidebar: !this.sidebar.opened,
+        openSidebar: this.sidebar.opened
+      }
+    },
+  },
+
+  created() {
+    this.getDetail();
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
+    // 获取详情
+    getDetail() {
+      getDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
+
+    // 打开 直调发货
+    openDeliverDialog() {
+      this.isShowDeliverDialog = true;
+    },
+
+    // 关闭 直调发货
+    closeDeliverDialog() {
+      this.isShowDeliverDialog = false;
+    },
+
+    // 提交 直调发货
+    submitDeliverForm() {
+
+    },
+
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+  .main-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-top: 20px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
+    .title {
+      font-size: 16px;
+      font-weight: 600;
+      padding-left: 10px;
+    }
+  }
+</style>

+ 247 - 0
src/views/supply/engin/components/home_examine.vue

@@ -0,0 +1,247 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" content="审批"></el-page-header>
+
+    <div class="main-title">
+      <div class="title">工程订单</div>
+    </div>
+
+    <div class="diy-table-1">
+      <el-row>
+        <el-col :span="8" class="item">
+          <div class="label">订单号</div>
+          <div class="value">{{detailData.billNo}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">订单日期</div>
+          <div class="value">{{detailData.fdate}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">单据状态</div>
+          <div class="value">{{detailData.srcStockId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">工程登录单号</div>
+          <div class="value">{{detailData.destStockId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">项目名称</div>
+          <div class="value">{{detailData.approveDate}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">单据类型</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">经销商编码</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">使用单位</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">安装地址</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">工程编号</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">厂工厂编码</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">工程登录类型</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">文件编号</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">制单人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">制单日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">格力回复</div>
+          <div class="value"><el-input v-model="detailData.remark" placeholder="请输入内容"></el-input></div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">格力内部备注</div>
+          <div class="value"><el-input v-model="detailData.remark" placeholder="请输入内容"></el-input></div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">审核人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">审核日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">关闭人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">关闭日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">备注</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+      </el-row>
+    </div>
+
+    <div class="main-title">
+      <div class="title">货品信息</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-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="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="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>
+    </div>
+
+    <div class="main-title">
+      <div class="title">审批信息</div>
+    </div>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :span="12" class="item">
+          <div class="label">审批人</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :span="12" class="item">
+          <div class="label">审批结果</div>
+          <div class="value">
+            <el-radio-group v-model="examineForm.status">
+              <el-radio :label="true">通过</el-radio>
+              <el-radio :label="false">驳回</el-radio>
+            </el-radio-group>
+          </div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">审批说明</div>
+          <div class="value"><el-input v-model="examineForm.remark" placeholder="请输入内容"></el-input></div>
+        </el-col>
+      </el-row>
+    </div>
+    
+    <div class="page-footer">
+      <div class="footer" :class="classObj">
+        <el-button type="primary" @click="clickSubmitForm" :loading="formLoading">{{ formLoading ? '提交中 ...' : '提 交' }}</el-button>
+        <el-popconfirm
+          title="确定关闭吗?"
+          @onConfirm="goBack"
+          style="margin-left: 10px;"
+        >
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+  </div>
+</template>
+
+<script>
+import { getDetail } from "@/api/supply/engin";
+
+export default {
+  name: 'HomeExamine',
+  componentName: 'HomeExamine',
+  props: ['listItem'],
+  data() {
+    return {
+      printObj: {
+        id: 'printData'
+      },
+      detailData: {},
+
+      formLoading: false,
+      examineForm: {
+        status: true,
+        remark: '',
+      }
+    }
+  },
+
+  computed: {
+    sidebar() {
+      return this.$store.state.app.sidebar
+    },
+    classObj() {
+      return {
+        hideSidebar: !this.sidebar.opened,
+        openSidebar: this.sidebar.opened
+      }
+    },
+  },
+
+  created() {
+    this.getDetail();
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
+    // 获取详情
+    getDetail() {
+      getDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
+
+    clickSubmitForm() {
+
+    },
+
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+  .main-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-top: 20px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
+    .title {
+      font-size: 16px;
+      font-weight: 600;
+      padding-left: 10px;
+    }
+  }
+</style>

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

@@ -154,11 +154,11 @@
 </template>
 
 <script>
-import { getDetail } from "@/api/supply/reserve";
+import { getDetail } from "@/api/supply/engin";
 
 export default {
-  name: 'EnginForm',
-  componentName: 'EnginForm',
+  name: 'HomeForm',
+  componentName: 'HomeForm',
   props: ['listItem'],
   data() {
     return {

+ 242 - 0
src/views/supply/engin/components/home_return.vue

@@ -0,0 +1,242 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" content="审批"></el-page-header>
+
+    <div class="main-title">
+      <div class="title">工程订单</div>
+    </div>
+
+    <div class="diy-table-1">
+      <el-row>
+        <el-col :span="8" class="item">
+          <div class="label">订单号</div>
+          <div class="value">{{detailData.billNo}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">订单日期</div>
+          <div class="value">{{detailData.fdate}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">单据状态</div>
+          <div class="value">{{detailData.srcStockId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">工程登录单号</div>
+          <div class="value">{{detailData.destStockId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">项目名称</div>
+          <div class="value">{{detailData.approveDate}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">单据类型</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">经销商编码</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">使用单位</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">安装地址</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">工程编号</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">厂工厂编码</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">工程登录类型</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">文件编号</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">制单人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">制单日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">格力回复</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">格力内部备注</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">审核人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">审核日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">关闭人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">关闭日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">备注</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+      </el-row>
+    </div>
+
+    <div class="main-title">
+      <div class="title">货品信息</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-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="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="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>
+    </div>
+
+    <div class="main-title">
+      <div class="title">退订信息</div>
+    </div>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :span="12" class="item">
+          <div class="label">操作人</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :span="12" class="item">
+          <div class="label">退订日期</div>
+          <div class="value">123</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">退订说明</div>
+          <div class="value"><el-input v-model="examineForm.remark" placeholder="请输入内容"></el-input></div>
+        </el-col>
+      </el-row>
+    </div>
+    
+    <div class="page-footer">
+      <div class="footer" :class="classObj">
+        <el-button type="primary" @click="clickSubmitForm" :loading="formLoading">{{ formLoading ? '提交中 ...' : '提 交' }}</el-button>
+        <el-popconfirm
+          title="确定关闭吗?"
+          @onConfirm="goBack"
+          style="margin-left: 10px;"
+        >
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+  </div>
+</template>
+
+<script>
+import { getDetail } from "@/api/supply/engin";
+
+export default {
+  name: 'HomeReturn',
+  componentName: 'HomeReturn',
+  props: ['listItem'],
+  data() {
+    return {
+      printObj: {
+        id: 'printData'
+      },
+      detailData: {},
+
+      formLoading: false,
+      examineForm: {
+        status: true,
+        remark: '',
+      }
+    }
+  },
+
+  computed: {
+    sidebar() {
+      return this.$store.state.app.sidebar
+    },
+    classObj() {
+      return {
+        hideSidebar: !this.sidebar.opened,
+        openSidebar: this.sidebar.opened
+      }
+    },
+  },
+
+  created() {
+    this.getDetail();
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
+    // 获取详情
+    getDetail() {
+      getDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
+
+    clickSubmitForm() {
+
+    },
+
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+  .main-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-top: 20px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
+    .title {
+      font-size: 16px;
+      font-weight: 600;
+      padding-left: 10px;
+    }
+  }
+</style>

+ 6 - 6
src/views/supply/engin/engin_list.vue → src/views/supply/engin/home_list.vue

@@ -141,21 +141,21 @@
       </div>
     </div>
     
-    <EnginDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
-    <EnginForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />
+    <HomeDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
+    <HomeForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />
 
   </div>
 </template>
 
 <script>
 import { getList } from "@/api/supply/engin";
-import EnginDetail from "@/views/supply/engin/components/engin_detail";
-import EnginForm from "@/views/supply/engin/components/engin_form";
+import HomeDetail from "@/views/supply/engin/components/home_detail";
+import HomeForm from "@/views/supply/engin/components/home_form";
 
 export default {
   components: {
-    EnginDetail,
-    EnginForm,
+    HomeDetail,
+    HomeForm,
   },
   data() {
     return {

+ 5 - 0
src/views/supply/implement.vue

@@ -0,0 +1,5 @@
+<template>
+  <div>
+    <router-view />
+  </div>
+</template>

+ 202 - 0
src/views/supply/implement/implement_list.vue

@@ -0,0 +1,202 @@
+<template>
+  <div class="app-container">
+    <div>
+      <!-- 筛选条件 -->
+      <div class="screen-container">
+        <el-form ref="screenForm" :model="screenForm" label-width="90px" 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="wlName">
+                <el-input v-model="screenForm.wlName" placeholder="请输入销售订单"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商" prop="orderNum">
+                <el-input v-model="screenForm.orderNum" placeholder="请输入经销商"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="存货名称" prop="wlName">
+                <el-input v-model="screenForm.wlName" placeholder="请输入存货名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="下单日期" prop="date">
+                <el-date-picker
+                  v-model="screenForm.date"
+                  type="datetimerange"
+                  range-separator="至"
+                  style="width: 100%;"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="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="wlName">
+                <el-input v-model="screenForm.wlName" 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>
+
+      <div class="mymain-container">
+        <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="序号" type="index" width="50"></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="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="aaa" min-width="120" 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="aaa" min-width="240" 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="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="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="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="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="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="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>
+        </div>
+      </div>
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            :page-sizes="[10, 20, 30, 50]"
+            :page-size="10"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="listTotal">
+          </el-pagination>
+        </div>
+      </div>
+    </div>
+    
+  </div>
+</template>
+
+<script>
+import { getList } from "@/api/supply/implement";
+
+export default {
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: { // 筛选表单数据
+        orderNum: '',
+        wlName: '',
+        date: '',
+      },
+    }
+  },
+
+  computed: {
+    exParams() {
+      return {
+        billNo: this.screenForm.orderNum,
+        materialName: this.screenForm.wlName,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+      }
+    },
+  },
+
+  created() {
+    this.getList();
+  },
+
+  methods: {
+    // 查询按钮权限
+    checkBtnRole(value) {
+      // let btnRole = this.$route.meta.roles;
+      // if(!btnRole) {return true}
+      // let index = btnRole.indexOf(value);
+      // return index >= 0;
+      return true
+    },
+
+    // 查询列表
+    getList() {
+      this.listLoading = true;
+
+      let params = {
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+        billNo: this.screenForm.orderNum,
+        materialName: this.screenForm.wlName,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+      };
+      getList(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+      })
+    },
+
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 53 - 60
src/views/supply/purchase/components/enter_detail.vue

@@ -4,83 +4,63 @@
 
     <div id="printData">
       <div class="main-title">
-        <div class="title">入库单</div>
+        <div class="title">采购入库单</div>
       </div>
 
-      <div class="diy-form-1">
-        <el-row :gutter="20">
+      <div class="diy-table-1">
+        <el-row>
           <el-col :span="8" class="item">
-            <div class="label">入库单号</div>
-            <div class="value">212212121212121</div>
+            <div class="label">入库单号</div>
+            <div class="value">{{detailData.billNo}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">入库日期</div>
-            <div class="value">2022-12-22</div>
+            <div class="label">入库日期</div>
+            <div class="value">{{detailData.fdate | dateToDayFilter}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">仓库</div>
-            <div class="value">212212121212121</div>
+            <div class="label">仓库</div>
+            <div class="value">{{detailData.stockId}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">供货单位</div>
-            <div class="value">212212121212121</div>
+            <div class="label">供货单位</div>
+            <div class="value">{{detailData.supplyName}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">审核日期</div>
-            <div class="value">2022-12-22</div>
+            <div class="label">审核日期</div>
+            <div class="value">{{detailData.approveDate}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">备注</div>
-            <div class="value">212212121212121</div>
+            <div class="label">备注</div>
+            <div class="value">{{detailData.abcdRemarks}}</div>
           </el-col>
         </el-row>
       </div>
 
-      <div class="diy-table-2">
-        <div class="head">
-          <el-row :gutter="20">
-            <el-col :span="2">序号</el-col>
-            <el-col :span="4">产品编号</el-col>
-            <el-col :span="8">产品名称</el-col>
-            <el-col :span="2">规格型号</el-col>
-            <el-col :span="2">内机编码</el-col>
-            <el-col :span="2">外机编码</el-col>
-            <el-col :span="2">单位</el-col>
-            <el-col :span="2">数量</el-col>
-          </el-row>
-        </div>
-        <div class="body">
-          <el-row v-for="(item, index) in goodsList" :key="item.goodsId" :gutter="20">
-            <el-col :span="2">{{ index + 1 }}</el-col>
-            <el-col :span="4">{{ item.goodsId || 0 }}</el-col>
-            <el-col :span="8">{{ item.goodsName || 0 }}</el-col>
-            <el-col :span="2">{{ item.salesUnit || 0 }}</el-col>
-            <el-col :span="2">{{ item.price || 0 }}</el-col>
-            <el-col :span="2">{{ item.saleQty || 0 }}</el-col>
-            <el-col :span="2">{{ item.saleValue || 0 }}</el-col>
-            <el-col :span="2">{{ item.saleValue || 0 }}</el-col>
-          </el-row>
-        </div>
-        <div class="foot">
-          <el-row :gutter="20">
-            <el-col :span="24">合计</el-col>
-          </el-row>
-        </div>
+      <div class="table" style="margin-top: 20px; margin-bottom: 20px">
+        <el-table :data="detailData.kingDeePurchaseStockInItems" 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="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="存货名称" prop="materialName" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="规格型号" prop="model" min-width="120" 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="qty" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="原币含税单价" prop="taxPrice" min-width="120" show-overflow-tooltip></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="entryTaxAmount" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="原币价税合计" prop="billAllAmount" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="税率" prop="entryTaxRate" min-width="100" show-overflow-tooltip></el-table-column>
+        </el-table>
       </div>
 
-      <div class="diy-form-1">
-        <el-row :gutter="20">
+      <div class="diy-table-1">
+        <el-row>
           <el-col :span="8" class="item">
-            <div class="label">制单人</div>
-            <div class="value">张三</div>
+            <div class="label">制单人</div>
+            <div class="value">{{detailData.createBy}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">审核人:</div>
-            <div class="value">李四</div>
-          </el-col>
-          <el-col :span="8" class="item">
-            <div class="label">现存量:</div>
-            <div class="value">200</div>
+            <div class="label">审核人</div>
+            <div class="value">{{detailData.approverName}}</div>
           </el-col>
         </el-row>
       </div>
@@ -101,7 +81,7 @@
 
 <script>
 import print from 'vue-print-nb'
-import { getList } from "@/api/supply/purchase";
+import { getEnterDetail } from "@/api/supply/purchase";
 
 export default {
   name: 'EnterDetail',
@@ -110,14 +90,20 @@ export default {
   directives: {
     print
   },
+  filters: {
+    businessTypeFilter(val) {
+      const MAP = {
+        CG: '标准采购'
+      }
+      return MAP[val]
+    }
+  },
   data() {
     return {
       printObj: {
         id: 'printData'
       },
-      goodsList: [{
-        goodsId: 1,
-      }]
+      detailData: {},
     }
   },
 
@@ -134,7 +120,7 @@ export default {
   },
 
   created() {
-
+    this.getDetail();
   },
 
   methods: {
@@ -142,6 +128,13 @@ export default {
     goBack() {
       this.$emit('backListFormDetail');
     },
+
+    // 获取详情
+    getDetail() {
+      getEnterDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
   }
 }
 </script>

+ 66 - 81
src/views/supply/purchase/components/purchase_detail.vue

@@ -4,115 +4,87 @@
 
     <div id="printData">
       <div class="main-title">
-        <div class="title">入库单</div>
+        <div class="title">采购订单</div>
       </div>
 
-      <div class="diy-form-1">
-        <el-row :gutter="20">
+      <div class="diy-table-1">
+        <el-row>
           <el-col :span="8" class="item">
-            <div class="label">业务类型</div>
-            <div class="value">212212121212121</div>
+            <div class="label">业务类型</div>
+            <div class="value">{{detailData.businessType}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">订单日期:</div>
-            <div class="value">2022-12-22</div>
+            <div class="label">采购日期</div>
+            <div class="value">{{detailData.fdate | dateToDayFilter}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">订单编号</div>
-            <div class="value">212212121212121</div>
+            <div class="label">订单编号</div>
+            <div class="value">{{detailData.billNo}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">采购类型</div>
-            <div class="value">212212121212121</div>
+            <div class="label">采购类型</div>
+            <div class="value">{{detailData.businessType | businessTypeFilter}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">供应商</div>
-            <div class="value">2022-12-22</div>
+            <div class="label">供应商</div>
+            <div class="value">{{detailData.assignSupplierId}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">部门</div>
-            <div class="value">212212121212121</div>
+            <div class="label">部门</div>
+            <div class="value">{{detailData.purchaseDeptId}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">业务员</div>
-            <div class="value">212212121212121</div>
+            <div class="label">业务员</div>
+            <div class="value">{{detailData.purchaserId}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">税率</div>
-            <div class="value">212212121212121</div>
+            <div class="label">税率</div>
+            <div class="value">{{detailData.billTaxAmount}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">付款条件</div>
-            <div class="value">212212121212121</div>
+            <div class="label">付款条件</div>
+            <div class="value">{{detailData.payConditionId}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">币种</div>
-            <div class="value">212212121212121</div>
+            <div class="label">币种</div>
+            <div class="value">{{detailData.settleCurr}}</div>
           </el-col>
-          <el-col :span="8" class="item">
-            <div class="label">任务日期:</div>
-            <div class="value">212212121212121</div>
-          </el-col>
-          <el-col :span="8" class="item">
-            <div class="label">备注:</div>
-            <div class="value">212212121212121</div>
-          </el-col>
-          <el-col :span="8" class="item">
-            <div class="label">登录编号:</div>
-            <div class="value">212212121212121</div>
+          <el-col :span="16" class="item">
+            <div class="label">备注</div>
+            <div class="value">{{detailData.abcdRemarks}}</div>
           </el-col>
         </el-row>
       </div>
 
-      <div class="diy-table-2">
-        <div class="head">
-          <el-row :gutter="20">
-            <el-col :span="2">序号</el-col>
-            <el-col :span="4">产品编号</el-col>
-            <el-col :span="8">产品名称</el-col>
-            <el-col :span="2">规格型号</el-col>
-            <el-col :span="2">内机编码</el-col>
-            <el-col :span="2">外机编码</el-col>
-            <el-col :span="2">单位</el-col>
-            <el-col :span="2">数量</el-col>
-          </el-row>
-        </div>
-        <div class="body">
-          <el-row v-for="(item, index) in goodsList" :key="item.goodsId" :gutter="20">
-            <el-col :span="2">{{ index + 1 }}</el-col>
-            <el-col :span="4">{{ item.goodsId || 0 }}</el-col>
-            <el-col :span="8">{{ item.goodsName || 0 }}</el-col>
-            <el-col :span="2">{{ item.salesUnit || 0 }}</el-col>
-            <el-col :span="2">{{ item.price || 0 }}</el-col>
-            <el-col :span="2">{{ item.saleQty || 0 }}</el-col>
-            <el-col :span="2">{{ item.saleValue || 0 }}</el-col>
-            <el-col :span="2">{{ item.saleValue || 0 }}</el-col>
-          </el-row>
-        </div>
-        <div class="foot">
-          <el-row :gutter="20">
-            <el-col :span="24">合计</el-col>
-          </el-row>
-        </div>
+      <div class="table" style="margin-top: 20px; margin-bottom: 20px">
+        <el-table :data="detailData.kingDeePurchaseOrderItems" 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="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="存货名称" prop="materialName" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="规格型号" prop="model" min-width="120" 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="qty" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="原币含税单价" prop="taxPrice" min-width="120" show-overflow-tooltip></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="entryTaxAmount" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="原币价税合计" prop="billAllAmount" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="采购单价" prop="price" min-width="100" show-overflow-tooltip></el-table-column>
+        </el-table>
       </div>
 
-      <div class="diy-form-1">
-        <el-row :gutter="20">
-          <el-col :span="8" class="item">
-            <div class="label">制单人:</div>
-            <div class="value">张三</div>
-          </el-col>
+      <div class="diy-table-1">
+        <el-row>
           <el-col :span="8" class="item">
-            <div class="label">审核人:</div>
-            <div class="value">李四</div>
+            <div class="label">制单人</div>
+            <div class="value">{{detailData.createBy}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">变更人:</div>
-            <div class="value">李四</div>
+            <div class="label">审核人</div>
+            <div class="value">{{detailData.approverName}}</div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">现存量:</div>
-            <div class="value">200</div>
+            <div class="label">变更人</div>
+            <div class="value">{{detailData.changerName}}</div>
           </el-col>
         </el-row>
       </div>
@@ -133,7 +105,7 @@
 
 <script>
 import print from 'vue-print-nb'
-import { getList } from "@/api/supply/purchase";
+import { getPurchaseDetail } from "@/api/supply/purchase";
 
 export default {
   name: 'PurchaseDetail',
@@ -142,14 +114,20 @@ export default {
   directives: {
     print
   },
+  filters: {
+    businessTypeFilter(val) {
+      const MAP = {
+        CG: '标准采购'
+      }
+      return MAP[val]
+    }
+  },
   data() {
     return {
       printObj: {
         id: 'printData'
       },
-      goodsList: [{
-        goodsId: 1,
-      }]
+      detailData: {},
     }
   },
 
@@ -166,7 +144,7 @@ export default {
   },
 
   created() {
-
+    this.getDetail();
   },
 
   methods: {
@@ -174,6 +152,13 @@ export default {
     goBack() {
       this.$emit('backListFormDetail');
     },
+
+    // 获取详情
+    getDetail() {
+      getPurchaseDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
   }
 }
 </script>

+ 43 - 60
src/views/supply/purchase/enter_list.vue

@@ -38,18 +38,8 @@
                 <el-input v-model="screenForm.company" placeholder="请输入供货单位"></el-input>
               </el-form-item>
             </el-col>
-            <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="厂对应单号" prop="factoryNum">
-                <el-input v-model="screenForm.factoryNum" placeholder="请输入厂对应单号"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="厂产品代码" prop="factoryCode">
-                <el-input v-model="screenForm.factoryCode" placeholder="请输入厂产品代码"></el-input>
-              </el-form-item>
-            </el-col>
             
-            <el-col :xs="24" :sm="12" :lg="6" class="tr">
+            <el-col :xs="24" :sm="12" :lg="18" class="tr">
               <el-form-item label="">
                 <el-button size="small" @click="resetScreenForm">清空</el-button>
                 <el-button size="small" type="primary" @click="submitScreenForm">搜索</el-button>
@@ -67,30 +57,31 @@
         </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="aaa" 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="aaa" 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="aaa" 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="aaa" 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="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="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="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="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="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="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="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="操作" width="120" fixed="right">
+            <el-table-column align="center" label="入库单号" prop="billNo" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="入库日期" prop="fdate" min-width="120" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.fdate | dateToDayFilter}}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="仓库" prop="stockId" min-width="140" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="供货单位" prop="supplyName" min-width="200" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="审核日期" prop="approveDate" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="备注" prop="abcdRemarks" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="存货编码" prop="materialNumber" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="存货名称" prop="materialName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="规格型号" prop="uom" min-width="100" 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="auxUnitQty" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币含税单价" prop="taxPrice" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币金额" prop="amount" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币税额" prop="entryTaxAmount" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币价税合计" prop="allAmount" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="税率" prop="entryTaxRate" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="制单人" prop="createBy" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="审核人" prop="approverId" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="操作" width="100" fixed="right">
               <template slot-scope="scope">
-                <el-button type="text" @click="toDetail('detail', scope.row)">详情</el-button>
+                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -117,8 +108,7 @@
 </template>
 
 <script>
-import { COMMON_SELECT } from '@/utils/select_data'
-import { getList } from "@/api/supply/purchase";
+import { getEnterList } from "@/api/supply/purchase";
 import EnterDetail from "@/views/supply/purchase/components/enter_detail";
 
 export default {
@@ -134,19 +124,12 @@ export default {
       listLoading: false, // 列表加载loading
       screenForm: { // 筛选表单数据
         orderNum: '',
-        jxsName: '',
         chName: '',
-        model: '',
+        chNum: '',
         date: '',
-        jxsNum: '',
-        status: '',
+        company: '',
       },
-      select_status: [ // 筛选字段 - 状态
-        { label: '正常', value: true },
-        { label: '冻结', value: false }
-      ],
 
-      jumpType: '',
       queryItem: {},
     }
   },
@@ -154,15 +137,16 @@ export default {
   computed: {
     exParams() {
       return {
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        billNo: this.screenForm.orderNum,
+        materialName: this.screenForm.chName,
+        materialNumber: this.screenForm.chNum,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+        supplyName: this.screenForm.company,
       }
     },
     isShowDetail() {
-      return this.queryItem.hasOwnProperty('adminUserId') && this.jumpType == 'detail';
+      return this.queryItem.hasOwnProperty('id');
     },
   },
 
@@ -187,13 +171,14 @@ export default {
       let params = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        billNo: this.screenForm.orderNum,
+        materialName: this.screenForm.chName,
+        materialNumber: this.screenForm.chNum,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+        supplyName: this.screenForm.company,
       };
-      getList(params).then((res) => {
+      getEnterList(params).then((res) => {
         this.dataList = res.data.records;
         this.listTotal = res.data.total;
         this.listLoading = false;
@@ -227,13 +212,11 @@ export default {
     },
 
     // 进入详情
-    toDetail(type, item) {
-      this.jumpType = type;
+    toDetail(item) {
       this.queryItem = item;
     },
 
     backList() {
-      this.jumpType = '';
       this.queryItem = {};
     },
   }

+ 54 - 41
src/views/supply/purchase/plan_list.vue

@@ -15,20 +15,20 @@
             </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="chNum">
+              <el-input v-model="screenForm.chNum" placeholder="请输入产品编码"></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="规格型号" prop="chName">
-              <el-input v-model="screenForm.chName" placeholder="请输入规格型号"></el-input>
+            <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="status">
-              <el-select v-model="screenForm.status" placeholder="全部">
+            <el-form-item label="品类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="全部">
                 <el-option label="全部" value=""></el-option>
-                <el-option :label="item.label" :value="item.value" v-for="(item, index) in select_status" :key="index"></el-option>
+                <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>
@@ -51,16 +51,20 @@
       </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="aaa" 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="aaa" 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="aaa" 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="aaa" 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="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="billNo" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="销售类型" prop="saleName" min-width="160" show-overflow-tooltip></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="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="number" min-width="100" show-overflow-tooltip></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="amount" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="状态" prop="status" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{scope.row.status | statusFilter}}
+            </template>
+          </el-table-column>
         </el-table>
       </div>
     </div>
@@ -82,10 +86,19 @@
 </template>
 
 <script>
-import { COMMON_SELECT } from '@/utils/select_data'
-import { getList } from "@/api/supply/purchase";
+import { getPlanList } from "@/api/supply/purchase";
+import { getDictList } from '@/api/common'
 
 export default {
+  filters: {
+    statusFilter(val) {
+      const MAP = {
+        0: '待采购',
+        1: '已采购',
+      }
+      return MAP[val]
+    }
+  },
   data() {
     return {
       currentPage: 1, // 当前页码
@@ -95,36 +108,30 @@ export default {
       listLoading: false, // 列表加载loading
       screenForm: { // 筛选表单数据
         orderNum: '',
-        jxsName: '',
         chName: '',
+        chNum: '',
         model: '',
-        date: '',
-        jxsNum: '',
-        status: '',
+        type: '',
       },
-      select_status: [ // 筛选字段 - 状态
-        { label: '正常', value: true },
-        { label: '冻结', value: false }
-      ],
-
-      jumpType: '',
-      queryItem: {},
+      
+      typeList: [],
     }
   },
 
   computed: {
     exParams() {
       return {
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        billNo: this.screenForm.orderNum,
+        materialName: this.screenForm.chName,
+        materialNumber: this.screenForm.chNum,
+        specification: this.screenForm.model,
+        materialType: this.screenForm.type,
       }
     },
   },
 
   created() {
+    this.getDictList();
     this.getList();
   },
 
@@ -138,6 +145,12 @@ export default {
       return true
     },
 
+    getDictList() {
+      getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
+        this.typeList = res.data;
+      })
+    },
+
     // 查询列表
     getList() {
       this.listLoading = true;
@@ -145,13 +158,13 @@ export default {
       let params = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        billNo: this.screenForm.orderNum,
+        materialName: this.screenForm.chName,
+        materialNumber: this.screenForm.chNum,
+        specification: this.screenForm.model,
+        materialType: this.screenForm.type,
       };
-      getList(params).then((res) => {
+      getPlanList(params).then((res) => {
         this.dataList = res.data.records;
         this.listTotal = res.data.total;
         this.listLoading = false;

+ 61 - 73
src/views/supply/purchase/purchase_list.vue

@@ -3,25 +3,20 @@
     <div v-show="!isShowDetail">
       <!-- 筛选条件 -->
       <div class="screen-container">
-        <el-form ref="screenForm" :model="screenForm" label-width="90px" size="small" label-position="left">
+        <el-form ref="screenForm" :model="screenForm" label-width="70px" size="small" label-position="left">
           <el-row :gutter="20">
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="业务类型" prop="orderNum">
-                <el-input v-model="screenForm.orderNum" placeholder="请输入业务类型"></el-input>
+              <el-form-item label="业务类型" prop="business">
+                <el-input v-model="screenForm.business" placeholder="请输入业务类型"></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="采购类型" prop="chName">
-                <el-input v-model="screenForm.chName" placeholder="请输入采购类型"></el-input>
+              <el-form-item label="供应商" prop="supplier">
+                <el-input v-model="screenForm.supplier" placeholder="请输入供应商"></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="供应商" prop="chName">
-                <el-input v-model="screenForm.chName" placeholder="请输入供应商"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="订单日期" prop="date">
+              <el-form-item label="采购日期" prop="date">
                 <el-date-picker
                   v-model="screenForm.date"
                   type="datetimerange"
@@ -34,7 +29,7 @@
               </el-form-item>
             </el-col>
             
-            <el-col :xs="24" :sm="24" :lg="24" class="tr">
+            <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>
@@ -52,40 +47,39 @@
         </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="aaa" 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="aaa" 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="aaa" 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="aaa" 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="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="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="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="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="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="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="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="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="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="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="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="aaa" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="center" label="操作" width="120" fixed="right">
+            <el-table-column align="center" label="业务类型" prop="businessType" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.businessType | businessTypeFilter}}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="采购日期" prop="fdate" min-width="120" show-overflow-tooltip>
               <template slot-scope="scope">
-                <el-button type="text" @click="toDetail('detail', scope.row)">详情</el-button>
+                {{scope.row.fdate | dateToDayFilter}}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="订单编号" prop="billNo" min-width="200" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="供应商" prop="assignSupplierId" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="部门" prop="purchaseDeptId" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="业务员" prop="purchaserId" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="付款条件" prop="payConditionId" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="币种" prop="settleCurr" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="备注" prop="abcdRemarks" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="存货编码" prop="materialNumber" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="存货名称" prop="materialName" min-width="180" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="规格型号" prop="model" min-width="120" 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="qty" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币含税单价" prop="taxPrice" min-width="120" show-overflow-tooltip></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="entryTaxAmount" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="原币价税合计" prop="billAllAmount" min-width="120" show-overflow-tooltip></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="createBy" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="审核人" prop="approverName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="变更人" prop="changerName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="操作" width="100" fixed="right">
+              <template slot-scope="scope">
+                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -112,14 +106,21 @@
 </template>
 
 <script>
-import { COMMON_SELECT } from '@/utils/select_data'
-import { getList } from "@/api/supply/purchase";
+import { getPurchaseList } from "@/api/supply/purchase";
 import PurchaseDetail from "@/views/supply/purchase/components/purchase_detail";
 
 export default {
   components: {
     PurchaseDetail,
   },
+  filters: {
+    businessTypeFilter(val) {
+      const MAP = {
+        CG: '标准采购'
+      }
+      return MAP[val]
+    }
+  },
   data() {
     return {
       currentPage: 1, // 当前页码
@@ -128,20 +129,11 @@ export default {
       dataList: null, // 列表数据
       listLoading: false, // 列表加载loading
       screenForm: { // 筛选表单数据
-        orderNum: '',
-        jxsName: '',
-        chName: '',
-        model: '',
+        business: '',
+        supplier: '',
         date: '',
-        jxsNum: '',
-        status: '',
       },
-      select_status: [ // 筛选字段 - 状态
-        { label: '正常', value: true },
-        { label: '冻结', value: false }
-      ],
 
-      jumpType: '',
       queryItem: {},
     }
   },
@@ -149,15 +141,14 @@ export default {
   computed: {
     exParams() {
       return {
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        businessType: this.screenForm.business,
+        assignSupplierId: this.screenForm.supplier,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
       }
     },
     isShowDetail() {
-      return this.queryItem.hasOwnProperty('adminUserId') && this.jumpType == 'detail';
+      return this.queryItem.hasOwnProperty('id');
     },
   },
 
@@ -182,13 +173,12 @@ export default {
       let params = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        businessType: this.screenForm.business,
+        assignSupplierId: this.screenForm.supplier,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
       };
-      getList(params).then((res) => {
+      getPurchaseList(params).then((res) => {
         this.dataList = res.data.records;
         this.listTotal = res.data.total;
         this.listLoading = false;
@@ -222,13 +212,11 @@ export default {
     },
 
     // 进入详情
-    toDetail(type, item) {
-      this.jumpType = type;
+    toDetail(item) {
       this.queryItem = item;
     },
 
     backList() {
-      this.jumpType = '';
       this.queryItem = {};
     },
   }

+ 93 - 49
src/views/supply/purchase/sum_list.vue

@@ -10,8 +10,8 @@
             </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="salesType">
+              <el-input v-model="screenForm.salesType" placeholder="请输入销售类型"></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
@@ -20,31 +20,31 @@
             </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="chNum">
+              <el-input v-model="screenForm.chNum" placeholder="请输入产品编码"></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="规格型号" prop="chName">
-              <el-input v-model="screenForm.chName" placeholder="请输入规格型号"></el-input>
+            <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="status">
-              <el-select v-model="screenForm.status" placeholder="全部">
+            <el-form-item label="品类" prop="type">
+              <el-select v-model="screenForm.type" placeholder="全部">
                 <el-option label="全部" value=""></el-option>
-                <el-option :label="item.label" :value="item.value" v-for="(item, index) in select_status" :key="index"></el-option>
+                <el-option v-for="item in typeList" :key="item.dictCode" :label="item.dictValue" :value="item.dictCode"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="经销商名称" prop="chName">
-              <el-input v-model="screenForm.chName" placeholder="请输入经销商名称"></el-input>
+            <el-form-item label="经销商名称" prop="jxsName">
+              <el-input v-model="screenForm.jxsName" placeholder="请输入经销商名称"></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="经销商编码" prop="chName">
-              <el-input v-model="screenForm.chName" placeholder="请输入经销商编码"></el-input>
+            <el-form-item label="经销商编码" prop="jxsNum">
+              <el-input v-model="screenForm.jxsNum" placeholder="请输入经销商编码"></el-input>
             </el-form-item>
           </el-col>
           
@@ -65,19 +65,24 @@
         </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="单据号" prop="aaa" 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="aaa" 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="aaa" 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="aaa" 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="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="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 v-loading="listLoading" :data="dataList" 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 align="center" label="单据号" prop="billNo" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="订单类型" prop="orderType" min-width="160" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{scope.row.orderType | orderTypeFilter}}
+            </template>
+          </el-table-column>
+          <el-table-column align="center" label="销售类型" prop="saleName" min-width="160" show-overflow-tooltip></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="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="number" min-width="100" show-overflow-tooltip></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="amount" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="center" label="经销商编码" prop="customerNumber" min-width="100" 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>
       </div>
     </div>
@@ -97,7 +102,7 @@
 
     <div class="">
       <div>
-        <el-button size="small" type="primary">提 交</el-button>
+        <el-button size="small" type="primary" @click="clickSubmit()">提 交</el-button>
       </div>
       <div style="margin-top: 10px; font-size: 14px; color: #666;">注:提交成功后,系统将自动生成采购计划订单</div>
     </div>
@@ -106,10 +111,19 @@
 </template>
 
 <script>
-import { COMMON_SELECT } from '@/utils/select_data'
-import { getList } from "@/api/supply/purchase";
+import { getSumList, submitPlan } from "@/api/supply/purchase";
+import { getDictList } from '@/api/common'
 
 export default {
+  filters: {
+    orderTypeFilter(val) {
+      const MAP = {
+        1: '工程计划单',
+        2: '零售计划单',
+      }
+      return MAP[val]
+    }
+  },
   data() {
     return {
       currentPage: 1, // 当前页码
@@ -119,36 +133,37 @@ export default {
       listLoading: false, // 列表加载loading
       screenForm: { // 筛选表单数据
         orderNum: '',
-        jxsName: '',
+        salesType: '',
         chName: '',
+        chNum: '',
         model: '',
-        date: '',
+        type: '',
+        jxsName: '',
         jxsNum: '',
-        status: '',
       },
-      select_status: [ // 筛选字段 - 状态
-        { label: '正常', value: true },
-        { label: '冻结', value: false }
-      ],
+      typeList: [],
 
-      jumpType: '',
-      queryItem: {},
+      multipleSelection: [],
     }
   },
 
   computed: {
     exParams() {
       return {
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        billNo: this.screenForm.orderNum,
+        saleName: this.screenForm.salesType,
+        materialName: this.screenForm.chName,
+        materialNumber: this.screenForm.chNum,
+        specification: this.screenForm.model,
+        materialType: this.screenForm.type,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
       }
     },
   },
 
   created() {
+    this.getDictList();
     this.getList();
   },
 
@@ -162,6 +177,12 @@ export default {
       return true
     },
 
+    getDictList() {
+      getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
+        this.typeList = res.data;
+      })
+    },
+
     // 查询列表
     getList() {
       this.listLoading = true;
@@ -169,13 +190,16 @@ export default {
       let params = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
-        userName: this.screenForm.account,
-        nickName: this.screenForm.nickName,
-        linkPhone: this.screenForm.phone,
-        email: this.screenForm.email,
-        status: this.screenForm.status,
+        billNo: this.screenForm.orderNum,
+        saleName: this.screenForm.salesType,
+        materialName: this.screenForm.chName,
+        materialNumber: this.screenForm.chNum,
+        specification: this.screenForm.model,
+        materialType: this.screenForm.type,
+        customerName: this.screenForm.jxsName,
+        customerNumber: this.screenForm.jxsNum,
       };
-      getList(params).then((res) => {
+      getSumList(params).then((res) => {
         this.dataList = res.data.records;
         this.listTotal = res.data.total;
         this.listLoading = false;
@@ -207,6 +231,26 @@ export default {
       this.currentPage = val;
       this.getList();
     },
+
+    // 表格选择
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
+    },
+    
+    // 提交
+    clickSubmit() {
+      if(this.multipleSelection.length < 1) {
+        return this.$errorMsg('请选择单据');
+      }
+      let ids = [];
+      this.multipleSelection.forEach(item => {
+        ids.push(item.id);
+      });
+      submitPlan(ids).then(res => {
+        this.$successMsg();
+        this.getList();
+      })
+    },
   }
 }
 </script>

+ 5 - 0
src/views/supply/retail.vue

@@ -0,0 +1,5 @@
+<template>
+  <div>
+    <router-view />
+  </div>
+</template>

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

@@ -0,0 +1,321 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" content="详情"></el-page-header>
+
+    <div id="printData">
+      <div class="main-title">
+        <div class="title">工程订单</div>
+      </div>
+
+      <div class="diy-table-1">
+        <el-row>
+          <el-col :span="8" class="item">
+            <div class="label">订单号</div>
+            <div class="value">{{detailData.billNo}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">订单日期</div>
+            <div class="value">{{detailData.fdate}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">单据状态</div>
+            <div class="value">{{detailData.srcStockId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">工程登录单号</div>
+            <div class="value">{{detailData.destStockId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">项目名称</div>
+            <div class="value">{{detailData.approveDate}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">单据类型</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">经销商编码</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">使用单位</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">安装地址</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">工程编号</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">厂工厂编码</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">工程登录类型</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">文件编号</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">制单人</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">制单日期</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="24" class="item">
+            <div class="label">格力回复</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="24" class="item">
+            <div class="label">格力内部备注</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="6" class="item">
+            <div class="label">审核人</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="6" class="item">
+            <div class="label">审核日期</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="6" class="item">
+            <div class="label">关闭人</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="6" class="item">
+            <div class="label">关闭日期</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+          <el-col :span="24" class="item">
+            <div class="label">备注</div>
+            <div class="value">{{detailData.approverId}}</div>
+          </el-col>
+        </el-row>
+      </div>
+
+      <div class="main-title">
+        <div class="title">货品信息</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-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="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="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>
+      </div>
+
+      <div class="main-title">
+        <div class="title">审批记录</div>
+      </div>
+      <div class="diy-table-1">
+        <el-row :gutter="0">
+          <el-col :span="12" class="item">
+            <div class="label">审批人</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+          <el-col :span="12" class="item">
+            <div class="label">审批结果</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+          <el-col :span="24" class="item">
+            <div class="label">审批说明</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+        </el-row>
+      </div>
+      
+    </div>
+    
+    <div class="page-footer">
+      <div class="footer" :class="classObj">
+        <el-button  type="primary" @click="openDeliverDialog">直调发货</el-button>
+        <el-popconfirm title="确定关闭吗?" @onConfirm="goBack" style="margin-left: 10px;">
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+    <el-dialog
+      title="直调发货"
+      :visible.sync="isShowDeliverDialog"
+      width="80%">
+      <el-form ref="deliverForm" :model="deliverForm" label-width="70px" size="small" label-position="left">
+        <el-row :gutter="20">
+          <el-col :xs="24" :sm="8" :lg="8">
+            <el-form-item label="工程订单" prop="orderNum">
+              <el-input v-model="deliverForm.orderNum" placeholder="请输入工程订单"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="8" :lg="8" style="height: 51px;">
+            <el-form-item label="发货日期" prop="date">
+              <el-date-picker
+                v-model="deliverForm.date"
+                type="date"
+                value-format="yyyy-MM-dd"
+                style="width: 100%;"
+                placeholder="选择日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="8" :lg="8">
+            <el-form-item label="发货仓库" prop="warehouse">
+              <el-select v-model="deliverForm.warehouse" placeholder="请选择发货仓库">
+                <el-option
+                  v-for="item in warehouseList"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+
+      <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-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="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="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>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="closeDeliverDialog">取 消</el-button>
+        <el-button type="primary" @click="submitDeliverForm">确 定</el-button>
+      </span>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import print from 'vue-print-nb'
+import { getDetail } from "@/api/supply/engin";
+
+export default {
+  name: 'RetailDetail',
+  componentName: 'RetailDetail',
+  props: ['listItem'],
+  directives: {
+    print
+  },
+  data() {
+    return {
+      printObj: {
+        id: 'printData'
+      },
+      detailData: {},
+
+      isShowDeliverDialog: false,
+      deliverForm: {
+        orderNum: '',
+        date: '',
+      },
+      warehouseList: [],
+    }
+  },
+
+  computed: {
+    sidebar() {
+      return this.$store.state.app.sidebar
+    },
+    classObj() {
+      return {
+        hideSidebar: !this.sidebar.opened,
+        openSidebar: this.sidebar.opened
+      }
+    },
+  },
+
+  created() {
+    this.getDetail();
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
+    // 获取详情
+    getDetail() {
+      getDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
+
+    // 打开 直调发货
+    openDeliverDialog() {
+      this.isShowDeliverDialog = true;
+    },
+
+    // 关闭 直调发货
+    closeDeliverDialog() {
+      this.isShowDeliverDialog = false;
+    },
+
+    // 提交 直调发货
+    submitDeliverForm() {
+
+    },
+
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+  .main-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-top: 20px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
+    .title {
+      font-size: 16px;
+      font-weight: 600;
+      padding-left: 10px;
+    }
+  }
+</style>

+ 247 - 0
src/views/supply/retail/components/retail_examine.vue

@@ -0,0 +1,247 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" content="审批"></el-page-header>
+
+    <div class="main-title">
+      <div class="title">工程订单</div>
+    </div>
+
+    <div class="diy-table-1">
+      <el-row>
+        <el-col :span="8" class="item">
+          <div class="label">订单号</div>
+          <div class="value">{{detailData.billNo}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">订单日期</div>
+          <div class="value">{{detailData.fdate}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">单据状态</div>
+          <div class="value">{{detailData.srcStockId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">工程登录单号</div>
+          <div class="value">{{detailData.destStockId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">项目名称</div>
+          <div class="value">{{detailData.approveDate}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">单据类型</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">经销商编码</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">使用单位</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">安装地址</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">工程编号</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">厂工厂编码</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">工程登录类型</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">文件编号</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">制单人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">制单日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">格力回复</div>
+          <div class="value"><el-input v-model="detailData.remark" placeholder="请输入内容"></el-input></div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">格力内部备注</div>
+          <div class="value"><el-input v-model="detailData.remark" placeholder="请输入内容"></el-input></div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">审核人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">审核日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">关闭人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">关闭日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">备注</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+      </el-row>
+    </div>
+
+    <div class="main-title">
+      <div class="title">货品信息</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-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="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="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>
+    </div>
+
+    <div class="main-title">
+      <div class="title">审批信息</div>
+    </div>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :span="12" class="item">
+          <div class="label">审批人</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :span="12" class="item">
+          <div class="label">审批结果</div>
+          <div class="value">
+            <el-radio-group v-model="examineForm.status">
+              <el-radio :label="true">通过</el-radio>
+              <el-radio :label="false">驳回</el-radio>
+            </el-radio-group>
+          </div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">审批说明</div>
+          <div class="value"><el-input v-model="examineForm.remark" placeholder="请输入内容"></el-input></div>
+        </el-col>
+      </el-row>
+    </div>
+    
+    <div class="page-footer">
+      <div class="footer" :class="classObj">
+        <el-button type="primary" @click="clickSubmitForm" :loading="formLoading">{{ formLoading ? '提交中 ...' : '提 交' }}</el-button>
+        <el-popconfirm
+          title="确定关闭吗?"
+          @onConfirm="goBack"
+          style="margin-left: 10px;"
+        >
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+  </div>
+</template>
+
+<script>
+import { getDetail } from "@/api/supply/engin";
+
+export default {
+  name: 'RetailExamine',
+  componentName: 'RetailExamine',
+  props: ['listItem'],
+  data() {
+    return {
+      printObj: {
+        id: 'printData'
+      },
+      detailData: {},
+
+      formLoading: false,
+      examineForm: {
+        status: true,
+        remark: '',
+      }
+    }
+  },
+
+  computed: {
+    sidebar() {
+      return this.$store.state.app.sidebar
+    },
+    classObj() {
+      return {
+        hideSidebar: !this.sidebar.opened,
+        openSidebar: this.sidebar.opened
+      }
+    },
+  },
+
+  created() {
+    this.getDetail();
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
+    // 获取详情
+    getDetail() {
+      getDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
+
+    clickSubmitForm() {
+
+    },
+
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+  .main-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-top: 20px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
+    .title {
+      font-size: 16px;
+      font-weight: 600;
+      padding-left: 10px;
+    }
+  }
+</style>

+ 227 - 0
src/views/supply/retail/components/retail_form.vue

@@ -0,0 +1,227 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" :content="listItem ? '编辑':'新增'"></el-page-header>
+
+    <div class="main-title">
+      <div class="title">工程订单</div>
+    </div>
+
+    <el-form ref="mainForm" :model="mainForm" label-width="100px" size="small" label-position="left">
+      <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>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="8" style="height: 51px;">
+          <el-form-item label="单据日期" prop="date">
+            <el-date-picker
+              v-model="mainForm.date"
+              type="date"
+              value-format="yyyy-MM-dd"
+              style="width: 100%;"
+              placeholder="选择日期">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="8">
+          <el-form-item label="品类" prop="warehouse">
+            <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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </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>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="8" style="height: 51px;">
+          <el-form-item label="制单日期" prop="date">
+            <el-date-picker
+              v-model="mainForm.date"
+              type="date"
+              value-format="yyyy-MM-dd"
+              style="width: 100%;"
+              placeholder="选择日期">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="12" :lg="8">
+          <el-form-item label="文件编号" prop="warehouse">
+            <el-input v-model="mainForm.remark" placeholder="请输入文件编号"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <div class="main-title">
+      <div class="title">货品信息</div>
+      <el-button type="primary" size="small" icon="el-icon-plus">添加货品</el-button>
+    </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-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="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="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>
+    </div>
+    
+    <div class="page-footer">
+      <div class="footer" :class="classObj">
+        <el-button type="primary" @click="clickSubmitForm">保 存</el-button>
+        <el-button type="primary" @click="clickSubmitForm">提交审核</el-button>
+        <el-popconfirm title="确定关闭吗?" @onConfirm="goBack" style="margin-left: 10px;">
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+  </div>
+</template>
+
+<script>
+import { getDetail } from "@/api/supply/engin";
+
+export default {
+  name: 'RetailForm',
+  componentName: 'RetailForm',
+  props: ['listItem'],
+  data() {
+    return {
+      detailData: {},
+      mainForm: {
+
+      },
+    }
+  },
+
+  computed: {
+    sidebar() {
+      return this.$store.state.app.sidebar
+    },
+    classObj() {
+      return {
+        hideSidebar: !this.sidebar.opened,
+        openSidebar: this.sidebar.opened
+      }
+    },
+  },
+
+  created() {
+    this.getDetail();
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
+    // 获取详情
+    getDetail() {
+      getDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
+
+    clickSubmitForm() {
+
+    },
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+  .main-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-top: 20px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
+    .title {
+      font-size: 16px;
+      font-weight: 600;
+      padding-left: 10px;
+    }
+  }
+</style>

+ 242 - 0
src/views/supply/retail/components/retail_return.vue

@@ -0,0 +1,242 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" content="审批"></el-page-header>
+
+    <div class="main-title">
+      <div class="title">工程订单</div>
+    </div>
+
+    <div class="diy-table-1">
+      <el-row>
+        <el-col :span="8" class="item">
+          <div class="label">订单号</div>
+          <div class="value">{{detailData.billNo}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">订单日期</div>
+          <div class="value">{{detailData.fdate}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">单据状态</div>
+          <div class="value">{{detailData.srcStockId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">工程登录单号</div>
+          <div class="value">{{detailData.destStockId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">项目名称</div>
+          <div class="value">{{detailData.approveDate}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">单据类型</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">经销商编码</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">使用单位</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">安装地址</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">工程编号</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">厂工厂编码</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">工程登录类型</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">文件编号</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">制单人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">制单日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">格力回复</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">格力内部备注</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">审核人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">审核日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">关闭人</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="6" class="item">
+          <div class="label">关闭日期</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">备注</div>
+          <div class="value">{{detailData.approverId}}</div>
+        </el-col>
+      </el-row>
+    </div>
+
+    <div class="main-title">
+      <div class="title">货品信息</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-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="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="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>
+    </div>
+
+    <div class="main-title">
+      <div class="title">退订信息</div>
+    </div>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :span="12" class="item">
+          <div class="label">操作人</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :span="12" class="item">
+          <div class="label">退订日期</div>
+          <div class="value">123</div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">退订说明</div>
+          <div class="value"><el-input v-model="examineForm.remark" placeholder="请输入内容"></el-input></div>
+        </el-col>
+      </el-row>
+    </div>
+    
+    <div class="page-footer">
+      <div class="footer" :class="classObj">
+        <el-button type="primary" @click="clickSubmitForm" :loading="formLoading">{{ formLoading ? '提交中 ...' : '提 交' }}</el-button>
+        <el-popconfirm
+          title="确定关闭吗?"
+          @onConfirm="goBack"
+          style="margin-left: 10px;"
+        >
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+  </div>
+</template>
+
+<script>
+import { getDetail } from "@/api/supply/engin";
+
+export default {
+  name: 'RetailReturn',
+  componentName: 'RetailReturn',
+  props: ['listItem'],
+  data() {
+    return {
+      printObj: {
+        id: 'printData'
+      },
+      detailData: {},
+
+      formLoading: false,
+      examineForm: {
+        status: true,
+        remark: '',
+      }
+    }
+  },
+
+  computed: {
+    sidebar() {
+      return this.$store.state.app.sidebar
+    },
+    classObj() {
+      return {
+        hideSidebar: !this.sidebar.opened,
+        openSidebar: this.sidebar.opened
+      }
+    },
+  },
+
+  created() {
+    this.getDetail();
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormDetail');
+    },
+
+    // 获取详情
+    getDetail() {
+      getDetail({id: this.listItem.id}).then(res => {
+        this.detailData = res.data;
+      })
+    },
+
+    clickSubmitForm() {
+
+    },
+
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+  .main-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-top: 20px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
+    .title {
+      font-size: 16px;
+      font-weight: 600;
+      padding-left: 10px;
+    }
+  }
+</style>

+ 296 - 0
src/views/supply/retail/retail_list.vue

@@ -0,0 +1,296 @@
+<template>
+  <div class="app-container">
+    <div v-show="!isShowDetail && !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="24" :lg="24">
+              <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>
+            <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="policyCode">
+                <el-input v-model="screenForm.policyCode" placeholder="请输入销售政策编号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="销售政策说明" prop="policyRemark">
+                <el-input v-model="screenForm.policyRemark" placeholder="请输入销售政策说明"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商" prop="jxsName">
+                <el-input v-model="screenForm.jxsName" placeholder="请输入经销商"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="订单日期" prop="date">
+                <el-date-picker
+                  v-model="screenForm.date"
+                  type="datetimerange"
+                  range-separator="至"
+                  style="width: 100%;"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="制表人" prop="zbMan">
+                <el-input v-model="screenForm.zbMan" placeholder="请输入制表人"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="审核人" prop="shMan">
+                <el-input v-model="screenForm.shMan" 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>
+
+      <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="订单号" prop="id" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="订单日期" prop="theTime" 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="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="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="totalQty" min-width="160" show-overflow-tooltip></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="aaa" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="单价" prop="price" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="金额" prop="totalAmount" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="返利使用比例" prop="rebateRate" 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="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="examineName" min-width="200" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="审核日期" prop="examineTime" 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="操作" width="160" fixed="right">
+              <template slot-scope="scope">
+                <el-button type="text" @click="toForm(scope.row)">编辑</el-button>
+                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
+                <el-popconfirm v-if="scope.row.status" style="margin-left: 10px;" title="确定删除吗?" @onConfirm="handleDelete(scope.row.id)" >
+                  <el-button slot="reference" type="text">删除</el-button>
+                </el-popconfirm>
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+      </div>
+      <div class="pagination clearfix">
+        <div class="fr">
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            :page-sizes="[10, 20, 30, 50]"
+            :page-size="10"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="listTotal">
+          </el-pagination>
+        </div>
+      </div>
+    </div>
+    
+    <RetailDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
+    <RetailForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />
+
+  </div>
+</template>
+
+<script>
+import { getList } from "@/api/supply/retail";
+import RetailDetail from "@/views/supply/retail/components/retail_detail";
+import RetailForm from "@/views/supply/retail/components/retail_form";
+
+export default {
+  components: {
+    RetailDetail,
+    RetailForm,
+  },
+  filters: {
+    statusFilter(val) {
+      let obj = this.statusList.find(o => o.value == val);
+      return obj ? obj.label : ''
+    }
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: null, // 列表数据
+      listLoading: false, // 列表加载loading
+      screenForm: { // 筛选表单数据
+        orderNum: '',
+        policyCode: '',
+        policyRemark: '',
+        jxsName: '',
+        date: '',
+        zbMan: '',
+        shMan: '',
+        status: '',
+      },
+      statusList: [
+        { label: '已保存', value: 'SAVE' },
+        { label: '待审核', value: 'WAIT' },
+        { label: '审核通过', value: 'OK' },
+        { label: '审核驳回', value: 'FAIL' },
+      ],
+
+      queryItem: {},
+      isShowDetail: false,
+      isShowForm: false,
+    }
+  },
+
+  computed: {
+    exParams() {
+      return {
+        type: this.screenForm.status,
+        id: this.screenForm.orderNum,
+        policyCode: this.screenForm.policyCode,
+        policyRemark: this.screenForm.policyRemark,
+        customer: this.screenForm.jxsName,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+        createBy: this.screenForm.zbMan,
+        examineBy: this.screenForm.shMan,
+        status: 1, // 1:普通零售单,2:政策零售单
+      }
+    },
+  },
+
+  created() {
+    this.getList();
+  },
+
+  methods: {
+    // 查询按钮权限
+    checkBtnRole(value) {
+      // let btnRole = this.$route.meta.roles;
+      // if(!btnRole) {return true}
+      // let index = btnRole.indexOf(value);
+      // return index >= 0;
+      return true
+    },
+
+    // 查询列表
+    getList() {
+      this.listLoading = true;
+
+      let params = {
+        pageNum: this.currentPage,
+        pageSize: this.pageSize,
+        type: this.screenForm.status,
+        id: this.screenForm.orderNum,
+        policyCode: this.screenForm.policyCode,
+        policyRemark: this.screenForm.policyRemark,
+        customer: this.screenForm.jxsName,
+        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+        createBy: this.screenForm.zbMan,
+        examineBy: this.screenForm.shMan,
+        status: 1, // 1:普通零售单,2:政策零售单
+      };
+      getList(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listTotal = res.data.total;
+        this.listLoading = false;
+      })
+    },
+
+    // 提交筛选表单
+    submitScreenForm() {
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 重置筛选表单
+    resetScreenForm() {
+      this.$refs.screenForm.resetFields();
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = 1;
+      this.getList();
+    },
+
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getList();
+    },
+
+    // 进入表单
+    toForm(item) {
+      this.queryItem = item;
+      this.isShowForm = true;
+    },
+
+    // 进入详情
+    toDetail(item) {
+      this.queryItem = item;
+      this.isShowDetail = true;
+    },
+
+    backList() {
+      this.queryItem = {};
+      this.isShowDetail = false;
+      this.isShowForm = false;
+    },
+
+    handleDelete(id) {
+
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>