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'
|
2024-07-09 16:50:08 +08:00
|
|
|
|
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: [],
|
2024-07-09 16:50:08 +08:00
|
|
|
|
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
|
|
|
|
|
}
|
|
|
|
|
},
|
2024-07-06 22:20:33 +08:00
|
|
|
|
// {
|
|
|
|
|
// 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
|
|
|
|
|
}
|
2024-07-09 16:50:08 +08:00
|
|
|
|
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>
|