style:模具管理页面-字段调整

liutao_branch
黄伟杰 3 months ago
parent 45d1099458
commit 628d32bb85

@ -73,19 +73,6 @@ const queryParams = reactive({
brandId: undefined as unknown brandId: undefined as unknown
}) })
/** 监听主表的关联字段的变化,加载对应的子表数据 */
watch(
() => props.brandId,
(val: number) => {
if (!val) {
return
}
queryParams.brandId = val
handleQuery()
},
{ immediate: true, deep: true }
)
/** 查询列表 */ /** 查询列表 */
const getList = async () => { const getList = async () => {
loading.value = true loading.value = true
@ -104,6 +91,19 @@ const handleQuery = () => {
getList() getList()
} }
/** 监听主表的关联字段的变化,加载对应的子表数据 */
watch(
() => props.brandId,
(val: number) => {
if (!val) {
return
}
queryParams.brandId = val
handleQuery()
},
{ immediate: true, deep: true }
)
/** 添加/修改操作 */ /** 添加/修改操作 */
const formRef = ref() const formRef = ref()
const openForm = (type: string, id?: number) => { const openForm = (type: string, id?: number) => {

@ -12,9 +12,9 @@
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="模具编码" align="center" prop="code"/> <el-table-column label="模具编码" align="center" prop="code"/>
<el-table-column label="模具名称" align="left" prop="name" /> <el-table-column label="模具名称" align="left" prop="name" />
<el-table-column label="单位" align="center" prop="unitName" /> <!-- <el-table-column label="单位" align="center" prop="unitName" /> -->
<!-- <el-table-column label="机台" align="center" prop="machineId" /> -->
<el-table-column label="使用次数" align="center" prop="useTime" /> <el-table-column label="使用次数/次" align="center" prop="useTime" />
<el-table-column <el-table-column
label="入库时间" label="入库时间"
align="center" align="center"
@ -26,6 +26,7 @@
<dict-tag :type="DICT_TYPE.ERP_MOLD_STATUS" :value="scope.row.status" /> <dict-tag :type="DICT_TYPE.ERP_MOLD_STATUS" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="机台" align="center" prop="machineId" /> -->
<!-- <el-table-column label="模具图片" align="center" prop="images" /> --> <!-- <el-table-column label="模具图片" align="center" prop="images" /> -->
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="是否启用" align="center" prop="isEnable" > <el-table-column label="是否启用" align="center" prop="isEnable" >
@ -106,19 +107,6 @@ const queryParams = reactive({
brandId: undefined as unknown brandId: undefined as unknown
}) })
/** 监听主表的关联字段的变化,加载对应的子表数据 */
watch(
() => props.brandId,
(val: number) => {
if (!val) {
return
}
queryParams.brandId = val
handleQuery()
},
{ immediate: true, deep: true }
)
/** 查询列表 */ /** 查询列表 */
const getList = async () => { const getList = async () => {
loading.value = true loading.value = true
@ -137,6 +125,19 @@ const handleQuery = () => {
getList() getList()
} }
/** 监听主表的关联字段的变化,加载对应的子表数据 */
watch(
() => props.brandId,
(val: number) => {
if (!val) {
return
}
queryParams.brandId = val
handleQuery()
},
{ immediate: true, deep: true }
)
/** 添加/修改操作 */ /** 添加/修改操作 */
const formRef = ref() const formRef = ref()
const openForm = (type: string, id?: number) => { const openForm = (type: string, id?: number) => {

@ -26,31 +26,21 @@
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="规格" prop="moldType"> <el-form-item label="工序" prop="orgType">
<el-input
v-model="queryParams.moldType"
placeholder="请输入规格"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="产品" prop="productId">
<el-select <el-select
v-model="queryParams.productId" v-model="queryParams.orgType"
placeholder="请选择工序"
clearable clearable
filterable
placeholder="请选择产品"
class="!w-240px" class="!w-240px"
> >
<el-option <el-option
v-for="item in productList" v-for="dict in orgTypeOptions"
:key="item.id" :key="dict.value"
:label="item.name" :label="dict.label"
:value="item.id" :value="dict.value"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="维保模式" prop="maintainType"> <!-- <el-form-item label="维保模式" prop="maintainType">
<el-select <el-select
v-model="queryParams.maintainType" v-model="queryParams.maintainType"
@ -66,15 +56,6 @@
/> />
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item label="备注" prop="remark">
<el-input
v-model="queryParams.remark"
placeholder="请输入备注"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
@ -103,13 +84,17 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<el-table <el-table
ref="tableRef"
v-loading="loading" v-loading="loading"
:data="list" :data="list"
:stripe="true" :stripe="true"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
row-key="id"
highlight-current-row highlight-current-row
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
@selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" fixed="left" reserve-selection />
<el-table-column label="型号编码" align="center" prop="code"/> <el-table-column label="型号编码" align="center" prop="code"/>
<el-table-column label="型号名称" align="left" prop="name"/> <el-table-column label="型号名称" align="left" prop="name"/>
<el-table-column label="规格" align="center" prop="moldType" /> <el-table-column label="规格" align="center" prop="moldType" />
@ -168,26 +153,31 @@
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
<MoldBrandForm ref="formRef" @success="getList" /> <MoldBrandForm ref="formRef" @success="getList" />
<!-- 子表的列表 --> <!-- 子表的列表 -->
<ContentWrap> <ContentWrap v-if="currentBrandId">
<div class="mb-10px text-14px font-600">
{{ currentBrandDisplay }}
</div>
<el-tabs model-value="mold"> <el-tabs model-value="mold">
<el-tab-pane label="模具" name="mold"> <el-tab-pane label="模具" name="mold">
<MoldList :brand-id="currentRow.id" /> <MoldList :brand-id="currentBrandId" />
</el-tab-pane>
<el-tab-pane label="产品" name="moldBrandProduct">
<MoldBrandProductList :brand-id="currentRow.id" />
</el-tab-pane> </el-tab-pane>
<!-- <el-tab-pane label="产品" name="moldBrandProduct">
<MoldBrandProductList :brand-id="currentBrandId" />
</el-tab-pane> -->
</el-tabs> </el-tabs>
</ContentWrap> </ContentWrap>
<ContentWrap v-else>
<el-empty description="请先点击上方列表选择一个模具型号" />
</ContentWrap>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' import { getStrDictOptions, DICT_TYPE } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime' import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download' import download from '@/utils/download'
import { MoldBrandApi, MoldBrandVO } from '@/api/erp/mold' import { MoldBrandApi, MoldBrandVO } from '@/api/erp/mold'
import MoldBrandForm from './MoldBrandForm.vue' import MoldBrandForm from './MoldBrandForm.vue'
import MoldList from './components/MoldList.vue' import MoldList from './components/MoldList.vue'
import { ProductApi, ProductVO } from '@/api/erp/product/product'
import MoldBrandProductList from './components/MoldBrandProductList.vue' import MoldBrandProductList from './components/MoldBrandProductList.vue'
/** 模具型号 列表 */ /** 模具型号 列表 */
@ -195,7 +185,6 @@ defineOptions({ name: 'MoldBrand' })
const message = useMessage() // const message = useMessage() //
const { t } = useI18n() // const { t } = useI18n() //
const productList = ref<ProductVO[]>([]) //
const loading = ref(true) // const loading = ref(true) //
const list = ref<MoldBrandVO[]>([]) // const list = ref<MoldBrandVO[]>([]) //
const total = ref(0) // const total = ref(0) //
@ -204,6 +193,7 @@ const queryParams = reactive({
pageSize: 10, pageSize: 10,
code: undefined, code: undefined,
name: undefined, name: undefined,
orgType: undefined,
moldType: undefined, moldType: undefined,
productId: undefined, productId: undefined,
useTime: [], useTime: [],
@ -216,6 +206,13 @@ const queryParams = reactive({
}) })
const queryFormRef = ref() // const queryFormRef = ref() //
const exportLoading = ref(false) // const exportLoading = ref(false) //
const orgTypeOptions = computed(() => getStrDictOptions(DICT_TYPE.MES_ORG_TYPE))
const tableRef = ref()
const selectedIds = ref<Array<number | string>>([])
const handleSelectionChange = (rows: any[]) => {
selectedIds.value = rows?.map((row) => row.id).filter((id) => id !== undefined && id !== null && id !== '') ?? []
}
/** 查询列表 */ /** 查询列表 */
const getList = async () => { const getList = async () => {
@ -267,7 +264,10 @@ const handleExport = async () => {
await message.exportConfirm() await message.exportConfirm()
// //
exportLoading.value = true exportLoading.value = true
const data = await MoldBrandApi.exportMoldBrand(queryParams) const data = await MoldBrandApi.exportMoldBrand({
...queryParams,
...(selectedIds.value.length ? { ids: selectedIds.value.join(',') } : {})
})
download.excel(data, '模具型号.xls') download.excel(data, '模具型号.xls')
} catch { } catch {
} finally { } finally {
@ -276,15 +276,18 @@ const handleExport = async () => {
} }
/** 选中行操作 */ /** 选中行操作 */
const currentRow = ref({}) // const currentRow = ref<MoldBrandVO | null>(null) //
const handleCurrentChange = (row) => { const currentBrandId = computed(() => currentRow.value?.id)
const currentBrandDisplay = computed(() => {
if (!currentRow.value) return ''
return `${currentRow.value.name}-${currentRow.value.code}`
})
const handleCurrentChange = (row: MoldBrandVO | null) => {
currentRow.value = row currentRow.value = row
} }
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
await getList() await getList()
//
productList.value = await ProductApi.getMesProductSimpleList()
}) })
</script> </script>

Loading…
Cancel
Save