addInvalidResponse.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <template>
  2. <div>
  3. <el-dialog :title="title" :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="type == 1">
  6. <div>
  7. <el-form-item label="无效理由" prop="name">
  8. <el-select v-model="form.statutesId" placeholder="请选择" style="width:100%">
  9. <el-option
  10. v-for="item in provisions"
  11. :key="item.value"
  12. :label="item.label"
  13. :value="item.value"
  14. >
  15. </el-option>
  16. </el-select>
  17. </el-form-item>
  18. <el-form-item label="权要" prop="name">
  19. <el-select v-model="form.claimIds" multiple placeholder="请选择" style="width:100%">
  20. <el-option
  21. v-for="item in claims"
  22. :key="item.sysOrder"
  23. :label="`权要${Number(item.sysOrder)+1}`"
  24. :value="item.sysOrder+''"
  25. >
  26. </el-option>
  27. </el-select>
  28. </el-form-item>
  29. </div>
  30. </template>
  31. </el-form>
  32. <span slot="footer" class="dialog-footer">
  33. <el-button @click="handleClose">取 消</el-button>
  34. <el-button type="primary" :loading="btnLoading" @click="submit" >确 定</el-button>
  35. </span>
  36. </el-dialog>
  37. </div>
  38. </template>
  39. <script>
  40. export default {
  41. components: {},
  42. props: {
  43. projectId:{
  44. default:0
  45. }
  46. },
  47. data() {
  48. return {
  49. type:null,
  50. form:{},
  51. title:'',
  52. showDialog:false,
  53. claims:[],
  54. rules:{},
  55. btnLoading:false,
  56. };
  57. },
  58. watch: {},
  59. computed: {
  60. provisions(){
  61. return this.$store.state.dictMessage.dictMessage.STATUTE || []
  62. }
  63. },
  64. created() {},
  65. mounted() {
  66. this.getClaims()
  67. },
  68. methods: {
  69. //获取权要
  70. getClaims(){
  71. var params = {
  72. projectId:this.projectId
  73. }
  74. this.$api.queryClaim(params).then(response=>{
  75. if(response.code == 200){
  76. this.claims = response.data.data
  77. }
  78. }).catch(error=>{
  79. this.claims = []
  80. })
  81. },
  82. //打开弹窗
  83. open(type,title,data){
  84. this.type = type
  85. this.title = title
  86. this.form = data
  87. this.showDialog = true
  88. },
  89. //关闭弹窗
  90. handleClose(){
  91. this.showDialog = false
  92. },
  93. //提交
  94. submit(){
  95. this.btnLoading = true
  96. switch(this.type){
  97. case '1':
  98. this.addInvalidStatutes()
  99. break;
  100. }
  101. },
  102. //添加无效理由
  103. addInvalidStatutes(){
  104. this.form.projectId = this.projectId
  105. this.$api.addInvalidStatutes(this.form).then(response=>{
  106. if(response.code == 200){
  107. this.btnLoading = false
  108. this.handleClose()
  109. this.$emit('save',true)
  110. }
  111. }).catch(error=>{
  112. this.btnLoading = false
  113. })
  114. }
  115. },
  116. };
  117. </script>
  118. <style lang="scss" scoped>
  119. </style>