index.vue 3.57 KB
Newer Older
张成 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
<template>
	<el-dialog title="选择商品" :visible.sync="open" width="1000px" append-to-body>
		<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
			label-width="68px">
			<el-form-item label="商品名称" prop="spuName">
				<el-input v-model="queryParams.spuName" placeholder="请输入商品名称" clearable
					@keyup.enter.native="handleQuery" />
			</el-form-item>
			<el-form-item label="分类" prop="category">
				<SelectCategory v-model="queryParams.category" placeholder="分类" />
			</el-form-item>
			<el-form-item>
				<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
				<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
			</el-form-item>
		</el-form>
		<el-table v-loading="loading" :data="spuList" @selection-change="handleSelectionChange">
			<el-table-column type="selection" width="55" align="center" />
			<el-table-column label="商品名称" align="center" prop="name" />
			<el-table-column label="制作时长" align="center" prop="takeTime" />
			<el-table-column label="折扣价" align="center" prop="discount" />
			<el-table-column label="原价" align="center" prop="price" />
			<!-- <el-table-column label="标签" align="center" prop="label" /> -->
			<el-table-column label="简介" align="center" prop="desc" />
			<el-table-column label="备注" align="center" prop="remarks" />
			<!-- <el-table-column
        label="上架时间"
        align="center"
        prop="shelfTime"
        width="180"
      >
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.shelfTime, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column> -->
			<el-table-column label="状态" align="center" prop="status" />
		</el-table>
		<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
			:limit.sync="queryParams.pageSize" @pagination="getList" />
		<div slot="footer" class="dialog-footer">
			<el-button type="primary" @click="submit"> </el-button>
			<el-button @click="cancel"> </el-button>
		</div>
	</el-dialog>
</template>

<script>
import { listSpu } from "@/api/system/goods";
import SelectCategory from '@/components/SelectCategory'
export default {
	components: { SelectCategory },
	name: "Spu",
	data() {
		return {
			ids: [],
			// 遮罩层
			loading: true,
			// 显示搜索条件
			showSearch: true,
			// 总条数
			total: 0,
			// 表格数据
			spuList: [],
			// 是否显示弹出层
			open: false,
			// 查询参数
			queryParams: {
				pageNum: 1,
				pageSize: 10,
				spuName: null,
				productionTime: null,
				discountPrice: null,
				originalPrice: null,
				label: null,
				desc: null,
				createUserId: null,
				updateUserId: null,
				shelfTime: null,
				status: null,
			},
		};
	},
	created() {
		this.getList();
	},
	methods: {
		/** 查询列表 */
		getList() {
			this.loading = true;
			listSpu(this.queryParams).then((response) => {
				this.spuList = response.rows;
				this.total = response.total;
				this.loading = false;
			});
		},

		/** 搜索按钮操作 */
		handleQuery() {
			this.queryParams.pageNum = 1;
			this.getList();
		},
		/** 重置按钮操作 */
		resetQuery() {
			this.resetForm("queryForm");
			this.handleQuery();
		},
		// 多选框选中数据
		handleSelectionChange(selection) {
			this.ids = selection.map((item) => item.id);
		},
		// 取消按钮
		cancel() {
			this.open = false;
			this.reset();
		},
		openModal() {
			this.open = true
		},
		submit() {
			this.$emit('callback', this.ids)
			this.open = false
		}
	},
};
</script>