对接PPE工具管理
This commit is contained in:
parent
fb823f1d39
commit
1d76a2917d
42
src/api/ppeTool.js
Normal file
42
src/api/ppeTool.js
Normal file
|
@ -0,0 +1,42 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 获取ppe工具管理分页列表
|
||||
export function busPpeToolsPageList(query) {
|
||||
return request({
|
||||
url: '/admin/busPpeTools/getBusPpeToolsPage',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
|
||||
// 添加ppe工具
|
||||
export function addBusPpeTools(query) {
|
||||
return request({
|
||||
url: '/admin/busPpeTools/addBusPpeTools',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
|
||||
// 修改ppe工具
|
||||
export function updateBusPpeTools(query) {
|
||||
return request({
|
||||
url: '/admin/busPpeTools/updateBusPpeTools',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
// 获取ppe工具详情
|
||||
export function getBusPpeTools(ppeId) {
|
||||
return request({
|
||||
url: '/admin/busPpeTools/getBusPpeTools/' + ppeId,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
// 删除ppe工具
|
||||
export function deleteBusPpeTools(ppeId) {
|
||||
return request({
|
||||
url: '/admin/busPpeTools/deleteBusPpeTools/' + ppeId,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
|
@ -5,21 +5,25 @@
|
|||
<el-form :model="queryParams" ref="queryRef" :inline="true">
|
||||
<el-row class="myRow">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="部门" prop="deptId">
|
||||
<el-select v-model="queryParams.deptId" placeholder="请选择" clearable style="width: 160px">
|
||||
<el-option label="Zone one" value="shanghai" />
|
||||
<el-option label="Zone two" value="beijing" />
|
||||
<el-form-item label="部门">
|
||||
<el-tree-select v-model="queryParams.deptId" :data="enabledDeptOptions" clearable
|
||||
:props="{ value: 'id', label: 'label', children: 'children' }" value-key="id"
|
||||
placeholder="请选择部门" check-strictly style="width: 200px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="属地">
|
||||
<el-select v-model="queryParams.dependencyId" placeholder="请选择属地" clearable
|
||||
style="width: 200px">
|
||||
<el-option v-for="item in busDependencyData" :key="item.id" :label="item.dependencyName"
|
||||
:value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="属地" prop="deptId">
|
||||
<el-select v-model="queryParams.deptId" placeholder="请选择" clearable style="width: 160px">
|
||||
<el-option label="Zone one" value="shanghai" />
|
||||
<el-option label="Zone two" value="beijing" />
|
||||
<el-form-item label="工具名称">
|
||||
<el-select v-model="queryParams.toolName" placeholder="请选择工具名称" clearable
|
||||
style="width: 200px">
|
||||
<el-option v-for="dict in ppe_tool_name" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="工具名称" prop="userName">
|
||||
<el-input v-model="queryParams.year" placeholder="请选择工具名称" style="width: 140px" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4" style="text-align: right;">
|
||||
<el-button type="primary" class="seachBtn" @click="handleQuery">查询</el-button>
|
||||
|
@ -34,7 +38,7 @@
|
|||
</el-button>
|
||||
</div>
|
||||
<div class="borderLine"></div>
|
||||
<el-table :data="tableData" height="calc(100% - 166px)" style="width: 100%">
|
||||
<el-table v-loading="loading" :data="tableData" height="calc(100% - 166px)" style="width: 100%">
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="scope">
|
||||
{{ scope.$index + 1 }}
|
||||
|
@ -43,175 +47,136 @@
|
|||
<el-table-column prop="localityName" label="属地" min-width="130" />
|
||||
<el-table-column prop="name" label="ESC" min-width="100" />
|
||||
<el-table-column prop="departmentName" label="部门" min-width="150" />
|
||||
<el-table-column prop="jobNumber" label="工具名称" min-width="130" />
|
||||
<el-table-column prop="curQualification" label="工具编号" min-width="130" />
|
||||
<el-table-column prop="startTime" label="到期日期" min-width="130">
|
||||
<el-table-column prop="toolName" label="工具名称" min-width="130" />
|
||||
<el-table-column prop="toolSn" label="工具编号" min-width="130" />
|
||||
<el-table-column prop="expireDate" label="到期日期" min-width="130">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.startTime && scope.row.certificate"> {{ scope.row.startTime }}</span>
|
||||
<span v-if="scope.row.expireDate"> {{ scope.row.expireDate }}</span>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="expireTime" label="标定信息" min-width="150"></el-table-column>
|
||||
<el-table-column prop="fileContent" label="标定信息" min-width="150">
|
||||
<template #default="scope">
|
||||
<a v-for="item in JSON.parse(scope.row.fileContent)">{{ item.name }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="startTime" label="状态" min-width="100">
|
||||
<template #default="scope">
|
||||
<template #default="scope">
|
||||
<span>-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="130">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" text class="replayTextBtn">编辑</el-button>
|
||||
<el-button type="primary" text class="replayTextBtn" @click="handleEdit(record)">编辑</el-button>
|
||||
<el-divider direction="vertical" class="verticalLine" />
|
||||
<el-button type="primary" text class="deleteTextBtn">删除</el-button>
|
||||
<el-button type="primary" text class="deleteTextBtn"
|
||||
@click="handleDelete(record)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
|
||||
v-model:limit="queryParams.pageSize" @pagination="getList" />
|
||||
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageIndex"
|
||||
v-model:limit="queryParams.pageSize" @pagination="getPPEToolPageList" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
import { onMounted, ref } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import addIcon from '@/assets/images/addIcon.png'
|
||||
import { deptTreeSelect } from "@/api/system/user"
|
||||
import { getBusDependencyPage } from "@/api/system/dependency"
|
||||
import { busPpeToolsPageList, deleteBusPpeTools } from "@/api/ppeTool"
|
||||
|
||||
const router = useRouter()
|
||||
const total = ref(16)
|
||||
|
||||
const queryParams = ref({
|
||||
pageNum: 1,
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
userName: undefined,
|
||||
deptId: undefined,
|
||||
qualification: undefined
|
||||
})
|
||||
const tableData = [
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 1
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 2
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
]
|
||||
const loading = ref(true)
|
||||
const total = ref(0)
|
||||
const tableData = ref([])
|
||||
const { proxy } = getCurrentInstance()
|
||||
const { ppe_tool_name } = proxy.useDict("ppe_tool_name")
|
||||
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
getDeptTree();
|
||||
getBusDependencyData();
|
||||
getPPEToolPageList();
|
||||
});
|
||||
// 属地数据
|
||||
const busDependencyData = ref([])
|
||||
// 获取属地数据
|
||||
const getBusDependencyData = () => {
|
||||
getBusDependencyPage({
|
||||
pageIndex: 1,
|
||||
pageSize: 100,
|
||||
}).then(response => {
|
||||
if (response.code == 200) {
|
||||
busDependencyData.value = response.data.list
|
||||
}
|
||||
})
|
||||
}
|
||||
// 部门数据
|
||||
const enabledDeptOptions = ref(undefined)
|
||||
// 获取部门数据
|
||||
const getDeptTree = () => {
|
||||
deptTreeSelect().then(res => {
|
||||
enabledDeptOptions.value = filterDisabledDept(JSON.parse(JSON.stringify(res.data)))
|
||||
})
|
||||
}
|
||||
/** 过滤禁用的部门 */
|
||||
const filterDisabledDept = (deptList) => {
|
||||
return deptList.filter(dept => {
|
||||
if (dept.disabled) {
|
||||
return false
|
||||
}
|
||||
if (dept.children && dept.children.length) {
|
||||
dept.children = filterDisabledDept(dept.children)
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
const handleQuery = () => {
|
||||
queryParams.value.pageNum = 1
|
||||
getList()
|
||||
queryParams.value.pageIndex = 1
|
||||
getPPEToolPageList()
|
||||
}
|
||||
|
||||
/** 重置按钮操作 */
|
||||
const resetQuery = () => {
|
||||
dateRange.value = []
|
||||
proxy.resetForm("queryRef")
|
||||
queryParams.value.deptId = undefined
|
||||
proxy.$refs.deptTreeRef.setCurrentKey(null)
|
||||
handleQuery()
|
||||
}
|
||||
const getList = () => {
|
||||
|
||||
// 获取ppe工具列表
|
||||
const getPPEToolPageList = () => {
|
||||
loading.value = true
|
||||
busPpeToolsPageList(queryParams.value).then(res => {
|
||||
if (res.code == 200) {
|
||||
tableData.value = res.data.list
|
||||
total.value = res.data.total
|
||||
}
|
||||
loading.value = false
|
||||
}).catch(() => {
|
||||
loading.value = false
|
||||
})
|
||||
}
|
||||
const handleOpenAddForm = () => {
|
||||
router.push('/ppeToolForm')
|
||||
}
|
||||
const handleView = () => {
|
||||
router.push('/ppeToolForm')
|
||||
const handleEdit = (record) => {
|
||||
router.push('/ppeToolForm/' + record.id)
|
||||
}
|
||||
const handleApproval = () => {
|
||||
router.push('/ppeToolForm')
|
||||
const handleDelete = (record) => {
|
||||
const rowId = record.id
|
||||
proxy.$modal.confirm('是否确认删除该项数据项?').then(function () {
|
||||
return deleteBusPpeTools(rowId)
|
||||
}).then(() => {
|
||||
getPPEToolPageList();
|
||||
proxy.$modal.msgSuccess("删除成功")
|
||||
}).catch(() => { })
|
||||
}
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
|
|
|
@ -13,67 +13,65 @@
|
|||
<el-card>
|
||||
<template #header>
|
||||
<div class="card-header">
|
||||
<span>新建</span>
|
||||
<span>{{ formTitle }}</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-form ref="ruleFormRef" :model="ruleForm" label-position="top">
|
||||
<el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-position="top">
|
||||
<div class="applyFormContainer">
|
||||
<el-row class="myRow" :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工具名称">
|
||||
<el-select v-model="ruleForm.deptId" placeholder="请选择" clearable>
|
||||
<el-option label="Zone one" value="shanghai" />
|
||||
<el-option label="Zone two" value="beijing" />
|
||||
<el-form-item label="工具名称" prop="toolName">
|
||||
<el-select v-model="ruleForm.toolName" placeholder="请选择工具名称" clearable>
|
||||
<el-option v-for="dict in ppe_tool_name" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工具编号">
|
||||
<el-input v-model="ruleForm.deptId" placeholder="请选择" clearable />
|
||||
<el-form-item label="工具编号" prop="toolSn">
|
||||
<el-input v-model="ruleForm.toolSn" placeholder="请输入工具编号" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="部门">
|
||||
<el-select v-model="ruleForm.deptId" placeholder="请选择" clearable>
|
||||
<el-option label="Zone one" value="shanghai" />
|
||||
<el-option label="Zone two" value="beijing" />
|
||||
</el-select>
|
||||
<el-form-item label="部门" prop="deptId">
|
||||
<el-tree-select v-model="ruleForm.deptId" :data="enabledDeptOptions"
|
||||
:props="{ value: 'id', label: 'label', children: 'children' }" value-key="id"
|
||||
placeholder="请选择部门" check-strictly />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="属地">
|
||||
<el-select v-model="ruleForm.deptId" placeholder="请选择" clearable>
|
||||
<el-option label="Zone one" value="shanghai" />
|
||||
<el-option label="Zone two" value="beijing" />
|
||||
<el-form-item label="属地" prop="dependencyId">
|
||||
<el-select v-model="ruleForm.dependencyId" placeholder="请选择属地"
|
||||
@change="handleChoseDependency">
|
||||
<el-option v-for="item in busDependencyData" :key="item.id"
|
||||
:label="item.dependencyName" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="ESC">
|
||||
<el-input v-model="ruleForm.deptId" placeholder="请选择" clearable />
|
||||
<el-input v-model="escName" clearable disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="到期日期" prop="deptId">
|
||||
<el-date-picker v-model="ruleForm.startTime" type="date" placeholder="请选择"
|
||||
style="width: 100%;" />
|
||||
<el-form-item label="到期日期" prop="expireDate">
|
||||
<el-date-picker v-model="ruleForm.expireDate" type="date" format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD" placeholder="请选择到期日期" style="width: 100%;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row class="myRow" :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="标定信息" prop="deptId">
|
||||
<el-form-item label="标定信息" prop="fileContent">
|
||||
<el-upload class="upload-demo" drag action="#" :http-request="requestDocUpload"
|
||||
:file-list="docUploadList" :before-upload="beforeDocUpload"
|
||||
:on-remove="removeDocUpload">
|
||||
:file-list="docUploadList" :on-remove="removeDocUpload">
|
||||
<el-icon class="el-icon--upload"><upload-filled /></el-icon>
|
||||
<div class="el-upload__text">
|
||||
将文件拖曳至此区域,或 <em>点击上传</em>
|
||||
</div>
|
||||
<div class="el-upload__text">
|
||||
支持扩展名:.xlsx
|
||||
</div>
|
||||
</el-upload>
|
||||
<el-button class="downloadTemplateBtn" text
|
||||
@click="downloadDocxTemplate">下载模板</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -90,125 +88,185 @@
|
|||
|
||||
</template>
|
||||
<script setup>
|
||||
import { onMounted, ref } from 'vue'
|
||||
import { reactive } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { getBusDependencyPage } from "@/api/system/dependency"
|
||||
import { deptTreeSelect } from "@/api/system/user"
|
||||
import { addBusPpeTools, updateBusPpeTools, getBusPpeTools } from "@/api/ppeTool"
|
||||
import { uploadFile } from "@/api/qualification/myQualifications"
|
||||
import { UploadFilled } from '@element-plus/icons-vue'
|
||||
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
|
||||
const baseUrl = import.meta.env.VITE_APP_BASE_API
|
||||
const levelList = ref([
|
||||
{ title: '高压PPE/工具管理', path: '/ppeTool' },
|
||||
{ title: '新建', path: '/ppeToolForm' },
|
||||
])
|
||||
const formTitle = ref('新建')
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
getBusDependencyData();
|
||||
getDeptTree();
|
||||
const id = route.params && route.params.Id
|
||||
if (id) {
|
||||
ruleForm.value.id = id
|
||||
formTitle.value = '编辑'
|
||||
getDetailInfo(id)
|
||||
levelList.value = [
|
||||
{ title: '高压PPE/工具管理', path: '/ppeTool' },
|
||||
{ title: '编辑', path: '/ppeToolForm' },
|
||||
]
|
||||
} else {
|
||||
ruleForm.value.id = null
|
||||
formTitle.value = '新建'
|
||||
levelList.value = [{ title: '高压PPE/工具管理', path: '/ppeTool' },
|
||||
{ title: '新建', path: '/ppeToolForm' },]
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
const { proxy } = getCurrentInstance()
|
||||
const { ppe_tool_name } = proxy.useDict("ppe_tool_name")
|
||||
|
||||
const data = reactive({
|
||||
ruleForm: {},
|
||||
rules: {
|
||||
targetQualification: [{ required: true, message: "目标资质不能为空", trigger: "change" }],
|
||||
employeeNumber: [{ required: true, message: "员工工号不能为空", trigger: "blur" }],
|
||||
employeeChineseName: [{ required: true, message: "员工姓名(中文)不能为空", trigger: "blur" }],
|
||||
employeeEnglishName: [{ required: true, message: "员工姓名(英文)", trigger: "blur" }],
|
||||
departmentName: [{ required: true, message: "部门不能为空", trigger: "change" }],
|
||||
officeName: [{ required: true, message: "科室不能为空", trigger: "change" }],
|
||||
localityName: [{ required: true, message: "属地不能为空", trigger: "change" }],
|
||||
localityManager: [{ required: true, message: "属地ESC不能为空", trigger: "blur" }],
|
||||
toolName: [{ required: true, message: "工具名称不能为空", trigger: "change" }],
|
||||
toolSn: [{ required: true, message: "工具编号不能为空", trigger: "blur" }],
|
||||
deptId: [{ required: true, message: "部门不能为空", trigger: "change" }],
|
||||
dependencyId: [{ required: true, message: "属地不能为空", trigger: "change" }],
|
||||
expireDate: [{ required: true, message: "到期日期不能为空", trigger: "change" }],
|
||||
// fileContent: [{ required: true, message: "标定信息不能为空", trigger: "change" }],
|
||||
},
|
||||
})
|
||||
const tableData = [
|
||||
{
|
||||
name: '提交申请',
|
||||
approvalResult: '-',
|
||||
approvalTime: '2016-05-03'
|
||||
},
|
||||
{
|
||||
name: 'ESC审批',
|
||||
approvalResult: '同意',
|
||||
approvalTime: '2016-05-08'
|
||||
},
|
||||
]
|
||||
// 判断是否为图片文件
|
||||
const isImageFile = (suffix) => {
|
||||
return ['jpeg', 'jpg', 'png'].includes(suffix?.toLowerCase())
|
||||
}
|
||||
const fileList = [
|
||||
{
|
||||
name: 'XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
suffix: 'png'
|
||||
},
|
||||
{
|
||||
name: 'XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
suffix: 'pdf'
|
||||
},
|
||||
{
|
||||
name: 'XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
suffix: 'ppt'
|
||||
},
|
||||
{
|
||||
name: 'XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
suffix: 'mp3'
|
||||
},
|
||||
{
|
||||
name: 'XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
suffix: 'mov'
|
||||
},
|
||||
{
|
||||
name: 'XXXXX文件XXXXX文件XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
suffix: 'json'
|
||||
},
|
||||
{
|
||||
name: 'XXXXX文件',
|
||||
certificate: null,
|
||||
suffix: 'xls'
|
||||
},
|
||||
{
|
||||
name: 'XXXXX文件',
|
||||
certificate: null,
|
||||
suffix: 'txt'
|
||||
},
|
||||
{
|
||||
name: 'XXXXX文件',
|
||||
certificate: null,
|
||||
suffix: 'doc'
|
||||
},
|
||||
{
|
||||
name: 'XXXXX文件',
|
||||
certificate: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
suffix: 'zip'
|
||||
},
|
||||
]
|
||||
const { ruleForm, rules } = toRefs(data)
|
||||
|
||||
// 属地数据
|
||||
const busDependencyData = ref([])
|
||||
// 获取属地数据
|
||||
const getBusDependencyData = () => {
|
||||
getBusDependencyPage({
|
||||
pageIndex: 1,
|
||||
pageSize: 100,
|
||||
}).then(response => {
|
||||
if (response.code == 200) {
|
||||
busDependencyData.value = response.data.list
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 部门数据
|
||||
const enabledDeptOptions = ref(undefined)
|
||||
// 获取部门数据
|
||||
const getDeptTree = () => {
|
||||
deptTreeSelect().then(res => {
|
||||
enabledDeptOptions.value = filterDisabledDept(JSON.parse(JSON.stringify(res.data)))
|
||||
})
|
||||
}
|
||||
/** 过滤禁用的部门 */
|
||||
const filterDisabledDept = (deptList) => {
|
||||
return deptList.filter(dept => {
|
||||
if (dept.disabled) {
|
||||
return false
|
||||
}
|
||||
if (dept.children && dept.children.length) {
|
||||
dept.children = filterDisabledDept(dept.children)
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
||||
// 获取详情
|
||||
const getDetailInfo = (id) => {
|
||||
getBusPpeTools(id).then(res => {
|
||||
if (res.code == 200) {
|
||||
ruleForm.value = res.data
|
||||
ruleForm.value.fileContent =JSON.parse(res.data.fileContent)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 选择属地 关联ESC
|
||||
const escName = ref(null)
|
||||
const handleChoseDependency = (val) => {
|
||||
if (val) {
|
||||
const curDependency = busDependencyData.value.find(item => item.id == val)
|
||||
console.log('选择属地信息', curDependency)
|
||||
escName.value = curDependency.escUserName
|
||||
}
|
||||
}
|
||||
|
||||
// 标定文件模板下载
|
||||
const downloadDocxTemplate = () => {
|
||||
const link = document.createElement('a')
|
||||
|
||||
link.href = '/ES任职资格表.docx'
|
||||
link.download = 'ES任职资格表.docx' // 设置下载文件名
|
||||
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
document.body.removeChild(link)
|
||||
}
|
||||
|
||||
const docUploadList = ref([])
|
||||
|
||||
// 自定义上传文件资料
|
||||
const requestDocUpload = (options) => {
|
||||
const { file } = options
|
||||
var formData = new FormData();
|
||||
formData.append('file', file);
|
||||
uploadFile(formData).then(res => {
|
||||
if (res.code == 200) {
|
||||
docUploadList.value.push({
|
||||
name: res.originalFilename,
|
||||
url: baseUrl + res.fileName,
|
||||
suffix: res.suffix
|
||||
})
|
||||
} else {
|
||||
proxy.$modal.msgError(res.msg);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 移除已上传文件列表
|
||||
const removeDocUpload = (file, fileList) => {
|
||||
docUploadList.value = docUploadList.value.filter(
|
||||
item => item.name != file.name
|
||||
);
|
||||
}
|
||||
|
||||
const handleCancel = () => {
|
||||
proxy.resetForm("ruleFormRef")
|
||||
router.push({
|
||||
path: '/safetyReview/examinerApproval'
|
||||
path: '/ppeTool'
|
||||
})
|
||||
}
|
||||
const handleSubmit = () => {
|
||||
proxy.$refs["ruleFormRef"].validate(valid => {
|
||||
if (valid) {
|
||||
router.push({
|
||||
path: '/safetyReview/examinerApproval'
|
||||
})
|
||||
// if (form.value.roleId != undefined) {
|
||||
// form.value.menuIds = getMenuAllCheckedKeys()
|
||||
// updateRole(form.value).then(response => {
|
||||
// proxy.$modal.msgSuccess("修改成功")
|
||||
// open.value = false
|
||||
// getList()
|
||||
// })
|
||||
// } else {
|
||||
// form.value.menuIds = getMenuAllCheckedKeys()
|
||||
// addRole(form.value).then(response => {
|
||||
// proxy.$modal.msgSuccess("新增成功")
|
||||
// open.value = false
|
||||
// getList()
|
||||
// })
|
||||
// }
|
||||
if (docUploadList.value.length == 0) {
|
||||
proxy.$modal.msgWarning("请上传标定文件")
|
||||
return
|
||||
}
|
||||
ruleForm.value.fileContent =JSON.stringify(docUploadList.value)
|
||||
if (ruleForm.value.id != undefined) {
|
||||
updateBusPpeTools(ruleForm.value).then(response => {
|
||||
proxy.$modal.msgSuccess("修改成功")
|
||||
router.push({
|
||||
path: '/ppeTool'
|
||||
})
|
||||
})
|
||||
} else {
|
||||
addBusPpeTools(ruleForm.value).then(response => {
|
||||
proxy.$modal.msgSuccess("新增成功")
|
||||
router.push({
|
||||
path: '/ppeTool'
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -432,6 +490,7 @@ const handleSubmit = () => {
|
|||
font-size: 18px;
|
||||
text-align: left;
|
||||
color: #000000;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.el-form-item--label-top .el-textarea__inner {
|
||||
|
@ -470,7 +529,7 @@ const handleSubmit = () => {
|
|||
text-align: left;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
|
||||
.el-upload-dragger {
|
||||
width: 100%;
|
||||
height: 260px;
|
||||
|
@ -479,4 +538,22 @@ const handleSubmit = () => {
|
|||
padding: 30px 450px !important;
|
||||
}
|
||||
|
||||
.downloadTemplateBtn {
|
||||
width: 100px;
|
||||
height: 36px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 700;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
color: #409eff !important;
|
||||
background: transparent !important;
|
||||
position: absolute;
|
||||
top: -36px;
|
||||
left: 70px;
|
||||
}
|
||||
|
||||
.downloadTemplateBtn:hover {
|
||||
background: transparent !important;
|
||||
color: #409eff !important;
|
||||
}
|
||||
</style>
|
|
@ -110,12 +110,12 @@
|
|||
@set-form-file="handleSetCertificatePhoto" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<!-- <el-col :span="8">
|
||||
<el-form-item label="资质申请表单" prop="beforeCondition.qualificationForm">
|
||||
<myFileUpload ref="qualificationFormRef"
|
||||
@set-form-file="handleSetQualificationForm" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
</div>
|
||||
<div v-if="ruleForm.qualificationId == 'ES'">
|
||||
|
@ -685,6 +685,7 @@ const handleSubmit = () => {
|
|||
font-size: 14px;
|
||||
text-align: center;
|
||||
color: #409eff !important;
|
||||
background: transparent !important;
|
||||
position: absolute;
|
||||
top: -36px;
|
||||
left: 110px;
|
||||
|
|
|
@ -109,12 +109,12 @@
|
|||
@set-form-file="handleSetCertificatePhoto" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<!-- <el-col :span="8">
|
||||
<el-form-item label="资质申请表单" prop="beforeCondition.qualificationForm">
|
||||
<myFileUpload ref="qualificationFormRef"
|
||||
@set-form-file="handleSetQualificationForm" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
</div>
|
||||
<div v-if="ruleForm.qualificationId == 'ES'">
|
||||
|
|
|
@ -89,11 +89,11 @@
|
|||
<myFileUpload ref="certificatePhotoRef" @set-form-file="handleSetCertificatePhoto" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<!-- <el-col :span="8">
|
||||
<el-form-item label="资质申请表单" prop="beforeCondition.qualificationForm">
|
||||
<myFileUpload ref="qualificationFormRef" @set-form-file="handleSetQualificationForm" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
</div>
|
||||
<div v-if="ruleForm.qualificationId == 'ES'">
|
||||
|
@ -572,6 +572,7 @@ const handleSubmit = () => {
|
|||
font-size: 14px;
|
||||
text-align: center;
|
||||
color: #409eff !important;
|
||||
background: transparent !important;
|
||||
position: absolute;
|
||||
top: -36px;
|
||||
left: 110px;
|
||||
|
|
|
@ -89,11 +89,11 @@
|
|||
<myFileUpload ref="certificatePhotoRef" @set-form-file="handleSetCertificatePhoto" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<!-- <el-col :span="8">
|
||||
<el-form-item label="资质申请表单" prop="beforeCondition.qualificationForm">
|
||||
<myFileUpload ref="qualificationFormRef" @set-form-file="handleSetQualificationForm" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
</div>
|
||||
<div v-if="ruleForm.qualificationId == 'ES'">
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<el-card>
|
||||
<template #header>
|
||||
<div class="card-header">
|
||||
<span>新建</span>
|
||||
<span>{{ formTitle }}</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-position="top">
|
||||
|
@ -101,6 +101,7 @@ const levelList = ref([
|
|||
{ title: '车型培训情况', path: '/qualification/vehicleTrain' },
|
||||
{ title: '新建', path: '/qualification/vehicleTrain/addForm' }
|
||||
])
|
||||
const formTitle = ref('新建')
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
getAllUser();
|
||||
|
@ -110,6 +111,7 @@ onMounted(() => {
|
|||
const id = route.params && route.params.Id
|
||||
if (id) {
|
||||
ruleForm.value.id = id
|
||||
formTitle.value = '编辑'
|
||||
getDetailInfo(id)
|
||||
levelList.value = [
|
||||
{ title: '资质管理', path: '/qualification' },
|
||||
|
@ -118,6 +120,7 @@ onMounted(() => {
|
|||
]
|
||||
} else {
|
||||
ruleForm.value.id = null
|
||||
formTitle.value = '新建'
|
||||
levelList.value = [{ title: '资质管理', path: '/qualification' },
|
||||
{ title: '车型培训情况', path: '/qualification/vehicleTrain' },
|
||||
{ title: '新建', path: '/qualification/vehicleTrain/addForm' }]
|
||||
|
|
Loading…
Reference in New Issue
Block a user