edit.vue 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <template>
  2. <div>
  3. <el-button :disabled="disabled" size="mini" type="primary" @click="editBtn">编 辑</el-button>
  4. <el-dialog :visible.sync="drawer2" title="选择财务信息" append-to-body width="50%">
  5. <el-table
  6. ref="multipleTable"
  7. :data="moneyInfo"
  8. style="width: 100%"
  9. size="mini"
  10. border>
  11. <el-table-column
  12. prop="bank"
  13. label="银行"
  14. width="180">
  15. </el-table-column>
  16. <el-table-column
  17. prop="bankcardno"
  18. label="银行编号"
  19. width="180">
  20. </el-table-column>
  21. <el-table-column
  22. prop="enterprisename"
  23. label="经销商"
  24. width="150">
  25. </el-table-column>
  26. <el-table-column
  27. prop="phonenumber"
  28. label="手机号"
  29. width="150">
  30. </el-table-column>
  31. <el-table-column
  32. prop="address"
  33. label="地址">
  34. </el-table-column>
  35. <el-table-column
  36. label="操作"
  37. width="90"
  38. fixed="right">
  39. <template slot-scope="scope">
  40. <el-button type="text" size="small" @click="selectInfoRow(scope.row)">选 择</el-button>
  41. </template>
  42. </el-table-column>
  43. </el-table>
  44. <div class="dialog-footer" style="margin-top:20px">
  45. <el-button size="small" @click="drawer2=false" class="normal-btn-width">取 消</el-button>
  46. <el-button size="small" type="warning" class="normal-btn-width btn-warning">确 定</el-button>
  47. </div>
  48. </el-dialog>
  49. <el-drawer title="新建打款凭证" append-to-body :visible.sync="dialogFormVisible" size="30%">
  50. <div class="drawer__panel">
  51. <el-row :gutter="20">
  52. <el-form :model="form" :rules="rules" ref="form" label-width="100px" label-position="right" size="mini">
  53. <el-col :span="24">
  54. <el-form-item label="经销商:" prop="enterprisename">
  55. <el-popover
  56. placement="bottom"
  57. trigger="click"
  58. v-model="visible">
  59. <selectAgentInfo ref="UseAgent" @selectRow="selectRow"></selectAgentInfo>
  60. <el-input readonly slot="reference" v-model="form.enterprisename" suffix-icon="el-icon-arrow-down" placeholder="经销商"></el-input>
  61. </el-popover>
  62. </el-form-item>
  63. </el-col>
  64. <el-col :span="24">
  65. <el-form-item label="付款人:" prop="payer">
  66. <el-input readonly v-model="form.payer" placeholder="付款人"></el-input>
  67. </el-form-item>
  68. </el-col>
  69. <el-col :span="24">
  70. <el-form-item label="银行账号:" prop="bankcardno">
  71. <el-input readonly v-model="form.bankcardno" placeholder="银行账号"></el-input>
  72. </el-form-item>
  73. </el-col>
  74. <el-col :span="24">
  75. <el-form-item label="银行:" prop="bank">
  76. <el-input readonly v-model="form.bank" placeholder="银行"></el-input>
  77. </el-form-item>
  78. </el-col>
  79. <el-col :span="24">
  80. <el-form-item label="付款时间:" prop="paydate">
  81. <el-date-picker
  82. v-model="form.paydate"
  83. type="date"
  84. value-format="yyyy-MM-dd"
  85. placeholder="付款时间">
  86. </el-date-picker>
  87. </el-form-item>
  88. </el-col>
  89. <el-col :span="24">
  90. <el-form-item label="打款总金额:" prop="amount">
  91. <el-input v-model="form.amount" placeholder="请输入打款总金额"></el-input>
  92. </el-form-item>
  93. </el-col>
  94. <el-col :span="24">
  95. <el-form-item label="转入银行:" prop="inbank">
  96. <el-input v-model="form.inbank" placeholder="转入银行"></el-input>
  97. </el-form-item>
  98. </el-col>
  99. <el-col :span="24">
  100. <el-form-item label="转入账号:" prop="inbankcardno">
  101. <el-input v-model="form.inbankcardno" placeholder="转入账号"></el-input>
  102. </el-form-item>
  103. </el-col>
  104. <el-col :span="24">
  105. <el-form-item label="备注:" prop="remarks">
  106. <el-input v-model="form.remarks" placeholder="备注"></el-input>
  107. </el-form-item>
  108. </el-col>
  109. </el-form>
  110. </el-row>
  111. </div>
  112. <div class="fixed__btn__panel">
  113. <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
  114. <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
  115. </div>
  116. </el-drawer>
  117. </div>
  118. </template>
  119. <script>
  120. import selectAgentInfo from '@/HDrpManagement/remitvoucher/components/selectAgentInfo'
  121. import selectTable from '@/components/selectTable/index'
  122. import remitDetail from "@/HDrpManagement/remitvoucher/modules/remitDetail"
  123. import Del from "@/HDrpManagement/remitvoucher/modules/delDetail"
  124. export default {
  125. props:['data','disabled'],
  126. name: "add",
  127. components: {selectAgentInfo,selectTable,remitDetail,Del},
  128. data(){
  129. return {
  130. dialogFormVisible:false,
  131. visible:false,
  132. drawer2:false,
  133. moneyInfo:[],
  134. list:[],
  135. tablecols:[],
  136. result:'',
  137. form:{
  138. "sa_paybillid": 0,
  139. "sys_enterpriseid": '',
  140. "payer": "",
  141. "paydate": "",
  142. "period": "",
  143. "amount": "",
  144. "remarks": "",
  145. "bank": "",
  146. "bankcardno": "",
  147. "inbankcardno":'',
  148. "inbank":'',
  149. "enterprisename":''
  150. },
  151. rules:{
  152. enterprisename:[
  153. { required: true, message: '请选择经销商', trigger: 'change'},
  154. ],
  155. payer:[
  156. { required: true, message: '付款人', trigger: 'blur'}
  157. ],
  158. paydate:[
  159. { required: true, message: '付款时间', trigger: 'blur'},
  160. ],
  161. bank:[
  162. { required: true, message: '银行', trigger: 'blur'}
  163. ],
  164. bankcardno:[
  165. { required: true, message: '银行编号', trigger: 'blur'},
  166. ],
  167. amount:[
  168. { required: true, message: '凭证总金额', trigger: 'blur'},
  169. ],
  170. }
  171. }
  172. },
  173. watch: {
  174. dialogFormVisible (val) {
  175. if (!val) {
  176. this.$refs.form.resetFields()
  177. }
  178. }
  179. },
  180. created () {
  181. this.tablecols = this.tool.tabelCol(this.$route.name).accountTable.tablecols.splice(0,3)
  182. },
  183. methods:{
  184. editBtn () {
  185. this.form = Object.assign({},this.form,this.data)
  186. this.dialogFormVisible = true
  187. },
  188. onSubmit(){
  189. this.$refs['form'].validate(async (valid) => {
  190. if (!valid) return false
  191. const res = await this.$api.requested({
  192. "id": "20221226153004",
  193. "version":1,
  194. "content": this.form
  195. })
  196. this.tool.showMessage(res,async ()=>{
  197. this.$emit('onSuccess')
  198. this.dialogFormVisible = false
  199. })
  200. })
  201. },
  202. selectRow (data) {
  203. this.form.enterprisename = data.enterprisename
  204. this.form.sys_enterpriseid = data.sys_enterpriseid
  205. this.visible = false
  206. console.log(data);
  207. this.queryMoneyInfo(data.sys_enterpriseid)
  208. },
  209. /* 获取财务信息 */
  210. async queryMoneyInfo (id) {
  211. let res = await this.$api.requested({
  212. "id": 20221013160602,
  213. "content": {
  214. "sys_enterpriseid":id,
  215. "pageNumber": 1,
  216. "pageSize": 20,
  217. "where": {
  218. "condition": ""
  219. }
  220. },
  221. })
  222. this.moneyInfo = res.data
  223. if (this.moneyInfo.length > 1) {
  224. this.drawer2 = true
  225. } else {
  226. this.form.payer = this.moneyInfo[0].enterprisename
  227. this.form.bank = this.moneyInfo[0].bank
  228. this.form.bankcardno = this.moneyInfo[0].bankcardno
  229. }
  230. },
  231. /* 选中财务信息 */
  232. selectInfoRow (data) {
  233. this.form.payer = data.enterprisename
  234. this.form.bank = data.bank
  235. this.form.bankcardno = data.bankcardno
  236. this.drawer2 = false
  237. },
  238. upDateData (data) {
  239. },
  240. }
  241. }
  242. </script>
  243. <style scoped>
  244. .dialog-footer {
  245. margin-top: 0;
  246. }
  247. </style>