2024-07-29 17:00:41 +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>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<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 {getItem} from '../../../config/mUtils.js'
|
|
|
|
|
import {baseUrl} from '../../../config/env.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: [],
|
|
|
|
|
formPeopleData: [], //使用人的数据源
|
|
|
|
|
formDocumentTypeData: [], //文种类型的数据源
|
|
|
|
|
formFileData: [], //附件数据源
|
|
|
|
|
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 = {
|
|
|
|
|
step: 0,
|
|
|
|
|
draftMan: this.draftManData,
|
|
|
|
|
draftManId: this.draftManId,
|
|
|
|
|
draftDeptId: this.draftDeptId,
|
|
|
|
|
draftDeptName: this.draftDeptNameData,
|
|
|
|
|
projectName: '',
|
|
|
|
|
copying: '',
|
|
|
|
|
cC: '',
|
|
|
|
|
difficultyFactor: 1,
|
|
|
|
|
isSigned: false,
|
|
|
|
|
signedDepts: [],
|
|
|
|
|
executeDepts: [],
|
|
|
|
|
signedPerson: '',
|
|
|
|
|
openRange: '',
|
|
|
|
|
|
|
|
|
|
permissionsPeople: [],
|
|
|
|
|
projectAdmin:[],
|
|
|
|
|
branchLeader:[],
|
|
|
|
|
MainLeader:[],
|
|
|
|
|
// permissions: 0,
|
|
|
|
|
// nuclearMan: '',
|
|
|
|
|
// contentTitle: '',
|
|
|
|
|
// contentClass: '',
|
|
|
|
|
// CategoryID: '',
|
|
|
|
|
receiveNum: '',
|
|
|
|
|
gross: '',
|
|
|
|
|
budget: '',
|
|
|
|
|
// budgetRate: '',
|
|
|
|
|
// contRate: '',
|
|
|
|
|
scheme: '',
|
|
|
|
|
goal: '',
|
|
|
|
|
// content: '',
|
|
|
|
|
membersList: [],
|
|
|
|
|
// imprintNum: '',
|
|
|
|
|
endDate: '',
|
|
|
|
|
fileData: [],
|
|
|
|
|
imprintDate: '',
|
|
|
|
|
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)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
},
|
2024-08-09 15:40:47 +08:00
|
|
|
|
validateMultipleOfHalf(rule, value, callback) {
|
|
|
|
|
if (value === undefined || value === null || value === '') {
|
|
|
|
|
return callback(new Error('请输入一个值'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const num = parseFloat(value);
|
|
|
|
|
|
|
|
|
|
if (isNaN(num)) {
|
|
|
|
|
return callback(new Error('工作量必须为数字值'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ((num * 2) % 1 !== 0) {
|
|
|
|
|
return callback(new Error('工作量必须是 0.5 的倍数'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
callback(); // 通过验证
|
|
|
|
|
},
|
|
|
|
|
validateMultipleOfHalf1(rule, value, callback) {
|
|
|
|
|
if (value === undefined || value === null || value === '') {
|
|
|
|
|
return callback(new Error('请输入一个值'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const num = parseFloat(value);
|
|
|
|
|
|
|
|
|
|
if (isNaN(num)) {
|
|
|
|
|
return callback(new Error('周数必须为数字值'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (num <= 0 || num % 1 !== 0) {
|
|
|
|
|
return callback(new Error('周数必须是正整数'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
callback(); // 通过验证
|
|
|
|
|
},
|
2024-07-29 17:00:41 +08:00
|
|
|
|
initFormSchema () {
|
|
|
|
|
this.formSchema = [
|
|
|
|
|
{
|
|
|
|
|
type: 'custom-input',
|
|
|
|
|
title: '姓名',
|
|
|
|
|
model: 'draftMan',
|
|
|
|
|
externalValue: {
|
|
|
|
|
disabled: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: 'custom-input',
|
|
|
|
|
title: '部门',
|
|
|
|
|
model: 'draftDeptName',
|
|
|
|
|
externalValue: {
|
|
|
|
|
disabled: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: 'custom-dynamic',
|
|
|
|
|
title: '新增个人周报',
|
|
|
|
|
model: 'membersList',
|
|
|
|
|
externalValue: {
|
|
|
|
|
btnData: {
|
|
|
|
|
title: '新增',
|
|
|
|
|
callback: () => {
|
|
|
|
|
this.formPeopleWeightData.push(
|
|
|
|
|
{
|
|
|
|
|
span: 24,
|
|
|
|
|
model: {
|
|
|
|
|
projectName: '',
|
2024-07-30 15:32:42 +08:00
|
|
|
|
workload: '',
|
2024-07-29 17:00:41 +08:00
|
|
|
|
week: '',
|
|
|
|
|
thisWeek: '',
|
|
|
|
|
nextWeek: '',
|
|
|
|
|
},
|
|
|
|
|
schema: [
|
|
|
|
|
{
|
|
|
|
|
type: 'custom-input',
|
|
|
|
|
title: '项目名称',
|
|
|
|
|
model: 'projectName',
|
|
|
|
|
span: 7,
|
2024-08-09 15:40:47 +08:00
|
|
|
|
rules: [
|
|
|
|
|
{required: true, message: '项目名称不能为空'}
|
|
|
|
|
],
|
2024-07-29 17:00:41 +08:00
|
|
|
|
externalValue: {}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: 'custom-input',
|
2024-08-09 15:40:47 +08:00
|
|
|
|
title: '工作量',
|
2024-07-30 15:32:42 +08:00
|
|
|
|
model: 'workload',
|
2024-07-29 17:00:41 +08:00
|
|
|
|
span: 5,
|
2024-08-09 15:40:47 +08:00
|
|
|
|
rules: [
|
|
|
|
|
{ required: true, message: '工作量不能为空' },
|
|
|
|
|
{ type: 'number',
|
|
|
|
|
validator: this.validateMultipleOfHalf,
|
|
|
|
|
trigger: 'blur'}
|
|
|
|
|
],
|
2024-07-29 17:00:41 +08:00
|
|
|
|
externalValue: {}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: 'custom-input',
|
|
|
|
|
title: '周数',
|
|
|
|
|
model: 'week',
|
|
|
|
|
span: 5,
|
2024-08-09 15:40:47 +08:00
|
|
|
|
rules: [
|
|
|
|
|
{required: true, message: '周数不能为空'},
|
|
|
|
|
{ type: 'number',
|
|
|
|
|
validator: this.validateMultipleOfHalf1,
|
|
|
|
|
trigger: 'blur'}
|
|
|
|
|
],
|
2024-07-29 17:00:41 +08:00
|
|
|
|
externalValue: {}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: 'custom-textarea',
|
|
|
|
|
title: '本周进展',
|
|
|
|
|
model: 'thisWeek',
|
|
|
|
|
span: 24,
|
2024-08-09 15:40:47 +08:00
|
|
|
|
rules: [
|
|
|
|
|
{required: true, message: '本周进展不能为空'}
|
|
|
|
|
],
|
2024-07-29 17:00:41 +08:00
|
|
|
|
externalValue: {}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: 'custom-textarea',
|
|
|
|
|
title: '下周计划',
|
|
|
|
|
model: 'nextWeek',
|
|
|
|
|
span: 24,
|
2024-08-09 15:40:47 +08:00
|
|
|
|
rules: [
|
|
|
|
|
{required: true, message: '下周计划不能为空'}
|
|
|
|
|
],
|
2024-07-29 17:00:41 +08:00
|
|
|
|
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: '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',
|
|
|
|
|
draftDeptId: this.formModel.draftDeptId,
|
|
|
|
|
projectName: this.formModel.projectName,
|
|
|
|
|
projectNo: this.formModel.projectNo,
|
|
|
|
|
projectParentId: projectParentId,
|
|
|
|
|
description: this.formModel.description,
|
|
|
|
|
ext: ext,
|
|
|
|
|
},
|
|
|
|
|
// 考核集合
|
|
|
|
|
membersList: membersList,
|
|
|
|
|
// 获取项目负责人ID
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
$.extend(true, param, this.formModel)
|
|
|
|
|
param.membersList = membersList
|
|
|
|
|
param['ext'] = {
|
|
|
|
|
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'),
|
|
|
|
|
// 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,
|
|
|
|
|
documentType: param.documentType,
|
|
|
|
|
// budgetRate: param.budgetRate,
|
|
|
|
|
// contRate: param.contRate
|
|
|
|
|
}
|
|
|
|
|
// return false;
|
|
|
|
|
this.loadingJudgeData.operationDone = false
|
|
|
|
|
console.log('param', param)
|
|
|
|
|
Api.ProjectManagements.addWeeklyList(param).then((result) => {
|
|
|
|
|
this.loadingJudgeData.operationDone = true
|
|
|
|
|
if (result.status === 0) {
|
|
|
|
|
this.$message({
|
|
|
|
|
type: 'success',
|
|
|
|
|
message: '新增成功!'
|
|
|
|
|
})
|
|
|
|
|
this.$router.go(-1)
|
|
|
|
|
} else {
|
2024-07-30 15:51:25 +08:00
|
|
|
|
this.$message.error(result.data)
|
2024-07-29 17:00:41 +08:00
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
//递归组装级联选择器数据源
|
|
|
|
|
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>
|