|
@@ -269,14 +269,15 @@
|
|
|
ref="upload"
|
|
|
v-model:file-list="fileList"
|
|
|
list-type="picture-card"
|
|
|
- :action="apiUrl + `/technologyArchives/putCertificateImage?socialNo=` + scope.row.socialNo + `&getTime=` + scope.row.getTime"
|
|
|
+ :action="apiUrl + '/technologyArchives/putCertificateImage'"
|
|
|
:headers="header"
|
|
|
+ :data="{ socialNo: scope.row.socialNo, title: scope.row.title }"
|
|
|
:on-success="uploadSuccess"
|
|
|
:on-preview="handlePreview"
|
|
|
:on-remove="handleRemove"
|
|
|
:before-upload="beforeUpload"
|
|
|
:auto-upload="false"
|
|
|
- :multiple
|
|
|
+ :multiple="true"
|
|
|
:show-file-list="true"
|
|
|
>
|
|
|
<el-icon> <Plus /></el-icon>
|
|
@@ -284,7 +285,7 @@
|
|
|
<div class="el-upload__tip">只能上传 jpg/png 文件,且不超过 2MB</div>
|
|
|
</template>
|
|
|
</el-upload>
|
|
|
- <el-button style="margin-top: 10px" type="success" icon="Upload" @click="submitUpload(scope.row)">上传到服务器</el-button>
|
|
|
+ <el-button style="margin-top: 10px" type="success" icon="Upload" @click="submitUploadta1(scope.row)">上传到服务器</el-button>
|
|
|
<el-dialog v-model="dialogVisible" append-to-body >
|
|
|
<img w-full :src="dialogImageUrl" alt="Preview Image" />
|
|
|
</el-dialog>
|
|
@@ -293,11 +294,11 @@
|
|
|
<div v-else class="demo-image__preview">
|
|
|
<el-image
|
|
|
style="width: 100px; height: 100px"
|
|
|
- :src="url"
|
|
|
+ :src="srcurl1"
|
|
|
:zoom-rate="1.2"
|
|
|
:max-scale="7"
|
|
|
:min-scale="0.2"
|
|
|
- :preview-src-list="srcList"
|
|
|
+ :preview-src-list="srcList1"
|
|
|
:preview-teleported="true"
|
|
|
fit="cover"
|
|
|
/>
|
|
@@ -372,14 +373,15 @@
|
|
|
ref="upload"
|
|
|
v-model:file-list="fileList2"
|
|
|
list-type="picture-card"
|
|
|
- :action="apiUrl + `/technologyArchives/putProImage?socialNo=` + scope.row.socialNo + `&no=` + scope.row.no"
|
|
|
+ :action="apiUrl + '/technologyArchives/putProImage'"
|
|
|
:headers="header"
|
|
|
+ :data="{ socialNo: scope.row.socialNo, name: scope.row.name }"
|
|
|
:on-success="uploadSuccess2"
|
|
|
:on-preview="handlePreview2"
|
|
|
:on-remove="handleRemove"
|
|
|
:before-upload="beforeUpload"
|
|
|
:auto-upload="false"
|
|
|
- :multiple
|
|
|
+ :multiple="true"
|
|
|
:show-file-list="true"
|
|
|
>
|
|
|
<el-icon> <Plus /></el-icon>
|
|
@@ -387,7 +389,7 @@
|
|
|
<div class="el-upload__tip">只能上传 jpg/png 文件,且不超过 2MB</div>
|
|
|
</template>
|
|
|
</el-upload>
|
|
|
- <el-button style="margin-top: 10px" type="success" icon="Upload" @click="submitUpload(scope.row)">上传到服务器</el-button>
|
|
|
+ <el-button style="margin-top: 10px" type="success" icon="Upload" @click="submitUploadta2(scope.row)">上传到服务器</el-button>
|
|
|
<el-dialog v-model="dialogVisible" append-to-body >
|
|
|
<img w-full :src="dialogImageUrl" alt="Preview Image" />
|
|
|
</el-dialog>
|
|
@@ -395,11 +397,11 @@
|
|
|
<div v-else class="demo-image__preview">
|
|
|
<el-image
|
|
|
style="width: 100px; height: 100px"
|
|
|
- :src="url"
|
|
|
+ :src="srcurl2"
|
|
|
:zoom-rate="1.2"
|
|
|
:max-scale="7"
|
|
|
:min-scale="0.2"
|
|
|
- :preview-src-list="srcList"
|
|
|
+ :preview-src-list="srcList2"
|
|
|
:preview-teleported="true"
|
|
|
fit="cover"
|
|
|
/>
|
|
@@ -511,14 +513,14 @@
|
|
|
<span v-else>{{ scope.row.socialNo }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="beginTime" label="开始时间" width="200">
|
|
|
+ <el-table-column prop="beginTime" label="开始时间" width="180">
|
|
|
<template v-slot="scope">
|
|
|
<el-date-picker v-if="scope.row.isEdit" v-model="scope.row.beginTime" type="date" style="width: 100%"
|
|
|
format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
|
|
|
<span v-else>{{ scope.row.beginTime }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="endTime" label="结束时间" width="200">
|
|
|
+ <el-table-column prop="endTime" label="结束时间" width="180">
|
|
|
<template v-slot="scope">
|
|
|
<el-date-picker v-if="scope.row.isEdit" v-model="scope.row.endTime" type="date" style="width: 100%"
|
|
|
format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
|
|
@@ -541,7 +543,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="learningContent" label="学习内容" show-overflow-tooltip>
|
|
|
+ <el-table-column prop="learningContent" label="学习内容" show-overflow-tooltip min-width="200">
|
|
|
<template v-slot="scope">
|
|
|
<el-input v-if="scope.row.isEdit" size="small" v-model="scope.row.learningContent"></el-input>
|
|
|
<span v-else>{{ scope.row.learningContent }}</span>
|
|
@@ -553,6 +555,55 @@
|
|
|
<span v-else>{{ scope.row.learningUnit }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column prop="image" label="培训证明材料" min-width="160" >
|
|
|
+ <template #header>
|
|
|
+ <span>培训证明材料</span>
|
|
|
+ <el-tooltip class="box-item" effect="dark" placement="top">
|
|
|
+ <template #content>注:<br />培训获得的证书图片或能够证明参加过培训的截图。</template>
|
|
|
+ <el-icon color="red" size="14"><QuestionFilled /></el-icon>
|
|
|
+ </el-tooltip>
|
|
|
+ </template>
|
|
|
+ <template v-slot="scope">
|
|
|
+ <div v-if="scope.row.isEdit">
|
|
|
+ <el-upload
|
|
|
+ ref="upload"
|
|
|
+ v-model:file-list="trainingfileList"
|
|
|
+ list-type="picture-card"
|
|
|
+ :action="apiUrl + '/technologyArchives/putTrainingCertificateImage'"
|
|
|
+ :headers="header"
|
|
|
+ :data="{ socialNo: scope.row.socialNo, learningContent: scope.row.learningContent }"
|
|
|
+ :on-success="traininguploadSuccess"
|
|
|
+ :on-preview="traininghandlePreview"
|
|
|
+ :on-remove="handleRemove"
|
|
|
+ :before-upload="beforeUpload"
|
|
|
+ :auto-upload="false"
|
|
|
+ :multiple="true"
|
|
|
+ :show-file-list="true"
|
|
|
+ >
|
|
|
+ <el-icon> <Plus /></el-icon>
|
|
|
+ <template #tip>
|
|
|
+ <div class="el-upload__tip">只能上传 jpg/png 文件,且不超过 2MB</div>
|
|
|
+ </template>
|
|
|
+ </el-upload>
|
|
|
+ <el-button style="margin-top: 10px" type="success" icon="Upload" @click="trainingsubmitUpload(scope.row)">上传到服务器</el-button>
|
|
|
+ <el-dialog v-model="dialogVisible" append-to-body >
|
|
|
+ <img w-full :src="dialogImageUrl" />
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+ <div v-else class="demo-image__preview">
|
|
|
+ <el-image
|
|
|
+ style="width: 100px; height: 100px"
|
|
|
+ :src="trainingurl"
|
|
|
+ :zoom-rate="1.2"
|
|
|
+ :max-scale="7"
|
|
|
+ :min-scale="0.2"
|
|
|
+ :preview-src-list="trainingsrcList"
|
|
|
+ :preview-teleported="true"
|
|
|
+ fit="cover"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column fixed="right" label="操作" min-width="180" width="180" center>
|
|
|
<template #default="scope">
|
|
|
<el-button type="primary" size="small" v-if="!scope.row.isEdit"
|
|
@@ -838,6 +889,48 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column prop="image" label="考核截图" min-width="160" >
|
|
|
+ <template v-slot="scope">
|
|
|
+ <div v-if="scope.row.isEdit">
|
|
|
+ <el-upload
|
|
|
+ ref="upload"
|
|
|
+ v-model:file-list="examinefileList"
|
|
|
+ list-type="picture-card"
|
|
|
+ :action="apiUrl + '/technologyArchives/putExamineCertificateImage'"
|
|
|
+ :headers="header"
|
|
|
+ :data="{ socialNo: scope.row.socialNo, content: scope.row.content }"
|
|
|
+ :on-success="examineuploadSuccess"
|
|
|
+ :on-preview="examinehandlePreview"
|
|
|
+ :on-remove="handleRemove"
|
|
|
+ :before-upload="beforeUpload"
|
|
|
+ :auto-upload="false"
|
|
|
+ :multiple="true"
|
|
|
+ :show-file-list="true"
|
|
|
+ >
|
|
|
+ <el-icon> <Plus /></el-icon>
|
|
|
+ <template #tip>
|
|
|
+ <div class="el-upload__tip">只能上传 jpg/png 文件,且不超过 2MB</div>
|
|
|
+ </template>
|
|
|
+ </el-upload>
|
|
|
+ <el-button style="margin-top: 10px" type="success" icon="Upload" @click="examinesubmitUpload(scope.row)">上传到服务器</el-button>
|
|
|
+ <el-dialog v-model="dialogVisible" append-to-body >
|
|
|
+ <img w-full :src="dialogImageUrl" />
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+ <div v-else class="demo-image__preview">
|
|
|
+ <el-image
|
|
|
+ style="width: 100px; height: 100px"
|
|
|
+ :src="examineurl"
|
|
|
+ :zoom-rate="1.2"
|
|
|
+ :max-scale="7"
|
|
|
+ :min-scale="0.2"
|
|
|
+ :preview-src-list="examinesrcList"
|
|
|
+ :preview-teleported="true"
|
|
|
+ fit="cover"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="comment" label="备注" width="300" show-overflow-tooltip>
|
|
|
<template v-slot="scope">
|
|
|
<el-input v-if="scope.row.isEdit" size="small" v-model="scope.row.comment"></el-input>
|
|
@@ -1119,8 +1212,12 @@ import {
|
|
|
saveTechnologyArchives1,
|
|
|
selectImage1,
|
|
|
selectImage2,
|
|
|
+ selectTrainingImage,
|
|
|
+ selectExamineImage,
|
|
|
setImage1,
|
|
|
setImage2,
|
|
|
+ setTrainingImage,
|
|
|
+ setExamineImage,
|
|
|
saveTechnologyArchives10,
|
|
|
saveTechnologyArchives12,
|
|
|
saveTechnologyArchives13,
|
|
@@ -1366,6 +1463,7 @@ let thirteenthKey = ref(1)
|
|
|
const thirteenthData = ref([])
|
|
|
let fourteenthKey = ref(1)
|
|
|
const fourteenthData = ref([])
|
|
|
+const imageList1 = ref([])
|
|
|
const queryTechnologyArchives1 = () => {
|
|
|
selectTechnologyArchives1()
|
|
|
.then((res) => {
|
|
@@ -1376,10 +1474,13 @@ const queryTechnologyArchives1 = () => {
|
|
|
row['isAdd'] = false
|
|
|
selectImage1(row.socialNo, row.getTime)
|
|
|
.then((res1)=>{
|
|
|
- url.value = row.image
|
|
|
- srcList.value = [res1.data.image]
|
|
|
- console.log(row)
|
|
|
- console.log(srcList.value)
|
|
|
+ imageList1.value = res1.data.image.split(',')
|
|
|
+ for(let i=0; i<imageList1.value.length; i++){
|
|
|
+ srcList1.value[i] = uploadurl + imageList1.value[i]
|
|
|
+ }
|
|
|
+ srcurl1.value = srcList1.value[0]
|
|
|
+ console.log(res1.data.image.length)
|
|
|
+ console.log(srcList1.value[0])
|
|
|
})
|
|
|
})
|
|
|
firstData.value = res
|
|
@@ -1388,6 +1489,7 @@ const queryTechnologyArchives1 = () => {
|
|
|
firstData.value = []
|
|
|
})
|
|
|
}
|
|
|
+const imageList2 = ref([])
|
|
|
const queryTechnologyArchives2 = () => {
|
|
|
selectTechnologyArchives2()
|
|
|
.then((res) => {
|
|
@@ -1398,10 +1500,13 @@ const queryTechnologyArchives2 = () => {
|
|
|
row['isAdd'] = false
|
|
|
selectImage2(row.socialNo, row.no)
|
|
|
.then((res1)=>{
|
|
|
- url.value = row.image
|
|
|
- srcList.value = [res1.data.image]
|
|
|
- console.log(row)
|
|
|
- console.log(srcList.value)
|
|
|
+ imageList2.value = res1.data.image.split(',')
|
|
|
+ for(let i=0; i<imageList2.value.length; i++){
|
|
|
+ srcList2.value[i] = uploadurl + imageList2.value[i]
|
|
|
+ }
|
|
|
+ srcurl2.value = srcList2.value[0]
|
|
|
+ console.log(res1.data.image.length)
|
|
|
+ console.log(srcList2.value[0])
|
|
|
})
|
|
|
})
|
|
|
secondData.value = res
|
|
@@ -1425,6 +1530,7 @@ const queryTechnologyArchives3 = () => {
|
|
|
thirdData.value = []
|
|
|
})
|
|
|
}
|
|
|
+const imageList4 = ref([])
|
|
|
const queryTechnologyArchives4 = () => {
|
|
|
selectTechnologyArchives4()
|
|
|
.then((res) => {
|
|
@@ -1433,6 +1539,16 @@ const queryTechnologyArchives4 = () => {
|
|
|
row['isEdit'] = false
|
|
|
// 是否新增
|
|
|
row['isAdd'] = false
|
|
|
+ selectTrainingImage(row.socialNo, row.id)
|
|
|
+ .then((res1)=>{
|
|
|
+ imageList4.value = res1.data.image.split(',')
|
|
|
+ for(let i=0; i<imageList4.value.length; i++){
|
|
|
+ trainingsrcList.value[i] = uploadurl + imageList4.value[i]
|
|
|
+ }
|
|
|
+ trainingurl.value = trainingsrcList.value[0]
|
|
|
+ console.log(res1.data.image.length)
|
|
|
+ console.log(trainingsrcList.value[0])
|
|
|
+ })
|
|
|
})
|
|
|
fourthData.value = res
|
|
|
})
|
|
@@ -1485,6 +1601,7 @@ const queryTechnologyArchives7 = () => {
|
|
|
seventhData.value = []
|
|
|
})
|
|
|
}
|
|
|
+const imageList9 = ref([])
|
|
|
const queryTechnologyArchives9 = () => {
|
|
|
selectTechnologyArchives9()
|
|
|
.then((res) => {
|
|
@@ -1493,6 +1610,16 @@ const queryTechnologyArchives9 = () => {
|
|
|
row['isEdit'] = false
|
|
|
// 是否新增
|
|
|
row['isAdd'] = false
|
|
|
+ selectExamineImage(row.socialNo, row.id)
|
|
|
+ .then((res1)=>{
|
|
|
+ imageList9.value = res1.data.image.split(',')
|
|
|
+ for(let i=0; i<imageList9.value.length; i++){
|
|
|
+ examinesrcList.value[i] = uploadurl + imageList9.value[i]
|
|
|
+ }
|
|
|
+ examineurl.value = examinesrcList.value[0]
|
|
|
+ console.log(res1.data.image.length)
|
|
|
+ console.log(examinesrcList.value[0])
|
|
|
+ })
|
|
|
})
|
|
|
ninthData.value = res
|
|
|
})
|
|
@@ -1575,6 +1702,7 @@ const onAddItem = () => {
|
|
|
isOversize: false,
|
|
|
isJPG: true
|
|
|
})
|
|
|
+ fileList.value = []
|
|
|
} else if(editableTabsValue.value === 'secondInfo'){
|
|
|
secondData.value.push({
|
|
|
no: secondData.value.length + 1,
|
|
@@ -1590,6 +1718,7 @@ const onAddItem = () => {
|
|
|
isOversize: false,
|
|
|
isJPG: true
|
|
|
})
|
|
|
+ fileList2.value = []
|
|
|
} else if(editableTabsValue.value === 'thirdInfo'){
|
|
|
thirdData.value.push({
|
|
|
socialNo: baseInfoForm.value.socialNo,
|
|
@@ -1613,9 +1742,14 @@ const onAddItem = () => {
|
|
|
learningUnit: '',
|
|
|
learningName: '',
|
|
|
id: '',
|
|
|
+ image: '',
|
|
|
isEdit: true,
|
|
|
isAdd: true,
|
|
|
+ isUpload: false,
|
|
|
+ isOversize: false,
|
|
|
+ isJPG: true
|
|
|
})
|
|
|
+ trainingfileList.value = []
|
|
|
} else if(editableTabsValue.value === 'fifthInfo'){
|
|
|
fifthData.value.push({
|
|
|
socialNo: baseInfoForm.value.socialNo,
|
|
@@ -1660,9 +1794,14 @@ const onAddItem = () => {
|
|
|
mode: '',
|
|
|
result: '',
|
|
|
comment: '',
|
|
|
+ image: '',
|
|
|
isEdit: true,
|
|
|
isAdd: true,
|
|
|
+ isUpload: false,
|
|
|
+ isOversize: false,
|
|
|
+ isJPG: true
|
|
|
})
|
|
|
+ examinefileList.value = []
|
|
|
} else if(editableTabsValue.value === 'tenthInfo'){
|
|
|
tenthData.value.push({
|
|
|
socialNo: baseInfoForm.value.socialNo,
|
|
@@ -1733,7 +1872,7 @@ const cancelFirstInfo = (row, index) => {
|
|
|
// 不是新增的数据 还原数据
|
|
|
for (const i in row.oldRow) {
|
|
|
row[i] = row.oldRow[i]
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
if(!row.isUpload){
|
|
|
fileList.value = []
|
|
@@ -1786,32 +1925,37 @@ const header = {
|
|
|
token: localStorage.token,
|
|
|
}
|
|
|
|
|
|
-const multiple = computed(() => {
|
|
|
- // return stringIsBlank(props.getTime)
|
|
|
- if(fileList.value.length > 1){
|
|
|
- return true
|
|
|
- }
|
|
|
- return false
|
|
|
-})
|
|
|
-
|
|
|
+//查看图片
|
|
|
+const srcList1 = ref([])
|
|
|
+const srcurl1 = ref("")
|
|
|
+
|
|
|
//上传
|
|
|
-const submitUpload = (row) => {
|
|
|
+const submitUploadta1 = (row) => {
|
|
|
if(row.isOversize && !row.isJPG){
|
|
|
row.isUpload = false
|
|
|
}else{
|
|
|
+ upload.value!.action = `${apiUrl}/technologyArchives/putCertificateImage?socialNo=${row.socialNo}&title=${row.title}`
|
|
|
upload.value!.submit();
|
|
|
row.isUpload = true
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+const url1s = ref([])
|
|
|
const url1 = ref("")
|
|
|
function uploadSuccess(response: any, uploadFile: UploadFile) {
|
|
|
- url1.value = response.data.data.path
|
|
|
+ console.log(response.data.urls.length)
|
|
|
+ // url1.value = response.data.urls
|
|
|
+ url1s.value.push(response.data.urls)
|
|
|
+ console.log(url1s.value)
|
|
|
+ url1.value = url1s.value.join(",")
|
|
|
+ console.log(url1.value)
|
|
|
const index = XEUtils.findLastIndexOf(fileList.value, (item: UploadUserFile) => {
|
|
|
return item.uid === uploadFile.uid;
|
|
|
})
|
|
|
if (response.code === 200) {
|
|
|
- fileList.value[index].url = uploadurl + url1.value
|
|
|
+ for(let i=0; i<url1s.value.length; i++){
|
|
|
+ fileList.value[index].url = uploadurl + url1s.value[i]
|
|
|
+ }
|
|
|
ElMessage.success("上传成功");
|
|
|
} else {
|
|
|
fileList.value[index].status = 'fail'
|
|
@@ -1819,15 +1963,24 @@ function uploadSuccess(response: any, uploadFile: UploadFile) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+const srcList2 = ref([])
|
|
|
+const srcurl2 = ref("")
|
|
|
+
|
|
|
+const url2s = ref([])
|
|
|
const url2 = ref("")
|
|
|
function uploadSuccess2(response: any, uploadFile: UploadFile) {
|
|
|
- url2.value = response.data.data.path
|
|
|
+ console.log(response.data.urls.length)
|
|
|
+ url2s.value.push(response.data.urls)
|
|
|
+ console.log(url2s.value)
|
|
|
+ url2.value = url2s.value.join(",")
|
|
|
console.log(url2.value)
|
|
|
const index = XEUtils.findLastIndexOf(fileList2.value, (item: UploadUserFile) => {
|
|
|
return item.uid === uploadFile.uid;
|
|
|
})
|
|
|
if (response.code === 200) {
|
|
|
- fileList2.value[index].url = uploadurl + url2.value
|
|
|
+ for(let i=0; i<url2s.value.length; i++){
|
|
|
+ fileList2.value[index].url = uploadurl + url2s.value[i]
|
|
|
+ }
|
|
|
ElMessage.success("上传成功");
|
|
|
} else {
|
|
|
fileList2.value[index].status = 'fail'
|
|
@@ -1835,10 +1988,16 @@ function uploadSuccess2(response: any, uploadFile: UploadFile) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//查看图片
|
|
|
-const srcList = ref([])
|
|
|
-const url = ref("")
|
|
|
-
|
|
|
+const submitUploadta2 = (row) => {
|
|
|
+ if(row.isOversize && !row.isJPG){
|
|
|
+ row.isUpload = false
|
|
|
+ console.log(upload.value)
|
|
|
+ }else{
|
|
|
+ upload.value!.action = `${apiUrl}/technologyArchives/putProImage?socialNo=${row.socialNo}&name=${row.name}`
|
|
|
+ upload.value!.submit();
|
|
|
+ row.isUpload = true
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
// 保存
|
|
|
const updateFirstInfo = (row) => {
|
|
@@ -1925,6 +2084,7 @@ const callSaveFirstInfo = (row, oldGetTime) => {
|
|
|
console.log(url1.value)
|
|
|
setImage1(row.socialNo,row.getTime,url1.value)
|
|
|
fileList.value = []
|
|
|
+ url1s.value = []
|
|
|
})
|
|
|
}).catch((action) => {
|
|
|
if (action === 'cancel') {
|
|
@@ -2089,6 +2249,7 @@ const callSaveSecondInfo = (row, oldNo) => {
|
|
|
console.log(url2.value)
|
|
|
setImage2(row.socialNo,row.no,url2.value)
|
|
|
fileList2.value = []
|
|
|
+ url2s.value = []
|
|
|
})
|
|
|
}).catch((action) => {
|
|
|
if (action === 'cancel') {
|
|
@@ -2219,6 +2380,9 @@ const editFourthInfo = (row) => {
|
|
|
// 备份原始数据
|
|
|
row['oldRow'] = JSON.parse(JSON.stringify(row))
|
|
|
row.isEdit = true
|
|
|
+ if(row.image != null){
|
|
|
+ row.isUpload = true
|
|
|
+ }
|
|
|
}
|
|
|
// 取消
|
|
|
const cancelFourthInfo = (row, index) => {
|
|
@@ -2231,8 +2395,57 @@ const cancelFourthInfo = (row, index) => {
|
|
|
row[i] = row.oldRow[i]
|
|
|
}
|
|
|
}
|
|
|
+ if(!row.isUpload){
|
|
|
+ trainingfileList.value = []
|
|
|
+ }
|
|
|
+ if(row.beginTime == null || row.learningContent == null || row.learningUnit == null){
|
|
|
+ trainingfileList.value = []
|
|
|
+ }
|
|
|
fourthKey.value = Math.random()
|
|
|
}
|
|
|
+
|
|
|
+//上传培训图片
|
|
|
+const trainingfileList = ref([])
|
|
|
+const trainingsubmitUpload = (row) => {
|
|
|
+ if(row.isOversize && !row.isJPG){
|
|
|
+ row.isUpload = false
|
|
|
+ }else{
|
|
|
+ upload.value!.action = `${apiUrl}/technologyArchives/putTrainingCertificateImage?socialNo=${row.socialNo}&learningContent=${row.learningContent}`
|
|
|
+ upload.value!.submit();
|
|
|
+ row.isUpload = true
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const turls = ref([])
|
|
|
+const turl = ref("")
|
|
|
+function traininguploadSuccess(response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) {
|
|
|
+ console.log(response.data.urls.length)
|
|
|
+ turls.value.push(response.data.urls)
|
|
|
+ console.log(turls.value)
|
|
|
+ turl.value = turls.value.join(",")
|
|
|
+ const index = XEUtils.findLastIndexOf(trainingfileList.value, (item: UploadUserFile) => {
|
|
|
+ return item.uid === uploadFile.uid;
|
|
|
+ })
|
|
|
+ if (response.code === 200) {
|
|
|
+ for(let i=0; i<turls.value.length; i++){
|
|
|
+ trainingfileList.value[index].url = uploadurl + turls.value[i]
|
|
|
+ }
|
|
|
+ ElMessage.success("上传成功");
|
|
|
+ } else {
|
|
|
+ trainingfileList.value[index].status = 'fail'
|
|
|
+ ElMessage.error("上传失败");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const traininghandlePreview= (uploadFile) => {
|
|
|
+ dialogImageUrl.value = uploadFile.url
|
|
|
+ dialogVisible.value = true
|
|
|
+ console.log(trainingfileList.value[0].name)
|
|
|
+}
|
|
|
+//查看图片
|
|
|
+const trainingsrcList = ref([])
|
|
|
+const trainingurl = ref("")
|
|
|
+
|
|
|
// 保存
|
|
|
const updateFourthInfo = (row) => {
|
|
|
if (!row.socialNo) {
|
|
@@ -2247,36 +2460,68 @@ const updateFourthInfo = (row) => {
|
|
|
if (!row.isAdd && row.socialNo !== row.oldRow.socialNo) {
|
|
|
row.oldSocialNo = row.oldRow.socialNo
|
|
|
}
|
|
|
- callSaveFourthInfo(row)
|
|
|
-}
|
|
|
-
|
|
|
-const callSaveFourthInfo = (row) => {
|
|
|
- let title = '请确认是否保存<span style="color:#d12020;">' + row.learningContent.length > 10 ? row.learningContent.substring(0,10) + '...' : row.learningContent + '</span>?'
|
|
|
- ElMessageBox.confirm(title, {
|
|
|
- cancelButtonText: '取消',
|
|
|
- confirmButtonText: '确定',
|
|
|
- type: 'warning',
|
|
|
- distinguishCancelAndClose: true,
|
|
|
- dangerouslyUseHTMLString: true
|
|
|
- }).then(() => {
|
|
|
- let learnData = learnOptions.filter((item) => {
|
|
|
- return item.code === row.learningStyle
|
|
|
- })
|
|
|
- row.learningName = learnData[0].name
|
|
|
- saveTechnologyArchives4(row).then((res) => {
|
|
|
+ if (row.isAdd) {
|
|
|
+ let fe = 0
|
|
|
+ for (let num in fourthData.value) {
|
|
|
+ if (fourthData.value[num].beginTime === row.beginTime) {
|
|
|
+ fe++
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (fe === 2) {
|
|
|
ElMessage({
|
|
|
- type: "success",
|
|
|
- message: res.cg,
|
|
|
+ type: "warning",
|
|
|
+ message: "存在重复的培训经历,请核对!",
|
|
|
duration: 2500,
|
|
|
showClose: true,
|
|
|
});
|
|
|
- queryTechnologyArchives4()
|
|
|
+ } else{
|
|
|
+ callSaveFourthInfo(row)
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ callSaveFourthInfo(row)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const callSaveFourthInfo = (row) => {
|
|
|
+ if(!row.isUpload){
|
|
|
+ ElMessage({
|
|
|
+ type: "warning",
|
|
|
+ message: "图片还未上传!",
|
|
|
+ duration: 2500,
|
|
|
+ showClose: true,
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ let title = '请确认是否保存<span style="color:#d12020;">' + row.learningContent.length > 10 ? row.learningContent.substring(0,10) + '...' : row.learningContent + '</span>?'
|
|
|
+ ElMessageBox.confirm(title, {
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ type: 'warning',
|
|
|
+ distinguishCancelAndClose: true,
|
|
|
+ dangerouslyUseHTMLString: true
|
|
|
+ }).then(() => {
|
|
|
+ let learnData = learnOptions.filter((item) => {
|
|
|
+ return item.code === row.learningStyle
|
|
|
+ })
|
|
|
+ row.learningName = learnData[0].name
|
|
|
+ saveTechnologyArchives4(row).then((res) => {
|
|
|
+ ElMessage({
|
|
|
+ type: "success",
|
|
|
+ message: res.cg,
|
|
|
+ duration: 2500,
|
|
|
+ showClose: true,
|
|
|
+ });
|
|
|
+ queryTechnologyArchives4()
|
|
|
+ setTrainingImage(row.socialNo,row.beginTime,turl.value)
|
|
|
+ trainingfileList.value = []
|
|
|
+ turls.value = []
|
|
|
+ })
|
|
|
+ }).catch((action) => {
|
|
|
+ if (action === 'cancel') {
|
|
|
+ queryTechnologyArchives4()
|
|
|
+ trainingfileList.value = []
|
|
|
+ }
|
|
|
})
|
|
|
- }).catch((action) => {
|
|
|
- if (action === 'cancel') {
|
|
|
- queryTechnologyArchives4()
|
|
|
- }
|
|
|
- })
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
const deleteFourthInfo = (row) => {
|
|
@@ -2302,6 +2547,7 @@ const deleteFourthInfo = (row) => {
|
|
|
queryTechnologyArchives4()
|
|
|
}
|
|
|
})
|
|
|
+ trainingfileList.value = [];
|
|
|
}
|
|
|
// (院内、院外)学习培训情况删改存开始增删改存结束
|
|
|
|
|
@@ -2384,7 +2630,7 @@ const callSaveFifthInfo = (row, oldTime) => {
|
|
|
confirmButtonText: '确定',
|
|
|
type: 'warning',
|
|
|
distinguishCancelAndClose: true,
|
|
|
- dangerouslyUseHTMLString: true
|
|
|
+ dangerouslyUseHTMLString: true
|
|
|
}).then(() => {
|
|
|
saveTechnologyArchives5(row).then((res) => {
|
|
|
ElMessage({
|
|
@@ -2619,6 +2865,9 @@ const editNinthInfo = (row) => {
|
|
|
// 备份原始数据
|
|
|
row['oldRow'] = JSON.parse(JSON.stringify(row))
|
|
|
row.isEdit = true
|
|
|
+ if(row.image != null){
|
|
|
+ row.isUpload = true
|
|
|
+ }
|
|
|
}
|
|
|
// 取消
|
|
|
const cancelNinthInfo = (row, index) => {
|
|
@@ -2631,8 +2880,57 @@ const cancelNinthInfo = (row, index) => {
|
|
|
row[i] = row.oldRow[i]
|
|
|
}
|
|
|
}
|
|
|
+ if(!row.isUpload){
|
|
|
+ examinefileList.value = []
|
|
|
+ }
|
|
|
+ if(row.time == null || row.content == null || row.mode == null){
|
|
|
+ examinefileList.value = []
|
|
|
+ }
|
|
|
ninthKey.value = Math.random()
|
|
|
}
|
|
|
+
|
|
|
+//上传培训图片
|
|
|
+const examinefileList = ref([])
|
|
|
+const examinesubmitUpload = (row) => {
|
|
|
+ if(row.isOversize && !row.isJPG){
|
|
|
+ row.isUpload = false
|
|
|
+ }else{
|
|
|
+ upload.value!.action = `${apiUrl}/technologyArchives/putExamineCertificateImage?socialNo=${row.socialNo}&content=${row.content}`
|
|
|
+ upload.value!.submit();
|
|
|
+ row.isUpload = true
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const urls9 = ref([])
|
|
|
+const url9 = ref("")
|
|
|
+function examineuploadSuccess(response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) {
|
|
|
+ console.log(response.data.urls.length)
|
|
|
+ urls9.value.push(response.data.urls)
|
|
|
+ console.log(urls9.value)
|
|
|
+ url9.value = urls9.value.join(",")
|
|
|
+ const index = XEUtils.findLastIndexOf(examinefileList.value, (item: UploadUserFile) => {
|
|
|
+ return item.uid === uploadFile.uid;
|
|
|
+ })
|
|
|
+ if (response.code === 200) {
|
|
|
+ for(let i=0; i<urls9.value.length; i++){
|
|
|
+ examinefileList.value[index].url = uploadurl + urls9.value[i]
|
|
|
+ }
|
|
|
+ ElMessage.success("上传成功");
|
|
|
+ } else {
|
|
|
+ examinefileList.value[index].status = 'fail'
|
|
|
+ ElMessage.error("上传失败");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const examinehandlePreview= (uploadFile) => {
|
|
|
+ dialogImageUrl.value = uploadFile.url
|
|
|
+ dialogVisible.value = true
|
|
|
+ console.log(examinefileList.value[0].name)
|
|
|
+}
|
|
|
+//查看图片
|
|
|
+const examinesrcList = ref([])
|
|
|
+const examineurl = ref("")
|
|
|
+
|
|
|
// 保存
|
|
|
const updateNinthInfo = (row) => {
|
|
|
if (!row.socialNo) {
|
|
@@ -2647,32 +2945,64 @@ const updateNinthInfo = (row) => {
|
|
|
if (!row.isAdd && row.socialNo !== row.oldRow.socialNo) {
|
|
|
row.oldSocialNo = row.oldRow.socialNo
|
|
|
}
|
|
|
- callSaveNinthInfo(row)
|
|
|
-}
|
|
|
-
|
|
|
-const callSaveNinthInfo = (row) => {
|
|
|
- let title = '请确认是否保存<span style="color:#d12020;">' + row.content.length > 10 ? row.content.substring(0,10) + '...' : row.content + '</span>?'
|
|
|
- ElMessageBox.confirm(title, {
|
|
|
- cancelButtonText: '取消',
|
|
|
- confirmButtonText: '确定',
|
|
|
- type: 'warning',
|
|
|
- distinguishCancelAndClose: true,
|
|
|
- dangerouslyUseHTMLString: true
|
|
|
- }).then(() => {
|
|
|
- saveTechnologyArchives9(row).then((res) => {
|
|
|
+ if (row.isAdd) {
|
|
|
+ let fe = 0
|
|
|
+ for (let num in ninthData.value) {
|
|
|
+ if (ninthData.value[num].time === row.time) {
|
|
|
+ fe++
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (fe === 2) {
|
|
|
ElMessage({
|
|
|
- type: "success",
|
|
|
- message: res.cg,
|
|
|
+ type: "warning",
|
|
|
+ message: "存在重复的考核,请核对!",
|
|
|
duration: 2500,
|
|
|
showClose: true,
|
|
|
});
|
|
|
- queryTechnologyArchives9()
|
|
|
+ } else{
|
|
|
+ callSaveNinthInfo(row)
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ callSaveNinthInfo(row)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const callSaveNinthInfo = (row) => {
|
|
|
+ if(!row.isUpload){
|
|
|
+ ElMessage({
|
|
|
+ type: "warning",
|
|
|
+ message: "图片还未上传!",
|
|
|
+ duration: 2500,
|
|
|
+ showClose: true,
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ let title = '请确认是否保存<span style="color:#d12020;">' + row.content.length > 10 ? row.content.substring(0,10) + '...' : row.content + '</span>?'
|
|
|
+ ElMessageBox.confirm(title, {
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ type: 'warning',
|
|
|
+ distinguishCancelAndClose: true,
|
|
|
+ dangerouslyUseHTMLString: true
|
|
|
+ }).then(() => {
|
|
|
+ saveTechnologyArchives9(row).then((res) => {
|
|
|
+ ElMessage({
|
|
|
+ type: "success",
|
|
|
+ message: res.cg,
|
|
|
+ duration: 2500,
|
|
|
+ showClose: true,
|
|
|
+ });
|
|
|
+ queryTechnologyArchives9()
|
|
|
+ setExamineImage(row.socialNo,row.time,url9.value)
|
|
|
+ examinefileList.value = []
|
|
|
+ urls9.value = []
|
|
|
+ })
|
|
|
+ }).catch((action) => {
|
|
|
+ if (action === 'cancel') {
|
|
|
+ queryTechnologyArchives9()
|
|
|
+ }
|
|
|
})
|
|
|
- }).catch((action) => {
|
|
|
- if (action === 'cancel') {
|
|
|
- queryTechnologyArchives9()
|
|
|
- }
|
|
|
- })
|
|
|
+ examinefileList.value = []
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 删除
|