<script setup>
|
import request from "@/utils/request"
|
import deepClone from "@/utils/deepClone"
|
import {ElDatePicker, ElMessage} from "element-plus"
|
import useProductGlassTypeStore from "@/stores/productGlassType"
|
import {watch} from "vue"
|
import {Search} from "@element-plus/icons-vue"
|
import GlassType from "@/components/sd/product/GlassType.vue"
|
import {useRouter} from 'vue-router'
|
import BasicTable from '@/components/basic/BasicTable.vue'
|
let productGlassTypeStore = useProductGlassTypeStore()
|
let router=useRouter()
|
watch(productGlassTypeStore,(newVal,oldVal) => {
|
let list = productList.filter( product=>{
|
return product.glassType==newVal.GlassType
|
})
|
})
|
|
//let productList=$ref([])
|
let flag = $ref(false)
|
request.get("/product").then((res) => {
|
if(res.code==200){
|
tableProp.datas= deepClone(res.data)
|
flag = true
|
}else{
|
ElMessage.warning(res.msg)
|
router.push("/login")
|
}
|
})
|
|
//子组件接收参数
|
let tableProp = $ref({
|
title:[
|
{type:'expand',fixed:"left",slots: { content:'content' },width: 50},
|
{type: 'seq',fixed:"left", title: '自序', width: 80 },
|
{title: '操作', width: 110, slots: { default: 'button_slot' },fixed:"left"},
|
{field: 'prodID', title: '编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
|
{field: 'product', title: '名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
|
{field: 'typeName', title: '所属类别',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
|
{field: 'query', title: '快速查询',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
|
{field: 'remarks', title: '备注',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
|
{field: 'creator', title: '创建人',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
|
{field: 'createTime', title: '创建时间',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}
|
],
|
datas:null,
|
footList:[],
|
//筛选条件列
|
filter:{
|
},
|
})
|
|
|
|
const getChildren = (row,type) =>{
|
switch (type) {
|
case 'edit' : {
|
router.push({path: '/main/product/createProduct', query: { id: row.id }})
|
break
|
}
|
case 'delete': {
|
alert('我接收到子组件传送的删除信息')
|
break
|
}
|
}
|
}
|
|
const getCheckList = (row) =>{
|
alert('我接收到子组件传送的确认复选框信息可在控制台查看')
|
console.log(row)
|
}
|
|
</script>
|
|
<template>
|
|
<div style="width: 100%;height: 100%">
|
<glass-type style="float: left" />
|
<el-button
|
id="select"
|
type="primary" :icon="Search">查询</el-button>
|
|
|
<basic-table style="height: 97%" v-if="flag"
|
:tableProp="tableProp"
|
@getCheckList="getCheckList"
|
@getChildren="getChildren"
|
></basic-table>
|
|
|
|
<!-- <el-table
|
v-loading="loading"
|
:data="productList"
|
:header-cell-style="{ 'text-align': 'center' }"
|
:cell-style="{ 'text-align': 'center' }"
|
lazy
|
border
|
style="width: 100%;"
|
max-height="80vh">
|
|
|
<el-table-column type="expand" fixed>
|
<template #default="props">
|
<div m="4">
|
<p m="t-0 b-2">编号: {{ props.row.prodID }}</p>
|
<p m="t-0 b-2">名称: {{ props.row.product }}</p>
|
<p m="t-0 b-2">所属类别: {{ props.row.glassType }}</p>
|
<p m="t-0 b-2">快速查询: {{ props.row.query }}</p>
|
<p m="t-0 b-2">备注: {{ props.row.remarks }}</p>
|
<p m="t-0 b-2">创建人: {{ props.row.creator }}</p>
|
<p m="t-0 b-2">创建时间: {{ props.row.createTime }}</p>
|
</div>
|
</template>
|
</el-table-column>
|
<el-table-column label="操作" width="110" fixed >
|
<el-button link type="primary" size="small">编辑</el-button>
|
<el-button link type="primary" size="small">删除</el-button>
|
</el-table-column>
|
<el-table-column sortable prop="prodID" label="编号" width="110" />
|
<el-table-column prop="product" label="名称" :show-overflow-tooltip='true' />
|
<el-table-column prop="typeName" label="所属类别" width="175" />
|
<el-table-column prop="query" label="快速查询" width="150" />
|
<el-table-column prop="remarks" label="备注" :show-overflow-tooltip='true' width="100" />
|
<el-table-column prop="creator" label="创建人" width="75" />
|
<el-table-column prop="createTime" label="创建时间" width="100" />
|
</el-table>-->
|
</div>
|
</template>
|
|
<style scoped>
|
|
</style>
|