1089 lines
33 KiB
Vue
Raw Normal View History

2024-07-02 20:41:25 +08:00
<template>
<div id="content-container" :class="{'expand-right': expandRight}">
<page-loading :show="pageLoading"></page-loading>
<!--Page Title-->
<div id="page-title">
<h1 class="page-header text-overflow">新增项目</h1>
<!--Searchbox-->
<!--<div class="searchbox">-->
<!--<div class="input-group custom-search-form">-->
<!--<input type="text" class="form-control" placeholder="Search..">-->
<!--<span class="input-group-btn">-->
<!--<button class="text-muted" type="button"><i class="demo-pli-magnifi-glass"></i></button>-->
<!--</span>-->
<!--</div>-->
<!--</div>-->
</div>
<!--End page title-->
<!--Breadcrumb-->
<!--<ol class="breadcrumb">-->
<!--<li><a href="#">Home</a></li>-->
<!--<li><a href="#">Layouts</a></li>-->
<!--<li class="active">Demo</li>-->
<!--</ol>-->
<!--End breadcrumb-->
<!--Page content-->
<div class="page-content">
<data-form
element-loading-text="拼命加载中"
:title="formTitle"
:btnTitle="formBtnTitle"
:schema="formSchema"
:model="formModel"
:showTitle="false"
:btnData="formBtnData"
ref="childrenForm"
@radioValueChanged="radioValueChanged"
@selectorValueChanged="selectorValueChanged"
@addOption="setCascaderMultipleValue"
@handleClose="handleClose"
>
</data-form>
</div>
<!--End Page content-->
</div>
</template>
<script type="text/ecmascript-6">
import PageLoading from '../../components/PageLoading.vue'
import DataForm from '../../components/form/DataForm.vue'
import Api from '../../server/index.js'
import {baseUrl} from '../../config/env.js'
2024-07-02 20:41:25 +08:00
import {getItem} from '../../config/mUtils.js'
export default {
beforeRouteEnter (to, from, next) {
next(function (vm) {
global.getMenuIndex(vm)
})
},
data () {
return {
expandRight: false,
isSuperAdmin: false,
draftDeptId: '',
//form表单数据源
loadingJudgeData: { //表单加载圈是否隐藏的判断数据源
documentTypeDataDone: true,
operationDone: true,
},
formTitle: '新增发文',
formBtnTitle: '提交',
formSchema: {},
formModel: {},
formProjectManagerData: [], // 项目负责人数据源
formProjectAdmin: [],//项目管理员
formBranchLeader: [],//分管领导
formMainLeader: [],
formAuthData: [ //权限数据源
{
label: '全员',
value: 0
},
{
label: '党员',
value: 1
},
{
label: '自定义',
value: 2
},
],
formSignedData: [ //是否会签数据源
{
label: '否',
value: false
},
{
label: '是',
value: true
},
],
formContentTypeData: [ //文章类型数据源
{
label: '发文',
model: 2
},
{
label: '收文',
model: 1
},
],
formOpenRangeData: [ //公开范围
{
label: '成果转化类(TT)',
value: 1
},
{
label: '市场创收类(SC)',
value: 2
},
{
label: '研究开发类(RD)',
value: 3
},
{
label: '窗口服务类(CK)',
value: 4
},
{
label: '平台专项类(ZX)',
value: 5
},
{
label: '目标责任类(ZR)',
value: 6
},
{
label: '自主研发类',
value: 7
},
],
formQuarterData: [ //季度分类数据源
{
label: '第一季度',
model: '第一季度'
},
{
label: '第二季度',
model: '第二季度'
},
{
label: '第三季度',
model: '第三季度'
},
{
label: '第四季度',
model: '第四季度'
},
],
formPeopleData: [], //使用人的数据源
formDocumentTypeData: [], //文种类型的数据源
formFileData: [], //附件数据源
formPermissionsData: [], //自定义人员列表
formCustomizePeopleData: [], //自定义人员选中数据
draftManData: getItem('userName'), //拟稿人
draftManId: getItem('userInfoId'), //拟稿人
draftDeptNameData: eval(getItem('orgNameData')).join('>'), //拟稿部门
// nuclearManData: '', //核稿人
formMissionData: [], //会签部门
formMissionMemberData: [], //会签人员
crossStatus: getItem('crossStatus'),
//获取当前用户角色
roles: JSON.parse(getItem('roles')),
formPeopleWeightData: [],
}
},
created () {
this.judgeSuperAdmin()
this.init()
this.initFormData()
this.getAllPeople()
this.initFormSchema()
// this.getPersonStatus();
this.getDocumentType()
},
watch: {
nuclearManData () {
this.initFormData()
},
// formMissionMemberData() {
// this.initFormSchema();
// }
},
computed: {
//判断加载圈是否能隐藏
pageLoading: {
get: function () {
return !(this.loadingJudgeData.documentTypeDataDone && this.loadingJudgeData.operationDone)
},
set: function () {
}
}
},
methods: {
// 判断form字段是否可以编辑
judgeFormEditable (step) {
return (this.canEdit && this.projectStep === step)
},
getAllPeople () {
let params = {
path: {
id: 0
}
}
Api.Administration.getPeers(params).then((result) => {
this.loadingJudgeData.peopleDataDone = true
this.loadingJudgeData.formProjectAdmin = true
if (result.status === 0) {
this.formProjectManagerData = this.assembleOrgData(result.data)
this.formProjectAdmin = this.assembleOrgData(result.data)
this.formBranchLeader = this.assembleOrgData(result.data)
this.formMainLeader = this.assembleOrgData(result.data)
this.formPeopleData = this.assembleOrgData(result.data)
} else {
this.$message.error(result.msg)
}
})
},
init () {
let orgIdArray = JSON.parse(getItem('orgIdData'))
let userInfoId = getItem('userInfoId')
let orgId = orgIdArray[orgIdArray.length - 1]
this.draftDeptId = orgId
Api.PersonnelManagement.personLeaderMember(orgId).then((result) => {
if (result.status === 0) {
let memberList = []
for (let member of result.data) {
memberList.push(member.personName)
this.formPeopleData.push(member.personName)
}
this.formModel.nuclearMan = memberList.join('')
if (!this.formModel.isSigned) {
this.formModel.signedPerson = memberList.join(',')
}
}
})
let orgList = []
Api.Common.getOrganization().then((result) => {
if (result.status === 0) {
orgList = result.data[0].childList
for (let org of orgList) {
this.formMissionData.push({
label: org.name,
model: org.id
})
}
if (!this.formModel.isSigned) {
this.formModel.signedDepts.push(orgId)
this.formModel.executeDepts.push(orgId)
this.getSignedMember()
}
}
})
let params = {
path: {
id: 0
}
}
Api.Administration.getPeers(params).then((result) => {
if (result.status === 0) {
this.formPermissionsData = this.assembleOrgData(result.data)
} else {
this.$message.error(result.msg)
}
})
},
//判断是否是超级管理员
judgeSuperAdmin () {
this.isSuperAdmin = (getItem('userId') == 0)
},
/*
* form相关
*/
//获取表单数据源
initFormData () {
this.formModel = {
formOpenRangeData: this.formOpenRangeData,
step: 0,
draftMan: this.draftManData,
draftManId: this.draftManId,
draftDeptName: this.draftDeptNameData,
projectName: '',
copying: '',
cC: '',
difficultyFactor: 1,
isSigned: false,
signedDepts: [],
executeDepts: [],
signedPerson: '',
openRange: '',
permissionsPeople: [],
projectAdmin: [],
branchLeaders: [],
MainLeader: [],
2024-07-02 20:41:25 +08:00
// permissions: 0,
// nuclearMan: '',
// contentTitle: '',
// contentClass: '',
// CategoryID: '',
receiveNum: '',
gross: '',
budget: '',
// budgetRate: '',
// contRate: '',
scheme: '',
goal: '',
// content: '',
membersList: [],
// imprintNum: '',
endDate: '',
fileData: [],
imprintDate: '',
2024-07-04 15:56:55 +08:00
executeDate: '',
formProjectNo: '',
2024-07-02 20:41:25 +08:00
documentType: 2,
year: moment().format('YYYY'),
}
this.formBtnData = [
{
title: this.formBtnTitle,
type: 'primary',
callback: () => {
if (this.formValidate()) {
this.formSubmit()
}
}
},
{
title: '取消',
type: 'default',
callback: () => {
this.$router.go(-1)
}
},
]
},
initFormSchema () {
this.formSchema = [
{
type: 'custom-input',
title: '立项人',
model: 'draftMan',
externalValue: {
disabled: true,
}
},
{
type: 'custom-input',
title: '立项部门',
model: 'draftDeptName',
externalValue: {
disabled: true
}
},
{
type: 'custom-date-picker',
title: '填表日期',
model: 'imprintDate',
externalValue: {
disabled: false,
dateFormat: 'yyyy-MM-dd'
}
},
{
type: 'custom-radio',
title: '项目类别',
model: 'openRange',
2024-07-04 15:56:55 +08:00
rules: [
{required: true, message: '项目类别不能为空'}
],
2024-07-02 20:41:25 +08:00
externalValue: {
options: this.formOpenRangeData,
}
},
2024-07-04 15:56:55 +08:00
{
type: 'custom-input',
title: '项目编码',
model: 'projectNo',
externalValue: {
disabled: false
}
},
2024-07-02 20:41:25 +08:00
{
type: 'custom-input',
title: '项目名称',
model: 'projectName',
externalValue: {
disabled: false
}
},
{
type: 'custom-selector',
title: '执行部门',
model: 'executeDepts',
2024-07-04 15:56:55 +08:00
rules: [
{required: true, message: '执行部门不能为空'}
],
2024-07-02 20:41:25 +08:00
externalValue: {
multiple: true,
options: this.formMissionData
}
},
2024-07-04 15:56:55 +08:00
{
type: 'custom-date-picker',
title: '执行时间',
model: 'executeDate',
rules: [
{required: true, message: '执行时间不能为空'}
],
externalValue: {
disabled: false,
dateFormat: 'yyyy-MM-dd'
}
},
2024-07-02 20:41:25 +08:00
{
type: 'custom-cascader-multiple',
title: '项目组成员',
model: 'permissionsPeople',
closable: true,
externalValue: {
disabled: this.formModel.openRange === '',
value: this.formCustomizePeopleData,
tagNameByC: this.formModel.permissionsPeople,
changeOnSelect: true,
options: this.formPermissionsData
}
},
{
type: 'custom-cascader',
title: '项目负责人',
model: 'projectManagerData',
rules: [
{required: true, message: '项目负责人不能为空'}
],
externalValue: {
// disabled: !this.judgeFormEditable('apply'),
disable: true,
options: this.formProjectManagerData
}
},
{
type: 'custom-cascader',
title: '项目管理员',
model: 'projectAdmin',
rules: [
{required: true, message: '项目管理员不能为空'}
],
externalValue: {
// disabled: !this.judgeFormEditable('apply'),
disable: true,
options: this.formProjectAdmin
}
},
{
type: 'custom-cascader',
title: '分管领导',
model: 'branchLeaders',
rules: [
{required: true, message: '分管领导不能为空'}
],
externalValue: {
// disabled: !this.judgeFormEditable('apply'),
disable: true,
options: this.formBranchLeader
}
},
{
type: 'custom-cascader',
title: '主要领导',
model: 'MainLeader',
rules: [
{required: true, message: '主要领导不能为空'}
],
externalValue: {
// disabled: !this.judgeFormEditable('apply'),
disable: true,
options: this.formMainLeader
}
},
{
type: 'custom-input',
title: '项目来源',
model: 'cC',
externalValue: {
disabled: false
}
},
{
type: 'custom-input-number',
title: '难度系数',
model: 'difficultyFactor',
// rules: [
// {required: true, message: '难度系数不能为空'},
// {type: 'number', message: '难度系数必须为数字值或小数'}
// ],
externalValue: {
disabled: false
}
},
// {
// type: 'custom-input',
// title: '项目编码',
// model: 'receiveNum',
// // rules: [],
// externalValue: {
// disabled: false
// }
// },
2024-07-02 20:41:25 +08:00
{
type: 'custom-input-number',
title: '项目总额(万元)',
model: 'gross',
// rules: [
// {required: true, message: '项目总金额不能为空'},
// {type: 'number', message: '项目总金额必须为数字值'}
// ],
externalValue: {}
},
{
type: 'custom-input-number',
title: '支出预算(万元)',
model: 'budget',
// rules: [
// {required: true, message: '支出预算不能为空'},
// {type: 'number', message: '支出预算必须为数字值'}
// ],
externalValue: {}
},
{
type: 'custom-textarea',
title: '支出测算方案',
model: 'scheme',
// rules: [
// {required: true, message: '项目说明不能为空'},
// ],
externalValue: {}
},
{
type: 'custom-textarea',
title: '项目绩效目标',
model: 'goal',
// rules: [
// {required: true, message: '项目说明不能为空'},
// ],
externalValue: {}
},
{
type: 'custom-dynamic',
title: '季度考核指标',
model: 'membersList',
externalValue: {
btnData: {
title: '新增',
callback: () => {
this.formPeopleWeightData.push(
{
span: 24,
model: {
quarter: '',
number: '',
indexName: '',
levelA: '',
levelB: '',
levelC: '',
levelD: '',
budgetRate: '',
contRate: '',
},
schema: [
{
type: 'custom-selector',
title: '季度',
model: 'quarter',
span: 5,
externalValue: {
multiple: false,
options: this.formQuarterData
}
},
{
type: 'custom-input-number',
title: '序号',
model: 'number',
span: 4,
externalValue: {}
},
{
type: 'custom-input',
title: '指标名称',
model: 'indexName',
span: 7,
externalValue: {}
},
{
type: 'custom-input',
title: 'A档',
model: 'levelA',
span: 4,
externalValue: {}
},
{
type: 'custom-input',
title: 'B档',
model: 'levelB',
span: 4,
externalValue: {}
},
{
type: 'custom-input',
title: 'C档',
model: 'levelC',
span: 4,
externalValue: {}
},
{
type: 'custom-input',
title: 'D档',
model: 'levelD',
span: 4,
externalValue: {}
},
{
type: 'custom-input',
title: '预算累计执行率',
model: 'budgetRate',
span: 6,
externalValue: {}
},
{
type: 'custom-input',
title: '成本累计控制率',
model: 'contRate',
span: 6,
externalValue: {}
},
{
type: 'delete',
callback: (index) => {
this.formPeopleWeightData.splice(index, 1)
this.formModel.membersList = this.formPeopleWeightData
this.initFormSchema()
}
},
],
},
)
this.formModel.membersList = this.formPeopleWeightData
this.initFormSchema()
}
},
dynamicData: this.formPeopleWeightData
}
},
{
type: 'custom-upload-file',
title: '附件',
model: 'fileData',
externalValue: {
name: 'file',
actionUrl: `${baseUrl}/api/common/file-upload`,
requestHeader: {},
requestData: {},
uploadFileSuccess: (response, file, fileList) => {
console.log('回调成功')
console.log(response)
if (response.status === 0) {
this.formFileData.push({
id: file.uid,
name: file.name + '-' + getItem('userName') + '-' + getItem('orgNameStr'),
url: baseUrl + response.data.url
})
for (let i = 0; i < this.formFileData.length; i++) {
this.formModel.fileData = this.formFileData[i].url
}
// this.personBaseFormModel.fileUrl = (this.formFileData);
} else {
this.$message.error(response.msg)
}
},
uploadFilePreview: (file) => {
console.log('预览:')
console.log(file)
window.open(file.url, '_blank')
},
uploadFileRemove: (file, fileList) => {
for (let i = 0; i < this.formFileData.length; i++) {
if (file.uid === this.formFileData[i].uid) {
this.formFileData.splice(i, 1)
break
}
}
this.initFormSchema()
},
fileList: this.formFileData
}
},
// {
// type: "custom-input-number",
// title: '印文数量(份)',
// model: 'imprintNum',
// rules: [],
// externalValue: {}
// },
{
type: 'submit'
}
]
},
getPersonStatus () {
/*根据账号ID,查询人员信息*/
let id = this.formModel.draftManId
// alert(id);
Api.PersonnelManagement.personDocumentNew(id).then((result) => {
if (result.status === 0) {
let personBaseFormModel = result.data.ext
this.crossStatus = personBaseFormModel.crossStatus
} else {
this.$message.info(result.msg)
}
})
},
//获取文种
getDocumentType () {
let param = {
query: {},
data: {
category: 'publicationCategory',
}
}
//判断只有协会的人员可以选择所有的发文,技交所人员不能选择鄂技协和鄂技协纪要
Api.SystemSetting.getBaseData(param).then((result) => {
this.loadingJudgeData.documentTypeDataDone = true
if (result.status === 0) {
var role = this.roles
console.log(this.roles)
/*if(this.crossStatus == 2 || this.crossStatus == 1){
for (let i = 0; i < result.data.length; i++) {
let purchaseItem = result.data[i];
this.formDocumentTypeData.push({
model: purchaseItem.id,
label: purchaseItem.termName
});
}
}else{
for (let i = 0; i < result.data.length; i++) {
let purchaseItem = result.data[i];
if(purchaseItem.termNo != 12 && purchaseItem.termNo != 13){
this.formDocumentTypeData.push({
model: purchaseItem.id,
label: purchaseItem.termName
});
}
}
}*/
for (let i = 0; i < result.data.length; i++) {
let purchaseItem = result.data[i]
if (purchaseItem.termNo == 1
|| purchaseItem.termNo == 2
|| purchaseItem.termNo == 3
|| purchaseItem.termNo == 5
|| purchaseItem.termNo == 14
|| purchaseItem.termNo == 15
) {
this.formDocumentTypeData.push({
model: purchaseItem.id,
label: purchaseItem.termName
})
}
}
if (this.crossStatus == 2 || this.crossStatus == 1) {
this.formDocumentTypeData.push({
model: '978108623924236290',
label: '鄂技协'
})
this.formDocumentTypeData.push({
model: '978108532228362241',
label: '鄂技协纪要'
})
}
//判断专人选择专项文种
if (role.toString().indexOf('办公室主任') > -1 || role.toString().indexOf('人事专员') > -1) {
this.formDocumentTypeData.push({
model: '978255291938586740',
label: '鄂技交办公会议纪要'
})
}
if (role.toString().indexOf('人事主管') > -1 || role.toString().indexOf('人事专员') > -1) {
this.formDocumentTypeData.push({
model: '976656351180701697',
label: '鄂技交党总支部会议纪要'
})
}
if (role.toString().indexOf('党建专员') > -1) {
this.formDocumentTypeData.push({
model: '976656222025498625',
label: '鄂技交党'
})
}
if (role.toString().indexOf('财务专员') > -1) {
this.formDocumentTypeData.push({
model: '976656179017105409',
label: '鄂技交财'
})
this.formDocumentTypeData.push({
model: '976656079536603137',
label: '鄂技交人'
})
}
if (role.toString().indexOf('工会干事') > -1) {
this.formDocumentTypeData.push({
model: '976656401982111746',
label: '鄂技交工'
})
}
if (role.toString().indexOf('纪检') > -1) {
this.formDocumentTypeData.push({
model: '976656263691714561',
label: '鄂技交纪'
})
}
console.log(this.formDocumentTypeData)
} else {
this.$message.error(result.msg)
}
})
},
//获取文本编号
getDocumentCode () {
let param = {
path: {
id: this.formModel.CategoryID
}
}
this.loadingJudgeData.operationDone = false
Api.Administration.getDocumentCode(param).then((result) => {
this.loadingJudgeData.operationDone = true
if (this.formModel.CategoryID == '978255291938586738') {
this.formModel.receiveNum = '无文号'
} else {
if (result.status === 0) {
this.formModel.receiveNum = result.data
this.initFormSchema()
} else {
this.$message.error(result.msg)
}
}
})
},
//根据会签部门自动获取会签人(部门主任)
getSignedMember () {
if ($.inArray(this.draftDeptId, this.formModel.signedDepts) < 0) {
this.formModel.signedDepts.splice(0, 0, this.draftDeptId)
}
let signedsData = (this.formModel.signedDepts || []).join(',')
this.formMissionMemberData.splice(0, this.formMissionMemberData.length)
Api.PersonnelManagement.personLeaderMember(signedsData).then((result) => {
if (result.status === 0) {
for (let member of result.data) {
if ($.inArray(member.personName, this.formMissionMemberData) >= 0) {
continue
}
this.formMissionMemberData.push(member.personName)
}
this.formModel.signedPerson = this.formMissionMemberData.join('')
// this.initFormSchema();
}
})
},
//选择是否带任务后刷新界面
radioValueChanged () {
this.initFormSchema()
},
//选择自有发文后显示发文类型
selectorValueChanged (model) {
if (model === 'contentClass') {
this.initFormSchema()
}
if (model === 'CategoryID') {
let categoryItem = this.formDocumentTypeData.find(item => item.model == this.formModel.CategoryID)
if (categoryItem) {
if (categoryItem.label == '其他') {
return
}
}
this.getDocumentCode()
}
if (model === 'signedDepts') {
this.getSignedMember()
}
},
//多选级联下拉框值传值
cascaderMultipleValueChanged (model) {
this.formCustomizePeopleData = model
},
//表单验证
formValidate () {
return this.$refs.childrenForm.validate()
},
//清空表单
formResetFields () {
this.formFileData = []
this.$refs.childrenForm.resetFields()
this.initFormSchema()
this.formPeopleWeightData = []
},
//取消提交
formCancel () {
this.formResetFields()
},
//表单提交
formSubmit (data) {
this.$refs.childrenForm.letTextEditorSubmit()
let ext = {}
$.extend(true, ext, this.formModel)
let membersList = []
for (let i = 0; i < this.formPeopleWeightData.length; i++) {
membersList.push(this.formPeopleWeightData[i].model)
}
ext.membersList = membersList
let feesList = []
let projectParentId = ''
if (this.projectStep === 'apply') {
projectParentId = ''
} else {
projectParentId = this.formModel.projectId
}
ext.feesList = feesList
ext.applyDate = moment(ext.applyDate).format('YYYY-MM-DD')
ext.endDate = moment(ext.endDate).format('YYYY-MM-DD')
ext.applyFileData = this.formApplyFileData
ext.executeFileData = this.formExecuteFileData
ext.checkFileData = this.formCheckFileData
let param = {
data: {
projectInfoReq: {
projectCategory: 'init',
projectStep: 'init',
projectName: this.formModel.projectName,
projectNo: this.formModel.projectNo,
projectParentId: projectParentId,
description: this.formModel.description,
ext: ext,
},
// 考核集合
membersList: membersList,
// 获取项目负责人ID
map: {
projectManagerData: this.formModel.projectManagerData[1],
projectAdmin: this.formModel.projectAdmin[1],
branchLeaders: this.formModel.branchLeaders[1],
MainLeader: this.formModel.MainLeader[1]
}
}
}
$.extend(true, param, this.formModel)
console.log('param', param)
param.membersList = membersList
param['ext'] = {
2024-07-04 15:56:55 +08:00
formProjectNo: param.formProjectNo,
2024-07-02 20:41:25 +08:00
membersList: param.membersList,
// projectManagerData: this.formModel.projectManagerData,
draftMan: param.draftMan,
draftDeptName: param.draftDeptName,
projectName: param.projectName,
copying: param.copying,
cC: param.cC,
difficultyFactor: param.difficultyFactor,
isSigned: param.isSigned,
signedDepts: param.signedDepts,
executeDepts: param.executeDepts,
signedPerson: param.signedPerson,
// nuclearMan: param.nuclearMan,
openRange: param.openRange,
// permissions: param.permissions,
permissionsPeople: this.formCustomizePeopleData,
// contentClass: param.contentClass,
// imprintNum: param.imprintNum,
imprintDate: moment(param.imprintDate).format('YYYY-MM-DD HH:mm:ss'),
2024-07-04 15:56:55 +08:00
executeDate: moment(param.imprintDate).format('YYYY-MM-DD HH:mm:ss'),
2024-07-02 20:41:25 +08:00
// CategoryID: param.CategoryID,
receiveNum: param.receiveNum,
gross: param.gross,
budget: param.budget,
scheme: param.scheme,
goal: param.goal,
isTask: false,
year: param.year,
fileData: this.formFileData,
fileDataList: this.formFileData,
documentType: param.documentType,
// budgetRate: param.budgetRate,
// contRate: param.contRate
}
param.fileData = this.formFileData
2024-07-02 20:41:25 +08:00
// return false;
this.loadingJudgeData.operationDone = false
console.log('新增之前的参数', param)
Api.ProjectManagements.addProjectInit(param).then((result) => {
this.loadingJudgeData.operationDone = true
if (result.status === 0) {
this.$message({
type: 'success',
message: '新增成功!'
})
this.$router.go(-1)
} else {
this.$message.error(result.msg)
}
})
},
//递归组装级联选择器数据源
assembleOrgData (source) {
let dest = []
for (let i = 0; i < source.length; i++) {
let org = {
value: source[i].id,
label: source[i].name
}
if (source[i].childList && source[i].childList.length > 0) {
org['children'] = this.assembleOrgData(source[i].childList)
}
dest.push(org)
}
return dest
},
setCascaderMultipleValue (value) {
// this.formCustomizePeopleData = []; //清空级联选择器选中值
let extOptionChildrens = this.formPermissionsData.find(item => item.value == value[0]).children
let checkV = extOptionChildrens.find(item => item.value == value[1])
let checkInclude = this.formModel.permissionsPeople.find(item => item.value == value[1])
if (!checkInclude) {
this.formModel.permissionsPeople.push(checkV)
this.formCustomizePeopleData.push(value[value.length - 1])
}
},
handleClose (model) {
this.formModel.permissionsPeople.find((item, index) => {
if (item.value === model.value) {
this.formModel.permissionsPeople.splice(index, 1)
this.formCustomizePeopleData.splice(index, 1)
this.initFormSchema()
return true
}
})
},
},
components: {
PageLoading, DataForm
}
}
</script>
<style scoped lang="less" rel="stylesheet/less">
.expand-right {
@media (min-width: 768px) {
padding-left: 0 !important;
}
}
.page-content {
padding: 15px;
}
</style>