order.vue 57 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362
  1. <template>
  2. <div class="app-container">
  3. <div class="title-container">
  4. <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
  5. </div>
  6. <el-tabs v-model="activeName" type="border-card">
  7. <el-tab-pane name="order" class="pane-class" :lazy=true>
  8. <span slot="label"><i class="el-icon-document"></i> 市场订单</span>
  9. <YDetailPageLayout ref="myPersonalOrder" @save="handleCreate" :editStatus="couldEdit"
  10. @doRecall="doRecall" :couldBack="couldBack">
  11. <el-form ref="personalForm" :model="personal" :rules="rules">
  12. <div class="createMajor-main-container">
  13. <div class="postInfo-container">
  14. <div>
  15. <el-divider content-position="left">
  16. <h3 class="title">
  17. <div class="avatar-wrapper icon-title">订单</div>
  18. <div class="icon-info">个贷订单</div>
  19. </h3>
  20. </el-divider>
  21. </div>
  22. <el-row class="row-style">
  23. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  24. <el-form-item
  25. label="客户经理:"
  26. prop="clientManager"
  27. :rules="{required: true, message: '客户经理不能为空', trigger: 'blur'}"
  28. label-width="120px"
  29. class="postInfo-container-item"
  30. >
  31. <el-input :value="personal.clientManager" class="filter-item" disabled />
  32. </el-form-item>
  33. </el-col>
  34. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  35. <el-form-item
  36. label="评估目的:"
  37. prop="evaluateAim"
  38. :rules="{required: true, message: '评估目的不能为空', trigger: 'blur'}"
  39. label-width="120px"
  40. class="postInfo-container-item"
  41. >
  42. <el-select v-model="personal.evaluateAim" placeholder="请选择" style="width: 100%" >
  43. <el-option label="按揭" value="按揭"></el-option>
  44. <el-option label="抵押" value="抵押"></el-option>
  45. <el-option label="咨询" value="咨询"></el-option>
  46. </el-select>
  47. </el-form-item>
  48. </el-col>
  49. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  50. <el-form-item
  51. label="房屋用途:"
  52. prop="purpose"
  53. label-width="160px"
  54. :rules="{required: true, message: '房屋用途不能为空', trigger: 'blur'}"
  55. class="postInfo-container-item"
  56. >
  57. <el-checkbox-group v-model="personal.purpose">
  58. <el-checkbox-button label="HOUSE" name="purpose">住宅</el-checkbox-button>
  59. <el-checkbox-button label="BUSINESS" name="purpose">商业</el-checkbox-button>
  60. <el-checkbox-button label="OFFICE" name="purpose">办公</el-checkbox-button>
  61. <el-checkbox-button label="INDUSTRIAL" name="purpose">工业</el-checkbox-button>
  62. <el-checkbox-button label="OTHER" name="purpose">其他</el-checkbox-button>
  63. </el-checkbox-group>
  64. </el-form-item>
  65. </el-col>
  66. </el-row>
  67. <el-row class="row-style">
  68. <el-col :xs="12" :sm="12" :lg="24" :span="6">
  69. <el-form-item
  70. label="坐落:"
  71. prop="location"
  72. :rules="{required: true, message: '坐落不能为空', trigger: 'blur'}"
  73. label-width="120px"
  74. class="postInfo-container-item"
  75. >
  76. <el-input v-model="personal.location" class="filter-item" style=" width: 100%" clearable/>
  77. </el-form-item>
  78. </el-col>
  79. </el-row>
  80. <el-row class="row-style">
  81. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  82. <el-form-item
  83. label="客户类型:"
  84. prop="clienteleType"
  85. :rules="{required: true, message: '客户类型不能为空', trigger: 'blur'}"
  86. label-width="120px"
  87. class="postInfo-container-item"
  88. >
  89. <el-select v-model="personal.clienteleType" placeholder="请选择" @change="changeCustomerType(0)" style="width: 100%">
  90. <el-option label="企业" value="企业"></el-option>
  91. <el-option label="个人" value="个人"></el-option>
  92. </el-select>
  93. </el-form-item>
  94. </el-col>
  95. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="personal.clienteleType==='企业'">
  96. <el-form-item
  97. label="客户名称:"
  98. prop="clienteleId"
  99. label-width="120px"
  100. :rules="{required: true, message: '客户名称不能为空', trigger: 'blur'}"
  101. class="postInfo-container-item"
  102. >
  103. <el-select style="width: 100%" v-model="personal.clienteleId" placeholder="请选择(可搜索)" @change="findSubClientele(0)" clearable filterable >
  104. <el-option v-for="(c,id) in customerCompany" :label="c.name" :value="c.id"></el-option>
  105. </el-select>
  106. </el-form-item>
  107. </el-col>
  108. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="personal.clienteleType==='企业'">
  109. <el-form-item
  110. label="业务来源:"
  111. prop="clienteleSubId"
  112. label-width="120px"
  113. :rules="{required: true, message: '业务来源不能为空', trigger: 'blur'}"
  114. class="postInfo-container-item"
  115. >
  116. <el-select v-if="couldEdit" style="width: 100%" v-model="personal.clienteleSubId" placeholder="请选择(可搜索)" @change="getCustomerContract" clearable filterable >
  117. <el-option v-for="(s,id) in subCustomerCompany" :label="s.name" :value="s.id"></el-option>
  118. </el-select>
  119. <el-input v-else :value="personal.clientSubName" class="filter-item" />
  120. </el-form-item>
  121. </el-col>
  122. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  123. <el-form-item
  124. label="客户联系人:"
  125. prop="clienteleContactId"
  126. :rules="{required: true, message: '客户联系人不能为空', trigger: 'blur'}"
  127. label-width="140px"
  128. class="postInfo-container-item"
  129. >
  130. <div v-if="couldEdit">
  131. <el-select style="width: 80%" v-model="personal.clienteleContactId" placeholder="请选择(可搜索)" clearable filterable @change="getContactInfo" >
  132. <el-option v-for="(c,id) in customerContract" :label="c.name" :value="c.id"></el-option>
  133. </el-select>
  134. <el-tooltip class="item" effect="dark" content="没有联系人?点击新增" placement="top-end">
  135. <span style="margin-left:5%;color:RGB(64,158,255);cursor:pointer" @click="createLinkman(false)">新增</span>
  136. </el-tooltip>
  137. </div>
  138. <el-input :value="personal.contactName" class="filter-item" v-else/>
  139. </el-form-item>
  140. </el-col>
  141. </el-row>
  142. <el-row class="row-style">
  143. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  144. <el-form-item
  145. label="联系人电话:"
  146. prop="clienteleContactId"
  147. label-width="120px"
  148. class="postInfo-container-item"
  149. >
  150. <el-input :value="personal.contactTel" class="filter-item" disabled/>
  151. </el-form-item>
  152. </el-col>
  153. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  154. <el-form-item
  155. label="联系人部门:"
  156. prop="clienteleContactId"
  157. label-width="120px"
  158. class="postInfo-container-item"
  159. >
  160. <el-input :value="personal.cdepartment" class="filter-item" disabled/>
  161. </el-form-item>
  162. </el-col>
  163. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  164. <el-form-item
  165. label="联系人职务:"
  166. prop="clienteleContactId"
  167. label-width="120px"
  168. class="postInfo-container-item"
  169. >
  170. <el-input :value="personal.cduty" class="filter-item" disabled/>
  171. </el-form-item>
  172. </el-col>
  173. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  174. <el-form-item
  175. label="中介:"
  176. prop="agent"
  177. label-width="120px"
  178. class="postInfo-container-item"
  179. >
  180. <el-input v-model="personal.agent" clearable class="filter-item" />
  181. </el-form-item>
  182. </el-col>
  183. </el-row>
  184. <el-row class="row-style">
  185. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  186. <el-form-item
  187. label="贷款性质:"
  188. prop="loanNature"
  189. label-width="120px"
  190. class="postInfo-container-item"
  191. >
  192. <el-input v-model="personal.loanNature" clearable class="filter-item" />
  193. </el-form-item>
  194. </el-col>
  195. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  196. <el-form-item
  197. label="贷款用途:"
  198. prop="loanAim"
  199. label-width="120px"
  200. class="postInfo-container-item"
  201. >
  202. <el-input v-model="personal.loanAim" clearable class="filter-item" />
  203. </el-form-item>
  204. </el-col>
  205. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  206. <el-form-item
  207. label="贷款额度:"
  208. prop="loanLimit"
  209. label-width="120px"
  210. :rules="{required: true, message: '贷款额度不能为空', trigger: 'blur'}"
  211. class="postInfo-container-item"
  212. >
  213. <el-input v-model="personal.loanLimit" clearable class="filter-item" >
  214. <template slot="append">万元</template>
  215. </el-input>
  216. </el-form-item>
  217. </el-col>
  218. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  219. <el-form-item
  220. label="贷款期限:"
  221. prop="loanPeriod"
  222. label-width="120px"
  223. class="postInfo-container-item"
  224. >
  225. <el-input v-model="personal.loanPeriod" clearable class="filter-item" >
  226. <template slot="append">年</template>
  227. </el-input>
  228. </el-form-item>
  229. </el-col>
  230. </el-row>
  231. <el-row class="row-style">
  232. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  233. <el-form-item
  234. label="贷款是否到期:"
  235. prop="loanExpire"
  236. label-width="140px"
  237. class="postInfo-container-item"
  238. >
  239. <el-radio v-model="personal.loanExpire" :label="false" border size="medium" >否</el-radio>
  240. <el-radio v-model="personal.loanExpire" :label="true" border size="medium" >是</el-radio>
  241. </el-form-item>
  242. </el-col>
  243. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  244. <el-form-item
  245. label="资料说明:"
  246. prop="credentials"
  247. label-width="120px"
  248. class="postInfo-container-item"
  249. >
  250. <el-checkbox-group v-model="personal.credentials" >
  251. <el-checkbox-button label="HOUSE_CERTIFICATE" name="credentials">房产证</el-checkbox-button>
  252. <el-checkbox-button label="LAND_CERTIFICATE" name="credentials">国土证</el-checkbox-button>
  253. <el-checkbox-button label="IMMOVABLE_CERTIFICATE" name="credentials">不动产权证</el-checkbox-button>
  254. </el-checkbox-group>
  255. </el-form-item>
  256. </el-col>
  257. </el-row>
  258. <el-row class="row-style">
  259. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  260. <el-form-item
  261. label="委托人1:"
  262. prop="bailorA"
  263. label-width="120px"
  264. class="postInfo-container-item"
  265. >
  266. <el-input v-model="personal.bailorA" clearable class="filter-item" />
  267. </el-form-item>
  268. </el-col>
  269. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  270. <el-form-item
  271. label="委托人1电话:"
  272. prop="bailoraTel"
  273. label-width="120px"
  274. class="postInfo-container-item"
  275. >
  276. <el-input v-model.trim="personal.bailoraTel" clearable class="filter-item" />
  277. </el-form-item>
  278. </el-col>
  279. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  280. <el-form-item
  281. label="委托人2:"
  282. prop="bailorB"
  283. label-width="120px"
  284. class="postInfo-container-item"
  285. >
  286. <el-input v-model="personal.bailorB" clearable class="filter-item" />
  287. </el-form-item>
  288. </el-col>
  289. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  290. <el-form-item
  291. label="委托人2电话:"
  292. prop="bailorbTel"
  293. label-width="120px"
  294. class="postInfo-container-item"
  295. >
  296. <el-input v-model.trim="personal.bailorbTel" clearable class="filter-item" />
  297. </el-form-item>
  298. </el-col>
  299. </el-row>
  300. <el-row class="row-style">
  301. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  302. <el-form-item
  303. label="终端客户类型:"
  304. prop="terminalClienteleType"
  305. label-width="140px"
  306. class="postInfo-container-item"
  307. >
  308. <el-select v-if="couldEdit" v-model="personal.terminalClienteleType" placeholder="请选择" clearable style="width: 100%" @change="changeCustomerType(1)">
  309. <el-option label="企业" value="企业"></el-option>
  310. <el-option label="个人" value="个人"></el-option>
  311. </el-select>
  312. <el-input v-else :value="personal.terminalClienteleType" class="filter-item" />
  313. </el-form-item>
  314. </el-col>
  315. <el-col :xs="24" :sm="12" :lg="12" :span="6" v-if="personal.terminalClienteleType">
  316. <el-form-item
  317. label="终端客户名称:"
  318. prop="terminalClienteleId"
  319. label-width="140px"
  320. :rules="{required: true, message: '终端客户名称不能为空', trigger: 'blur'}"
  321. class="postInfo-container-item"
  322. >
  323. <div v-if="couldEdit">
  324. <el-select style="width: 90%" v-model="personal.terminalClienteleId" placeholder="请选择(可搜索)" @change="findSubClientele(1)" clearable filterable >
  325. <el-option v-for="(c,id) in tCustomerCompany" :label="c.name" :value="c.id"></el-option>
  326. </el-select>
  327. <el-tooltip class="item" effect="dark" content="没有终端客户?点击新增" placement="top-end">
  328. <span style="margin-left:5%;color:RGB(64,158,255);cursor:pointer" @click="createTerminalClient()">新增</span>
  329. </el-tooltip>
  330. </div>
  331. <el-input :value="personal.tterminalClienteleName" class="filter-item" v-else/>
  332. </el-form-item>
  333. </el-col>
  334. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="personal.terminalClienteleType=='企业'">
  335. <el-form-item
  336. label="终端联系人:"
  337. prop="terminalClienteleContactId"
  338. label-width="140px"
  339. :rules="{required: true, message: '终端联系人不能为空', trigger: 'blur'}"
  340. class="postInfo-container-item"
  341. >
  342. <div v-if="couldEdit">
  343. <el-select style="width: 80%" v-model="personal.terminalClienteleContactId" placeholder="请选择(可搜索)" clearable filterable @change="getTcontactInfo">
  344. <el-option v-for="(c,id) in tCustomerContract" :label="c.name" :value="c.id"></el-option>
  345. </el-select>
  346. <el-tooltip class="item" effect="dark" content="没有联系人?点击新增" placement="top-end">
  347. <span style="margin-left:5%;color:RGB(64,158,255);cursor:pointer" @click="createTlinkman()">新增</span>
  348. </el-tooltip>
  349. </div>
  350. <el-input :value="personal.tterminalClienteleContactName" class="filter-item" v-else />
  351. </el-form-item>
  352. </el-col>
  353. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="personal.terminalClienteleType">
  354. <el-form-item
  355. label="终端联系电话:"
  356. prop="clienteleType"
  357. label-width="140px"
  358. class="postInfo-container-item"
  359. >
  360. <el-input :value="personal.tmobile" class="filter-item" disabled/>
  361. </el-form-item>
  362. </el-col>
  363. </el-row>
  364. <el-row class="row-style">
  365. <el-col :xs="24" :sm="12" :lg="23" :span="12">
  366. <el-form-item
  367. label="订单备注:"
  368. prop="remark"
  369. label-width="120px"
  370. class="postInfo-container-item"
  371. >
  372. <el-input v-model="personal.remark" :autosize="{ minRows: 4, maxRows: 4}" class="filter-item" type="textarea"/>
  373. </el-form-item>
  374. </el-col>
  375. </el-row>
  376. </div>
  377. </div>
  378. </el-form>
  379. </YDetailPageLayout>
  380. </el-tab-pane>
  381. </el-tabs>
  382. <el-dialog :visible.sync="createLinkmanVisible" width="70%" custom-class="createLinkman">
  383. <el-divider content-position="left">新增客户联系人</el-divider>
  384. <el-form ref="linkmanFrom" :model="linkmanFrom" :rules="rules">
  385. <el-row>
  386. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  387. <el-form-item
  388. label="客户类型:"
  389. prop="clienteleType"
  390. :rules="{required: true, message: '客户类型不能为空', trigger: 'blur'}"
  391. label-width="120px"
  392. class="postInfo-container-item"
  393. >
  394. <el-select v-model="linkmanFrom.clienteleType">
  395. <el-option label="企业" value="企业"></el-option>
  396. <el-option label="个人" value="个人"></el-option>
  397. </el-select>
  398. </el-form-item>
  399. </el-col>
  400. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="personal.clienteleType==='企业'">
  401. <el-form-item
  402. label="客户名称:"
  403. prop="clienteleId"
  404. :rules="{required: true, message: '客户名称不能为空', trigger: 'blur'}"
  405. label-width="120px"
  406. class="postInfo-container-item"
  407. >
  408. <el-select v-model="linkmanFrom.clienteleId" >
  409. <el-option v-for="(c,id) in customerCompany" :label="c.name" :value="c.id"></el-option>
  410. </el-select>
  411. </el-form-item>
  412. </el-col>
  413. <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="personal.clienteleType==='企业'">
  414. <el-form-item
  415. label="业务来源:"
  416. prop="clienteleSubId"
  417. :rules="{required: true, message: '业务来源不能为空', trigger: 'blur'}"
  418. label-width="120px"
  419. class="postInfo-container-item"
  420. >
  421. <el-select v-model="linkmanFrom.clienteleSubId">
  422. <el-option v-for="(s,id) in subCustomerCompany" :label="s.name" :value="s.id"></el-option>
  423. </el-select>
  424. </el-form-item>
  425. </el-col>
  426. </el-row>
  427. <el-row>
  428. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  429. <el-form-item
  430. label="联系人姓名:"
  431. prop="name"
  432. :rules="{required: true, message: '联系人姓名不能为空', trigger: 'blur'}"
  433. label-width="120px"
  434. class="postInfo-container-item"
  435. >
  436. <el-input v-model.trim="linkmanFrom.name" class="filter-item" />
  437. </el-form-item>
  438. </el-col>
  439. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  440. <el-form-item
  441. label="联系电话:"
  442. prop="mobile"
  443. label-width="120px"
  444. class="postInfo-container-item"
  445. >
  446. <el-input v-model.trim="linkmanFrom.mobile" class="filter-item" />
  447. </el-form-item>
  448. </el-col>
  449. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  450. <el-form-item
  451. label="性别:"
  452. prop="sex"
  453. label-width="120px"
  454. class="postInfo-container-item"
  455. >
  456. <el-select v-model=linkmanFrom.sex>
  457. <el-option label="男" value="男">男</el-option>
  458. <el-option label="女" value="女">女</el-option>
  459. </el-select>
  460. </el-form-item>
  461. </el-col>
  462. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  463. <el-form-item
  464. label="身份证号:"
  465. prop="idNo"
  466. label-width="120px"
  467. class="postInfo-container-item"
  468. >
  469. <el-input v-model.trim="linkmanFrom.idNo" class="filter-item" />
  470. </el-form-item>
  471. </el-col>
  472. </el-row>
  473. <el-row>
  474. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  475. <el-form-item
  476. label="微信号:"
  477. prop="wechatNo"
  478. label-width="120px"
  479. class="postInfo-container-item"
  480. >
  481. <el-input v-model.trim="linkmanFrom.wechatNo" class="filter-item" />
  482. </el-form-item>
  483. </el-col>
  484. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  485. <el-form-item
  486. label="QQ号:"
  487. prop="qqNo"
  488. label-width="120px"
  489. class="postInfo-container-item"
  490. >
  491. <el-input v-model.trim="linkmanFrom.qqNo" class="filter-item" />
  492. </el-form-item>
  493. </el-col>
  494. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  495. <el-form-item
  496. label="毕业院校:"
  497. prop="school"
  498. label-width="120px"
  499. class="postInfo-container-item"
  500. >
  501. <el-input v-model.trim="linkmanFrom.school" class="filter-item" />
  502. </el-form-item>
  503. </el-col>
  504. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  505. <el-form-item
  506. label="毕业专业:"
  507. prop="industry"
  508. label-width="120px"
  509. class="postInfo-container-item"
  510. >
  511. <el-input v-model.trim="linkmanFrom.industry" class="filter-item" />
  512. </el-form-item>
  513. </el-col>
  514. </el-row>
  515. <el-row>
  516. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  517. <el-form-item
  518. label="所在部门:"
  519. prop="department"
  520. label-width="120px"
  521. class="postInfo-container-item"
  522. >
  523. <el-input v-model.trim="linkmanFrom.department" class="filter-item" />
  524. </el-form-item>
  525. </el-col>
  526. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  527. <el-form-item
  528. label="职位:"
  529. prop="duty"
  530. label-width="120px"
  531. class="postInfo-container-item"
  532. >
  533. <el-input v-model.trim="linkmanFrom.duty" class="filter-item" />
  534. </el-form-item>
  535. </el-col>
  536. </el-row>
  537. <el-row>
  538. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  539. <el-form-item
  540. label="备注:"
  541. prop="description"
  542. label-width="120px"
  543. class="postInfo-container-item"
  544. >
  545. <el-input v-model.trim="linkmanFrom.description" class="filter-item" type="textarea" />
  546. </el-form-item>
  547. </el-col>
  548. </el-row>
  549. <el-button type="primary" @click="saveLinkman()" style="position:absolute;top:45px;right:20px">保存</el-button>
  550. </el-form>
  551. </el-dialog>
  552. <el-dialog :visible.sync="createTlinkmanVisible" width="70%" custom-class="createLinkman">
  553. <el-divider content-position="left">{{personal.terminalClienteleType==='企业'?'新增终端客户联系人':'新增终端客户'}}</el-divider>
  554. <el-form ref="tLinkmanFrom" :model="tLinkmanFrom" :rules="rules" >
  555. <el-row v-if="personal.terminalClienteleType==='企业'">
  556. <el-col :xs="24" :sm="12" :lg="12" :span="6">
  557. <el-form-item
  558. label="所属企业:"
  559. prop="ccId"
  560. label-width="120px"
  561. class="postInfo-container-item"
  562. >
  563. <el-select v-model="personal.terminalClienteleId" disabled readonly style="width:100%">
  564. <el-option v-for="(c,id) in tCustomerCompany" :label="c.name" :value="c.id"></el-option>
  565. </el-select>
  566. </el-form-item>
  567. </el-col>
  568. </el-row>
  569. <el-row>
  570. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  571. <el-form-item
  572. label="联系人姓名:"
  573. prop="name"
  574. :rules="{required: true, message: '联系人姓名不能为空', trigger: 'blur'}"
  575. label-width="140px"
  576. class="postInfo-container-item"
  577. >
  578. <el-input v-model.trim="tLinkmanFrom.name" class="filter-item" />
  579. </el-form-item>
  580. </el-col>
  581. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  582. <el-form-item
  583. label="联系电话:"
  584. prop="mobile"
  585. label-width="120px"
  586. class="postInfo-container-item"
  587. >
  588. <el-input v-model.trim="tLinkmanFrom.mobile" class="filter-item" />
  589. </el-form-item>
  590. </el-col>
  591. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  592. <el-form-item
  593. label="性别:"
  594. prop="sex"
  595. label-width="120px"
  596. class="postInfo-container-item"
  597. >
  598. <el-select v-model=tLinkmanFrom.sex>
  599. <el-option label="男" value="男">男</el-option>
  600. <el-option label="女" value="女">女</el-option>
  601. </el-select>
  602. </el-form-item>
  603. </el-col>
  604. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  605. <el-form-item
  606. label="身份证号:"
  607. prop="idNo"
  608. label-width="120px"
  609. class="postInfo-container-item"
  610. >
  611. <el-input v-model.trim="tLinkmanFrom.idNo" class="filter-item" />
  612. </el-form-item>
  613. </el-col>
  614. </el-row>
  615. <el-row>
  616. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  617. <el-form-item
  618. label="微信号:"
  619. prop="wechatNo"
  620. label-width="120px"
  621. class="postInfo-container-item"
  622. >
  623. <el-input v-model.trim="tLinkmanFrom.wechatNo" class="filter-item" />
  624. </el-form-item>
  625. </el-col>
  626. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  627. <el-form-item
  628. label="QQ号:"
  629. prop="qqNo"
  630. label-width="120px"
  631. class="postInfo-container-item"
  632. >
  633. <el-input v-model.trim="tLinkmanFrom.qqNo" class="filter-item" />
  634. </el-form-item>
  635. </el-col>
  636. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  637. <el-form-item
  638. label="毕业院校:"
  639. prop="school"
  640. label-width="120px"
  641. class="postInfo-container-item"
  642. >
  643. <el-input v-model.trim="tLinkmanFrom.school" class="filter-item" />
  644. </el-form-item>
  645. </el-col>
  646. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  647. <el-form-item
  648. label="毕业专业:"
  649. prop="industry"
  650. label-width="120px"
  651. class="postInfo-container-item"
  652. >
  653. <el-input v-model.trim="tLinkmanFrom.industry" class="filter-item" />
  654. </el-form-item>
  655. </el-col>
  656. </el-row>
  657. <el-row>
  658. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  659. <el-form-item
  660. label="所在部门:"
  661. prop="department"
  662. label-width="120px"
  663. class="postInfo-container-item"
  664. >
  665. <el-input v-model.trim="tLinkmanFrom.department" class="filter-item" />
  666. </el-form-item>
  667. </el-col>
  668. <el-col :xs="24" :sm="12" :lg="6" :span="6">
  669. <el-form-item
  670. label="职位:"
  671. prop="duty"
  672. label-width="120px"
  673. class="postInfo-container-item"
  674. >
  675. <el-input v-model.trim="tLinkmanFrom.duty" class="filter-item" />
  676. </el-form-item>
  677. </el-col>
  678. </el-row>
  679. <el-row>
  680. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  681. <el-form-item
  682. label="备注:"
  683. prop="description"
  684. label-width="120px"
  685. class="postInfo-container-item"
  686. >
  687. <el-input v-model.trim="tLinkmanFrom.description" class="filter-item" type="textarea" />
  688. </el-form-item>
  689. </el-col>
  690. </el-row>
  691. <el-button type="primary" @click="saveTlinkman()" style="position:absolute;top:45px;right:20px">保存</el-button>
  692. </el-form>
  693. </el-dialog>
  694. <el-dialog :visible.sync="createTerminalClientVisible" width="70%" custom-class="createLinkman">
  695. <el-divider content-position="left">新增终端客户</el-divider>
  696. <el-form ref="terminalClientFrom" :model="terminalClientFrom" :rules="rules" >
  697. <el-row>
  698. <el-col :xs="24" :sm="12" :lg="8" :span="6">
  699. <el-form-item
  700. label="客户名称:"
  701. prop="name"
  702. :rules="{required: true, message: '联系人姓名不能为空', trigger: 'blur'}"
  703. label-width="120px"
  704. class="postInfo-container-item"
  705. >
  706. <el-input v-model.trim="terminalClientFrom.name" class="filter-item" />
  707. </el-form-item>
  708. </el-col>
  709. <el-col :xs="24" :sm="12" :lg="8" :span="6">
  710. <el-form-item
  711. label="企业类型:"
  712. prop="companyType"
  713. :rules="{required: true, message: '联系电话不能为空', trigger: 'blur'}"
  714. label-width="120px"
  715. class="postInfo-container-item"
  716. >
  717. <el-input v-model.trim="terminalClientFrom.companyType" class="filter-item" />
  718. </el-form-item>
  719. </el-col>
  720. <el-col :xs="24" :sm="12" :lg="8" :span="6">
  721. <el-form-item
  722. label="联系电话:"
  723. prop="phone"
  724. :rules="{required: true, message: '联系电话不能为空', trigger: 'blur'}"
  725. label-width="120px"
  726. class="postInfo-container-item"
  727. >
  728. <el-input v-model.trim="terminalClientFrom.phone" class="filter-item" />
  729. </el-form-item>
  730. </el-col>
  731. </el-row>
  732. <el-row>
  733. <el-col :xs="24" :sm="12" :lg="24" :span="6">
  734. <el-form-item
  735. label="客户地址:"
  736. prop="address"
  737. label-width="120px"
  738. class="postInfo-container-item"
  739. >
  740. <el-input v-model.trim="terminalClientFrom.address" class="filter-item" />
  741. </el-form-item>
  742. </el-col>
  743. </el-row>
  744. <el-button type="primary" @click="saveClient()" style="position:absolute;top:45px;right:20px">保存</el-button>
  745. </el-form>
  746. </el-dialog>
  747. </div>
  748. </template>
  749. <script>
  750. import Breadcrumb from '@/components/Breadcrumb'
  751. import YDetailPageLayout from '@/components/YDetailPageLayout/index_detail'
  752. import {isNumber,phoneNumber,postiveInteger,isIdNumber} from '@/utils/validate'
  753. export default {
  754. name: 'personalDoOrder',
  755. components: {
  756. Breadcrumb,
  757. YDetailPageLayout,
  758. },
  759. watch:{
  760. 'personal.clienteleType'(nv,ov){
  761. if (nv=='个人'){
  762. let simpleAll = new Object();
  763. simpleAll.ccId = 1;
  764. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  765. if (res.code === 200){
  766. this.customerContract = res.data;
  767. }
  768. })
  769. }
  770. },
  771. 'personal.clienteleId'(nv,ov){
  772. let simpleAll = new Object();
  773. simpleAll.terminal=0;
  774. simpleAll.parentId= nv;
  775. this.$api.customerCompany.simpleAll(simpleAll).then(res=>{
  776. if (res.code === 200){
  777. this.subCustomerCompany = res.data;
  778. }
  779. })
  780. },
  781. 'personal.clienteleSubId'(nv,ov){
  782. let simpleAll = new Object();
  783. simpleAll.ccId = nv;
  784. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  785. if (res.code === 200){
  786. this.customerContract = res.data;
  787. }
  788. })
  789. },
  790. 'personal.terminalClienteleType'(nv,ov){
  791. if (nv=='企业'){
  792. this.getCustomerCompany(1);
  793. let simpleAll = new Object();
  794. simpleAll.terminal=1;
  795. simpleAll.ccId = this.personal.terminalClienteleId;
  796. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  797. if (res.code === 200){
  798. this.tCustomerContract =res.data;
  799. }
  800. })
  801. }else{
  802. let simpleAll = new Object();
  803. simpleAll.ccId = 2;
  804. simpleAll.terminal = 1;
  805. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  806. if (res.code === 200){
  807. this.tCustomerCompany = res.data;
  808. }
  809. })
  810. }
  811. }
  812. },
  813. computed: {
  814. },
  815. data() {
  816. return {
  817. rules:{
  818. loanLimit:[{required:true,message:"贷款额度不能为空",trigger:'blur'},{validator:isNumber,trigger:'blur'}],
  819. bailoraTel:[{validator:phoneNumber,trigger:'blur'}],
  820. bailorbTel:[{validator:phoneNumber,trigger:'blur'}],
  821. },
  822. activeName:'order',
  823. personal:{
  824. id:null,
  825. clientManagerId:this.$store.getters.userInfo.id,
  826. clientManager:this.$store.getters.userInfo.name,
  827. evaluateAim:null,
  828. purpose:[],
  829. location:null,
  830. clienteleType:'企业',
  831. clienteleId:null,
  832. cclienteleName:null,
  833. cclienteleSubName:null,
  834. agent:null,
  835. cclienteleContactName:null,
  836. cmobile:null,
  837. cdepartment:null,
  838. cduty:null,
  839. loanNature:null,
  840. loanAim:null,
  841. loanLimit:null,
  842. loanPeriod:null,
  843. loanExpire:false,
  844. credentials:[],
  845. bailorA:null,
  846. bailoraTel:null,
  847. bailorB:null,
  848. bailorbTel:null,
  849. terminalClienteleType:null,
  850. tterminalClienteleName:null,
  851. tterminalClienteleContactName:null,
  852. tmobile:null,
  853. remark:null,
  854. clienteleContactId:null,
  855. terminalClienteleId:null,
  856. terminalClienteleContactId:null
  857. },
  858. createLinkmanVisible:false,
  859. linkmanFrom:{
  860. clienteleType:null,
  861. clienteleSubId:null,
  862. clienteleId:null,
  863. ccId:null,
  864. name:null,
  865. mobile:null,
  866. phone:null,
  867. sex:null,
  868. idNo:null,
  869. wechatNo:null,
  870. qqNo:null,
  871. school:null,
  872. industry:null,
  873. department:null,
  874. duty:null,
  875. terminal:false,
  876. description:null
  877. },
  878. createTerminalClientVisible:false,
  879. terminalClientFrom:{
  880. name:null,
  881. companyType:null,
  882. address:null,
  883. phone:null,
  884. terminal:true
  885. },
  886. createTlinkmanVisible:false,
  887. tLinkmanFrom:{
  888. ccId:null,
  889. name:null,
  890. mobile:null,
  891. phone:null,
  892. sex:null,
  893. idNo:null,
  894. wechatNo:null,
  895. qqNo:null,
  896. school:null,
  897. industry:null,
  898. department:null,
  899. duty:null,
  900. terminal:false,
  901. description:null
  902. },
  903. customerCompany:[],
  904. subCustomerCompany:[],
  905. customerContract:[],
  906. tCustomerCompany:[],
  907. tSubCustomerCompany:[],
  908. tCustomerContract:[],
  909. saveOrderBtn:null,
  910. couldEdit:null
  911. }
  912. },
  913. created() {
  914. this.personal.id = this.$route.query.id
  915. this.couldEdit = this.$route.query.couldEdit ==='true';
  916. this.couldBack = this.$route.query.couldBack ==='true';
  917. this.getPersonal();
  918. this.getCustomerCompany(0);
  919. this.getCustomerCompany(1);
  920. },
  921. methods: {
  922. handleCreate(){
  923. this.$refs.personalForm.validate(valid => {
  924. if (valid) {
  925. this.personal.purpose = JSON.stringify(this.personal.purpose);
  926. this.personal.credentials = JSON.stringify(this.personal.credentials);
  927. if (this.personal.id) {
  928. this.$api.personal.edit(this.personal).then(res => {
  929. if (res.code === 200) {
  930. this.$notify({
  931. title: '成功',
  932. message: '保存成功',
  933. type: 'success',
  934. duration: 2000
  935. });
  936. const back = this.$route.query.back;
  937. if (back) {
  938. this.$router.push(back)
  939. }
  940. }
  941. })
  942. } else {
  943. this.$api.personal.add(this.personal).then(res => {
  944. if (res.code === 200) {
  945. if (res.data && res.data.instanceNodeId && res.data.state){
  946. this.$api.workflow.commit(res.data).then(result =>{
  947. if (result.code === 200 && result.data){
  948. this.$notify({
  949. title: '成功',
  950. message: '下单并提交流程成功',
  951. type: 'success',
  952. duration: 2000
  953. });
  954. }
  955. })
  956. }else{
  957. this.$notify({
  958. title: '成功',
  959. message: '下单成功,需要手动提交流程。',
  960. type: 'warning',
  961. duration: 2000
  962. });
  963. }
  964. const back = this.$route.query.back;
  965. if (back) {
  966. this.$router.push(back)
  967. }
  968. this.initData();
  969. }else{
  970. this.$notify({
  971. title: '失败',
  972. message: '下单失败,请稍后再试。',
  973. type: 'error',
  974. duration: 2000
  975. });
  976. }
  977. })
  978. }
  979. }
  980. })
  981. },
  982. changeCustomerType(val){
  983. if (val ===0){
  984. this.personal.contactTel = null;
  985. this.personal.cdepartment = null;
  986. this.personal.cduty = null;
  987. if (this.personal.clienteleId){
  988. this.personal.clienteleId = null;
  989. this.customerCompany=[];
  990. this.cmobile = null;
  991. }
  992. if (this.personal.clienteleSubId){
  993. this.personal.clienteleSubId = null;
  994. this.subCustomerCompany=[];
  995. this.cmobile = null;
  996. }
  997. if (this.personal.clienteleContactId){
  998. this.personal.clienteleContactId = null;
  999. this.customerContract =[];
  1000. this.cmobile = null;
  1001. }
  1002. if (this.personal.clienteleType==='个人'){
  1003. let simpleAll = new Object();
  1004. simpleAll.ccId = 1;
  1005. simpleAll.terminal = 0;
  1006. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  1007. if (res.code === 200){
  1008. this.customerContract = res.data;
  1009. if (this.personal.clienteleContactId){
  1010. this.personal.clienteleContactId = null;
  1011. this.cmobile = null;
  1012. }
  1013. }
  1014. })
  1015. }
  1016. if (this.personal.clienteleType==='企业'){
  1017. this.getCustomerCompany(0)
  1018. this.personal.clienteleContactId = null;
  1019. this.customerContract =[];
  1020. this.cmobile = null;
  1021. }
  1022. }else {
  1023. if (this.personal.terminalClienteleType==='个人'){
  1024. let simpleAll = new Object();
  1025. simpleAll.ccId = 2;
  1026. simpleAll.terminal = 1;
  1027. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  1028. if (res.code === 200){
  1029. this.tCustomerCompany = res.data;
  1030. if (this.personal.terminalClienteleId){
  1031. this.personal.terminalClienteleContactId = null
  1032. this.personal.terminalClienteleId = null
  1033. this.tCustomerContract =[];
  1034. this.personal.tmobile = null;
  1035. }
  1036. }
  1037. })
  1038. }
  1039. if (this.personal.terminalClienteleType==='企业'){
  1040. this.personal.terminalClienteleContactId = null
  1041. this.personal.terminalClienteleId = null;
  1042. this.personal.tmobile = null;
  1043. this.tCustomerContract =[];
  1044. this.getCustomerCompany(1)
  1045. }
  1046. if (this.personal.terminalClienteleType===''){
  1047. this.personal.terminalClienteleContactId = null;
  1048. this.personal.terminalClienteleId = null;
  1049. this.personal.tmobile = null;
  1050. this.tCustomerCompany= [];
  1051. this.tCustomerContract =[];
  1052. }
  1053. }
  1054. },
  1055. findSubClientele(val){
  1056. if (val===0){
  1057. this.personal.contactTel = null;
  1058. this.personal.cdepartment = null;
  1059. this.personal.cduty = null;
  1060. if (this.personal.clienteleId){
  1061. let simpleAll = new Object();
  1062. simpleAll.terminal=val;
  1063. simpleAll.parentId= this.personal.clienteleId;
  1064. this.$api.customerCompany.simpleAll(simpleAll).then(res=>{
  1065. if (res.code === 200){
  1066. this.subCustomerCompany = res.data;
  1067. if (this.personal.clienteleSubId){
  1068. this.personal.clienteleSubId = null
  1069. }
  1070. if (this.personal.clienteleContactId){
  1071. this.personal.clienteleContactId = null
  1072. this.customerContract =[];
  1073. }
  1074. }
  1075. })
  1076. }
  1077. }else {
  1078. if (this.personal.terminalClienteleType==='企业' && this.personal.terminalClienteleId){
  1079. let simpleAll = new Object();
  1080. simpleAll.terminal=val;
  1081. simpleAll.ccId = this.personal.terminalClienteleId;
  1082. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  1083. if (res.code === 200){
  1084. this.tCustomerContract =res.data;
  1085. }
  1086. this.personal.terminalClienteleContactId = null;
  1087. this.personal.tmobile = null;
  1088. })
  1089. }else{
  1090. if (this.personal.terminalClienteleType==='个人' && this.personal.terminalClienteleId){
  1091. this.$api.customerLinkman.detail(this.personal.terminalClienteleId).then(res=>{
  1092. if (res.code === 200){
  1093. this.personal.tmobile = res.data.mobile;
  1094. }
  1095. })
  1096. }
  1097. }
  1098. }
  1099. },
  1100. createTerminalClient(){
  1101. if (this.personal.terminalClienteleType==='企业'){
  1102. this.createTerminalClientVisible = true;
  1103. }else{
  1104. this.createTlinkmanVisible = true;
  1105. }
  1106. },
  1107. getCustomerContract(){
  1108. if (this.personal.clienteleSubId){
  1109. let simpleAll = new Object();
  1110. simpleAll.ccId = this.personal.clienteleSubId
  1111. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  1112. if (res.code === 200){
  1113. this.customerContract = res.data;
  1114. if (this.personal.clienteleContactId){
  1115. this.personal.clienteleContactId = null;
  1116. this.personal.contactTel = null;
  1117. this.personal.cdepartment = null;
  1118. this.personal.cduty = null;
  1119. }
  1120. }
  1121. })
  1122. }
  1123. },
  1124. getContactInfo(){
  1125. if (this.personal.clienteleContactId){
  1126. this.$api.customerLinkman.detail(this.personal.clienteleContactId).then(res=>{
  1127. if (res.code === 200){
  1128. this.personal.contactTel = res.data.mobile;
  1129. this.personal.cdepartment = res.data.department
  1130. this.personal.cduty = res.data.duty
  1131. }
  1132. })
  1133. }
  1134. },
  1135. getTcontactInfo(){
  1136. if (this.personal.terminalClienteleContactId){
  1137. this.$api.customerLinkman.detail(this.personal.terminalClienteleContactId).then(res=>{
  1138. if (res.code === 200){
  1139. this.personal.tmobile = res.data.mobile;
  1140. }
  1141. })
  1142. }
  1143. },
  1144. getCustomerCompany(val){
  1145. if (val ===0){
  1146. let simpleAll = new Object();
  1147. simpleAll.terminal=val;
  1148. this.$api.customerCompany.simpleAll(simpleAll).then(res=>{
  1149. if (res.code === 200){
  1150. this.customerCompany = res.data;
  1151. }
  1152. })
  1153. }else{
  1154. let simpleAll = new Object();
  1155. simpleAll.terminal=val;
  1156. this.$api.customerCompany.simpleAll(simpleAll).then(res=>{
  1157. if (res.code === 200){
  1158. this.tCustomerCompany = res.data;
  1159. }
  1160. })
  1161. }
  1162. },
  1163. createLinkman(val){
  1164. this.createLinkmanVisible = true;
  1165. this.linkmanFrom.terminal = val;
  1166. this.linkmanFrom.clienteleType = this.personal.clienteleType;
  1167. this.linkmanFrom.clienteleId = this.personal.clienteleId;
  1168. this.linkmanFrom.clienteleSubId = this.personal.clienteleSubId;
  1169. if (this.personal.clienteleType==='企业'){
  1170. this.linkmanFrom.ccId = this.personal.clienteleSubId
  1171. }else{
  1172. this.personal.clienteleSubId = 1;
  1173. this.linkmanFrom.ccId = this.personal.clienteleSubId;
  1174. }
  1175. },
  1176. createTlinkman(){
  1177. this.createTlinkmanVisible = true;
  1178. this.tLinkmanFrom.terminal = 1;
  1179. if (this.personal.terminalClienteleType==='企业'){
  1180. this.tLinkmanFrom.ccId = this.personal.terminalClienteleId;
  1181. }else{
  1182. this.tLinkmanFrom.ccId = 1;
  1183. }
  1184. },
  1185. saveLinkman(){
  1186. this.$refs.linkmanFrom.validate(valid =>{
  1187. if (valid){
  1188. this.$api.customerLinkman.add(this.linkmanFrom).then(res=>{
  1189. if (res.code ===200){
  1190. this.$notify({
  1191. title: '成功',
  1192. message: '新增客户联系人成功',
  1193. type: 'success',
  1194. duration: 2000
  1195. });
  1196. }
  1197. this.getCustomerContract();
  1198. setTimeout(()=>{
  1199. this.personal.clienteleContactId = this.customerContract[0].id;
  1200. this.getContactInfo();
  1201. },2000)
  1202. this.createLinkmanVisible=false;
  1203. })
  1204. }
  1205. })
  1206. },
  1207. saveTlinkman(){
  1208. this.$refs.tLinkmanFrom.validate(valid =>{
  1209. if (valid){
  1210. if (!this.tLinkmanFrom.ccId){
  1211. this.tLinkmanFrom.ccId = 2;
  1212. this.tLinkmanFrom.terminal = 1;
  1213. }
  1214. this.$api.customerLinkman.add(this.tLinkmanFrom).then(res=>{
  1215. if (res.code ===200){
  1216. this.$notify({
  1217. title: '成功',
  1218. message: '新增终端联系人成功',
  1219. type: 'success',
  1220. duration: 2000
  1221. });
  1222. }
  1223. if (this.personal.terminalClienteleType==='企业'){
  1224. this.findSubClientele(1);
  1225. setTimeout(()=>{
  1226. this.personal.terminalClienteleContactId = this.tCustomerContract[0].id;
  1227. this.getTcontactInfo();
  1228. },2000)
  1229. }
  1230. if (this.personal.terminalClienteleType==='个人'){
  1231. let simpleAll = new Object();
  1232. simpleAll.ccId = 2;
  1233. simpleAll.terminal = 1;
  1234. this.$api.customerLinkman.simpleAll(simpleAll).then(res=>{
  1235. if (res.code === 200){
  1236. this.tCustomerCompany = res.data;
  1237. }
  1238. })
  1239. setTimeout(()=>{
  1240. this.personal.terminalClienteleId = this.tCustomerCompany[0].id;
  1241. this.personal.terminalClienteleContactId = this.tCustomerCompany[0].id;
  1242. this.getTcontactInfo();
  1243. },2000)
  1244. }
  1245. this.createTlinkmanVisible=false;
  1246. })
  1247. }
  1248. })
  1249. },
  1250. saveClient(){
  1251. this.$refs.terminalClientFrom.validate(valid =>{
  1252. if (valid){
  1253. this.$api.customerCompany.add(this.terminalClientFrom).then(res=>{
  1254. if (res.code ===200){
  1255. this.$notify({
  1256. title: '成功',
  1257. message: '新增客户成功',
  1258. type: 'success',
  1259. duration: 2000
  1260. });
  1261. }
  1262. this.getCustomerCompany(1);
  1263. this.personal.terminalClienteleContactId = null;
  1264. this.personal.tmobile = null;
  1265. this.tCustomerContract =[];
  1266. setTimeout(()=>{
  1267. this.personal.terminalClienteleId = this.tCustomerCompany[0].id;
  1268. this.findSubClientele(1);
  1269. },2000)
  1270. this.createTerminalClientVisible=false;
  1271. })
  1272. }
  1273. })
  1274. },
  1275. getPersonal(){
  1276. if (this.personal.id){
  1277. this.$api.personal.detail(this.personal.id).then(res=>{
  1278. if (res.code ===200 ){
  1279. res.data.credentials = JSON.parse(res.data.credentials);
  1280. res.data.purpose = JSON.parse(res.data.purpose);
  1281. this.personal = res.data;
  1282. }
  1283. })
  1284. }
  1285. },
  1286. doRecall(){
  1287. this.$confirm('请确认是否撤回此个贷订单的业务流程?','提示',{
  1288. confirmButtonText: '确定',
  1289. cancelButtonText: '取消',
  1290. type: 'warning',
  1291. center: true
  1292. }).then(()=>{
  1293. if (this.personal.id){
  1294. this.$api.personal.doRecall(this.personal.id).then(res=>{
  1295. if (res.code ===200 && res.data){
  1296. this.$notify({
  1297. title: '成功',
  1298. message: '业务流程撤回成功',
  1299. type: 'success',
  1300. duration: 2000
  1301. });
  1302. this.$refs.myPersonalOrder.initPageStatus(true,true);
  1303. this.couldEdit = true;
  1304. }else{
  1305. this.$notify({
  1306. title: '失败',
  1307. message: '业务流程撤回失败',
  1308. type: 'error',
  1309. duration: 2000
  1310. });
  1311. }
  1312. })
  1313. }
  1314. })
  1315. },
  1316. },
  1317. }
  1318. </script>
  1319. <style lang="scss" scoped>
  1320. .form-container{
  1321. margin-top: 50px;
  1322. }
  1323. .row-style{
  1324. margin-left:40px;
  1325. margin-right:1%;
  1326. }
  1327. .task-class{
  1328. /deep/ .el-form-item__label {
  1329. color: red;
  1330. }
  1331. }
  1332. .table {
  1333. /deep/ thead {
  1334. .el-table-column--selection {
  1335. .cell {
  1336. display: none;
  1337. }
  1338. }
  1339. }
  1340. }
  1341. /deep/.doWarehouseClass {
  1342. border-radius: 10px;
  1343. }
  1344. .el-select {
  1345. max-width: 70vw !important;
  1346. }
  1347. </style>