audit-data-empower-info.vue 50 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627
  1. <template>
  2. <span>
  3. <audit-form-top-banner :handel-save-form="saveForm" @handelSaveForm="saveForm">
  4. <div class="title_sd-detail-form_common">数据分类授权详情</div>
  5. <table>
  6. <tr>
  7. <td style="border:none">
  8. <audit-advanced-group
  9. :expand="maintainExpand"
  10. :expand-str="'maintainExpand'"
  11. :group-label="'数据分类列表'"
  12. tablestyle="''"
  13. @changedClick="changedClick"
  14. >
  15. <template>
  16. <div :class="$style.wrapper">
  17. <div :class="$style.btnselect">
  18. <a-button type="link" :class="$style.batchselect" @click="flRelSelect">
  19. <a-icon type="check-circle" :theme="'filled'" />
  20. 添加
  21. </a-button>
  22. </div>
  23. </div>
  24. </template>
  25. <template>
  26. <XmChildTable
  27. ref="classIndexData"
  28. v-model="maintaindata"
  29. :label="null"
  30. :columns="columns"
  31. :fields="classifyFileds"
  32. :addbuttonvisiable="false"
  33. @deleted="deletedClassList"
  34. >
  35. <template v-slot:categoryName="{ field, text, index, value }">
  36. {{ text }}
  37. </template>
  38. <template v-slot:categoryId="{ field, text, index, value }">
  39. {{ text }}
  40. </template>
  41. <template v-slot:categoryDesc="{ field, text, index, value }">
  42. {{ text }}
  43. </template>
  44. </XmChildTable>
  45. </template>
  46. </audit-advanced-group>
  47. </td>
  48. </tr>
  49. <!-- <tr>
  50. <SdTable
  51. v-if="maintainExpand && maintaindata.length > 0"
  52. ref="maintaintable"
  53. :row-key="(record, index) => index"
  54. :loading="false"
  55. class="maintaintable"
  56. :columns="columns"
  57. :data-source="maintaindata"
  58. :pagination="false"
  59. :bordered="true"
  60. />
  61. </tr> -->
  62. </table>
  63. <!-- 审搜索引 -->
  64. <table>
  65. <tr>
  66. <td>
  67. <audit-advanced-group
  68. :expand="classShow"
  69. :expand-str="'classShow'"
  70. :group-label="'审搜索引'"
  71. tablestyle="''"
  72. @changedClick="changedClick"
  73. ><template>
  74. <template>
  75. <div :class="$style.wrapper">
  76. <div :class="$style.btnselect">
  77. <a-button type="link" :class="$style.batchselect" @click="inedxRelSelect">
  78. <a-icon type="check-circle" :theme="'filled'" />
  79. 添加
  80. </a-button>
  81. </div>
  82. </div>
  83. </template>
  84. <XmChildTable
  85. ref="classIndexData"
  86. v-model="classIndexData"
  87. :label="null"
  88. :columns="indexColumns"
  89. :fields="classIndexFileds"
  90. :addbuttonvisiable="false"
  91. >
  92. <template v-slot:indexName="{ field, text, index, value }">
  93. {{ text }}
  94. </template>
  95. <template v-slot:id="{ field, text, index, value }">
  96. {{ text }}
  97. </template>
  98. <template v-slot:indexRemark="{ field, text, index, value }">
  99. {{ text }}
  100. </template>
  101. </XmChildTable>
  102. </template>
  103. </audit-advanced-group>
  104. </td></tr
  105. >
  106. <tr>
  107. <!-- <SdTable
  108. v-if="classShow && classIndexData.length > 0"
  109. ref="classIndexData"
  110. :row-key="(record, index) => index"
  111. :loading="false"
  112. class="maintaintable"
  113. :columns="indexColumns"
  114. :data-source="classIndexData"
  115. :pagination="false"
  116. :bordered="true"
  117. >
  118. </SdTable> -->
  119. </tr>
  120. </table>
  121. <!-- 指定公司 -->
  122. <table>
  123. <tr v-if="unit.length > 1">
  124. <td>
  125. <audit-advanced-group
  126. :expand="companyExpand"
  127. :expand-str="'companyExpand'"
  128. :group-label="'指定公司'"
  129. tablestyle="''"
  130. @changedClick="changedClick"
  131. ><template>
  132. <template>
  133. <div :class="$style.wrapper">
  134. <div v-show="companyExpand" :class="$style.btnselect">
  135. <a-button type="link" :class="$style.batchselect" @click="companylSelect">
  136. <a-icon type="check-circle" :theme="'filled'" />
  137. 添加
  138. </a-button>
  139. </div>
  140. </div>
  141. </template>
  142. <XmChildTable
  143. ref="cdata"
  144. v-model="companyData"
  145. :label="null"
  146. :columns="companycolumns"
  147. :fields="
  148. [
  149. {
  150. caption: '序号',
  151. name: 'sortNum',
  152. dataType: 'sortNum',
  153. },
  154. ].concat(unit)
  155. "
  156. :addbuttonvisiable="false"
  157. >
  158. <template v-slot:unitName="{ field, text, index, value }">
  159. {{ text }}
  160. </template>
  161. <template v-slot:unitCode="{ field, text, index, value }">
  162. {{ text }}
  163. </template>
  164. <template v-slot:empowerType="{ field, text, index, value }">
  165. <audit-warrant-input
  166. :ref="'cdata_empowerType_' + index"
  167. :value="value[index]"
  168. :index="index"
  169. :field="field"
  170. :data="'cdata'"
  171. lx="type"
  172. @change="setchange"
  173. />
  174. </template>
  175. <template v-slot:startDate="{ field, text, index, value }">
  176. <audit-warrant-input
  177. :ref="'cdata_startDate_' + index"
  178. :value="value[index]"
  179. :index="index"
  180. :field="field"
  181. :data="'cdata'"
  182. lx="stime"
  183. @change="setchange"
  184. />
  185. </template>
  186. <template v-slot:endDate="{ field, text, index, value }">
  187. <audit-warrant-input
  188. :ref="'cdata_endDate_' + index"
  189. :value="value[index]"
  190. :index="index"
  191. :field="field"
  192. :data="'cdata'"
  193. lx="etime"
  194. @change="setchange"
  195. />
  196. </template> </XmChildTable
  197. ></template>
  198. </audit-advanced-group> </td
  199. ></tr>
  200. </table>
  201. <!-- 授权单位 -->
  202. <!-- <table v-if='false'>
  203. <tr v-if="unit.length > 1">
  204. <td>
  205. <audit-advanced-group
  206. :expand="unitExpand"
  207. :expand-str="'unitExpand'"
  208. :group-label="'授权单位'"
  209. tablestyle="''"
  210. @changedClick="changedClick"
  211. ><template>
  212. <template>
  213. <div :class="$style.wrapper">
  214. <div v-show="unitExpand" :class="$style.btnselect">
  215. <a-button type="link" :class="$style.batchselect" @click="dwRelSelect">
  216. <a-icon type="check-circle" :theme="'filled'" />
  217. 添加
  218. </a-button>
  219. </div>
  220. </div>
  221. </template>
  222. <XmChildTable
  223. ref="udata"
  224. v-model="unitdata"
  225. :label="null"
  226. :columns="unitcolumns"
  227. :fields="
  228. [
  229. {
  230. caption: '序号',
  231. name: 'sortNum',
  232. dataType: 'sortNum',
  233. },
  234. ].concat(unit)
  235. "
  236. :addbuttonvisiable="false"
  237. >
  238. <template v-slot:unitName="{ field, text, index, value }">
  239. {{ text }}
  240. </template>
  241. <template v-slot:unitCode="{ field, text, index, value }">
  242. {{ text }}
  243. </template>
  244. <template v-slot:empowerType="{ field, text, index, value }">
  245. <audit-warrant-input
  246. :ref="'udata_empowerType_' + index"
  247. :value="value[index]"
  248. :index="index"
  249. :field="field"
  250. lx="type"
  251. @change="setchange"
  252. />
  253. </template>
  254. <template v-slot:startDate="{ field, text, index, value }">
  255. <audit-warrant-input
  256. :ref="'udata_startDate_' + index"
  257. :value="value[index]"
  258. :index="index"
  259. :field="field"
  260. lx="stime"
  261. @change="setchange"
  262. />
  263. </template>
  264. <template v-slot:endDate="{ field, text, index, value }">
  265. <audit-warrant-input
  266. :ref="'udata_endDate_' + index"
  267. :value="value[index]"
  268. :index="index"
  269. :field="field"
  270. lx="etime"
  271. @change="setchange"
  272. />
  273. </template> </XmChildTable
  274. ></template>
  275. </audit-advanced-group> </td
  276. ></tr>
  277. </table> -->
  278. <!-- 授权人员 -->
  279. <table>
  280. <tr v-if="personal.length > 1">
  281. <td
  282. ><audit-advanced-group
  283. :expand="personalExpand"
  284. :expand-str="'personalExpand'"
  285. :group-label="'授权人员'"
  286. tablestyle="''"
  287. @changedClick="changedClick"
  288. ><template>
  289. <template>
  290. <div :class="$style.wrapper">
  291. <div v-show="personalExpand" :class="$style.btnselect">
  292. <a-button type="link" :class="$style.batchselect" @click="pRelSelect">
  293. <a-icon type="check-circle" :theme="'filled'" />
  294. 添加
  295. </a-button>
  296. </div>
  297. </div>
  298. </template>
  299. <XmChildTable
  300. ref="pdata"
  301. v-model="personaldata"
  302. :label="null"
  303. :columns="personalcolumns"
  304. :fields="
  305. [
  306. {
  307. caption: '序号',
  308. name: 'sortNum',
  309. dataType: 'sortNum',
  310. },
  311. ].concat(personal)
  312. "
  313. :addbuttonvisiable="false"
  314. >
  315. <template v-slot:userName="{ field, text, index, value }">
  316. {{ text }}
  317. </template>
  318. <template v-slot:userId="{ field, text, index, value }">
  319. {{ text }}
  320. </template>
  321. <template v-slot:userUnit="{ field, text, index, value }">
  322. {{ text }}
  323. </template>
  324. <template v-slot:empowerType="{ field, text, index, value }">
  325. <audit-warrant-input-p
  326. :ref="'pdata_empowerType_' + index"
  327. :data="'pdata'"
  328. :value="value[index]"
  329. :index="index"
  330. :field="field"
  331. lx="type"
  332. @change="setchange"
  333. />
  334. </template>
  335. <template v-slot:startDate="{ field, text, index, value }">
  336. <audit-warrant-input-p
  337. :ref="'pdata_startDate_' + index"
  338. :data="'pdata'"
  339. :value="value[index]"
  340. :index="index"
  341. :field="field"
  342. lx="stime"
  343. @change="setchange"
  344. />
  345. </template>
  346. <template v-slot:endDate="{ field, text, index, value }">
  347. <audit-warrant-input-p
  348. :ref="'pdata_endDate_' + index"
  349. :data="'pdata'"
  350. :value="value[index]"
  351. :index="index"
  352. :field="field"
  353. lx="etime"
  354. @change="setchange"
  355. />
  356. </template> </XmChildTable></template
  357. ></audit-advanced-group> </td
  358. ></tr>
  359. </table>
  360. <!-- 授权项目 -->
  361. <table>
  362. <tr v-if="projectTable.length > 1">
  363. <td
  364. ><audit-advanced-group
  365. :expand="projectExpand"
  366. :expand-str="'projectExpand'"
  367. :group-label="'项目授权'"
  368. tablestyle="''"
  369. @changedClick="changedClick"
  370. ><template>
  371. <template>
  372. <div :class="$style.wrapper">
  373. <div v-show="projectExpand" :class="$style.btnselect">
  374. <a-button type="link" :class="$style.batchselect" @click="projectShow = true">
  375. <a-icon type="check-circle" :theme="'filled'" />
  376. 添加
  377. </a-button>
  378. </div>
  379. </div>
  380. </template>
  381. <XmChildTable
  382. ref="prodata"
  383. v-model="projectData"
  384. :label="null"
  385. :columns="projectColums"
  386. :fields="
  387. [
  388. {
  389. caption: '序号',
  390. name: 'sortNum',
  391. dataType: 'sortNum',
  392. },
  393. ].concat(projectTable)
  394. "
  395. :addbuttonvisiable="false"
  396. >
  397. <template v-slot:projectName="{ field, text, index, value }">
  398. {{ text }}
  399. </template>
  400. <template v-slot:projectUnit="{ field, text, index, value }">
  401. {{ text }}
  402. </template>
  403. <template v-slot:empowerType="{ field, text, index, value }">
  404. <audit-warrant-input
  405. :ref="'prodata_empowerType_' + index"
  406. :value="value[index]"
  407. :index="index"
  408. :data="'prodata'"
  409. :field="field"
  410. lx="type"
  411. @change="setchange"
  412. />
  413. </template>
  414. <template v-slot:startDate="{ field, text, index, value }">
  415. <audit-warrant-input
  416. :ref="'prodata_startDate_' + index"
  417. :value="value[index]"
  418. :index="index"
  419. :field="field"
  420. :data="'prodata'"
  421. lx="stime"
  422. @change="setchange"
  423. />
  424. </template>
  425. <template v-slot:endDate="{ field, text, index, value }">
  426. <audit-warrant-input
  427. :ref="'prodata_endDate_' + index"
  428. :value="value[index]"
  429. :index="index"
  430. :field="field"
  431. :data="'prodata'"
  432. lx="etime"
  433. @change="setchange"
  434. />
  435. </template>
  436. </XmChildTable> </template
  437. ></audit-advanced-group> </td
  438. ></tr>
  439. </table>
  440. <!-- 授权角色 -->
  441. <table>
  442. <tr v-if="roleTable.length > 1">
  443. <td
  444. ><audit-advanced-group
  445. :expand="roleExpand"
  446. :expand-str="'roleExpand'"
  447. :group-label="'授权角色'"
  448. tablestyle="''"
  449. @changedClick="changedClick"
  450. ><template>
  451. <template>
  452. <div :class="$style.wrapper">
  453. <div v-show="roleExpand" :class="$style.btnselect">
  454. <a-button type="link" :class="$style.batchselect" @click="roleShow = true">
  455. <a-icon type="check-circle" :theme="'filled'" />
  456. 添加
  457. </a-button>
  458. </div>
  459. </div>
  460. </template>
  461. <XmChildTable
  462. ref="rdata"
  463. v-model="roleData"
  464. :label="null"
  465. :columns="roleColumns"
  466. :fields="
  467. [
  468. {
  469. caption: '序号',
  470. name: 'sortNum',
  471. dataType: 'sortNum',
  472. },
  473. ].concat(roleTable)
  474. "
  475. :addbuttonvisiable="false"
  476. >
  477. <template v-slot:roleName="{ field, text, index, value }">
  478. {{ text }}
  479. </template>
  480. <template v-slot:empowerType="{ field, text, index, value }">
  481. <audit-warrant-input
  482. :ref="'rdata_empowerType_' + index"
  483. :value="value[index]"
  484. :index="index"
  485. :data="'rdata'"
  486. :field="field"
  487. lx="type"
  488. @change="setchange"
  489. />
  490. </template>
  491. <template v-slot:startDate="{ field, text, index, value }">
  492. <audit-warrant-input
  493. :ref="'rdata_startDate_' + index"
  494. :value="value[index]"
  495. :index="index"
  496. :field="field"
  497. :data="'rdata'"
  498. lx="stime"
  499. @change="setchange"
  500. />
  501. </template>
  502. <template v-slot:endDate="{ field, text, index, value }">
  503. <audit-warrant-input
  504. :ref="'rdata_endDate_' + index"
  505. :value="value[index]"
  506. :index="index"
  507. :field="field"
  508. :data="'rdata'"
  509. lx="etime"
  510. @change="setchange"
  511. />
  512. </template>
  513. </XmChildTable> </template
  514. ></audit-advanced-group> </td
  515. ></tr>
  516. </table>
  517. <div v-show="false">
  518. <SdGroupPicker
  519. ref="dwRelSelect"
  520. v-model="mainSendUnit"
  521. :root-node="rootNodeData"
  522. :single="false"
  523. :read-only="false"
  524. @change="changeunit"
  525. />
  526. </div>
  527. <div v-show="false">
  528. <SdGroupPicker
  529. ref="cRelSelect"
  530. v-model="companyUnit"
  531. :root-node="rootNodeData"
  532. :single="false"
  533. :read-only="false"
  534. @change="changecompany"
  535. />
  536. </div>
  537. <div v-show="false">
  538. <SdUserPicker
  539. ref="pRelSelect"
  540. v-model="mainSendPersonal"
  541. :single="false"
  542. :root-node="rootNodeData"
  543. :read-only="false"
  544. @change="changep"
  545. />
  546. </div>
  547. </audit-form-top-banner>
  548. <roleModal v-model="roleShow" @selectRoleList="changeRole" />
  549. <projectModal v-model="projectShow" @selectProject="changeProject" />
  550. <AuditClassIndexTable
  551. ref="indexSelect"
  552. :visible="indexTableShow"
  553. :class-data="maintaindata"
  554. @listMxSelected="listMxSelected"
  555. />
  556. <auditClassTable
  557. :select-type="'radio'"
  558. :visible="flTableShow"
  559. @listMxSelected="classListMxSelected"
  560. >
  561. </auditClassTable>
  562. </span>
  563. </template>
  564. <script>
  565. import { Modal, Message } from 'ant-design-vue'
  566. import crossWindowWatcher from '@/common/services/cross-window-watcher'
  567. import axios from '@/common/services/axios-instance'
  568. import auditFormTopBanner from '../../components/audit-form-top-banner'
  569. import auditAdvancedGroup from '../../components/audit-advanced-group.vue'
  570. import auditAdvancedGroupMixins from '../../components/audit-advanced-group-mixins'
  571. import auditWarrantInput from './audit-warrant-input.vue'
  572. import auditWarrantInputP from '../dataMarket/audit-warrant-input.vue'
  573. import auditMaintainService from './data-config'
  574. import SdGroupPicker from '@/common/components/sd-group-picker.vue'
  575. import SdUserPicker from '@/common/components/sd-user-picker.vue'
  576. import XmChildTable from '../../components/xm-child-table.vue'
  577. import roleModal from './role-modal.vue'
  578. import projectModal from './project-modal.vue'
  579. import moment from 'moment'
  580. import AuditClassIndexTable from '../dataUphold/audit-class-index-table.vue'
  581. import auditClassTable from './audit-class-table.vue'
  582. import { getUserInfo } from '@/common/store-mixin'
  583. export default {
  584. name: 'AuditDataEmpowerInfo',
  585. metaInfo: {
  586. title: '数据分类授权',
  587. },
  588. components: {
  589. SdGroupPicker,
  590. SdUserPicker,
  591. XmChildTable,
  592. auditFormTopBanner,
  593. auditAdvancedGroup,
  594. auditWarrantInput,
  595. auditWarrantInputP,
  596. roleModal,
  597. projectModal,
  598. AuditClassIndexTable,
  599. auditClassTable,
  600. },
  601. mixins: [auditAdvancedGroupMixins],
  602. data() {
  603. return {
  604. mainSendUnit: [],
  605. companyUnit: [],
  606. mainSendPersonal: [],
  607. mainSendRole: [],
  608. selectedRowKeys: [],
  609. selectid: '',
  610. maintaindata: [],
  611. unitdata: [],
  612. personaldata: [],
  613. maintainExpand: true,
  614. unitExpand: true,
  615. personalExpand: true,
  616. roleExpand: true,
  617. projectExpand: true,
  618. personal: [],
  619. unit: [],
  620. indexTableShow: false,
  621. // 分类字段 分类名称 编号 描述
  622. classifyFileds: [
  623. {
  624. caption: '序号',
  625. name: 'sortNum',
  626. dataType: 'sortNum',
  627. },
  628. {
  629. // 分类名称
  630. caption: '分类名称',
  631. name: 'categoryName',
  632. dataType: 'string',
  633. },
  634. {
  635. // 分类编号
  636. caption: '分类编号',
  637. name: 'categoryId',
  638. dataType: 'string',
  639. },
  640. {
  641. // 分类描述
  642. caption: '分类描述',
  643. name: 'categoryDesc',
  644. dataType: 'string',
  645. },
  646. {
  647. dataIndex: 'indexId',
  648. name: 'indexId',
  649. dataType: 'string',
  650. sdHidden: true,
  651. },
  652. ],
  653. columns: [
  654. {
  655. title: '序号',
  656. dataIndex: 'sortNum',
  657. key: 'sortNum',
  658. customRender: (text, record, index) => `${index + 1}`,
  659. width: '80px',
  660. },
  661. {
  662. title: '分类名称',
  663. dataIndex: 'categoryName',
  664. key: 'categoryName',
  665. width: '30%',
  666. },
  667. {
  668. title: '分类编号',
  669. dataIndex: 'categoryId',
  670. key: 'categoryId',
  671. width: '30%',
  672. },
  673. {
  674. title: '分类描述',
  675. dataIndex: 'categoryDesc',
  676. key: 'categoryDesc',
  677. width: '30%',
  678. },
  679. {
  680. dataIndex: 'indexId',
  681. sdHidden: true,
  682. },
  683. ],
  684. unitcolumns: [
  685. {
  686. title: '序号',
  687. dataIndex: 'sortNum',
  688. customRender: (text, record, index) => `${index + 1}`,
  689. width: '80px',
  690. },
  691. {
  692. title: '单位编号',
  693. dataIndex: 'unitCode',
  694. sdHidden: false,
  695. },
  696. {
  697. title: '单位名称',
  698. dataIndex: 'unitName',
  699. sdHidden: false,
  700. },
  701. {
  702. title: '授权类型',
  703. dataIndex: 'empowerType',
  704. sdHidden: false,
  705. },
  706. {
  707. title: '开始日期',
  708. dataIndex: 'startDate',
  709. sdHidden: false,
  710. },
  711. {
  712. title: '结束日期',
  713. dataIndex: 'endDate',
  714. sdHidden: false,
  715. },
  716. {
  717. dataIndex: 'id',
  718. sdHidden: true,
  719. },
  720. {
  721. dataIndex: 'unitOpt',
  722. sdHidden: true,
  723. },
  724. {
  725. dataIndex: 'unitId',
  726. sdHidden: true,
  727. },
  728. {
  729. dataIndex: 'selectOrgId',
  730. sdHidden: true,
  731. },
  732. {
  733. dataIndex: 'belongedOrgId',
  734. sdHidden: true,
  735. },
  736. {
  737. dataIndex: 'docType',
  738. sdHidden: true,
  739. },
  740. {
  741. dataIndex: 'maintainId',
  742. sdHidden: true,
  743. },
  744. {
  745. dataIndex: 'applyId',
  746. sdHidden: true,
  747. },
  748. {
  749. dataIndex: 'indexId',
  750. sdHidden: true,
  751. },
  752. ],
  753. personalcolumns: [
  754. {
  755. title: '序号',
  756. dataIndex: 'sortNum',
  757. customRender: (text, record, index) => `${index + 1}`,
  758. width: '80px',
  759. },
  760. {
  761. title: '用户名',
  762. dataIndex: 'userName',
  763. sdHidden: false,
  764. },
  765. {
  766. title: '用户工号',
  767. dataIndex: 'userId',
  768. sdHidden: false,
  769. },
  770. {
  771. title: '所属单位',
  772. dataIndex: 'userUnit',
  773. sdHidden: false,
  774. },
  775. {
  776. title: '授权类型',
  777. dataIndex: 'empowerType',
  778. sdHidden: false,
  779. },
  780. {
  781. title: '开始日期',
  782. dataIndex: 'startDate',
  783. sdHidden: false,
  784. },
  785. {
  786. title: '结束日期',
  787. dataIndex: 'endDate',
  788. sdHidden: false,
  789. },
  790. {
  791. dataIndex: 'id',
  792. sdHidden: true,
  793. },
  794. {
  795. dataIndex: 'userOpt',
  796. sdHidden: true,
  797. },
  798. {
  799. dataIndex: 'selectOrgId',
  800. sdHidden: true,
  801. },
  802. {
  803. dataIndex: 'belongedOrgId',
  804. sdHidden: true,
  805. },
  806. {
  807. dataIndex: 'docType',
  808. sdHidden: true,
  809. },
  810. {
  811. dataIndex: 'maintainId',
  812. sdHidden: true,
  813. },
  814. {
  815. dataIndex: 'applyId',
  816. sdHidden: true,
  817. },
  818. {
  819. dataIndex: 'indexId',
  820. sdHidden: true,
  821. },
  822. ],
  823. roleColumns: [
  824. {
  825. title: '序号',
  826. dataIndex: 'sortNum',
  827. customRender: (text, record, index) => `${index + 1}`,
  828. width: '80px',
  829. },
  830. {
  831. title: '授权类型',
  832. dataIndex: 'empowerType',
  833. sdHidden: false,
  834. },
  835. {
  836. title: '开始日期',
  837. dataIndex: 'startDate',
  838. sdHidden: false,
  839. },
  840. {
  841. title: '结束日期',
  842. dataIndex: 'endDate',
  843. sdHidden: false,
  844. },
  845. {
  846. dataIndex: 'id',
  847. sdHidden: true,
  848. },
  849. {
  850. dataIndex: 'roleId',
  851. sdHidden: true,
  852. },
  853. {
  854. dataIndex: 'selectOrgId',
  855. sdHidden: true,
  856. },
  857. {
  858. dataIndex: 'belongedOrgId',
  859. sdHidden: true,
  860. },
  861. {
  862. dataIndex: 'docType',
  863. sdHidden: true,
  864. },
  865. {
  866. dataIndex: 'maintainId',
  867. sdHidden: true,
  868. },
  869. {
  870. dataIndex: 'applyId',
  871. sdHidden: true,
  872. },
  873. {
  874. dataIndex: 'roleOpt',
  875. sdHidden: true,
  876. },
  877. {
  878. dataIndex: 'indexId',
  879. sdHidden: true,
  880. },
  881. ],
  882. projectColums: [
  883. {
  884. title: '序号',
  885. dataIndex: 'sortNum',
  886. customRender: (text, record, index) => `${index + 1}`,
  887. width: '80px',
  888. },
  889. {
  890. title: '授权类型',
  891. dataIndex: 'empowerType',
  892. sdHidden: false,
  893. },
  894. {
  895. title: '开始日期',
  896. dataIndex: 'startDate',
  897. sdHidden: false,
  898. },
  899. {
  900. title: '结束日期',
  901. dataIndex: 'endDate',
  902. sdHidden: false,
  903. },
  904. {
  905. dataIndex: 'id',
  906. sdHidden: true,
  907. },
  908. {
  909. dataIndex: 'roleId',
  910. sdHidden: true,
  911. },
  912. {
  913. dataIndex: 'selectOrgId',
  914. sdHidden: true,
  915. },
  916. {
  917. dataIndex: 'belongedOrgId',
  918. sdHidden: true,
  919. },
  920. {
  921. dataIndex: 'docType',
  922. sdHidden: true,
  923. },
  924. {
  925. dataIndex: 'maintainId',
  926. sdHidden: true,
  927. },
  928. {
  929. dataIndex: 'applyId',
  930. sdHidden: true,
  931. },
  932. {
  933. dataIndex: 'roleOpt',
  934. sdHidden: true,
  935. },
  936. {
  937. dataIndex: 'projectOpt',
  938. sdHidden: true,
  939. },
  940. {
  941. dataIndex: 'projectId',
  942. sdHidden: true,
  943. },
  944. {
  945. dataIndex: 'indexId',
  946. sdHidden: true,
  947. },
  948. ],
  949. roleData: [],
  950. roleTable: [],
  951. roleShow: false,
  952. projectShow: false,
  953. projectData: [],
  954. projectTable: [],
  955. companyExpand: true,
  956. companyData: [],
  957. companycolumns: [
  958. {
  959. title: '序号',
  960. dataIndex: 'sortNum',
  961. customRender: (text, record, index) => `${index + 1}`,
  962. width: '80px',
  963. },
  964. {
  965. title: '公司名称',
  966. dataIndex: 'unitName',
  967. sdHidden: false,
  968. },
  969. {
  970. title: '公司编号',
  971. dataIndex: 'unitCode',
  972. sdHidden: false,
  973. },
  974. {
  975. title: '授权类型',
  976. dataIndex: 'empowerType',
  977. sdHidden: true,
  978. },
  979. {
  980. title: '开始日期',
  981. dataIndex: 'startDate',
  982. sdHidden: true,
  983. },
  984. {
  985. title: '结束日期',
  986. dataIndex: 'endDate',
  987. sdHidden: true,
  988. },
  989. {
  990. dataIndex: 'id',
  991. sdHidden: true,
  992. },
  993. {
  994. dataIndex: 'unitOpt',
  995. sdHidden: true,
  996. },
  997. {
  998. dataIndex: 'unitId',
  999. sdHidden: true,
  1000. },
  1001. {
  1002. dataIndex: 'selectOrgId',
  1003. sdHidden: true,
  1004. },
  1005. {
  1006. dataIndex: 'belongedOrgId',
  1007. sdHidden: true,
  1008. },
  1009. {
  1010. dataIndex: 'docType',
  1011. sdHidden: true,
  1012. },
  1013. {
  1014. dataIndex: 'maintainId',
  1015. sdHidden: true,
  1016. },
  1017. {
  1018. dataIndex: 'applyId',
  1019. sdHidden: true,
  1020. },
  1021. {
  1022. dataIndex: 'indexId',
  1023. sdHidden: true,
  1024. },
  1025. ],
  1026. classIndexFileds: [
  1027. {
  1028. caption: '序号',
  1029. name: 'sortNum',
  1030. dataType: 'sortNum',
  1031. },
  1032. {
  1033. caption: '业务名称',
  1034. name: 'indexName',
  1035. dataType: 'string',
  1036. },
  1037. {
  1038. caption: '业务编号',
  1039. name: 'id',
  1040. dataType: 'string',
  1041. },
  1042. {
  1043. caption: '系统来源名称',
  1044. name: 'indexRemark',
  1045. dataType: 'string',
  1046. },
  1047. {
  1048. dataIndex: 'indexId',
  1049. name: 'indexId',
  1050. dataType: 'string',
  1051. sdHidden: true,
  1052. },
  1053. ],
  1054. classIndexData: [],
  1055. classShow: true,
  1056. flTableShow: false,
  1057. indexColumns: [
  1058. // 序号 ,业务名称 业务编号
  1059. {
  1060. title: '序号',
  1061. dataIndex: 'sortNum',
  1062. customRender: (text, record, index) => `${index + 1}`,
  1063. width: '80px',
  1064. },
  1065. {
  1066. title: '业务名称',
  1067. dataIndex: 'indexName',
  1068. },
  1069. {
  1070. title: '业务编号',
  1071. dataIndex: 'id',
  1072. },
  1073. {
  1074. title: '系统来源名称',
  1075. dataIndex: 'indexRemark',
  1076. },
  1077. {
  1078. dataIndex: 'indexId',
  1079. sdHidden: true,
  1080. },
  1081. ],
  1082. rootNodeData: null,
  1083. }
  1084. },
  1085. created() {
  1086. if (this.$route.query.selectid) {
  1087. this.selectid = this.$route.query.selectid
  1088. this.getEmpowerInfo()
  1089. }
  1090. // 获取人员和单位 field
  1091. this.getfields()
  1092. },
  1093. mounted() {
  1094. const userInfo = getUserInfo()
  1095. auditMaintainService.getCompany(userInfo.account).then((res) => {
  1096. this.rootNodeData = {
  1097. code: res.data.id,
  1098. name: res.data.name,
  1099. }
  1100. const roles = this.$store.state.sd.common.userInfo.default.roles
  1101. const isExport = roles.map((val) => val.code).includes('G-1_DATA_AUDIT_RULE')
  1102. if (isExport) {
  1103. this.rootNodeData = {
  1104. code: '28951',
  1105. name: '国家电力投资集团有限公司',
  1106. }
  1107. }
  1108. })
  1109. },
  1110. methods: {
  1111. // 获取授权详情
  1112. getEmpowerInfo() {
  1113. axios
  1114. .post('api/xcoa-mobile/v1/iamdatacategory/iamDataSqDetail?id=' + this.selectid)
  1115. .then((res) => {
  1116. this.maintaindata = res.data.iamDataCategoryEntities.filter((item) => item != null)
  1117. this.classIndexData = res.data.iamSearchCategoryidIndexnameEntities.filter(
  1118. (item) => item != null
  1119. )
  1120. this.companyData = res.data.iamAppointUnitEntities.map((val) => {
  1121. if (val.empowerType !== '1') {
  1122. val.startDate = moment(val.startDate).format('YYYY-MM-DD')
  1123. val.endDate = moment(val.endDate).format('YYYY-MM-DD')
  1124. }
  1125. return val
  1126. })
  1127. this.unitdata = res.data.iamLicenseUnitEntities.map((val) => {
  1128. if (val.empowerType !== '1') {
  1129. val.startDate = moment(val.startDate).format('YYYY-MM-DD')
  1130. val.endDate = moment(val.endDate).format('YYYY-MM-DD')
  1131. }
  1132. return val
  1133. })
  1134. this.personaldata = res.data.iamLicensePeopleEntities.map((val) => {
  1135. if (val.empowerType !== '1') {
  1136. val.startDate = moment(val.startDate).format('YYYY-MM-DD')
  1137. val.endDate = moment(val.endDate).format('YYYY-MM-DD')
  1138. }
  1139. return val
  1140. })
  1141. this.projectData = res.data.iamLicenseProjectEntities.map((val) => {
  1142. if (val.empowerType !== '1') {
  1143. val.startDate = moment(val.startDate).format('YYYY-MM-DD')
  1144. val.endDate = moment(val.endDate).format('YYYY-MM-DD')
  1145. }
  1146. return val
  1147. })
  1148. this.roleData = res.data.iamLicenseRoleEntities.map((val) => {
  1149. if (val.empowerType !== '1') {
  1150. val.startDate = moment(val.startDate).format('YYYY-MM-DD')
  1151. val.endDate = moment(val.endDate).format('YYYY-MM-DD')
  1152. }
  1153. return val
  1154. })
  1155. })
  1156. },
  1157. setchange(value, field, index, lx, data) {
  1158. this.$refs[data].$refs[field.name + '_' + index][0].setFieldValue(field.name, value)
  1159. if (data === 'pdata') {
  1160. this.personaldata[index][field.name] = value
  1161. } else if (data === 'rdata') {
  1162. this.roleData[index][field.name] = value
  1163. } else if (data === 'prodata') {
  1164. this.projectData[index][field.name] = value
  1165. }
  1166. if (lx === 'type') {
  1167. // 设置 时间两个条件
  1168. if (value === '1') {
  1169. this.$refs[data + '_startDate_' + index].disabled = true
  1170. this.$refs[data + '_endDate_' + index].disabled = true
  1171. this.$refs[data + '_endDate_' + index].rules = [
  1172. { required: false, trigger: ['change', 'blur'] },
  1173. ]
  1174. this.$refs[data + '_startDate_' + index].rules = [
  1175. { required: false, trigger: ['change', 'blur'] },
  1176. ]
  1177. } else {
  1178. this.$refs[data + '_startDate_' + index].disabled = false
  1179. this.$refs[data + '_endDate_' + index].disabled = false
  1180. this.$refs[data + '_endDate_' + index].rules = [
  1181. { required: true, trigger: ['change', 'blur'] },
  1182. ]
  1183. this.$refs[data + '_startDate_' + index].rules = [
  1184. { required: true, trigger: ['change', 'blur'] },
  1185. ]
  1186. }
  1187. if (value === '2') {
  1188. this.$refs[data + '_startDate_' + index].disabled = true
  1189. this.$refs[data + '_endDate_' + index].disabled = true
  1190. this.$refs[data + '_endDate_' + index].rules = [
  1191. { required: false, trigger: ['change', 'blur'] },
  1192. ]
  1193. this.$refs[data + '_startDate_' + index].rules = [
  1194. { required: false, trigger: ['change', 'blur'] },
  1195. ]
  1196. // this.$refs[data + '_endDate_' + index].model.startDate = moment().endOf
  1197. this.$refs[data + '_startDate_' + index].model.startDate = moment()
  1198. this.$refs[data + '_endDate_' + index].model.endDate = moment().endOf('year')
  1199. }
  1200. if (value === '3') {
  1201. this.$refs[data + '_startDate_' + index].disabled = true
  1202. this.$refs[data + '_endDate_' + index].disabled = true
  1203. this.$refs[data + '_endDate_' + index].rules = [
  1204. { required: false, trigger: ['change', 'blur'] },
  1205. ]
  1206. this.$refs[data + '_startDate_' + index].rules = [
  1207. { required: false, trigger: ['change', 'blur'] },
  1208. ]
  1209. this.$refs[data + '_startDate_' + index].model.startDate = moment()
  1210. // 加一个月
  1211. this.$refs[data + '_endDate_' + index].model.endDate = moment().add(1, 'months')
  1212. }
  1213. if (value === '4') {
  1214. this.$refs[data + '_startDate_' + index].disabled = true
  1215. this.$refs[data + '_endDate_' + index].disabled = true
  1216. this.$refs[data + '_endDate_' + index].rules = [
  1217. { required: false, trigger: ['change', 'blur'] },
  1218. ]
  1219. this.$refs[data + '_startDate_' + index].rules = [
  1220. { required: false, trigger: ['change', 'blur'] },
  1221. ]
  1222. this.$refs[data + '_startDate_' + index].model.startDate = moment()
  1223. this.$refs[data + '_endDate_' + index].model.endDate = moment().add(3, 'months')
  1224. }
  1225. if (value === '5') {
  1226. this.$refs[data + '_startDate_' + index].disabled = true
  1227. this.$refs[data + '_endDate_' + index].disabled = true
  1228. this.$refs[data + '_endDate_' + index].rules = [
  1229. { required: false, trigger: ['change', 'blur'] },
  1230. ]
  1231. this.$refs[data + '_startDate_' + index].rules = [
  1232. { required: false, trigger: ['change', 'blur'] },
  1233. ]
  1234. this.$refs[data + '_startDate_' + index].model.startDate = moment()
  1235. this.$refs[data + '_endDate_' + index].model.endDate = moment().add(6, 'months')
  1236. }
  1237. } else if (lx === 'stime') {
  1238. // 设置 开始时间
  1239. this.$refs[data + '_endDate_' + index].time = new Date(value).getTime()
  1240. } else {
  1241. this.$refs[data + '_startDate_' + index].time = new Date(value).getTime()
  1242. }
  1243. },
  1244. changeunit(values) {
  1245. let iamAuditDwMxs = []
  1246. iamAuditDwMxs = this.unitdata
  1247. values.forEach((element) => {
  1248. if (iamAuditDwMxs.findIndex((dw) => dw.unitId === element.code) === -1) {
  1249. const mmc = {}
  1250. mmc.unitName = element.name
  1251. mmc.unitCode = element.code
  1252. mmc.unitId = element.id
  1253. iamAuditDwMxs.push(mmc)
  1254. }
  1255. })
  1256. this.unitdata = iamAuditDwMxs
  1257. },
  1258. deletedClassList() {
  1259. const ids = this.maintaindata.map((item) => item.categoryId)
  1260. this.classIndexData = this.classIndexData.filter((item) => ids.includes(item.categoryId))
  1261. },
  1262. changep(values) {
  1263. let iamAuditPMxs = []
  1264. iamAuditPMxs = this.personaldata
  1265. values.forEach((element) => {
  1266. if (iamAuditPMxs.findIndex((dw) => dw.userId === element.code) === -1) {
  1267. const mmc = {}
  1268. mmc.userName = element.name
  1269. mmc.userId = element.code
  1270. axios({
  1271. url: 'api/xcoa-mobile/v1/iammodelmaintain/findGroupByAccount?account=' + element.code,
  1272. method: 'get',
  1273. }).then((res) => {
  1274. mmc.userUnit = res.data.name
  1275. iamAuditPMxs.push(mmc)
  1276. })
  1277. }
  1278. })
  1279. this.personaldata = iamAuditPMxs
  1280. },
  1281. // 选择申请单位
  1282. dwRelSelect() {
  1283. // 选择申请单位
  1284. setTimeout(() => {
  1285. this.$refs.dwRelSelect.openPicker()
  1286. }, 0)
  1287. },
  1288. pRelSelect() {
  1289. // 选择申请单位
  1290. setTimeout(() => {
  1291. this.$refs.pRelSelect.openPicker()
  1292. }, 0)
  1293. },
  1294. roleSelect() {
  1295. // 选择申请角色
  1296. setTimeout(() => {
  1297. this.$refs.roleSelect.openPicker()
  1298. }, 0)
  1299. },
  1300. companylSelect() {
  1301. // 选择申请单位
  1302. setTimeout(() => {
  1303. this.$refs.cRelSelect.openPicker()
  1304. }, 0)
  1305. },
  1306. // 选择索引
  1307. inedxRelSelect() {
  1308. this.indexTableShow = true
  1309. },
  1310. saveForm() {
  1311. const pdata = []
  1312. const rdata = []
  1313. const prodata = []
  1314. const cdata = []
  1315. if (this.maintaindata.length === 0) {
  1316. Message.error('请至少选择一个分类')
  1317. return
  1318. }
  1319. this.personaldata.forEach((item) => {
  1320. let sl = null
  1321. let el = null
  1322. if (item.empowerType === '0') {
  1323. if (item.startDate !== undefined) {
  1324. const s = new Date(item.startDate)
  1325. const e = new Date(item.endDate)
  1326. sl = s.getTime()
  1327. el = e.getTime()
  1328. }
  1329. }
  1330. if (item.empowerType === '2') {
  1331. sl = new Date(moment()).getTime()
  1332. el = new Date(moment().endOf('year')).getTime()
  1333. }
  1334. // 3 4 5
  1335. if (item.empowerType === '3') {
  1336. sl = new Date(moment()).getTime()
  1337. el = new Date(moment().add(1, 'months')).getTime()
  1338. }
  1339. if (item.empowerType === '4') {
  1340. sl = new Date(moment()).getTime()
  1341. el = new Date(moment().add(3, 'months')).getTime()
  1342. }
  1343. if (item.empowerType === '5') {
  1344. sl = new Date(moment()).getTime()
  1345. el = new Date(moment().add(6, 'months')).getTime()
  1346. }
  1347. pdata.push({
  1348. docType: 'date',
  1349. empowerType: item.empowerType,
  1350. startDate: sl,
  1351. endDate: el,
  1352. userId: item.userId,
  1353. userUnit: item.userUnit,
  1354. userName: item.userName,
  1355. })
  1356. })
  1357. this.roleData.forEach((item) => {
  1358. let sl = null
  1359. let el = null
  1360. if (item.empowerType === '0') {
  1361. if (item.startDate !== undefined) {
  1362. const s = new Date(item.startDate)
  1363. const e = new Date(item.endDate)
  1364. sl = s.getTime()
  1365. el = e.getTime()
  1366. }
  1367. }
  1368. if (item.empowerType === '2') {
  1369. sl = new Date(moment()).getTime()
  1370. el = new Date(moment().endOf('year')).getTime()
  1371. }
  1372. rdata.push({
  1373. docType: 'date',
  1374. empowerType: item.empowerType,
  1375. startDate: sl,
  1376. endDate: el,
  1377. roleId: item.roleId,
  1378. roleName: item.roleName,
  1379. })
  1380. })
  1381. this.projectData.forEach((item) => {
  1382. let sl = null
  1383. let el = null
  1384. if (item.empowerType === '0') {
  1385. if (item.startDate !== undefined) {
  1386. const s = new Date(item.startDate)
  1387. const e = new Date(item.endDate)
  1388. sl = s.getTime()
  1389. el = e.getTime()
  1390. }
  1391. }
  1392. if (item.empowerType === '2') {
  1393. sl = new Date(moment()).getTime()
  1394. el = new Date(moment().endOf('year')).getTime()
  1395. }
  1396. prodata.push({
  1397. docType: 'date',
  1398. empowerType: item.empowerType,
  1399. startDate: sl,
  1400. endDate: el,
  1401. projectId: item.projectId,
  1402. projectName: item.projectName,
  1403. })
  1404. })
  1405. this.companyData.forEach((item) => {
  1406. let sl = null
  1407. let el = null
  1408. if (item.empowerType === '2') {
  1409. sl = new Date(moment()).getTime()
  1410. el = new Date(moment().endOf('year')).getTime()
  1411. }
  1412. cdata.push({
  1413. docType: 'date',
  1414. empowerType: item.empowerType,
  1415. startDate: sl,
  1416. endDate: el,
  1417. unitCode: item.unitCode,
  1418. unitName: item.unitName,
  1419. unitId: item.unitId,
  1420. })
  1421. })
  1422. // if (this.classIndexData.length === 0) {
  1423. // Modal.warning({
  1424. // title: '提示',
  1425. // content: '请至少选择一个索引项!',
  1426. // })
  1427. // return false
  1428. // }
  1429. if (pdata.length === 0 && prodata.length === 0 && rdata.length === 0 && cdata.length === 0) {
  1430. Modal.warning({
  1431. title: '提示',
  1432. content: '请至少选择一个授权项!',
  1433. })
  1434. return false
  1435. }
  1436. const params = {
  1437. iamDataCategoryEntities: this.maintaindata,
  1438. iamLicenseUnitEntities: [],
  1439. iamLicensePeopleEntities: pdata,
  1440. iamLicenseProjectEntities: prodata,
  1441. iamLicenseRoleEntities: rdata,
  1442. iamAppointUnitEntities: cdata,
  1443. iamSearchCategoryidIndexnameEntities: this.classIndexData,
  1444. recordId: this.selectid,
  1445. }
  1446. auditMaintainService.editIamAuditMaintain(params).then((res) => {
  1447. if (res) {
  1448. Message.success('修改成功', 1).then((res) => {
  1449. // this.close(true)
  1450. })
  1451. }
  1452. })
  1453. },
  1454. close(flag) {
  1455. crossWindowWatcher.notifyChange(this.$route.fullPath, flag)
  1456. window.close()
  1457. },
  1458. showSelection() {
  1459. return true
  1460. },
  1461. onSelectChange(selectedRowKeys) {
  1462. this.selectedRowKeys = selectedRowKeys
  1463. },
  1464. // 获取table字段信息
  1465. getfields() {
  1466. axios({
  1467. url: 'api/xcoa-mobile/v1/page/wp/audit/maintain/iamLicenseRole',
  1468. method: 'get',
  1469. }).then((res) => {
  1470. this.roleTable = res.data.pageFormData.pageFieldInfos
  1471. this.roleTable.find((item) => item.name === 'empowerType').attr.mandatory = 'false'
  1472. })
  1473. axios({
  1474. url: 'api/xcoa-mobile/v1/page/wp/audit/maintain/iamLicensePeople',
  1475. method: 'get',
  1476. }).then((res) => {
  1477. this.personal = res.data.pageFormData.pageFieldInfos
  1478. })
  1479. axios({
  1480. url: 'api/xcoa-mobile/v1/page/wp/audit/maintain/iamLicenseUnit',
  1481. method: 'get',
  1482. }).then((res) => {
  1483. this.unit = res.data.pageFormData.pageFieldInfos
  1484. this.unit.find((item) => item.name === 'empowerType').attr.mandatory = 'false'
  1485. })
  1486. axios({
  1487. url: 'api/xcoa-mobile/v1/page/wp/audit/maintain/iamLicenseProject',
  1488. method: 'get',
  1489. }).then((res) => {
  1490. this.projectTable = res.data.pageFormData.pageFieldInfos
  1491. this.projectTable.find((item) => item.name === 'empowerType').attr.mandatory = 'false'
  1492. })
  1493. },
  1494. getmxselect(ids) {
  1495. const arrid = ids.split(',')
  1496. arrid.forEach((id) => {
  1497. auditMaintainService.findIamAuditMaintain(id).then((data) => {
  1498. this.maintaindata.push(data)
  1499. })
  1500. })
  1501. },
  1502. changeRole(values) {
  1503. let iamAuditDwMxs = []
  1504. iamAuditDwMxs = this.roleData
  1505. values.forEach((element) => {
  1506. if (iamAuditDwMxs.findIndex((dw) => dw.roleId === element.id) === -1) {
  1507. const mmc = {}
  1508. mmc.roleName = element.name
  1509. mmc.roleId = element.id
  1510. iamAuditDwMxs.push(mmc)
  1511. }
  1512. })
  1513. this.roleData = iamAuditDwMxs
  1514. },
  1515. changeProject(values) {
  1516. let iamAuditDwMxs = []
  1517. iamAuditDwMxs = this.projectData
  1518. values.forEach((element) => {
  1519. if (iamAuditDwMxs.findIndex((dw) => dw.projectId === element.id) === -1) {
  1520. const mmc = {}
  1521. mmc.projectName = element.projectTitle
  1522. mmc.projectId = element.id
  1523. mmc.projectUnit = element.leadUnitName
  1524. iamAuditDwMxs.push(mmc)
  1525. }
  1526. })
  1527. this.projectData = iamAuditDwMxs
  1528. },
  1529. changecompany(values) {
  1530. let iamAuditDwMxs = []
  1531. iamAuditDwMxs = this.companyData
  1532. values.forEach((element) => {
  1533. if (iamAuditDwMxs.findIndex((dw) => dw.unitId === element.code) === -1) {
  1534. const mmc = {}
  1535. mmc.unitName = element.name
  1536. mmc.unitCode = element.code
  1537. mmc.unitId = element.id
  1538. iamAuditDwMxs.push(mmc)
  1539. }
  1540. })
  1541. this.companyData = iamAuditDwMxs
  1542. },
  1543. listMxSelected(keys, keyinfos) {
  1544. let iamAuditDwMxs = []
  1545. iamAuditDwMxs = this.classIndexData
  1546. keyinfos.forEach((element) => {
  1547. if (iamAuditDwMxs.findIndex((dw) => parseInt(dw.id) === parseInt(element.id)) === -1) {
  1548. iamAuditDwMxs.push(element)
  1549. }
  1550. })
  1551. this.classIndexData = iamAuditDwMxs
  1552. },
  1553. flRelSelect() {
  1554. this.flTableShow = true
  1555. },
  1556. classListMxSelected(keys, keyinfos) {
  1557. const iamAuditMxs = this.maintaindata
  1558. const ids = this.maintaindata.map((item) => parseInt(item.id))
  1559. keyinfos.map((item) => {
  1560. // 判断当前模型ID是否存在存在则不添加
  1561. const mmc = {}
  1562. mmc.categoryName = item.categoryName
  1563. mmc.categoryId = item.categoryId
  1564. mmc.categoryDesc = item.categoryDesc
  1565. mmc.indexId = item.id
  1566. mmc.id = item.id
  1567. if (ids.indexOf(item.id) === -1) {
  1568. iamAuditMxs.push(mmc)
  1569. }
  1570. })
  1571. this.maintaindata = iamAuditMxs
  1572. // 清空审搜数据
  1573. // this.classIndexData = []
  1574. },
  1575. },
  1576. }
  1577. </script>
  1578. <style module lang="scss">
  1579. @use '@/common/design' as *;
  1580. .btnselect {
  1581. position: relative;
  1582. top: 4px;
  1583. right: 80px;
  1584. float: right;
  1585. padding: 4px 0;
  1586. .batchselect {
  1587. z-index: 100;
  1588. margin-left: 10px;
  1589. }
  1590. }
  1591. .tableTop {
  1592. margin-top: 20px;
  1593. }
  1594. :global(.maintaintable) {
  1595. :global(.ant-table-tbody > tr > td) {
  1596. border-right: none;
  1597. border-left: none;
  1598. }
  1599. :global(.ant-table-thead > tr > th) {
  1600. border-right: none;
  1601. border-left: none;
  1602. }
  1603. :global(table) {
  1604. border: none !important;
  1605. }
  1606. :global(.ant-table-placeholder) {
  1607. border: none !important;
  1608. }
  1609. }
  1610. </style>