|
@@ -4,23 +4,30 @@
|
|
|
<el-dialog ref="dialog" :title="title" :visible.sync="dialogVisible" width="800px" :before-close="handleClose"
|
|
|
:close-on-click-modal="false">
|
|
|
|
|
|
- <el-upload class="upload-demo" ref="upload" action="#" :auto-upload="true" :show-file-list="false"
|
|
|
- :on-change="onChange" multiple >
|
|
|
- <el-button size="small" type="primary">上传文件</el-button>
|
|
|
- </el-upload>
|
|
|
+ <el-form :model="form" status-icon :rules="rules" ref="form" label-position="top" label-width="120px"
|
|
|
+ class="demo-form">
|
|
|
+ <el-form-item label="附件(已保存):">
|
|
|
+ <el-table class="elTable" :data="tableData" border style="width: 100%"
|
|
|
+ header-row-class-name="custom-table-header">
|
|
|
+ <el-table-column prop="name" label="文件名称" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="time" label="文件上传时间" align="center"> </el-table-column>
|
|
|
+ <el-table-column prop="type" label="文件类型" align="center"> </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" width="140">
|
|
|
+ <el-button @click="deleteFile" size="small" type="text" style="color: red;">删除</el-button>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="附件(未保存):" prop="systemFileList">
|
|
|
+ <myUpload :file-list="form.systemFileList" @on-change="onchangeFile" @on-remove="onRemove"
|
|
|
+ style="height: 180px;" :autoUpload="true"></myUpload>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="说明:">
|
|
|
+ <el-input type="textarea" :rows="2" placeholder="请输入说明内容" v-model="form.description"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+
|
|
|
|
|
|
- <el-table class="elTable" :data="tableData" border style="width: 100%" header-row-class-name="custom-table-header">
|
|
|
- <el-table-column prop="name" label="文件名称" align="center"></el-table-column>
|
|
|
- <el-table-column prop="time" label="文件上传时间" align="center"> </el-table-column>
|
|
|
- <el-table-column prop="type" label="文件类型" align="center"> </el-table-column>
|
|
|
- <el-table-column label="操作" align="center" width="140">
|
|
|
- <el-button @click="deleteFile" size="small" type="text" style="color: red;">删除</el-button>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <div class="explain">
|
|
|
- <span>说明:</span>
|
|
|
- <el-input type="textarea" :rows="3" placeholder="请输入内容" v-model="textarea"></el-input>
|
|
|
- </div>
|
|
|
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="handleClose" size="small">取 消</el-button>
|
|
@@ -30,35 +37,16 @@
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
|
|
|
-
|
|
|
- <el-dialog title="审核任务" :visible.sync="auditTask" width="600px" :before-close="auditTaskClose"
|
|
|
- :close-on-click-modal="false">
|
|
|
- <el-form :model="examineForm" status-icon :rules="examineRules" ref="examineForm" label-width="120px"
|
|
|
- class="demo-ruleForm">
|
|
|
- <el-form-item label="任务名称:" prop="name">
|
|
|
- <el-input v-model="examineForm.name" placeholder="请输入任务名称"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="审核人:" prop="examineId">
|
|
|
- <el-select v-model="examineForm.examineId" placeholder="请选择审核人" style="width: 100%;">
|
|
|
- <el-option v-for="item in examinePerson" :key="item.value" :label="item.label" :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="任务备注:" prop="remark">
|
|
|
- <el-input type="textarea" :rows="3" placeholder="请输入内容" v-model="examineForm.remark"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="auditTaskClose" size="small">取 消</el-button>
|
|
|
- <el-button @click="sure" size="small" type="primary">确 定</el-button>
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
+ <examine ref="examine" @taskForm="handleTaskForm"></examine>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import examine from '@/views/components/dialog/examine.vue'
|
|
|
export default {
|
|
|
- components: {},
|
|
|
+ components: {
|
|
|
+ examine,
|
|
|
+ },
|
|
|
props: {},
|
|
|
data() {
|
|
|
return {
|
|
@@ -70,20 +58,19 @@ export default {
|
|
|
type: 'excel',
|
|
|
}
|
|
|
],
|
|
|
+ form: {
|
|
|
+ systemFileList: [],
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ // systemFileList: [{ required: true, message: '请选择附件', trigger: 'blur' },],
|
|
|
+ },
|
|
|
dialogVisible: false,
|
|
|
// auditTask: false,
|
|
|
// 备注
|
|
|
textarea: '',
|
|
|
- // 审核弹窗
|
|
|
- examineForm: {},
|
|
|
- examinePerson: [],
|
|
|
- examineRules: {
|
|
|
- name: [{ required: true, message: '请输入任务名称', trigger: 'blur' },],
|
|
|
- examineId: [{ required: true, message: '请选择审核人', trigger: 'change' },],
|
|
|
- },
|
|
|
// 是否是处理任务?
|
|
|
isLook: false,
|
|
|
- row:null,
|
|
|
+ row: null,
|
|
|
};
|
|
|
},
|
|
|
watch: {},
|
|
@@ -91,41 +78,29 @@ export default {
|
|
|
created() { },
|
|
|
mounted() { },
|
|
|
methods: {
|
|
|
- // 删除文件
|
|
|
- deleteFile(row) { },
|
|
|
- // 上传文件
|
|
|
- onChange(file, fileList) {
|
|
|
- if (file) {
|
|
|
- this.uploadFile(file)
|
|
|
+
|
|
|
+ // 上传的文件监听
|
|
|
+ onchangeFile(file, fileList) {
|
|
|
+ if (file.guid) {
|
|
|
+ let index = this.form.systemFileList.findIndex(item => {
|
|
|
+ return item.uid == file.uid
|
|
|
+ })
|
|
|
+ if (index != -1) {
|
|
|
+ this.form.systemFileList.splice(index, 1, file)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.form.systemFileList.push(file.raw)
|
|
|
}
|
|
|
+
|
|
|
},
|
|
|
- // 上传附件
|
|
|
- uploadFile(file){
|
|
|
- let formData = new FormData()
|
|
|
- formData.append('sourceId',this.$constants.sourceId)
|
|
|
- formData.append('files',file.raw)
|
|
|
- this.$api.uploadFile(formData).then(response=>{
|
|
|
- if(response.code == 200){
|
|
|
- file.guid = response.data[0]
|
|
|
- file.raw.guid = response.data[0]
|
|
|
- // this.$emit("on-change", file)
|
|
|
- }
|
|
|
+ // 删除上传的文件
|
|
|
+ onRemove(file, fileList) {
|
|
|
+ let index = this.form.systemFileList.findIndex(item => {
|
|
|
+ return item.uid == file.uid
|
|
|
})
|
|
|
- },
|
|
|
- // 查询文件列表
|
|
|
- getFileList() {
|
|
|
- let params = {
|
|
|
- id:this.row.id,
|
|
|
+ if (index != -1) {
|
|
|
+ this.form.systemFileList.splice(index, 1)
|
|
|
}
|
|
|
- this.$api.getFileList(params).then(response => {
|
|
|
- if (response.code == 200) {
|
|
|
- this.tableData = response.data.data
|
|
|
- this.textarea=response.data.textarea
|
|
|
- }
|
|
|
- }).catch(error => {
|
|
|
- this.tableData = []
|
|
|
- this.textarea=''
|
|
|
- })
|
|
|
},
|
|
|
//打开弹窗
|
|
|
open(row, val) {
|
|
@@ -135,39 +110,78 @@ export default {
|
|
|
// }else{
|
|
|
// this.title = '创建任务'
|
|
|
// }
|
|
|
- this.row=row
|
|
|
+ this.row = row
|
|
|
this.isLook = val
|
|
|
this.title = '任务名称:' + row.name
|
|
|
+ // this.getTableList()
|
|
|
this.dialogVisible = true
|
|
|
},
|
|
|
+ // 查询已保存的项目
|
|
|
+ getTableList() {
|
|
|
+ let params = {
|
|
|
+ id: this.row.id
|
|
|
+ }
|
|
|
+ this.$api.getTableList(params).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.tableData = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 删除文件
|
|
|
+ deleteFile(row) {
|
|
|
+ this.deleteFiles([row.id])
|
|
|
+ },
|
|
|
+ deleteFiles(ids) {
|
|
|
+ this.$api.dele(ids).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.getTableList()
|
|
|
+ this.$message.success('删除已保存的文件成功')
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
//关闭弹窗
|
|
|
handleClose() {
|
|
|
this.dialogVisible = false
|
|
|
},
|
|
|
- //提交数据
|
|
|
- submit() {
|
|
|
- this.examineForm.name = this.$refs.dialog.title.split(':')[1]
|
|
|
- // this.examineForm.name =
|
|
|
- this.auditTask = true
|
|
|
- },
|
|
|
// 保存
|
|
|
- handleSave() { },
|
|
|
- // 审核弹窗确定
|
|
|
- sure() {
|
|
|
- this.$refs.examineForm.validate((valid) => {
|
|
|
- if (valid) {
|
|
|
+ handleSave() {
|
|
|
+ // 判断文件是否都上传完毕
|
|
|
+ if (this.form.systemFileList && this.form.systemFileList.length > 0) {
|
|
|
+ this.form.fileGuids = []
|
|
|
+ for (let i = 0; i < this.form.systemFileList.length; i++) {
|
|
|
+ if (this.form.systemFileList[i].guid) {
|
|
|
+ this.form.fileGuids.push(this.form.systemFileList[i].guid)
|
|
|
+ } else {
|
|
|
+ this.$message.error('文件未全部上传,请耐心等待')
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ this.form.id=this.row.id
|
|
|
+ this.$api.add(this.form).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message.success('保存文件成功')
|
|
|
this.handleClose()
|
|
|
- this.auditTaskClose()
|
|
|
- } else {
|
|
|
- this.$message.error('信息未输入完整')
|
|
|
}
|
|
|
- });
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //提交审核
|
|
|
+ submit() {
|
|
|
+ this.$refs.form.validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.$refs.examine.open(this.form,6)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // this.examineForm.name = this.$refs.dialog.title.split(':')[1]
|
|
|
+ // // this.examineForm.name =
|
|
|
+ // this.auditTask = true
|
|
|
},
|
|
|
- // 审核弹窗关闭
|
|
|
- auditTaskClose() {
|
|
|
- this.$refs.examineForm.resetFields()
|
|
|
- this.examineForm = {}
|
|
|
- this.auditTask = false
|
|
|
+ // 审核弹窗发送的值
|
|
|
+ handleTaskForm(val) {
|
|
|
+ this.$emit('isSuccess', '新增成功')
|
|
|
+ this.handleClose()
|
|
|
},
|
|
|
},
|
|
|
|
|
@@ -198,4 +212,5 @@ export default {
|
|
|
font-size: 16px;
|
|
|
}
|
|
|
}
|
|
|
-}</style>
|
|
|
+}
|
|
|
+</style>
|