mirror of
https://gitee.com/maimengcloud/xm-ui-web.git
synced 2025-12-30 10:12:26 +00:00
财务统计
This commit is contained in:
@@ -1,18 +1,110 @@
|
||||
<template>
|
||||
<el-scrollbar v-adaptive>
|
||||
<el-card v-if="currOpType!='add'">
|
||||
<template #header>
|
||||
<el-space :wrap="false">
|
||||
<el-avatar style="background-color:green;"><icon icon="fa-solid:project-diagram"/></el-avatar>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-text type="info" size="small">编号:{{ editForm.id }}</el-text>
|
||||
<el-text type="info" size="small"> 代号:{{ editForm.code }}</el-text>
|
||||
<el-tooltip content="项目代号用于签订合同等甲乙方共享的场景;项目编号为内部编号,用于内部流转,编号生成规则:项目代号+四位随机码">
|
||||
<icon icon="ep:info-filled" />
|
||||
</el-tooltip>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-text size="large"> {{ editForm.name }}</el-text>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-space>
|
||||
</template>
|
||||
<el-descriptions :column="3" size="small" border>
|
||||
<el-descriptions-item>
|
||||
<template #label>
|
||||
<div class="cell-item">
|
||||
<el-icon :style="iconStyle">
|
||||
<user />
|
||||
</el-icon>
|
||||
项目经理
|
||||
</div>
|
||||
</template>
|
||||
{{ editForm.pmUsername || editForm.pmUserid }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template #label>
|
||||
<div class="cell-item">
|
||||
<el-icon :style="iconStyle">
|
||||
<iphone />
|
||||
</el-icon>
|
||||
项目状态
|
||||
</div>
|
||||
</template>
|
||||
<mdp-select width="100%" size="small" itemCode="projectStatus" v-model="editForm.status" showStyle="tag"
|
||||
:disabled="true" />
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template #label>
|
||||
<div class="cell-item">
|
||||
<el-icon :style="iconStyle">
|
||||
<location />
|
||||
</el-icon>
|
||||
项目类型
|
||||
</div>
|
||||
</template>
|
||||
<mdp-select width="100%" showStyle="tag" itemCode="projectType" v-model="editForm.xmType"
|
||||
@change="editSomeFields(editForm, 'projectType', $event)" :disabled="true" />
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template #label>
|
||||
<div class="cell-item">
|
||||
<el-icon :style="iconStyle">
|
||||
<tickets />
|
||||
</el-icon>
|
||||
当前阶段
|
||||
</div>
|
||||
</template>
|
||||
<mdp-select width="100%" :clearable="false" v-if="editForm.xmType" show-style="tag" size="small" label="当前阶段"
|
||||
:itemCode="'projectPhasePlans' + editForm.xmType" v-model="editForm.currPhase"
|
||||
@change="editSomeFields(editForm, 'currPhase', $event)" :disabled="true"/>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item>
|
||||
<template #label>
|
||||
<div class="cell-item">
|
||||
<el-icon :style="iconStyle">
|
||||
<Timer />
|
||||
</el-icon>
|
||||
时间周期
|
||||
</div>
|
||||
</template>
|
||||
<el-space wrap>
|
||||
{{ $mdp.formatDate(editForm.startTime,'Y-M-D') }}~{{ $mdp.formatDate(editForm.endTime,'Y-M-D') }}
|
||||
|
||||
</el-space>
|
||||
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item>
|
||||
<template #label>
|
||||
<div class="cell-item">
|
||||
<el-icon :style="iconStyle">
|
||||
<office-building />
|
||||
</el-icon>
|
||||
所属部门
|
||||
</div>
|
||||
</template>
|
||||
<mdp-select-dept showStyle="tag" width="100%" v-model="editForm.deptid" placeholder="归属部门" :displayLoad="true"
|
||||
@change2="editSomeFields(editForm, 'deptid', $event)" :disabled="true"/>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
|
||||
|
||||
<el-form :model="editForm" label-width="120px" label-position="left" :rules="editFormRules" ref="editForm"
|
||||
class="editForm">
|
||||
<el-form-item label="项目名称" prop="name" style="width:100%;">
|
||||
<el-input v-model="editForm.name" placeholder="请填写 项目名称" @change="editSomeFields(editForm, 'name', $event)" />
|
||||
<el-row class="label-font-color" v-if="currOpType !== 'add'">
|
||||
|
||||
项目代号: {{ editForm.code }} <el-divider direction="vertical" /> 项目编号: {{ editForm.id }}
|
||||
<el-tooltip content="项目代号用于签订合同等甲乙方共享的场景;项目编号为内部编号,用于内部流转,编号生成规则:项目代号+四位随机码">
|
||||
<icon icon="ep:info-filled" style="margin-top:8px;" />
|
||||
</el-tooltip>
|
||||
</el-row>
|
||||
class="editForm">
|
||||
<el-tabs v-model="currTabPane" accordion>
|
||||
<el-tab-pane label="基础信息" name="baseInfo">
|
||||
<el-form-item label="项目名称" prop="name" style="width:100%;">
|
||||
<el-input v-model="editForm.name" placeholder="请填写 项目名称" @change="editSomeFields(editForm, 'name', $event)" />
|
||||
</el-form-item>
|
||||
<el-form-item v-if="currOpType === 'add'" label="项目代号" prop="code" style="width:100%;">
|
||||
<el-input v-model="editForm.code" style="width:100%;" placeholder="项目代号,不可为空">
|
||||
@@ -24,70 +116,68 @@
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-row>
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="6">
|
||||
<el-form-item prop="xmType" label-width="0px">
|
||||
<mdp-select :clearable="false" show-style="x" size="medium" label="项目类型" itemCode="projectType" v-model="editForm.xmType"
|
||||
<el-form-item prop="xmType" label="项目类型">
|
||||
<mdp-select width="100%" :clearable="false" size="medium" itemCode="projectType" v-model="editForm.xmType"
|
||||
@change="editSomeFields(editForm, 'xmType', $event)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item prop="currPhase" label-width="0px">
|
||||
<mdp-select :clearable="false" v-if="editForm.xmType" show-style="x" size="medium" label="当前阶段"
|
||||
<el-form-item prop="currPhase" label="当前阶段">
|
||||
<mdp-select width="100%" :clearable="false" v-if="editForm.xmType" size="medium"
|
||||
:itemCode="'projectPhasePlans' + editForm.xmType" v-model="editForm.currPhase"
|
||||
@change="editSomeFields(editForm, 'currPhase', $event)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
|
||||
<el-form-item prop="status" label-width="0px">
|
||||
<mdp-select :clearable="false" show-style="x" size="medium" label="项目状态" itemCode="projectStatus" v-model="editForm.status"
|
||||
<el-form-item prop="status" label="项目状态">
|
||||
<mdp-select width="100%" :clearable="false" size="medium" itemCode="projectStatus" v-model="editForm.status"
|
||||
@change="editSomeFields(editForm, 'status', $event)" />
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item prop="workType" label-width="0px">
|
||||
<mdp-select :clearable="false" show-style="x" size="medium" label="工作方式" itemCode="workType" v-model="editForm.workType"
|
||||
<el-form-item prop="workType" label="工作方式">
|
||||
<mdp-select width="100%" :clearable="false" size="medium" itemCode="workType" v-model="editForm.workType"
|
||||
@change="editSomeFields(editForm, 'workType', $event)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-divider />
|
||||
<el-row>
|
||||
</el-row>
|
||||
<el-row :gutter="10">
|
||||
|
||||
<el-col :span="6">
|
||||
<el-form-item prop="deptid" label-width="0px">
|
||||
<mdp-select-dept showStyle="x" width="100%" v-model="editForm.deptid" placeholder="归属部门" :displayLoad="true"
|
||||
<el-form-item prop="deptid" label="归属部门">
|
||||
<mdp-select-dept width="100%" v-model="editForm.deptid" placeholder="归属部门" :displayLoad="true"
|
||||
@change2="editSomeFields(editForm, 'deptid', $event)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item prop="admUserid" label-width="0px">
|
||||
<mdp-select-user show-style="x" size="medium" label=" 项目总控" v-model="editForm.admUserid"
|
||||
<el-form-item prop="admUserid" label=" 项目总控">
|
||||
<mdp-select-user width="100%" size="medium" v-model="editForm.admUserid"
|
||||
:init-name="editForm.admUsername" @change2="editSomeFields(editForm, 'admUserid', $event)" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
|
||||
<el-form-item prop="pmUserid" label-width="0px">
|
||||
<mdp-select-user show-style="x" size="medium" label=" 项目经理" v-model="editForm.pmUserid"
|
||||
<el-form-item prop="pmUserid" label=" 项目经理">
|
||||
<mdp-select-user width="100%" size="medium" label=" 项目经理" v-model="editForm.pmUserid"
|
||||
:init-name="editForm.pmUsername" @change2="editSomeFields(editForm, 'pmUserid', $event)" />
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item prop="assUserid" label-width="0px">
|
||||
<mdp-select-user show-style="x" size="medium" label=" 副经理、助理" v-model="editForm.assUserid"
|
||||
<el-form-item prop="assUserid" label=" 副经理、助理">
|
||||
<mdp-select-user width="100%" size="medium" label=" 副经理、助理" v-model="editForm.assUserid"
|
||||
:init-name="editForm.assUsername" @change2="editSomeFields(editForm, 'assUserid', $event)" />
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-tabs v-model="currTabPane" accordion>
|
||||
|
||||
<el-tab-pane label="时间周期" name="time">
|
||||
<el-form-item label="起止时间" prop="startTime,endTime">
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="起止时间" prop="startTime">
|
||||
<el-space wrap>
|
||||
<mdp-date-range v-model="editForm" startKey="startTime" endKey="endTime" type="daterange" range-separator="至"
|
||||
start-placeholder="计划开始" end-placeholder="计划完成" value-format="YYYY-MM-DD HH:mm:ss" />
|
||||
@@ -97,23 +187,25 @@
|
||||
</el-space>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="项目目标" name="target">
|
||||
<el-form-item label="" prop="target" label-width="0px" style="width:100%;">
|
||||
<el-form-item label="" prop="target" style="width:100%;" label-width="0px">
|
||||
<el-input type="textarea" :rows="10" v-model="editForm.target" placeholder="项目目标" />
|
||||
</el-form-item>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="立项说明" name="setupRemark">
|
||||
<el-form-item label="" prop="setupRemark" label-width="0px" style="width:100%;">
|
||||
<el-tab-pane label="立项说明" name="setupRemark" >
|
||||
<el-form-item label="" prop="setupRemark" style="width:100%;" label-width="0px">
|
||||
<el-input type="textarea" :rows="10" v-model="editForm.setupRemark" placeholder="立项说明" />
|
||||
</el-form-item>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="项目说明" name="desc">
|
||||
<el-form-item label="" prop="description" label-width="0px" style="width:100%;">
|
||||
<el-form-item label="" prop="description" style="width:100%;" label-width="0px">
|
||||
<el-input type="textarea" :rows="10" v-model="editForm.description" placeholder="项目描述" />
|
||||
</el-form-item>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="成本预估" name="budget">
|
||||
<el-tab-pane label="概算" name="概算">
|
||||
<el-row>
|
||||
<el-col :span="3">类型</el-col>
|
||||
<el-col :span="4">人数</el-col>
|
||||
@@ -180,6 +272,9 @@
|
||||
参考值:{{ this.toFixed(autoParams.planTotalCost / 10000) }}万元</el-text>
|
||||
</el-row>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="预算" name="budget">
|
||||
<XmBudgetRecord :sel-project="editForm"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="收入及盈利水平" name="totalAmount">
|
||||
|
||||
<el-form-item label="总成本">
|
||||
@@ -217,11 +312,7 @@
|
||||
<mdp-select-att v-if="editForm.id" crely-type="xm-project" :crely-id="editForm.id" :biz-id="editForm.id" :pbiz-id="editForm.id"/>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
</el-form>
|
||||
|
||||
|
||||
<el-row class="footer">
|
||||
<el-row class="footer">
|
||||
<el-space wrap>
|
||||
<span v-if="currOpType !== 'add'">
|
||||
<el-button v-if="currTabPane == 'budget' && editForm.status<='5' && editForm.status >'2'" icon="Edit" type="warning"
|
||||
@@ -239,8 +330,11 @@
|
||||
:disabled="load.edit == true">提交</el-button>
|
||||
|
||||
</el-space>
|
||||
</el-row>
|
||||
</el-scrollbar>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -471,18 +565,30 @@ export default {
|
||||
xmType: [{
|
||||
required: true, message: '项目类型不可为空', trigger: 'change'
|
||||
}],
|
||||
xmType: [{
|
||||
required: true, message: '项目类型不可为空', trigger: 'change'
|
||||
status: [{
|
||||
required: true, message: '此项不可为空', trigger: 'change'
|
||||
}],
|
||||
priority: [{
|
||||
required: true, message: '优先级不可为空', trigger: 'change'
|
||||
currPhase: [{
|
||||
required: true, message: '此项不可为空', trigger: 'change'
|
||||
}],
|
||||
admUserid: [{
|
||||
required: true, message: '项目总控不能为空', trigger: 'change'
|
||||
startTime: [{
|
||||
required: true, message: '此项不可为空', trigger: 'change'
|
||||
}],
|
||||
deptid: [{
|
||||
required: true, message: '此项不可为空', trigger: 'change'
|
||||
}],
|
||||
pmUserid: [{
|
||||
required: true, message: '项目经理不能为空', trigger: 'change'
|
||||
required: true, message: '此项不可为空', trigger: 'change'
|
||||
}],
|
||||
admUserid: [{
|
||||
required: true, message: '此项不可为空', trigger: 'change'
|
||||
}],
|
||||
assUserid: [{
|
||||
required: true, message: '此项不可为空', trigger: 'change'
|
||||
}],
|
||||
workType: [{
|
||||
required: true, message: '此项不可为空', trigger: 'change'
|
||||
}],
|
||||
description: [
|
||||
{ min: 0, max: 250, message: '项目描述长度在0-250', trigger: 'change' }
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user