马宇豪
2025-03-04 1b9fea7d4af68d8f933b2dc42bf6084b9646f64c
src/views/intellectInspect/inspectBasic/discriminate/index.vue
@@ -20,13 +20,17 @@
                    <el-icon>
                        <ele-FolderAdd />
                    </el-icon>
                    新增巡检指标
                    新增RFID
                </el-button>
                <el-button type="primary" :icon="Upload" size="default" @click="openUploadDialog('id')">导入</el-button>
            </div>
            <el-table :data="RFIDData.data" style="width: 100%">
                <el-table-column type="index" label="序号" width="60" />
                <el-table-column prop="rfidName" label="RFID名称" show-overflow-tooltip></el-table-column>
                <el-table-column prop="rfid" label="RFID编码" show-overflow-tooltip></el-table-column>
                <el-table-column prop="exceptionHandler" label="异常处理人" show-overflow-tooltip></el-table-column>
                <el-table-column prop="exceptionHandlerPhone" label="异常处理人手机号" show-overflow-tooltip></el-table-column>
                <el-table-column prop="rfidDepartment" label="RFID所属车间" show-overflow-tooltip></el-table-column>
                <el-table-column prop="createUserName" label="创建人" show-overflow-tooltip></el-table-column>
                <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column>
                <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip></el-table-column>
@@ -39,23 +43,12 @@
                </el-table-column>
            </el-table>
            <br />
            <el-pagination
                @size-change="onHandleSizeChange"
                @current-change="onHandleCurrentChange"
                :pager-count="5"
                :page-sizes="[10, 20, 30]"
                v-model:current-page="RFIDData.params.pageIndex"
                background
                v-model:page-size="RFIDData.params.pageSize"
                layout="total, sizes, prev, pager, next, jumper"
                :total="RFIDData.total"
                class="page-position"
            >
            </el-pagination>
            <el-pagination @size-change="onHandleSizeChange" @current-change="onHandleCurrentChange" :pager-count="5" :page-sizes="[10, 20, 30]" v-model:current-page="RFIDData.params.pageIndex" background v-model:page-size="RFIDData.params.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="RFIDData.total" class="page-position"> </el-pagination>
            <br />
            <br />
        </el-card>
        <RFIDDialog ref="RFIDDialogRef" @refreshRFID="initRFIDTableData" />
        <upload-dialog ref="uploadRef" @refresh="initRFIDTableData"></upload-dialog>
    </div>
</template>
@@ -63,9 +56,11 @@
import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';
import { ElMessageBox, ElMessage } from 'element-plus';
import RFIDDialog from './components/RFIDDialog.vue';
import uploadDialog from '/@/views/intellectInspect/inspectTaskManage/inspectTask/components/upload.vue'
import { RFIDApi } from '/@/api/intellectInspectSystem/RFID';
import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';
import { Edit, View, Plus, Delete, Refresh, Search, Download, Upload } from '@element-plus/icons-vue';
import type { UploadProps, UploadUserFile } from 'element-plus'
import {departmentApi} from "/@/api/systemManage/department";
// 定义接口来定义对象的类型
interface TableData {
    quota: string;
@@ -79,6 +74,7 @@
interface TableDataState {
    RFIDData: {
        data: Array<TableData>;
        departmentList: [];
        total: number;
        loading: boolean;
        params: {
@@ -92,12 +88,14 @@
export default defineComponent({
    name: 'RFID',
    components: { RFIDDialog, Edit, Delete },
    components: { RFIDDialog, uploadDialog },
    setup() {
        const RFIDDialogRef = ref();
        const uploadRef = ref()
        const state = reactive<TableDataState>({
            RFIDData: {
                data: [],
                departmentList: [],
                total: 0,
                loading: false,
                params: {
@@ -108,6 +106,7 @@
                }
            }
        });
        // 初始化表格数据
        const initRFIDTableData = async () => {
            let res = await RFIDApi().getRFIDList(state.RFIDData.params);
@@ -122,11 +121,11 @@
            }
        };
        // 打开生产装置弹窗
        // 打开弹窗
        const onOpenDialogRef = (type: string, value: any) => {
            RFIDDialogRef.value.openRFIDDialog(type, value);
            RFIDDialogRef.value.openRFIDDialog(type, value, state.departmentList);
        };
        // 删除角色
        // 删除
        const onDelProductionDevice = (row: any) => {
            ElMessageBox.confirm(`此操作将永久删除该RFID:“${row.rfidName}”,是否继续?`, '提示', {
                confirmButtonText: '确认',
@@ -152,6 +151,22 @@
                .catch(() => {});
        };
        const getDepartmentData = async () => {
            let res = await departmentApi().getDepartmentList();
            if (res.data.code === '200') {
                state.departmentList = res.data.data;
            } else {
                ElMessage({
                    type: 'warning',
                    message: res.data.msg
                });
            }
        };
      const openUploadDialog = (type: string)=>{
        uploadRef.value.open(type)
      }
        const handleSearch = () => {
            initRFIDTableData();
        };
@@ -168,18 +183,22 @@
        // 页面加载时
        onMounted(() => {
            initRFIDTableData();
            getDepartmentData();
        });
        return {
            Edit,
            Delete,
          Upload,
          uploadRef,
          openUploadDialog,
            handleSearch,
            onOpenDialogRef,
            onHandleSizeChange,
            onDelProductionDevice,
            onHandleCurrentChange,
            RFIDDialog,
            RFIDDialogRef,
            initRFIDTableData,
            ...toRefs(state)
        };
@@ -187,4 +206,15 @@
});
</script>
<style scoped></style>
<style scoped>
:deep(.el-textarea.is-disabled .el-textarea__inner) {
    background-color: var(--el-card-bg-color);
    color: var(--el-input-text-color, var(--el-text-color-regular));
}
:deep(.el-input.is-disabled .el-input__inner) {
    color: var(--el-input-text-color, var(--el-text-color-regular));
}
:deep(.el-input.is-disabled .el-input__wrapper) {
    background-color: var(--el-card-bg-color);
}
</style>