customer-add-or-update.vue 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <template>
  2. <el-dialog
  3. :title="!id ? '新增' : '修改'"
  4. :close-on-click-modal="false"
  5. :visible.sync="visible">
  6. <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="100px">
  7. <h4>基础信息</h4>
  8. <el-form-item label="客户名称" prop="customerName">
  9. <el-input v-model="dataForm.customerName" placeholder="客户名称"></el-input>
  10. </el-form-item>
  11. <el-form-item label="客户级别" prop="level">
  12. <el-select
  13. v-model="dataForm.level"
  14. remote
  15. placeholder="请选择">
  16. <el-option
  17. v-for="item in options"
  18. :key="item.value"
  19. :label="item.label"
  20. :value="item.value">
  21. </el-option>
  22. </el-select>
  23. </el-form-item>
  24. <el-form-item label="详细地址" prop="address">
  25. <el-input v-model="dataForm.address" placeholder="详细地址"></el-input>
  26. </el-form-item>
  27. <el-form-item label="电话" prop="tel">
  28. <el-input v-model="dataForm.tel" placeholder="电话"></el-input>
  29. </el-form-item>
  30. <el-form-item label="邮编">
  31. <el-input v-model="dataForm.zipCode" placeholder="邮编"></el-input>
  32. </el-form-item>
  33. <el-form-item label="传真">
  34. <el-input v-model="dataForm.fax" placeholder="传真"></el-input>
  35. </el-form-item>
  36. <el-form-item label="网址">
  37. <el-input v-model="dataForm.url" placeholder="网址"></el-input>
  38. </el-form-item>
  39. <el-form-item label="公司简介">
  40. <el-input v-model="dataForm.introduction" type="textarea" placeholder="公司简介"></el-input>
  41. </el-form-item>
  42. <h4>业务联系人</h4>
  43. <el-form-item label="联系人" prop="contact">
  44. <el-input v-model="dataForm.contact" placeholder="联系人"></el-input>
  45. </el-form-item>
  46. <el-form-item label="手机号码" prop="contactTel">
  47. <el-input v-model="dataForm.contactTel" placeholder="手机号码"></el-input>
  48. </el-form-item>
  49. <el-form-item label="职位">
  50. <el-input v-model="dataForm.contactPosition" placeholder="职位"></el-input>
  51. </el-form-item>
  52. <el-form-item label="邮箱">
  53. <el-input v-model="dataForm.contactEmail" placeholder="邮箱"></el-input>
  54. </el-form-item>
  55. <el-form-item label="对接业务员" prop="bizManager">
  56. <el-input v-model="dataForm.bizManager" placeholder="对接业务员"></el-input>
  57. </el-form-item>
  58. <h4>财务信息</h4>
  59. <el-form-item label="企业税号" prop="taxNumber">
  60. <el-input v-model="dataForm.taxNumber" placeholder="企业税号"></el-input>
  61. </el-form-item>
  62. <el-form-item label="发票抬头" prop="invoiceTitle">
  63. <el-input v-model="dataForm.invoiceTitle" placeholder="发票抬头"></el-input>
  64. </el-form-item>
  65. <el-form-item label="开户银行" prop="bank">
  66. <el-input v-model="dataForm.bank" placeholder="开户银行"></el-input>
  67. </el-form-item>
  68. <el-form-item label="银行账号" prop="account">
  69. <el-input v-model="dataForm.account" placeholder="银行账号"></el-input>
  70. </el-form-item>
  71. <el-form-item label="单位地址" prop="billingAddr">
  72. <el-input v-model="dataForm.billingAddr" placeholder="单位地址"></el-input>
  73. </el-form-item>
  74. </el-form>
  75. <span slot="footer" class="dialog-footer">
  76. <el-button @click="visible = false">取消</el-button>
  77. <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
  78. </span>
  79. </el-dialog>
  80. </template>
  81. <script>
  82. export default {
  83. data () {
  84. return {
  85. visible: false,
  86. options: [
  87. {
  88. value: 'A',
  89. label: 'A'
  90. },
  91. {
  92. value: 'B',
  93. label: 'B'
  94. }
  95. ],
  96. id: 0,
  97. islook: false,
  98. dataForm: {
  99. account: '',
  100. address: '',
  101. bank: '',
  102. billingAddr: '',
  103. bizManager: '',
  104. contact: '',
  105. contactEmail: '',
  106. contactPosition: '',
  107. contactTel: '',
  108. customerName: '',
  109. customerType: 0,
  110. fax: '',
  111. introduction: '',
  112. invoiceTitle: '',
  113. level: '',
  114. taxNumber: '',
  115. tel: '',
  116. url: '',
  117. zipCode: ''
  118. },
  119. dataRule: {
  120. customerName: [{ required: true, message: '客户名称不能为空', trigger: 'blur' }],
  121. level: [{ required: true, message: '客户级别不能为空', trigger: 'blur' }],
  122. address: [{ required: true, message: '详细地址不能为空', trigger: 'blur' }],
  123. tel: [{ required: true, message: '电话不能为空', trigger: 'blur' }],
  124. contact: [{ required: true, message: '联系人不能为空', trigger: 'blur' }],
  125. contactTel: [{ required: true, message: '手机号码不能为空', trigger: 'blur' }],
  126. bizManager: [{ required: true, message: '对接业务员不能为空', trigger: 'blur' }],
  127. taxNumber: [{ required: true, message: '企业税号不能为空', trigger: 'blur' }],
  128. invoiceTitle: [{ required: true, message: '发票抬头不能为空', trigger: 'blur' }],
  129. bank: [{ required: true, message: '开户银行不能为空', trigger: 'blur' }],
  130. account: [{ required: true, message: '银行账号不能为空', trigger: 'blur' }],
  131. billingAddr: [{ required: true, message: '单位地址不能为空', trigger: 'blur' }]
  132. }
  133. }
  134. },
  135. methods: {
  136. init (id) {
  137. this.id = id || 0
  138. this.visible = true
  139. if (this.id) {
  140. this.$http({
  141. url: this.$http.adornUrl(`/biz-service/cusCustomer/info/${this.id}`),
  142. method: 'get',
  143. params: this.$http.adornParams()
  144. }).then(({data}) => {
  145. if (data && data.code === '200') {
  146. this.dataForm = data.data
  147. }
  148. })
  149. }
  150. },
  151. // 表单提交
  152. dataFormSubmit () {
  153. this.$refs['dataForm'].validate((valid) => {
  154. if (valid) {
  155. this.$http({
  156. url: this.$http.adornUrl(`/user-service/user/${!this.id ? 'save' : 'update'}`),
  157. method: 'post',
  158. data: this.$http.adornData(this.dataForm)
  159. }).then(({data}) => {
  160. if (data && data.code === '200') {
  161. this.$message({
  162. message: '操作成功',
  163. type: 'success',
  164. duration: 1500,
  165. onClose: () => {
  166. this.visible = false
  167. this.$emit('refreshDataList')
  168. }
  169. })
  170. } else {
  171. this.$message.error(data.msg)
  172. }
  173. })
  174. }
  175. })
  176. },
  177. validateField (type) {
  178. this.$refs.dataForm.validateField(type)
  179. }
  180. }
  181. }
  182. </script>