add.vue 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. <template>
  2. <div>
  3. <el-button size="mini" type="primary" @click="dialogFormVisible = true">新 建</el-button>
  4. <el-drawer
  5. title="创建收入凭证"
  6. :visible.sync="dialogFormVisible"
  7. size="40%"
  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.rowindex">
  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: "add",
  91. components:{enterprise},
  92. data(){
  93. return {
  94. dialogFormVisible:false,
  95. visibleEnterprise:false,
  96. index:'',
  97. form:{
  98. sa_cashbillid:0,
  99. enterprisename:'',
  100. sys_enterpriseid:'',
  101. sa_accountclassid:'',
  102. type:1,
  103. amount:'',
  104. source:'',
  105. sourcenote:'',
  106. remarks:'',
  107. status:'新建',
  108. subclass:"",
  109. class:""
  110. },
  111. rules:{
  112. enterprisename:[
  113. { required: true, message: '未选择经销商', trigger: 'change'},
  114. ],
  115. sa_accountclassid:[
  116. { required: true, message: '未选择账户类型', trigger: 'change'},
  117. ],
  118. amount:[
  119. { required: true, message: '收入金额不可为空', trigger: 'blur'},
  120. ],
  121. },
  122. enterprises:[],
  123. accountclass:[],
  124. classData:[],
  125. subClass:[]
  126. }
  127. },
  128. methods:{
  129. onSubmit(){
  130. console.log(this.form)
  131. this.$refs['form'].validate(async (valid) => {
  132. if (!valid) return false
  133. const res = await this.$api.requested({
  134. "id": "20221009102803",
  135. "version":1,
  136. "content": this.form
  137. })
  138. this.tool.showMessage(res,()=>{
  139. this.$emit('onSuccess')
  140. this.onClose()
  141. })
  142. })
  143. },
  144. enterpriseList(){
  145. this.visibleEnterprise = true
  146. },
  147. /*经销商列表*/
  148. onEnterprise(data){
  149. this.visibleEnterprise = false
  150. console.log("企业信息",data)
  151. this.form.sys_enterpriseid = data.sys_enterpriseid
  152. this.form.enterprisename = data.enterprisename
  153. },
  154. /*账户类型*/
  155. async accountList(id){
  156. const res = await this.$api.requested({
  157. "classname": "sysmanage.develop.optiontype.optiontype",
  158. "method": "optiontypeselect",
  159. "content": {
  160. "pageNumber": 1,
  161. "pageSize": 20,
  162. "typename": "cashbillaccountclassselect",
  163. "parameter": {
  164. "sys_enterpriseid":id
  165. }
  166. }
  167. })
  168. console.log(res)
  169. this.accountclass = res.data
  170. },
  171. /*分类*/
  172. async classList(){
  173. const res = await this.$api.requested({
  174. "classname": "sysmanage.develop.optiontype.optiontype",
  175. "method": "optiontypeselect",
  176. "content": {
  177. "pageNumber": 1,
  178. "pageSize": 20,
  179. "typename": "cashbillrectype",
  180. "parameter": {
  181. }
  182. }
  183. })
  184. console.log("收入凭证分类",res)
  185. this.classData = res.data
  186. console.log(this.classData)
  187. },
  188. classChange(res){
  189. console.log("选择",res)
  190. console.log("明细",this.classData[res-1])
  191. this.form.class = this.classData[res-1].value
  192. this.subClass = this.classData[res-1].subvalues
  193. console.log("form",this.form)
  194. },
  195. onClose(){
  196. this.dialogFormVisible = false
  197. this.$refs['form'].resetFields()
  198. this.form ={
  199. sa_cashbillid:0,
  200. enterprisename:'',
  201. sys_enterpriseid:'',
  202. sa_accountclassid:'',
  203. type:1,
  204. amount:'',
  205. source:'',
  206. sourcenote:'',
  207. remarks:'',
  208. status:'新建',
  209. subclass:"",
  210. class:""
  211. }
  212. }
  213. },
  214. created() {
  215. this.classList()
  216. },
  217. watch:{
  218. "form.sys_enterpriseid":function (val){
  219. console.log(val)
  220. this.accountList(val)
  221. }
  222. }
  223. }
  224. </script>
  225. <style scoped>
  226. </style>