From 7df64634d3d7b292713eebfa008c40b3f5f9f65f Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: Tue, 20 Sep 2022 15:57:03 +0800
Subject: [PATCH] 修改
---
src/views/goalManagement/targetSettings/component/dailogAdd.vue | 155 ++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 115 insertions(+), 40 deletions(-)
diff --git a/src/views/goalManagement/targetSettings/component/dailogAdd.vue b/src/views/goalManagement/targetSettings/component/dailogAdd.vue
index cd28085..8ab66ca 100644
--- a/src/views/goalManagement/targetSettings/component/dailogAdd.vue
+++ b/src/views/goalManagement/targetSettings/component/dailogAdd.vue
@@ -1,48 +1,79 @@
<template>
- <el-dialog v-model="Shows" :before-close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable>
+ <el-dialog v-model="Shows" @close="handleClose(ruleFormRef)" :fullscreen="full" :title="titles" width="50%" draggable>
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
<el-form :model="form" :disabled="disabled" ref="ruleFormRef" :rules="rules" label-width="120px">
<el-row>
<el-col :span="11">
- <el-form-item label="安全目标指标" prop="qName" size="default">
- <el-input v-model="form.qName" placeholder="请填写安全目标指标" />
+ <el-form-item label="安全目标项" prop="qName" size="default">
+ <el-input v-model="form.qName" placeholder="请填写安全目标项" />
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
- <el-form-item label="目标指标编号" prop="indexNum" size="default">
- <el-input v-model="form.indexNum" placeholder="请填写目标指标编号" />
+ <el-form-item label="目标编号" prop="indexNum" size="default">
+ <el-input v-model="form.indexNum" placeholder="请填写目标编号" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label="年度" prop="year" size="default">
- <el-input v-model.number="form.year" placeholder="请填写年度" />
+ <el-input v-model.number="form.year" maxlength="8" placeholder="请填写年度" />
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="指标值" prop="value" size="default">
- <el-input v-model="form.value" placeholder="请填写指标值" />
+ <el-input v-model.number="form.value" placeholder="请填写指标值">
+ <template #prepend>
+ <el-select v-model="form.valueSign " placeholder="请选择" style="width: 115px">
+ <el-option label="大于" :value="1" />
+ <el-option label="等于" :value="2" />
+ <el-option label="小于" :value="3" />
+ </el-select>
+ </template>
+ </el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
- <el-form-item label="指标级别" size="default">
+ <el-form-item label="指标级别" size="default" prop="level">
<el-select v-model="form.level" placeholder="请选择" style="width: 100%">
- <el-option label="公司级" value="1">公司级</el-option>
- <el-option label="部门分厂级" value="2">部门分厂级</el-option>
- <el-option label="工段班组级" value="3">工段班组级</el-option>
+ <el-option label="公司级" :value="1">公司级</el-option>
+ <el-option label="部门分厂级" :value="2">部门分厂级</el-option>
+ <el-option label="工段班组级" :value="3">工段班组级</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
- <el-form-item label="完成期限" size="default">
- <el-date-picker v-model="form.completeDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" />
+ <el-form-item label="完成期限" size="default" prop="completeDate">
+ <el-date-picker
+ v-model="form.completeDate"
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ type="datetime"
+ placeholder="请选择"
+ style="width: 100%"
+ />
</el-form-item>
</el-col>
</el-row>
- <el-form-item label="备注信息">
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="目标制定部门" size="default" prop="">
+ <el-tree-select
+ v-model="form.makerDepartmentId"
+ :data="data"
+ @current-change="makerName"
+ check-strictly="true"
+ class="w100"
+ :props="propse"
+ placeholder="请选择"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2"> </el-col>
+ </el-row>
+ <el-form-item label="备注信息" prop="memo">
<el-input v-model="form.memo" size="default" type="textarea" />
</el-form-item>
</el-form>
@@ -56,6 +87,7 @@
</template>
<script lang="ts">
import { ref, toRefs, reactive, onMounted, watch, defineComponent } from 'vue';
+// import { timeDate } from '/@/assets/index.ts';
import screenfull from 'screenfull';
import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';
import type { FormInstance, FormRules } from 'element-plus';
@@ -73,14 +105,19 @@
memo: '', ////备注信息
targetType: '', ////指标类型 1:年指标 2:月指标
completeDate: '', ////完成期限
- divideStatus: '1', ////分解状态 1:已分解 2:未分解
+ divideStatus: '2', ////分解状态 1:已分解 2:未分解
value: '', ////指标值
+ makerDepartmentId: '',
+ valueSign:""
});
const titles = ref();
const disabled = ref(false);
+ const titleT = ref();
// 打开弹窗
const openDialog = (title: string, value: any, id: number) => {
+ department();
Shows.value = true;
+ titleT.value = title;
titles.value = `${title}目标设定`;
form.value.targetType = value;
disabled.value = title == '查看' ? true : false;
@@ -90,10 +127,24 @@
.then((res) => {
if (res.data.code == 200) {
form.value = res.data.data;
+ form.value.completeDate = timeC(form.value.completeDate);
} else {
ElMessage.error(res.data.msg);
}
});
+ };
+ const timeC = (timestamp: any) => {
+ let a = new Date(timestamp).getTime();
+ const date = new Date(a);
+ const Y = date.getFullYear() + '-';
+ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
+ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
+ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
+ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
+ const s = date.getSeconds(); // 秒
+ const dateString = Y + M + D + h + m + `:${s}`;
+ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23
+ return dateString;
};
//全屏
const full = ref(false);
@@ -108,14 +159,14 @@
qName: [
{
required: true,
- message: '安全目标指标不能为空',
+ message: '安全目标项不能为空',
trigger: 'change',
},
],
indexNum: [
{
required: true,
- message: '目标指标编号不能为空',
+ message: '目标编号不能为空',
trigger: 'change',
},
],
@@ -132,12 +183,24 @@
message: '指标值不能为空',
trigger: 'change',
},
+ {
+ type: 'number',
+ message: '指标值只能为数字类型',
+ trigger: 'change',
+ },
],
+ level: [],
+ completeDate: [],
+ memo: [],
});
+ // 提交
const submitForm = async (formEl: FormInstance | undefined) => {
if (!formEl) return;
await formEl.validate((valid, fields) => {
if (valid) {
+ if (titleT.value == '新建') {
+ delete form.value.id;
+ }
Shows.value = false;
goalManagementApi()
.getTargetMngAddOrupdata(form.value)
@@ -153,45 +216,57 @@
formEl.resetFields();
}
});
+ formEl.resetFields();
} else {
console.log('error submit!', fields);
}
});
- form.value = {
- indexNum: '', //目标指标编号
- qName: '', //安全目标指标
- year: '', //年度
- level: '', ////指标级别 1:公司级 2:部门分厂级 3:工段班组级
- memo: '', ////备注信息
- targetType: '', ////指标类型 1:年指标 2:月指标
- completeDate: '', ////完成期限
- divideStatus: '1', ////分解状态 1:已分解 2:未分解
- value: '', ////指标值
- };
};
-
+ // 取消
const resetForm = (formEl: FormInstance | undefined) => {
if (!formEl) return;
formEl.resetFields();
Shows.value = false;
- form.value = {
- indexNum: '', //目标指标编号
- qName: '', //安全目标指标
- year: '', //年度
- level: '', ////指标级别 1:公司级 2:部门分厂级 3:工段班组级
- memo: '', ////备注信息
- targetType: '', ////指标类型 1:年指标 2:月指标
- completeDate: '', ////完成期限
- divideStatus: '1', ////分解状态 1:已分解 2:未分解
- value: '', ////指标值
- };
+ };
+ const handleClose = (formEl: FormInstance | undefined) => {
+ formEl.resetFields();
+ };
+ //部门
+ const department = () => {
+ goalManagementApi()
+ .getTreedepartment()
+ .then((res) => {
+ if (res.data.code == 200) {
+ data.value = res.data.data;
+ } else {
+ ElMessage.error(res.data.msg);
+ }
+ });
+ };
+ const propse = {
+ label: 'depName',
+ children: 'children',
+ value: 'depId',
+ };
+ const data = ref();
+ const makerName = (data: any) => {
+ form.value.makerDepartmentName = data.depName;
};
return {
+ department,
+ propse,
+ data,
+ makerName,
+ timeC,
openDialog,
+ handleClose,
titles,
+ titleT,
+ // timeDate,
Shows,
form,
full,
+ disabled,
toggleFullscreen,
rules,
ruleFormRef,
--
Gitblit v1.9.2