|
@@ -1,7 +1,7 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
- <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
- <el-form-item label="扫描仪名称;" prop="scannerName">
|
|
|
+ <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="100px">
|
|
|
+ <el-form-item label="扫描仪名称" prop="scannerName">
|
|
|
<el-input
|
|
|
v-model="queryParams.scannerName"
|
|
|
placeholder="请输入扫描仪名称;"
|
|
@@ -17,36 +17,9 @@
|
|
|
<el-option v-for="dict in sys_yes_no" :key="dict.value" :label="dict.label" :value="dict.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="FTP用户ID" prop="userId">
|
|
|
- <el-input v-model="queryParams.userId" placeholder="请输入FTP用户ID" clearable @keyup.enter="handleQuery" />
|
|
|
- </el-form-item>
|
|
|
<el-form-item label="所属部门" prop="deptId">
|
|
|
<el-input v-model="queryParams.deptId" placeholder="请输入所属部门" clearable @keyup.enter="handleQuery" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="创建人" prop="createBy">
|
|
|
- <el-input v-model="queryParams.createBy" placeholder="请输入创建人" clearable @keyup.enter="handleQuery" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="创建时间" prop="createTime">
|
|
|
- <el-date-picker
|
|
|
- clearable
|
|
|
- v-model="queryParams.createTime"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- placeholder="请选择创建时间"
|
|
|
- ></el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="更新人" prop="updateBy">
|
|
|
- <el-input v-model="queryParams.updateBy" placeholder="请输入更新人" clearable @keyup.enter="handleQuery" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="更新时间" prop="updateTime">
|
|
|
- <el-date-picker
|
|
|
- clearable
|
|
|
- v-model="queryParams.updateTime"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- placeholder="请选择更新时间"
|
|
|
- ></el-date-picker>
|
|
|
- </el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
|
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
|
@@ -149,7 +122,7 @@
|
|
|
|
|
|
<!-- 添加或修改扫描仪管理对话框 -->
|
|
|
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
|
|
- <el-form ref="infoRef" :model="form" :rules="rules" label-width="80px">
|
|
|
+ <el-form ref="infoRef" :model="form" :rules="rules" label-width="100px">
|
|
|
<el-form-item label="扫描仪名称" prop="scannerName">
|
|
|
<el-input v-model="form.scannerName" placeholder="请输入扫描仪名称;" />
|
|
|
</el-form-item>
|
|
@@ -161,11 +134,14 @@
|
|
|
<el-radio v-for="dict in sys_yes_no" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="FTP用户ID" prop="userId">
|
|
|
+ <!-- <el-form-item label="FTP用户ID" prop="userId">
|
|
|
<el-input v-model="form.userId" placeholder="请输入FTP用户ID" />
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
<el-form-item label="所属部门" prop="deptId">
|
|
|
- <el-input v-model="form.deptId" placeholder="请输入所属部门" />
|
|
|
+ <!-- <el-input v-model="form.deptId" placeholder="请输入所属部门" /> -->
|
|
|
+ <el-tree-select v-model="form.deptId" :data="deptOptions"
|
|
|
+ :props="{ value: 'id', label: 'label', children: 'children' }" value-key="id"
|
|
|
+ placeholder="请选择归属部门" check-strictly />
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
@@ -181,6 +157,10 @@
|
|
|
<script setup name="Info">
|
|
|
import { addInfo, updateInfo, delInfo, getInfo, listInfo } from '@/api/scanner/info'
|
|
|
import { encode, decode } from '@/utils/sm2util'
|
|
|
+import {
|
|
|
+ deptTreeSelect,
|
|
|
+} from "@/api/system/user";
|
|
|
+import { ElMessageBox } from 'element-plus'
|
|
|
const { proxy } = getCurrentInstance()
|
|
|
const { sys_yes_no } = proxy.useDict('sys_yes_no')
|
|
|
|
|
@@ -193,9 +173,23 @@ const single = ref(true)
|
|
|
const multiple = ref(true)
|
|
|
const total = ref(0)
|
|
|
const title = ref('')
|
|
|
-
|
|
|
+const deptOptions = ref(undefined);
|
|
|
+//ip验证
|
|
|
+const scannerIpRule = (rule, value, callback) => {
|
|
|
+ var pPattern = new RegExp(
|
|
|
+ /(\d{1,3}\.){3}\d{1,3}/
|
|
|
+ );
|
|
|
+ if (value === "") {
|
|
|
+ callback(new Error("请输入扫描仪IP"));
|
|
|
+ } else if (!pPattern.test(value)) {
|
|
|
+ callback(new Error("请输入正确的IP地址"));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+};
|
|
|
const data = reactive({
|
|
|
- form: {},
|
|
|
+ form: {
|
|
|
+ },
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
@@ -209,11 +203,14 @@ const data = reactive({
|
|
|
updateBy: null,
|
|
|
updateTime: null
|
|
|
},
|
|
|
- rules: {}
|
|
|
+ rules: {
|
|
|
+ scannerIp: [{ required: true, validator: scannerIpRule, trigger: "change" }],
|
|
|
+ }
|
|
|
})
|
|
|
|
|
|
const { queryParams, form, rules } = toRefs(data)
|
|
|
|
|
|
+
|
|
|
/** 查询扫描仪管理列表 */
|
|
|
function getList() {
|
|
|
loading.value = true
|
|
@@ -236,7 +233,7 @@ function reset() {
|
|
|
scannerId: null,
|
|
|
scannerName: null,
|
|
|
scannerIp: null,
|
|
|
- isPublic: null,
|
|
|
+ isPublic: "N",
|
|
|
userId: null,
|
|
|
deptId: null,
|
|
|
createBy: null,
|
|
@@ -295,16 +292,24 @@ function submitForm() {
|
|
|
getList()
|
|
|
})
|
|
|
} else {
|
|
|
- addInfo(form.value).then((response) => {
|
|
|
- const data = response.data
|
|
|
- const pass=decode(data.pass);
|
|
|
- const msg=`新增扫描仪成功,请在扫描仪中配置ftp信息!\n(端口号:${data.port}\n账号:${data.user}\n密码:${pass}`
|
|
|
- proxy.$modal.alertSuccess(msg)
|
|
|
- console.error()
|
|
|
- open.value = false
|
|
|
- getList()
|
|
|
- })
|
|
|
+ addInfo(form.value).then((response) => {
|
|
|
+ const data = response.data
|
|
|
+ const pass=decode(data.pass);
|
|
|
+ // const msg1=`新增扫描仪成功,请在扫描仪中配置ftp信息! \u000a 端口号:${data.port} \r 账号:${data.user} \u000a 密码:${pass}`
|
|
|
+ // proxy.$modal.alertSuccess("新增扫描仪成功,请在扫描仪中配置ftp信息!"+`(端口号:${data.port}`)
|
|
|
+ ElMessageBox.alert(
|
|
|
+ `新增扫描仪成功,请在扫描仪中配置ftp信息!<br>端口号:${data.port}<br>账号:${data.user}<br>密码:${pass}`,
|
|
|
+ '系统提示',
|
|
|
+ {
|
|
|
+ dangerouslyUseHTMLString: true,
|
|
|
+ }
|
|
|
+ )
|
|
|
+ open.value = false
|
|
|
+ getList()
|
|
|
+ })
|
|
|
}
|
|
|
+ }else{
|
|
|
+ proxy.$modal.msgError('请输入正确的信息')
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -323,7 +328,12 @@ function handleDelete(row) {
|
|
|
})
|
|
|
.catch(() => {})
|
|
|
}
|
|
|
-
|
|
|
+ /** 查询部门下拉树结构 */
|
|
|
+ function getDeptTree() {
|
|
|
+ deptTreeSelect().then(response => {
|
|
|
+ deptOptions.value = response.data;
|
|
|
+ });
|
|
|
+ };
|
|
|
/** 导出按钮操作 */
|
|
|
function handleExport() {
|
|
|
proxy.download(
|
|
@@ -334,6 +344,6 @@ function handleExport() {
|
|
|
`info_${new Date().getTime()}.xlsx`
|
|
|
)
|
|
|
}
|
|
|
-
|
|
|
+getDeptTree();
|
|
|
getList()
|
|
|
</script>
|