edit.vue 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. <template>
  2. <div>
  3. <el-button :disabled="data.status !== '新建'" size="mini" :type="data.status === '新建'?primary:text" @click="onShow">编 辑</el-button>
  4. <el-drawer
  5. title="编辑收入凭证"
  6. :visible.sync="dialogFormVisible"
  7. size="25%"
  8. direction="rtl"
  9. append-to-body
  10. @close="dialogFormVisible = false">
  11. <div class="drawer__panel">
  12. <el-row :gutter="20">
  13. <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
  14. <el-col :span="12">
  15. <el-form-item label="选择企业:" prop="enterprisename">
  16. <el-input v-model="form.enterprisename" placeholder="选择企业" @focus="enterpriseList"></el-input>
  17. </el-form-item>
  18. </el-col>
  19. <el-col :span="12" >
  20. <el-form-item label="账户类型:" prop="sa_accountclassid">
  21. <el-select v-model="form.sa_accountclassid" placeholder="请选择账户类型" style="width: 100%">
  22. <el-option
  23. v-for="item in accountclass"
  24. :key="item.sa_accountclassid"
  25. :label="item.accountname"
  26. :value="item.sa_accountclassid">
  27. </el-option>
  28. </el-select>
  29. </el-form-item>
  30. </el-col>
  31. <el-col :span="12">
  32. <el-form-item label="收入金额:" prop="amount">
  33. <el-input v-model="form.amount" placeholder="请输入收入金额"></el-input>
  34. </el-form-item>
  35. </el-col>
  36. <el-col :span="12">
  37. <el-form-item label="状态:" >
  38. <el-input v-model="form.status" disabled></el-input>
  39. </el-form-item>
  40. </el-col>
  41. <el-col :span="12">
  42. <el-form-item label="分类:" >
  43. <el-select v-model="form.class" placeholder="请选择分类" style="width: 100%" @change="classChange">
  44. <el-option
  45. v-for="item in classData"
  46. :key="item.rowindex"
  47. :label="item.value"
  48. :value="item.value">
  49. </el-option>
  50. </el-select>
  51. </el-form-item>
  52. </el-col>
  53. <el-col :span="12">
  54. <el-form-item label="分类明细:" >
  55. <el-select v-model="form.subclass" placeholder="请选择分类明细" style="width: 100%">
  56. <el-option
  57. v-for="item in subClass"
  58. :key="item.rowindex"
  59. :label="item.value"
  60. :value="item.value">
  61. </el-option>
  62. </el-select>
  63. </el-form-item>
  64. </el-col>
  65. <el-col :span="24">
  66. <el-form-item label="备注:" >
  67. <el-input v-model="form.remarks" type="textarea" rows="5" placeholder="请输入备注信息"></el-input>
  68. </el-form-item>
  69. </el-col>
  70. </el-form>
  71. </el-row>
  72. </div>
  73. <div class="fixed__btn__panel">
  74. <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
  75. <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
  76. </div>
  77. </el-drawer>
  78. <enterprise
  79. :visible="visibleEnterprise"
  80. :index="index"
  81. :sa_projectid="form.sa_projectid"
  82. v-if="visibleEnterprise"
  83. @onEnterprise="onEnterprise">
  84. </enterprise>
  85. </div>
  86. </template>
  87. <script>
  88. import enterprise from '@/HDrpManagement/payvoucher/components/enterprise'
  89. export default {
  90. name: "edit",
  91. props:["data","btnType"],
  92. components:{enterprise},
  93. data(){
  94. return {
  95. dialogFormVisible:false,
  96. visibleEnterprise:false,
  97. primary:'primary',
  98. text:'',
  99. form:{},
  100. enterprises:[],
  101. accountclass:[],
  102. rules:{
  103. enterprisename:[
  104. { required: true, message: '未选择经销商', trigger: 'change'},
  105. ],
  106. sa_accountclassid:[
  107. { required: true, message: '未选择账户类型', trigger: 'change'},
  108. ],
  109. amount:[
  110. { required: true, message: '收入金额不可为空', trigger: 'blur'},
  111. ],
  112. },
  113. classData:[],
  114. subClass:[]
  115. }
  116. },
  117. methods:{
  118. onShow(){
  119. this.dialogFormVisible = true
  120. console.log(this.data)
  121. this.form = this.data
  122. },
  123. onSubmit(){
  124. console.log(this.form)
  125. this.$refs['form'].validate(async (valid) => {
  126. if (!valid) return false
  127. const res = await this.$api.requested({
  128. "id": "20221009102803",
  129. "version":1,
  130. "content": this.form
  131. })
  132. this.tool.showMessage(res,()=>{
  133. this.$emit('onSuccess')
  134. this.$refs['form'].resetFields()
  135. this.dialogFormVisible = false
  136. })
  137. })
  138. },
  139. enterpriseList(){
  140. this.visibleEnterprise = true
  141. },
  142. /*经销商列表*/
  143. onEnterprise(data){
  144. this.visibleEnterprise = false
  145. console.log("企业信息",data)
  146. this.form.sys_enterpriseid = data.sys_enterpriseid
  147. this.form.enterprisename = data.enterprisename
  148. },
  149. /*账户类型*/
  150. async accountList(id){
  151. const res = await this.$api.requested({
  152. "classname": "sysmanage.develop.optiontype.optiontype",
  153. "method": "optiontypeselect",
  154. "content": {
  155. "pageNumber": 1,
  156. "pageSize": 20,
  157. "typename": "cashbillaccountclassselect",
  158. "parameter": {
  159. "sys_enterpriseid":id
  160. }
  161. }
  162. })
  163. console.log(res)
  164. this.accountclass = res.data
  165. },
  166. /*分类*/
  167. async classList(){
  168. const res = await this.$api.requested({
  169. "classname": "sysmanage.develop.optiontype.optiontype",
  170. "method": "optiontypeselect",
  171. "content": {
  172. "pageNumber": 1,
  173. "pageSize": 20,
  174. "typename": "cashbillpaytype",
  175. "parameter": {
  176. }
  177. }
  178. })
  179. console.log("支出凭证分类",res)
  180. this.classData = res.data
  181. console.log(this.classData)
  182. },
  183. classChange(res){
  184. console.log("选择",res)
  185. console.log("明细",this.classData[res-1])
  186. this.form.class = this.classData[res-1].value
  187. this.subClass = this.classData[res-1].subvalues
  188. console.log("form",this.form)
  189. }
  190. },
  191. created() {
  192. this.classList()
  193. this.form = this.data
  194. },
  195. watch:{
  196. "form.sys_enterpriseid":function (val){
  197. console.log(val)
  198. this.accountList(val)
  199. }
  200. }
  201. }
  202. </script>
  203. <style scoped>
  204. </style>