12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364 |
- <template>
- <span>
- <sd-webflow
- ref="docform"
- :validate-form="validForm"
- :removed-tabs="['sdRelatedDoc']"
- :class="$style.form"
- @actionBtnClick="actionBtnClick"
- >
- <template v-slot:form="{ model, fields, FlowData }">
- <table>
- <colgroup>
- <col style="width: 15%;"/>
- <col style="width: 35%;"/>
- <col style="width: 15%;"/>
- <col style="width: 35%;"
- /></colgroup>
- <tr v-show="false">
- <!-- 标题 -->
- <sd-form-item-td name="title" :colspan="3" />
- </tr>
- <tr>
- <td colspan="4" style="border:none">
- <audit-advanced-group
- :expand="expandJ"
- :expand-str="'expandJ'"
- :group-label="'基本信息'"
- @changedClick="changedClick"
- />
- </td>
- </tr>
- <tr v-show="expandJ">
- <!-- 申请人 -->
- <sd-form-item-td name="creatorName" />
- <!-- 公司 -->
- <sd-form-item-td name="createDeptName" />
- </tr>
- <tr v-show="expandJ">
- <!-- 申请时间 -->
- <sd-form-item-td name="creationTime" />
- <!-- 授权类型 -->
- <sd-form-item-td name="empowerType">
- <template>
- <a-select v-model="model.empowerType" @change="changeType">
- <a-select-option
- v-for="(key, i) in fields.empowerType.attr.selectListItem"
- :key="i"
- :value="key.value"
- >
- {{ key.label }}
- </a-select-option>
- </a-select>
- </template>
- </sd-form-item-td>
- </tr>
- <tr v-if="(model.empowerType === '1' || model.empowerType === '2') && expandJ">
- <td class="ant-form-item-label ant-form-item-label">
- <label title="开始日期"> 开始日期 </label>
- </td>
- <td class="ant-form-item-control-wrapper">
- <a-date-picker v-model="model.startDate" :disabled="true" />
- </td>
- <td class="ant-form-item-label ant-form-item-label">
- <label title="结束日期"> 结束日期 </label>
- </td>
- <td class="ant-form-item-control-wrapper">
- <a-date-picker v-model="model.endDate" :disabled="true" />
- </td>
- </tr>
- <tr v-if="model.empowerType !== '1' && model.empowerType !== '2' && expandJ">
- <!-- 授权开始时间 -->
- <!-- <sd-form-item-td name="startDate" /> -->
- <!-- 授权截止时间 -->
- <!-- <sd-form-item-td name="endDate" /> -->
- <td class="ant-form-item-label ant-form-item-label">
- <label title="开始日期" class="ant-form-item-required"> 开始日期 </label>
- </td>
- <td class="ant-form-item-control-wrapper">
- <a-form-model-item :label="null" :rules="rules" prop="startDate">
- <a-date-picker v-model="model.startDate" />
- </a-form-model-item>
- </td>
- <td class="ant-form-item-label ant-form-item-label">
- <label title="结束日期" class="ant-form-item-required"> 结束日期 </label>
- </td>
- <td class="ant-form-item-control-wrapper">
- <a-form-model-item :label="null" :rules="rules" prop="endDate">
- <a-date-picker v-model="model.endDate" />
- </a-form-model-item>
- </td>
- </tr>
- <tr v-show="expandJ">
- <!-- 申请原因 -->
- <sd-form-item-td name="empowerReason" :colspan="3">
- <a-textarea v-model="model.empowerReason" :rows="3" />
- </sd-form-item-td>
- </tr>
- <tr
- ><td
- v-if="getClassdata(model, fields)"
- :colspan="4"
- style="line-height:40px;border:none1;"
- :class="$style.maintaintable"
- >
- <audit-advanced-group
- :expand="expandY"
- :expand-str="'expandY'"
- :group-label="'数据分类'"
- @changedClick="changedClick"
- ><template>
- <!-- </td></tr><tr><td v-if="getmaintaindata(model,fields)" :colspan="4" :class="$style.maintaintable" style="border:none"> -->
- <div :class="$style.wrapper">
- <div v-show="expandY && classtable" :class="$style.btnselectmaintain">
- <a-button type="link" :class="$style.batchselect" @click="flRelSelect">
- <a-icon type="check-circle" :theme="'filled'" />
- 选择
- </a-button>
- <a-button
- type="link"
- :disabled="selectedRowKeys.length === 0"
- style="z-index:10"
- @click="removemx(selectedRowKeys)"
- >
- <a-icon type="minus-circle" :theme="'filled'" />
- 删除
- </a-button>
- </div>
- </div>
- <sd-table
- v-show="expandY"
- ref="classtable"
- :row-key="(record, index) => index"
- :loading="false"
- class="maintaintable"
- :columns="childMXColumns"
- :data-source="classdata"
- :pagination="false"
- :bordered="true"
- :row-selection="
- classtable
- ? {
- getCheckboxProps(record) {
- return {
- props: { disabled: !showSelection(record) },
- }
- },
- selectedRowKeys: selectedRowKeys,
- onChange: onSelectChange,
- }
- : null
- "/></template
- ></audit-advanced-group>
- </td>
- </tr>
- <tr>
- <td :colspan="4" style="border:none1">
- <audit-advanced-group
- :expand="classShow"
- :expand-str="'classShow'"
- :group-label="'审搜索引'"
- tablestyle="''"
- @changedClick="changedClick"
- ><template>
- <div :class="$style.wrapper">
- <div v-show="classShow" :class="$style.btnselectmaintain">
- <a-button type="link" :class="$style.batchselect" @click="indexRelSelect">
- <a-icon type="check-circle" :theme="'filled'" />
- 选择
- </a-button>
- <a-button
- type="link"
- :disabled="indexSelectedRowKeys.length === 0"
- style="z-index:10"
- @click="removemxIndex(indexSelectedRowKeys)"
- >
- <a-icon type="minus-circle" :theme="'filled'" />
- 删除
- </a-button>
- </div>
- </div>
- <sd-table
- ref="indexTable"
- :row-key="(record, index) => index"
- :loading="false"
- class="maintaintable"
- :columns="indexColumns"
- :data-source="classIndexData"
- :pagination="false"
- :row-selection="
- classtable
- ? {
- getCheckboxProps(record) {
- return {
- props: { disabled: !showSelection(record) },
- }
- },
- selectedRowKeys: indexSelectedRowKeys,
- onChange: onSelectChangeIndex,
- }
- : null
- "
- />
- </template>
- </audit-advanced-group> </td
- ></tr>
- <tr
- ><td :colspan="4" style="border:none1">
- <sd-form-item name="iamLicenseUnitEntitys" :label="null">
- <template v-slot:read-and-edit="{ editable }">
- <audit-advanced-group
- :expand="expandCompany"
- :expand-str="'expandCompany'"
- :group-label="'指定公司'"
- @changedClick="changedClick"
- ><template>
- <template>
- <div :class="$style.wrapper">
- <div v-show="expandCompany && editable" :class="$style.btnselect">
- <a-button
- type="link"
- :class="$style.batchselect"
- @click="companylSelect"
- >
- <a-icon type="check-circle" :theme="'filled'" />
- 选择
- </a-button>
- </div>
- </div>
- </template>
- <xm-child-table
- v-model="model.iamAppointUnitEntitys"
- :read-only="!editable"
- label=""
- :fields="
- [
- {
- caption: '序号',
- name: 'sortNum',
- dataType: 'sortNum',
- },
- ].concat(Array.from(fields.iamAppointUnitEntitys.attr.dync))
- "
- :columns="companyColumns"
- :width="1200"
- :addbuttonvisiable="false"
- @change="saveForm"
- >
- <template v-slot:unitName="{ field, text, index, value }">
- {{ text }}
- </template>
- <template v-slot:unitCode="{ field, text, index, value }">
- {{ text }}
- </template>
- </xm-child-table>
- </template>
- </audit-advanced-group>
- </template>
- </sd-form-item></td
- >
- </tr>
- <!-- <tr
- ><td :colspan="4" style="border:none1">
- <sd-form-item name="iamLicenseUnitEntitys" :label="null">
- <template v-slot:read-and-edit="{ editable }">
- <audit-advanced-group
- :expand="expandW"
- :expand-str="'expandW'"
- :group-label="'申请单位'"
- @changedClick="changedClick"
- ><template>
- <template>
- <div :class="$style.wrapper">
- <div v-show="expandW && editable" :class="$style.btnselect">
- <a-button type="link" :class="$style.batchselect" @click="dwRelSelect">
- <a-icon type="check-circle" :theme="'filled'" />
- 选择
- </a-button>
- </div>
- </div>
- </template>
- <xm-child-table
- v-model="model.iamLicenseUnitEntitys"
- :read-only="!editable"
- label=""
- :fields="
- [
- {
- caption: '序号',
- name: 'sortNum',
- dataType: 'sortNum',
- },
- ].concat(Array.from(fields.iamLicenseUnitEntitys.attr.dync))
- "
- :columns="childDWColumns"
- :width="1200"
- :addbuttonvisiable="false"
- @change="saveForm"
- >
- <template v-slot:unitName="{ field, text, index, value }">
- {{ text }}
- </template>
- <template v-slot:unitCode="{ field, text, index, value }">
- {{ text }}
- </template>
- </xm-child-table>
- </template>
- </audit-advanced-group>
- </template>
- </sd-form-item></td
- >
- </tr> -->
- <tr
- ><td :colspan="4" style="border:none1">
- <sd-form-item name="iamLicenseUnitEntitys" :label="null">
- <template v-slot:read-and-edit="{ editable }">
- <audit-advanced-group
- :expand="expandPeople"
- :expand-str="'expandPeople'"
- :group-label="'申请用户'"
- @changedClick="changedClick"
- ><template>
- <template>
- <div :class="$style.wrapper">
- <div v-show="expandPeople && editable" :class="$style.btnselect">
- <a-button
- type="link"
- :class="$style.batchselect"
- @click="peopleRelSelect"
- >
- <a-icon type="check-circle" :theme="'filled'" />
- 选择
- </a-button>
- </div>
- </div>
- </template>
- <xm-child-table
- v-model="model.iamLicensePeopleEntitys"
- :read-only="!editable"
- label=""
- :fields="
- [
- {
- caption: '序号',
- name: 'sortNum',
- dataType: 'sortNum',
- },
- ].concat(Array.from(fields.iamLicensePeopleEntitys.attr.dync))
- "
- :columns="peopleColumns"
- :width="1200"
- :addbuttonvisiable="false"
- @change="saveForm"
- >
- <template v-slot:userName="{ field, text, index, value }">
- {{ text }}
- </template>
- <template v-slot:userUnit="{ field, text, index, value }">
- {{ text }}
- </template>
- </xm-child-table>
- </template>
- </audit-advanced-group>
- </template>
- </sd-form-item></td
- >
- </tr>
- <tr
- ><td :colspan="4" style="border:none1">
- <sd-form-item name="iamLicenseUnitEntitys" :label="null">
- <template v-slot:read-and-edit="{ editable }">
- <audit-advanced-group
- :expand="expandProject"
- :expand-str="'expandProject'"
- :group-label="'申请项目'"
- @changedClick="changedClick"
- ><template>
- <template>
- <div :class="$style.wrapper">
- <div v-show="expandProject && editable" :class="$style.btnselect">
- <a-button
- type="link"
- :class="$style.batchselect"
- @click="projectRelSelect"
- >
- <a-icon type="check-circle" :theme="'filled'" />
- 选择
- </a-button>
- </div>
- </div>
- </template>
- <xm-child-table
- v-model="model.iamLicenseProjectEntitys"
- :read-only="!editable"
- label=""
- :fields="
- [
- {
- caption: '序号',
- name: 'sortNum',
- dataType: 'sortNum',
- },
- ].concat(Array.from(fields.iamLicenseProjectEntitys.attr.dync))
- "
- :columns="projectColumns"
- :width="1200"
- :addbuttonvisiable="false"
- @change="saveForm"
- >
- <template v-slot:projectName="{ field, text, index, value }">
- {{ text }}
- </template>
- <template v-slot:projectUnit="{ field, text, index, value }">
- {{ text }}
- </template>
- </xm-child-table>
- </template>
- </audit-advanced-group>
- </template>
- </sd-form-item></td
- >
- </tr>
- <tr
- ><td :colspan="4" style="border:none1">
- <sd-form-item name="iamLicenseUnitEntitys" :label="null">
- <template v-slot:read-and-edit="{ editable }">
- <audit-advanced-group
- :expand="expandRole"
- :expand-str="'expandRole'"
- :group-label="'申请角色'"
- @changedClick="changedClick"
- ><template>
- <template>
- <div :class="$style.wrapper">
- <div v-show="expandRole && editable" :class="$style.btnselect">
- <a-button
- type="link"
- :class="$style.batchselect"
- @click="roleRelSelect"
- >
- <a-icon type="check-circle" :theme="'filled'" />
- 选择
- </a-button>
- </div>
- </div>
- </template>
- <xm-child-table
- v-model="model.iamLicenseRoleEntitys"
- :read-only="!editable"
- label=""
- :fields="
- [
- {
- caption: '序号',
- name: 'sortNum',
- dataType: 'sortNum',
- },
- ].concat(Array.from(fields.iamLicenseRoleEntitys.attr.dync))
- "
- :columns="projectColumns"
- :width="1200"
- :addbuttonvisiable="false"
- @change="saveForm"
- >
- <template v-slot:roleName="{ field, text, index, value }">
- {{ text }}
- </template>
- <!-- 角色ID -->
- <template v-slot:roleId="{ field, text, index, value }">
- {{ text }}
- </template>
- <!-- <template v-slot:projectId="{ field, text, index, value }">
- {{ text }}
- </template> -->
- </xm-child-table>
- </template>
- </audit-advanced-group>
- </template>
- </sd-form-item></td
- >
- </tr>
- <tr v-show="false">
- <sd-form-item-td name="iamLicensePeopleEntitys" :label="null" :colspan="3">
- </sd-form-item-td>
- </tr>
- </table>
- </template>
- </sd-webflow>
- <AuditSelectMaintain :visible="visibleY" @listMxSelected="listMxSelected">
- </AuditSelectMaintain>
- <auditClassTable :visible="flTableShow" @listMxSelected="classListMxSelected">
- </auditClassTable>
- <div v-show="false">
- <sd-group-picker
- ref="dwRelSelect"
- v-model="mainSendUnit"
- :single="false"
- :root-node="rootNodeData"
- :read-only="false"
- @change="change"
- />
- </div>
- <roleModal v-model="roleShow" @selectRoleList="changeRole" />
- <projectModal v-model="projectShow" @selectProject="changeProject" />
- <div v-show="false">
- <sd-user-picker
- ref="peopleRelSelect"
- v-model="mainSendPersonal"
- :root-node="rootNodeData"
- :single="false"
- :read-only="false"
- @change="changePeople"
- />
- </div>
- <div v-show="false">
- <SdGroupPicker
- ref="cRelSelect"
- v-model="companyUnit"
- :single="false"
- :read-only="false"
- :root-node="rootNodeData"
- @change="changecompany"
- />
- </div>
- <AuditClassIndexTable
- ref="indexSelect"
- :visible="indexTableShow"
- :root-node="rootNodeData"
- :class-data="classdata"
- @listMxSelected="indexlistMxSelected"
- />
- </span>
- </template>
- <script>
- import { Modal, message } from 'ant-design-vue'
- import auditAdvancedGroup from '../../components/audit-advanced-group.vue'
- import auditAdvancedGroupMixins from '../../components/audit-advanced-group-mixins'
- import auditMaintainService from '../maintain/audit-maintain-service'
- import AuditSelectMaintain from '../maintain/audit-select-maintain.vue'
- import roleModal from './role-modal.vue'
- import projectModal from './project-modal.vue'
- import components from './_import-components/audit-sqapply-from-import'
- import auditClassTable from './audit-class-table.vue'
- import axios from '@/common/services/axios-instance'
- import moment from 'moment'
- import AuditClassIndexTable from '../dataUphold/audit-class-index-table.vue'
- import { getUserInfo } from '@/common/store-mixin'
- import DataService from './data-config'
- export default {
- name: 'AuditSqapplyFrom',
- metaInfo: {
- title: '授权申请',
- },
- components: {
- ...components,
- auditAdvancedGroup,
- AuditSelectMaintain,
- roleModal,
- projectModal,
- auditClassTable,
- AuditClassIndexTable,
- },
- mixins: [auditAdvancedGroupMixins],
- data() {
- return {
- mainSendUnit: [],
- mainSendPersonal: [],
- mainSendProject: [],
- // 控制是否展开
- expandY: true,
- expandW: true,
- expandJ: true,
- expandPeople: true,
- expandRole: true,
- expandProject: true,
- expandCompany: true,
- visibleY: false,
- maintaineditable: false,
- expandModel: true,
- modelChildMXColumns: [
- {
- title: '序号',
- dataIndex: 'sortNum',
- customRender: (text, record, index) => `${index + 1}`,
- width: '80px',
- },
- {
- title: '模型名称',
- dataIndex: 'modelName',
- },
- {
- title: '模型编号',
- dataIndex: 'modelCode',
- },
- {
- title: '模型描述',
- dataIndex: 'modelDesc',
- },
- {
- dataIndex: 'indexId',
- sdHidden: true,
- },
- ],
- companyColumns: [
- {
- title: '序号',
- dataIndex: 'sortNum',
- customRender: (text, record, index) => `${index + 1}`,
- width: '80px',
- },
- { dataIndex: 'maintainId', sdHidden: true },
- {
- title: '公司名称',
- dataIndex: 'unitName',
- },
- {
- title: '公司编号',
- dataIndex: 'unitCode',
- },
- {
- dataIndex: 'unitId',
- sdHidden: true,
- },
- {
- dataIndex: 'indexId',
- sdHidden: true,
- },
- ],
- childMXColumns: [
- {
- title: '序号',
- dataIndex: 'sortNum',
- customRender: (text, record, index) => `${index + 1}`,
- width: '80px',
- },
- {
- title: '分类名称',
- dataIndex: 'categoryName',
- },
- {
- title: '分类编号',
- dataIndex: 'categoryId',
- },
- {
- dataIndex: 'indexId',
- sdHidden: true,
- },
- ],
- childDWColumns: [
- {
- title: '序号',
- dataIndex: 'sortNum',
- customRender: (text, record, index) => `${index + 1}`,
- width: '80px',
- },
- { dataIndex: 'id', sdHidden: true },
- { dataIndex: 'maintainId', sdHidden: true },
- {
- title: '单位名称',
- dataIndex: 'unitName',
- },
- {
- title: '单位编号',
- dataIndex: 'unitCode',
- },
- {
- title: '单位Id',
- dataIndex: 'unitId',
- sdHidden: true,
- },
- {
- dataIndex: 'indexId',
- sdHidden: true,
- },
- ],
- peopleColumns: [
- {
- title: '序号',
- dataIndex: 'sortNum',
- customRender: (text, record, index) => `${index + 1}`,
- width: '80px',
- },
- { dataIndex: 'maintainId', sdHidden: true },
- {
- title: '用户名称',
- dataIndex: 'userName',
- },
- // 所属单位
- {
- title: '所属单位',
- dataIndex: 'userUnit',
- },
- // userId
- {
- title: '用户Id',
- dataIndex: 'userId',
- sdHidden: true,
- },
- {
- dataIndex: 'indexId',
- sdHidden: true,
- },
- ],
- projectColumns: [
- {
- title: '序号',
- dataIndex: 'sortNum',
- customRender: (text, record, index) => `${index + 1}`,
- width: '80px',
- },
- { dataIndex: 'maintainId', sdHidden: true },
- {
- title: '项目名称',
- dataIndex: 'projectName',
- },
- // 所属单位
- {
- title: '所属单位',
- dataIndex: 'projectUnit',
- },
- // userId
- {
- title: '项目Id',
- dataIndex: 'projectId',
- sdHidden: true,
- },
- {
- dataIndex: 'indexId',
- sdHidden: true,
- },
- ],
- roleColumns: [
- {
- title: '序号',
- dataIndex: 'sortNum',
- customRender: (text, record, index) => `${index + 1}`,
- width: '80px',
- },
- { dataIndex: 'maintainId', sdHidden: true },
- {
- title: '角色名称',
- dataIndex: 'roleName',
- },
- {
- dataIndex: 'roleId',
- sdHidden: true,
- },
- {
- dataIndex: 'indexId',
- sdHidden: true,
- },
- ],
- classIndexFileds: [
- {
- caption: '序号',
- name: 'sortNum',
- dataType: 'sortNum',
- },
- {
- caption: '业务名称',
- name: 'indexName',
- dataType: 'string',
- },
- {
- caption: '业务编号',
- name: 'id',
- dataType: 'string',
- },
- {
- caption: '系统来源名称',
- name: 'indexRemark',
- dataType: 'string',
- },
- {
- dataIndex: 'indexId',
- sdHidden: true,
- },
- ],
- classIndexData: [],
- classShow: true,
- indexColumns: [
- // 序号 ,业务名称 业务编号
- {
- title: '序号',
- dataIndex: 'sortNum',
- customRender: (text, record, index) => `${index + 1}`,
- width: '80px',
- },
- {
- title: '业务名称',
- dataIndex: 'indexName',
- },
- {
- title: '业务编号',
- dataIndex: 'id',
- },
- {
- title: '系统来源名称',
- dataIndex: 'indexRemark',
- },
- {
- dataIndex: 'indexId',
- sdHidden: true,
- },
- ],
- // 控制显隐
- indexShowColumns: true,
- maintaindata: [],
- selectedRowKeys: [],
- indexSelectedRowKeys: [],
- flag: true,
- modelFlag: true,
- classtable: false,
- rules: [
- {
- required: true,
- trigger: ['change', 'blur'],
- },
- ],
- // 控制是否弹出提示框
- roleShow: false,
- projectShow: false,
- peopleShow: false,
- CompanyShow: false,
- // flTableShow 是否显示分类表格
- flTableShow: false,
- indexTableShow: false,
- // 分类列表
- classdata: [],
- // 人员
- personaldata: [],
- personal: [],
- projectData: [],
- projectTable: [],
- companyData: [],
- companyUnit: [],
- roleData: [],
- roleTable: [],
- docType: 'date_apply',
- rootNodeData: null,
- }
- },
- watch: {
- classdata() {
- this.saveForm()
- },
- },
- mounted() {
- const userInfo = getUserInfo()
- DataService.getCompany(userInfo.account).then((res) => {
- this.rootNodeData = {
- code: res.data.id,
- name: res.data.name,
- }
- const roles = this.$store.state.sd.common.userInfo.default.roles
- const isExport = roles.map((val) => val.code).includes('G-1_DATA_AUDIT_RULE')
- if (isExport) {
- this.rootNodeData = {
- code: '28951',
- name: '国家电力投资集团有限公司',
- }
- }
- })
- },
- methods: {
- changeType() {
- const empowerType = this.$refs.docform.getFieldValue('empowerType')
- if (empowerType === '1') {
- this.$refs.docform.setFieldValue('startDate', '')
- this.$refs.docform.setFieldValue('endDate', '')
- }
- if (empowerType === '2') {
- // 设置开始时间 为当前时间
- // 结束时间为当年最后一天
- // 使用moment格式
- const start = moment()
- const end = moment().endOf('year')
- this.$refs.docform.setFieldValue('startDate', start)
- this.$refs.docform.setFieldValue('endDate', end)
- }
- this.saveForm()
- },
- getmodelsqdata(model) {
- this.mainSendUnit = []
- },
- saveForm() {
- const save = new Promise((resolve) => {
- this.$refs.docform.setFieldValue('docType', this.docType)
- let udata = []
- if (this.$refs.docform.getFieldValue('iamLicenseUnitEntitys') !== undefined) {
- udata = this.$refs.docform.getFieldValue('iamLicenseUnitEntitys')
- }
- // 指定公司
- let cdata = []
- if (this.$refs.docform.getFieldValue('iamAppointUnitEntitys') !== undefined) {
- cdata = cdata.concat(this.$refs.docform.getFieldValue('iamAppointUnitEntitys'))
- }
- // 人员
- let pdata = []
- if (this.$refs.docform.getFieldValue('iamLicensePeopleEntitys') !== undefined) {
- pdata = pdata.concat(this.$refs.docform.getFieldValue('iamLicensePeopleEntitys'))
- }
- // 角色
- let rdata = []
- if (this.$refs.docform.getFieldValue('iamLicenseRoleEntitys') !== undefined) {
- rdata = rdata.concat(this.$refs.docform.getFieldValue('iamLicenseRoleEntitys'))
- }
- // 项目
- let pjdata = []
- if (this.$refs.docform.getFieldValue('iamLicenseProjectEntitys') !== undefined) {
- pjdata = pjdata.concat(this.$refs.docform.getFieldValue('iamLicenseProjectEntitys'))
- }
- if (this.classdata.length > 0) {
- const empowerType = this.$refs.docform.getFieldValue('empowerType')
- const creatorName = this.$refs.docform.getFieldValue('creatorId')
- const createDeptName = this.$refs.docform.getFieldValue('createDeptName')
- let sl = null
- let el = null
- if (empowerType === '0') {
- if (this.$refs.docform.getFieldValue('startDate') !== undefined) {
- const s = new Date(this.$refs.docform.getFieldValue('startDate'))
- const e = new Date(this.$refs.docform.getFieldValue('endDate'))
- sl = s.getTime()
- el = e.getTime()
- // 如果开始时间大于结束时间则提示开始时间不能大于结束时间
- if (sl > el) {
- message.warning({
- title: '提示',
- content: '开始时间不能大于结束时间!',
- })
- return
- }
- }
- }
- let idListKeys = []
- idListKeys = this.classdata.map((item) => item?.id) || []
- const { categoryName, categoryId } = this.classdata[0]
- this.$refs.docform.setFieldValue('modelName', categoryName)
- this.$refs.docform.setFieldValue('modelCode', categoryId)
- let maintainId = ''
- if (idListKeys.length > 0) {
- maintainId = idListKeys.join(',')
- }
- let indexKeys = []
- indexKeys = this.classIndexData.map((item) => item?.id) || []
- const indexIds = indexKeys.join(',')
- udata.forEach((item) => {
- item.docType = this.docType
- item.indexId = indexIds
- item.maintainId = maintainId
- item.empowerType = empowerType
- item.startDate = sl
- item.endDate = el
- })
- this.$refs.docform.setFieldValue('iamLicenseUnitEntitys', udata)
- // 处理指定公司数据
- cdata.forEach((item) => {
- item.indexId = indexIds
- item.docType = this.docType
- item.maintainId = maintainId
- item.empowerType = empowerType
- item.startDate = sl
- item.endDate = el
- })
- this.$refs.docform.setFieldValue('iamAppointUnitEntitys', cdata)
- // 处理角色数据
- rdata.forEach((item) => {
- item.indexId = indexIds
- item.docType = this.docType
- item.maintainId = maintainId
- item.empowerType = empowerType
- item.startDate = sl
- item.endDate = el
- })
- this.$refs.docform.setFieldValue('iamLicenseRoleEntitys', rdata)
- // 处理项目数据
- pjdata.forEach((item) => {
- item.docType = this.docType
- item.indexId = indexIds
- item.maintainId = maintainId
- item.empowerType = empowerType
- item.startDate = sl
- item.endDate = el
- })
- this.$refs.docform.setFieldValue('iamLicenseProjectEntitys', pjdata)
- // 处理人员数据
- pdata.forEach((item) => {
- item.docType = this.docType
- item.indexId = indexIds
- item.maintainId = maintainId
- item.empowerType = empowerType
- item.startDate = sl
- item.endDate = el
- })
- this.$refs.docform.setFieldValue('iamLicensePeopleEntitys', pdata)
- }
- resolve(true)
- })
- return save
- },
- validForm() {
- if (this.classdata.length === 0) {
- Modal.warning({
- title: '提示',
- content: '请选择需要授权的分类!',
- })
- return Promise.resolve(false)
- } else {
- const udata = this.$refs.docform.getFieldValue('iamLicenseUnitEntitys')
- const cdata = this.$refs.docform.getFieldValue('iamAppointUnitEntitys')
- const pdata = this.$refs.docform.getFieldValue('iamLicensePeopleEntitys')
- const rdata = this.$refs.docform.getFieldValue('iamLicenseRoleEntitys')
- const pjdata = this.$refs.docform.getFieldValue('iamLicenseProjectEntitys')
- if (
- udata.length === 0 &&
- pdata.length === 0 &&
- pjdata.length === 0 &&
- rdata.length === 0 &&
- cdata.length === 0 &&
- this.classIndexData.length === 0
- ) {
- Modal.warning({
- title: '提示',
- content: '请至少选择一个授权项!',
- })
- return Promise.resolve(false)
- }
- this.$refs.docform.setFieldValue(
- 'title',
- this.$refs.docform.getFieldValue('creatorName') + '分类授权申请'
- )
- return Promise.resolve(true)
- // }
- }
- },
- actionBtnClick(evt, { button, FlowData }) {
- if (button.fakeId === 'save' || button.fakeId === 'workflow-push') {
- // 保存前先校验计划是否已经存在
- evt.waitUntil(
- new Promise((resolve, reject) => {
- this.saveForm().then((res) => {
- if (!res) {
- evt.preventDefault()
- }
- resolve()
- })
- })
- )
- }
- },
- removemx(keys) {
- // 用的序号作key,从大往小删,防止串了
- const removeKeys = keys.sort((a, b) => b - a)
- removeKeys.forEach((key) => {
- this.classdata.splice(key, 1)
- })
- this.selectedRowKeys = []
- },
- removemxIndex(keys) {
- // 用的序号作key,从大往小删,防止串了
- const removeKeys = keys.sort((a, b) => b - a)
- removeKeys.forEach((key) => {
- this.classIndexData.splice(key, 1)
- })
- this.indexSelectedRowKeys = []
- },
- getmaintaindata(model, fields) {
- if (this.modelFlag) {
- this.maintaineditable = !fields.iamLicenseUnitEntitys.readonly
- const id = model.id
- if (id) {
- auditMaintainService.getmaintainsqdata(id).then((data) => {
- this.maintaindata = data
- this.getmodelsqdata(model)
- })
- }
- this.modelFlag = false
- }
- return true
- },
- getClassdata(model, fields) {
- if (this.flag) {
- this.classtable = !fields.iamLicenseUnitEntitys.readonly
- const id = model.id
- if (id) {
- auditMaintainService.getclassdata(id).then((res) => {
- this.classdata = res.category
- this.classIndexData = res.index
- this.getmodelsqdata(model)
- })
- }
- this.flag = false
- }
- return true
- },
- showSelection() {
- return true
- },
- onSelectChange(selectedRowKeys) {
- this.selectedRowKeys = selectedRowKeys
- },
- onSelectChangeIndex(selectedRowKeys) {
- this.indexSelectedRowKeys = selectedRowKeys
- },
- // 单位
- change(values) {
- let iamAuditDwMxs = []
- if (this.$refs.docform.getFieldValue('iamLicenseUnitEntitys')) {
- iamAuditDwMxs = this.$refs.docform.getFieldValue('iamLicenseUnitEntitys')
- }
- if (values.length < iamAuditDwMxs.length) {
- iamAuditDwMxs = []
- }
- values.forEach((element) => {
- if (iamAuditDwMxs.findIndex((dw) => dw.unitCode === element.code) === -1) {
- const mmc = {}
- mmc.unitName = element.name
- // mmc.unitCode = element.props?.code
- mmc.unitCode = element.code + ''
- mmc.unitId = element.code
- iamAuditDwMxs.push(mmc)
- }
- })
- this.$refs.docform.setFieldValue('iamLicenseUnitEntitys', iamAuditDwMxs)
- this.saveForm()
- },
- // 公司
- changecompany(values) {
- let iamAuditDwMxs = []
- // 公司
- if (this.$refs.docform.getFieldValue('iamAppointUnitEntitys')) {
- iamAuditDwMxs = this.$refs.docform.getFieldValue('iamAppointUnitEntitys')
- }
- if (values.length < iamAuditDwMxs.length) {
- iamAuditDwMxs = []
- }
- values.forEach((element) => {
- if (iamAuditDwMxs.findIndex((dw) => dw.unitCode === element.code) === -1) {
- const mmc = {}
- mmc.unitName = element.name
- mmc.unitCode = element.code + ''
- mmc.unitId = element.code
- iamAuditDwMxs.push(mmc)
- }
- })
- this.$refs.docform.setFieldValue('iamAppointUnitEntitys', iamAuditDwMxs)
- this.saveForm()
- },
- // 用户
- // iamLicensePeopleEntitys
- changePeople(values) {
- let iamAuditDwMxs = []
- if (this.$refs.docform.getFieldValue('iamLicensePeopleEntitys')) {
- iamAuditDwMxs = this.$refs.docform.getFieldValue('iamLicensePeopleEntitys')
- }
- // 如果values长度小于iamAuditDwMxs长度,说明有删除
- if (values.length < iamAuditDwMxs.length) {
- iamAuditDwMxs = []
- }
- values.forEach((element) => {
- if (iamAuditDwMxs.findIndex((dw) => dw.userId === element.code) === -1) {
- const mmc = {}
- mmc.userName = element.name
- mmc.userId = element.code
- axios({
- url: 'api/xcoa-mobile/v1/iammodelmaintain/findGroupByAccount?account=' + element.code,
- method: 'get',
- }).then((res) => {
- mmc.userUnit = res.data.name
- iamAuditDwMxs.push(mmc)
- this.$refs.docform.setFieldValue('iamLicensePeopleEntitys', iamAuditDwMxs)
- })
- }
- })
- this.saveForm()
- },
- // 角色
- changeRole(values) {
- let iamAuditDwMxs = []
- if (this.$refs.docform.getFieldValue('iamLicenseRoleEntitys')) {
- iamAuditDwMxs = this.$refs.docform.getFieldValue('iamLicenseRoleEntitys')
- }
- if (values.length < iamAuditDwMxs.length) {
- iamAuditDwMxs = []
- }
- values.forEach((element) => {
- if (iamAuditDwMxs.findIndex((dw) => dw.roleId === element.id) === -1) {
- const mmc = {}
- mmc.roleName = element.name
- mmc.roleId = element.id
- iamAuditDwMxs.push(mmc)
- }
- })
- this.$refs.docform.setFieldValue('iamLicenseRoleEntitys', iamAuditDwMxs)
- this.saveForm()
- },
- // 项目
- changeProject(values) {
- let iamAuditDwMxs = []
- // iamAuditDwMxs = this.projectData
- if (this.$refs.docform.getFieldValue('iamLicenseProjectEntitys')) {
- iamAuditDwMxs = this.$refs.docform.getFieldValue('iamLicenseProjectEntitys')
- }
- if (values.length < iamAuditDwMxs.length) {
- iamAuditDwMxs = []
- }
- values.forEach((element) => {
- if (iamAuditDwMxs.findIndex((dw) => dw.projectId === element.id) === -1) {
- const mmc = {}
- mmc.projectName = element.projectTitle
- mmc.projectId = element.id
- mmc.projectUnit = element.leadUnitName
- iamAuditDwMxs.push(mmc)
- }
- })
- this.$refs.docform.setFieldValue('iamLicenseProjectEntitys', iamAuditDwMxs)
- this.saveForm()
- },
- // 选择模型列表
- mxRelSelect() {
- // 选择模型列表
- this.visibleY = true
- },
- flRelSelect() {
- this.flTableShow = true
- },
- indexRelSelect() {
- if (this.classdata.length === 0) {
- message.warning({
- title: '提示',
- content: '请先选择分类!',
- })
- return
- }
- this.indexTableShow = true
- },
- peopleRelSelect() {
- setTimeout(() => {
- this.$refs.peopleRelSelect.openPicker()
- }, 0)
- },
- projectRelSelect() {
- this.projectShow = true
- },
- roleRelSelect() {
- this.roleShow = true
- },
- companylSelect() {
- // 选择申请单位
- setTimeout(() => {
- this.$refs.cRelSelect.openPicker()
- }, 0)
- },
- // 选择申请单位
- dwRelSelect() {
- // 选择申请单位
- setTimeout(() => {
- this.$refs.dwRelSelect.openPicker()
- }, 0)
- },
- indexlistMxSelected(keys, keyinfos) {
- let iamAuditDwMxs = []
- iamAuditDwMxs = this.classIndexData
- keyinfos.forEach((element) => {
- if (iamAuditDwMxs.findIndex((dw) => dw.id === element.id) === -1) {
- iamAuditDwMxs.push(element)
- }
- })
- this.indexTableShow = false
- this.classIndexData = iamAuditDwMxs
- },
- listMxSelected(keys, keyinfos) {
- const iamAuditMxs = []
- // iamAuditMxs = this.maintaindata
- keyinfos.forEach((element) => {
- const mmc = {}
- mmc.modelName = element.modelName
- mmc.modelCode = element.modelCode
- mmc.modelDesc = element.modelDesc
- mmc.id = element.id
- iamAuditMxs.push(mmc)
- })
- this.maintaindata = iamAuditMxs
- // 处理人员数据-仅增加新增的
- // pdata.forEach((item) => {
- // item.docType = 'apply'
- // item.maintainId = maintainId
- // })
- },
- classListMxSelected(keys, keyinfos) {
- const iamAuditMxs = []
- keyinfos.map((item) => {
- // 判断当前模型ID是否存在存在则不添加
- const m = iamAuditMxs.find((p) => p.id === item.id)
- if (!m) {
- const mmc = {}
- mmc.id = item.id
- mmc.categoryName = item.categoryName
- mmc.categoryId = item.categoryId
- iamAuditMxs.push(mmc)
- }
- })
- this.classdata = iamAuditMxs
- this.saveForm()
- },
- },
- }
- </script>
- <style module lang="scss">
- @use '@/common/design' as *;
- @import '@/webflow/sd-flow-form.scss';
- .btnselect {
- position: relative;
- top: 2px;
- right: 80px;
- float: right;
- .batchselect {
- z-index: 100;
- margin-left: 10px;
- }
- }
- .btnselectmaintain {
- position: relative;
- float: right;
- .batchselect {
- z-index: 100;
- margin-right: -10px;
- margin-left: 10px;
- }
- }
- .maintaintable {
- :global(.ant-table-thead > tr > th) {
- border-right: none;
- }
- :global(.ant-table-bordered.ant-table-empty .ant-table-placeholder) {
- border: none;
- }
- :global(.ant-table-body table) {
- // border-left:none;
- border: none;
- }
- }
- </style>
|