edit.vue 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <template>
  2. <div>
  3. <el-button size="mini" :type="btnType?btnType:'text'" @click="onShow">编 辑</el-button>
  4. <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="500px">
  5. <div slot="title" style="font-size: 15px">
  6. 修改支出凭证
  7. </div>
  8. <el-row :gutter="20">
  9. <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="left" size="mini">
  10. <el-col :span="20">
  11. <el-form-item label="合作企业" prop="sys_enterpriseid">
  12. <el-select v-model="form.sys_enterpriseid" placeholder="请选择合作企业">
  13. <el-option
  14. v-for="item in enterprises"
  15. :key="item.sys_enterpriseid"
  16. :label="item.enterprisename"
  17. :value="item.sys_enterpriseid">
  18. </el-option>
  19. </el-select>
  20. </el-form-item>
  21. </el-col>
  22. <el-col :span="20" v-show="form.sys_enterpriseid !== ''">
  23. <el-form-item label="营销账户类型" prop="sa_accountclassid">
  24. <el-select v-model="form.sa_accountclassid" placeholder="请选择营销账户类型">
  25. <el-option
  26. v-for="item in accountclass"
  27. :key="item.sa_accountclassid"
  28. :label="item.accountname"
  29. :value="item.sa_accountclassid">
  30. </el-option>
  31. </el-select>
  32. </el-form-item>
  33. </el-col>
  34. <el-col :span="20">
  35. <el-form-item label="支出金额" prop="amount">
  36. <el-input v-model="form.amount" placeholder="请输入支出金额"></el-input>
  37. </el-form-item>
  38. </el-col>
  39. <el-col :span="20">
  40. <el-form-item label="凭证来源" >
  41. <el-input v-model="form.source" placeholder="请输入凭证来源"></el-input>
  42. </el-form-item>
  43. </el-col>
  44. <el-col :span="20">
  45. <el-form-item label="凭证来源说明" >
  46. <el-input v-model="form.sourcenote" placeholder="请输入凭证来源说明"></el-input>
  47. </el-form-item>
  48. </el-col>
  49. <el-col :span="20">
  50. <el-form-item label="备注" >
  51. <el-input v-model="form.remarks" placeholder="请输入备注"></el-input>
  52. </el-form-item>
  53. </el-col>
  54. </el-form>
  55. </el-row>
  56. <div class="dialog-footer">
  57. <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
  58. <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
  59. </div>
  60. </el-dialog>
  61. </div>
  62. </template>
  63. <script>
  64. export default {
  65. name: "edit",
  66. props:["data","btnType"],
  67. data(){
  68. return {
  69. dialogFormVisible:false,
  70. form:{
  71. sa_cashbillid:'',
  72. sys_enterpriseid:'',
  73. sa_accountclassid:'',
  74. type:1,
  75. amount:'',
  76. source:'',
  77. sourcenote:'',
  78. remarks:''
  79. },
  80. enterprises:[],
  81. accountclass:[],
  82. rules:{
  83. sys_enterpriseid:[
  84. { required: true, message: '未选择合作企业', trigger: 'change'},
  85. ],
  86. sa_accountclassid:[
  87. { required: true, message: '未选择营销账户类型', trigger: 'change'},
  88. ],
  89. amount:[
  90. { required: true, message: '支出金额不可为空', trigger: 'blur'},
  91. ],
  92. }
  93. }
  94. },
  95. methods:{
  96. onShow(){
  97. this.dialogFormVisible = true
  98. this.$store.dispatch('queryArealist')
  99. this.form = Object.assign({},this.form,this.data)
  100. console.log(this.form)
  101. this.enterprisesList()
  102. this.accountList(this.form.sa_accountclassid)
  103. console.log(this.form.sa_accountclassid)
  104. },
  105. onSubmit(){
  106. console.log(this.form)
  107. this.$refs['form'].validate(async (valid) => {
  108. if (!valid) return false
  109. const res = await this.$api.requested({
  110. "id": "20221009102803",
  111. "version":1,
  112. "content": this.form
  113. })
  114. this.tool.showMessage(res,()=>{
  115. this.$emit('onSuccess')
  116. this.$refs['form'].resetFields()
  117. this.dialogFormVisible = false
  118. })
  119. })
  120. },
  121. async enterprisesList(){
  122. const res = await this.$api.requested({
  123. "id": "20221008164103",
  124. "version":1,
  125. "content": {
  126. "where":{
  127. "condition":""
  128. }
  129. }
  130. })
  131. console.log(res)
  132. this.enterprises = res.data
  133. console.log(this.enterprises)
  134. },
  135. async accountList(id){
  136. const res = await this.$api.requested({
  137. "id": "20221008164203",
  138. "version":1,
  139. "content": {
  140. "sys_enterpriseid":id
  141. }
  142. })
  143. console.log(res)
  144. this.accountclass = res.data
  145. }
  146. },
  147. watch:{
  148. "form.sys_enterpriseid":function (val){
  149. console.log(val)
  150. this.accountList(val)
  151. }
  152. }
  153. }
  154. </script>
  155. <style scoped>
  156. </style>