From e1034e8661e811215809a2a375767d50ccd32541 Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: 星期二, 14 十月 2025 08:51:38 +0800
Subject: [PATCH] 修改新增
---
src/views/work/financialMng/qualityFinancialAnalysis/components/editDialog.vue | 320 ++++++++++++++++++-----------------------------------
1 files changed, 110 insertions(+), 210 deletions(-)
diff --git a/src/views/work/financialMng/qualityFinancialAnalysis/components/editDialog.vue b/src/views/work/financialMng/qualityFinancialAnalysis/components/editDialog.vue
index 7bbd541..3afce15 100644
--- a/src/views/work/financialMng/qualityFinancialAnalysis/components/editDialog.vue
+++ b/src/views/work/financialMng/qualityFinancialAnalysis/components/editDialog.vue
@@ -49,20 +49,20 @@
</el-row>
<el-row :gutter="24">
<el-col :span="24">
- <el-form-item label="一 、基本情况:" prop="method" >
- <el-input :disabled="title === '查看'" v-model="state.form.method" :rows="4" type="textarea" placeholder=""/>
+ <el-form-item label="一 、基本情况:" prop="basic" >
+ <el-input :disabled="title === '查看'" v-model="state.form.basic" :rows="4" type="textarea" placeholder=""/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
- <el-form-item label="二 、综合分析:" v-if="showEditor" required>
- <t-editor style="width: 800px" ref="myEditor" :toolbar="toolbar" :value="state.form.policy" ></t-editor>
+ <el-form-item label="二 、综合分析:" v-if="showEditor" required prop="synthesize">
+ <t-editor style="width: 800px" ref="myEditor" :toolbar="toolbar" :value="state.form.synthesize" ></t-editor>
</el-form-item>
- <el-form-item label="二 、综合分析:" v-else>
+ <el-form-item label="二 、综合分析:" v-else prop="synthesize">
<div class="ql-container ql-snow" style="height: 500px;width: 100%;margin-top: 10px;" >
<div class="ql-editor">
- <div class="reviewTable" v-html="state.form.policy" @click="showFile($event)"></div>
+ <div class="reviewTable" :disabled="title === '查看'" v-html="state.form.synthesize" ></div>
</div>
</div>
</el-form-item>
@@ -70,52 +70,53 @@
</el-row>
<el-row :gutter="24">
<el-col :span="24">
- <el-form-item label="三 、内外部损失:" prop="method" >
- <el-input :disabled="title === '查看'" v-model="state.form.method" :rows="4" type="textarea" placeholder=""/>
+ <el-form-item label="三 、内外部损失:" prop="damage" >
+ <el-input :disabled="title === '查看'" v-model="state.form.damage" :rows="4" type="textarea" placeholder=""/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
- <el-form-item label="四 、纠正措施:" prop="method" >
- <el-input :disabled="title === '查看'" v-model="state.form.method" :rows="4" type="textarea" placeholder=""/>
+ <el-form-item label="四 、纠正措施:" prop="measure" >
+ <el-input :disabled="title === '查看'" v-model="state.form.measure" :rows="4" type="textarea" placeholder=""/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
- <el-form-item label="五 、分析的结果:" prop="method" >
- <el-input :disabled="title === '查看'" v-model="state.form.method" :rows="4" type="textarea" placeholder=""/>
+ <el-form-item label="五 、分析的结果:" prop="analysis" >
+ <el-input :disabled="title === '查看'" v-model="state.form.analysis" :rows="4" type="textarea" placeholder=""/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
- <el-form-item label="六 、改进建议:" prop="method" >
- <el-input :disabled="title === '查看'" v-model="state.form.method" :rows="4" type="textarea" placeholder=""/>
+ <el-form-item label="六 、改进建议:" prop="suggest" >
+ <el-input :disabled="title === '查看'" v-model="state.form.suggest" :rows="4" type="textarea" placeholder=""/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="12">
- <el-form-item label="部门:" prop="leadId" >
- <el-select clearable v-model="state.form.leadId" :disabled="title =='查看'" filterable style="width: 100%">
+ <el-form-item label="部门:" prop="dutyId" >
+ <el-select clearable v-model="state.form.dutyId" :disabled="title =='查看'" filterable style="width: 100%">
<el-option
- v-for="item in state.userList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
+ v-for="item in state.deptList"
+ :key="item.deptId"
+ :label="item.deptName"
+ :value="item.deptId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="日期:" prop="leadTime" >
+ <el-form-item label="日期:" prop="dutyTime" >
<el-date-picker
:disabled="title === '查看'"
- v-model="state.form.leadTime"
+ v-model="state.form.dutyTime"
type="date"
placeholder="请选择日期"
+ value-format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
@@ -141,6 +142,7 @@
import TEditor from "@/components/Tinymce/Tinymce.vue";
import axios from "axios";
import {getToken} from "@/utils/auth";
+import {addEconomy, editEconomy} from "@/api/qualityFinancialAnalysis";
const dialogVisible = ref(false);
const title = ref("");
@@ -154,34 +156,28 @@
const state = reactive({
form: {
id: '',
- year: '',
- num: '',
- type: '',
- departId: '',
- method: '',
- compilationId:'',
- compilationTime:'',
- qualityId: '',
- qualityTime:'',
- leadId:'',
- leadTime: '',
- qualityTargets:[],
-
+ companyId: null,
+ year: "",
+ basic: "",
+ synthesize: "",
+ damage: "",
+ measure: "",
+ analysis: "",
+ suggest: "",
+ dutyId: null,
+ dutyTime: ""
},
rules: {
companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
year: [{ required: true, message: '请输入年份', trigger: 'blur' }],
- num: [{ required: true, message: '请输入序号', trigger: 'blur' }],
- type: [{ required: true, message: '请选择级别', trigger: 'blur' }],
- method: [{ required: true, message: '请输入目标测量方法', trigger: 'blur' }],
- compilationId: [{ required: true, message: '请选择编制人员', trigger: 'blur' }],
- compilationTime: [{ required: true, message: '请选择日期', trigger: 'blur' }],
- qualityId: [{ required: true, message: '请选择质量管理部人员', trigger: 'blur' }],
- qualityTime: [{ required: true, message: '请选择日期', trigger: 'blur' }],
- leadId: [{ required: true, message: '请选择公司分管领导', trigger: 'blur' }],
- leadTime: [{ required: true, message: '请选择日期', trigger: 'blur' }],
- departId: [{ required: true, message: '请选择部门', trigger: 'blur' }],
- objName: [{required: true, message: "质量目标不能为空", trigger: "blur"}],
+ basic: [{ required: true, message: '请输入基本情况', trigger: 'blur' }],
+ synthesize: [{ required: true, message: '请输入综合分析', trigger: 'blur' }],
+ damage: [{ required: true, message: '请输入内外部损失', trigger: 'blur' }],
+ measure: [{ required: true, message: '请输入纠正措施', trigger: 'blur' }],
+ analysis: [{ required: true, message: '请输入分析结果', trigger: 'blur' }],
+ suggest: [{ required: true, message: '请输入改进建议', trigger: 'blur' }],
+ dutyId: [{ required: true, message: '请选择部门', trigger: 'blur' }],
+ dutyTime: [{ required: true, message: '请选择日期', trigger: 'blur' }],
},
isAdmin: false,
companyList: [],
@@ -209,16 +205,6 @@
label: '2021'
},
],
- levelList: [
- {
- value: 1,
- label: '公司级'
- },
- {
- value: 2,
- label: '部门级'
- },
- ]
})
const openDialog = async (type, value,companyList) => {
@@ -226,6 +212,7 @@
state.isAdmin = userInfo.userType === 0;
state.form.companyName = userInfo.companyName
state.form.companyId = userInfo.companyId
+ state.form.year = new Date().getFullYear().toString()
if(state.isAdmin){
state.companyList = companyList
state.form.companyId = null
@@ -234,10 +221,6 @@
title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
if(type === 'edit' || type === 'review') {
state.form = JSON.parse(JSON.stringify(value));
- state.form.compilationBy = state.form.compilationId
- state.form.leadBy = state.form.leadId
- state.form.qualityBy = state.form.qualityId
-
if(state.isAdmin){
state.form.companyId = value.companyId
state.form.companyName = value.companyName
@@ -250,13 +233,13 @@
showEditor.value = true;
}
await getDeptList()
- await getPeopleList()
+ // await getPeopleList()
dialogVisible.value = true;
}
-const addObject = () => {
- state.form.qualityTargets.push({})
-}
const getDeptList = async () => {
+ if(state.isAdmin && (state.form.companyId == 0 || state.form.companyId == null)){
+ return
+ }
const param = {
pageNum: 1,
pageSize: 999,
@@ -268,46 +251,42 @@
}
}
const onSubmit = async () => {
- state.form.policy = tinyMCE.activeEditor.getContent();
-console.log('1',state.form.policy)
+ state.form.synthesize = tinyMCE.activeEditor.getContent();
+console.log('1',state.form.synthesize)
const valid = await busRef.value.validate()
if(valid){
- // if(title.value === '新增'){
- // console.log('sta',state.form)
- // const {id, ...data} = JSON.parse(JSON.stringify(state.form))
- // const res = await addObjective(data)
- // if(res.code === 200){
- // ElMessage({
- // type: 'success',
- // message: '新增成功'
- // });
- // }else{
- // ElMessage.warning(res.message)
- // }
- // emit("getList")
- // busRef.value.clearValidate();
- // reset();
- // dialogVisible.value = false;
- // }else if(title.value === '编辑'){
- // const {...data} = JSON.parse(JSON.stringify(state.form))
- // if(data.qualityTargets && data.qualityTargets.length == 0){
- // ElMessage.warning('请填写质量目标')
- // return
- // }
- // const res = await editObject(data)
- // if(res.code === 200){
- // ElMessage({
- // type: 'success',
- // message: '编辑成功'
- // });
- // }else{
- // ElMessage.warning(res.message)
- // }
- // emit("getList")
- // busRef.value.clearValidate();
- // reset();
- // dialogVisible.value = false;
- // }
+ if(title.value === '新增'){
+ console.log('sta',state.form)
+ const {id, ...data} = JSON.parse(JSON.stringify(state.form))
+ const res = await addEconomy(data)
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '新增成功'
+ });
+ }else{
+ ElMessage.warning(res.message)
+ }
+ emit("getList")
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ }else if(title.value === '编辑'){
+ const {...data} = JSON.parse(JSON.stringify(state.form))
+ const res = await editEconomy(data)
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '编辑成功'
+ });
+ }else{
+ ElMessage.warning(res.message)
+ }
+ emit("getList")
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ }
}
}
@@ -321,52 +300,39 @@
const reset = () => {
state.form = {
id: '',
- year: '',
- num: '',
- type: '',
- departId: '',
- method: '',
- compilationBy:'',
- compilationTime:'',
- qualityBy: '',
- qualityTime:'',
- leadBy:'',
- leadTime: '',
- qualityTargets:[],
+ companyId: null,
+ year: "",
+ basic: "",
+ synthesize: "",
+ damage: "",
+ measure: "",
+ analysis: "",
+ suggest: "",
+ dutyId: null,
+ dutyTime: ""
}
state.peopleList = []
state.companyList = []
}
-const handleDelete = (val) => {
- state.form.qualityTargets = state.form.qualityTargets.filter(item=> item != val)
-}
-
-const getPeopleList = async ()=> {
- if(state.isAdmin && (state.form.companyId == 0 || state.form.companyId == null)){
- return
- }
- const queryParams = {
- pageNum: 1,
- pageSize: 9999,
- companyId: state.form.companyId
- }
- const res = await getUser(queryParams)
- if(res.code == 200){
- state.userList = res.data.list?res.data.list:[]
- }else{
- ElMessage.warning(res.message)
- }
-};
-const selectValue = (val) => {
- state.peopleList.forEach(item => {
- if(item.name === val){
- state.form.compilationBy = item.id
- }
- })
-}
+// const getPeopleList = async ()=> {
+// if(state.isAdmin && (state.form.companyId == 0 || state.form.companyId == null)){
+// return
+// }
+// const queryParams = {
+// pageNum: 1,
+// pageSize: 9999,
+// companyId: state.form.companyId
+// }
+// const res = await getUser(queryParams)
+// if(res.code == 200){
+// state.userList = res.data.list?res.data.list:[]
+// }else{
+// ElMessage.warning(res.message)
+// }
+// };
const handleChangeNum = (value) => {
if (!/^\d+$/.test(value)) { // 验证是否为数字
@@ -377,83 +343,17 @@
}
}
const selectValueCom = (val) => {
- state.form.leadId = null
- state.form.qualityId = null
- state.form.compilationId = null
- state.form.leadName = null
- state.form.qualityName = null
- state.form.compilationName = null
- state.form.departId = null
+ state.form.dutyId = null
state.companyList.forEach(item => {
if(item.id === val){
state.form.companyName = item.name
}
})
getDeptList()
- getPeopleList()
+ // getPeopleList()
}
-const changeLevel = () => {
- // state.form.companyName = ''
- state.form.departId = null
-}
-const getCompanyList = async (val)=>{
- if(val){
- const queryParams = {
- name: val
- }
- const res = await getCompany(queryParams)
- if (res.code == 200) {
- state.companyList = res.data.list
- } else {
- ElMessage.warning(res.message)
- }
- }else {
- const queryParams = {
- pageSize: 999,
- pageNum: 1,
- }
- const res = await getCompany(queryParams)
- if (res.code == 200) {
- state.companyList = res.data.list
- } else {
- ElMessage.warning(res.message)
- }
- }
-}
-const showFile = (e) => {
- if(e.target.nodeName === 'A'){
- console.log("e",e)
- e.preventDefault();
- const file = {
- fileUrl: e.target.href,
- fileName: e.target.innerHTML
- }
- axios.get( file.fileUrl,{
- headers:
- {
- 'Content-Type': 'application/json',
- 'Authorization':getToken(),
- },
- responseType: 'blob'
- }
- ).then(res=>{
- if (res) {
- const link = document.createElement('a')
- let blob = new Blob([res.data],{type: res.data.type})
- link.style.display = "none";
- link.href = URL.createObjectURL(blob); // 创建URL
- link.setAttribute("download", file.fileName);
- document.body.appendChild(link);
- link.click();
- document.body.removeChild(link);
- } else {
- this.$message.error('获取文件失败')
- }
- // handleClose();
- })
- }
-}
+
defineExpose({
openDialog
});
--
Gitblit v1.9.2