opt:优化项目,客户相关代码
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
<p align="center">
|
npm<p align="center">
|
||||||
<img width="320" src="https://wpimg.wallstcn.com/ecc53a42-d79b-42e2-8852-5126b810a4c8.svg">
|
<img width="320" src="https://wpimg.wallstcn.com/ecc53a42-d79b-42e2-8852-5126b810a4c8.svg">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
<meta name="renderer" content="webkit">
|
<meta name="renderer" content="webkit">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||||
<title>Warehouse Management System</title>
|
<title>上海诺力智能科技有限公司</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<script src=<%= BASE_URL %>/tinymce4.7.5/tinymce.min.js></script>
|
<script src=<%= BASE_URL %>/tinymce4.7.5/tinymce.min.js></script>
|
||||||
|
|||||||
@@ -45,6 +45,13 @@ export default {
|
|||||||
data: param
|
data: param
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
getStaffPage(param) {
|
||||||
|
return request({
|
||||||
|
url: `/Hr/GetStaffPage`,
|
||||||
|
method: "post",
|
||||||
|
data: param
|
||||||
|
});
|
||||||
|
},
|
||||||
GetStaffTypeList() {
|
GetStaffTypeList() {
|
||||||
return request({
|
return request({
|
||||||
url: `/Hr/GetStaffTypeList`,
|
url: `/Hr/GetStaffTypeList`,
|
||||||
@@ -73,7 +80,7 @@ export default {
|
|||||||
data: param
|
data: param
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
GetOperationDeptStaff()
|
GetOperationDeptStaff()
|
||||||
{
|
{
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@@ -5,39 +5,62 @@
|
|||||||
<el-collapse-item name="base-info">
|
<el-collapse-item name="base-info">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<span class="custom-title">项目基础信息</span>
|
<span class="custom-title">项目基础信息</span>
|
||||||
<el-button style="margin_left:20px" size="mini" class="el-icon-edit" type="text" @click="editProjectInfo"
|
<el-button
|
||||||
v-if="edit_support == true">编辑</el-button>
|
v-if="edit_support == true"
|
||||||
|
style="margin_left:20px"
|
||||||
|
size="mini"
|
||||||
|
class="el-icon-edit"
|
||||||
|
type="text"
|
||||||
|
@click="editProjectInfo">编辑</el-button>
|
||||||
</template>
|
</template>
|
||||||
<span style="border: 1px solid #dcdcdc; padding: 8px; display: inline-block;width: 100%;">项目介绍:{{
|
<span style="border: 1px solid #dcdcdc; padding: 8px; display: inline-block;width: 100%;">项目介绍:{{
|
||||||
project_info.project_intro }}
|
project_info.project_intro }}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
|
||||||
<el-descriptions :column="2" border class="resume-label-width" style="margin-top: 5px;">
|
<el-descriptions :column="2" border class="resume-label-width" style="margin-top: 5px;">
|
||||||
<el-descriptions-item label="客户名称" :span="1">{{ project_info.company_name }}</el-descriptions-item>
|
<el-descriptions-item :span="1" label="客户名称">{{ project_info.company_name }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="项目名称" :span="1">{{ project_info.project_name }}</el-descriptions-item>
|
<el-descriptions-item :span="1" label="项目名称">{{ project_info.project_name }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="项目状态" :span="1">{{ project_info.project_state_desp }}
|
<el-descriptions-item :span="1" label="项目状态">{{ project_info.project_state_desp }}
|
||||||
<el-button v-if="project_info.project_state == 1 && edit_support == true" type="text"
|
<el-button
|
||||||
icon="el-icon-video-play" @click="dialogVisibleStartProject = true" style="margin-left: 20px;"
|
v-if="project_info.project_state == 1 && edit_support == true"
|
||||||
size="mini">启动</el-button>
|
type="text"
|
||||||
|
icon="el-icon-video-play"
|
||||||
|
style="margin-left: 20px;"
|
||||||
|
size="mini"
|
||||||
|
@click="dialogVisibleStartProject = true">启动</el-button>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="创建时间" :span="1">{{ project_info.create_time }}</el-descriptions-item>
|
<el-descriptions-item :span="1" label="创建时间">{{ project_info.create_time }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="销售经理" :span="1">{{ project_info.sale_manager }}
|
<el-descriptions-item :span="1" label="销售经理">{{ project_info.sale_name }}
|
||||||
<el-button type="text" icon="el-icon-edit" @click="setSaleManager()" style="margin-left: 20px;"
|
<el-button
|
||||||
size="mini" v-if="edit_support == true && allow_change_manager == true">编辑</el-button>
|
v-if="edit_support == true && allow_change_manager == true"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
style="margin-left: 20px;"
|
||||||
|
size="mini"
|
||||||
|
@click="setSaleManager()">编辑</el-button>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item label="交付经理" :span="1">{{ project_info.project_manager }}
|
<el-descriptions-item :span="1" label="交付经理">{{ project_info.project_manager }}
|
||||||
<el-button type="text" icon="el-icon-edit" @click="setProjectManager()" style="margin-left: 20px;"
|
<el-button
|
||||||
size="mini" v-if="edit_support == true && allow_change_manager == true">编辑</el-button>
|
v-if="edit_support == true && allow_change_manager == true"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
style="margin-left: 20px;"
|
||||||
|
size="mini"
|
||||||
|
@click="setProjectManager()">编辑</el-button>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item label="项目成员" :span="1">{{ project_info.project_members }}
|
<el-descriptions-item :span="1" label="项目成员">{{ project_info.project_members }}
|
||||||
<el-button type="text" icon="el-icon-edit" @click="addProjectMember()" style="margin-left: 20px;"
|
<el-button
|
||||||
size="mini" v-if="edit_support == true">编辑</el-button>
|
v-if="edit_support == true"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
style="margin-left: 20px;"
|
||||||
|
size="mini"
|
||||||
|
@click="addProjectMember()">编辑</el-button>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="外部成员" :span="1">
|
<el-descriptions-item :span="1" label="外部成员">
|
||||||
<el-button class="el-icon-view" @click="showExternalMember()" type="text" size="mini">查看</el-button>
|
<el-button class="el-icon-view" type="text" size="mini" @click="showExternalMember()">查看</el-button>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<!--el-descriptions-item label="项目合同" :span="1" v-if="project_info.project_state > 1 && edit_support == true">
|
<!--el-descriptions-item label="项目合同" :span="1" v-if="project_info.project_state > 1 && edit_support == true">
|
||||||
<el-button class="el-icon-view" @click="showContract()" type="text" size="mini">查看</el-button>
|
<el-button class="el-icon-view" @click="showContract()" type="text" size="mini">查看</el-button>
|
||||||
@@ -47,29 +70,37 @@
|
|||||||
<el-button class="el-icon-view" @click="showProtocol()" type="text" size="mini">查看</el-button>
|
<el-button class="el-icon-view" @click="showProtocol()" type="text" size="mini">查看</el-button>
|
||||||
</el-descriptions-item-->
|
</el-descriptions-item-->
|
||||||
|
|
||||||
<el-descriptions-item label="项目计划" :span="1" v-if="project_info.project_state > 1">
|
<el-descriptions-item v-if="project_info.project_state > 1" :span="1" label="项目计划">
|
||||||
<el-button class="el-icon-view" @click="showPlan()" type="text" size="mini">查看</el-button>
|
<el-button class="el-icon-view" type="text" size="mini" @click="showPlan()">查看</el-button>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item label="项目资料" :span="1">
|
<el-descriptions-item :span="1" label="项目资料">
|
||||||
<el-button class="el-icon-view" @click="showContract()" type="text" size="mini"
|
<el-button
|
||||||
v-if="project_info.project_state > 1 && edit_support == true">项目合同</el-button>
|
v-if="project_info.project_state > 1 && edit_support == true"
|
||||||
<el-button class="el-icon-view" @click="showEquipment()" type="text" size="mini">设备资料</el-button>
|
class="el-icon-view"
|
||||||
<el-button class="el-icon-view" @click="showProtocol()" type="text" size="mini">技术协议</el-button>
|
type="text"
|
||||||
<el-button class="el-icon-view" @click="showSummary()" type="text" size="mini">会议纪要</el-button>
|
size="mini"
|
||||||
<el-button class="el-icon-view" @click="showBid()" type="text" size="mini"
|
@click="showContract()">项目合同</el-button>
|
||||||
v-if="edit_support == true">投标文件</el-button>
|
<el-button class="el-icon-view" type="text" size="mini" @click="showEquipment()">设备资料</el-button>
|
||||||
|
<el-button class="el-icon-view" type="text" size="mini" @click="showProtocol()">技术协议</el-button>
|
||||||
|
<el-button class="el-icon-view" type="text" size="mini" @click="showSummary()">会议纪要</el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="edit_support == true"
|
||||||
|
class="el-icon-view"
|
||||||
|
type="text"
|
||||||
|
size="mini"
|
||||||
|
@click="showBid()">投标文件</el-button>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<!--el-descriptions-item label="会议纪要" :span="1">
|
<!--el-descriptions-item label="会议纪要" :span="1">
|
||||||
<el-button class="el-icon-view" @click="showSummary()" type="text" size="mini">查看</el-button>
|
<el-button class="el-icon-view" @click="showSummary()" type="text" size="mini">查看</el-button>
|
||||||
</el-descriptions-item-->
|
</el-descriptions-item-->
|
||||||
|
|
||||||
<el-descriptions-item label="验收报告" :span="1" v-if="project_info.project_state > 8">
|
<el-descriptions-item v-if="project_info.project_state > 8" :span="1" label="验收报告">
|
||||||
<el-button class="el-icon-view" @click="showReport()" type="text" size="mini">查看</el-button>
|
<el-button class="el-icon-view" type="text" size="mini" @click="showReport()">查看</el-button>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="供应商" :span="1">
|
<el-descriptions-item :span="1" label="供应商">
|
||||||
<el-button class="el-icon-view" @click="showSupplier()" type="text" size="mini">查看</el-button>
|
<el-button class="el-icon-view" type="text" size="mini" @click="showSupplier()">查看</el-button>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
|
||||||
@@ -77,92 +108,162 @@
|
|||||||
</el-collapse>
|
</el-collapse>
|
||||||
|
|
||||||
<!-- 问题单对话框 -->
|
<!-- 问题单对话框 -->
|
||||||
<el-dialog title="项目合同" :visible.sync="dialogVisibleShowContract" :close-on-click-modal="false" width="95%"
|
<el-dialog
|
||||||
style="position: fixed;top:-10%" append-to-body>
|
:visible.sync="dialogVisibleShowContract"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
title="项目合同"
|
||||||
|
width="95%"
|
||||||
|
style="position: fixed;top:-10%"
|
||||||
|
append-to-body>
|
||||||
<div class="custom-dialog">
|
<div class="custom-dialog">
|
||||||
<Contract :project_id="project_info.project_id" :contract_category="1" :edid_authority="false"
|
<Contract
|
||||||
v-if="update_view == false" />
|
v-if="update_view == false"
|
||||||
|
:project_id="project_info.project_id"
|
||||||
|
:contract_category="1"
|
||||||
|
:edid_authority="false" />
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 外部客户对话框 -->
|
<!-- 外部客户对话框 -->
|
||||||
<el-dialog title="外部客户" :visible.sync="dialogVisibleShowExternalMember" :close-on-click-modal="false" width="55%"
|
<el-dialog
|
||||||
style="position: fixed;" append-to-body>
|
:visible.sync="dialogVisibleShowExternalMember"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
title="外部客户"
|
||||||
|
width="55%"
|
||||||
|
style="position: fixed;"
|
||||||
|
append-to-body>
|
||||||
<div class="custom-dialog">
|
<div class="custom-dialog">
|
||||||
<ExternalMember :project_id="project_info.project_id" :edit_support="edit_support"
|
<ExternalMember
|
||||||
v-if="update_view == false" />
|
v-if="update_view == false"
|
||||||
|
:project_id="project_info.project_id"
|
||||||
|
:edit_support="edit_support" />
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog title="技术协议" :visible.sync="dialogVisibleShowProtocol" :close-on-click-modal="false" width="95%"
|
<el-dialog
|
||||||
style="position: fixed;top:-10%" append-to-body>
|
:visible.sync="dialogVisibleShowProtocol"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
title="技术协议"
|
||||||
|
width="95%"
|
||||||
|
style="position: fixed;top:-10%"
|
||||||
|
append-to-body>
|
||||||
<div class="custom-dialog">
|
<div class="custom-dialog">
|
||||||
<Contract :project_id="project_info.project_id" :contract_category="2" :edid_authority="edit_support"
|
<Contract
|
||||||
v-if="update_view == false" />
|
v-if="update_view == false"
|
||||||
|
:project_id="project_info.project_id"
|
||||||
|
:contract_category="2"
|
||||||
|
:edid_authority="edit_support" />
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog title="设备资料" :visible.sync="dialogVisibleShowEquipment" :close-on-click-modal="false" width="95%"
|
<el-dialog
|
||||||
style="position: fixed;top:-10%" append-to-body>
|
:visible.sync="dialogVisibleShowEquipment"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
title="设备资料"
|
||||||
|
width="95%"
|
||||||
|
style="position: fixed;top:-10%"
|
||||||
|
append-to-body>
|
||||||
<div class="custom-dialog">
|
<div class="custom-dialog">
|
||||||
<Materials :materials_class="1" :materials_owner="project_info.project_id" :materials_type="[18, 19]"
|
<Materials
|
||||||
:edid_authority="true" v-if="update_view == false" />
|
v-if="update_view == false"
|
||||||
|
:materials_class="1"
|
||||||
|
:materials_owner="project_info.project_id"
|
||||||
|
:materials_type="[18, 19]"
|
||||||
|
:edid_authority="true" />
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog title="会议纪要" :visible.sync="dialogVisibleShowSummary" :close-on-click-modal="false" width="95%"
|
<el-dialog
|
||||||
style="position: fixed;top:-10%" append-to-body>
|
:visible.sync="dialogVisibleShowSummary"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
title="会议纪要"
|
||||||
|
width="95%"
|
||||||
|
style="position: fixed;top:-10%"
|
||||||
|
append-to-body>
|
||||||
<div class="custom-dialog">
|
<div class="custom-dialog">
|
||||||
<Materials :materials_class="1" :materials_owner="project_info.project_id" :materials_type="2"
|
<Materials
|
||||||
:edid_authority="true" v-if="update_view == false" />
|
v-if="update_view == false"
|
||||||
|
:materials_class="1"
|
||||||
|
:materials_owner="project_info.project_id"
|
||||||
|
:materials_type="2"
|
||||||
|
:edid_authority="true" />
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog title="项目计划" :visible.sync="dialogVisibleShowPlan" :close-on-click-modal="false" width="95%"
|
<el-dialog
|
||||||
style="position: fixed;top:-10%" append-to-body>
|
:visible.sync="dialogVisibleShowPlan"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
title="项目计划"
|
||||||
|
width="95%"
|
||||||
|
style="position: fixed;top:-10%"
|
||||||
|
append-to-body>
|
||||||
<div class="custom-dialog">
|
<div class="custom-dialog">
|
||||||
<ProjectPlan v-if="update_view == false" :project_id="project_info.project_id" />
|
<ProjectPlan v-if="update_view == false" :project_id="project_info.project_id" />
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog title="验收报告" :visible.sync="dialogVisibleShowReport" :close-on-click-modal="false" width="95%"
|
<el-dialog
|
||||||
style="position: fixed;top:-10%" append-to-body>
|
:visible.sync="dialogVisibleShowReport"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
title="验收报告"
|
||||||
|
width="95%"
|
||||||
|
style="position: fixed;top:-10%"
|
||||||
|
append-to-body>
|
||||||
<div class="custom-dialog">
|
<div class="custom-dialog">
|
||||||
<Materials :materials_class="1" :materials_owner="project_info.project_id" :materials_type="4"
|
<Materials
|
||||||
:edid_authority="true" v-if="update_view == false" />
|
v-if="update_view == false"
|
||||||
|
:materials_class="1"
|
||||||
|
:materials_owner="project_info.project_id"
|
||||||
|
:materials_type="4"
|
||||||
|
:edid_authority="true" />
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog title="供应商信息" :visible.sync="dialogVisibleShowSupplier" :close-on-click-modal="false" width="60%"
|
<el-dialog
|
||||||
style="position: fixed;top:-10%" append-to-body>
|
:visible.sync="dialogVisibleShowSupplier"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
title="供应商信息"
|
||||||
|
width="60%"
|
||||||
|
style="position: fixed;top:-10%"
|
||||||
|
append-to-body>
|
||||||
<div class="custom-dialog">
|
<div class="custom-dialog">
|
||||||
<SupplierInfo :project_id="project_info.project_id" :edid_authority="edit_support" />
|
<SupplierInfo :project_id="project_info.project_id" :edid_authority="edit_support" />
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog title="投标文件" :visible.sync="dialogVisibleShowBid" :close-on-click-modal="false" width="95%"
|
<el-dialog
|
||||||
style="position: fixed;top:-10%" append-to-body>
|
:visible.sync="dialogVisibleShowBid"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
title="投标文件"
|
||||||
|
width="95%"
|
||||||
|
style="position: fixed;top:-10%"
|
||||||
|
append-to-body>
|
||||||
<div class="custom-dialog">
|
<div class="custom-dialog">
|
||||||
<BidInfo :project_id="project_info.project_id" :contract_category="5" :edid_authority="edit_support"
|
<BidInfo
|
||||||
v-if="update_view == false" />
|
v-if="update_view == false"
|
||||||
|
:project_id="project_info.project_id"
|
||||||
|
:contract_category="5"
|
||||||
|
:edid_authority="edit_support" />
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 对话框 -->
|
<!-- 对话框 -->
|
||||||
<el-dialog title="文件信息" :visible.sync="dialogVisibleShowFile" width="80%" append-to-body>
|
<el-dialog :visible.sync="dialogVisibleShowFile" title="文件信息" width="80%" append-to-body>
|
||||||
<img v-if="isImage" :src="previewUrl" alt="Preview" style="max-width: 40%; max-height: 30%;">
|
<img v-if="isImage" :src="previewUrl" alt="Preview" style="max-width: 40%; max-height: 30%;">
|
||||||
<iframe v-else-if="isPDF" :src="previewUrl" frameborder="0" style="width: 100%; height: 600px;"></iframe>
|
<iframe v-else-if="isPDF" :src="previewUrl" frameborder="0" style="width: 100%; height: 600px;"/>
|
||||||
<p v-else>不支持的文件类型</p>
|
<p v-else>不支持的文件类型</p>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 设置项目经理对话框 -->
|
<!-- 设置项目经理对话框 -->
|
||||||
<el-dialog title="设置交付负责人" :visible.sync="dialogVisibleSetManager" width="30%" append-to-body>
|
<el-dialog :visible.sync="dialogVisibleSetManager" title="设置交付负责人" width="30%" append-to-body>
|
||||||
<el-form :model="editProject" label-width="100px">
|
<el-form :model="editProject" label-width="100px">
|
||||||
<el-form-item label="项目成员">
|
<el-form-item label="项目成员">
|
||||||
<el-select v-model="editProject.project_manager" placeholder="请选择" style="width: 100%;">
|
<el-select v-model="editProject.project_manager" placeholder="请选择" style="width: 100%;">
|
||||||
<el-option v-for="item in dept_member_list" :key="item.staff_id" :label="item.staff_name"
|
<el-option
|
||||||
:value="item.staff_id">
|
v-for="item in dept_member_list"
|
||||||
</el-option>
|
:key="item.staff_id"
|
||||||
|
:label="item.staff_name"
|
||||||
|
:value="item.staff_id"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@@ -173,13 +274,15 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 设置项目经理对话框 -->
|
<!-- 设置项目经理对话框 -->
|
||||||
<el-dialog title="设置销售负责人" :visible.sync="dialogVisibleSetSaleManager" width="30%" append-to-body>
|
<el-dialog :visible.sync="dialogVisibleSetSaleManager" title="设置销售负责人" width="30%" append-to-body>
|
||||||
<el-form :model="editProject" label-width="100px">
|
<el-form :model="editProject" label-width="100px">
|
||||||
<el-form-item label="项目成员">
|
<el-form-item label="项目成员">
|
||||||
<el-select v-model="editProject.sale_manager" placeholder="请选择" style="width: 100%;">
|
<el-select v-model="editProject.sale_manager" placeholder="请选择" style="width: 100%;">
|
||||||
<el-option v-for="item in dept_member_list" :key="item.staff_id" :label="item.staff_name"
|
<el-option
|
||||||
:value="item.staff_id">
|
v-for="item in dept_member_list"
|
||||||
</el-option>
|
:key="item.staff_id"
|
||||||
|
:label="item.staff_name"
|
||||||
|
:value="item.staff_id"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@@ -190,13 +293,15 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 添加项目成员对话框 -->
|
<!-- 添加项目成员对话框 -->
|
||||||
<el-dialog title="添加项目组成员" :visible.sync="dialogVisibleAddMember" width="30%" append-to-body>
|
<el-dialog :visible.sync="dialogVisibleAddMember" title="添加项目组成员" width="30%" append-to-body>
|
||||||
<el-form :model="editProject" label-width="100px">
|
<el-form :model="editProject" label-width="100px">
|
||||||
<el-form-item label="项目成员">
|
<el-form-item label="项目成员">
|
||||||
<el-select v-model="editProject.project_members" multiple placeholder="请选择" style="width: 100%;">
|
<el-select v-model="editProject.project_members" multiple placeholder="请选择" style="width: 100%;">
|
||||||
<el-option v-for="item in dept_member_list" :key="item.staff_id" :label="item.staff_name"
|
<el-option
|
||||||
:value="item.staff_id">
|
v-for="item in dept_member_list"
|
||||||
</el-option>
|
:key="item.staff_id"
|
||||||
|
:label="item.staff_name"
|
||||||
|
:value="item.staff_id"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@@ -207,27 +312,29 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 编辑项目对话框 -->
|
<!-- 编辑项目对话框 -->
|
||||||
<el-dialog title="编辑项目" :visible.sync="dialogVisibleEditProject" width="30%" append-to-body>
|
<el-dialog :visible.sync="dialogVisibleEditProject" title="编辑项目" width="30%" append-to-body>
|
||||||
<el-form :model="editProject" label-width="100px">
|
<el-form :model="editProject" label-width="100px">
|
||||||
<el-form-item label="项目名称">
|
<el-form-item label="项目名称">
|
||||||
<el-input v-model="editProject.project_name"></el-input>
|
<el-input v-model="editProject.project_name"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目编号">
|
<el-form-item label="项目编号">
|
||||||
<el-input v-model="editProject.project_number"></el-input>
|
<el-input v-model="editProject.project_number"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目描述">
|
<el-form-item label="项目描述">
|
||||||
<el-input v-model="editProject.project_intro"></el-input>
|
<el-input v-model="editProject.project_intro"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目状态">
|
<el-form-item label="项目状态">
|
||||||
<el-select v-model="editProject.project_state" placeholder="请选择" style="width: 80%;">
|
<el-select v-model="editProject.project_state" placeholder="请选择" style="width: 80%;">
|
||||||
<el-option v-for="item in project_state_list" :key="item.id" :label="item.desp" :value="item.id">
|
<el-option v-for="item in project_state_list" :key="item.id" :label="item.desp" :value="item.id"/>
|
||||||
</el-option>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="创建时间">
|
<el-form-item label="创建时间">
|
||||||
<el-date-picker v-model="editProject.create_time" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
|
<el-date-picker
|
||||||
placeholder="选择日期">
|
v-model="editProject.create_time"
|
||||||
</el-date-picker>
|
type="date"
|
||||||
|
format="yyyy-MM-dd"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
placeholder="选择日期"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
@@ -237,20 +344,27 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 启动项目对话框 -->
|
<!-- 启动项目对话框 -->
|
||||||
<el-dialog title="启动项目" :visible.sync="dialogVisibleStartProject" width="30%" append-to-body>
|
<el-dialog :visible.sync="dialogVisibleStartProject" title="启动项目" width="30%" append-to-body>
|
||||||
<el-form :model="editNode" label-width="100px">
|
<el-form :model="editNode" label-width="100px">
|
||||||
<el-form-item label="参与员工">
|
<el-form-item label="参与员工">
|
||||||
<el-select v-model="editNode.members" multiple placeholder="请选择" style="width: 100%;">
|
<el-select v-model="editNode.members" filterable multiple placeholder="请选择" style="width: 100%;">
|
||||||
<el-option v-for="item in dept_member_list" :key="item.staff_id" :label="item.staff_name"
|
<el-option
|
||||||
:value="item.staff_id">
|
v-for="item in dept_member_list"
|
||||||
</el-option>
|
:key="item.staff_id"
|
||||||
|
:label="item.staff_name"
|
||||||
|
:value="item.staff_id"
|
||||||
|
filterable
|
||||||
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="启动时间">
|
<el-form-item label="启动时间">
|
||||||
<el-date-picker v-model="editNode.start_date" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
|
<el-date-picker
|
||||||
placeholder="选择日期">
|
v-model="editNode.start_date"
|
||||||
</el-date-picker>
|
type="date"
|
||||||
|
format="yyyy-MM-dd"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
placeholder="选择日期"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
</el-form>
|
</el-form>
|
||||||
@@ -268,16 +382,15 @@ import project from '@/api/project'
|
|||||||
import contract from '@/api/contract'
|
import contract from '@/api/contract'
|
||||||
import hr from '@/api/hr'
|
import hr from '@/api/hr'
|
||||||
import user from '@/api/user'
|
import user from '@/api/user'
|
||||||
import Contract from './Contract.vue';
|
import Contract from './Contract.vue'
|
||||||
import ExternalMember from './ExternalMember.vue';
|
import ExternalMember from './ExternalMember.vue'
|
||||||
import Materials from '@/views/components/Materials.vue'
|
import Materials from '@/views/components/Materials.vue'
|
||||||
import SupplierInfo from './SupplierInfo.vue';
|
import SupplierInfo from './SupplierInfo.vue'
|
||||||
import ProjectPlan from './ProjectPlan.vue';
|
import ProjectPlan from './ProjectPlan.vue'
|
||||||
import BidInfo from '@/views/components/BidInfo.vue';
|
import BidInfo from '@/views/components/BidInfo.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ProjectBasicInfo',
|
name: 'ProjectBasicInfo',
|
||||||
props: ['project_id', 'edit_support'],
|
|
||||||
components: {
|
components: {
|
||||||
Contract,
|
Contract,
|
||||||
ExternalMember,
|
ExternalMember,
|
||||||
@@ -286,6 +399,7 @@ export default {
|
|||||||
BidInfo,
|
BidInfo,
|
||||||
ProjectPlan
|
ProjectPlan
|
||||||
},
|
},
|
||||||
|
props: ['project_id', 'edit_support'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
update_view: false,
|
update_view: false,
|
||||||
@@ -343,141 +457,135 @@ export default {
|
|||||||
addProjectMember() {
|
addProjectMember() {
|
||||||
this.dialogVisibleAddMember = true
|
this.dialogVisibleAddMember = true
|
||||||
|
|
||||||
this.editProject.project_members = [];
|
this.editProject.project_members = []
|
||||||
if (this.project_info['involve_members'] != '') {
|
if (this.project_info['involve_members'] != '') {
|
||||||
this.editProject.project_members = this.project_info['involve_members'].split(',').map(staff_id => parseInt(staff_id, 10));
|
this.editProject.project_members = this.project_info['involve_members'].split(',').map(staff_id => parseInt(staff_id, 10))
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
//获取项目部所有员工信息
|
// 获取项目部所有员工信息
|
||||||
get_project_dept_member_list() {
|
get_project_dept_member_list() {
|
||||||
user.GetProjectDeptStaffList().then(response => {
|
user.GetProjectDeptStaffList().then(response => {
|
||||||
this.dept_member_list = response.data.data
|
this.dept_member_list = response.data.data
|
||||||
console.log(this.dept_member_list);
|
console.log(this.dept_member_list)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
setProjectManager() {
|
setProjectManager() {
|
||||||
this.dialogVisibleSetManager = true;
|
this.dialogVisibleSetManager = true
|
||||||
},
|
},
|
||||||
|
|
||||||
setSaleManager() {
|
setSaleManager() {
|
||||||
this.dialogVisibleSetSaleManager = true;
|
this.dialogVisibleSetSaleManager = true
|
||||||
},
|
},
|
||||||
|
|
||||||
update_sub_component() {
|
update_sub_component() {
|
||||||
this.update_view = true;
|
this.update_view = true
|
||||||
let that = this;
|
const that = this
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
that.update_view = false;
|
that.update_view = false
|
||||||
}, 100); // 1000 毫秒后执行
|
}, 100) // 1000 毫秒后执行
|
||||||
},
|
},
|
||||||
|
|
||||||
confirmSetManager() {
|
confirmSetManager() {
|
||||||
|
var param = { project_id: this.project_id, involve_manager: this.editProject.project_manager }
|
||||||
var param = { project_id: this.project_id, involve_manager: this.editProject.project_manager };
|
|
||||||
console.log('---------------------------')
|
console.log('---------------------------')
|
||||||
console.log(param)
|
console.log(param)
|
||||||
project.UpdateProjectManager(param).then(response => {
|
project.UpdateProjectManager(param).then(response => {
|
||||||
this.get_project_info(this.project_id)
|
this.get_project_info(this.project_id)
|
||||||
this.$message({ type: 'success', message: '更新成功' });
|
this.$message({ type: 'success', message: '更新成功' })
|
||||||
this.dialogVisibleSetManager = false;
|
this.dialogVisibleSetManager = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
confirmSaleManager() {
|
confirmSaleManager() {
|
||||||
|
var param = { project_id: this.project_id, sale_manager: this.editProject.sale_manager }
|
||||||
var param = { project_id: this.project_id, sale_manager: this.editProject.sale_manager };
|
|
||||||
console.log('---------------------------')
|
console.log('---------------------------')
|
||||||
console.log(param)
|
console.log(param)
|
||||||
project.UpdateProjectSaleManager(param).then(response => {
|
project.UpdateProjectSaleManager(param).then(response => {
|
||||||
this.get_project_info(this.project_id)
|
this.get_project_info(this.project_id)
|
||||||
this.$message({ type: 'success', message: '更新成功' });
|
this.$message({ type: 'success', message: '更新成功' })
|
||||||
this.dialogVisibleSetSaleManager = false;
|
this.dialogVisibleSetSaleManager = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
confirmAddMember() {
|
confirmAddMember() {
|
||||||
var param = { project_id: this.project_id, involve_members: this.editProject.project_members };
|
var param = { project_id: this.project_id, involve_members: this.editProject.project_members }
|
||||||
project.UpdateProjectMember(param).then(response => {
|
project.UpdateProjectMember(param).then(response => {
|
||||||
this.get_project_info(this.project_id)
|
this.get_project_info(this.project_id)
|
||||||
this.dialogVisibleAddMember = false
|
this.dialogVisibleAddMember = false
|
||||||
this.$message({ type: 'success', message: '更新成功' });
|
this.$message({ type: 'success', message: '更新成功' })
|
||||||
})
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
confirmStartProject() {
|
confirmStartProject() {
|
||||||
|
|
||||||
if (this.editNode.members.length == 0) {
|
if (this.editNode.members.length == 0) {
|
||||||
this.$message.warning('请选择项目组成员');
|
this.$message.warning('请选择项目组成员')
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if ('' == this.editNode.start_date) {
|
if (this.editNode.start_date == '') {
|
||||||
this.$message.warning('请选择项目启动时间');
|
this.$message.warning('请选择项目启动时间')
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var project_id = this.project_id
|
var project_id = this.project_id
|
||||||
var param = {
|
var param = {
|
||||||
project_id: project_id,
|
project_id: project_id,
|
||||||
//manager: this.editNode.manager,
|
// manager: this.editNode.manager,
|
||||||
members: this.editNode.members,
|
members: this.editNode.members,
|
||||||
start_date: this.editNode.start_date,
|
start_date: this.editNode.start_date
|
||||||
//tech_protocol: this.editNode.tech_protocol_url,
|
// tech_protocol: this.editNode.tech_protocol_url,
|
||||||
|
|
||||||
};
|
}
|
||||||
|
|
||||||
console.log(param);
|
console.log(param)
|
||||||
project.StartProject(param).then(response => {
|
project.StartProject(param).then(response => {
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
message: '添加成功'
|
message: '添加成功'
|
||||||
});
|
})
|
||||||
this.get_project_info(this.project_id)
|
this.get_project_info(this.project_id)
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'error',
|
type: 'error',
|
||||||
message: '添加失败,请重试'
|
message: '添加失败,请重试'
|
||||||
});
|
})
|
||||||
});
|
})
|
||||||
this.dialogVisibleStartProject = false;
|
this.dialogVisibleStartProject = false
|
||||||
},
|
},
|
||||||
|
|
||||||
get_project_state_list() {
|
get_project_state_list() {
|
||||||
project.GetProjectStateList().then(response => {
|
project.GetProjectStateList().then(response => {
|
||||||
this.project_state_list = response.data.data
|
this.project_state_list = response.data.data
|
||||||
console.log(this.project_state_list);
|
console.log(this.project_state_list)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
editProjectInfo() {
|
editProjectInfo() {
|
||||||
this.dialogVisibleEditProject = true;
|
this.dialogVisibleEditProject = true
|
||||||
this.get_project_info(this.project_id);
|
this.get_project_info(this.project_id)
|
||||||
},
|
},
|
||||||
|
|
||||||
get_project_info(project_id) {
|
get_project_info(project_id) {
|
||||||
this.project_id = project_id
|
this.project_id = project_id
|
||||||
var param = { project_id: project_id };
|
var param = { project_id: project_id }
|
||||||
project.GetProjectInfo(param).then(response => {
|
project.GetProjectInfo(param).then(response => {
|
||||||
this.project_info = response.data.data
|
this.project_info = response.data.data
|
||||||
|
|
||||||
//从项目管理进入
|
// 从项目管理进入
|
||||||
if (this.edit_support == false) {
|
if (this.edit_support == false) {
|
||||||
//如果登录用户是项目经理,则有编辑项目基本信息的权限
|
// 如果登录用户是项目经理,则有编辑项目基本信息的权限
|
||||||
var login_user = localStorage.getItem('user_id');
|
var login_user = localStorage.getItem('user_id')
|
||||||
if (login_user == this.project_info.involve_manager) {
|
if (login_user == this.project_info.involve_manager) {
|
||||||
this.edit_support = true
|
this.edit_support = true
|
||||||
//不允许编辑项目经理
|
// 不允许编辑项目经理
|
||||||
this.allow_change_manager = false;
|
this.allow_change_manager = false
|
||||||
}
|
}
|
||||||
}
|
} else// 从客户管理进入
|
||||||
else//从客户管理进入
|
|
||||||
{
|
{
|
||||||
//允许编辑项目经理
|
// 允许编辑项目经理
|
||||||
this.allow_change_manager = true;
|
this.allow_change_manager = true
|
||||||
}
|
}
|
||||||
|
|
||||||
this.editProject = response.data.data
|
this.editProject = response.data.data
|
||||||
@@ -488,47 +596,47 @@ export default {
|
|||||||
|
|
||||||
showProtocol() {
|
showProtocol() {
|
||||||
this.dialogVisibleShowProtocol = true
|
this.dialogVisibleShowProtocol = true
|
||||||
this.update_sub_component();
|
this.update_sub_component()
|
||||||
},
|
},
|
||||||
|
|
||||||
showEquipment() {
|
showEquipment() {
|
||||||
this.dialogVisibleShowEquipment = true
|
this.dialogVisibleShowEquipment = true
|
||||||
this.update_sub_component();
|
this.update_sub_component()
|
||||||
},
|
},
|
||||||
|
|
||||||
showReport() {
|
showReport() {
|
||||||
this.dialogVisibleShowReport = true
|
this.dialogVisibleShowReport = true
|
||||||
this.update_sub_component();
|
this.update_sub_component()
|
||||||
},
|
},
|
||||||
|
|
||||||
showSupplier() {
|
showSupplier() {
|
||||||
this.dialogVisibleShowSupplier = true
|
this.dialogVisibleShowSupplier = true
|
||||||
this.update_sub_component();
|
this.update_sub_component()
|
||||||
},
|
},
|
||||||
|
|
||||||
showBid() {
|
showBid() {
|
||||||
this.dialogVisibleShowBid = true
|
this.dialogVisibleShowBid = true
|
||||||
this.update_sub_component();
|
this.update_sub_component()
|
||||||
},
|
},
|
||||||
|
|
||||||
showSummary() {
|
showSummary() {
|
||||||
this.dialogVisibleShowSummary = true
|
this.dialogVisibleShowSummary = true
|
||||||
this.update_sub_component();
|
this.update_sub_component()
|
||||||
},
|
},
|
||||||
|
|
||||||
showPlan() {
|
showPlan() {
|
||||||
this.dialogVisibleShowPlan = true
|
this.dialogVisibleShowPlan = true
|
||||||
this.update_sub_component();
|
this.update_sub_component()
|
||||||
},
|
},
|
||||||
|
|
||||||
showContract() {
|
showContract() {
|
||||||
this.dialogVisibleShowContract = true
|
this.dialogVisibleShowContract = true
|
||||||
this.update_sub_component();
|
this.update_sub_component()
|
||||||
},
|
},
|
||||||
|
|
||||||
showExternalMember() {
|
showExternalMember() {
|
||||||
this.dialogVisibleShowExternalMember = true
|
this.dialogVisibleShowExternalMember = true
|
||||||
this.update_sub_component();
|
this.update_sub_component()
|
||||||
},
|
},
|
||||||
|
|
||||||
// showProtocol() {
|
// showProtocol() {
|
||||||
@@ -539,25 +647,24 @@ export default {
|
|||||||
var param = { project_id: this.project_id, contract_type: 2 }
|
var param = { project_id: this.project_id, contract_type: 2 }
|
||||||
contract.GetProjectContractList(param).then(response => {
|
contract.GetProjectContractList(param).then(response => {
|
||||||
this.contract_info_list = response.data.data
|
this.contract_info_list = response.data.data
|
||||||
console.log(this.contract_info_list);
|
console.log(this.contract_info_list)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
update_sub_component() {
|
update_sub_component() {
|
||||||
this.update_view = true;
|
this.update_view = true
|
||||||
let that = this;
|
const that = this
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
that.update_view = false;
|
that.update_view = false
|
||||||
}, 100); // 1000 毫秒后执行
|
}, 100) // 1000 毫秒后执行
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
showImg(row) {
|
showImg(row) {
|
||||||
const url = process.env.BASE_WMS_FILE + row.contract_url
|
const url = process.env.BASE_WMS_FILE + row.contract_url
|
||||||
const ext = url.split('.').pop().toLowerCase();
|
const ext = url.split('.').pop().toLowerCase()
|
||||||
|
|
||||||
console.log('-----------------------------------------');
|
console.log('-----------------------------------------')
|
||||||
console.log(url);
|
console.log(url)
|
||||||
|
|
||||||
if (ext === 'jpg' || ext === 'jpeg' || ext === 'png') {
|
if (ext === 'jpg' || ext === 'jpeg' || ext === 'png') {
|
||||||
this.previewUrl = url
|
this.previewUrl = url
|
||||||
@@ -570,16 +677,16 @@ export default {
|
|||||||
} else if (ext === '') {
|
} else if (ext === '') {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
this.$message.success('不支持的文件类型');
|
this.$message.success('不支持的文件类型')
|
||||||
}
|
}
|
||||||
this.dialogVisibleShowFile = true
|
this.dialogVisibleShowFile = true
|
||||||
},
|
},
|
||||||
confirmEditProject() {
|
confirmEditProject() {
|
||||||
if (this.editProject.project_name.trim() === '') {
|
if (this.editProject.project_name.trim() === '') {
|
||||||
this.$message.warning('请输入项目名称');
|
this.$message.warning('请输入项目名称')
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
var project_id = this.project_id;
|
var project_id = this.project_id
|
||||||
var param = {
|
var param = {
|
||||||
project_id: project_id,
|
project_id: project_id,
|
||||||
project_name: this.editProject.project_name,
|
project_name: this.editProject.project_name,
|
||||||
@@ -587,18 +694,18 @@ export default {
|
|||||||
project_number: this.editProject.project_number,
|
project_number: this.editProject.project_number,
|
||||||
project_state: this.editProject.project_state,
|
project_state: this.editProject.project_state,
|
||||||
create_time: this.editProject.create_time
|
create_time: this.editProject.create_time
|
||||||
};
|
}
|
||||||
|
|
||||||
console.log(param);
|
console.log(param)
|
||||||
|
|
||||||
project.EditProjectInfo(param).then(response => {
|
project.EditProjectInfo(param).then(response => {
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
message: '添加成功'
|
message: '添加成功'
|
||||||
});
|
})
|
||||||
this.get_project_info(this.project_id);
|
this.get_project_info(this.project_id)
|
||||||
});
|
})
|
||||||
this.dialogVisibleEditProject = false;
|
this.dialogVisibleEditProject = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
<el-dialog title="功能需求清单" :visible.sync="dialogVisibleShowDemand" :close-on-click-modal="false" width="95%"
|
<el-dialog title="功能需求清单" :visible.sync="dialogVisibleShowDemand" :close-on-click-modal="false" width="95%"
|
||||||
style="position: fixed;top:-10%" append-to-body>
|
style="position: fixed;top:-10%" append-to-body>
|
||||||
<div class="custom-dialog">
|
<div class="custom-dialog">
|
||||||
<Story :project_id="project_info.project_id" :story_type="1" v-if="update_view == false"/>
|
<Story :project_id="project_info.project_id" :is_project_manager=true :story_type="1" v-if="update_view == false"/>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
@@ -118,7 +118,7 @@ export default {
|
|||||||
this.project_info = response.data.data
|
this.project_info = response.data.data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
update_sub_component() {
|
update_sub_component() {
|
||||||
this.update_view = true;
|
this.update_view = true;
|
||||||
let that = this;
|
let that = this;
|
||||||
@@ -156,7 +156,7 @@ export default {
|
|||||||
//查看问题单
|
//查看问题单
|
||||||
showDemand() {
|
showDemand() {
|
||||||
this.dialogVisibleShowDemand = true
|
this.dialogVisibleShowDemand = true
|
||||||
this.update_sub_component()
|
this.update_sub_component()
|
||||||
},
|
},
|
||||||
//查看项目实施购买清单
|
//查看项目实施购买清单
|
||||||
showPorShopping() {
|
showPorShopping() {
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
<el-button class="el-icon-view" @click="showMaterials(scope.row)" size="mini" type="text">查看</el-button>
|
<el-button class="el-icon-view" @click="showMaterials(scope.row)" size="mini" type="text">查看</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="story_managers" label="Story管理者" align="left">
|
<el-table-column prop="story_manager" label="Story管理者" align="left">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="story_members" label="Story成员" align="left">
|
<el-table-column prop="story_members" label="Story成员" align="left">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|||||||
@@ -62,7 +62,9 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
let id = 1;
|
let id = 1;
|
||||||
return {
|
return {
|
||||||
supplier_type_list: [],
|
newPartner: {},
|
||||||
|
dialogVisibleAddPartner: false,
|
||||||
|
supplier_type_list: [],
|
||||||
update_view:false,
|
update_view:false,
|
||||||
defaultProps: {
|
defaultProps: {
|
||||||
children: 'sub_type',
|
children: 'sub_type',
|
||||||
@@ -88,6 +90,31 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
confirmAddPartner() {
|
||||||
|
// this.newPartner.company_type = this.partner_type
|
||||||
|
//如果是供应商,需要设置供应商的服务类型
|
||||||
|
if (this.partner_type == 4) {
|
||||||
|
this.newPartner.service_type = this.service_type
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this.newPartner.service_type = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
partner.AddPartnerCompanyInfo(this.newPartner).then(response => {
|
||||||
|
this.$message({
|
||||||
|
type: 'success',
|
||||||
|
message: '添加成功'
|
||||||
|
});
|
||||||
|
//this.get_supplier_type_list(supplier_type)
|
||||||
|
}).catch(error => {
|
||||||
|
this.$message({
|
||||||
|
type: 'error',
|
||||||
|
message: '添加失败,请重试'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
// 关闭所有对话框
|
||||||
|
this.dialogVisibleAddPartner = false;
|
||||||
|
},
|
||||||
|
|
||||||
openTreeMenu(event, data, node, target) {
|
openTreeMenu(event, data, node, target) {
|
||||||
console.log(event, data, node, target)
|
console.log(event, data, node, target)
|
||||||
@@ -129,7 +156,14 @@ export default {
|
|||||||
that.update_view = false;
|
that.update_view = false;
|
||||||
}, 100); // 1000 毫秒后执行
|
}, 100); // 1000 毫秒后执行
|
||||||
},
|
},
|
||||||
|
addPartnerInfo() {
|
||||||
|
this.dialogVisibleAddPartner = true;
|
||||||
|
this.newPartner = {
|
||||||
|
company_name: '',
|
||||||
|
company_intro: '',
|
||||||
|
create_time: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
handle_node_click(data, node) {
|
handle_node_click(data, node) {
|
||||||
this.currentNode = node;
|
this.currentNode = node;
|
||||||
this.currentData = data;
|
this.currentData = data;
|
||||||
|
|||||||
@@ -1,97 +1,118 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="about">
|
<div class="about">
|
||||||
<el-row>
|
<el-card>
|
||||||
<el-table :data="staff_info_list" border fit highlight-current-row style="width: 100%; margin-left: 2px;"
|
<el-main id="el-main">
|
||||||
height="80vh">
|
<el-table
|
||||||
<el-table-column prop="staff_idcard" label="员工工号" align="left">
|
:data="staff_info_list"
|
||||||
</el-table-column>
|
border
|
||||||
<el-table-column prop="staff_name" label="员工姓名" align="left">
|
fit
|
||||||
</el-table-column>
|
highlight-current-row
|
||||||
<el-table-column prop="staff_phone" label="员工电话" align="left">
|
style="width: 100%; margin-left: 2px;"
|
||||||
</el-table-column>
|
height="80vh">
|
||||||
<el-table-column prop="staff_type_desp" label="员工类型" align="left">
|
<el-table-column prop="staff_idcard" label="员工工号" align="left"/>
|
||||||
</el-table-column>
|
<el-table-column prop="staff_name" label="员工姓名" align="left"/>
|
||||||
<el-table-column prop="staff_dept_desp" label="员工部门" align="left">
|
<el-table-column prop="staff_phone" label="员工电话" align="left"/>
|
||||||
</el-table-column>
|
<el-table-column prop="staff_type_desp" label="员工类型" align="left"/>
|
||||||
<el-table-column prop="staff_email" label="员工邮箱" align="left">
|
<el-table-column prop="staff_dept_desp" label="员工部门" align="left"/>
|
||||||
</el-table-column>
|
<el-table-column prop="staff_email" label="员工邮箱" align="left"/>
|
||||||
<el-table-column prop="entry_date" label="入职时间" align="left">
|
<el-table-column prop="entry_date" label="入职时间" align="left"/>
|
||||||
</el-table-column>
|
|
||||||
|
|
||||||
<el-table-column fixed="right" label="操作" width="250px">
|
<el-table-column fixed="right" label="操作" width="250px">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button v-if="(scope.row.task_state < 2) && (scope.row.action_state < 4)"
|
<el-button
|
||||||
@click="handleClick(scope.row)" size="mini" type="danger">删除</el-button>
|
size="mini"
|
||||||
<!--el-button class="el-icon-view" v-if="scope.row.asset_url != ''" @click="showImg(scope.row)" size="mini"
|
type="danger"
|
||||||
type="primary"></el-button-->
|
@click="handleClick(scope.row)">删除</el-button>
|
||||||
<!--el-button @click="update(scope.row)" size="mini" class="el-icon-edit" type="primary"></el-button-->
|
<el-button
|
||||||
</template>
|
class="el-icon-view"
|
||||||
</el-table-column>
|
size="mini"
|
||||||
</el-table>
|
type="primary"
|
||||||
</el-row>
|
@click="showImg(scope.row)"/>
|
||||||
|
<el-button size="mini" class="el-icon-edit" type="primary" @click="update(scope.row)"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-main>
|
||||||
|
<el-pagination
|
||||||
|
:page-sizes="[5, 10, 20, 50]"
|
||||||
|
:page-size="pageSize"
|
||||||
|
:total="total"
|
||||||
|
:current-page.sync="currPage"
|
||||||
|
background
|
||||||
|
layout="sizes,prev, pager, next, jumper,->,total"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
@size-change="handleSizeChange"/>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
<!-- 对话框 -->
|
<!-- 对话框 -->
|
||||||
<el-dialog title="文件信息" :visible.sync="dialogVisibleStaffInfo" width="80%">
|
<el-dialog :visible.sync="dialogVisibleStaffInfo" title="文件信息" width="80%">
|
||||||
<img v-if="isImage" :src="previewUrl" alt="Preview" style="max-width: 40%; max-height: 30%;">
|
<img v-if="isImage" :src="previewUrl" alt="Preview" style="max-width: 40%; max-height: 30%;">
|
||||||
<iframe v-else-if="isPDF" :src="previewUrl" frameborder="0" style="width: 100%; height: 600px;"></iframe>
|
<iframe v-else-if="isPDF" :src="previewUrl" frameborder="0" style="width: 100%; height: 600px;"/>
|
||||||
<p v-else>不支持的文件类型</p>
|
<p v-else>不支持的文件类型</p>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import hr from '@/api/hr'
|
import hr from '@/api/hr'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
let id = 1;
|
const id = 1
|
||||||
return {
|
return {
|
||||||
staff_info_list: [],
|
pageSize: 20,
|
||||||
id: id,
|
currPage: 1,
|
||||||
dialogVisibleStaffInfo: false,
|
total: 0,
|
||||||
assets_img: '',
|
staff_info_list: [],
|
||||||
assets_pdf_img: ''
|
id: id,
|
||||||
};
|
dialogVisibleStaffInfo: false,
|
||||||
},
|
assets_img: '',
|
||||||
mounted() {
|
assets_pdf_img: ''
|
||||||
this.get_staff_info_list()
|
}
|
||||||
},
|
},
|
||||||
created() {
|
mounted() {
|
||||||
|
this.getStaffPageInfo()
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.pageSize = val
|
||||||
|
this.getStaffPageInfo()
|
||||||
|
},
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.currPage = val
|
||||||
|
this.getStaffPageInfo()
|
||||||
|
},
|
||||||
|
showImg(row) {
|
||||||
|
const url = row.asset_url
|
||||||
|
const ext = url.split('.').pop().toLowerCase()
|
||||||
|
|
||||||
showImg(row) {
|
if (ext === 'jpg' || ext === 'jpeg' || ext === 'png') {
|
||||||
const url = row.asset_url
|
this.previewUrl = url
|
||||||
const ext = url.split('.').pop().toLowerCase();
|
this.isImage = true
|
||||||
|
this.isPDF = false
|
||||||
|
} else if (ext === 'pdf') {
|
||||||
|
this.previewUrl = url
|
||||||
|
this.isImage = false
|
||||||
|
this.isPDF = true
|
||||||
|
} else if (ext === '') {
|
||||||
|
|
||||||
if (ext === 'jpg' || ext === 'jpeg' || ext === 'png') {
|
} else {
|
||||||
this.previewUrl = url
|
this.$message.success('不支持的文件类型')
|
||||||
this.isImage = true
|
}
|
||||||
this.isPDF = false
|
this.dialogVisibleStaffInfo = true
|
||||||
} else if (ext === 'pdf') {
|
},
|
||||||
this.previewUrl = url
|
|
||||||
this.isImage = false
|
|
||||||
this.isPDF = true
|
|
||||||
} else if (ext === '') {
|
|
||||||
|
|
||||||
} else {
|
getStaffPageInfo() {
|
||||||
this.$message.success('不支持的文件类型');
|
hr.getStaffPage({ currPage: this.currPage, pageSize: this.pageSize }).then(res => {
|
||||||
}
|
this.staff_info_list = res.data.data.list
|
||||||
this.dialogVisibleStaffInfo = true
|
this.total = res.data.data.total
|
||||||
},
|
})
|
||||||
|
}
|
||||||
get_staff_info_list() {
|
}
|
||||||
var param = {}
|
|
||||||
|
|
||||||
console.log(param);
|
|
||||||
hr.GetStaffInfoList(param).then(response => {
|
|
||||||
this.staff_info_list = response.data.data
|
|
||||||
console.log(this.staff_info_list);
|
|
||||||
})
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<img :src="imgTitle" height="100px" alt="" />
|
<img :src="imgTitle" height="100px" alt="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="background" style="margin-bottom:110px;margin-top:110px;background-color:#2d3a4b;">
|
<div class="background" style="margin-bottom:110px;margin-top:110px;background-color:#2d3a4b;">
|
||||||
<img :src="imgBack" width="70%" height="80%" alt="" />
|
<img :src="imgBack" width="100%" height="100%" alt="" />
|
||||||
</div>
|
</div>
|
||||||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on"
|
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on"
|
||||||
label-position="left" style="float:right">
|
label-position="left" style="float:right">
|
||||||
|
|||||||
@@ -49,8 +49,11 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="选择添加用户" prop="user_id">
|
<el-form-item label="选择添加用户" prop="user_id">
|
||||||
<el-select v-model="userData.user_id" placeholder="请选择" style="width: 100%;">
|
<el-select v-model="userData.user_id" filterable placeholder="请选择" style="width: 100%;">
|
||||||
<el-option v-for="item in contactsList" :key="item.contacts_id" :label="item.contacts_name"
|
<el-option v-for="item in contactsList"
|
||||||
|
filterable
|
||||||
|
:key="item.contacts_id"
|
||||||
|
:label="item.contacts_name"
|
||||||
:value="item.contacts_id">
|
:value="item.contacts_id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@@ -230,7 +233,7 @@ export default {
|
|||||||
},
|
},
|
||||||
//获取用户信息
|
//获取用户信息
|
||||||
getUserInfoList() {
|
getUserInfoList() {
|
||||||
user.getUserInfoList({ currPage: this.currPage, pageSize: this.pageSize, }).then(res => {
|
user.getUserInfoList({ currPage: this.currPage, pageSize: this.pageSize}).then(res => {
|
||||||
this.userList = res.data.data.list;
|
this.userList = res.data.data.list;
|
||||||
console.log('userList', this.userList);
|
console.log('userList', this.userList);
|
||||||
this.total = res.data.data.total;
|
this.total = res.data.data.total;
|
||||||
|
|||||||
Reference in New Issue
Block a user