|
@@ -1,266 +0,0 @@
|
|
|
-<template>
|
|
|
- <div class="table_item">
|
|
|
- <s-table ref="tableRef" :columns="columns" :data="loadData" :row-key="(record) => record.code">
|
|
|
- <template #operator>
|
|
|
- <!-- 搜索区域 -->
|
|
|
- <div class="table-search">
|
|
|
- <div class="table-search-form">
|
|
|
- <a-row :gutter="10">
|
|
|
- <a-form
|
|
|
- ref="searchFormRef"
|
|
|
- name="advanced_search"
|
|
|
- layout="inline"
|
|
|
- :label-col="{ style: { width: '70px', justifyContent: 'end' } }"
|
|
|
- :model="searchFormState"
|
|
|
- class="ant-advanced-search-form"
|
|
|
- >
|
|
|
- <a-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
|
|
|
- <a-form-item label="型号名称" name="code">
|
|
|
- <a-input v-model:value="searchFormState.code" placeholder="请输入型号名称" /> </a-form-item
|
|
|
- ></a-col>
|
|
|
- </a-form>
|
|
|
- </a-row>
|
|
|
- </div>
|
|
|
- <div class="table-search-buttons">
|
|
|
- <a-button type="primary" @click="tableRef.refresh(true)">查询</a-button>
|
|
|
- <a-button class="xn-mg08" @click="reset">重置</a-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <!-- 其他操作区域 -->
|
|
|
- <div class="table-head-btn">
|
|
|
- <div class="btn-left">
|
|
|
- <a-button type="primary" @click="onOpen()">
|
|
|
- <template #icon><plus-outlined /></template>新增
|
|
|
- </a-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template #bodyCell="{ column, record }">
|
|
|
- <template v-if="column.dataIndex === 'action'">
|
|
|
- <a-button type="link" size="small" @click="onOpen(record)">编辑</a-button>
|
|
|
- <a-popconfirm title="确定要删除吗?" @confirm="deleteData(record)">
|
|
|
- <a-button type="link" danger size="small">删除</a-button>
|
|
|
- </a-popconfirm>
|
|
|
- </template>
|
|
|
- </template>
|
|
|
- </s-table>
|
|
|
-
|
|
|
- <!-- 弹框 -->
|
|
|
- <xn-form-container
|
|
|
- :title="formData.code ? '编辑' : '新增'"
|
|
|
- :width="'600px'"
|
|
|
- :visible="visible"
|
|
|
- :destroy-on-close="true"
|
|
|
- @close="onClose"
|
|
|
- >
|
|
|
- <a-form
|
|
|
- ref="formRef"
|
|
|
- :model="formData"
|
|
|
- :rules="formRules"
|
|
|
- layout="inline"
|
|
|
- :label-col="{ style: { width: '80px', justifyContent: 'end' } }"
|
|
|
- >
|
|
|
- <a-form-item label="名称" name="name">
|
|
|
- <a-input v-model:value="formData.name" placeholder="请输入名称" allow-clear />
|
|
|
- </a-form-item>
|
|
|
- <a-form-item label="对象类别">
|
|
|
- <a-select ref="select" v-model:value="formData.type" placeholder="请选择对象类别">
|
|
|
- <a-select-option value="1">冰箱</a-select-option>
|
|
|
- <a-select-option value="2">新装</a-select-option>
|
|
|
- <a-select-option value="3">液氮罐</a-select-option>
|
|
|
- </a-select>
|
|
|
- </a-form-item>
|
|
|
- <a-form-item label="品牌">
|
|
|
- <a-input v-model:value="formData.pp" placeholder="请输入品牌" allow-clear />
|
|
|
- </a-form-item>
|
|
|
- <a-form-item label="型号图片" name="image">
|
|
|
- <xn-upload v-model:value="formData.image" uploadMode="image" />
|
|
|
- </a-form-item>
|
|
|
- <a-form-item label="备注">
|
|
|
- <a-textarea
|
|
|
- v-model:value="formData.remarks"
|
|
|
- placeholder="请输入备注"
|
|
|
- allow-clear
|
|
|
- :maxlength="200"
|
|
|
- :rows="4"
|
|
|
- />
|
|
|
- </a-form-item>
|
|
|
- </a-form>
|
|
|
-
|
|
|
- <template #footer>
|
|
|
- <a-button class="xn-mr8" @click="onClose">退出</a-button>
|
|
|
- <a-button type="primary" @click="onSubmit">保存</a-button>
|
|
|
- </template>
|
|
|
- </xn-form-container>
|
|
|
- </div>
|
|
|
-</template>
|
|
|
-
|
|
|
-<script setup>
|
|
|
- import tool from '@/utils/tool'
|
|
|
- import jobApi from '@/api/dev/jobApi'
|
|
|
- import { required } from '@/utils/formRules'
|
|
|
- const searchFormState = ref({})
|
|
|
- const tableRef = ref()
|
|
|
- const columns = [
|
|
|
- {
|
|
|
- title: '对象类别',
|
|
|
- dataIndex: 'code',
|
|
|
- align: 'center',
|
|
|
- ellipsis: true
|
|
|
- },
|
|
|
- {
|
|
|
- title: '品牌',
|
|
|
- dataIndex: 'pp',
|
|
|
- align: 'center',
|
|
|
- ellipsis: true
|
|
|
- },
|
|
|
- {
|
|
|
- title: '对象型号名称',
|
|
|
- dataIndex: 'name',
|
|
|
- align: 'center',
|
|
|
- ellipsis: true
|
|
|
- },
|
|
|
- {
|
|
|
- title: '对象型号图片',
|
|
|
- dataIndex: 'img',
|
|
|
- align: 'center',
|
|
|
- ellipsis: true
|
|
|
- },
|
|
|
- {
|
|
|
- title: '描述',
|
|
|
- dataIndex: 'describe',
|
|
|
- align: 'center',
|
|
|
- ellipsis: true
|
|
|
- },
|
|
|
- {
|
|
|
- title: '创立时间',
|
|
|
- dataIndex: 'date',
|
|
|
- align: 'center',
|
|
|
- ellipsis: true
|
|
|
- },
|
|
|
-
|
|
|
- {
|
|
|
- title: '操作',
|
|
|
- dataIndex: 'action',
|
|
|
- align: 'center',
|
|
|
- width: 150
|
|
|
- }
|
|
|
- ]
|
|
|
-
|
|
|
- const loadData = (parameter) => {
|
|
|
- return jobApi.jobPage(Object.assign(parameter, searchFormState.value)).then((res) => {
|
|
|
- // return res
|
|
|
- const obj = {
|
|
|
- current: 1,
|
|
|
- pages: 1,
|
|
|
- records: [
|
|
|
- {
|
|
|
- code: 'Y6578945621',
|
|
|
- name: '20241105123456',
|
|
|
- describe: '对象型号管理描述描述描述描述描述描述描述描述描述',
|
|
|
- date: '2024-09-28 07:03:24',
|
|
|
- creator: 'ADMIN'
|
|
|
- },
|
|
|
- {
|
|
|
- code: 'Y6578945622',
|
|
|
- name: '20241105223456',
|
|
|
- describe: '对象型号管理描述描述描述描述描述描述描述描述描述',
|
|
|
- date: '2024-09-28 09:21:51',
|
|
|
- creator: 'ADMIN'
|
|
|
- },
|
|
|
- {
|
|
|
- code: 'Y6578945623',
|
|
|
- name: '202411051323456',
|
|
|
- describe: '对象型号管理描述描述描述描述描述描述描述描述描述',
|
|
|
- date: '2024-09-28 11:06:20',
|
|
|
- creator: 'ADMIN'
|
|
|
- },
|
|
|
- {
|
|
|
- code: 'Y6578945624',
|
|
|
- name: '202411051423456',
|
|
|
- describe: '对象型号管理描述描述描述描述描述描述描述描述描述',
|
|
|
- date: '2024-09-28 11:54:19',
|
|
|
- creator: 'ADMIN'
|
|
|
- },
|
|
|
- {
|
|
|
- code: 'Y6578945625',
|
|
|
- name: '202411051523456',
|
|
|
- describe: '对象型号管理描述描述描述描述描述描述描述描述描述',
|
|
|
-
|
|
|
- date: '2024-09-28 16:17:36',
|
|
|
- creator: 'ADMIN'
|
|
|
- },
|
|
|
- {
|
|
|
- code: 'Y6578945626',
|
|
|
- name: '202411051463456',
|
|
|
- describe: '对象型号管理描述描述描述描述描述描述描述描述描述',
|
|
|
- date: '2024-09-28 19:35:58',
|
|
|
- creator: 'ADMIN'
|
|
|
- }
|
|
|
- ],
|
|
|
- size: 10,
|
|
|
- total: 6
|
|
|
- }
|
|
|
- return obj
|
|
|
- })
|
|
|
- }
|
|
|
- // 重置
|
|
|
- const reset = () => {
|
|
|
- searchFormRef.value.resetFields()
|
|
|
- tableRef.value.refresh(true)
|
|
|
- }
|
|
|
-
|
|
|
- // 删除
|
|
|
- const deleteData = (record) => {
|
|
|
- console.log(record, '删除')
|
|
|
- }
|
|
|
- const visible = ref(false)
|
|
|
- const formRef = ref()
|
|
|
- // 表单数据
|
|
|
- const formData = ref({})
|
|
|
- // 默认要校验的
|
|
|
- const formRules = {
|
|
|
- name: [required('请输入类别名称')],
|
|
|
- code: [required('请输入类别编码')]
|
|
|
- }
|
|
|
- // 新增编辑打开弹框
|
|
|
- const onOpen = (record) => {
|
|
|
- visible.value = true
|
|
|
- if (record) {
|
|
|
- formData.value = Object.assign({}, record)
|
|
|
- } else {
|
|
|
- formData.value = { type: '1' }
|
|
|
- }
|
|
|
- }
|
|
|
- // 关闭弹框
|
|
|
- const onClose = () => {
|
|
|
- formRef.value.resetFields()
|
|
|
- visible.value = false
|
|
|
- }
|
|
|
- // 验证并提交数据
|
|
|
- const onSubmit = () => {
|
|
|
- formRef.value
|
|
|
- .validate()
|
|
|
- .then(() => {
|
|
|
- console.log(formData.value.list, '提交数据')
|
|
|
- // onClose()
|
|
|
- })
|
|
|
- .catch((error) => {
|
|
|
- console.log(error)
|
|
|
- })
|
|
|
- }
|
|
|
-</script>
|
|
|
-
|
|
|
-<style lang="less" scoped>
|
|
|
- .table_item {
|
|
|
- padding: 15px 20px;
|
|
|
- }
|
|
|
- :deep(.ant-table-pagination-right) {
|
|
|
- justify-content: center !important;
|
|
|
- }
|
|
|
- :deep(.ant-form-item) {
|
|
|
- width: 100%;
|
|
|
- margin-bottom: 10px;
|
|
|
- }
|
|
|
-</style>
|