data-rule-apply.vue 50 KB

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