Commit 171a1a43 authored by wangxl's avatar wangxl

444

parent 9fc6e92c
......@@ -4,10 +4,10 @@
<div>
<document-view :fileUrl="file.downloadUrl" :fileName="file.fileName" :imageArray="[file.downloadUrl]"></document-view>
</div>
<a-icon type="delete" class="hover-pointer d-icon" @click="deletefile(file)" style="margin: 0px 2px;" />
<a-icon type="delete" class="hover-pointer d-icon" @click="deletefile(file)" style="margin: 0px 4px;" />
</div>
<div v-else>
<a-form-model-item :prop="name +'.'+ index + '.downloadUrl'" :rules="{required: true, message: '请上传附件',trigger: 'blur',}">
<a-form-model-item :prop="name +'.'+ index + '.downloadUrl'" :rules="{required: file.isRequired, message: '请上传附件',trigger: 'blur',}">
<input type="file" :ref="name +'fileElem' + index" class="visually-hidden" @change="handleFiles(file, index)" />
<a-button @click="fileSelect(index)"><a-icon type="upload" />选择文件</a-button>
</a-form-model-item>
......@@ -26,12 +26,6 @@ export default {
};
},
props: {
value: {
type: Object,
default: () => {
return null
}
},
file: {
type: Object,
default: () => {
......@@ -50,23 +44,29 @@ export default {
return 0
},
},
format: {
type: Array,
default () {
return []
}
},
},
created () {
},
methods: {
deletefile (item) {
this.$api.base.deletefile({ id: item.downloadId }).then(({ data = {} }) => {
deletefile (obj) {
this.$api.base.deletefile({ id: obj.downloadId }).then(({ data = {} }) => {
if (data) {
item.fileName = ''
item.downloadUrl = ''
item.downloadId = ''
obj.fileName = null
obj.downloadUrl = null
obj.downloadId = null
}
}).catch(() => {
this.$message.error('删除失败')
})
},
handleFiles (item, index) {
handleFiles (obj, index) {
let fileElem = this.$refs[this.name + 'fileElem' + index]
let files = fileElem.files
if (files.length <= 0) {
......@@ -77,9 +77,9 @@ export default {
return
this.$api.base.asyncUpload(this.uploadHandle(files[0], files[0].name)).then(({ data = {} }) => {
if (data) {
item.fileName = files[0].name
item.downloadUrl = data.downloadUrl
item.downloadId = data.id
obj.fileName = files[0].name
obj.downloadUrl = data.downloadUrl
obj.downloadId = data.id
} else
this.$message.error('上传失败')
}).catch(() => {
......@@ -93,13 +93,15 @@ export default {
this.$message.error('文件大小不能超过15M!');
return false
}
// var fileNames = file.name.split('.')
// var fileType = fileNames[fileNames.length - 1].toLocaleLowerCase()
// var extList = ['doc', 'docx', 'pdf']
// if (!extList.find((item) => item == fileType)) {
// this.$message.error('文件格式错误!')
// return false
// }
if (!!this.format && this.format.length > 0) {
var fileNames = file.name.split('.')
var fileType = fileNames[fileNames.length - 1].toLocaleLowerCase()
var extList = this.format
if (!extList.find((e) => e == fileType)) {
this.$message.error('文件格式错误!')
return false
}
}
return true
},
uploadHandle (file, fileName) {
......@@ -114,14 +116,10 @@ export default {
fileElem.click()
}
},
},
watch: {
value: {
handler (value) {
downloadfile () {
},
}
}
},
},
};
</script>
<style scoped lang="less">
......
......@@ -110,9 +110,9 @@ export default {
this.$message.error('文件大小不能超过15M!');
return false
}
var fileNames = file.name.split('.')
var fileType = fileNames[fileNames.length - 1].toLocaleLowerCase()
if (!!this.format && this.format.length > 0) {
var fileNames = file.name.split('.')
var fileType = fileNames[fileNames.length - 1].toLocaleLowerCase()
var extList = this.format
if (!extList.find((item) => item == fileType)) {
this.$message.error('文件格式错误!')
......
<template>
<div style="height:75vh;overflow:auto" class="app-content">
<a-form-model ref="form" :model="formData" :rules="rules" class="from-table font-line-space">
{{ formdata }}
<table class="tab-content" cellpadding="3" cellspacing="3" style="width: 98%">
<tr v-for="(item,index) in formdata" :key="'tr1'+index">
<td :rowspan="item.row1">{{ item.title1 }}</td>
<td :rowspan="item.row3">{{ item.title2 }}</td>
<td :rowspan="item.row3">{{ item.title3 }}</td>
<a-form-model ref="form" :rules="rules" class="from-table font-line-space">
<table class="tab-content" border="1" style="width: 98%">
<tr v-for="(item,index) in fromList" :key="'tr1'+index">
<td :rowspan="item.row1" v-if="item.row1>0">{{ item.title1 }}</td>
<td :rowspan="item.row2" v-if="item.row2>0">{{ item.title2 }}</td>
<td :rowspan="item.row3" v-if="item.row3>0">{{ item.title3 }}</td>
<td>{{ item.title }}</td>
<td>{{ item.score }}</td>
<td>{{ item.meaning }}</td>
<td :rowspan="item.row3" v-if="item.row3>0"><a-input :maxLength="50" style="width: 80%;" /></td>
</tr>
</table>
</a-form-model>
......@@ -28,6 +28,58 @@ export default {
},
data () {
return {
fromList:
[
{ meaning: "资金预算有总量、强度、结构说明,且与项目实施内容、目标考核指标相关。", score: "7-10", title: "相关", title3: "资金预算应以项目研究开发任务目标为依据,预算的总量、强度:结构等应符合项目任务的规律和特点,项目各任务之间资金分配合理。", row3: 3, title2: "目标相关性(10分)", row2: 3, title1: "资金预算(40分)", row1: 12 },
{ meaning: "资金预算有总量、强度、结构说明,与项目实施内容、目标考核指标基本相关。", score: "1-6", title: "基本相关", title3: "资金预算应以项目研究开发任务目标为依据,预算的总量、强度:结构等应符合项目任务的规律和特点,项目各任务之间资金分配合理。", row3: 0, title2: "目标相关性(10分)", row2: 0, title1: "资金预算(40分)", row1: 0 },
{ meaning: "资金预算总量、强度、结构与项目实施内容、目标、考核指不相关。", score: "0", title: "不相关", title3: "资金预算应以项目研究开发任务目标为依据,预算的总量、强度:结构等应符合项目任务的规律和特点,项目各任务之间资金分配合理。", row3: 0, title2: "目标相关性(10分)", row2: 0, title1: "资金预算(40分)", row1: 0 },
{ meaning: "资金预算有开支范围的依据及标准说明,且与现行相关财务度相符。", score: "7-10", title: "相符", title3: "项目预算科目的开支范围、开支标准等应符合国家和云南省有关财务制度,以及科研经费管理制度的相关规定", row3: 3, title2: "政策相符性(10分)", row2: 3, title1: "资金预算(40分)", row1: 0 },
{ meaning: "资金预算有开支范围的依据说明,与现行相关财务制度基本相符。", score: "1-6", title: "基本相符", title3: "项目预算科目的开支范围、开支标准等应符合国家和云南省有关财务制度,以及科研经费管理制度的相关规定", row3: 0, title2: "政策相符性(10分)", row2: 0, title1: "资金预算(40分)", row1: 0 },
{ meaning: "资金预算无开支范围的依据说明。", score: "0", title: "不相符", title3: "项目预算科目的开支范围、开支标准等应符合国家和云南省有关财务制度,以及科研经费管理制度的相关规定", row3: 0, title2: "政策相符性(10分)", row2: 0, title1: "资金预算(40分)", row1: 0 },
{ meaning: "资金预算有与同类研发活动支出水平的对比分析,资金预算与产出匹配性高。", score: "7-10", title: "合理", title3: "预算应综合考虑国内外同类研究开发活动的状况、相关产业特点、同类研发活动支出水平、技术创新风险等因素,结合项目研究开发的现有基础、前期投入和支撑条件,考量项目预算与同类或相近科研活动支出水平的匹配性。", row3: 3, title2: "经济合理性(10分)", row2: 3, title1: "资金预算(40分)", row1: 0 },
{ meaning: "资金预算有与同类研发活动支出水平的对比分析,资金预算与产出基本匹配。", score: "1-6", title: "基本合理", title3: "预算应综合考虑国内外同类研究开发活动的状况、相关产业特点、同类研发活动支出水平、技术创新风险等因素,结合项目研究开发的现有基础、前期投入和支撑条件,考量项目预算与同类或相近科研活动支出水平的匹配性。", row3: 0, title2: "经济合理性(10分)", row2: 0, title1: "资金预算(40分)", row1: 0 },
{ meaning: "资金预算明显高于同类研发活动支出水平,资金预算与产出不匹配。", score: "0", title: "不合理", title3: "预算应综合考虑国内外同类研究开发活动的状况、相关产业特点、同类研发活动支出水平、技术创新风险等因素,结合项目研究开发的现有基础、前期投入和支撑条件,考量项目预算与同类或相近科研活动支出水平的匹配性。", row3: 0, title2: "经济合理性(10分)", row2: 0, title1: "资金预算(40分)", row1: 0 },
{ meaning: "财政资金预算能保障项目研发任务实施和研发目标实现。", score: "7-10", title: "可行", title3: "财政资金预算应考虑支撑项目研发任务的实施和研发目标的实现,有助于项目技术指标及经济、社会、生态环境和可持续影响指标的完成。", row3: 3, title2: "任务完成可行性(10分)", row2: 3, title1: "资金预算(40分)", row1: 0 },
{ meaning: "财政资金预算基本能保障项目研发任务实施和研发目标实现。", score: "1-6", title: "基本可行", title3: "财政资金预算应考虑支撑项目研发任务的实施和研发目标的实现,有助于项目技术指标及经济、社会、生态环境和可持续影响指标的完成。", row3: 0, title2: "任务完成可行性(10分)", row2: 0, title1: "资金预算(40分)", row1: 0 },
{ meaning: "财政资金预算难以保障项目研发任务实施和研发目标实现。", score: "0", title: "不可行", title3: "财政资金预算应考虑支撑项目研发任务的实施和研发目标的实现,有助于项目技术指标及经济、社会、生态环境和可持续影响指标的完成。", row3: 0, title2: "任务完成可行性(10分)", row2: 0, title1: "资金预算(40分)", row1: 0 },
{ meaning: "绩效目标规范,包括产出指标、效益指标、满意度指标等3个(含)以上指标。", score: "3-4", title: "完整", title3: "绩效目标规范完整性(4分)", row3: 3, title2: "完整性(7.5分)", row2: 6, title1: "绩效目标(30分)", row1: 23 },
{ meaning: "绩效目标较规范,包括产出指标、效益指标、满意度指标等1-2个指标。", score: "1-2", title: "基本完整", title3: "绩效目标规范完整性(4分)", row3: 0, title2: "完整性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标不规范、不完整。", score: "0", title: "不完整", title3: "绩效目标规范完整性(4分)", row3: 0, title2: "完整性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标设置清晰,能反映项目实施的主要内容、预期产出和效果,指标值具体可量化。", score: "2-3.5", title: "清晰", title3: "绩效目标明确清晰性.(3.5分)", row3: 3, title2: "完整性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标设置基本清晰。", score: "1", title: "基本清晰", title3: "绩效目标明确清晰性.(3.5分)", row3: 0, title2: "完整性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标设置不清晰。", score: "0", title: "不清晰", title3: "绩效目标明确清晰性.(3.5分)", row3: 0, title2: "完整性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标与项目实施内容和考核指标紧密相关。", score: "3-4", title: "相关", title3: "绩效目标相关性。(4分)", row3: 3, title2: "相关性(7.5分)", row2: 5, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标与项目实施内容和考核指标基本相关。", score: "1-2", title: "基本相关", title3: "绩效目标相关性。(4分)", row3: 0, title2: "相关性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标与项目实施内容和考核指标不相关。", score: "0", title: "不相关", title3: "绩效目标相关性。(4分)", row3: 0, title2: "相关性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效指标尚未实现,具有实现的可能性。", score: "1-3.5", title: "科学", title3: "绩效指标科学性。(3.5分)", row3: 2, title2: "相关性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效指标已实现,或项目实施难以确保绩效指标实现。", score: "0", title: "不科学", title3: "绩效指标科学性。(3.5分)", row3: 0, title2: "相关性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标与资金规模匹配。", score: "3-4", title: "合理", title3: "资金匹配性。(4分)", row3: 3, title2: "适当性(7.5分)", row2: 6, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标与资金规模基本匹配。", score: "1-2", title: "基本合理", title3: "资金匹配性。(4分)", row3: 0, title2: "适当性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标与资金规模不匹配。", score: "0", title: "不合理", title3: "资金匹配性。(4分)", row3: 0, title2: "适当性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标符合正常水平或科研规律。", score: "3-4", title: "匹配", title3: "绩效目标合理性。(3.5分)", row3: 3, title2: "适当性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标基本符合正常水平或科研规律。", score: "1-2", title: "基本匹配", title3: "绩效目标合理性。(3.5分)", row3: 0, title2: "适当性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标不符合正常水平或科研规律。", score: "0", title: "不匹配", title3: "绩效目标合理性。(3.5分)", row3: 0, title2: "适当性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标经过充分论证和合理测算。", score: "3-4", title: "可行", title3: "绩效目标实现可能性:(4分)", row3: 3, title2: "可行性(7.5分)", row2: 6, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标经过论证和测算,但论证的充分性和合理性不够。", score: "1-2", title: "基本可行", title3: "绩效目标实现可能性:(4分)", row3: 0, title2: "可行性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "绩效目标未经过论证和测算。", score: "0", title: "不可行", title3: "绩效目标实现可能性:(4分)", row3: 0, title2: "可行性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "项目实施方案和具体措施可行,能确保绩效目标实现。", score: "3-4", title: "匹配", title3: "项目实施方案匹配性(3.5分)", row3: 3, title2: "可行性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "项目实施方案和具体措施基本可行,能确保绩效目标基本实现。", score: "1-2", title: "基本匹配", title3: "项目实施方案匹配性(3.5分)", row3: 0, title2: "可行性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "项目实施方案和具体措施不太可行,难以确保绩效目标实现。", score: "0", title: "不匹配", title3: "项目实施方案匹配性(3.5分)", row3: 0, title2: "可行性(7.5分)", row2: 0, title1: "绩效目标(30分)", row1: 0 },
{ meaning: "项目申报单位建立了科研项目管理、资金管理等办法制度,并严格执行落实。", score: "4-5", title: "建立并落实", title3: "申报单位是否建立了项目管理制度、资金管理制度,以及以上制度的落实情况。", row3: 3, title2: "内控制度健全性(5分)", row2: 3, title1: "申报单位管理能力(20分)", row1: 9 },
{ meaning: "项目申报单位建立了科研项目管理、资金管理等办法制度,但执行落实不到位。", score: "1-3", title: "建立但落实不好", title3: "申报单位是否建立了项目管理制度、资金管理制度,以及以上制度的落实情况。", row3: 0, title2: "内控制度健全性(5分)", row2: 0, title1: "申报单位管理能力(20分)", row1: 0 },
{ meaning: "项目申报单位未建立项目管理制度、资金管理制度。", score: "0", title: "未建立", title3: "申报单位是否建立了项目管理制度、资金管理制度,以及以上制度的落实情况。", row3: 0, title2: "内控制度健全性(5分)", row2: 0, title1: "申报单位管理能力(20分)", row1: 0 },
{ meaning: "申报单位有承诺或提供的材料能保障研究所需的条件。", score: "1-5", title: "是", title3: "申报单位是否拥有保璧项目开展所需的设备、场所等设施", row3: 2, title2: "配套支撑能力(5分)", row2: 2, title1: "申报单位管理能力(20分)", row1: 0 },
{ meaning: "申报单位无承诺。", score: "0", title: "否", title3: "申报单位是否拥有保璧项目开展所需的设备、场所等设施", row3: 0, title2: "配套支撑能力(5分)", row2: 0, title1: "申报单位管理能力(20分)", row1: 0 },
{ meaning: "申报单位已聘用科研(财务)助理,已出台科研(财务)助理制度,并严格执行落实。", score: "1-5", title: "是", title3: "申报单位是否设置科研(财务)助理,为科研人员在项目预算编制和调剂、经费支出、财务决算和验收等方面提供专业化服务。", row3: 2, title2: "科研服务能力(5分)", row2: 2, title1: "申报单位管理能力(20分)", row1: 0 },
{ meaning: "申报单位未出台、未执行科研(财务)助理制度。", score: "0", title: "否", title3: "申报单位是否设置科研(财务)助理,为科研人员在项目预算编制和调剂、经费支出、财务决算和验收等方面提供专业化服务。", row3: 0, title2: "科研服务能力(5分)", row2: 0, title1: "申报单位管理能力(20分)", row1: 0 },
{ meaning: "申报单位科研诚信管理符合要求。", score: "1-5", title: "符合", title3: "申报单位科研诚信记录是否符合要求。", row3: 2, title2: "科研诚信(5分)", row2: 2, title1: "申报单位管理能力(20分)", row1: 0 },
{ meaning: "申报单位科研诚信管理不符合要求。", score: "0", title: "不符合", title3: "申报单位科研诚信记录是否符合要求。", row3: 0, title2: "科研诚信(5分)", row2: 0, title1: "申报单位管理能力(20分)", row1: 0 },
{ meaning: "自筹资金已落实,来源有保障,能确保项目研发任务实施和研发目标实现。", score: "5", title: "有", title3: "自筹资金是否按指南等要求匹配,预算来源是否有保障。", row3: 2, title2: "自筹资金保障能力(5分)", row2: 2, title1: "预算保障能力(10分)", row1: 6 },
{ meaning: "", score: "0", title: "无", title3: "自筹资金是否按指南等要求匹配,预算来源是否有保障。", row3: 0, title2: "自筹资金保障能力(5分)", row2: 0, title1: "预算保障能力(10分)", row1: 0 },
{ meaning: "", score: "1-3", title: "是", title3: "资产负债率是否小于70%。(3分)", row3: 2, title2: "申报单位运营风险(5分)", row2: 4, title1: "预算保障能力(10分)", row1: 0 },
{ meaning: "项目申报单位提供的财务报告提取数据测算。", score: "0", title: "否(大于等于 70%)", title3: "资产负债率是否小于70%。(3分)", row3: 0, title2: "申报单位运营风险(5分)", row2: 0, title1: "预算保障能力(10分)", row1: 0 },
{ meaning: "项目申报单位提供的财务报告提取数据测算。", score: "1-2", title: "是", title3: "流动比率、速动比率、现金流等是否在正常范围内(2分)", row3: 2, title2: "申报单位运营风险(5分)", row2: 0, title1: "预算保障能力(10分)", row1: 0 },
{ meaning: "", score: "0", title: "否", title3: "流动比率、速动比率、现金流等是否在正常范围内(2分)", row3: 0, title2: "申报单位运营风险(5分)", row2: 0, title1: "预算保障能力(10分)", row1: 0 }],
formdata: [],
dataList: [
{
......@@ -266,11 +318,7 @@ export default {
]
},
],
formData: {
},
rules: {
},
rules: {},
totalRow: 0
};
},
......@@ -298,7 +346,6 @@ export default {
})
})
})
this.a = list
}
},
};
......
......@@ -21,7 +21,7 @@
<a-divider style="height: 1px; background-color: #e8e8e8;" />
<div class="submit-btn">
<a-button type="primary" @click="exportData" icon="download">Excel</a-button>
<!-- <a-button type="primary" @click="scoreClick" icon="download">评分</a-button> -->
<a-button type="primary" @click="scoreClick" icon="download">评分</a-button>
</div>
<a-table :dataSource="tableData" :columns="columns" :scroll="{ x: 'max-content' }" rowKey="id" :pagination="false" :loading="loading">
<template slot="projName" slot-scope="record">
......
......@@ -10,16 +10,16 @@
<a-row type="flex">
<a-col :span="24" class="bg-gray">
<div class="special-middle">
<a href="/downloadFile/202412130901.docx" download="临床医学中心承诺书模版.docx" style="margin-right: 20px;">
<a-icon type="download"></a-icon>&nbsp;<span style="color:green;text-decoration:underline;">临床医学中心承诺书模版</span>
</a>
<a href="/downloadFile/202412130902.docx" download="个人承诺书模版.docx" style="margin-right: 20px;">
<a-icon type="download"></a-icon>&nbsp;<span style="color:green;text-decoration:underline;">个人承诺书模版</span>
</a>
<a href="/downloadFile/202412130903.docx" download="项目资金预算编制说明.docx" style="margin-right: 20px;">
<a-icon type="download"></a-icon>&nbsp;<span style="color:green;text-decoration:underline;">项目资金预算编制说明</span>
</a>
</div>
<a href="/downloadFile/202412130901.docx" download="临床医学中心承诺书模版.docx" style="margin-right: 20px;">
<a-icon type="download"></a-icon>&nbsp;<span style="color:green;text-decoration:underline;">临床医学中心承诺书模版</span>
</a>
<a href="/downloadFile/202412130902.docx" download="个人承诺书模版.docx" style="margin-right: 20px;">
<a-icon type="download"></a-icon>&nbsp;<span style="color:green;text-decoration:underline;">个人承诺书模版</span>
</a>
<a href="/downloadFile/202412130903.docx" download="项目资金预算编制说明.docx" style="margin-right: 20px;">
<a-icon type="download"></a-icon>&nbsp;<span style="color:green;text-decoration:underline;">项目资金预算编制说明</span>
</a>
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
......@@ -60,23 +60,13 @@
</a-form-model-item>
</a-col>
<a-col :span="2">
<div class="special-middle" style="text-align: center;"><div>{{ item.isRequired == true ? "是" : "否" }}</div></div>
<div class="special-middle" style="text-align: center;">
<div>{{ item.isRequired == true ? "是" : "否" }}</div>
</div>
</a-col>
<a-col :span="10">
<div class="special-middle">
<div v-if="item.downloadUrl" class="file-box">
<div>
<a-icon type="file" style="margin-right: 8px" />
<span class="hover-pointer" @click="downloadfile(item)">{{item.fileName}}</span>
</div>
<a-icon type="delete" class="hover-pointer d-icon" @click="deletefile(item, index)" />
</div>
<div v-else>
<a-form-model-item :prop="'fileList.' + index + '.downloadUrl'" :rules="{required: item.isRequired, message: '请上传附件',trigger: 'blur',}">
<input type="file" :ref="'fileElem' + index" class="visually-hidden" @change="handleFiles(item, index)" />
<a-button @click="fileSelect(item, index)"><a-icon type="upload" />选择文件</a-button>
</a-form-model-item>
</div>
<file-load :file.sync="fileList[index]" :index="index" :name="'fileList'" />
</div>
</a-col>
<a-col :span="4">
......@@ -104,7 +94,7 @@
</template>
<script>
const File = { fileName: "", downloadUrl: "", fileExplain: "", downloadId: "", isRequired: false, required: false };
const File = { fileName: null, downloadUrl: null, fileExplain: null, downloadId: null, isRequired: false, required: false };
export default {
name: "fileEdit",
......@@ -116,68 +106,13 @@ export default {
},
},
},
created() {},
data() {
created () { },
data () {
return {
mustAttachment: [ 0, 1 ],
mustAttachment: [0, 1],
};
},
methods: {
downloadfile() {
},
deletefile (item, index) {
this.$api.base.deletefile({ id: item.downloadId }).then(({ data = {} }) => {
if (data) {
item.fileName = ''
item.downloadUrl = ''
item.downloadId = ''
}
}).catch(() => {
this.$message.error('删除失败')
})
},
uploadHandle (file, fileName) {
let formData = new FormData()
formData.append('file', file)
formData.append('fileName', fileName)
return formData
},
handleFiles(item, index) {
let fileElem = this.$refs['fileElem' + index][0]
let files = fileElem.files
if (files.length <= 0) {
this.$message.error('未选中文件,请尝试重新选择')
return
}
if (!this.fileCheck(files[0]))
return
this.$api.base.asyncUpload(this.uploadHandle(files[0], files[0].name)).then(({ data = {} }) => {
if (data) {
item.fileName = files[0].name
item.downloadUrl = '/' + files[0].name
item.downloadId = data.id
} else
this.$message.error('上传失败')
}).catch(() => {
this.$message.error('上传失败')
})
},
fileSelect (item, index) {
let fileElem = this.$refs['fileElem' + index][0]
if (fileElem) {
fileElem.click()
}
},
fileCheck (file) {
//判断是否小于1M
let isLtSize = file.size < 1024 * 1024 * 15;
if (!isLtSize) {
this.$message.error('文件大小不能超过15M!');
return false
}
return true
},
// 添加附件
addfileList () {
this.fileList.push(Object.assign({ ...File }, { fileExplain: '' }))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment