|
@@ -1,207 +1,149 @@
|
|
|
<template>
|
|
|
<div class="title">
|
|
|
+ <el-row>
|
|
|
+ <el-form ref="queryFormRef" :model="queryParams" :inline="true">
|
|
|
+ <el-form-item label="拷机计划">
|
|
|
+ <el-input v-model="queryParams.checkName" placeholder="拷机计划名称" width="120px" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" class="button" :disabled="state.search_disabled" @click="queryList">
|
|
|
+ 查询计划
|
|
|
+ </el-button>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" class="button" @click="handleAdd">新增计划</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </el-row>
|
|
|
<el-row :gutter="20">
|
|
|
- <!-- 分组 -->
|
|
|
- <el-col :span="6" :xs="24">
|
|
|
- <el-card class="box-card">
|
|
|
- <template #header>
|
|
|
- <svg-icon color="#333" icon-class="education" />
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="8" align="center" style="text-align: center;">
|
|
|
- <span>拷机计划</span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1" :offset="13">
|
|
|
- <span>⋮⋮</span>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- </template>
|
|
|
- <ul v-infinite-scroll="load" class="infinite-list" style="overflow: auto">
|
|
|
- <el-space wrap fill="true">
|
|
|
- <el-card v-for="i in count" :key="i" shadow="hover" style="width: auto;margin-right: 15px;">
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="8" align="center" style="text-align: center;">
|
|
|
- <span>拷机计划</span>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1" :offset="13">
|
|
|
- <span>⋮⋮</span>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="8" align="center" style="text-align: center;">
|
|
|
- <span>详情1</span>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="8" align="center" style="text-align: center;">
|
|
|
- <span>详情1</span>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-card>
|
|
|
- </el-space>
|
|
|
- </ul>
|
|
|
- </el-card>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-table v-loading="loading" :data="state.tableData" border stripe style="width: 100%" :height="tableHeight"
|
|
|
+ highlight-current-row @current-change="handleCurrentRowChange"
|
|
|
+ :header-cell-style="{ background: '#606266', color: '#FFFFFF' }">
|
|
|
+ <el-table-column fixed type="index" width="50" align="center" />
|
|
|
+ <el-table-column fixed prop="checkName" label="计划名称" header-align="center" width="120" />
|
|
|
+ <el-table-column label="计划时间" header-align="center" width="100" />
|
|
|
+ <el-table-column label="计划参数" header-align="center" min-width="100" />
|
|
|
+ <el-table-column prop="createMan" label="创建人" header-align="center" width="140" />
|
|
|
+ <el-table-column label="状态" header-align="center" width="90" />
|
|
|
+
|
|
|
+ <el-table-column fixed="right" label="" align="left" width="150">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button type="text">合格证</el-button>
|
|
|
+ <el-button type="text" @click="handleEdit(scope.row)">编辑</el-button>
|
|
|
+ <el-button type="text" @click="submitDeleteForm(scope.row)">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <el-config-provider :locale="locale">
|
|
|
+ <el-pagination v-model:currentPage="queryParams.pageNum" v-model:page-size="queryParams.pageSize"
|
|
|
+ :page-sizes="[10, 15, 20, 25, 100]" :small="state.small" :disabled="state.disabled"
|
|
|
+ :background="state.background" layout="total, sizes, prev, pager, next, jumper" :total="state.total"
|
|
|
+ style="text-align: center; margin-top: 10px; height: 30px" @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange" />
|
|
|
+ </el-config-provider>
|
|
|
</el-col>
|
|
|
- <!-- 拷机设备 -->
|
|
|
- <el-col :span="18" :xs="24">
|
|
|
- <el-card class="box-card">
|
|
|
- <template #header>
|
|
|
- <svg-icon color="#333" icon-class="education" />
|
|
|
- 拷机设备信息
|
|
|
- </template>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-row>
|
|
|
+ <el-table v-loading="loading" :data="state.tableData" border stripe style="width: 100%;" :height="300"
|
|
|
+ highlight-current-row @current-change="handleCurrentRowChange"
|
|
|
+ :header-cell-style="{ background: '#606266', color: '#FFFFFF' }">
|
|
|
+ <el-table-column fixed type="index" width="50" align="center" />
|
|
|
+ <el-table-column fixed prop="deviceSn" label="设备SN" header-align="center" width="120" />
|
|
|
+ <el-table-column label="工装" header-align="center" width="100" />
|
|
|
+ <el-table-column label="工位" header-align="center" min-width="100" />
|
|
|
+ <el-table-column prop="createMan" label="读数" header-align="center" width="140" />
|
|
|
+ <el-table-column label="状态" header-align="center" width="90" />
|
|
|
+ </el-table>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-table v-loading="loading" :data="state.tableData" border stripe style="width: 100%" highlight-current-row
|
|
|
+ @current-change="handleCurrentRowChange" :header-cell-style="{ background: '#606266', color: '#FFFFFF' }">
|
|
|
+ <el-table-column fixed type="index" width="50" align="center" />
|
|
|
+ <el-table-column fixed prop="deviceSn" label="设备SN" header-align="center" width="120" />
|
|
|
+ <el-table-column label="最新读书" header-align="center" width="100" />
|
|
|
+ <el-table-column label="最新" header-align="center" min-width="100" />
|
|
|
+ <el-table-column prop="createMan" label="创建人" header-align="center" width="140" />
|
|
|
+ <el-table-column label="状态" header-align="center" width="90" />
|
|
|
+ </el-table>
|
|
|
|
|
|
<el-config-provider :locale="locale">
|
|
|
<el-pagination v-model:currentPage="queryParams.pageNum" v-model:page-size="queryParams.pageSize"
|
|
|
:page-sizes="[10, 15, 20, 25, 100]" :small="state.small" :disabled="state.disabled"
|
|
|
:background="state.background" layout="total, sizes, prev, pager, next, jumper" :total="state.total"
|
|
|
- style="text-align: center; margin-top: 20px;height: 30px;" @size-change="handleSizeChange"
|
|
|
+ style="text-align: center; margin-top: 10px; height: 30px" @size-change="handleSizeChange"
|
|
|
@current-change="handleCurrentChange" />
|
|
|
</el-config-provider>
|
|
|
- </el-card>
|
|
|
+ </el-row>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
-
|
|
|
- <el-form ref="queryFormRef" :model="queryParams" :inline="true">
|
|
|
- <el-form-item label="计划名称">
|
|
|
- <el-input v-model="queryParams.userName" placeholder="计划名称" width="120px" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button type="primary" class="button" @click="queryList">查询计划</el-button>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button type="primary" class="button" @click="handleAdd">新增计划</el-button>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
-
|
|
|
- <el-table v-loading="loading" :data="state.tableData" border stripe style="width: 100%" :height="tableHeight"
|
|
|
- highlight-current-row @current-change="handleCurrentRowChange"
|
|
|
- :header-cell-style="{ background: '#606266', color: '#FFFFFF' }">
|
|
|
- <el-table-column fixed type="index" width="50" align="center" />
|
|
|
- <el-table-column fixed prop="userName" label="计划名称" header-align="center" width="120" />
|
|
|
- <el-table-column prop="loginId" label="开始时间" header-align="center" width="120" />
|
|
|
- <el-table-column prop="loginPwd" label="结束时间" header-align="center" width="120" />
|
|
|
- <el-table-column prop="roleName" label="拷机天数" header-align="center" width="120" />
|
|
|
- <el-table-column prop="roleName" label="数据间隔时间" header-align="center" width="120" />
|
|
|
- <el-table-column prop="roleName" label="拷机数量" header-align="center" width="120" />
|
|
|
- <el-table-column prop="roleName" label="创建人" header-align="center" width="120" />
|
|
|
- <el-table-column prop="roleName" label="创建时间" header-align="center" width="120" />
|
|
|
- <el-table-column prop="roleName" label="计划状态" header-align="center" width="120" />
|
|
|
- <el-table-column fit prop="roleName" label="备注" header-align="center" min-width="120" />
|
|
|
- <el-table-column fixed="right" label="" align="left" width="150">
|
|
|
- <template #default="scope">
|
|
|
- <el-button type="text" @click="handleEdit(scope.row)">编辑</el-button>
|
|
|
- <el-button type="text" @click="submitDeleteForm(scope.row)">删除</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
-
|
|
|
- <el-config-provider :locale="locale">
|
|
|
- <el-pagination v-model:currentPage="queryParams.pageNum" v-model:page-size="queryParams.pageSize"
|
|
|
- :page-sizes="[10, 15, 20, 25, 100]" :small="state.small" :disabled="state.disabled"
|
|
|
- :background="state.background" layout="total, sizes, prev, pager, next, jumper" :total="state.total"
|
|
|
- style="text-align: center;margin-top: 10px;" @size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange" />
|
|
|
- </el-config-provider>
|
|
|
-
|
|
|
- <el-dialog :title="dialog.title" v-model="dialog.visible" width="450px" draggable center>
|
|
|
- <el-form ref="dataFormRef" :model="formData" label-width="100px">
|
|
|
- <el-form-item label="用户名称:">
|
|
|
- <el-input v-model="formData.userName" placeholder="用户名称" width="120px" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="登录ID:">
|
|
|
- <el-input v-model="formData.loginId" placeholder="登录ID" width="120px" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="登录密码:">
|
|
|
- <el-input v-model="formData.loginPwd" placeholder="登录密码" width="120px" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="所属角色:">
|
|
|
- <el-select v-model="formData.roleId" class="filter-item" placeholder="所属角色" width="150px">
|
|
|
- <el-option v-for="item in roleData" :key="item.roleId" :label="item.roleName" :value="item.roleId" />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="管理员:">
|
|
|
- <el-switch v-model="formData.adminFlag" inline-prompt="true" active-value="1" inactive-value="0" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="在用状态:">
|
|
|
- <el-switch v-model="formData.useFlag" inline-prompt="true" active-value="1" inactive-value="0" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="备注:">
|
|
|
- <el-input v-model="formData.userMemo" type="textarea" />
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <template #footer>
|
|
|
- <span class="dialog-footer">
|
|
|
- <el-button @click="cancel()">取消</el-button>
|
|
|
- <el-button type="primary" @click="submitForm">确定</el-button>
|
|
|
- </span>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
import { reactive, toRefs, toRef, ref, onMounted } from "vue";
|
|
|
-import { ElForm, ElMessage, ElMessageBox } from 'element-plus';
|
|
|
-import FacUserAction from "@/api/usermanagement/facuser";
|
|
|
-import FacUserRoleAction from "@/api/usermanagement/facuserrole";
|
|
|
-import { FacUserQueryParam, FacUser, FacUserRole, Dialog, PageResult } from '@/types';
|
|
|
+import { ElForm, ElMessage, ElMessageBox } from "element-plus";
|
|
|
+import TCheckAction from "@/api/qualitymanagement/tcheck";
|
|
|
|
|
|
-import zhCn from 'element-plus/lib/locale/lang/zh-cn';
|
|
|
+import {
|
|
|
+ TCheckQueryParam,
|
|
|
+ TCheckModel,
|
|
|
+ FacUserRole,
|
|
|
+ Dialog,
|
|
|
+ PageResult
|
|
|
+} from "@/types";
|
|
|
|
|
|
+import zhCn from "element-plus/lib/locale/lang/zh-cn";
|
|
|
|
|
|
-const count = ref(0)
|
|
|
+const count = ref(0);
|
|
|
const load = () => {
|
|
|
- count.value += 2
|
|
|
-}
|
|
|
+ count.value += 2;
|
|
|
+};
|
|
|
|
|
|
-let locale = ref(zhCn)
|
|
|
+let locale = ref(zhCn);
|
|
|
|
|
|
const queryFormRef = ref(ElForm); // 属性名必须和元素的ref属性值一致
|
|
|
const dataFormRef = ref(ElForm); // 属性名必须和元素的ref属性值一致
|
|
|
|
|
|
const RoleStateMap = {
|
|
|
- 0: '停用',
|
|
|
- 1: '使用中',
|
|
|
+ 0: "停用",
|
|
|
+ 1: "使用中",
|
|
|
};
|
|
|
|
|
|
-const loading = ref(false)
|
|
|
+const loading = ref(false);
|
|
|
|
|
|
const state = reactive({
|
|
|
+ search_disabled: false,
|
|
|
currentType: 0,
|
|
|
- queryParams: { pageNum: 1, pageSize: 10 } as FacUserQueryParam,
|
|
|
+ queryParams: { pageNum: 1, pageSize: 10 } as TCheckQueryParam,
|
|
|
total: 0,
|
|
|
small: false,
|
|
|
background: false,
|
|
|
disabled: false,
|
|
|
dialog: {} as Dialog,
|
|
|
- formData: {} as FacUser,
|
|
|
+ formData: {} as TCheckModel,
|
|
|
RoleStateMap,
|
|
|
- tableData: [] as FacUser[],
|
|
|
- roleData: [] as FacUserRole[]
|
|
|
+ tableData: [] as TCheckModel[],
|
|
|
+ roleData: [] as FacUserRole[],
|
|
|
});
|
|
|
|
|
|
-const {
|
|
|
- queryParams,
|
|
|
- dialog,
|
|
|
- formData,
|
|
|
- tableData,
|
|
|
- roleData
|
|
|
-} = toRefs(state);
|
|
|
+const { queryParams, dialog, formData, tableData, roleData } = toRefs(state);
|
|
|
|
|
|
-const tableHeight = ref(document.documentElement.clientHeight - 250);
|
|
|
-const currentRow = ref()
|
|
|
+const tableHeight = ref(document.documentElement.clientHeight - 275);
|
|
|
+const currentRow = ref();
|
|
|
|
|
|
-const handleCurrentRowChange = (val: FacUser | undefined) => {
|
|
|
- currentRow.value = val
|
|
|
-}
|
|
|
+const handleCurrentRowChange = (val: TCheckModel | undefined) => {
|
|
|
+ currentRow.value = val;
|
|
|
+};
|
|
|
|
|
|
async function handleAdd() {
|
|
|
await queryRoleList();
|
|
|
state.currentType = 0;
|
|
|
- state.formData = {} as FacUser;
|
|
|
+ state.formData = {} as TCheckModel;
|
|
|
state.dialog = {
|
|
|
- title: '新增用户',
|
|
|
- visible: true
|
|
|
+ title: "新增用户",
|
|
|
+ visible: true,
|
|
|
};
|
|
|
}
|
|
|
|
|
@@ -210,8 +152,8 @@ async function handleEdit(row: any) {
|
|
|
state.currentType = 1;
|
|
|
state.formData = row;
|
|
|
state.dialog = {
|
|
|
- title: '编辑用户',
|
|
|
- visible: true
|
|
|
+ title: "编辑用户",
|
|
|
+ visible: true,
|
|
|
};
|
|
|
}
|
|
|
|
|
@@ -227,35 +169,36 @@ const handleCurrentChange = (val: number) => {
|
|
|
|
|
|
const queryList = () => {
|
|
|
loading.value = true;
|
|
|
- FacUserAction.QueryUserList(queryParams.value.pageNum, queryParams.value.pageSize).then(result => {
|
|
|
- if (result.status === 200) {
|
|
|
- const { res, flag, errot } = result.data;
|
|
|
- if (flag != undefined && flag == 1) {
|
|
|
- const pageData = res as PageResult<FacUser[]>;
|
|
|
- state.tableData = pageData.list;
|
|
|
- state.total = pageData.total;
|
|
|
+ TCheckAction.QueryTCheckList(state.queryParams)
|
|
|
+ .then((result) => {
|
|
|
+ if (result.status === 200) {
|
|
|
+ const { res, flag, errot } = result.data;
|
|
|
+ if (flag != undefined && flag == 1) {
|
|
|
+ const pageData = res as PageResult<TCheckModel[]>;
|
|
|
+ state.tableData = pageData.list;
|
|
|
+ state.total = pageData.total;
|
|
|
+ } else {
|
|
|
+ }
|
|
|
}
|
|
|
- else { }
|
|
|
- }
|
|
|
- }).catch(error => {
|
|
|
- //请求失败时的操作
|
|
|
- console.log(error);
|
|
|
- })
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ //请求失败时的操作
|
|
|
+ console.log(error);
|
|
|
+ });
|
|
|
loading.value = false;
|
|
|
};
|
|
|
|
|
|
const submitForm = () => {
|
|
|
if (state.currentType == 0) {
|
|
|
state.formData.createMan = "admin";
|
|
|
- FacUserAction.AddFacUser(state.formData).then(result => {
|
|
|
- ElMessage.success('新增成功');
|
|
|
+ FacUserAction.AddFacUser(state.formData).then((result) => {
|
|
|
+ ElMessage.success("新增成功");
|
|
|
cancel();
|
|
|
queryList();
|
|
|
});
|
|
|
- }
|
|
|
- else {
|
|
|
- FacUserAction.EditFacUser(state.formData).then(result => {
|
|
|
- ElMessage.success('编辑成功');
|
|
|
+ } else {
|
|
|
+ FacUserAction.EditFacUser(state.formData).then((result) => {
|
|
|
+ ElMessage.success("编辑成功");
|
|
|
cancel();
|
|
|
queryList();
|
|
|
});
|
|
@@ -263,58 +206,56 @@ const submitForm = () => {
|
|
|
};
|
|
|
|
|
|
const submitDeleteForm = (row: any) => {
|
|
|
- ElMessageBox.confirm(
|
|
|
- ' 是否删除用户[' + row.userName + ']? ',
|
|
|
- '提示',
|
|
|
- {
|
|
|
- cancelButtonText: '取消',
|
|
|
- confirmButtonText: '确认',
|
|
|
- type: 'warning',
|
|
|
- center: true,
|
|
|
- }
|
|
|
- )
|
|
|
+ ElMessageBox.confirm(" 是否删除用户[" + row.userName + "]? ", "提示", {
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ confirmButtonText: "确认",
|
|
|
+ type: "warning",
|
|
|
+ center: true,
|
|
|
+ })
|
|
|
.then(() => {
|
|
|
- FacUserAction.DeleteFacUser(row.id).then(result => {
|
|
|
- ElMessage.success('删除成功');
|
|
|
+ FacUserAction.DeleteFacUser(row.id).then((result) => {
|
|
|
+ ElMessage.success("删除成功");
|
|
|
queryList();
|
|
|
});
|
|
|
})
|
|
|
.catch(() => {
|
|
|
ElMessage({
|
|
|
- type: 'info',
|
|
|
- message: '取消删除成功!',
|
|
|
- })
|
|
|
- })
|
|
|
+ type: "info",
|
|
|
+ message: "取消删除成功!",
|
|
|
+ });
|
|
|
+ });
|
|
|
};
|
|
|
|
|
|
const cancel = () => {
|
|
|
dataFormRef.value.resetFields();
|
|
|
state.formData = {} as FacUser;
|
|
|
state.dialog.visible = false;
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
const queryRoleList = () => {
|
|
|
- FacUserRoleAction.QueryRoleList().then(result => {
|
|
|
- if (result.status === 200) {
|
|
|
- const { res, flag, errot } = result.data;
|
|
|
- if (flag != undefined && flag == 1) {
|
|
|
- state.roleData = res as FacUserRole[];
|
|
|
+ FacUserRoleAction.QueryRoleList()
|
|
|
+ .then((result) => {
|
|
|
+ if (result.status === 200) {
|
|
|
+ const { res, flag, errot } = result.data;
|
|
|
+ if (flag != undefined && flag == 1) {
|
|
|
+ state.roleData = res as FacUserRole[];
|
|
|
+ } else {
|
|
|
+ }
|
|
|
}
|
|
|
- else { }
|
|
|
- }
|
|
|
- }).catch(error => {
|
|
|
- //请求失败时的操作
|
|
|
- console.log(error);
|
|
|
- })
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ //请求失败时的操作
|
|
|
+ console.log(error);
|
|
|
+ });
|
|
|
};
|
|
|
|
|
|
onMounted(() => {
|
|
|
window.onresize = function () {
|
|
|
- tableHeight.value = document.documentElement.clientHeight - 250
|
|
|
- }
|
|
|
+ tableHeight.value = document.documentElement.clientHeight - 275;
|
|
|
+ };
|
|
|
|
|
|
queryList();
|
|
|
-})
|
|
|
+});
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
@@ -346,4 +287,21 @@ onMounted(() => {
|
|
|
.infinite-list .infinite-list-item+.list-item {
|
|
|
margin-top: 10px;
|
|
|
}
|
|
|
+
|
|
|
+.el-row {
|
|
|
+ margin-bottom: 20px;
|
|
|
+}
|
|
|
+
|
|
|
+.el-row:last-child {
|
|
|
+ margin-bottom: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.el-col {
|
|
|
+ border-radius: 4px;
|
|
|
+}
|
|
|
+
|
|
|
+.grid-content {
|
|
|
+ border-radius: 4px;
|
|
|
+ min-height: 36px;
|
|
|
+}
|
|
|
</style>
|