提交
This commit is contained in:
parent
8994bece17
commit
3d35b31768
@ -24,25 +24,11 @@
|
||||
>
|
||||
</el-option>
|
||||
</el-select> -->
|
||||
<el-select
|
||||
ref="selectRef"
|
||||
v-model="selectVal"
|
||||
placeholder="请选择"
|
||||
style="width: 100%;margin-top: 10px;"
|
||||
size="medium"
|
||||
clearable
|
||||
@change="selectChange"
|
||||
>
|
||||
<el-select ref="selectRef" v-model="selectVal" placeholder="请选择" style="width: 100%;margin-top: 10px;"
|
||||
size="medium" clearable @change="selectChange">
|
||||
<el-option style="height:auto" :value="[]">
|
||||
<el-tree
|
||||
:data="areaList"
|
||||
node-key="id"
|
||||
ref="groupTree"
|
||||
:default-expanded-keys="defaultExpandArr"
|
||||
:props="defaultAreaProps"
|
||||
:default-expand-all="false"
|
||||
@node-click="treeAreaClick"
|
||||
>
|
||||
<el-tree :data="areaList" node-key="id" ref="groupTree" :default-expanded-keys="defaultExpandArr"
|
||||
:props="defaultAreaProps" :default-expand-all="false" @node-click="treeAreaClick">
|
||||
</el-tree>
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -52,35 +38,23 @@
|
||||
承包商列表
|
||||
</p>
|
||||
<vue-scroll style="height: calc(100% - 30px)" v-if="level1CompanyData.length > 0">
|
||||
<el-tree
|
||||
:data="level1CompanyData"
|
||||
:props="defaultProps"
|
||||
default-expand-all
|
||||
node-key="id"
|
||||
ref="tree"
|
||||
>
|
||||
<el-tree :data="level1CompanyData" :props="defaultProps" default-expand-all node-key="id" ref="tree">
|
||||
<span class="custom-tree-node" slot-scope="{ node, data }">
|
||||
<span
|
||||
style="
|
||||
width: 160px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
"
|
||||
@click="treeClick(data)"
|
||||
:class="
|
||||
data.videoName
|
||||
? 'videoName'
|
||||
: data.projectName
|
||||
? 'projectName'
|
||||
: data.companyType == 2
|
||||
? 'companyName2'
|
||||
: ''
|
||||
"
|
||||
:title="node.label"
|
||||
>{{ node.label }}</span
|
||||
>
|
||||
<span style="
|
||||
width: 160px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
" @click="treeClick(data)" :class="
|
||||
data.videoName
|
||||
? 'videoName'
|
||||
: data.projectName
|
||||
? 'projectName'
|
||||
: data.companyType == 2
|
||||
? 'companyName2'
|
||||
: ''
|
||||
" :title="node.label">{{ node.label }}</span>
|
||||
</span>
|
||||
</el-tree>
|
||||
</vue-scroll>
|
||||
@ -93,148 +67,70 @@
|
||||
</div>
|
||||
<div class="table-content">
|
||||
<div class="searchBox whiteBlock">
|
||||
<el-form
|
||||
:inline="true"
|
||||
size="medium"
|
||||
:model="queryInfo"
|
||||
class="demo-form-inline"
|
||||
>
|
||||
<el-form :inline="true" size="medium" :model="queryInfo" class="demo-form-inline">
|
||||
<el-form-item label="分部分项工程名称">
|
||||
<el-input
|
||||
v-model="queryInfo.taskName"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
<el-input v-model="queryInfo.taskName" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="queryInfo.status" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="(item, index) in options"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
<el-option v-for="(item, index) in options" :key="index" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="实际完成日期">
|
||||
<el-date-picker
|
||||
v-model="daterange"
|
||||
@change="changeDate"
|
||||
type="daterange"
|
||||
:range-separator="$t('message.energyManage.to')"
|
||||
:start-placeholder="$t('message.energyManage.start')"
|
||||
:end-placeholder="$t('message.energyManage.end')"
|
||||
value-format="yyyy-MM-dd"
|
||||
>
|
||||
<el-date-picker v-model="daterange" @change="changeDate" type="daterange"
|
||||
:range-separator="$t('message.energyManage.to')" :start-placeholder="$t('message.energyManage.start')"
|
||||
:end-placeholder="$t('message.energyManage.end')" value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-permission="{key: 'fbfx_query', menuPath: '/project/progressManagementAg/divisionSubManage'}" type="primary" plain @click="getProgressListData" :disabled="!treeData.id"
|
||||
>查询</el-button
|
||||
>
|
||||
<el-button v-permission="{key: 'fbfx_refreshi', menuPath: '/project/progressManagementAg/divisionSubManage'}" type="warning" plain @click="refreshBtn" :disabled="!treeData.id"
|
||||
>刷新</el-button
|
||||
>
|
||||
<el-button v-permission="{ key: 'fbfx_query', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
||||
type="primary" plain @click="getProgressListData" :disabled="!treeData.id">查询</el-button>
|
||||
<el-button
|
||||
v-permission="{key: 'fbfx_add', menuPath: '/project/progressManagementAg/divisionSubManage'}"
|
||||
class="expintBtn"
|
||||
size="medium"
|
||||
type="primary"
|
||||
plain
|
||||
:disabled="!treeData.id"
|
||||
@click="addBefore(1, null)"
|
||||
>
|
||||
v-permission="{ key: 'fbfx_refreshi', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
||||
type="warning" plain @click="refreshBtn" :disabled="!treeData.id">刷新</el-button>
|
||||
<el-button v-permission="{ key: 'fbfx_add', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
||||
class="expintBtn" size="medium" type="primary" plain :disabled="!treeData.id"
|
||||
@click="addBefore(1, null)">
|
||||
新增
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button
|
||||
v-permission="{key: 'fbfx_DownloadTemplate', menuPath: '/project/progressManagementAg/divisionSubManage'}"
|
||||
class="expintBtn"
|
||||
size="medium"
|
||||
type="primary"
|
||||
:disabled="!treeData.id"
|
||||
@click="downloadFn(1)"
|
||||
>
|
||||
v-permission="{ key: 'fbfx_DownloadTemplate', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
||||
class="expintBtn" size="medium" type="primary" :disabled="!treeData.id" @click="downloadFn(1)">
|
||||
<!-- <a class="down" :href="downUrl" download>下载模板</a> -->
|
||||
下载模板
|
||||
</el-button>
|
||||
<el-button
|
||||
v-permission="{key: 'fbfx_lmport', menuPath: '/project/progressManagementAg/divisionSubManage'}"
|
||||
size="medium"
|
||||
type="primary"
|
||||
:disabled="!treeData.id"
|
||||
@click="uploadShow = true"
|
||||
>导入</el-button
|
||||
>
|
||||
v-permission="{ key: 'fbfx_lmport', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
||||
size="medium" type="primary" :disabled="!treeData.id" @click="uploadShow = true">导入</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="table_wrap whiteBlock">
|
||||
<vue-scroll>
|
||||
<el-table
|
||||
height="650"
|
||||
class="tables"
|
||||
:data="listData"
|
||||
lazy
|
||||
row-key="id"
|
||||
default-expand-all
|
||||
:tree-props="{ children: 'children' }"
|
||||
>
|
||||
<el-table-column
|
||||
width="200"
|
||||
prop="taskName"
|
||||
label="分部分项工程名称"
|
||||
>
|
||||
<el-table height="650" class="tables" :data="listData" lazy row-key="id" default-expand-all
|
||||
:tree-props="{ children: 'children' }">
|
||||
<el-table-column width="200" prop="taskName" label="分部分项工程名称">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
:title="scope.row.taskName"
|
||||
style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;width: 150px;"
|
||||
>
|
||||
<span :title="scope.row.taskName"
|
||||
style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;width: 150px;">
|
||||
{{ scope.row.taskName }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="qualityRegionName"
|
||||
label="区域"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<el-table-column align="center" prop="qualityRegionName" label="区域" show-overflow-tooltip>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="startDate"
|
||||
label="计划开始时间"
|
||||
>
|
||||
<el-table-column align="center" prop="startDate" label="计划开始时间">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="finishDate"
|
||||
label="计划完成时间"
|
||||
>
|
||||
<el-table-column align="center" prop="finishDate" label="计划完成时间">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="actualStartDate"
|
||||
label="实际开始时间"
|
||||
>
|
||||
<el-table-column align="center" prop="actualStartDate" label="实际开始时间">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="actualFinishDate"
|
||||
label="实际完成时间"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="dutyUserName"
|
||||
label="负责人"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="progressRatio"
|
||||
label="进度"
|
||||
>
|
||||
<el-table-column align="center" prop="actualFinishDate" label="实际完成时间"></el-table-column>
|
||||
<el-table-column align="center" prop="dutyUserName" label="负责人"></el-table-column>
|
||||
<el-table-column align="center" prop="progressRatio" label="进度">
|
||||
<template slot-scope="scope">{{
|
||||
scope.row.progressRatio + "%"
|
||||
}}</template>
|
||||
@ -242,35 +138,28 @@
|
||||
<el-table-column prop="status" align="center" label="执行状态">
|
||||
<template slot-scope="scope">
|
||||
<span :class="scope.row.status == 0
|
||||
? 'no-start':scope.row.status == 1
|
||||
?'is-pending':scope.row.status == 2
|
||||
?'is-finshed':'no-start'">
|
||||
{{
|
||||
scope.row.status == 0
|
||||
? 'no-start' : scope.row.status == 1
|
||||
? 'is-pending' : scope.row.status == 2
|
||||
? 'is-finshed' : 'no-start'">
|
||||
{{
|
||||
scope.row.status == 0
|
||||
? "未开始"
|
||||
: scope.row.status == 1
|
||||
? "进行中"
|
||||
: scope.row.status == 2
|
||||
? "已完成"
|
||||
: "未开始"
|
||||
}}
|
||||
? "进行中"
|
||||
: scope.row.status == 2
|
||||
? "已完成"
|
||||
: "未开始"
|
||||
}}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="beginWarning"
|
||||
align="center"
|
||||
label="开始预警"
|
||||
>
|
||||
<el-table-column prop="beginWarning" align="center" label="开始预警">
|
||||
<template slot-scope="scope">
|
||||
<div
|
||||
style="color: #fe6565;"
|
||||
v-if="scope.row.beginWarning === 3"
|
||||
>
|
||||
<div style="color: #fe6565;" v-if="scope.row.beginWarning === 3">
|
||||
{{
|
||||
scope.row.beginWarning == 1
|
||||
? "提前"
|
||||
: scope.row.beginWarning == 2
|
||||
? "提前"
|
||||
: scope.row.beginWarning == 2
|
||||
? "正常"
|
||||
: "逾期"
|
||||
}}
|
||||
@ -278,28 +167,21 @@
|
||||
<div v-else>
|
||||
{{
|
||||
scope.row.beginWarning == 1
|
||||
? "提前"
|
||||
: scope.row.beginWarning == 2
|
||||
? "提前"
|
||||
: scope.row.beginWarning == 2
|
||||
? "正常"
|
||||
: "逾期"
|
||||
}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="endWarning"
|
||||
align="center"
|
||||
label="结束预警"
|
||||
>
|
||||
<el-table-column prop="endWarning" align="center" label="结束预警">
|
||||
<template slot-scope="scope">
|
||||
<div
|
||||
style="color: #fe6565;"
|
||||
v-if="scope.row.endWarning === 3"
|
||||
>
|
||||
<div style="color: #fe6565;" v-if="scope.row.endWarning === 3">
|
||||
{{
|
||||
scope.row.endWarning == 1
|
||||
? "提前"
|
||||
: scope.row.endWarning == 2
|
||||
? "提前"
|
||||
: scope.row.endWarning == 2
|
||||
? "正常"
|
||||
: "逾期"
|
||||
}}
|
||||
@ -307,8 +189,8 @@
|
||||
<div v-else>
|
||||
{{
|
||||
scope.row.endWarning == 1
|
||||
? "提前"
|
||||
: scope.row.endWarning == 2
|
||||
? "提前"
|
||||
: scope.row.endWarning == 2
|
||||
? "正常"
|
||||
: "逾期"
|
||||
}}
|
||||
@ -318,79 +200,43 @@
|
||||
<el-table-column width="300" label="操作" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
v-permission="{key: 'fbfx_subltem', menuPath: '/project/progressManagementAg/divisionSubManage'}"
|
||||
@click.native.stop="addBefore(2, scope.row)"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-circle-plus-outline"
|
||||
>
|
||||
v-permission="{ key: 'fbfx_subltem', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
||||
@click.native.stop="addBefore(2, scope.row)" size="mini" type="text"
|
||||
icon="el-icon-circle-plus-outline">
|
||||
子分项
|
||||
</el-button>
|
||||
<el-button
|
||||
v-permission="{key: 'fbfx_details', menuPath: '/project/progressManagementAg/divisionSubManage'}"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-document"
|
||||
@click.native.stop="showDetail(scope.row)"
|
||||
>
|
||||
v-permission="{ key: 'fbfx_details', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
||||
size="mini" type="text" icon="el-icon-document" @click.native.stop="showDetail(scope.row)">
|
||||
详情
|
||||
</el-button>
|
||||
<el-button
|
||||
v-permission="{key: 'fbfx_edit', menuPath: '/project/progressManagementAg/divisionSubManage'}"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click.native.stop="editBefore(scope.row)"
|
||||
>
|
||||
v-permission="{ key: 'fbfx_edit', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
||||
size="mini" type="text" icon="el-icon-edit" @click.native.stop="editBefore(scope.row)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-permission="{key: 'fbfx_delete', menuPath: '/project/progressManagementAg/divisionSubManage'}"
|
||||
size="mini"
|
||||
type="text"
|
||||
class="delete-btn"
|
||||
icon="el-icon-delete"
|
||||
@click.native.stop="deleteBefore(scope.row)"
|
||||
>删除</el-button
|
||||
>
|
||||
v-permission="{ key: 'fbfx_delete', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
||||
size="mini" type="text" class="delete-btn" icon="el-icon-delete"
|
||||
@click.native.stop="deleteBefore(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</vue-scroll>
|
||||
<el-pagination
|
||||
class="pagerBox"
|
||||
style="position: absolute; top: 85%; left: 51%"
|
||||
@size-change="SizeChange"
|
||||
@current-change="CurrentChange"
|
||||
:current-page="pagInfo.pageNo"
|
||||
:page-sizes="$store.state.PAGESIZRS"
|
||||
:page-size="pagInfo.pageSize"
|
||||
layout="total, sizes, prev, pager, next"
|
||||
:total="Number(pagInfo.total)"
|
||||
background
|
||||
></el-pagination>
|
||||
<el-pagination class="pagerBox" style="position: absolute; top: 85%; left: 51%" @size-change="SizeChange"
|
||||
@current-change="CurrentChange" :current-page="pagInfo.pageNo" :page-sizes="$store.state.PAGESIZRS"
|
||||
:page-size="pagInfo.pageSize" layout="total, sizes, prev, pager, next" :total="Number(pagInfo.total)"
|
||||
background></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- '新增父子级工程弹框' -->
|
||||
<el-dialog
|
||||
:modal-append-to-body="false"
|
||||
:title="title"
|
||||
:visible.sync="dialogVisible"
|
||||
width="667px"
|
||||
@close="close"
|
||||
>
|
||||
<el-dialog :modal-append-to-body="false" :title="title" :visible.sync="dialogVisible" width="667px" @close="close">
|
||||
<div class="dialog_content">
|
||||
<el-form
|
||||
ref="addEditForm"
|
||||
label-width="135px"
|
||||
size="medium"
|
||||
class="dialogFormBox"
|
||||
:rules="addEditRules"
|
||||
:model="workerInfo"
|
||||
>
|
||||
|
||||
<el-form-item label="区域" prop="qualityRegionId">
|
||||
<el-form ref="addEditForm" label-width="135px" size="medium" class="dialogFormBox" :rules="addEditRules"
|
||||
:model="workerInfo">
|
||||
|
||||
<el-form-item label="区域" prop="qualityRegionId">
|
||||
<!-- <el-select v-model="workerInfo.qualityRegionId" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in areaList"
|
||||
@ -400,182 +246,87 @@
|
||||
>
|
||||
</el-option>
|
||||
</el-select> -->
|
||||
<el-select
|
||||
ref="selectFormRef"
|
||||
v-model="selectFormVal"
|
||||
placeholder="请选择"
|
||||
style="width: 100%;"
|
||||
size="medium"
|
||||
clearable
|
||||
@change="selectFormChange"
|
||||
>
|
||||
<el-select ref="selectFormRef" v-model="selectFormVal" placeholder="请选择" style="width: 100%;" size="medium"
|
||||
clearable @change="selectFormChange">
|
||||
<el-option style="height:auto" :value="[]">
|
||||
<el-tree
|
||||
:data="areaList"
|
||||
node-key="id"
|
||||
ref="groupFormTree"
|
||||
:default-expanded-keys="defaultExpandFormArr"
|
||||
:props="defaultAreaProps"
|
||||
:highlight-current="true"
|
||||
:default-expand-all="false"
|
||||
@node-click="treeAreaFormClick"
|
||||
>
|
||||
<el-tree :data="areaList" node-key="id" ref="groupFormTree"
|
||||
:default-expanded-keys="defaultExpandFormArr" :props="defaultAreaProps" :highlight-current="true"
|
||||
:default-expand-all="false" @node-click="treeAreaFormClick">
|
||||
</el-tree>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="承包商" prop="enterpriseName">
|
||||
<el-select v-model="workerInfo.enterpriseName" placeholder="请选择" disabled>
|
||||
<el-option
|
||||
v-for="item in level1CompanyData"
|
||||
:key="item.id"
|
||||
:label="item.enterpriseName"
|
||||
:value="item.id"
|
||||
>
|
||||
<el-option v-for="item in level1CompanyData" :key="item.id" :label="item.enterpriseName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="分部分项名称"
|
||||
prop="taskName"
|
||||
v-if="dialogType == 3"
|
||||
>
|
||||
<el-input
|
||||
v-model="parentTaskName"
|
||||
placeholder="请输入"
|
||||
:disabled="dialogType == 3"
|
||||
></el-input>
|
||||
<el-form-item label="分部分项名称" prop="taskName" v-if="dialogType == 3">
|
||||
<el-input v-model="parentTaskName" placeholder="请输入" :disabled="dialogType == 3"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item v-else label="分部分项名称" prop="taskName">
|
||||
<el-input
|
||||
v-model="workerInfo.taskName"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
<el-input v-model="workerInfo.taskName" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="dialogType == 3"
|
||||
label="子分部分项名称"
|
||||
prop="taskName"
|
||||
>
|
||||
<el-input
|
||||
v-model="workerInfo.taskName"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
<el-form-item v-if="dialogType == 3" label="子分部分项名称" prop="taskName">
|
||||
<el-input v-model="workerInfo.taskName" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="计划开始时间" prop="startDate">
|
||||
<el-date-picker
|
||||
@change="time1"
|
||||
v-model="workerInfo.startDate"
|
||||
type="date"
|
||||
placeholder="请选择日期"
|
||||
value-format="yyyy-MM-dd"
|
||||
>
|
||||
<el-date-picker @change="time1" v-model="workerInfo.startDate" type="date" placeholder="请选择日期"
|
||||
value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="计划结束时间" prop="finishDate">
|
||||
<el-date-picker
|
||||
@change="time2"
|
||||
v-model="workerInfo.finishDate"
|
||||
:picker-options="dateBefore"
|
||||
type="date"
|
||||
placeholder="请选择日期"
|
||||
value-format="yyyy-MM-dd"
|
||||
>
|
||||
<el-date-picker @change="time2" v-model="workerInfo.finishDate" :picker-options="dateBefore" type="date"
|
||||
placeholder="请选择日期" value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="实际开始时间" prop="actualStartDate">
|
||||
<el-date-picker
|
||||
v-model="workerInfo.actualStartDate"
|
||||
type="date"
|
||||
placeholder="请选择日期"
|
||||
value-format="yyyy-MM-dd"
|
||||
>
|
||||
<el-date-picker v-model="workerInfo.actualStartDate" type="date" placeholder="请选择日期"
|
||||
value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="实际结束时间" prop="actualFinishDate">
|
||||
<el-date-picker
|
||||
v-model="workerInfo.actualFinishDate"
|
||||
:picker-options="actualDateBefore"
|
||||
type="date"
|
||||
placeholder="请选择日期"
|
||||
value-format="yyyy-MM-dd"
|
||||
>
|
||||
<el-date-picker v-model="workerInfo.actualFinishDate" :picker-options="actualDateBefore" type="date"
|
||||
placeholder="请选择日期" value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="负责人" prop="dutyUserName">
|
||||
<el-select v-model="workerInfo.dutyUserId" placeholder="请选择" filterable>
|
||||
<el-option
|
||||
v-for="item in principalLsit"
|
||||
:key="item.userId"
|
||||
:label="item.realName"
|
||||
:value="item.userId"
|
||||
>
|
||||
<el-option v-for="item in principalLsit" :key="item.userId" :label="item.realName" :value="item.userId">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="进度(%)" prop="progressRatio">
|
||||
<el-input-number
|
||||
:disabled="workerInfo.status === 2"
|
||||
:max="100"
|
||||
style="width: 105%"
|
||||
v-model="workerInfo.progressRatio"
|
||||
@input="validateInput"
|
||||
></el-input-number>
|
||||
<el-input-number :disabled="workerInfo.status === 2" :max="100" style="width: 105%"
|
||||
v-model="workerInfo.progressRatio" @input="validateInput"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input
|
||||
v-model="workerInfo.remark"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
<el-input v-model="workerInfo.remark" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="dialog-footer">
|
||||
<el-button
|
||||
class="cancleBtn"
|
||||
@click="dialogVisible = false"
|
||||
icon="el-icon-circle-close"
|
||||
size="medium"
|
||||
>取消
|
||||
<el-button class="cancleBtn" @click="dialogVisible = false" icon="el-icon-circle-close" size="medium">取消
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-circle-check"
|
||||
@click="submitBtn"
|
||||
size="medium"
|
||||
>确定
|
||||
<el-button type="primary" icon="el-icon-circle-check" @click="submitBtn" size="medium">确定
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 导入弹框 -->
|
||||
<el-dialog
|
||||
:modal-append-to-body="false"
|
||||
width="600px"
|
||||
title="导入"
|
||||
:visible.sync="uploadShow"
|
||||
@close="close2"
|
||||
>
|
||||
<el-dialog :modal-append-to-body="false" width="600px" title="导入" :visible.sync="uploadShow" @close="close2">
|
||||
<div class="questionText">
|
||||
<i
|
||||
style="color: #e1a439; margin-right: 1%"
|
||||
class="el-icon-question"
|
||||
></i
|
||||
>用户需要先下载excel文件,再将数据填写到Project文件中,选择所需要的一种更新方式,然后通过选择文件按钮上传Project文件,点击确定即可完成分部分项数据更新。
|
||||
<i style="color: #e1a439; margin-right: 1%"
|
||||
class="el-icon-question"></i>用户需要先下载excel文件,再将数据填写到Project文件中,选择所需要的一种更新方式,然后通过选择文件按钮上传Project文件,点击确定即可完成分部分项数据更新。
|
||||
</div>
|
||||
<div class="dialogUplod">
|
||||
<div style="margin-top: -15px">
|
||||
现有数据excel下载
|
||||
<el-button size="mini" type="primary" plain @click="downloadFn(2)"
|
||||
>下载</el-button
|
||||
>
|
||||
<el-button size="mini" type="primary" plain @click="downloadFn(2)">下载</el-button>
|
||||
</div>
|
||||
<div style="margin-left: 64px">
|
||||
<span style="position: absolute">更新方式</span>
|
||||
<el-radio-group
|
||||
style="margin-left: 65px"
|
||||
v-model="radio"
|
||||
@change="handleRadioChange"
|
||||
>
|
||||
<el-radio-group style="margin-left: 65px" v-model="radio" @change="handleRadioChange">
|
||||
<el-radio :label="1">覆盖更新</el-radio>
|
||||
<el-radio :label="2">根据名称替换更新</el-radio>
|
||||
</el-radio-group>
|
||||
@ -583,39 +334,19 @@
|
||||
|
||||
<div style="margin-left: 2px;margin-top: -15px;">
|
||||
<span style="color: red;margin-right: 5px;">*</span>上传Project文件
|
||||
<el-upload
|
||||
accept=".mpp"
|
||||
v-if="fileName == ''"
|
||||
class="upload-demo expintBtn"
|
||||
name="mppFile"
|
||||
:on-success="handleImportSuccess"
|
||||
:on-change="handleImportChange"
|
||||
:before-upload="beforeUpload"
|
||||
:file-list="fileList"
|
||||
:action="$http.defaults.baseURL + 'xmgl/xzTaskProgress/importData'"
|
||||
:data="{ projectSn: projectSn, type: radio }"
|
||||
:show-file-list="false"
|
||||
:headers="headers"
|
||||
>
|
||||
<el-upload accept=".mpp" v-if="fileName == ''" class="upload-demo expintBtn" name="mppFile"
|
||||
:on-success="handleImportSuccess" :on-change="handleImportChange" :before-upload="beforeUpload"
|
||||
:file-list="fileList" :action="$http.defaults.baseURL + 'xmgl/xzTaskProgress/importData'"
|
||||
:data="{ projectSn: projectSn, type: radio }" :show-file-list="false" :headers="headers">
|
||||
<el-button size="mini" type="primary" plain>选择</el-button>
|
||||
</el-upload>
|
||||
<span v-else style="color: #5181f6">{{ fileName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dialog-footer">
|
||||
<el-button
|
||||
class="cancleBtn"
|
||||
@click="uploadShow = false"
|
||||
icon="el-icon-circle-close"
|
||||
size="medium"
|
||||
>取消
|
||||
<el-button class="cancleBtn" @click="uploadShow = false" icon="el-icon-circle-close" size="medium">取消
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-circle-check"
|
||||
size="medium"
|
||||
@click="handleUploadConfirm"
|
||||
>确定
|
||||
<el-button type="primary" icon="el-icon-circle-check" size="medium" @click="handleUploadConfirm">确定
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
@ -624,12 +355,7 @@
|
||||
<img width="100%" :src="dialogImageUrl" alt="" />
|
||||
</el-dialog>
|
||||
</div>
|
||||
<detailpage
|
||||
v-if="type == 'detail'"
|
||||
:id="seedId"
|
||||
:rowData="rowData"
|
||||
@closeDetail="closeDetailFn"
|
||||
></detailpage>
|
||||
<detailpage v-if="type == 'detail'" :id="seedId" :rowData="rowData" @closeDetail="closeDetailFn"></detailpage>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@ -647,7 +373,7 @@ export default {
|
||||
components: {
|
||||
detailpage,
|
||||
},
|
||||
mounted() {},
|
||||
mounted() { },
|
||||
data() {
|
||||
return {
|
||||
defaultExpandFormArr: [],
|
||||
@ -849,7 +575,7 @@ export default {
|
||||
this.getTreeList();
|
||||
},
|
||||
methods: {
|
||||
selectFormChange(){
|
||||
selectFormChange() {
|
||||
if (!val) {
|
||||
this.selectFormVal = "";
|
||||
this.workerInfo.qualityRegionId = "";
|
||||
@ -864,7 +590,7 @@ export default {
|
||||
}
|
||||
},
|
||||
// 表单树形控件点击
|
||||
treeAreaFormClick(data){
|
||||
treeAreaFormClick(data) {
|
||||
if (data.status == 1) {
|
||||
this.$message.warning("无法选中已禁用组织");
|
||||
} else {
|
||||
@ -1094,7 +820,7 @@ export default {
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
.catch(() => { });
|
||||
},
|
||||
close() {
|
||||
this.workerInfo = {};
|
||||
@ -1278,21 +1004,27 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.table-content{
|
||||
.table-content {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.down {
|
||||
text-decoration: none;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.expintBtn {
|
||||
display: inline-block !important;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.table_wrap {
|
||||
height: calc(100% - 98px);
|
||||
overflow: auto;
|
||||
.no-start,.is-pending,.is-finshed{
|
||||
|
||||
.no-start,
|
||||
.is-pending,
|
||||
.is-finshed {
|
||||
display: inline-block;
|
||||
width: 65px;
|
||||
height: 25px;
|
||||
@ -1300,54 +1032,67 @@ export default {
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
}
|
||||
.no-start{
|
||||
|
||||
.no-start {
|
||||
color: #959595;
|
||||
border: 1px solid #959595;
|
||||
}
|
||||
.is-pending{
|
||||
|
||||
.is-pending {
|
||||
color: #DAB387;
|
||||
border: 1px solid #DAB387;
|
||||
}
|
||||
.is-finshed{
|
||||
|
||||
.is-finshed {
|
||||
color: #1BA035;
|
||||
border: 1px solid #1BA035;
|
||||
}
|
||||
}
|
||||
|
||||
.searchBox .el-form-item {
|
||||
margin: 0 5px 0 0;
|
||||
}
|
||||
|
||||
.delete-btn {
|
||||
color: #fe6565;
|
||||
}
|
||||
|
||||
.dialogUplod {
|
||||
height: 100px;
|
||||
margin-left: 70px;
|
||||
margin-top: 40px;
|
||||
|
||||
div {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.treeStyle() {
|
||||
/deep/.el-tree {
|
||||
font-size: 15px;
|
||||
width: 100%;
|
||||
background-color: transparent;
|
||||
|
||||
.el-tree-node {
|
||||
white-space: normal;
|
||||
&:focus > .el-tree-node__content {
|
||||
|
||||
&:focus>.el-tree-node__content {
|
||||
background-color: transparent;
|
||||
}
|
||||
&.is-current > .el-tree-node__content {
|
||||
|
||||
&.is-current>.el-tree-node__content {
|
||||
background-color: rgba(81, 129, 246, 0.14);
|
||||
color: #5181f6;
|
||||
}
|
||||
}
|
||||
|
||||
.el-tree-node__content {
|
||||
// height: 32px;
|
||||
padding: 7px 0;
|
||||
height: auto;
|
||||
line-height: 16px;
|
||||
position: relative;
|
||||
|
||||
// margin-bottom: 7px;
|
||||
&:hover {
|
||||
background-color: rgba(81, 129, 246, 0.14);
|
||||
@ -1357,11 +1102,13 @@ export default {
|
||||
.videoName {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.projectName {
|
||||
font-size: 14px;
|
||||
width: calc(100% - 55px);
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.companyName2 {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
@ -1372,28 +1119,34 @@ export default {
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.el-tree-node__expand-icon {
|
||||
font-size: 16px;
|
||||
padding: 0 6px;
|
||||
|
||||
&.is-leaf {
|
||||
color: transparent !important;
|
||||
}
|
||||
}
|
||||
|
||||
.treeTitle {
|
||||
background-color: #f7f7f7;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.content-box {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
|
||||
.areaTreeBox {
|
||||
display: flex;
|
||||
position: relative;
|
||||
.treeStyle();
|
||||
}
|
||||
|
||||
.areaTreeInner {
|
||||
// background-color: rgba(0, 0, 0, 0.7);
|
||||
width: 300px;
|
||||
@ -1402,6 +1155,7 @@ export default {
|
||||
height: calc(100% - 40px);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.treeBox {
|
||||
height: 87%;
|
||||
background-color: rgba(216, 216, 216, 0.2);
|
||||
@ -1410,8 +1164,11 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 下拉框样式修改
|
||||
/deep/.el-select-dropdown__item.hover,.el-select-dropdown__item.hover, .el-select-dropdown__item:hover{
|
||||
/deep/.el-select-dropdown__item.hover,
|
||||
.el-select-dropdown__item.hover,
|
||||
.el-select-dropdown__item:hover {
|
||||
background-color: transparent;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -109,9 +109,10 @@
|
||||
type="primary"
|
||||
size="medium"
|
||||
@click="updateProgressFn(1)"
|
||||
:disabled="![5, 10].includes($store.state.userInfo.accountType)"
|
||||
|
||||
>更新项目总进度</el-button
|
||||
>
|
||||
<!-- :disabled="![5, 10].includes($store.state.userInfo.accountType)" -->
|
||||
<el-button
|
||||
v-permission="{
|
||||
key: 'get_updateContractor Progress',
|
||||
|
||||
@ -263,7 +263,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="back_info margin" v-if="item.auditType == 3">驳回原因:</div>
|
||||
<div class="feedbackContent">{{ item.rejectReason }}</div>
|
||||
<div class="feedbackContent" v-if="item.auditType == 3">{{ item.rejectReason }}</div>
|
||||
</div>
|
||||
<!-- <div class="whiteBlock plan_mater">
|
||||
<div class="flex3 back_info">材料用量</div>
|
||||
@ -335,9 +335,10 @@
|
||||
list-type="picture-card"
|
||||
multiple
|
||||
name="files"
|
||||
:limit="5"
|
||||
|
||||
accept=".png, .jpg, .jpeg"
|
||||
:file-list="palnFileList"
|
||||
:before-upload="beforeUpload"
|
||||
:on-success="(res, file) => handleSuccess(res, file)"
|
||||
:on-remove="(file, fileList) => handleRemove(file, fileList)"
|
||||
>
|
||||
@ -501,6 +502,14 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
beforeUpload(){
|
||||
if(this.palnFileList.length <= 4) {
|
||||
return true
|
||||
}
|
||||
|
||||
this.$message.warning("图片已经达到最大上传限制!");
|
||||
return false
|
||||
},
|
||||
//返回列表页
|
||||
getBackBtn() {
|
||||
this.$emit("closeDetail", false);
|
||||
|
||||
@ -86,10 +86,15 @@
|
||||
<el-button
|
||||
type="primary"
|
||||
size="medium"
|
||||
v-permission="{
|
||||
key: 'xmzjd_xmzjd',
|
||||
menuPath: '/project/progressManagementAg/projectganttChart',
|
||||
}"
|
||||
@click="updateProgressFn(1)"
|
||||
:disabled="![5, 10].includes($store.state.userInfo.accountType)"
|
||||
|
||||
>更新项目总进度</el-button
|
||||
>
|
||||
<!-- :disabled="![5, 10].includes($store.state.userInfo.accountType)" -->
|
||||
<!-- <el-button type="primary" size="medium" @click="updateProgressFn(2)"
|
||||
>更新承包商进度</el-button
|
||||
> -->
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user