فهرست منبع

Merge branch 'master' of http://git.huaml.com/zhh/front-end

wangn 5 سال پیش
والد
کامیت
f4457edea9
43فایلهای تغییر یافته به همراه386 افزوده شده و 129 حذف شده
  1. 2 13
      ghsApp/src/App.vue
  2. 0 0
      hd/dist/shop/css/chunk-1c00496a.44aac8c2.css
  3. 0 0
      hd/dist/shop/css/chunk-2fefc3f8.352c1069.css
  4. 0 0
      hd/dist/shop/css/chunk-3f44a590.47c29226.css
  5. 0 0
      hd/dist/shop/css/chunk-497f15e8.62628d64.css
  6. 0 0
      hd/dist/shop/css/chunk-546fec65.e6f9c614.css
  7. 0 0
      hd/dist/shop/css/chunk-582d3f6c.a7e08938.css
  8. 0 0
      hd/dist/shop/css/chunk-6df6c9b5.30289845.css
  9. 0 0
      hd/dist/shop/css/chunk-7bd291fc.f4f5aa5a.css
  10. 0 0
      hd/dist/shop/css/chunk-8af6e962.23c5bed2.css
  11. 0 0
      hd/dist/shop/css/chunk-a99b1540.ade4714b.css
  12. 0 0
      hd/dist/shop/css/chunk-b0f75c0e.defb9ed9.css
  13. 0 0
      hd/dist/shop/css/chunk-e1385ce8.423550a8.css
  14. 0 0
      hd/dist/shop/css/chunk-e4c63f88.0453f1bb.css
  15. 0 0
      hd/dist/shop/css/chunk-ea3c527c.ca87d476.css
  16. 0 0
      hd/dist/shop/css/chunk-f7679182.94c6be15.css
  17. 1 1
      hd/dist/shop/index.html
  18. 0 0
      hd/dist/shop/js/app.2fd3f811.js
  19. 0 0
      hd/dist/shop/js/app.57ba6bdd.js
  20. 0 0
      hd/dist/shop/js/chunk-0e9eb238.b0effe19.js
  21. 0 0
      hd/dist/shop/js/chunk-1c00496a.f611565b.js
  22. 0 0
      hd/dist/shop/js/chunk-3f44a590.8b18be4b.js
  23. 0 0
      hd/dist/shop/js/chunk-497f15e8.b1179f6e.js
  24. 0 0
      hd/dist/shop/js/chunk-4d9ce943.237520eb.js
  25. 0 0
      hd/dist/shop/js/chunk-546fec65.d06d0d57.js
  26. 0 0
      hd/dist/shop/js/chunk-57b2ffc5.dfdcf806.js
  27. 0 0
      hd/dist/shop/js/chunk-582d3f6c.146a894f.js
  28. 0 0
      hd/dist/shop/js/chunk-5aa90c4a.33530e51.js
  29. 0 0
      hd/dist/shop/js/chunk-6df6c9b5.a42d0251.js
  30. 0 0
      hd/dist/shop/js/chunk-7bd291fc.232c6d20.js
  31. 0 0
      hd/dist/shop/js/chunk-7f4a453c.0cdad252.js
  32. 0 0
      hd/dist/shop/js/chunk-7f4a453c.3911bdf2.js
  33. 0 0
      hd/dist/shop/js/chunk-8af6e962.62216e9c.js
  34. 0 0
      hd/dist/shop/js/chunk-a99b1540.4793a20e.js
  35. 0 0
      hd/dist/shop/js/chunk-b0f75c0e.02b89374.js
  36. 0 0
      hd/dist/shop/js/chunk-cf599b96.840f3324.js
  37. 0 0
      hd/dist/shop/js/chunk-e1385ce8.3a707b94.js
  38. 0 0
      hd/dist/shop/js/chunk-e4c63f88.f9df09cf.js
  39. 0 0
      hd/dist/shop/js/chunk-ea3c527c.ba48b76c.js
  40. 0 0
      hd/dist/shop/js/chunk-f7679182.c91a8dfa.js
  41. 230 0
      hd/src/views/staff/list.vue
  42. 19 10
      pt/src/service/item/index.js
  43. 134 105
      pt/src/views/item/list.vue

+ 2 - 13
ghsApp/src/App.vue

@@ -53,24 +53,13 @@ import store from '@/store'
 						}
 					})
 					if (needRedirect === true) {
-						//供货商员工
+						//员工
 						if (res.data.admin.identity == '2') {
 							// this.$util.pageTo({
 							// 	url: "/admin/home/workbench",
 							// 	type: 4
 							// });
-						//花店员工
-						} else if(res.data.admin.identity == '1'){
-							if(redirectPage !== 'admin/billing/customerPlace') {
-								this.$util.pageTo({
-									url: "/pagesClient/official/latest-shop",
-									type: 2,
-									query:{
-										...this.option
-									}
-								});
-							}
-						//未知身份
+						//客户
 						}else{
 							if(this.option.style != 1){
 								this.$util.pageTo({

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-1c00496a.44aac8c2.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-2fefc3f8.352c1069.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-3f44a590.47c29226.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-497f15e8.62628d64.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-546fec65.e6f9c614.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-582d3f6c.a7e08938.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-6df6c9b5.30289845.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-7bd291fc.f4f5aa5a.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-8af6e962.23c5bed2.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-a99b1540.ade4714b.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-b0f75c0e.defb9ed9.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-e1385ce8.423550a8.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-e4c63f88.0453f1bb.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-ea3c527c.ca87d476.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/css/chunk-f7679182.94c6be15.css


+ 1 - 1
hd/dist/shop/index.html

@@ -43,4 +43,4 @@
 			.once .sub-title {
 				color: #ababab;
 				font-size: 12px;
-			}</style><link href="/css/app.6f07e55a.css" rel="preload" as="style"><link href="/css/chunk-libs.2e1e87b5.css" rel="preload" as="style"><link href="/js/app.2fd3f811.js" rel="preload" as="script"><link href="/js/chunk-libs.1c1e0cb4.js" rel="preload" as="script"><link href="/css/chunk-libs.2e1e87b5.css" rel="stylesheet"><link href="/css/app.6f07e55a.css" rel="stylesheet"></head><body><noscript></noscript><div id="app"><div class="once"><div class="container"><div class="title">正在加载资源</div><div class="sub-title">初次加载资源可能需要较多时间 请耐心等待</div></div><div class="footer"><a href="https://www.baidu.com/" target="_blank">花卉宝</a></div></div></div><script src="/cdn/vue/2.6.10/vue.min.js"></script><script src="/cdn/vue-router/3.1.3/vue-router.min.js"></script><script src="/cdn/vuex/3.1.1/vuex.min.js"></script><script src="/cdn/clipboard.js/2.0.4/clipboard.min.js"></script><script src="/cdn/axios/0.19.0-beta.1/axios.min.js"></script><script src="/cdn/nprogress/0.2.0/nprogress.min.js"></script><script src="/cdn/Mock.js/1.0.1-beta3/mock-min.js"></script><script src="/cdn/quill/2.0.0-dev.3/quill.min.js"></script><script src="/cdn/element-ui/2.13.0/index.js"></script><script src="/cdn/viewerjs/1.3.7/viewer.min.js"></script><script src="/cdn/echarts/4.4.0-rc.1/echarts.min.js"></script><script src="/cdn/npm/vue-echarts@4.0.2.js"></script><script src="/js/chunk-libs.1c1e0cb4.js"></script><script src="/js/app.2fd3f811.js"></script></body></html>
+			}</style><link href="/css/app.6f07e55a.css" rel="preload" as="style"><link href="/css/chunk-libs.2e1e87b5.css" rel="preload" as="style"><link href="/js/app.57ba6bdd.js" rel="preload" as="script"><link href="/js/chunk-libs.1c1e0cb4.js" rel="preload" as="script"><link href="/css/chunk-libs.2e1e87b5.css" rel="stylesheet"><link href="/css/app.6f07e55a.css" rel="stylesheet"></head><body><noscript></noscript><div id="app"><div class="once"><div class="container"><div class="title">正在加载资源</div><div class="sub-title">初次加载资源可能需要较多时间 请耐心等待</div></div><div class="footer"><a href="https://www.baidu.com/" target="_blank">花卉宝</a></div></div></div><script src="/cdn/vue/2.6.10/vue.min.js"></script><script src="/cdn/vue-router/3.1.3/vue-router.min.js"></script><script src="/cdn/vuex/3.1.1/vuex.min.js"></script><script src="/cdn/clipboard.js/2.0.4/clipboard.min.js"></script><script src="/cdn/axios/0.19.0-beta.1/axios.min.js"></script><script src="/cdn/nprogress/0.2.0/nprogress.min.js"></script><script src="/cdn/Mock.js/1.0.1-beta3/mock-min.js"></script><script src="/cdn/quill/2.0.0-dev.3/quill.min.js"></script><script src="/cdn/element-ui/2.13.0/index.js"></script><script src="/cdn/viewerjs/1.3.7/viewer.min.js"></script><script src="/cdn/echarts/4.4.0-rc.1/echarts.min.js"></script><script src="/cdn/npm/vue-echarts@4.0.2.js"></script><script src="/js/chunk-libs.1c1e0cb4.js"></script><script src="/js/app.57ba6bdd.js"></script></body></html>

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/app.2fd3f811.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/app.57ba6bdd.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-0e9eb238.b0effe19.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-1c00496a.f611565b.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-3f44a590.8b18be4b.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-497f15e8.b1179f6e.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-4d9ce943.237520eb.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-546fec65.d06d0d57.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-57b2ffc5.dfdcf806.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-582d3f6c.146a894f.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-5aa90c4a.33530e51.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-6df6c9b5.a42d0251.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-7bd291fc.232c6d20.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-7f4a453c.0cdad252.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-7f4a453c.3911bdf2.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-8af6e962.62216e9c.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-a99b1540.4793a20e.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-b0f75c0e.02b89374.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-cf599b96.840f3324.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-e1385ce8.3a707b94.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-e4c63f88.f9df09cf.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-ea3c527c.ba48b76c.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
hd/dist/shop/js/chunk-f7679182.c91a8dfa.js


+ 230 - 0
hd/src/views/staff/list.vue

@@ -0,0 +1,230 @@
+<template>
+	<div class="app-list-content">
+		<x-crud class="liu-crud-wrap" @load="onLoad">
+			<template #table-column-addTime="{scope}">
+				<div>{{ scope.row.addTime | formatTime }}</div>
+			</template>
+
+			<!-- 权限设置 -->
+			<template #slot-auth="{scope}">
+				<el-button type="text" @click="authBtnFn(scope.row)">权限设置</el-button>
+			</template>
+			<!-- 编辑 -->
+			<template #slot-modify="{scope}">
+				<el-button type="text" @click="modifyBtnFn(scope.row)">编辑</el-button>
+			</template>
+			<!-- 删除 -->
+			<template #slot-del="{scope}">
+				<el-button type="text" @click="delBtnFn(scope.row)">删除</el-button>
+			</template>
+
+			<!-- 添加 -->
+			<template #slot-add-ad-btn="{scope}">
+				<el-button type="primary" size="mini" @click="addBtnFn">添加</el-button>
+			</template>
+		</x-crud>
+		<!-- 新增弹窗 -->
+		<el-dialog
+			:title="`${addOrModify == 1 ? '添加' : '修改'}角色`"
+			:visible.sync="addDialog"
+			:close-on-click-modal="false"
+			width="600px"
+		>
+			<div class="ad-modal-content">
+				<el-form
+					:model="form"
+					:rules="ruleForm"
+					ref="form"
+					label-width="100px"
+					class="demo-form"
+				>
+					<el-form-item label="角色名称" prop="roleName">
+						<el-input
+							v-model="form.roleName"
+							placeholder="请输入名称"
+							size="small"
+						></el-input>
+					</el-form-item>
+				</el-form>
+			</div>
+			<div slot="footer" class="dialog-footer">
+				<el-button size="small" @click="resetForm">取 消</el-button>
+				<el-button type="primary" size="small" @click="submitForm('form')">确认</el-button>
+			</div>
+		</el-dialog>
+		<!-- 权限设置 -->
+		<role-set :show.sync="roleShow" :info="modifyData" />
+	</div>
+</template>
+
+<script>
+import roleSet from '@/components/role-set';
+export default {
+	name: 'list-ad',
+	components: {
+		roleSet
+	},
+	data() {
+		return {
+			app: null,
+			// 修改弹窗
+			modifyData: {},
+			// 新增或者修改弹窗
+			addOrModify: 1,
+			addDialog: false,
+			form: {
+				roleName: ''
+			},
+			ruleForm: {
+				roleName: [{ required: true, message: '请输入名称', trigger: 'blur' }]
+			},
+			// 权限设置
+			roleShow: false
+		};
+	},
+	methods: {
+		// api
+		delBtnFn(item) {
+
+			this.$message.success('即将开通...')
+			return false
+
+			this.$confirm('是否删除该角色?', '提示', {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning'
+			})
+				.then(() => {
+					this.$service.role.delete({ id: item.id }).then(res => {
+						this.$message.success('删除成功!');
+						this.app.refresh({ type: this.tabIndex });
+					});
+				})
+				.catch();
+		},
+		// operate
+		authBtnFn(item) {
+			this.$message.success('即将开通...')
+			return false
+			this.modifyData = item;
+			this.roleShow = true;
+		},
+		modifyBtnFn(item) {
+			this.addOrModify = 2;
+			this.modifyData = item;
+			this.addDialog = true;
+			let data = JSON.parse(JSON.stringify(item));
+			data.addTime = this.$util.$formatDate(data.addTime);
+			this.form.roleName = item.roleName;
+		},
+		addBtnFn() {
+			this.addOrModify = 1;
+			this.addDialog = true;
+		},
+		resetForm() {
+			this.$refs['form'].resetFields();
+			this.addDialog = false;
+		},
+
+		addFn() {
+			let host = null;
+			if (this.addOrModify == 1) {
+				host = () => {
+					return this.$service.role.add(this.form);
+				};
+			} else {
+				host = () => {
+					return this.$service.role.update({
+						id: this.modifyData.id,
+						...this.form
+					});
+				};
+			}
+			host(this.form).then(res => {
+				this.$message.success('操作成功!');
+				this.resetForm();
+				this.app.refresh({ type: this.tabIndex });
+			});
+		},
+		submitForm(formName) {
+			this.$refs[formName].validate(valid => {
+				if (valid) {
+					this.addFn();
+				} else {
+					console.log('error submit!!');
+					return false;
+				}
+			});
+		},
+		// x-crud 组件ad
+		onLoad({ ctx, app }) {
+			this.app = app;
+			ctx.service(this.$service.role)
+				.set('table', {
+					columns: [
+						{
+							prop: 'roleName',
+							label: '角色名称',
+							align: 'center'
+						},
+						{
+							prop: 'num',
+							label: '成员数量',
+							align: 'center'
+						},
+						{
+							prop: 'addTime',
+							label: '添加时间',
+							align: 'center'
+						}
+					],
+					// 操作列
+					op: {
+						visible: true, // 是否显示
+						// 同 element-ui Table-column Attributes
+						props: {
+							width: 160,
+							align: 'center',
+							fixed: 'right',
+							label: '操作'
+						},
+						// 布局,请移步 `layout`
+						layout: ['slot-auth', 'slot-modify', 'slot-del']
+					}
+				})
+				.set('layout', [
+					['slot-tabs'],
+					['flex1', 'slot-add-ad-btn', 'refresh-btn'],
+					['data-table'],
+					['flex1', 'pagination']
+				])
+				// .on('refresh', async (params, { next, render }) => {
+				// 	// 继续执行刷新
+				// 	let { list } = await next(params);
+				// 	list.map((e, index) => {
+				// 		e.index = index;
+				// 		e.imgUrl = e.smallImgList[0];
+				// 	});
+				// 	this.list = list;
+				// 	render(list);
+				// })
+				.done();
+			app.refresh({ type: this.tabIndex });
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+// module
+.ad-modal-content {
+	.member-wrap {
+		line-height: 1.4;
+		margin-bottom: 10px;
+		.member-det {
+			font-size: 12px;
+			margin-left: 10px;
+		}
+	}
+}
+</style>

+ 19 - 10
pt/src/service/item/index.js

@@ -2,26 +2,35 @@ import { BaseService, Service } from '@/cool';
 
 @Service('item')
 export class ItemService extends BaseService {
-    /**
-	 * 新增花材 b
-	 */
+	//新增花材
 	itemAdd(data) {
 		return this.request({
 			url: '/add',
 			method: 'POST',
 			data: data
 		});
-  }
-    /**
-	 * 批量新增花材 b
-	 */
-    batchAdd(data) {
+	}
+	//批量新增花材
+	batchAdd(data) {
 		return this.request({
 			url: '/batch-add',
 			method: 'POST',
 			data: data
 		});
-  }
-  
+	}
+	//批量新增花材
+	update(data) {
+		return this.request({
+			url: '/update',
+			method: 'POST',
+			data: data
+		});
+	}
+	getDetail(data) {
+		return this.request({
+			url: '/detail',
+			params: data
+		});
+	}
 }
 export default new ItemService();

+ 134 - 105
pt/src/views/item/list.vue

@@ -46,7 +46,7 @@
 			<template #slot-modify="{ scope }">
 				<el-button
 					type="text"
-					@click.native.stop="replaceBtnFn(scope.row.id, scope.row.name)"
+					@click.native.stop="replaceBtnFn(scope.row.id)"
 					>修改</el-button
 				>
 			</template>
@@ -69,29 +69,30 @@
 					>
 				</div>
 			</template>
+
 			<template #slot-add-goods-btn>
-				<el-button type="primary" size="mini" @click="addBtn">添加</el-button>
+				<el-button type="primary" size="mini" @click="replaceBtnFn(0)">添加</el-button>
 			</template>
 		</x-crud>
 
 		<!-- 新增弹窗 -->
 		<el-dialog
-			:title="`${addOrModify == 1 ? '添加' : '修改'}花材`"
+			:title="`${currentItemId == 0 ? '添加' : '修改'}花材`"
 			:visible.sync="addDialog"
 			:close-on-click-modal="false"
 			width="600px"
 		>
 			<div class="ad-modal-content">
 				<el-form
-					:model="adForm"
-					:rules="adFormRules"
-					ref="adForm"
+					:model="replaceForm"
+					:rules="replaceFormRules"
+					ref="replaceForm"
 					label-width="100px"
 					class="demo-form"
 				>
 					<el-form-item label="名称" prop="name">
 						<el-input
-							v-model="adForm.name"
+							v-model="replaceForm.name"
 							placeholder="请输入名称"
 							size="small"
 						></el-input>
@@ -99,20 +100,20 @@
 
 					<el-form-item label="别名" prop="alias">
 						<el-input
-							v-model="adForm.alias"
+							v-model="replaceForm.alias"
 							placeholder="请输入别名"
 							size="small"
 						></el-input>
 					</el-form-item>
 
-					<el-form-item label="图片" prop="adImg">
-						<cl-upload v-model="adForm.adImg" :success="uploadSuccess"></cl-upload>
+					<el-form-item label="图片" prop="cover">
+						<cl-upload v-model="replaceForm.cover" :success="uploadSuccess"></cl-upload>
 						<p style="font-size: 14px; color: #cccccc">建议上传图片比例 400X400</p>
 					</el-form-item>
 
 					<el-form-item label="分类" prop="classId">
 						<el-select
-							v-model="adForm.className"
+							v-model="replaceForm.className"
 							size="small"
 							placeholder="请选择分类"
 							@change="selClassFn"
@@ -128,7 +129,7 @@
 
 					<el-form-item label="大单位" prop="bigUnitId">
 						<el-select
-							v-model="adForm.bigUnitName"
+							v-model="replaceForm.bigUnit"
 							size="small"
 							placeholder="请选择单位"
 							@change="selBigUnitFn"
@@ -142,9 +143,9 @@
 						</el-select>
 					</el-form-item>
 
-					<el-form-item label="小单位" prop="samllUnitId">
+					<el-form-item label="小单位" prop="smallUnitId">
 						<el-select
-							v-model="adForm.samllUnitName"
+							v-model="replaceForm.smallUnit"
 							size="small"
 							placeholder="请选择单位"
 							@change="selSmallUnitFn"
@@ -160,7 +161,7 @@
 
 					<el-form-item label="单位比" prop="ratio">
 						<el-input
-							v-model="adForm.ratio"
+							v-model="replaceForm.ratio"
 							placeholder="1扎=20支,请输入20"
 							size="small"
 						></el-input>
@@ -168,36 +169,41 @@
 
 					<el-form-item label="库存预警" prop="stockWarning">
 						<el-input
-							v-model="adForm.stockWarning"
-							placeholder="请输入别名"
+							v-model="replaceForm.stockWarning"
+							placeholder="请输入数值"
 							size="small"
 						></el-input>
 					</el-form-item>
 
+					<el-form-item label="每扎重量" prop="weight">
+						<el-input
+							v-model="replaceForm.weight"
+							placeholder="请输入斤数"
+							size="small"
+						></el-input>
+					</el-form-item>
 
 					<el-form-item label="每扎成本价" prop="cost">
 						<el-input
-							v-model="adForm.cost"
-							placeholder="请输入别名"
+							v-model="replaceForm.cost"
+							placeholder="请输入成本价"
 							size="small"
 						></el-input>
 					</el-form-item>
 
-
 					<el-form-item label="每扎加价" prop="addPrice">
 						<el-input
-							v-model="adForm.addPrice"
-							placeholder="请输入价"
+							v-model="replaceForm.addPrice"
+							placeholder="请输入价"
 							size="small"
 						></el-input>
 					</el-form-item>
 
-
 				</el-form>
 			</div>
 			<div slot="footer" class="dialog-footer">
 				<el-button size="small" @click="resetForm">取 消</el-button>
-				<el-button type="primary" size="small" @click="addFn">确认</el-button>
+				<el-button type="primary" size="small" @click="replaceConfirmFn">确认</el-button>
 			</div>
 		</el-dialog>
 	</div>
@@ -226,65 +232,84 @@ export default {
 			},
 			classId: 0,
 			addDialog: false,
-			adForm: {
+			replaceForm: {
 				name: '',
 				alias: '',
 				classId: '',
 				className: '',
-				adImg: '',
-				bigUnitName: '',
+				cover: '',
 				bigUnitId: '',
-				smallUnitName: '',
+				bigUnit: '',
 				smallUnitId: '',
-        stockWarning:'',
-        cost:'',
-        addPrice:''
+				smallUnit: '',
+				stockWarning:'',
+				cost:'',
+				addPrice:'',
+				weight:'',
+				ratio:''
 			},
 			addOrModify: 1,
-			adFormRules: {
+			replaceFormRules: {
 				name: {
 					required: true,
-					message: '广告图名称不能为空',
+					message: '名称不能为空',
 				},
-				adImg: {
+				cover: {
 					required: true,
-					message: '广告图片不能为空',
+					message: '图片不能为空',
 				},
-				style: {
-					validator: (rule, value, callback) => {
-						const { url, style } = this.adForm;
-						if (style == '0') {
-							if (!url) {
-								//return callback(new Error('链接不能为空'));
-							}
-						} else {
-							if (!this.goodsData.id) {
-								return callback(new Error('请选择商品'));
-							}
-						}
-
-						callback();
-					},
+				classId: {
+					required: true,
+					message: '请选择分类',
 				},
+				bigUnit: {
+					required: true,
+					message: '请选择大单位',
+				},
+				smallUnit: {
+					required: true,
+					message: '请选择小单位',
+				},
+				ratio: {
+					required: true,
+					message: '比例不能为空',
+				},
+				stockWarning: {
+					required: true,
+					message: '最低库存不能为空',
+				},
+				cost: {
+					required: true,
+					message: '运费不能为空',
+				},
+				addPrice: {
+					required: true,
+					message: '加价不能为空',
+				},
+				weight: {
+					required: true,
+					message: '重量不能为空',
+				}
 			},
 			//分类列表
 			itemClassList: [],
 			unitList: [],
+			currentItemId: 0
 		};
 	},
 	computed: {},
 	methods: {
 		selClassFn(val) {
 			let index = this.itemClassList.findIndex((e) => e.name == val);
-			this.adForm.classId = this.itemClassList[index].id;
+			this.replaceForm.classId = this.itemClassList[index].id;
 		},
 		selBigUnitFn(val) {
 			let index = this.unitList.findIndex((e) => e.name == val);
-			this.adForm.bigUnitId = this.unitList[index].id;
+			this.replaceForm.bigUnit = this.unitList[index].id;
 		},
 		selSmallUnitFn(val) {
 			let index = this.unitList.findIndex((e) => e.name == val);
-			this.adForm.smallUnitId = this.unitList[index].id;
+			this.replaceForm.smallUnit = this.unitList[index].id;
 		},
 		getAllClass() {
 			if (!this.$util.isEmpty(this.itemClassList)) {
@@ -303,47 +328,33 @@ export default {
 			});
 		},
 		uploadSuccess() {
-			this.$refs['adForm'].validateField('adImg');
+			this.$refs['replaceForm'].validateField('cover');
 		},
-		addBtn() {
+		replaceBtnFn(id) {
 			this.getAllClass()
 			this.getAllUnit()
 			this.addDialog = true
-			this.adForm = {
-				name: '',
-				alias: '',
-				adImg: '',
-				bigUnitName: '',
-				bigUnitId: '',
-				smallUnitName: '',
-				smallUnitId: '',
-        stockWarning:'',
-        cost:'',
-        addPrice:''
-			}
-		},
-		selGoodsConfirmFn(item) {
-			let param = [];
-			item.forEach((value) => {
-				let newObj = {};
-				newObj.itemId = value.id;
-				newObj.classId = this.classId;
-				newObj.cost = value.cost;
-				newObj.addPrice = value.addPrice;
-				newObj.stockWarning = value.stockWarning;
-				param.push(newObj);
-			});
-			param = JSON.stringify(param);
-			console.log(param);
-			this.$service.item
-				.batchAdd({ data: param })
-				.then((res) => {
-					this.$message.success('操作成功!');
-					this.$router.go(0);
-				})
-				.catch((err) => {
-					console.log(err);
+			this.currentItemId = id
+			if(id == 0){
+				this.replaceForm = {
+					name: '',
+					alias: '',
+					cover: '',
+					bigUnitId: '',
+					bigUnit: '',
+					smallUnitId: '',
+					smallUnit: '',
+					stockWarning:'',
+					cost:'',
+					addPrice:'',
+					weight:'',
+					ratio:''
+				}
+			}else{
+				this.$service.item.getDetail({id:id}).then(async res => {
+					this.replaceForm = res
 				});
+			}
 		},
 		tabClick(tab, e) {
 			this.app.refresh({ classId: this.classId });
@@ -394,6 +405,24 @@ export default {
 							align: 'center',
 							'min-width': 100,
 						},
+						{
+							prop: 'weight',
+							label: '重量',
+							align: 'center',
+							'min-width': 100,
+						},
+						{
+							prop: 'bigUnit',
+							label: '大单位',
+							align: 'center',
+							minWidth: 100,
+						},
+						{
+							prop: 'smallUnit',
+							label: '小单位',
+							align: 'center',
+							minWidth: 100,
+						},
 						{
 							prop: 'inTurn',
 							label: '排序',
@@ -410,7 +439,7 @@ export default {
 					op: {
 						visible: true,
 						props: {
-							width: 300,
+							width: 250,
 							align: 'center',
 							fixed: 'right',
 							label: '操作',
@@ -430,7 +459,7 @@ export default {
 				})
 				.set('layout', [
 					['slot-tabs'],
-					['flex1', 'slot-add-goods-btn', 'refresh-btn'],
+					['flex1', 'slot-add-goods-btn',  'refresh-btn'],
 					['data-table'],
 					['flex1', 'pagination'],
 				])
@@ -466,30 +495,30 @@ export default {
 		},
 		resetForm() {
 			this.goodsData = {};
-			this.$refs['adForm'].resetFields();
+			this.$refs['replaceForm'].resetFields();
 			this.addDialog = false;
 		},
-		addFn() {
-			this.$refs.adForm.validate((valid) => {
+		replaceConfirmFn() {
+			this.$refs.replaceForm.validate((valid) => {
 				if (valid) {
-					let form = JSON.parse(JSON.stringify(this.adForm));
-					let host = null;
-					if (this.addOrModify == 1) {
+					let form = JSON.parse(JSON.stringify(this.replaceForm))
+					let host = null
+					if (this.currentItemId == 0) {
 						host = () => {
-							return this.$service.ad.add(form);
-						};
+							return this.$service.item.itemAdd(form)
+						}
 					} else {
 						host = () => {
-							return this.$service.ad.update({
+							return this.$service.item.update({
 								id: this.modifyData.id,
 								...form,
-							});
-						};
+							})
+						}
 					}
 					host().then((res) => {
-						this.$message.success('操作成功!');
-						this.resetForm();
-						this.app.refresh({ type: this.tabIndex });
+						this.$message.success('操作成功!')
+						this.resetForm()
+						this.app.refresh({ classId: this.classId })
 					});
 				}
 			});

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است