shish 2 лет назад
Родитель
Сommit
e4cd4a7d73

+ 2 - 0
ghs/src/cool/request/index.js

@@ -53,12 +53,14 @@ import shopExt from '@/service/shop-ext/index';
 import book from '@/service/book/index';
 import bookCustom from '@/service/book-custom/index';
 import bookItemCustom from '@/service/book-item-custom/index';
+import stock from '@/service/stock/index';
 
 export function SET_SERVICE({ store }) {
 	// const files = require.context('@/service/', true, /\.js$/);
 	// const ignore = ['./request.js'];
 
 	let modules = {
+		stock,
 		bookItemCustom,
 		bookCustom,
 		book,

+ 13 - 0
ghs/src/service/stock/index.js

@@ -0,0 +1,13 @@
+import { BaseService, Service } from '@/cool';
+@Service('stock')
+export class StockService extends BaseService {
+
+	getDetail(data) {
+		return this.request({
+			url: '/detail',
+			params: data
+		});
+	}
+
+}
+export default new StockService();

+ 60 - 84
ghs/src/views/item/components/stock-detail.vue

@@ -1,105 +1,86 @@
 <template>
-	<div class="order-detail">
-		<el-drawer :visible.sync="showOrderDetail" size="1000px" :before-close="closeFn" custom-class="order-draw-wrap" >
-			<div class="order-manage-wrap" v-if="!$util.isEmpty(data)">
+	<div>
+		<el-drawer :visible.sync="showArea" size="1000px" :before-close="closeFn" custom-class="order-draw-wrap" direction="ltr">
+			<div>
+                <x-crud @load="onLoad">
 
-				<div class="card-wrap" style="margin-top:0px;">
-					<div class="card-tit">备注</div>
-					<div class="card-body">
-						<el-input type="textarea" :rows="1" placeholder="请输入内容" v-model="data[0].remark"></el-input>
-					</div>
-					<div style="text-align:center;margin-top:4px;">
-					<el-button @click.stop="modifyRemark()" size="small" type="primary" style="margin:0 auto;">修改</el-button>
-					</div>
-				</div>
-
-				<div class="card-wrap">
-					<div class="card-tit">花材信息</div>
-					<div class="card-body">
-						<el-table :data="data[0].product" show-summary>
-							<el-table-column label="花材图片">
-								<template slot-scope="scope">
-									<cl-avatar shape="square" :size="30" :src="scope.row.cover" ></cl-avatar>
-								</template>
-							</el-table-column>
-							<el-table-column property="name" label="花材名称"></el-table-column>
-							<el-table-column property="num" label="数量"></el-table-column>
-							<el-table-column property="refundNum" label="已退数量"></el-table-column>
-							<el-table-column property="xhUnitPrice" label="单价"></el-table-column>
-						</el-table>
-					</div>
-				</div>
-				<div class="card-wrap">
-					<div class="card-tit">客户</div>
-					<div class="card-body">
-						<el-table :data="data">
-							<el-table-column property="customName" label="名称"></el-table-column>
-							<el-table-column property="customMobile" label="手机号"></el-table-column>
-							<el-table-column property="fullAddress" label="地址" width="280px"></el-table-column>
-							<el-table-column property="showAddress" label="完整地址" width="280px"></el-table-column>
-						</el-table>
-					</div>
-				</div>
-				<div class="card-wrap">
-					<div class="card-tit">基本信息</div>
-					<div class="card-body">
-						<el-table :data="data">
-							<el-table-column property="orderSn" label="单号" width="180px"></el-table-column>
-							<el-table-column property="sendNum" label="编号"></el-table-column>
-							<el-table-column property="sendCost" label="运费"></el-table-column>
-							<el-table-column property="packCost" label="打包费"></el-table-column>
-							<el-table-column property="prePrice" label="原价"></el-table-column>
-							<el-table-column property="tkPrice" label="退款"></el-table-column>
-							<el-table-column property="actPrice" label="实际金额"></el-table-column>
-							<el-table-column property="debt" label="欠款">
-								<template slot-scope="scope">
-									<div v-if="scope.row.debt == 1">是</div><div v-else>-</div>
-								</template>
-							</el-table-column>
-							<el-table-column property="status" label="状态">
-								<template slot-scope="scope">
-									<span>{{ scope.row.status | constantfilter('ORDER_STATUS') }}</span>
-								</template>
-							</el-table-column>
-						</el-table>
-					</div>
-				</div>
+                </x-crud>
 			</div>
-			<div v-else  v-loading="loading" style="height:800px;"></div>
 		</el-drawer>
 	</div>
 </template>
 <script>
 export default {
-	name: 'order-detail',
+	name: 'stock-detail',
 	props: {
-		orderOperate: {
+		itemData: {
 			type: Object,
 			default: () => {}
 		}
 	},
 	data() {
 		return {
-			showOrderDetail: false,
+			showArea: false,
 			data: [],
 			loading:true
 		};
 	},
 	methods: {
-		modifyRemark(){
-			this.$service.order.modifyRemark({ id: this.orderOperate.id,remark:this.data[0].remark }).then(res => {
-				this.$notify({ title: '修改成功', message: 'SUCCESS', type: 'success'})
-			})
-		},
 		init() {
-			this.data = []
-			this.showOrderDetail = true
-			this.$service.order.info({ id: this.orderOperate.id }).then(res => {
-				this.data = [res]
-			});
+			this.showArea = true
+			this.app.refresh({id:this.itemData.id})
 		},
 		closeFn() {
-			this.showOrderDetail = false;
+			this.showArea = false;
+		},
+		onLoad({ ctx, app }) {
+			this.app = app;
+			ctx.service(this.$service.stock)
+			.set('table', {
+				columns: [
+					{
+						label: '日期',
+						prop: 'addTime',
+						align: 'center',
+					},
+					{
+						label: '名称',
+						prop: 'relateName',
+						align: 'center',
+					},
+					{
+						label: '事项',
+						prop: 'typeName',
+						align: 'center',
+					},
+					{
+						label: '变动',
+						prop: 'bigNumOrder',
+						align: 'center',
+					},
+					{
+						label: '剩余',
+						prop: 'bigNumStock',
+						align: 'center',
+					}
+				],
+				op: {
+					visible: true,
+					props: {
+						width: 160,
+						align: 'center',
+						fixed: 'right',
+						label: '操作'
+					},
+					layout: []
+				}
+			})
+			.set('layout', [
+				[ 'data-table' ],
+				['flex1', 'pagination']
+			])
+			.done()
+			app.refresh({id:this.itemData.id})
 		}
 	}
 };
@@ -133,11 +114,6 @@ export default {
 		}
 	}
 }
-.order-manage-wrap {
-	height: calc(100vh - 64px);
-	overflow-y: auto;
-	padding-bottom: 20px;
-}
 .card-wrap {
 	margin: 20px;
 	.card-tit {

+ 2 - 2
ghs/src/views/item/list.vue

@@ -231,7 +231,7 @@
 		  </div>
 	  </el-dialog>
 
-	  <stock-detail ref="stockDetail" :orderOperate="itemData" />
+	  <stock-detail ref="stockDetail" :itemData="itemData" />
 
   </div>
 </template>
@@ -378,7 +378,7 @@ export default {
 		itemClassList: [],
 		unitList: [],
 		currentItemId: 0,
-		itemData:[]
+		itemData:{}
     };
   },
   computed: {