Compare commits
2 Commits
c72b62156c
...
2e54b178f5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2e54b178f5 | ||
|
|
0ae268ecab |
|
|
@ -54,6 +54,7 @@
|
|||
<el-table-column prop="dependencyName" label="属地" min-width="200" />
|
||||
<el-table-column prop="escUserName" label="ESC" min-width="100" />
|
||||
<el-table-column prop="deptName" label="部门" min-width="150" />
|
||||
<el-table-column prop="toolName" label="工具及防护用品名称" width="200" />
|
||||
<el-table-column prop="toolName" label="工具名称" min-width="180" />
|
||||
<el-table-column prop="toolSn" label="工具编号" min-width="130" />
|
||||
<el-table-column prop="expireDate" label="到期日期" min-width="130">
|
||||
|
|
|
|||
|
|
@ -18,13 +18,18 @@
|
|||
<div class="applyFormContainer">
|
||||
<el-row class="myRow" :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工具名称" prop="toolName">
|
||||
<el-select v-model="ruleForm.toolName" placeholder="请选择工具名称" clearable>
|
||||
<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" v-if="ruleForm.toolName == '其他'">
|
||||
<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="工具编号" prop="toolSn">
|
||||
<el-input v-model="ruleForm.toolSn" placeholder="请输入工具编号" clearable />
|
||||
|
|
@ -32,14 +37,14 @@
|
|||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="部门" prop="deptId">
|
||||
<el-tree-select v-model="ruleForm.deptId" :data="enabledDeptOptions"
|
||||
<el-tree-select v-model="ruleForm.deptId" :data="enabledDeptOptions" filterable
|
||||
: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="属地" prop="dependencyId">
|
||||
<el-select v-model="ruleForm.dependencyId" placeholder="请选择属地"
|
||||
<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" />
|
||||
|
|
@ -68,9 +73,9 @@
|
|||
将文件拖曳至此区域,或 <em>点击上传</em>
|
||||
</div>
|
||||
</el-upload>
|
||||
<el-button class="downloadTemplateBtn" text v-if="ruleForm.toolName == '高压跨接盒标定'"
|
||||
<el-button class="downloadTemplateBtn" text v-if="ruleForm.toolName == '高压跨接盒'"
|
||||
@click="downloadDocxTemplate('WI')">下载WI模板</el-button>
|
||||
<el-button class="downloadTemplateBtn2" text v-if="ruleForm.toolName == '高压跨接盒标定'"
|
||||
<el-button class="downloadTemplateBtn2" text v-if="ruleForm.toolName == '高压跨接盒'"
|
||||
@click="downloadDocxTemplate('BIAOQIANYL')">下载标签样例模板</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -134,7 +139,7 @@ const { ppe_tool_name } = proxy.useDict("ppe_tool_name")
|
|||
const data = reactive({
|
||||
ruleForm: {},
|
||||
rules: {
|
||||
toolName: [{ required: true, message: "工具名称不能为空", trigger: "change" }],
|
||||
toolName: [{ required: true, message: "工具及防护用品名称不能为空", trigger: "change" }],
|
||||
toolSn: [{ required: true, message: "工具编号不能为空", trigger: "blur" }],
|
||||
deptId: [{ required: true, message: "部门不能为空", trigger: "change" }],
|
||||
dependencyId: [{ required: true, message: "属地不能为空", trigger: "change" }],
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="pdf-viewer">
|
||||
<div class="pdf-viewer" v-loading="loading">
|
||||
<vue-pdf-embed :source="pdfUrl" :page="currentPage" :style="`transform: scale(${scale})`"
|
||||
class="pdf-document" />
|
||||
@loaded="handlePdfLoaded" @progress="handleProgress" class="pdf-document" />
|
||||
|
||||
<div class="pdf-controls">
|
||||
<el-button @click="prevPage" :disabled="currentPage <= 1">上一页</el-button>
|
||||
|
|
@ -29,14 +29,31 @@ const props = defineProps({
|
|||
})
|
||||
|
||||
const currentPage = ref(1)
|
||||
const pageCount = ref(1)
|
||||
const scale = ref(1)
|
||||
|
||||
const progress = ref(0)
|
||||
const loading = ref(false)
|
||||
|
||||
const handlePdfLoaded = (pdf) => {
|
||||
console.log('PDF 加载完成', pdf)
|
||||
loading.value = false
|
||||
pageCount.value = pdf.numPages
|
||||
}
|
||||
|
||||
const handleProgress = (progressData) => {
|
||||
progress.value = Math.round(progressData.loaded / progressData.total * 100)
|
||||
console.log(progress.value)
|
||||
if(progress.value < 100) loading.value = true
|
||||
else loading.value = false
|
||||
}
|
||||
|
||||
const prevPage = () => {
|
||||
if (currentPage.value > 1) currentPage.value--
|
||||
}
|
||||
|
||||
const nextPage = () => {
|
||||
if (currentPage.value < props.pageCount) currentPage.value++
|
||||
if (currentPage.value < pageCount.value) currentPage.value++
|
||||
}
|
||||
|
||||
const zoomIn = () => {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="pdf-viewer">
|
||||
<div class="pdf-viewer" v-loading="loading">
|
||||
<vue-pdf-embed :source="pdfUrl" :page="currentPage" :style="`transform: scale(${scale})`"
|
||||
class="pdf-document" />
|
||||
@loaded="handlePdfLoaded" @progress="handleProgress" class="pdf-document" />
|
||||
|
||||
<div class="pdf-controls">
|
||||
<el-button @click="prevPage" :disabled="currentPage <= 1">上一页</el-button>
|
||||
|
|
@ -29,14 +29,31 @@ const props = defineProps({
|
|||
})
|
||||
|
||||
const currentPage = ref(1)
|
||||
const pageCount = ref(1)
|
||||
const scale = ref(1)
|
||||
|
||||
const progress = ref(0)
|
||||
const loading = ref(false)
|
||||
|
||||
const handlePdfLoaded = (pdf) => {
|
||||
console.log('PDF 加载完成', pdf)
|
||||
loading.value = false
|
||||
pageCount.value = pdf.numPages
|
||||
}
|
||||
|
||||
const handleProgress = (progressData) => {
|
||||
progress.value = Math.round(progressData.loaded / progressData.total * 100)
|
||||
console.log(progress.value)
|
||||
if(progress.value < 100) loading.value = true
|
||||
else loading.value = false
|
||||
}
|
||||
|
||||
const prevPage = () => {
|
||||
if (currentPage.value > 1) currentPage.value--
|
||||
}
|
||||
|
||||
const nextPage = () => {
|
||||
if (currentPage.value < props.pageCount) currentPage.value++
|
||||
if (currentPage.value < pageCount.value) currentPage.value++
|
||||
}
|
||||
|
||||
const zoomIn = () => {
|
||||
|
|
|
|||
|
|
@ -307,21 +307,21 @@
|
|||
placeholder="请选择急救证到期日期" style="width: 60%;" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="beforeCondition.hasQualified.length > 0">
|
||||
<el-col :span="12" v-if="beforeConditionInfo.hasQualified.length > 0">
|
||||
<el-form-item label="电工证初领日期">
|
||||
<el-date-picker v-model="beforeCondition.collectionDate" type="date"
|
||||
<el-date-picker v-model="beforeConditionInfo.collectionDate" type="date"
|
||||
format="YYYY-MM-DD" value-format="YYYY-MM-DD" placeholder="请选择电工证初领日期"
|
||||
style="width: 60%;" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="beforeCondition.hasQualified.length > 0">
|
||||
<el-col :span="12" v-if="beforeConditionInfo.hasQualified.length > 0">
|
||||
<el-form-item label="电工证复审日期">
|
||||
<el-date-picker v-model="beforeCondition.reviewDate" type="date"
|
||||
<el-date-picker v-model="beforeConditionInfo.reviewDate" type="date"
|
||||
format="YYYY-MM-DD" value-format="YYYY-MM-DD" placeholder="请选择电工证复审日期"
|
||||
style="width: 60%;" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8" v-if="beforeCondition.hasQualified.length > 0">
|
||||
<el-col :span="8" v-if="beforeConditionInfo.hasQualified.length > 0">
|
||||
<el-form-item label="电工证" prop="beforeCondition.certificatePhoto">
|
||||
<img :src="beforeConditionInfo.certificatePhoto.split('.').pop() == 'pdf' ? pdfIcon : baseUrl + beforeConditionInfo.certificatePhoto"
|
||||
class="avatar viewFile"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="pdf-viewer">
|
||||
<div class="pdf-viewer" v-loading="loading">
|
||||
<vue-pdf-embed :source="pdfUrl" :page="currentPage" :style="`transform: scale(${scale})`"
|
||||
class="pdf-document" />
|
||||
@loaded="handlePdfLoaded" @progress="handleProgress" class="pdf-document" />
|
||||
|
||||
<div class="pdf-controls">
|
||||
<el-button @click="prevPage" :disabled="currentPage <= 1">上一页</el-button>
|
||||
|
|
@ -29,14 +29,31 @@ const props = defineProps({
|
|||
})
|
||||
|
||||
const currentPage = ref(1)
|
||||
const pageCount = ref(1)
|
||||
const scale = ref(1)
|
||||
|
||||
const progress = ref(0)
|
||||
const loading = ref(false)
|
||||
|
||||
const handlePdfLoaded = (pdf) => {
|
||||
console.log('PDF 加载完成', pdf)
|
||||
loading.value = false
|
||||
pageCount.value = pdf.numPages
|
||||
}
|
||||
|
||||
const handleProgress = (progressData) => {
|
||||
progress.value = Math.round(progressData.loaded / progressData.total * 100)
|
||||
console.log(progress.value)
|
||||
if(progress.value < 100) loading.value = true
|
||||
else loading.value = false
|
||||
}
|
||||
|
||||
const prevPage = () => {
|
||||
if (currentPage.value > 1) currentPage.value--
|
||||
}
|
||||
|
||||
const nextPage = () => {
|
||||
if (currentPage.value < props.pageCount) currentPage.value++
|
||||
if (currentPage.value < pageCount.value) currentPage.value++
|
||||
}
|
||||
|
||||
const zoomIn = () => {
|
||||
|
|
@ -57,7 +74,7 @@ const zoomOut = () => {
|
|||
|
||||
.pdf-document {
|
||||
flex: 1;
|
||||
overflow: auto;
|
||||
overflow: auto;
|
||||
transform-origin: top left;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -307,21 +307,21 @@
|
|||
placeholder="请选择急救证到期日期" style="width: 60%;" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="beforeCondition.hasQualified.length > 0">
|
||||
<el-col :span="12" v-if="beforeConditionInfo.hasQualified.length > 0">
|
||||
<el-form-item label="电工证初领日期">
|
||||
<el-date-picker v-model="beforeCondition.collectionDate" type="date"
|
||||
<el-date-picker v-model="beforeConditionInfo.collectionDate" type="date"
|
||||
format="YYYY-MM-DD" value-format="YYYY-MM-DD" placeholder="请选择电工证初领日期"
|
||||
style="width: 60%;" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="beforeCondition.hasQualified.length > 0">
|
||||
<el-col :span="12" v-if="beforeConditionInfo.hasQualified.length > 0">
|
||||
<el-form-item label="电工证复审日期">
|
||||
<el-date-picker v-model="beforeCondition.reviewDate" type="date"
|
||||
<el-date-picker v-model="beforeConditionInfo.reviewDate" type="date"
|
||||
format="YYYY-MM-DD" value-format="YYYY-MM-DD" placeholder="请选择电工证复审日期"
|
||||
style="width: 60%;" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8" v-if="beforeCondition.hasQualified.length > 0">
|
||||
<el-col :span="8" v-if="beforeConditionInfo.hasQualified.length > 0">
|
||||
<el-form-item label="电工证" prop="beforeCondition.certificatePhoto">
|
||||
<img :src="beforeConditionInfo.certificatePhoto.split('.').pop() == 'pdf' ? pdfIcon : baseUrl + beforeConditionInfo.certificatePhoto"
|
||||
class="avatar viewFile"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="pdf-viewer">
|
||||
<div class="pdf-viewer" v-loading="loading">
|
||||
<vue-pdf-embed :source="pdfUrl" :page="currentPage" :style="`transform: scale(${scale})`"
|
||||
class="pdf-document" />
|
||||
@loaded="handlePdfLoaded" @progress="handleProgress" class="pdf-document" />
|
||||
|
||||
<div class="pdf-controls">
|
||||
<el-button @click="prevPage" :disabled="currentPage <= 1">上一页</el-button>
|
||||
|
|
@ -29,14 +29,31 @@ const props = defineProps({
|
|||
})
|
||||
|
||||
const currentPage = ref(1)
|
||||
const pageCount = ref(1)
|
||||
const scale = ref(1)
|
||||
|
||||
const progress = ref(0)
|
||||
const loading = ref(false)
|
||||
|
||||
const handlePdfLoaded = (pdf) => {
|
||||
console.log('PDF 加载完成', pdf)
|
||||
loading.value = false
|
||||
pageCount.value = pdf.numPages
|
||||
}
|
||||
|
||||
const handleProgress = (progressData) => {
|
||||
progress.value = Math.round(progressData.loaded / progressData.total * 100)
|
||||
console.log(progress.value)
|
||||
if(progress.value < 100) loading.value = true
|
||||
else loading.value = false
|
||||
}
|
||||
|
||||
const prevPage = () => {
|
||||
if (currentPage.value > 1) currentPage.value--
|
||||
}
|
||||
|
||||
const nextPage = () => {
|
||||
if (currentPage.value < props.pageCount) currentPage.value++
|
||||
if (currentPage.value < pageCount.value) currentPage.value++
|
||||
}
|
||||
|
||||
const zoomIn = () => {
|
||||
|
|
|
|||
|
|
@ -92,6 +92,15 @@
|
|||
<el-text v-if="scope.row.level == 3" type="danger" class="dangerText">主要偏差</el-text>
|
||||
<el-text v-if="scope.row.level == 2" type="danger" class="infoinfoText">一般偏差</el-text>
|
||||
<el-text v-if="scope.row.level == 1" type="success" class="successText">建议项</el-text>
|
||||
<el-text v-if="scope.row.level == 4" type="success" class="yxText">优秀项</el-text>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="correctionFlag" label="是否整改" align="center" width="120">
|
||||
<template #default="scope">
|
||||
<el-text v-if="scope.row.correctionFlag == 1" type="danger"
|
||||
class="dangerText">是</el-text>
|
||||
<el-text v-if="scope.row.correctionFlag == 0" type="danger"
|
||||
class="successText">否</el-text>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="chargeUserName" label="整改负责人" width="120" />
|
||||
|
|
@ -135,7 +144,7 @@ const showTableData = ref([])
|
|||
// 缓存数据
|
||||
const cachShowTableData = ref([])
|
||||
// 按钮组配置
|
||||
const ToolOptions = ref(['全部', '主要偏差', '一般偏差', '建议项'])
|
||||
const ToolOptions = ref(['全部', '主要偏差', '一般偏差', '建议项', '优秀项'])
|
||||
const activeIndex = ref(0)
|
||||
const levelList = ref([
|
||||
{ title: '高压安全审查' },
|
||||
|
|
@ -179,7 +188,7 @@ const getListByDependencyList = (_dependencyId) => {
|
|||
const handleYearChange = (value) => {
|
||||
console.log('选中的值:', value)
|
||||
// 这里可以执行选择变化后的逻辑
|
||||
detailForm.value = allSafetyData.value.find(item => item.year === value);
|
||||
detailForm.value = allSafetyData.value.find(item => item.year === value);
|
||||
detailForm?.value.reviewProblemList.forEach(item => {
|
||||
showTableData.value.push(item)
|
||||
cachShowTableData.value.push(item)
|
||||
|
|
@ -191,6 +200,7 @@ const handleChangeLeve = (index, _level) => {
|
|||
if (_level == '主要偏差') showTableData.value = cachShowTableData.value.filter(item => item.level == 3)
|
||||
else if (_level == '一般偏差') showTableData.value = cachShowTableData.value.filter(item => item.level == 2)
|
||||
else if (_level == '建议项') showTableData.value = cachShowTableData.value.filter(item => item.level == 1)
|
||||
else if (_level == '优秀项') showTableData.value = cachShowTableData.value.filter(item => item.level == 4)
|
||||
else showTableData.value = cachShowTableData.value
|
||||
}
|
||||
|
||||
|
|
@ -311,6 +321,13 @@ const handleChangeLeve = (index, _level) => {
|
|||
color: #00B32A;
|
||||
}
|
||||
|
||||
.yxText {
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
font-size: 18px;
|
||||
color: #767C81;
|
||||
}
|
||||
|
||||
.dangerText {
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
|
|
|
|||
|
|
@ -67,10 +67,10 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="130">
|
||||
<template #default="scope">
|
||||
<el-button v-if="scope.row.reviewState != 1" type="primary" text class="replayTextBtn"
|
||||
<el-button type="primary" text class="replayTextBtn"
|
||||
v-hasPermi="['examinerTasks:edit']" @click="handleEdit(scope.row)">编辑</el-button>
|
||||
<el-divider v-if="scope.row.reviewState != 1" direction="vertical" class="verticalLine" />
|
||||
<el-button v-if="scope.row.reviewState != 1" type="primary" text class="deleteTextBtn"
|
||||
<el-divider direction="vertical" class="verticalLine" />
|
||||
<el-button type="primary" text class="deleteTextBtn"
|
||||
v-hasPermi="['examinerTasks:delete']" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
|
|||
|
|
@ -123,9 +123,10 @@
|
|||
<el-text v-if="scope.row.correctionFlag == 1 && !scope.row.editFlag" type="danger"
|
||||
class="dangerText">是</el-text>
|
||||
<el-text v-if="scope.row.correctionFlag == 0 && !scope.row.editFlag" type="danger"
|
||||
class="successText">否</el-text>
|
||||
<el-select v-show="scope.row.editFlag" v-model="scope.row.correctionFlag" placeholder="请选择"
|
||||
clearable style="width: 86px">
|
||||
class="successText">否</el-text>
|
||||
<el-select v-show="scope.row.editFlag" v-model="scope.row.correctionFlag"
|
||||
placeholder="请选择" clearable style="width: 86px"
|
||||
@change="handleChangeCorrectionFlag($event, scope.row)">
|
||||
<el-option v-for="item in correctionFlagList" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
|
|
@ -359,7 +360,7 @@ const handleAddProblem = () => {
|
|||
chargeUserId: escUserId.value,
|
||||
chargeUserName: escUserName.value,
|
||||
planDoneTime: null,
|
||||
state: 0,
|
||||
state: null,
|
||||
editFlag: true
|
||||
}
|
||||
showTableData.value.push(itemProblem)
|
||||
|
|
@ -395,6 +396,12 @@ const handleCancelClick = (row, rowIndex) => {
|
|||
// 计算开口项数量
|
||||
handleCountOpenItemCount()
|
||||
}
|
||||
// 是否整改切换
|
||||
const handleChangeCorrectionFlag = (val, row) => {
|
||||
console.log('sad', val, row)
|
||||
if (val == 1) row.state = 0
|
||||
else row.state = null
|
||||
}
|
||||
// 问题等级过滤
|
||||
const handleChangeLeve = (index, _level) => {
|
||||
activeIndex.value = index
|
||||
|
|
|
|||
|
|
@ -27,11 +27,11 @@
|
|||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="tree" />所属部门
|
||||
<div class="pull-right" v-if="state.user.dept">{{ state.user.dept.deptName }} / {{ state.postGroup }}</div>
|
||||
<div class="pull-right" v-if="state.user.dept">{{ state.user.dept?.deptName }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="peoples" />所属角色
|
||||
<div class="pull-right">{{ state.roleGroup }}</div>
|
||||
<div class="pull-right" v-if="state.roleGroup">{{ state.roleGroup.roleName }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="date" />创建日期
|
||||
|
|
@ -66,7 +66,7 @@
|
|||
import userAvatar from "./userAvatar"
|
||||
import userInfo from "./userInfo"
|
||||
import resetPwd from "./resetPwd"
|
||||
import { getUserProfile } from "@/api/system/user"
|
||||
import { getUserInfo } from "@/api/system/user"
|
||||
|
||||
const route = useRoute()
|
||||
const selectedTab = ref("userinfo")
|
||||
|
|
@ -77,10 +77,10 @@ const state = reactive({
|
|||
})
|
||||
|
||||
function getUser() {
|
||||
getUserProfile().then(response => {
|
||||
state.user = response.data
|
||||
state.roleGroup = response.roleGroup
|
||||
state.postGroup = response.postGroup
|
||||
getUserInfo().then(response => {
|
||||
state.user = response.data
|
||||
console.log(state.user)
|
||||
state.roleGroup = response.data.roles.length > 0 ? response.data.roles[0] : null
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user