xm-spic-desensitize-config-form.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <template>
  2. <audit-form-top-banner :handel-save-form="saveForm" @handelSaveForm="saveForm">
  3. <sd-detail-form
  4. ref="docform"
  5. :class="$style.form"
  6. form-id="spicDesensitize"
  7. page-id="audit/spicdesensitize/spicDesensitize"
  8. :record-id="this.$route.query.record ? parseInt(this.$route.query.record) : null"
  9. @saved="saved"
  10. @close="close(true)"
  11. >
  12. <template v-slot="{ model, fields }">
  13. <table>
  14. <audit-advanced-group group-label="基本信息"> </audit-advanced-group>
  15. </table>
  16. <table>
  17. <tr>
  18. <sd-form-item-td name="title" :colspan="3" />
  19. </tr>
  20. </table>
  21. <table>
  22. <tr
  23. ><td :colspan="4">
  24. <sd-form-item name="sensitiveWordConfiguration" :label="null">
  25. <template v-slot:read-and-edit="{ editable }">
  26. <audit-advanced-group
  27. :expand="sensitiveWordExpand"
  28. :expand-str="'sensitiveWordExpand'"
  29. :group-label="'敏感词'"
  30. @changedClick="changedClick"
  31. >
  32. <template>
  33. <sd-child-table
  34. ref="sensitiveWord"
  35. :class="$style.deptPlanChild"
  36. v-model="model.sensitiveWordConfiguration"
  37. label=""
  38. :read-only="!editable"
  39. :sequence-column="true"
  40. :fields="Array.from(fields.sensitiveWordConfiguration.attr.dync)"
  41. :columns="columns"
  42. :flagpage="true"
  43. @change="changeNum"
  44. >
  45. <!-- input-form 表示这部分是子表组件的form插槽 -->
  46. <template v-slot:form="{ model, fields }">
  47. <table style="width: 80%">
  48. <tr>
  49. <sd-form-item-td name="name" :colspan="3" />
  50. </tr>
  51. </table>
  52. </template>
  53. </sd-child-table>
  54. </template>
  55. </audit-advanced-group>
  56. </template> </sd-form-item
  57. ></td>
  58. </tr>
  59. </table>
  60. <!-- <table>
  61. <sd-form-item label="" name="sensitiveWordConfiguration">
  62. <audit-advanced-group group-label="敏感词配置">
  63. <xm-child-table
  64. v-model="model.sensitiveWordConfiguration"
  65. :hide-pagination="hidePagination"
  66. :columns="columns"
  67. :fields="
  68. [
  69. {
  70. caption: '序号',
  71. name: 'sortNum',
  72. dataType: 'sortNum',
  73. },
  74. ].concat(Array.from(fields.sensitiveWordConfiguration.attr.dync).slice(0, 2))
  75. "
  76. >
  77. </xm-child-table>
  78. </audit-advanced-group>
  79. </sd-form-item>
  80. </table> -->
  81. </template>
  82. </sd-detail-form>
  83. </audit-form-top-banner>
  84. </template>
  85. <script>
  86. import { Message, Modal } from 'ant-design-vue'
  87. import debounce from 'lodash.debounce'
  88. import axios from '@/common/services/axios-instance'
  89. import crossWindowWatcher from '@/common/services/cross-window-watcher'
  90. import auditFormTopBanner from '@product/iam/components/audit-form-top-banner'
  91. import auditAdvancedGroup from '@product/iam/components/audit-advanced-group.vue'
  92. import xmChildTable from '@product/iam/components/xm-child-table'
  93. import components from './_import-components/xm-spic-desensitize-config-form-import'
  94. export default {
  95. name: 'XmSpicDesensitizeConfigForm',
  96. metaInfo: {
  97. title: '脱敏关键词配置',
  98. },
  99. components: {
  100. ...components,
  101. auditFormTopBanner,
  102. auditAdvancedGroup,
  103. // xmChildTable,
  104. },
  105. data() {
  106. return {
  107. sensitiveWordExpand: true,
  108. mainId: '',
  109. columns: [
  110. {
  111. title: '序号',
  112. dataIndex: 'sortNum',
  113. customRender: (text, record, index) => `${index + 1}`,
  114. width: '80px',
  115. },
  116. { dataIndex: 'mainId', sdHidden: true },
  117. {
  118. title: '关键词',
  119. dataIndex: 'name',
  120. },
  121. ],
  122. }
  123. },
  124. created() {
  125. setTimeout(() => {
  126. // 當前ID
  127. if (this.$route.query.record !== '' || this.$route.query.record !== undefined) {
  128. this.mainId = this.$route.query.record
  129. }
  130. }, 1000)
  131. },
  132. methods: {
  133. saveForm() {
  134. this.$refs.docform.saveBtnClick()
  135. // this.$refs.docform.validateFields().then(() => {
  136. // Message.success('保存成功').then(() => {
  137. // this.$refs.docform.saveBtnClick()
  138. // })
  139. // })
  140. },
  141. saved() {
  142. Message.success('保存成功', 1).then((res) => {
  143. this.close(true)
  144. })
  145. // this.close(true)
  146. },
  147. close(flag) {
  148. crossWindowWatcher.notifyChange(this.$route.fullPath, flag)
  149. window.close()
  150. },
  151. changeNum(data) {
  152. data.forEach((item, index) => {
  153. item.sortNum = index + 1
  154. })
  155. },
  156. },
  157. }
  158. </script>
  159. <style module lang="scss">
  160. @import '@/webflow/sd-flow-form.scss';
  161. </style>