From 7df64634d3d7b292713eebfa008c40b3f5f9f65f Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期二, 20 九月 2022 15:57:03 +0800
Subject: [PATCH] 修改

---
 src/views/goalManagement/TargetBook/component/DailogAdd.vue |  195 +++++++++++++++++++++++++++++++++++-------------
 1 files changed, 143 insertions(+), 52 deletions(-)

diff --git a/src/views/goalManagement/TargetBook/component/DailogAdd.vue b/src/views/goalManagement/TargetBook/component/DailogAdd.vue
index 246d5be..fa0bc2a 100644
--- a/src/views/goalManagement/TargetBook/component/DailogAdd.vue
+++ b/src/views/goalManagement/TargetBook/component/DailogAdd.vue
@@ -1,11 +1,11 @@
 <template>
-	<el-dialog v-model="dialogVisible" :fullscreen="full" title="新建目标责任书" width="50%" draggable>
+	<el-dialog v-model="dialogVisible" :before-close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable @close="resetForm">
 		<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
-		<el-form :model="form" label-width="120px">
+		<el-form :model="form" :disabled="disabled" label-width="120px">
 			<el-row>
 				<el-col :span="24">
 					<el-form-item label="岗位" size="default">
-						<el-input v-model="form.name" placeholder="请选择">
+						<el-input v-model="form.jobName" placeholder="请选择">
 							<template #append> <el-button :icon="Search" @click="daiInpt" /> </template
 						></el-input>
 					</el-form-item>
@@ -14,48 +14,34 @@
 			<el-row>
 				<el-col :span="24">
 					<el-form-item label="责任书签订日期" size="default">
-						<el-date-picker v-model="form.date1" type="date" placeholder="Pick a date" style="width: 100%" />
+						<el-date-picker v-model="form.signDate" style="width:100%" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择日期时间" />
 					</el-form-item>
 				</el-col>
 			</el-row>
 			<el-row>
 				<el-col :span="24">
 					<el-form-item label="备注信息">
-						<el-input v-model="form.name" type="textarea" />
+						<el-input v-model="form.memo" type="textarea" />
 					</el-form-item>
 				</el-col>
 			</el-row>
 			<el-row>
 				<el-col :span="24">
 					<el-form-item label="责任书附件">
-						<el-upload
-							v-model:file-list="fileList"
-							class="upload-demo"
-							action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
-							multiple
-							:on-preview="handlePreview"
-							:on-remove="handleRemove"
-							:before-remove="beforeRemove"
-							:limit="3"
-							:on-exceed="handleExceed"
-						>
-							<el-button type="primary">点击上传</el-button>
-							<template #tip>
-								<div class="el-upload__tip">添加相关附件</div>
-							</template>
-						</el-upload>
+						<uploaderFile :fileList="fileList" :systemName="'GOAL_MANAGE'" :disabled="disabled"
+									  @successUploader="successUploader" @deleteFile="deleteFile"></uploaderFile>
 					</el-form-item>
 				</el-col>
 			</el-row>
 		</el-form>
 		<template #footer>
 			<span class="dialog-footer">
-				<el-button @click="dialogVisible = false" size="default">关闭</el-button>
-				<el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+				<el-button @click="resetForm" size="default">关闭</el-button>
+				<el-button type="primary" @click="submitForm" size="default">确定</el-button>
 			</span>
 		</template>
 	</el-dialog>
-	<DailogSearch ref="Shows"></DailogSearch>
+	<DailogSearch ref="Shows" @backNum="IdNumber"></DailogSearch>
 </template>
 <script lang="ts">
 import { defineComponent, ref, reactive } from 'vue';
@@ -63,42 +49,140 @@
 import DailogSearch from './DailogSearch.vue';
 import { ElMessage, ElMessageBox } from 'element-plus';
 import type { UploadProps, UploadUserFile } from 'element-plus';
+import { goalManagementApi } from '/@/api/goalManagement';
+import uploaderFile from '/@/components/uploaderFile/index.vue';
 export default defineComponent({
-	components: { DailogSearch },
-	setup() {
+	components: { DailogSearch,uploaderFile },
+	setup(props, { emit }) {
 		const dialogVisible = ref<boolean>(false);
-		const form = reactive({
-			name: '',
-			region: '',
-			date1: '',
-			date2: '',
-			delivery: false,
-			type: [],
-			resource: '',
-			desc: '',
+		const form = ref({
+			indexNum: '', //目标指标编号
+			memo: '', ////备注信息
+			signDate: '', //责任书签订日期
+			extraFile: '', //责任书附件
+			jobId: '', //岗位
 		});
-		const openDailog = (type: string, value: any, projectList: any, projectId: string) => {
+		const titles = ref();
+		const disabled = ref(false);
+		// 打开弹窗
+		const openDailog = (title: string, value: any, id: number) => {
 			dialogVisible.value = true;
-		};
-		// 导航
-		const activeName = ref('1');
-		// 表格
+			titles.value =`${title}目标责任书`;
+			disabled.value = title == '查看' ? true : false;
+			if (title == '查看' || title == '修改')
+				goalManagementApi()
+					.gettargetDutyfileInfoDetail(id)
+					.then((res) => {
+						if (res.data.code == 200) {
+							form.value = res.data.data;
+							form.value.signDate=timeC(form.value.signDate)
 
+
+							if(res.data.data.extraFile!=null&&res.data.data.extraFile!=''){
+								var extraFileList = res.data.data.extraFile.split(',')
+								for(var a = 0;a<extraFileList.length;a++){
+									fileList.value.push(
+											{
+												name:extraFileList[a]
+											}
+									)
+								}
+							}else {
+								fileList.value = []
+							}
+						} else {
+							ElMessage.error(res.data.msg);
+						}
+					});
+		};
+		// 上传成功组装数据
+		const successUploader = (list) =>{
+			console.log('successUploader',list)
+			fileList.value = list
+			var formFileList = ''
+			for(var a = 0;a<fileList.value.length;a++){
+				if(a==fileList.value.length-1){
+					formFileList+=fileList.value[a].name
+				}else {
+					formFileList+=fileList.value[a].name+','
+				}
+			}
+			form.value.extraFile = formFileList
+		}
+		const deleteFile = (list) =>{
+			console.log('deleteFile',list)
+			fileList.value = list
+			const formFileList = ''
+			for(var a = 0;a<fileList.value.length;a++){
+				if(a==fileList.value.length-1){
+					formFileList.value+=fileList.value[a].name
+				}else {
+					formFileList.value+=fileList.value[a].name+','
+				}
+			}
+			form.value.extraFile = formFileList
+		}
+		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 submitForm = () => {
+			dialogVisible.value = false;
+			delete form.value.jobName
+			goalManagementApi()
+				.gettargetDutyfileInfoAddorUpdata(form.value)
+				.then((res) => {
+					if (res.data.code == 200) {
+						ElMessage({
+							message: res.data.msg,
+							type: 'success',
+						});
+						emit('navAddorUpdata');
+					} else {
+						ElMessage.error(res.data.msg);
+					}
+				});
+			form.value = {
+				indexNum: '', //目标指标编号
+				memo: '', ////备注信息
+				signDate: '', //责任书签订日期
+				extraFile: '666', //责任书附件
+				jobId: '', //岗位
+			};
+		};
+		//   取消
+		const resetForm = () => {
+			dialogVisible.value = false;
+			form.value = {
+				indexNum: '', //目标指标编号
+				memo: '', ////备注信息
+				signDate: '', //责任书签订日期
+				extraFile: '666', //责任书附件
+				jobId: '', //岗位
+			};
+			fileList.value = []
+		};
 		// 安全目标指标弹窗
 		const Shows = ref();
 		const daiInpt = () => {
 			Shows.value.openDailog();
 		};
+		const IdNumber=(val:any)=>{
+         form.value.jobId=val.id
+		 form.value.jobName=val.date
+		}
 		// 点击上传
-		const fileList = ref<UploadUserFile[]>([
-			{
-				name: 'element-plus-logo.svg',
-				url: 'https://element-plus.org/images/element-plus-logo.svg',
-			},
-			{
-				name: 'element-plus-logo2.svg',
-				url: 'https://element-plus.org/images/element-plus-logo.svg',
-			},
+		const fileList = ref([
 		]);
 
 		const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {
@@ -129,12 +213,17 @@
 			}
 		};
 		return {
-			form,
+			timeC,
+			IdNumber,
 			dialogVisible,
+			form,
+			disabled,
+			titles,
 			openDailog,
-			activeName,
-			Shows,
 			daiInpt,
+			submitForm,
+			resetForm,
+			Shows,
 			Search,
 			fileList,
 			handleRemove,
@@ -144,6 +233,8 @@
 			full,
 			toggleFullscreen,
 			FullScreen,
+			successUploader,
+			deleteFile
 		};
 	},
 });

--
Gitblit v1.9.2