146 lines
4.8 KiB
Vue
146 lines
4.8 KiB
Vue
![]() |
<template>
|
|||
|
<div class="app-container customer-control">
|
|||
|
<div class="customer-box">
|
|||
|
<el-form ref="searchForm" :model="formInline" :rules="rules" class="demo-form-inline" :label-width="'auto'">
|
|||
|
<el-form-item label="商品名称" prop="goodName">
|
|||
|
<el-input v-model="formInline.goodName" clearable show-word-limit maxlength="30" style="width: 800px" />
|
|||
|
</el-form-item>
|
|||
|
|
|||
|
<el-form-item label="商品分类" required>
|
|||
|
<el-col :span="6">
|
|||
|
<el-form-item prop="categoryId">
|
|||
|
<el-select v-model="formInline.categoryId" placeholder="请选择" class="my-el-select">
|
|||
|
<el-option v-for="item in categoryList" :key="item.id" :value="item.id" :label="item.name" />
|
|||
|
</el-select>
|
|||
|
</el-form-item>
|
|||
|
</el-col>
|
|||
|
<el-col :span="6">
|
|||
|
<el-form-item prop="categoryId2">
|
|||
|
<el-select v-model="formInline.categoryId2" placeholder="请选择" class="my-el-select">
|
|||
|
<el-option v-for="item in categoryList2" :key="item.id" :value="item.id" :label="item.name" />
|
|||
|
</el-select>
|
|||
|
</el-form-item>
|
|||
|
</el-col>
|
|||
|
<el-col :span="6">
|
|||
|
<el-form-item prop="categoryId3">
|
|||
|
<el-select v-model="formInline.categoryId3" placeholder="请选择" class="my-el-select">
|
|||
|
<el-option v-for="item in categoryList3" :key="item.id" :value="item.id" :label="item.name" />
|
|||
|
</el-select>
|
|||
|
</el-form-item>
|
|||
|
</el-col>
|
|||
|
</el-form-item>
|
|||
|
</el-form>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</template>
|
|||
|
<script setup>
|
|||
|
import { ca } from "element-plus/es/locales.mjs";
|
|||
|
import { ref, reactive, computed, onMounted, onBeforeUnmount } from "vue";
|
|||
|
|
|||
|
const formInline = reactive({
|
|||
|
goodName: "高质量水稻",
|
|||
|
categoryId: "", //一级
|
|||
|
categoryId2: "", //二级
|
|||
|
categoryId3: "", //三级
|
|||
|
goodUrl:
|
|||
|
"https://image.cnhnb.com/image/jpg/head/2021/12/23/d304172c6f8f45a1aa11d9d1b51de309.jpg?x-tos-process=image/resize,m_fill,w_525,h_525/interlace,1/quality,q_100/format,jpg,https://image.cnhnb.com/image/jpg/head/2021/12/25/d345dde8938240afb9e59b16f77f8b50.jpg?x-tos-process=image/resize,m_fill,w_525,h_525/interlace,1/quality,q_100/format,jpg",
|
|||
|
netWeight: { "100元": "1kg", "200元": "10kg", "300元": "100kg" },
|
|||
|
stock: 6500,
|
|||
|
attribute: {
|
|||
|
品牌: "童涵春堂",
|
|||
|
型号: "种子种苗",
|
|||
|
储存条件: "15~25℃(避免高温或冷冻)",
|
|||
|
系列: "农用百货",
|
|||
|
产地: "耿马县",
|
|||
|
},
|
|||
|
sendAddress: "云南省昆明市",
|
|||
|
safeguard: "七天无理由退货",
|
|||
|
detailUrl:
|
|||
|
"https://image.cnhnb.com/image/jpg/head/2021/12/23/d304172c6f8f45a1aa11d9d1b51de309.jpg?x-tos-process=image/resize,m_fill,w_525,h_525/interlace,1/quality,q_100/format,jpg,https://image.cnhnb.com/image/jpg/head/2021/12/25/d345dde8938240afb9e59b16f77f8b50.jpg?x-tos-process=image/resize,m_fill,w_525,h_525/interlace,1/quality,q_100/format,jpg",
|
|||
|
brandId: "44552",
|
|||
|
traceCode: "45788",
|
|||
|
videoUrl: "",
|
|||
|
describe:
|
|||
|
"在实际应用中,你可能需要根据具体的业务需求来调整视频字段的表示方式。例如,在数据库设计中,你可能需要为每个字段定义更详细的数据类型、约束条件和索引策略;在API接口定义中,你可能需要为每个字段定义请求和响应的格式、错误码和文档说明等。",
|
|||
|
});
|
|||
|
const rules = reactive({
|
|||
|
goodName: [
|
|||
|
{ required: true, message: '请输入商品名称', trigger: 'blur' },
|
|||
|
],
|
|||
|
region: [
|
|||
|
{
|
|||
|
required: true,
|
|||
|
message: 'Please select Activity zone',
|
|||
|
trigger: 'change',
|
|||
|
},
|
|||
|
],
|
|||
|
count: [
|
|||
|
{
|
|||
|
required: true,
|
|||
|
message: 'Please select Activity count',
|
|||
|
trigger: 'change',
|
|||
|
},
|
|||
|
],
|
|||
|
date1: [
|
|||
|
{
|
|||
|
type: 'date',
|
|||
|
required: true,
|
|||
|
message: 'Please pick a date',
|
|||
|
trigger: 'change',
|
|||
|
},
|
|||
|
],
|
|||
|
date2: [
|
|||
|
{
|
|||
|
type: 'date',
|
|||
|
required: true,
|
|||
|
message: 'Please pick a time',
|
|||
|
trigger: 'change',
|
|||
|
},
|
|||
|
],
|
|||
|
location: [
|
|||
|
{
|
|||
|
required: true,
|
|||
|
message: 'Please select a location',
|
|||
|
trigger: 'change',
|
|||
|
},
|
|||
|
],
|
|||
|
type: [
|
|||
|
{
|
|||
|
type: 'array',
|
|||
|
required: true,
|
|||
|
message: 'Please select at least one activity type',
|
|||
|
trigger: 'change',
|
|||
|
},
|
|||
|
],
|
|||
|
resource: [
|
|||
|
{
|
|||
|
required: true,
|
|||
|
message: 'Please select activity resource',
|
|||
|
trigger: 'change',
|
|||
|
},
|
|||
|
],
|
|||
|
desc: [
|
|||
|
{ required: true, message: 'Please input activity form', trigger: 'blur' },
|
|||
|
],
|
|||
|
})
|
|||
|
const categoryList = ref([]);
|
|||
|
const categoryList2 = ref([]);
|
|||
|
const categoryList3 = ref([]);
|
|||
|
const searchForm = ref(null);
|
|||
|
const onSubmit = () => {
|
|||
|
console.log("submit!");
|
|||
|
console.log(formInline);
|
|||
|
};
|
|||
|
</script>
|
|||
|
<style lang="scss" scoped>
|
|||
|
.customer-box {
|
|||
|
border-radius: 16px;
|
|||
|
padding: 20px 16px;
|
|||
|
background-color: #fff;
|
|||
|
}
|
|||
|
|
|||
|
.my-el-select {
|
|||
|
margin-right: 16px;
|
|||
|
}
|
|||
|
</style>
|