edit.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <template>
  2. <div class="inline-16">
  3. <el-button size="small" type="text" @click="onShow">编辑</el-button>
  4. <el-dialog
  5. :visible.sync="drawer"
  6. width="950px"
  7. @close="onClose"
  8. >
  9. <div>
  10. <el-row :gutter="20">
  11. <el-form :model="form" :rules="rules" ref="form" size="mini" label-position="left" label-width="90px">
  12. <el-col :span="20">
  13. <el-form-item prop="type" label="档案名称:">
  14. <el-input v-model="form.type" placeholder="输入档案名称"></el-input>
  15. </el-form-item>
  16. </el-col>
  17. <el-col :span="20">
  18. <el-form-item label="档案备注:">
  19. <el-input type="textarea" autosize v-model="form.remarks" placeholder="输入档案备注"></el-input>
  20. </el-form-item>
  21. </el-col>
  22. <el-col :span="20">
  23. <el-form-item label="上传附件">
  24. <uploadFile ref="upload" style="margin-top:10px" :folderid="folderid" accept=".text,.doc,.xls" :bindData="{ownertable:'plm_technicalinfo',ownerid:form.plm_technicalinfoid,usetype:'default'}" @onSuccess="uploadSuccess"></uploadFile>
  25. </el-form-item>
  26. </el-col>
  27. </el-form>
  28. </el-row>
  29. </div>
  30. <div>
  31. <file_table ref="list" :id="form.plm_technicalinfoid">
  32. <template v-slot:del="scope">
  33. <file_delete v-if="tool.checkAuth($route.name,'delete')" :data="scope.data" :type="'text'" @deleteSuccess="onSuccess"></file_delete>
  34. </template>
  35. </file_table>
  36. </div>
  37. <div class="dialog-footer">
  38. <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
  39. <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width btn-primary">确 定</el-button>
  40. </div>
  41. </el-dialog>
  42. </div>
  43. </template>
  44. <script>
  45. import uploadFile from '../../../components/upload/hw_obs_upload.vue'
  46. import file_table from "../components/fileTable";
  47. import file_delete from "../components/fileDel"
  48. export default {
  49. props:['data'],
  50. name: "edit",
  51. data() {
  52. return {
  53. drawer:false,
  54. form:[],
  55. rules:{
  56. type: [
  57. { required: true, message: '档案名称不可为空', trigger: 'blur' },
  58. ],
  59. },
  60. folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
  61. attachmentids:[]
  62. }
  63. },
  64. components:{
  65. uploadFile,
  66. file_table,
  67. file_delete
  68. },
  69. mounted() {
  70. },
  71. methods: {
  72. onShow(){
  73. this.drawer = true
  74. this.form = this.data
  75. console.log(this.form)
  76. },
  77. onClose(){
  78. this.drawer = false
  79. },
  80. async onSubmit(){
  81. this.$refs['form'].validate(async (valid) => {
  82. if (!valid) return false
  83. const res = await this.$api.requested({
  84. "id": "20220926095703",
  85. "version":1,
  86. "content": {
  87. "plm_technicalinfoid":this.form.plm_technicalinfoid,
  88. "type":this.form.type,
  89. "remarks":this.form.remarks
  90. }
  91. })
  92. this.tool.showMessage(res,() => {
  93. this.drawer = false
  94. this.$emit('updateSuccess')
  95. })
  96. })
  97. },
  98. uploadSuccess(res){
  99. console.log("输出")
  100. console.log(res)
  101. this.bindEnclosure(res.data.attachmentids)
  102. this.form.attinfos = JSON.parse(res.attinfos).data
  103. this.$refs['upload'].dialogUploadVisible = false
  104. },
  105. async bindEnclosure(attachmentids){
  106. const res = await this.$api.requested({
  107. "classname": "system.attachment.Attachment",
  108. "method": "createFileLink",
  109. "content": {
  110. "ownertable": "plm_technicalinfo",
  111. "ownerid": this.form.plm_technicalinfoid,
  112. "usetype": "default",
  113. "attachmentids": attachmentids
  114. }
  115. })
  116. this.tool.showMessage(res,() => {
  117. console.log(res)
  118. console.log("上传查询")
  119. this.$refs.list.listData()
  120. })
  121. },
  122. onSuccess(){
  123. this.$refs.list.listData()
  124. }
  125. }
  126. }
  127. </script>
  128. <style scoped>
  129. </style>