ChannelSearch.vue 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041
  1. <template>
  2. <div>
  3. <div class="queryFrom" id="queryForm" title="检索区">
  4. <el-form ref="queryFormRef" :model="queryFrom" label-width="80px">
  5. <el-row>
  6. <el-col :span="5">
  7. <el-form-item label="机构名称">
  8. <el-input
  9. clearable
  10. size="small"
  11. placeholder="机构名称"
  12. v-model="queryFrom.deptName"
  13. ></el-input>
  14. </el-form-item>
  15. </el-col>
  16. <el-col :span="5">
  17. <el-form-item label="部门编码">
  18. <el-input
  19. clearable
  20. size="small"
  21. placeholder="部门编码"
  22. v-model="queryFrom.deptId"
  23. ></el-input>
  24. </el-form-item>
  25. </el-col>
  26. <el-col :span="5">&nbsp;</el-col>
  27. <el-col :span="4">
  28. <el-form-item label="">
  29. <el-button size="small" type="primary" @click="queryTeam"
  30. >查询</el-button
  31. >
  32. </el-form-item>
  33. </el-col>
  34. </el-row>
  35. </el-form>
  36. </div>
  37. <el-table
  38. v-loading="loading"
  39. element-loading-text="拼命加载中..."
  40. element-loading-spinner="el-icon-loading"
  41. :border="true"
  42. :data="tableData"
  43. style="width: 100%"
  44. :height="tableHeight"
  45. :header-cell-style="{
  46. background: '#F2F7FC',
  47. fontWeight: '700',
  48. color: '#606266',
  49. }"
  50. >
  51. <el-table-column header-align="center" align="center" type="index">
  52. </el-table-column>
  53. <el-table-column
  54. header-align="center"
  55. align="center"
  56. prop="deptName"
  57. label="机构名称"
  58. >
  59. </el-table-column>
  60. <el-table-column
  61. header-align="center"
  62. align="center"
  63. prop="deptId"
  64. label="部门编码"
  65. width="180"
  66. >
  67. </el-table-column>
  68. <el-table-column
  69. header-align="center"
  70. align="center"
  71. prop="address"
  72. label="地址"
  73. >
  74. </el-table-column>
  75. <el-table-column
  76. header-align="center"
  77. align="center"
  78. prop="count"
  79. label="人数"
  80. >
  81. </el-table-column>
  82. <!-- <el-table-column header-align="center" align="center" label="操作">
  83. <template slot-scope="scope">
  84. <el-button type="text" size="small" @click="handleTableEdit(scope)"
  85. >查看</el-button
  86. >
  87. </template>
  88. </el-table-column> -->
  89. </el-table>
  90. <div class="bottomFixed" style="padding-bottom: 50px;margin-top:30px" ref="bottomFixed">
  91. <el-pagination
  92. @size-change="handleSizeChange"
  93. layout="total, sizes, prev, pager, next, jumper"
  94. @current-change="refreshPageRequest"
  95. :current-page="querylParams.pageNum"
  96. :page-size="querylParams.pageSize"
  97. :page-sizes="[10, 20, 50, 100, 200, 300, 400, 500]"
  98. :total="querylParams.totalSize"
  99. style="float: left; margin-left: 20px"
  100. >
  101. </el-pagination>
  102. </div>
  103. <el-dialog
  104. title="人员信息"
  105. width="1000px"
  106. :visible.sync="dialogVisible"
  107. :close-on-click-modal="false"
  108. :before-close="handleDialogBefore"
  109. @close="closeDialog"
  110. v-dialogDrag
  111. >
  112. <el-form
  113. disabled
  114. :model="dataForm"
  115. ref="dataForm"
  116. label-width="130px"
  117. size="small"
  118. style="text-align: left"
  119. >
  120. <el-tabs v-model="activeTabs">
  121. <el-tab-pane label="行政信息" name="first">
  122. <el-row>
  123. <el-col :span="8">
  124. <el-form-item label="机构编码">
  125. <el-input :value="deptInfo.id"></el-input>
  126. </el-form-item>
  127. </el-col>
  128. <el-col :span="8">
  129. <el-form-item label="机构名称">
  130. <el-input :value="deptInfo.name"></el-input>
  131. </el-form-item>
  132. </el-col>
  133. <el-col :span="8">
  134. <el-form-item label="上级机构编码">
  135. <el-input :value="deptInfo.parentId"></el-input>
  136. </el-form-item>
  137. </el-col>
  138. </el-row>
  139. <el-row>
  140. <el-col :span="8">
  141. <el-form-item label="机构类型">
  142. <el-select :value="deptInfo.comtype" placeholder="请选择">
  143. <el-option
  144. v-for="item in comtypeoptions"
  145. :key="item.label"
  146. :label="item.label"
  147. :value="item.value"
  148. ></el-option>
  149. </el-select>
  150. </el-form-item>
  151. </el-col>
  152. <el-col :span="8">
  153. <el-form-item label="机构级别">
  154. <el-select :value="deptInfo.comlevel" placeholder="请选择">
  155. <el-option
  156. v-for="item in comleveloptions"
  157. :key="item.label"
  158. :label="item.label"
  159. :value="item.value"
  160. ></el-option>
  161. </el-select>
  162. </el-form-item>
  163. </el-col>
  164. <el-col :span="8">
  165. <el-form-item label="机构性质">
  166. <el-select
  167. :value="deptInfo.comattribute"
  168. placeholder="请选择"
  169. >
  170. <el-option
  171. v-for="item in comattributeoptions"
  172. :key="item.label"
  173. :label="item.label"
  174. :value="item.value"
  175. ></el-option>
  176. </el-select>
  177. </el-form-item>
  178. </el-col>
  179. </el-row>
  180. <el-row>
  181. <el-col :span="24">
  182. <el-form-item label="机构地址" style="width: 100%">
  183. <el-input
  184. type="textarea"
  185. :rows="3"
  186. :autosize="{ minRows: 3, maxRows: 4 }"
  187. placeholder="请输入内容"
  188. :value="deptInfo.address"
  189. >
  190. </el-input>
  191. </el-form-item>
  192. </el-col>
  193. </el-row>
  194. </el-tab-pane>
  195. <el-tab-pane label="基本信息" name="second">
  196. <el-row>
  197. <el-col :span="8">
  198. <el-form-item label="员工工号">
  199. <el-input v-model="dataForm.id"></el-input>
  200. </el-form-item>
  201. </el-col>
  202. <el-col :span="8">
  203. <el-form-item label="部门">
  204. <el-select
  205. style="width: 100%"
  206. v-model="dataForm.deptId"
  207. placeholder="请选择"
  208. >
  209. <el-option
  210. v-for="item in departmentList"
  211. :key="item.value"
  212. :label="item.label"
  213. :value="item.value"
  214. ></el-option>
  215. </el-select>
  216. </el-form-item>
  217. </el-col>
  218. <el-col :span="8">
  219. <el-form-item label="是否团队长">
  220. <el-select
  221. style="width: 100%"
  222. v-model="dataForm.isteamleader"
  223. placeholder="请选择"
  224. >
  225. <el-option label="是" value="1"></el-option>
  226. <el-option label="否" value="0"></el-option>
  227. </el-select>
  228. </el-form-item>
  229. </el-col>
  230. </el-row>
  231. <el-row v-if="dataForm.isteamleader != 1">
  232. <el-col :span="8">
  233. <el-form-item label="所属团队长">
  234. <el-input v-model="teamleadername"></el-input>
  235. </el-form-item>
  236. </el-col>
  237. <el-col :span="8">
  238. <el-form-item label="所属团队工号">
  239. <el-input v-model="teamleaderid"></el-input>
  240. </el-form-item>
  241. </el-col>
  242. <el-col :span="8">
  243. <el-form-item label="推荐人名字">
  244. <el-input v-model="dataForm.recommendername"></el-input>
  245. </el-form-item>
  246. </el-col>
  247. </el-row>
  248. <el-row>
  249. <el-col :span="8">
  250. <el-form-item label="推荐人工号">
  251. <el-input v-model="dataForm.recommenderid"></el-input>
  252. </el-form-item>
  253. </el-col>
  254. <el-col :span="8">
  255. <el-form-item label="是否显示门店">
  256. <el-input v-model="dataForm.isshowsalesroom"></el-input>
  257. </el-form-item>
  258. </el-col>
  259. <el-col :span="8">
  260. <el-form-item label="是否显示团队">
  261. <el-input v-model="dataForm.isshowteam"></el-input>
  262. </el-form-item>
  263. </el-col>
  264. </el-row>
  265. <el-row>
  266. <el-col :span="8">
  267. <el-form-item label="姓名">
  268. <el-input v-model="dataForm.name"></el-input>
  269. </el-form-item>
  270. </el-col>
  271. <el-col :span="8">
  272. <el-form-item label="性别">
  273. <el-select
  274. style="width: 100%"
  275. v-model="dataForm.sex"
  276. placeholder="请选择"
  277. >
  278. <el-option label="男" value="男"></el-option>
  279. <el-option label="女" value="女"></el-option>
  280. </el-select>
  281. </el-form-item>
  282. </el-col>
  283. <el-col :span="8">
  284. <el-form-item label="录入人">
  285. <el-input v-model="dataForm.createBy"></el-input>
  286. </el-form-item>
  287. </el-col>
  288. </el-row>
  289. <el-row>
  290. <el-col :span="8">
  291. <el-form-item label="身份证号">
  292. <el-input v-model="dataForm.identity"></el-input>
  293. </el-form-item>
  294. </el-col>
  295. <el-col :span="8">
  296. <el-form-item label="出生日期">
  297. <el-date-picker
  298. style="width: 100%"
  299. v-model="dataForm.birthday"
  300. type="date"
  301. placeholder="选择日期"
  302. >
  303. </el-date-picker>
  304. </el-form-item>
  305. </el-col>
  306. <el-col :span="8">
  307. <el-form-item label="移动电话">
  308. <el-input v-model="dataForm.mobile"></el-input>
  309. </el-form-item>
  310. </el-col>
  311. </el-row>
  312. <el-row>
  313. <el-col :span="8">
  314. <el-form-item label="民族">
  315. <el-select
  316. style="width: 100%"
  317. v-model="dataForm.nations"
  318. placeholder="请选择"
  319. >
  320. <el-option
  321. :label="national"
  322. :value="national"
  323. v-for="national in nationalList"
  324. :key="national"
  325. ></el-option>
  326. </el-select>
  327. </el-form-item>
  328. </el-col>
  329. <el-col :span="8">
  330. <el-form-item label="政治面貌">
  331. <el-select
  332. style="width: 100%"
  333. v-model="dataForm.politicalstatus"
  334. placeholder="请选择"
  335. >
  336. <el-option label="群众" value="群众"></el-option>
  337. <el-option label="共青团员" value="共青团员"></el-option>
  338. <el-option label="中共党员" value="中共党员"></el-option>
  339. </el-select>
  340. </el-form-item>
  341. </el-col>
  342. <el-col :span="8">
  343. <el-form-item label="户口所在地">
  344. <el-input v-model="dataForm.addressresident"></el-input>
  345. </el-form-item>
  346. </el-col>
  347. </el-row>
  348. <el-row>
  349. <el-col :span="8">
  350. <el-form-item label="银行账号">
  351. <el-input v-model="dataForm.accountno"></el-input>
  352. </el-form-item>
  353. </el-col>
  354. <el-col :span="8">
  355. <el-form-item label="开户银行">
  356. <el-input v-model="dataForm.bankname" disabled></el-input>
  357. </el-form-item>
  358. </el-col>
  359. <el-col :span="8">
  360. <el-form-item label="住宅电话">
  361. <el-input v-model="dataForm.phonehouse"></el-input>
  362. </el-form-item>
  363. </el-col>
  364. </el-row>
  365. <el-row>
  366. <el-col :span="8">
  367. <el-form-item label="健康状况">
  368. <el-select
  369. style="width: 100%"
  370. v-model="dataForm.health"
  371. placeholder="请选择"
  372. >
  373. <el-option label="健康" value="健康"></el-option>
  374. <el-option label="亚健康" value="亚健康"></el-option>
  375. <el-option label="疾病" value="疾病"></el-option>
  376. </el-select>
  377. </el-form-item>
  378. </el-col>
  379. <el-col :span="8">
  380. <el-form-item label="邮政编码">
  381. <el-input v-model="dataForm.postalcode"></el-input>
  382. </el-form-item>
  383. </el-col>
  384. <el-col :span="8">
  385. <el-form-item label="邮箱">
  386. <el-input v-model="dataForm.email"></el-input>
  387. </el-form-item>
  388. </el-col>
  389. </el-row>
  390. <el-row>
  391. <el-col :span="8">
  392. <el-form-item label="籍贯">
  393. <el-input v-model="dataForm.nativeplace"></el-input>
  394. </el-form-item>
  395. </el-col>
  396. <el-col :span="8">
  397. <el-form-item label="学历">
  398. <el-select
  399. style="width: 100%"
  400. v-model="dataForm.education"
  401. placeholder="请选择"
  402. >
  403. <el-option label="小学" value="小学"></el-option>
  404. <el-option label="初中" value="初中"></el-option>
  405. <el-option label="高中" value="高中"></el-option>
  406. <el-option label="专科" value="专科"></el-option>
  407. <el-option label="本科" value="本科"></el-option>
  408. <el-option label="硕士" value="硕士"></el-option>
  409. <el-option label="博士" value="博士"></el-option>
  410. </el-select>
  411. </el-form-item>
  412. </el-col>
  413. <el-col :span="8">
  414. <el-form-item label="血型">
  415. <el-select
  416. style="width: 100%"
  417. v-model="dataForm.blood"
  418. placeholder="请选择"
  419. >
  420. <el-option label="A型" value="A型"></el-option>
  421. <el-option label="B型" value="B型"></el-option>
  422. <el-option label="O型" value="O型"></el-option>
  423. <el-option label="AB型" value="AB型"></el-option>
  424. </el-select>
  425. </el-form-item>
  426. </el-col>
  427. </el-row>
  428. <el-row>
  429. <el-col :span="8">
  430. <el-form-item label="居住地址">
  431. <el-input v-model="dataForm.addressnow"></el-input>
  432. </el-form-item>
  433. </el-col>
  434. <el-col :span="8">
  435. <el-form-item label="毕业院校">
  436. <el-input v-model="dataForm.college"></el-input>
  437. </el-form-item>
  438. </el-col>
  439. <el-col :span="8">
  440. <el-form-item label="入司时间">
  441. <el-date-picker
  442. style="width: 100%"
  443. v-model="dataForm.intime"
  444. type="date"
  445. placeholder="选择日期"
  446. >
  447. </el-date-picker>
  448. </el-form-item>
  449. </el-col>
  450. </el-row>
  451. <el-row>
  452. <el-col :span="8">
  453. <el-form-item label="代理人资格证号">
  454. <el-input v-model="dataForm.saleno"></el-input>
  455. </el-form-item>
  456. </el-col>
  457. <el-col :span="8">
  458. <el-form-item label="毕业时间">
  459. <el-date-picker
  460. style="width: 100%"
  461. v-model="dataForm.collegetm"
  462. type="date"
  463. placeholder="选择日期"
  464. >
  465. </el-date-picker>
  466. </el-form-item>
  467. </el-col>
  468. <el-col :span="8">
  469. <el-form-item label="原工作单位">
  470. <el-input v-model="dataForm.orglast"></el-input>
  471. </el-form-item>
  472. </el-col>
  473. </el-row>
  474. <el-row>
  475. <el-col :span="8">
  476. <el-form-item label="婚姻状况">
  477. <el-select
  478. style="width: 100%"
  479. v-model="dataForm.marrycode"
  480. placeholder="请选择"
  481. >
  482. <el-option label="未婚" value="未婚"></el-option>
  483. <el-option label="已婚" value="已婚"></el-option>
  484. <el-option label="离异" value="离异"></el-option>
  485. <el-option label="再婚" value="再婚"></el-option>
  486. </el-select>
  487. </el-form-item>
  488. </el-col>
  489. <el-col :span="8">
  490. <el-form-item label="紧急联系人电话">
  491. <el-input v-model="dataForm.phonespecial"></el-input>
  492. </el-form-item>
  493. </el-col>
  494. <el-col :span="8">
  495. <el-form-item label="紧急联系人姓名">
  496. <el-input v-model="dataForm.namespecial"></el-input>
  497. </el-form-item>
  498. </el-col>
  499. </el-row>
  500. <el-row>
  501. <el-col :span="8">
  502. <el-form-item label="录入时间">
  503. <el-input v-model="dataForm.createTime"></el-input>
  504. </el-form-item>
  505. </el-col>
  506. <el-col :span="8">
  507. <el-form-item label="最后修改时间">
  508. <el-input v-model="dataForm.lastUpdateTime"></el-input>
  509. </el-form-item>
  510. </el-col>
  511. </el-row>
  512. </el-tab-pane>
  513. <el-tab-pane label="影像资料" name="third">
  514. <div class="imageLibraryItem">
  515. <el-row class="imageLibraryItemTitle">
  516. <label @click="pic1Control = !pic1Control"> 身份证照片 </label>
  517. </el-row>
  518. <el-row class="imageLibraryItemBody" v-show="pic1Control">
  519. <el-form-item label="身份证正面:" style="width: 50%">
  520. <el-upload
  521. class="avatar-uploader"
  522. action=""
  523. name="photo1"
  524. :show-file-list="false"
  525. :http-request="httpRequest"
  526. :before-upload="beforeAvatarUpload"
  527. >
  528. <img
  529. v-if="dataForm.photo1"
  530. :src="dataForm.photo1"
  531. class="avatar"
  532. />
  533. <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  534. </el-upload>
  535. </el-form-item>
  536. <el-form-item label="身份证反面:" style="width: 50%">
  537. <el-upload
  538. class="avatar-uploader"
  539. action=""
  540. name="photo2"
  541. :show-file-list="false"
  542. :http-request="httpRequest"
  543. :before-upload="beforeAvatarUpload"
  544. >
  545. <img
  546. v-if="dataForm.photo2"
  547. :src="dataForm.photo2"
  548. class="avatar"
  549. />
  550. <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  551. </el-upload>
  552. </el-form-item>
  553. </el-row>
  554. </div>
  555. <div class="imageLibraryItem">
  556. <el-row class="imageLibraryItemTitle">
  557. <label @click="pic3Control = !pic3Control"> 展业资格证 </label>
  558. </el-row>
  559. <el-row class="imageLibraryItemBody" v-show="pic3Control">
  560. <el-form-item label="资格证照片:" style="width: 50%">
  561. <el-upload
  562. class="avatar-uploader"
  563. action=""
  564. name="photo3"
  565. :show-file-list="false"
  566. :http-request="httpRequest"
  567. :before-upload="beforeAvatarUpload"
  568. >
  569. <img
  570. v-if="dataForm.photo3"
  571. :src="dataForm.photo3"
  572. class="avatar"
  573. />
  574. <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  575. </el-upload>
  576. </el-form-item>
  577. </el-row>
  578. </div>
  579. <div class="imageLibraryItem">
  580. <el-row class="imageLibraryItemTitle">
  581. <label @click="pic4Control = !pic4Control"> 劳动合同 </label>
  582. </el-row>
  583. <el-row class="imageLibraryItemBody" v-show="pic4Control">
  584. <el-form-item label="劳动合同照片:" style="width: 50%">
  585. <el-upload
  586. class="avatar-uploader"
  587. action=""
  588. name="photo4"
  589. :show-file-list="false"
  590. :http-request="httpRequest"
  591. :before-upload="beforeAvatarUpload"
  592. >
  593. <img
  594. v-if="dataForm.photo4"
  595. :src="dataForm.photo4"
  596. class="avatar"
  597. />
  598. <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  599. </el-upload>
  600. </el-form-item>
  601. </el-row>
  602. </div>
  603. <div class="imageLibraryItem">
  604. <el-row class="imageLibraryItemTitle">
  605. <label @click="pic5Control = !pic5Control"> 应聘表 </label>
  606. </el-row>
  607. <el-row class="imageLibraryItemBody" v-show="pic5Control">
  608. <el-form-item label="应聘表照片:" style="width: 50%">
  609. <el-upload
  610. class="avatar-uploader"
  611. action=""
  612. name="photo5"
  613. :show-file-list="false"
  614. :http-request="httpRequest"
  615. :before-upload="beforeAvatarUpload"
  616. >
  617. <img
  618. v-if="dataForm.photo5"
  619. :src="dataForm.photo5"
  620. class="avatar"
  621. />
  622. <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  623. </el-upload>
  624. </el-form-item>
  625. </el-row>
  626. </div>
  627. <div class="imageLibraryItem">
  628. <el-row class="imageLibraryItemTitle">
  629. <label @click="pic6Control = !pic6Control"> 定薪表 </label>
  630. </el-row>
  631. <el-row class="imageLibraryItemBody" v-show="pic6Control">
  632. <el-form-item label="定薪表照片:" style="width: 50%">
  633. <el-upload
  634. class="avatar-uploader"
  635. action=""
  636. name="photo6"
  637. :show-file-list="false"
  638. :http-request="httpRequest"
  639. :before-upload="beforeAvatarUpload"
  640. >
  641. <img
  642. v-if="dataForm.photo6"
  643. :src="dataForm.photo6"
  644. class="avatar"
  645. />
  646. <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  647. </el-upload>
  648. </el-form-item>
  649. </el-row>
  650. </div>
  651. </el-tab-pane>
  652. </el-tabs>
  653. </el-form>
  654. <span slot="footer" class="dialog-footer" v-show="activeTabs == 'third'">
  655. <el-button
  656. size="small"
  657. type="primary"
  658. style="background-color: #ffc000; border: 1px solid #ffc000"
  659. @click="closeDialog"
  660. >{{ $t("action.cancel") }}</el-button
  661. >
  662. </span>
  663. </el-dialog>
  664. </div>
  665. </template>
  666. <script>
  667. export default {
  668. data() {
  669. return {
  670. tableHeight:0,//表格高度
  671. loading:false,
  672. sexoptions: JSON.parse(localStorage.getItem("sexOptions")),
  673. activeTabs: "first",
  674. dialogVisible: false, // 新增编辑界面是否显示
  675. deptInfo: {}, //选中机构的基本信息
  676. // 控制影像
  677. pic1Control: false,
  678. pic3Control: false,
  679. pic4Control: false,
  680. pic5Control: false,
  681. pic6Control: false,
  682. dataForm: {
  683. // 人员个人信息
  684. id: "",
  685. name: "", //用户名
  686. password: "", //密码
  687. email: "", //邮箱
  688. mobile: "", //手机号
  689. birthday: "", //出生日期
  690. status: "", //状态 1:正常 0:离司
  691. marrycode: "", //婚姻状况
  692. deptId: "", //机构号或者部门号
  693. createBy: "", //创建人
  694. createTime: "", //创建时间
  695. lastUpdateBy: "", //更新人
  696. lastUpdateTime: "", //更新时间
  697. delFlag: "", //是否删除 -1:已删除 0:正常
  698. usertype: "", //用户类型:0:系统用户 A:后线人员 B:代理人员
  699. tenantId: "", //所属租户
  700. sex: "", //性别
  701. jobCode: "", //岗位
  702. esmUserInternalid: "",
  703. addressnow: "", //居住地址
  704. nations: "", //民族
  705. politicalstatus: "", //政治面貌
  706. college: "", //毕业院校
  707. identity: "", //身份证号
  708. education: "", //学历
  709. bankname: "", //开户行
  710. accountno: "", //开户账号
  711. addressresident: "", //户口地址
  712. health: "", //健康状态
  713. postalcode: "", //邮政编码
  714. phonehouse: "", //住宅电话
  715. collegetm: "", //毕业时间
  716. speciality: "", //专业
  717. nativeplace: "", //籍贯
  718. worktype: "", //工作性质
  719. blood: "", //血型
  720. saleno: "", //业务员职业证书号
  721. orglast: "", //原工作单位
  722. joblast: "", //工作职务
  723. hobby: "", //爱好特长
  724. namespecial: "", //紧急联系人姓名
  725. phonespecial: "", //紧急联系人电话
  726. intimes: "", //是否二次入司
  727. intime: "", //入司时间
  728. contracttime: "", //签约时间(财)
  729. isteamleader: "", //是否团队长(财)
  730. documentno: "", //后线人员档案号
  731. hrcode: "", //后线人员HR编码
  732. regulartm: "", //转正时间
  733. salarycode: "", //薪资等级
  734. esmUserAgentid: "", //主键
  735. recommenderid: "", //推荐人代码
  736. recommendername: "", //推荐人姓名
  737. leaderupid: "", //上级主管代码
  738. leaderupname: "", //上级主管姓名
  739. grouppersonid: "", //组育成人代码
  740. grouppersonname: "", //组育成人姓名
  741. deppersonid: "", //部育成人代码
  742. deppersonname: "", //部育成人姓名
  743. isshowteam: "", //是否显示团队
  744. isshowsalesroom: "", //是否显示门店
  745. photo1: "",
  746. photo2: "",
  747. photo3: "",
  748. photo4: "",
  749. photo5: "",
  750. photo6: "",
  751. },
  752. // 新增或修改的弹出框End
  753. queryFrom: {
  754. userId: "",
  755. name: "",
  756. mobile: "",
  757. },
  758. tableData: [],
  759. teamleadername: "", //团队长姓名
  760. teamleaderid: "", //团队长工号
  761. ztreeNodes: "",
  762. //------------下拉框数据字典 begin-----------------
  763. comleveloptions: [],
  764. comattributeoptions: [],
  765. comtypeoptions: [],
  766. jobcodeoptions: [],
  767. departmentList: [], // 选中公司的所有部门的集合
  768. //56个民族
  769. nationalList: [
  770. "汉族",
  771. "壮族",
  772. "满族",
  773. "回族",
  774. "苗族",
  775. "维吾尔族",
  776. "土家族",
  777. "彝族",
  778. "蒙古族",
  779. "藏族",
  780. "布依族",
  781. "侗族",
  782. "瑶族",
  783. "朝鲜族",
  784. "白族",
  785. "哈尼族",
  786. "哈萨克族",
  787. "黎族",
  788. "傣族",
  789. "畲族",
  790. "傈僳族",
  791. "仡佬族",
  792. "东乡族",
  793. "高山族",
  794. "拉祜族",
  795. "水族",
  796. "佤族",
  797. "纳西族",
  798. "羌族",
  799. "土族",
  800. "仫佬族",
  801. "锡伯族",
  802. "柯尔克孜族",
  803. "达斡尔族",
  804. "景颇族",
  805. "毛南族",
  806. "撒拉族",
  807. "布朗族",
  808. "塔吉克族",
  809. "阿昌族",
  810. "普米族",
  811. "鄂温克族",
  812. "怒族",
  813. "京族",
  814. "基诺族",
  815. "德昂族",
  816. "保安族",
  817. "俄罗斯族",
  818. "裕固族",
  819. "乌兹别克族",
  820. "门巴族",
  821. "鄂伦春族",
  822. "独龙族",
  823. "塔塔尔族",
  824. "赫哲族",
  825. "珞巴族",
  826. ],
  827. //分页参数
  828. querylParams: {
  829. pageNum: 1,
  830. pageSize: 10,
  831. },
  832. };
  833. },
  834. created() {
  835. this.queryTeam();
  836. },
  837. mounted(){
  838. setTimeout(() => {
  839. var divHg = document.getElementById("queryForm").clientHeight;
  840. let bottomTop = this.$refs.bottomFixed.offsetTop;
  841. this.tableHeight =window.innerHeight - bottomTop - divHg -80 + "px";
  842. }, 10);
  843. },
  844. methods: {
  845. // 换页刷新
  846. refreshPageRequest: function (pageNum) {
  847. this.querylParams.pageNum = pageNum;
  848. this.queryTeam();
  849. },
  850. // 每页条数发生改变
  851. handleSizeChange(pageSize) {
  852. this.querylParams.pageSize = pageSize;
  853. this.queryTeam();
  854. },
  855. //列表查询
  856. queryTeam() {
  857. this.loading=true;
  858. this.$api.user.queryChannelNum({...this.queryFrom,...this.querylParams}).then((res) => {
  859. console.log(res)
  860. if (res.code == 200) {
  861. this.querylParams.pageNum = res.data.current;
  862. this.querylParams.pageSize = res.data.size;
  863. this.querylParams.totalPages = res.data.pages;
  864. this.querylParams.totalSize = res.data.total;
  865. res.data.records.forEach((val) => {
  866. if (val.sex && val.sex !== "" && val.sex !== null) {
  867. val.sex = this.sexoptions.find(
  868. (ele) => ele.value == val.sex
  869. ).label;
  870. }
  871. });
  872. this.tableData = res.data.records;
  873. this.loading=false;
  874. }else{
  875. this.$message.error(res.msg)
  876. }
  877. });
  878. },
  879. getDictItems(typeName) {
  880. //--数据字典--
  881. this.$api.dict
  882. .findByLableName(typeName)
  883. .then((response) => {
  884. this[typeName + "options"] = response.data; // 把获取到的数据赋给this.data
  885. })
  886. .catch((error) => {
  887. this[typeName + "options"] = [];
  888. });
  889. },
  890. handleTableEdit(params) {
  891. // 编辑代理人员
  892. this.activeTabs = "first";
  893. this.$api.user.getUserDatail(params.row.id).then((result) => {
  894. if (result.code == 200) {
  895. this.dataForm = {
  896. ...result.data.sysUser,
  897. ...result.data.sysUserInfo,
  898. };
  899. }
  900. this.dialogVisible = true;
  901. });
  902. },
  903. handleDialogBefore(done) {
  904. this.$confirm("确认关闭?")
  905. .then((_) => {
  906. done();
  907. })
  908. .catch((_) => {});
  909. },
  910. closeDialog() {
  911. // 清空数据
  912. this.deptInfo = {};
  913. this.$refs["dataForm"].resetFields();
  914. for (let key in this.dataForm) {
  915. this.dataForm[key] = "";
  916. }
  917. this.dialogVisible = false;
  918. },
  919. // 上传图片的方法Start
  920. beforeAvatarUpload(file) {
  921. const isJPG = file.type === "image/jpeg" || file.type === "image/png";
  922. const isLt2M = file.size / 1024 / 1024 < 2;
  923. if (!isJPG) {
  924. this.$message.error("上传图片只能是 JPG 或者 PNG 格式!");
  925. }
  926. if (!isLt2M) {
  927. this.$message.error("上传图片大小不能超过 2MB!");
  928. }
  929. return isJPG && isLt2M;
  930. },
  931. httpRequest(options) {
  932. let file = options.file;
  933. let filename = options.filename;
  934. let reader = new FileReader();
  935. if (file) {
  936. reader.readAsDataURL(file);
  937. }
  938. reader.onload = () => {
  939. let base64Str = reader.result;
  940. this.dataForm[options.filename] = base64Str;
  941. };
  942. },
  943. },
  944. };
  945. </script>
  946. <style scoped>
  947. /* 顶部查询条件样式Start */
  948. .queryFrom {
  949. background: #f2f7fc;
  950. position: relative;
  951. border: 1px solid #ddd;
  952. border-radius: 10px;
  953. margin-top: 15px;
  954. margin-bottom: 15px;
  955. padding: 20px;
  956. }
  957. .queryFrom:before {
  958. content: attr(title);
  959. position: absolute;
  960. left: 10%;
  961. transform: translate(-50%, -130%);
  962. /* -webkit-transform:translate(-50%,-50%); */
  963. padding: 0 10px;
  964. background-color: #fff;
  965. }
  966. .queryFrom .el-row {
  967. margin: 10px 0px;
  968. }
  969. .queryFrom .el-form-item {
  970. margin-bottom: 0px;
  971. }
  972. .queryFrom .queryButton .el-form-item__content {
  973. margin-left: 0px !important;
  974. }
  975. /* 顶部查询条件样式End */
  976. /* 上传图片样式Start */
  977. .avatar-uploader .el-upload {
  978. border: 1px dashed #d9d9d9;
  979. border-radius: 6px;
  980. cursor: pointer;
  981. position: relative;
  982. overflow: hidden;
  983. }
  984. .avatar-uploader .el-upload:hover {
  985. border-color: #409eff;
  986. }
  987. .avatar-uploader-icon {
  988. font-size: 28px;
  989. color: #8c939d;
  990. width: 100px;
  991. height: 100px;
  992. line-height: 100px;
  993. text-align: center;
  994. border: 1px dashed #d9d9d9;
  995. }
  996. .avatar {
  997. border: 1px dashed #d9d9d9;
  998. padding: 5px;
  999. border-radius: 6px;
  1000. width: 100px;
  1001. height: 100px;
  1002. display: block;
  1003. }
  1004. /* 上传图片样式End */
  1005. .imageLibraryItem {
  1006. margin-bottom: 10px;
  1007. }
  1008. .imageLibraryItem .imageLibraryItemTitle {
  1009. display: block;
  1010. height: 40px;
  1011. line-height: 40px;
  1012. width: 100%;
  1013. background: #f3f3f3;
  1014. border: 1px solid #dddddd;
  1015. }
  1016. .imageLibraryItem .imageLibraryItemTitle label {
  1017. margin: 0px 15px;
  1018. font-weight: bold;
  1019. }
  1020. .imageLibraryItem .imageLibraryItemBody {
  1021. width: 100%;
  1022. border: 1px solid #ddd;
  1023. padding: 15px;
  1024. border-top: none;
  1025. }
  1026. </style>