edit.vue 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <template>
  2. <div>
  3. <el-button size="mini" type="text" @click="editBtn">编 辑</el-button>
  4. <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="60%">
  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="90px" label-position="left" size="mini">
  10. <el-col :span="12">
  11. <el-form-item label="客户名称" prop="enterprisename">
  12. <el-input v-model="form.enterprisename" placeholder="客户名称"></el-input>
  13. </el-form-item>
  14. </el-col>
  15. <el-col :span="12">
  16. <el-form-item label="客户类型" prop="type">
  17. <el-select v-model="form.type" placeholder="请选择客户类型" size="small">
  18. <el-option
  19. v-for="item in customerType()"
  20. :key="item.value"
  21. :label="item.value"
  22. :value="item.value">
  23. </el-option>
  24. </el-select>
  25. </el-form-item>
  26. </el-col>
  27. <el-col :span="12">
  28. <el-form-item label="客户来源" prop="source">
  29. <el-input v-model="form.source" placeholder="客户来源"></el-input>
  30. </el-form-item>
  31. </el-col>
  32. <el-col :span="12">
  33. <el-form-item label="客户等级" prop="grade">
  34. <el-select v-model="form.grade" placeholder="请选择客户等级" size="small">
  35. <el-option
  36. v-for="item in customerLead()"
  37. :key="item.rowindex"
  38. :label="item.value"
  39. :value="item.rowindex">
  40. </el-option>
  41. </el-select>
  42. </el-form-item>
  43. </el-col>
  44. <el-col :span="12">
  45. <el-form-item label="详细地址" prop="address">
  46. <el-input v-model="form.address" placeholder="详细地址"></el-input>
  47. </el-form-item>
  48. </el-col>
  49. <el-col :span="12">
  50. <el-form-item label="企业简称" prop="abbreviation">
  51. <el-input v-model="form.abbreviation" placeholder="企业简称"></el-input>
  52. </el-form-item>
  53. </el-col>
  54. <el-col :span="12">
  55. <el-form-item label="税号" prop="taxno">
  56. <el-input v-model="form.taxno" placeholder="税号"></el-input>
  57. </el-form-item>
  58. </el-col>
  59. <el-col :span="12">
  60. <el-form-item label="所属行业" prop="industry">
  61. <el-input v-model="form.industry" placeholder="所属行业"></el-input>
  62. </el-form-item>
  63. </el-col>
  64. <el-col :span="12">
  65. <el-form-item label="联系人" prop="contact">
  66. <el-input v-model="form.contact" placeholder="联系人"></el-input>
  67. </el-form-item>
  68. </el-col>
  69. <el-col :span="12">
  70. <el-form-item label="联系电话" prop="phonenumber">
  71. <el-input v-model="form.phonenumber" placeholder="联系电话"></el-input>
  72. </el-form-item>
  73. </el-col>
  74. <el-col :span="12">
  75. <el-form-item label="省市县" prop="province">
  76. <el-cascader
  77. size="small"
  78. v-model="form.province"
  79. :options="arealist()"
  80. @change="cascaderChange"
  81. ref="cascader">
  82. </el-cascader>
  83. </el-form-item>
  84. </el-col>
  85. </el-form>
  86. </el-row>
  87. <div class="dialog-footer">
  88. <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
  89. <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
  90. </div>
  91. </el-dialog>
  92. </div>
  93. </template>
  94. <script>
  95. export default {
  96. name: "add",
  97. inject:['customerLead','customerType','arealist'],
  98. data(){
  99. return {
  100. dialogFormVisible:false,
  101. isordercheck:true,
  102. isusedcheck:false,
  103. form:{
  104. "sa_customersid": 0,//新增是传0
  105. "parentid": 0, //上级客户ID,默认或没有上级的时候传0
  106. "sys_enterpriseid": 0, //合作企业档案ID,新增是传0,更新
  107. "enterprisename":"",//客户名称(企业名称)
  108. "type": "", //客户类型
  109. "sa_customerpoolid": 0, //客户池(公海池)ID,默认或没有的时候传0
  110. "source": "", //客户来源
  111. "province":"",//非必填,可选
  112. "city":"",//非必填,可选
  113. "county":"",//非必填,可选
  114. "address":"",//非必填,可选
  115. "abbreviation":"",//非必填,可选
  116. "taxno":"",//税号,非必填,可选
  117. "grade":'',// 客户等级(商户等级)
  118. "industry":"",//非必填,可选,所属行业
  119. "contact":"",//非必填,可选
  120. "phonenumber":""//非必填,可选
  121. },
  122. rules:{
  123. enterprisename:[
  124. { required: true, message: '输入客户名称', trigger: 'blur'},
  125. ],
  126. type:[
  127. { required: true, message: '请选择客户类型', trigger: 'blur'}
  128. ],
  129. source:[
  130. { required: true, message: '请填写客户来源', trigger: 'blur'}
  131. ],
  132. grade:[
  133. { required: true, message: '请选择客户等级', trigger: 'blur'}
  134. ]
  135. }
  136. }
  137. },
  138. props:['data'],
  139. methods:{
  140. editBtn () {
  141. this.dialogFormVisible = true
  142. this.form = Object.assign({},this.form,this.data)
  143. },
  144. onSubmit(){
  145. this.$refs['form'].validate(async (valid) => {
  146. if (!valid) return false
  147. if (this.form.province) {
  148. this.form.city = this.form.province[1]
  149. this.form.county = this.form.province[2]
  150. this.form.province = this.form.province[0]
  151. }
  152. const res = await this.$api.requested({
  153. "id": "20221010164302",
  154. "version":1,
  155. "content": this.form
  156. })
  157. this.tool.showMessage(res,()=>{
  158. this.$emit('onSuccess')
  159. this.$refs['form'].resetFields();
  160. this.dialogFormVisible = false
  161. })
  162. })
  163. },
  164. cascaderChange() {
  165. }
  166. }
  167. }
  168. </script>
  169. <style scoped>
  170. /deep/.el-select,.el-cascader {
  171. width: 100%;
  172. }
  173. </style>