add.vue 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. <template>
  2. <!--上级企业 负责人-->
  3. <div>
  4. <el-button size="small" type="primary" @click="dialogFormVisible = true">新 建</el-button>
  5. <el-drawer
  6. direction="rtl"
  7. append-to-body
  8. title="创建公海客户"
  9. :show-close="false"
  10. :visible.sync="dialogFormVisible"
  11. @close="onClose"
  12. size="30%">
  13. <div class="drawer__panel">
  14. <el-row :gutter="20">
  15. <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
  16. <el-col :span="12">
  17. <el-form-item label="客户名称:" prop="enterprisename">
  18. <el-input v-model="form.enterprisename" placeholder="客户名称"></el-input>
  19. </el-form-item>
  20. </el-col>
  21. <el-col :span="12">
  22. <el-form-item label="客户类型:" prop="type">
  23. <el-select v-model="form.type" placeholder="请选择客户类型" size="small">
  24. <el-option
  25. v-for="item in customerType()"
  26. :key="item.value"
  27. :label="item.value"
  28. :value="item.value">
  29. <span style="float: left">{{ item.value }}</span>
  30. <span v-if="item.remarks !== ''" style="float: right; color: #8492a6; font-size: 10px">{{ item.remarks }}</span>
  31. </el-option>
  32. </el-select>
  33. </el-form-item>
  34. </el-col>
  35. <el-col :span="12">
  36. <el-form-item label="客户来源:" prop="source">
  37. <el-input v-model="form.source" placeholder="客户来源"></el-input>
  38. </el-form-item>
  39. </el-col>
  40. <el-col :span="12">
  41. <el-form-item label="客户等级:" prop="grade">
  42. <el-select v-model="form.grade" placeholder="请选择客户等级" size="small">
  43. <el-option
  44. v-for="item in customerLead()"
  45. :key="item.rowindex"
  46. :label="item.value"
  47. :value="item.rowindex">
  48. </el-option>
  49. </el-select>
  50. </el-form-item>
  51. </el-col>
  52. <el-col :span="12">
  53. <el-form-item label="详细地址:" prop="address">
  54. <el-input v-model="form.address" placeholder="详细地址"></el-input>
  55. </el-form-item>
  56. </el-col>
  57. <el-col :span="12">
  58. <el-form-item label="企业简称:" prop="abbreviation">
  59. <el-input v-model="form.abbreviation" placeholder="企业简称"></el-input>
  60. </el-form-item>
  61. </el-col>
  62. <el-col :span="12">
  63. <el-form-item label="税号:" prop="taxno">
  64. <el-input v-model="form.taxno" placeholder="税号"></el-input>
  65. </el-form-item>
  66. </el-col>
  67. <el-col :span="12">
  68. <el-form-item label="所属行业:" prop="industry">
  69. <el-input v-model="form.industry" placeholder="所属行业"></el-input>
  70. </el-form-item>
  71. </el-col>
  72. <el-col :span="12">
  73. <el-form-item label="联系人:" prop="contact">
  74. <el-input v-model="form.contact" placeholder="联系人"></el-input>
  75. </el-form-item>
  76. </el-col>
  77. <el-col :span="12">
  78. <el-form-item label="联系电话:" prop="phonenumber">
  79. <el-input v-model="form.phonenumber" placeholder="联系电话"></el-input>
  80. </el-form-item>
  81. </el-col>
  82. <el-col :span="12">
  83. <el-form-item label="省市县:" prop="province">
  84. <el-cascader
  85. size="small"
  86. v-model="form.province"
  87. :options="arealist()"
  88. @change="cascaderChange"
  89. ref="cascader">
  90. </el-cascader>
  91. </el-form-item>
  92. </el-col>
  93. <el-col :span="12">
  94. <el-form-item label="公海池:" prop="sa_customerpoolid">
  95. <el-select v-model="form.sa_customerpoolid" placeholder="请选择公海池" size="small">
  96. <el-option
  97. v-for="item in publicList()"
  98. :key="item.sa_customerpoolid"
  99. :label="item.poolname"
  100. :value="item.sa_customerpoolid">
  101. </el-option>
  102. </el-select>
  103. </el-form-item>
  104. </el-col>
  105. </el-form>
  106. </el-row>
  107. </div>
  108. <div class="fixed__btn__panel">
  109. <el-button size="small" @click="onClose" class="normal-btn-width">取 消</el-button>
  110. <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
  111. </div>
  112. </el-drawer>
  113. </div>
  114. </template>
  115. <script>
  116. export default {
  117. name: "add",
  118. inject:['customerLead','customerType','arealist','publicList'],
  119. data(){
  120. return {
  121. dialogFormVisible:false,
  122. isordercheck:true,
  123. isusedcheck:false,
  124. form:{
  125. "sa_customersid": 0,//新增是传0
  126. "parentid": 0, //上级客户ID,默认或没有上级的时候传0
  127. "sys_enterpriseid": 0, //合作企业档案ID,新增是传0,更新
  128. "enterprisename":"",//客户名称(企业名称)
  129. "type": "", //客户类型
  130. "sa_customerpoolid": '', //客户池(公海池)ID,默认或没有的时候传0
  131. "source": "", //客户来源
  132. "province":"",//非必填,可选
  133. "city":"",//非必填,可选
  134. "county":"",//非必填,可选
  135. "address":"",//非必填,可选
  136. "abbreviation":"",//非必填,可选
  137. "taxno":"",//税号,非必填,可选
  138. "grade":'',// 客户等级(商户等级)
  139. "industry":"",//非必填,可选,所属行业
  140. "contact":"",//非必填,可选
  141. "phonenumber":""//非必填,可选
  142. },
  143. rules:{
  144. enterprisename:[
  145. { required: true, message: '输入客户名称', trigger: 'blur'},
  146. ],
  147. type: [
  148. { required: true, message: '还未选择客户类型', trigger: 'change' },
  149. ],
  150. source:[
  151. { required: false, message: '请填写客户来源', trigger: 'blur'}
  152. ],
  153. sa_customerpoolid:[
  154. { required: true, message: '请选择公海池', trigger: 'blur'}
  155. ]
  156. }
  157. }
  158. },
  159. methods:{
  160. onSubmit(){
  161. this.$refs['form'].validate(async (valid) => {
  162. if (!valid) return false
  163. if (this.form.province) {
  164. this.form.city = this.form.province[1]
  165. this.form.county = this.form.province[2]
  166. this.form.province = this.form.province[0]
  167. }
  168. const res = await this.$api.requested({
  169. "id": "20221010164302",
  170. "version":1,
  171. "content": this.form
  172. })
  173. this.tool.showMessage(res,()=>{
  174. this.$emit('onSuccess')
  175. this.$refs['form'].resetFields();
  176. this.form = {
  177. "sa_customersid": 0,//新增是传0
  178. "parentid": 0, //上级客户ID,默认或没有上级的时候传0
  179. "sys_enterpriseid": 0, //合作企业档案ID,新增是传0,更新
  180. "enterprisename":"",//客户名称(企业名称)
  181. "type": "", //客户类型
  182. "sa_customerpoolid": '', //客户池(公海池)ID,默认或没有的时候传0
  183. "source": "", //客户来源
  184. "province":"",//非必填,可选
  185. "city":"",//非必填,可选
  186. "county":"",//非必填,可选
  187. "address":"",//非必填,可选
  188. "abbreviation":"",//非必填,可选
  189. "taxno":"",//税号,非必填,可选
  190. "grade":'',// 客户等级(商户等级)
  191. "industry":"",//非必填,可选,所属行业
  192. "contact":"",//非必填,可选
  193. "phonenumber":""//非必填,可选
  194. }
  195. this.dialogFormVisible = false
  196. this.$router.push({path:'/PublicCustomerDetail',query:{id:res.data.sa_customersid,rowindex:0}})
  197. this.$store.dispatch('changeDetailDrawer',true)
  198. })
  199. })
  200. },
  201. onClose(){
  202. this.$refs['form'].resetFields();
  203. this.form = {
  204. "sa_customersid": 0,//新增是传0
  205. "parentid": 0, //上级客户ID,默认或没有上级的时候传0
  206. "sys_enterpriseid": 0, //合作企业档案ID,新增是传0,更新
  207. "enterprisename":"",//客户名称(企业名称)
  208. "type": "", //客户类型
  209. "sa_customerpoolid": '', //客户池(公海池)ID,默认或没有的时候传0
  210. "source": "", //客户来源
  211. "province":"",//非必填,可选
  212. "city":"",//非必填,可选
  213. "county":"",//非必填,可选
  214. "address":"",//非必填,可选
  215. "abbreviation":"",//非必填,可选
  216. "taxno":"",//税号,非必填,可选
  217. "grade":'',// 客户等级(商户等级)
  218. "industry":"",//非必填,可选,所属行业
  219. "contact":"",//非必填,可选
  220. "phonenumber":""//非必填,可选
  221. }
  222. },
  223. cascaderChange() {
  224. }
  225. }
  226. }
  227. </script>
  228. <style scoped>
  229. /deep/.el-select,.el-cascader {
  230. width: 100%;
  231. }
  232. </style>