editEvidence.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <template>
  2. <div>
  3. <el-dialog :title="form.id?'编辑证据文献':'添加证据文献'" :visible.sync="showDialog" width="600px" :close-on-click-modal="false" :before-close="handleClose" append-to-body>
  4. <el-form :model="form" :rules="rules" ref="form" label-width="80px" label-position="left">
  5. <template v-if="form.type == 1">
  6. <div>
  7. <el-form-item label="文献名称" prop="name">
  8. <el-input v-model="form.name" autocomplete="off" placeholder="请输入文献名称"></el-input>
  9. </el-form-item>
  10. <el-form-item label="公开日" prop="publicDate">
  11. <el-date-picker v-model="form.publicDate" value-format="yyyy-MM-dd" type="date" placeholder="请选择时间" style="width: 100%;"></el-date-picker>
  12. </el-form-item>
  13. <el-form-item label="作者" prop="authorName">
  14. <el-input v-model="form.authorName" autocomplete="off" placeholder="请输入作者名称"></el-input>
  15. </el-form-item>
  16. <el-form-item label="附件">
  17. <template>
  18. <div>
  19. <myUpload :file-list="form.systemFile?[form.systemFile]:[]" :limit="1" :autoUpload="true" @on-change="onChange" @on-remove="onRemove"></myUpload>
  20. </div>
  21. </template>
  22. </el-form-item>
  23. </div>
  24. </template>
  25. <template v-else>
  26. <div>
  27. <el-form-item label="专利号" prop="name">
  28. <el-input v-model="form.name" autocomplete="off" placeholder="请输入专利号"></el-input>
  29. </el-form-item>
  30. </div>
  31. </template>
  32. <el-form-item label="备注" prop="description">
  33. <el-input type="textarea" v-model="form.description" autocomplete="off" placeholder="请输入备注"></el-input>
  34. </el-form-item>
  35. </el-form>
  36. <span slot="footer" class="dialog-footer">
  37. <el-button @click="handleClose">取 消</el-button>
  38. <el-button type="primary" :loading="btnLoading" @click="submit" >确 定</el-button>
  39. </span>
  40. </el-dialog>
  41. </div>
  42. </template>
  43. <script>
  44. export default {
  45. components: {},
  46. props: {
  47. projectId:{
  48. default:0
  49. }
  50. },
  51. data() {
  52. return {
  53. form:{},
  54. showDialog:false,
  55. btnLoading:false,
  56. rules: {
  57. name:[{required : false , message:'请输入文献名称',trigger:'blur'}]
  58. }
  59. };
  60. },
  61. watch: {},
  62. computed: {},
  63. created() {},
  64. mounted() {},
  65. methods: {
  66. //打开弹窗
  67. open(form){
  68. this.form = JSON.parse(JSON.stringify(form))
  69. this.showDialog = true
  70. },
  71. //关闭弹窗
  72. handleClose(){
  73. this.showDialog = false
  74. },
  75. //切换文件
  76. onChange(file, fileList){
  77. this.form.systemFile=file.raw
  78. },
  79. //移除文件
  80. onRemove(file, fileList){
  81. this.form.systemFile=null
  82. },
  83. //提交
  84. submit(){
  85. this.$refs.form.validate((valid) => {
  86. if (valid) {
  87. var guids = this.$commonJS.checkUploadFile([this.form.systemFile])
  88. if(!guids){
  89. return false
  90. }
  91. this.form.fileGuid = guids.length>0?guids[0]:''
  92. this.form.projectId = this.projectId
  93. this.btnLoading = true
  94. if(this.form.id){
  95. var a = {
  96. updateBatchLiteratureDTOs:[this.form],
  97. projectId:this.projectId
  98. }
  99. this.$api.updateCompareLiteratureBatch(a).then(response=>{
  100. if(response.code == 200){
  101. this.$emit('save',true)
  102. this.$message.success('编辑成功')
  103. this.btnLoading = false
  104. this.handleClose()
  105. }
  106. }).catch(error=>{
  107. this.$message.error('修改失败')
  108. this.btnLoading = false
  109. })
  110. }else{
  111. this.$api.addNotPatent(this.form).then(response=>{
  112. if(response.code == 200){
  113. this.$emit('save',true)
  114. this.$message.success('添加成功')
  115. this.btnLoading = false
  116. this.handleClose()
  117. }
  118. }).catch(error=>{
  119. this.$message.error('添加失败')
  120. this.btnLoading = false
  121. })
  122. }
  123. } else {
  124. return false;
  125. }
  126. });
  127. },
  128. },
  129. };
  130. </script>
  131. <style lang="scss" scoped>
  132. </style>