diff --git a/src/views/ppeTool/index.vue b/src/views/ppeTool/index.vue
index b8df5c6..5e227c9 100644
--- a/src/views/ppeTool/index.vue
+++ b/src/views/ppeTool/index.vue
@@ -72,7 +72,7 @@
编辑
-
+
删除
diff --git a/src/views/ppeTool/toolForm.vue b/src/views/ppeTool/toolForm.vue
index 70dfd73..47fd154 100644
--- a/src/views/ppeTool/toolForm.vue
+++ b/src/views/ppeTool/toolForm.vue
@@ -62,7 +62,7 @@
-
+
@@ -204,7 +204,7 @@ const handleChoseDependency = (val) => {
// 标定文件模板下载
const downloadDocxTemplate = (val) => {
- const link = document.createElement('a')
+ const link = document.createElement('a')
if (val == 'WI') {
link.href = '/附录2:跨接盒检测清单V2.0 HV Adapter Check List.pdf'
link.download = '附录2:跨接盒检测清单V2.0 HV Adapter Check List.pdf' // 设置下载文件名
@@ -227,6 +227,7 @@ const requestDocUpload = (options) => {
formData.append('file', file);
uploadFile(formData).then(res => {
if (res.code == 200) {
+ proxy.$modal.msgSuccess("上传成功")
docUploadList.value.push({
name: res.originalFilename,
url: baseUrl + res.fileName,
@@ -254,10 +255,13 @@ const handleCancel = () => {
const handleSubmit = () => {
proxy.$refs["ruleFormRef"].validate(valid => {
if (valid) {
- if (docUploadList.value.length == 0) {
- proxy.$modal.msgWarning("请上传标定文件")
- return false
+ if (ruleForm.value.toolName == '高压跨接盒标定') {
+ if (docUploadList.value.length == 0) {
+ proxy.$modal.msgWarning("请上传标定文件")
+ return false
+ }
}
+
ruleForm.value.fileContent = JSON.stringify(docUploadList.value)
if (ruleForm.value.id != undefined) {
updateBusPpeTools(ruleForm.value).then(response => {
diff --git a/src/views/safetyReview/examinerEscTask/index.vue b/src/views/safetyReview/examinerEscTask/index.vue
index 7c612fb..bd67097 100644
--- a/src/views/safetyReview/examinerEscTask/index.vue
+++ b/src/views/safetyReview/examinerEscTask/index.vue
@@ -45,6 +45,7 @@
建议项
一般偏差
主要偏差
+ 优秀项
@@ -63,11 +64,13 @@
- 立即整改
-
- 查看
+ 立即整改
+
+ 查看
@@ -232,6 +235,13 @@ const handleCorrection = (record) => {
color: #DD9200;
}
+.yxText {
+ font-family: Microsoft YaHei;
+ font-weight: 400;
+ font-size: 18px;
+ color: #767C81;
+}
+
.successText {
font-family: Microsoft YaHei;
font-weight: 400;
diff --git a/src/views/safetyReview/examinerTasks/taskForm.vue b/src/views/safetyReview/examinerTasks/taskForm.vue
index 4819af1..d86d8a9 100644
--- a/src/views/safetyReview/examinerTasks/taskForm.vue
+++ b/src/views/safetyReview/examinerTasks/taskForm.vue
@@ -28,9 +28,9 @@
-
+
@@ -109,6 +109,8 @@
class="infoinfoText">一般偏差
建议项
+ 优秀项
+
+
+ 是
+ 否
+
+
+
+
+
@@ -138,23 +153,22 @@
- 编辑
+ 编辑
- 删除
+ 删除
- 保存
+ 保存
- 取消
+ 取消
-
+
新增
@@ -196,11 +210,16 @@ const showTableData = ref([])
// 缓存数据
const cachShowTableData = ref([])
// 按钮组配置
-const ToolOptions = ref(['全部', '主要偏差', '一般偏差', '建议项'])
+const ToolOptions = ref(['全部', '主要偏差', '一般偏差', '建议项', '优秀项'])
const leveProList = ref([
{ value: 3, label: '主要偏差' },
{ value: 2, label: '一般偏差' },
- { value: 1, label: '建议项' }
+ { value: 1, label: '建议项' },
+ { value: 4, label: '优秀项' }
+])
+const correctionFlagList = ref([
+ { value: 0, label: '否' },
+ { value: 1, label: '是' }
])
const activeIndex = ref(0)
const levelList = ref([
@@ -324,24 +343,25 @@ const filterDisabledDept = (deptList) => {
return true
})
}
+// 计算开口项数量
+const handleCountOpenItemCount = () => {
+ ruleForm.value.openItemCount = showTableData.value.filter(item => item.level == 2 || item.level == 3).length
+}
// 新增问题
const handleAddProblem = () => {
- if (showTableData.value.length < ruleForm.value.openItemCount) {
- const itemProblem = {
- safetyReviewId: ruleForm.id ? ruleForm.safetyReviewId : null,
- remark: null,
- level: null,
- chargeUserId: escUserId.value,
- chargeUserName: escUserName.value,
- planDoneTime: null,
- state: 0,
- editFlag: true
- }
- showTableData.value.push(itemProblem)
- cachShowTableData.value.push(itemProblem)
- } else {
- proxy.$modal.msgError("填报问题不允许超出开口项数量!!!");
+ const itemProblem = {
+ safetyReviewId: ruleForm.id ? ruleForm.safetyReviewId : null,
+ remark: null,
+ level: null,
+ correctionFlag: null, // 是否需要整改 0 否 1 是
+ chargeUserId: escUserId.value,
+ chargeUserName: escUserName.value,
+ planDoneTime: null,
+ state: 0,
+ editFlag: true
}
+ showTableData.value.push(itemProblem)
+ cachShowTableData.value.push(itemProblem)
}
// 编辑问题
const handleEditClick = (row, rowIndex) => {
@@ -353,6 +373,8 @@ const handleEditClick = (row, rowIndex) => {
const handleRemove = (index) => {
showTableData.value.splice(index, 1)
cachShowTableData.value.splice(index, 1)
+ // 计算开口项数量
+ handleCountOpenItemCount()
}
// 保存问题
const handleSaveClick = (row, rowIndex) => {
@@ -360,12 +382,16 @@ const handleSaveClick = (row, rowIndex) => {
var editRow = JSON.stringify(row)
showTableData.value[rowIndex] = JSON.parse(editRow)
cachShowTableData.value[rowIndex] = JSON.parse(editRow)
+ // 计算开口项数量
+ handleCountOpenItemCount()
}
// 取消编辑
const handleCancelClick = (row, rowIndex) => {
const cacheRow = JSON.stringify(cachShowTableData.value[rowIndex])
showTableData.value[rowIndex] = JSON.parse(cacheRow)
row.editFlag = false
+ // 计算开口项数量
+ handleCountOpenItemCount()
}
// 问题等级过滤
const handleChangeLeve = (index, _level) => {
@@ -373,6 +399,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
}
@@ -390,6 +417,7 @@ const handleSubmit = () => {
proxy.$modal.msgWarning("请填报问题")
return false
}
+ handleCountOpenItemCount()
ruleForm.value.reviewProblemList = showTableData.value
if (ruleForm.value.id != undefined) {
updateBusSafetyReview(ruleForm.value).then(response => {
@@ -525,6 +553,13 @@ const handleSubmit = () => {
color: #00B32A;
}
+.yxText {
+ font-family: Microsoft YaHei;
+ font-weight: 400;
+ font-size: 18px;
+ color: #767C81;
+}
+
.dangerText {
font-family: Microsoft YaHei;
font-weight: 400;
@@ -730,8 +765,8 @@ const handleSubmit = () => {
color: #BABDC0;
border: 1px dashed #BABDC0;
}
+
.verticalLine {
border-left: 1px solid #0090ff !important;
}
-
\ No newline at end of file
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index fe947be..86d6169 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -104,11 +104,11 @@
+ v-if="columns[2].visible" :show-overflow-tooltip="true" />
+ v-if="columns[2].visible" :show-overflow-tooltip="true" />
-->
-
+
@@ -376,6 +376,17 @@ const columns = ref([
{ key: 6, label: `创建时间`, visible: true }
])
+const validateRoles = (rule, value, callback) => {
+ console.log('选择值', value)
+ const forbiddenRoles = ['3', '4', '5']
+ const selectedForbidden = value.filter(role => forbiddenRoles.includes(role))
+
+ if (selectedForbidden.length > 1) {
+ callback(new Error('不能同时选择培训中心审核员、标签审核员和安全审查员角色'))
+ } else {
+ callback()
+ }
+}
const data = reactive({
form: {},
queryParams: {
@@ -383,7 +394,7 @@ const data = reactive({
pageSize: 10,
status: undefined,
userName: undefined,
- phonenumber: undefined,
+ phonenumber: undefined,
deptId: undefined
},
rules: {
@@ -397,13 +408,15 @@ const data = reactive({
deptId: [{ required: true, message: "请选择归属部门", trigger: ["change"] }],
sectionId: [{ required: true, message: "请选择科室", trigger: ["change"] }],
dependencyId: [{ required: true, message: "请选择属地", trigger: ["change"] }],
+ roleIds: [{ validator: validateRoles, trigger: 'change' }]
}
})
+
const { queryParams, form, rules } = toRefs(data)
// 工号输入后 自动关联账号
const handleInput = (value) => {
- form.value.userName = value
+ form.value.userName = value
}
// 科室数据
const sectionData = ref([])