fix: 修改进度管理Ag模块中页面的交互与样式
This commit is contained in:
parent
0c34ffd978
commit
1891971b55
@ -21,6 +21,7 @@ export const editXzTaskProgressApi = data => post('xmgl/xzTaskProgress/edit', da
|
|||||||
export const editProgressBindComponentApi = data => post('xmgl/taskProgress/editBimComponent', data);
|
export const editProgressBindComponentApi = data => post('xmgl/taskProgress/editBimComponent', data);
|
||||||
export const getTaskProgressPageApi = data => post('xmgl/taskProgress/getParentChildPage', data);
|
export const getTaskProgressPageApi = data => post('xmgl/taskProgress/getParentChildPage', data);
|
||||||
export const getXzTaskProgressPageApi = data => post('xmgl/xzTaskProgress/getParentChildPage', data);
|
export const getXzTaskProgressPageApi = data => post('xmgl/xzTaskProgress/getParentChildPage', data);
|
||||||
|
export const importDataApi = data => post('xmgl/xzTaskProgress/importData', data);
|
||||||
|
|
||||||
//分部分项工程管理--BIMBASE中心进度管理
|
//分部分项工程管理--BIMBASE中心进度管理
|
||||||
export const addTaskProgressRtApi = data => post('xmgl/taskProgressRt/add', data);
|
export const addTaskProgressRtApi = data => post('xmgl/taskProgressRt/add', data);
|
||||||
|
|||||||
@ -1,12 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="fullHeight">
|
<div class="fullHeight">
|
||||||
<div v-if="type != 'detail'" style="width: 100%;height: 100%;">
|
<div v-if="type != 'detail'" style="width: 100%; height: 100%">
|
||||||
<div class="content-box">
|
<div class="content-box">
|
||||||
<div class="areaTreeBox" id="videoTreeBox">
|
<div class="areaTreeBox" id="videoTreeBox">
|
||||||
<div class="areaTreeInner whiteBlock fullHeight">
|
<div class="areaTreeInner whiteBlock fullHeight">
|
||||||
<p class="pageTitle">
|
<p class="pageTitle">承包商/厂区列表</p>
|
||||||
承包商/厂区列表
|
|
||||||
</p>
|
|
||||||
<div class="area-select">
|
<div class="area-select">
|
||||||
<!-- <el-select
|
<!-- <el-select
|
||||||
v-model="areaSelectVal"
|
v-model="areaSelectVal"
|
||||||
@ -24,29 +22,53 @@
|
|||||||
>
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select> -->
|
</el-select> -->
|
||||||
<el-select ref="selectRef" v-model="selectVal" placeholder="请选择" style="width: 100%;margin-top: 10px;"
|
<el-select
|
||||||
size="medium" clearable @change="selectChange">
|
ref="selectRef"
|
||||||
<el-option style="height:auto" :value="[]">
|
v-model="selectVal"
|
||||||
<el-tree :data="areaList" node-key="id" ref="groupTree" :default-expanded-keys="defaultExpandArr"
|
placeholder="请选择"
|
||||||
:props="defaultAreaProps" :default-expand-all="false" @node-click="treeAreaClick">
|
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>
|
</el-tree>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<div class="treeBox">
|
<div class="treeBox">
|
||||||
<p class="pageTitle">
|
<p class="pageTitle">承包商列表</p>
|
||||||
承包商列表
|
<vue-scroll
|
||||||
</p>
|
style="height: calc(100% - 30px)"
|
||||||
<vue-scroll style="height: calc(100% - 30px)" v-if="level1CompanyData.length > 0">
|
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 class="custom-tree-node" slot-scope="{ node, data }">
|
||||||
<span style="
|
<span
|
||||||
|
style="
|
||||||
width: 160px;
|
width: 160px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
" @click="treeClick(data)" :class="
|
"
|
||||||
|
@click="treeClick(data)"
|
||||||
|
:class="
|
||||||
data.videoName
|
data.videoName
|
||||||
? 'videoName'
|
? 'videoName'
|
||||||
: data.projectName
|
: data.projectName
|
||||||
@ -54,7 +76,10 @@
|
|||||||
: data.companyType == 2
|
: data.companyType == 2
|
||||||
? 'companyName2'
|
? 'companyName2'
|
||||||
: ''
|
: ''
|
||||||
" :title="node.label">{{ node.label }}</span>
|
"
|
||||||
|
:title="node.label"
|
||||||
|
>{{ node.label }}</span
|
||||||
|
>
|
||||||
</span>
|
</span>
|
||||||
</el-tree>
|
</el-tree>
|
||||||
</vue-scroll>
|
</vue-scroll>
|
||||||
@ -67,81 +92,207 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="table-content">
|
<div class="table-content">
|
||||||
<div class="searchBox whiteBlock">
|
<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-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>
|
||||||
<el-form-item label="状态">
|
<el-form-item label="状态">
|
||||||
<el-select v-model="queryInfo.status" placeholder="请选择">
|
<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-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="实际完成日期">
|
<el-form-item label="实际完成日期">
|
||||||
<el-date-picker v-model="daterange" @change="changeDate" type="daterange"
|
<el-date-picker
|
||||||
:range-separator="$t('message.energyManage.to')" :start-placeholder="$t('message.energyManage.start')"
|
v-model="daterange"
|
||||||
:end-placeholder="$t('message.energyManage.end')" value-format="yyyy-MM-dd">
|
@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-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-permission="{ key: 'fbfx_query', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
<el-button
|
||||||
type="primary" plain @click="getProgressListData" :disabled="!treeData.id">查询</el-button>
|
v-permission="{
|
||||||
|
key: 'fbfx_query',
|
||||||
|
menuPath: '/project/progressManagementAg/divisionSubManage',
|
||||||
|
}"
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
@click="getProgressListData"
|
||||||
|
:disabled="!treeData.id"
|
||||||
|
>查询</el-button
|
||||||
|
>
|
||||||
<!-- <el-button
|
<!-- <el-button
|
||||||
v-permission="{ key: 'fbfx_refreshi', menuPath: '/project/progressManagementAg/divisionSubManage' }" -->
|
v-permission="{ key: 'fbfx_refreshi', menuPath: '/project/progressManagementAg/divisionSubManage' }" -->
|
||||||
<el-button
|
<el-button
|
||||||
type="warning" plain @click="refreshBtn" :disabled="!treeData.id">刷新</el-button>
|
type="warning"
|
||||||
<el-button v-permission="{ key: 'fbfx_add', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
plain
|
||||||
class="expintBtn" size="medium" type="primary" plain :disabled="!treeData.id"
|
@click="refreshBtn"
|
||||||
@click="addBefore(1, null)">
|
: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-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button
|
||||||
v-permission="{ key: 'fbfx_DownloadTemplate', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
v-permission="{
|
||||||
class="expintBtn" size="medium" type="primary" :disabled="!treeData.id" @click="downloadFn(1)">
|
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> -->
|
<!-- <a class="down" :href="downUrl" download>下载模板</a> -->
|
||||||
下载模板
|
下载模板
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-permission="{ key: 'fbfx_lmport', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
v-permission="{
|
||||||
size="medium" type="primary" :disabled="!treeData.id" @click="uploadShow = true">导入</el-button>
|
key: 'fbfx_lmport',
|
||||||
|
menuPath: '/project/progressManagementAg/divisionSubManage',
|
||||||
|
}"
|
||||||
|
size="medium"
|
||||||
|
type="primary"
|
||||||
|
:disabled="!treeData.id"
|
||||||
|
@click="uploadShow = true"
|
||||||
|
>导入</el-button
|
||||||
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="table_wrap whiteBlock">
|
<div class="table_wrap whiteBlock">
|
||||||
<vue-scroll style="height: 580px;">
|
<vue-scroll style="height: 580px">
|
||||||
<el-table class="tables" :data="listData" lazy row-key="id" default-expand-all
|
<el-table
|
||||||
:tree-props="{ children: 'children' }">
|
class="tables"
|
||||||
<el-table-column width="200" prop="taskName" label="分部分项工程名称" style="display: flex;align-items: center;">
|
:data="listData"
|
||||||
|
lazy
|
||||||
|
row-key="id"
|
||||||
|
default-expand-all
|
||||||
|
:tree-props="{ children: 'children' }"
|
||||||
|
>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="taskName"
|
||||||
|
label="分部分项工程名称"
|
||||||
|
style="display: flex; align-items: center"
|
||||||
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span :title="scope.row.taskName"
|
<span
|
||||||
style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;display: inline-block;width: 100px;vertical-align: middle;">
|
:title="scope.row.taskName"
|
||||||
|
style="
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: inline-block;
|
||||||
|
width: 100px;
|
||||||
|
vertical-align: middle;
|
||||||
|
"
|
||||||
|
>
|
||||||
{{ scope.row.taskName }}
|
{{ scope.row.taskName }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="100" align="center" prop="qualityRegionName" label="区域" show-overflow-tooltip>
|
<el-table-column
|
||||||
|
width="100"
|
||||||
|
align="center"
|
||||||
|
prop="qualityRegionName"
|
||||||
|
label="区域"
|
||||||
|
show-overflow-tooltip
|
||||||
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="120" align="center" prop="startDate" label="计划开始时间">
|
<el-table-column
|
||||||
|
width="120"
|
||||||
|
align="center"
|
||||||
|
prop="startDate"
|
||||||
|
label="计划开始时间"
|
||||||
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="120" align="center" prop="finishDate" label="计划完成时间">
|
<el-table-column
|
||||||
|
width="120"
|
||||||
|
align="center"
|
||||||
|
prop="finishDate"
|
||||||
|
label="计划完成时间"
|
||||||
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="120" align="center" prop="actualStartDate" label="实际开始时间">
|
<el-table-column
|
||||||
|
width="120"
|
||||||
|
align="center"
|
||||||
|
prop="actualStartDate"
|
||||||
|
label="实际开始时间"
|
||||||
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="120" align="center" prop="actualFinishDate" label="实际完成时间"></el-table-column>
|
<el-table-column
|
||||||
<el-table-column width="80" align="center" prop="dutyUserName" label="负责人"></el-table-column>
|
width="120"
|
||||||
<el-table-column width="80" align="center" prop="progressRatio" label="进度">
|
align="center"
|
||||||
|
prop="actualFinishDate"
|
||||||
|
label="实际完成时间"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="80"
|
||||||
|
align="center"
|
||||||
|
prop="dutyUserName"
|
||||||
|
label="负责人"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="80"
|
||||||
|
align="center"
|
||||||
|
prop="progressRatio"
|
||||||
|
label="进度"
|
||||||
|
>
|
||||||
<template slot-scope="scope">{{
|
<template slot-scope="scope">{{
|
||||||
scope.row.progressRatio + "%"
|
scope.row.progressRatio + "%"
|
||||||
}}</template>
|
}}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="100" prop="status" align="center" label="执行状态">
|
<el-table-column
|
||||||
|
width="100"
|
||||||
|
prop="status"
|
||||||
|
align="center"
|
||||||
|
label="执行状态"
|
||||||
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span :class="scope.row.status == 0
|
<span
|
||||||
? 'no-start' : scope.row.status == 1
|
:class="
|
||||||
? 'is-pending' : scope.row.status == 2
|
scope.row.status == 0
|
||||||
? 'is-finshed' : 'no-start'">
|
? 'no-start'
|
||||||
|
: scope.row.status == 1
|
||||||
|
? 'is-pending'
|
||||||
|
: scope.row.status == 2
|
||||||
|
? 'is-finshed'
|
||||||
|
: 'no-start'
|
||||||
|
"
|
||||||
|
>
|
||||||
{{
|
{{
|
||||||
scope.row.status == 0
|
scope.row.status == 0
|
||||||
? "未开始"
|
? "未开始"
|
||||||
@ -154,9 +305,17 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="80" prop="beginWarning" align="center" label="开始预警">
|
<el-table-column
|
||||||
|
width="80"
|
||||||
|
prop="beginWarning"
|
||||||
|
align="center"
|
||||||
|
label="开始预警"
|
||||||
|
>
|
||||||
<template slot-scope="scope">
|
<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 == 1
|
||||||
? "提前"
|
? "提前"
|
||||||
@ -176,9 +335,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="80" prop="endWarning" align="center" label="结束预警">
|
<el-table-column
|
||||||
|
width="80"
|
||||||
|
prop="endWarning"
|
||||||
|
align="center"
|
||||||
|
label="结束预警"
|
||||||
|
>
|
||||||
<template slot-scope="scope">
|
<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 == 1
|
||||||
? "提前"
|
? "提前"
|
||||||
@ -201,42 +368,93 @@
|
|||||||
<el-table-column width="300" label="操作" align="center">
|
<el-table-column width="300" label="操作" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-permission="{ key: 'fbfx_subltem', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
v-permission="{
|
||||||
@click.native.stop="addBefore(2, scope.row)" size="mini" type="text"
|
key: 'fbfx_subltem',
|
||||||
icon="el-icon-circle-plus-outline">
|
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>
|
||||||
<el-button
|
<el-button
|
||||||
v-permission="{ key: 'fbfx_details', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
v-permission="{
|
||||||
size="mini" type="text" icon="el-icon-document" @click.native.stop="showDetail(scope.row)">
|
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>
|
||||||
<el-button
|
<el-button
|
||||||
v-permission="{ key: 'fbfx_edit', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
v-permission="{
|
||||||
size="mini" type="text" icon="el-icon-edit" @click.native.stop="editBefore(scope.row)">
|
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>
|
||||||
<el-button
|
<el-button
|
||||||
v-permission="{ key: 'fbfx_delete', menuPath: '/project/progressManagementAg/divisionSubManage' }"
|
v-permission="{
|
||||||
size="mini" type="text" class="delete-btn" icon="el-icon-delete"
|
key: 'fbfx_delete',
|
||||||
@click.native.stop="deleteBefore(scope.row)">删除</el-button>
|
menuPath:
|
||||||
|
'/project/progressManagementAg/divisionSubManage',
|
||||||
|
}"
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
class="delete-btn"
|
||||||
|
icon="el-icon-delete"
|
||||||
|
@click.native.stop="deleteBefore(scope.row)"
|
||||||
|
>删除</el-button
|
||||||
|
>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</vue-scroll>
|
</vue-scroll>
|
||||||
<el-pagination class="pagerBox" style="position: absolute; top: 85%; left: 51%" @size-change="SizeChange"
|
<el-pagination
|
||||||
@current-change="CurrentChange" :current-page="pagInfo.pageNo" :page-sizes="$store.state.PAGESIZRS"
|
class="pagerBox"
|
||||||
:page-size="pagInfo.pageSize" layout="total, sizes, prev, pager, next" :total="Number(pagInfo.total)"
|
style="position: absolute; top: 85%; left: 51%"
|
||||||
background></el-pagination>
|
@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>
|
</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">
|
<div class="dialog_content">
|
||||||
<el-form ref="addEditForm" label-width="135px" size="medium" class="dialogFormBox" :rules="addEditRules"
|
<el-form
|
||||||
:model="workerInfo">
|
ref="addEditForm"
|
||||||
|
label-width="135px"
|
||||||
|
size="medium"
|
||||||
|
class="dialogFormBox"
|
||||||
|
:rules="addEditRules"
|
||||||
|
:model="workerInfo"
|
||||||
|
>
|
||||||
<el-form-item label="区域" prop="qualityRegionId">
|
<el-form-item label="区域" prop="qualityRegionId">
|
||||||
<!-- <el-select v-model="workerInfo.qualityRegionId" placeholder="请选择">
|
<!-- <el-select v-model="workerInfo.qualityRegionId" placeholder="请选择">
|
||||||
<el-option
|
<el-option
|
||||||
@ -247,107 +465,252 @@
|
|||||||
>
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select> -->
|
</el-select> -->
|
||||||
<el-select ref="selectFormRef" v-model="selectFormVal" placeholder="请选择" style="width: 100%;" size="medium"
|
<el-select
|
||||||
clearable @change="selectFormChange">
|
ref="selectFormRef"
|
||||||
<el-option style="height:auto" :value="[]">
|
v-model="selectFormVal"
|
||||||
<el-tree :data="areaList" node-key="id" ref="groupFormTree"
|
placeholder="请选择"
|
||||||
:default-expanded-keys="defaultExpandFormArr" :props="defaultAreaProps" :highlight-current="true"
|
style="width: 100%"
|
||||||
:default-expand-all="false" @node-click="treeAreaFormClick">
|
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>
|
</el-tree>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="承包商" prop="enterpriseName">
|
<el-form-item label="承包商" prop="enterpriseName">
|
||||||
<el-select v-model="workerInfo.enterpriseName" placeholder="请选择" disabled>
|
<el-select
|
||||||
<el-option v-for="item in level1CompanyData" :key="item.id" :label="item.enterpriseName" :value="item.id">
|
v-model="workerInfo.enterpriseName"
|
||||||
|
placeholder="请选择"
|
||||||
|
disabled
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in level1CompanyData"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.enterpriseName"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="分部分项名称" prop="taskName" v-if="dialogType == 3">
|
<el-form-item
|
||||||
<el-input v-model="parentTaskName" placeholder="请输入" :disabled="dialogType == 3"></el-input>
|
label="分部分项名称"
|
||||||
|
prop="taskName"
|
||||||
|
v-if="dialogType == 3"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="parentTaskName"
|
||||||
|
placeholder="请输入"
|
||||||
|
:disabled="dialogType == 3"
|
||||||
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-else label="分部分项名称" prop="taskName">
|
<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>
|
||||||
<el-form-item v-if="dialogType == 3" label="子分部分项名称" prop="taskName">
|
<el-form-item
|
||||||
<el-input v-model="workerInfo.taskName" placeholder="请输入"></el-input>
|
v-if="dialogType == 3"
|
||||||
|
label="子分部分项名称"
|
||||||
|
prop="taskName"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="workerInfo.taskName"
|
||||||
|
placeholder="请输入"
|
||||||
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="计划开始时间" prop="startDate">
|
<el-form-item label="计划开始时间" prop="startDate">
|
||||||
<el-date-picker @change="time1" v-model="workerInfo.startDate" type="date" placeholder="请选择日期"
|
<el-date-picker
|
||||||
value-format="yyyy-MM-dd">
|
@change="time1"
|
||||||
|
v-model="workerInfo.startDate"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择日期"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="计划结束时间" prop="finishDate">
|
<el-form-item label="计划结束时间" prop="finishDate">
|
||||||
<el-date-picker @change="time2" v-model="workerInfo.finishDate" :picker-options="dateBefore" type="date"
|
<el-date-picker
|
||||||
placeholder="请选择日期" value-format="yyyy-MM-dd">
|
@change="time2"
|
||||||
|
v-model="workerInfo.finishDate"
|
||||||
|
:picker-options="dateBefore"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择日期"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="实际开始时间" prop="actualStartDate">
|
<el-form-item label="实际开始时间" prop="actualStartDate">
|
||||||
<el-date-picker v-model="workerInfo.actualStartDate" type="date" placeholder="请选择日期"
|
<el-date-picker
|
||||||
value-format="yyyy-MM-dd">
|
v-model="workerInfo.actualStartDate"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择日期"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="实际结束时间" prop="actualFinishDate">
|
<el-form-item label="实际结束时间" prop="actualFinishDate">
|
||||||
<el-date-picker v-model="workerInfo.actualFinishDate" :picker-options="actualDateBefore" type="date"
|
<el-date-picker
|
||||||
placeholder="请选择日期" value-format="yyyy-MM-dd">
|
v-model="workerInfo.actualFinishDate"
|
||||||
|
:picker-options="actualDateBefore"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择日期"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="负责人" prop="dutyUserName">
|
<el-form-item label="负责人" prop="dutyUserName">
|
||||||
<el-select v-model="workerInfo.dutyUserId" placeholder="请选择" filterable>
|
<el-select
|
||||||
<el-option v-for="item in principalLsit" :key="item.userId" :label="item.realName" :value="item.userId">
|
v-model="workerInfo.dutyUserId"
|
||||||
|
placeholder="请选择"
|
||||||
|
filterable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in principalLsit"
|
||||||
|
:key="item.userId"
|
||||||
|
:label="item.realName"
|
||||||
|
:value="item.userId"
|
||||||
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="进度(%)" prop="progressRatio">
|
<el-form-item label="进度(%)" prop="progressRatio">
|
||||||
<el-input-number :disabled="workerInfo.status === 2" :max="100" style="width: 105%"
|
<el-input-number
|
||||||
v-model="workerInfo.progressRatio" @input="validateInput"></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>
|
||||||
<el-form-item label="备注" prop="remark">
|
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="dialog-footer">
|
<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>
|
||||||
<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>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</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">
|
<div class="questionText">
|
||||||
<i style="color: #e1a439; margin-right: 1%"
|
<i
|
||||||
class="el-icon-question"></i>用户需要先下载excel文件,再将数据填写到Project文件中,选择所需要的一种更新方式,然后通过选择文件按钮上传Project文件,点击确定即可完成分部分项数据更新。
|
style="color: #e1a439; margin-right: 1%"
|
||||||
|
class="el-icon-question"
|
||||||
|
></i
|
||||||
|
>用户需要先下载excel文件,再将数据填写到Project文件中,选择所需要的一种更新方式,然后通过选择文件按钮上传Project文件,点击确定即可完成分部分项数据更新。
|
||||||
</div>
|
</div>
|
||||||
<div class="dialogUplod">
|
<div class="dialogUplod">
|
||||||
<div style="margin-top: -15px">
|
<div style="margin-top: -15px">
|
||||||
现有数据excel下载
|
现有数据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>
|
||||||
<div style="margin-left: 64px">
|
<div style="margin-left: 64px">
|
||||||
<span style="position: absolute">更新方式</span>
|
<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="1">覆盖更新</el-radio>
|
||||||
<el-radio :label="2">根据名称替换更新</el-radio>
|
<el-radio :label="2">根据名称替换更新</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="margin-left: 2px;margin-top: -15px;">
|
<div style="margin-left: 2px; margin-top: -15px;display: flex;">
|
||||||
<span style="color: red;margin-right: 5px;">*</span>上传Project文件
|
<span style="color: red; margin-right: 5px;margin-top: 3px;">*</span>
|
||||||
<el-upload accept=".mpp" v-if="fileName == ''" class="upload-demo expintBtn" name="mppFile"
|
<span style="margin-top: 3px;margin-right: 5px;">上传Project文件</span>
|
||||||
:on-success="handleImportSuccess" :on-change="handleImportChange" :before-upload="beforeUpload"
|
<!-- <el-upload
|
||||||
:file-list="fileList" :action="$http.defaults.baseURL + 'xmgl/xzTaskProgress/importData'"
|
accept=".mpp"
|
||||||
:data="{ projectSn: projectSn, type: radio }" :show-file-list="false" :headers="headers">
|
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> -->
|
||||||
|
<el-upload
|
||||||
|
accept=".mpp"
|
||||||
|
class="upload-demo expintBtn"
|
||||||
|
name="files"
|
||||||
|
:on-success="handleFileSuccess"
|
||||||
|
:on-remove="handleFileRemove"
|
||||||
|
:file-list="fileList"
|
||||||
|
:action="$store.state.UPLOADURL"
|
||||||
|
:headers="headers"
|
||||||
|
>
|
||||||
<el-button size="mini" type="primary" plain>选择</el-button>
|
<el-button size="mini" type="primary" plain>选择</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
<span v-else style="color: #5181f6">{{ fileName }}</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="dialog-footer">
|
<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>
|
||||||
<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> -->
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-circle-check"
|
||||||
|
size="medium"
|
||||||
|
@click="handleFileUploadConfirm"
|
||||||
|
>确定
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
@ -356,7 +719,12 @@
|
|||||||
<img width="100%" :src="dialogImageUrl" alt="" />
|
<img width="100%" :src="dialogImageUrl" alt="" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -364,7 +732,8 @@ import {
|
|||||||
addXzTaskProgressApi,
|
addXzTaskProgressApi,
|
||||||
deleteXzTaskProgressApi,
|
deleteXzTaskProgressApi,
|
||||||
editXzTaskProgressApi,
|
editXzTaskProgressApi,
|
||||||
getXzTaskProgressPageApi
|
getXzTaskProgressPageApi,
|
||||||
|
importDataApi
|
||||||
} from "@/assets/js/api/progressManagement";
|
} from "@/assets/js/api/progressManagement";
|
||||||
import { getCrewListDataApi } from "@/assets/js/api/dailyCheck";
|
import { getCrewListDataApi } from "@/assets/js/api/dailyCheck";
|
||||||
import detailpage from "./projectProgressDetail";
|
import detailpage from "./projectProgressDetail";
|
||||||
@ -374,7 +743,7 @@ export default {
|
|||||||
components: {
|
components: {
|
||||||
detailpage,
|
detailpage,
|
||||||
},
|
},
|
||||||
mounted() { },
|
mounted() {},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
defaultExpandFormArr: [],
|
defaultExpandFormArr: [],
|
||||||
@ -425,6 +794,7 @@ export default {
|
|||||||
title: "",
|
title: "",
|
||||||
daterange: [],
|
daterange: [],
|
||||||
fileList: [], //上传文件
|
fileList: [], //上传文件
|
||||||
|
rawFileList: [], // 源文件列表
|
||||||
downUrl: "", //下载文件地址
|
downUrl: "", //下载文件地址
|
||||||
projectSn: "",
|
projectSn: "",
|
||||||
createUserId: "",
|
createUserId: "",
|
||||||
@ -501,7 +871,7 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
fileName: "",
|
fileName: "",
|
||||||
treeData: {}
|
treeData: {},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -605,7 +975,7 @@ export default {
|
|||||||
this.workerInfo.qualityRegionId = data.id;
|
this.workerInfo.qualityRegionId = data.id;
|
||||||
this.$refs.selectFormRef.blur();
|
this.$refs.selectFormRef.blur();
|
||||||
}
|
}
|
||||||
this.$refs.addEditForm.validateField("qualityRegionId")
|
this.$refs.addEditForm.validateField("qualityRegionId");
|
||||||
},
|
},
|
||||||
// 树形控件点击
|
// 树形控件点击
|
||||||
treeAreaClick(data) {
|
treeAreaClick(data) {
|
||||||
@ -625,8 +995,8 @@ export default {
|
|||||||
}).then((result) => {
|
}).then((result) => {
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
this.treeList = result.result;
|
this.treeList = result.result;
|
||||||
if(result.result.length > 0){
|
if (result.result.length > 0) {
|
||||||
this.treeData = result.result[0]
|
this.treeData = result.result[0];
|
||||||
}
|
}
|
||||||
this.getPositionList();
|
this.getPositionList();
|
||||||
}
|
}
|
||||||
@ -664,7 +1034,7 @@ export default {
|
|||||||
getPositionList() {
|
getPositionList() {
|
||||||
let data = {
|
let data = {
|
||||||
projectSn: this.$store.state.projectSn,
|
projectSn: this.$store.state.projectSn,
|
||||||
enterpriseId: this.treeData.enterpriseId
|
enterpriseId: this.treeData.enterpriseId,
|
||||||
};
|
};
|
||||||
getQualityRegionListApi(data).then((res) => {
|
getQualityRegionListApi(data).then((res) => {
|
||||||
console.log("res=================", res);
|
console.log("res=================", res);
|
||||||
@ -688,6 +1058,25 @@ export default {
|
|||||||
this.getProgressListData();
|
this.getProgressListData();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
handleFileUploadConfirm() {
|
||||||
|
if (!this.rawFileList.length) {
|
||||||
|
this.$message.warning("请先上传文件");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let data = new FormData(); //new出来的对象
|
||||||
|
data.append("projectSn", this.projectSn);
|
||||||
|
data.append("type", this.radio);
|
||||||
|
data.append("mppFile", this.rawFileList[0].raw);
|
||||||
|
importDataApi(data).then((res) => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
this.uploadShow = false;
|
||||||
|
this.$message.success("操作成功");
|
||||||
|
this.getProgressListData();
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
handleRadioChange(val) {
|
handleRadioChange(val) {
|
||||||
this.radio = val;
|
this.radio = val;
|
||||||
},
|
},
|
||||||
@ -737,8 +1126,8 @@ export default {
|
|||||||
this.workerInfo.parentId = value.id;
|
this.workerInfo.parentId = value.id;
|
||||||
this.parentTaskName = value.taskName;
|
this.parentTaskName = value.taskName;
|
||||||
}
|
}
|
||||||
this.workerInfo.enterpriseId = this.treeData.id
|
this.workerInfo.enterpriseId = this.treeData.id;
|
||||||
this.workerInfo.enterpriseName = this.treeData.enterpriseName
|
this.workerInfo.enterpriseName = this.treeData.enterpriseName;
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
},
|
},
|
||||||
// 编辑按钮
|
// 编辑按钮
|
||||||
@ -750,13 +1139,13 @@ export default {
|
|||||||
this.workerInfo.id = val.id;
|
this.workerInfo.id = val.id;
|
||||||
this.workerInfo.status = val.status;
|
this.workerInfo.status = val.status;
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
this.workerInfo.enterpriseId = this.treeData.id
|
this.workerInfo.enterpriseId = this.treeData.id;
|
||||||
this.workerInfo.enterpriseName = this.treeData.enterpriseName
|
this.workerInfo.enterpriseName = this.treeData.enterpriseName;
|
||||||
this.selectFormVal = val.qualityRegionName;
|
this.selectFormVal = val.qualityRegionName;
|
||||||
this.workerInfo.qualityRegionId = val.qualityRegionId;
|
this.workerInfo.qualityRegionId = val.qualityRegionId;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.groupFormTree.setCurrentKey(val.qualityRegionId);
|
this.$refs.groupFormTree.setCurrentKey(val.qualityRegionId);
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
//编辑
|
//编辑
|
||||||
submitBtn() {
|
submitBtn() {
|
||||||
@ -834,7 +1223,7 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch(() => { });
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
close() {
|
close() {
|
||||||
this.workerInfo = {};
|
this.workerInfo = {};
|
||||||
@ -996,6 +1385,16 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 导入成功
|
// 导入成功
|
||||||
|
handleFileSuccess(response, file){
|
||||||
|
console.log(response,file,888999)
|
||||||
|
this.rawFileList = [file];
|
||||||
|
},
|
||||||
|
// 移除文件
|
||||||
|
handleFileRemove(file, fileList){
|
||||||
|
this.fileList = fileList;
|
||||||
|
this.rawFileList = [];
|
||||||
|
},
|
||||||
|
// 导入成功
|
||||||
handleImportSuccess(res) {
|
handleImportSuccess(res) {
|
||||||
console.log("导入成功----", res);
|
console.log("导入成功----", res);
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
@ -1019,7 +1418,10 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.tables{
|
.dialog-footer{
|
||||||
|
margin-top: 60px;
|
||||||
|
}
|
||||||
|
.tables {
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
max-height: none;
|
max-height: none;
|
||||||
height: auto;
|
height: auto;
|
||||||
@ -1060,13 +1462,13 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.is-pending {
|
.is-pending {
|
||||||
color: #DAB387;
|
color: #dab387;
|
||||||
border: 1px solid #DAB387;
|
border: 1px solid #dab387;
|
||||||
}
|
}
|
||||||
|
|
||||||
.is-finshed {
|
.is-finshed {
|
||||||
color: #1BA035;
|
color: #1ba035;
|
||||||
border: 1px solid #1BA035;
|
border: 1px solid #1ba035;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1097,11 +1499,11 @@ export default {
|
|||||||
.el-tree-node {
|
.el-tree-node {
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
|
|
||||||
&:focus>.el-tree-node__content {
|
&:focus > .el-tree-node__content {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.is-current>.el-tree-node__content {
|
&.is-current > .el-tree-node__content {
|
||||||
background-color: rgba(81, 129, 246, 0.14);
|
background-color: rgba(81, 129, 246, 0.14);
|
||||||
color: #5181f6;
|
color: #5181f6;
|
||||||
}
|
}
|
||||||
@ -1192,7 +1594,7 @@ export default {
|
|||||||
.el-select-dropdown__item:hover {
|
.el-select-dropdown__item:hover {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
/deep/.el-table__row td:nth-child(1) .cell{
|
/deep/.el-table__row td:nth-child(1) .cell {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,7 +16,7 @@
|
|||||||
clearable
|
clearable
|
||||||
@change="selectChange"
|
@change="selectChange"
|
||||||
>
|
>
|
||||||
<el-option style="height:auto" :value="[]">
|
<el-option style="height: auto" :value="[]">
|
||||||
<el-tree
|
<el-tree
|
||||||
:data="treeList"
|
:data="treeList"
|
||||||
node-key="enterpriseId"
|
node-key="enterpriseId"
|
||||||
@ -38,7 +38,14 @@
|
|||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-permission="{key: 'jdsp_query', menuPath: '/project/progressManagementAg/progressApproval'}" type="primary" plain @click="getWarningListData"
|
<el-button
|
||||||
|
v-permission="{
|
||||||
|
key: 'jdsp_query',
|
||||||
|
menuPath: '/project/progressManagementAg/progressApproval',
|
||||||
|
}"
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
@click="getWarningListData"
|
||||||
>查询</el-button
|
>查询</el-button
|
||||||
>
|
>
|
||||||
<el-button type="warning" plain @click="refresh">刷新</el-button>
|
<el-button type="warning" plain @click="refresh">刷新</el-button>
|
||||||
@ -46,7 +53,7 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="table_wrap whiteBlock">
|
<div class="table_wrap whiteBlock">
|
||||||
<vue-scroll>
|
<vue-scroll style="height: 90%">
|
||||||
<el-table class="tables" :data="tableList">
|
<el-table class="tables" :data="tableList">
|
||||||
<el-table-column
|
<el-table-column
|
||||||
type="index"
|
type="index"
|
||||||
@ -145,29 +152,52 @@
|
|||||||
<el-table-column align="center" label="操作" width="280">
|
<el-table-column align="center" label="操作" width="280">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div class="tableBtns">
|
<div class="tableBtns">
|
||||||
<div v-permission="{key: 'jdsp_edit', menuPath: '/project/progressManagementAg/progressApproval'}" @click="pass(scope.row)" class="operationText" v-if="![2,3].includes(scope.row.auditType)">
|
<div
|
||||||
|
v-permission="{
|
||||||
|
key: 'jdsp_edit',
|
||||||
|
menuPath: '/project/progressManagementAg/progressApproval',
|
||||||
|
}"
|
||||||
|
@click="pass(scope.row)"
|
||||||
|
class="operationText"
|
||||||
|
v-if="![2, 3].includes(scope.row.auditType)"
|
||||||
|
>
|
||||||
<img
|
<img
|
||||||
src="@/assets/images/tableIcon/passIcon.png"
|
src="@/assets/images/tableIcon/passIcon.png"
|
||||||
width="15px"
|
width="15px"
|
||||||
height="15px"
|
height="15px"
|
||||||
/>
|
/>
|
||||||
<span style="white-space: nowrap;color: #5678E8;">通过</span>
|
<span style="white-space: nowrap; color: #5678e8">通过</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-permission="{key: 'jdsp_edit', menuPath: '/project/progressManagementAg/progressApproval'}" @click="openBackDialog(scope.row)" class="operationText" v-if="![2,3].includes(scope.row.auditType)">
|
<div
|
||||||
|
v-permission="{
|
||||||
|
key: 'jdsp_edit',
|
||||||
|
menuPath: '/project/progressManagementAg/progressApproval',
|
||||||
|
}"
|
||||||
|
@click="openBackDialog(scope.row)"
|
||||||
|
class="operationText"
|
||||||
|
v-if="![2, 3].includes(scope.row.auditType)"
|
||||||
|
>
|
||||||
<img
|
<img
|
||||||
src="@/assets/images/tableIcon/backApply.png"
|
src="@/assets/images/tableIcon/backApply.png"
|
||||||
width="15px"
|
width="15px"
|
||||||
height="15px"
|
height="15px"
|
||||||
/>
|
/>
|
||||||
<span style="white-space: nowrap;color: #EA3941;">驳回</span>
|
<span style="white-space: nowrap; color: #ea3941">驳回</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-permission="{key: 'jdsp_delete', menuPath: '/project/progressManagementAg/progressApproval'}" @click="deleteDev(scope.row)" class="operationText">
|
<div
|
||||||
|
v-permission="{
|
||||||
|
key: 'jdsp_delete',
|
||||||
|
menuPath: '/project/progressManagementAg/progressApproval',
|
||||||
|
}"
|
||||||
|
@click="deleteDev(scope.row)"
|
||||||
|
class="operationText"
|
||||||
|
>
|
||||||
<img
|
<img
|
||||||
src="@/assets/images/tableIcon/icon-delete.png"
|
src="@/assets/images/tableIcon/icon-delete.png"
|
||||||
width="15px"
|
width="15px"
|
||||||
height="15px"
|
height="15px"
|
||||||
/>
|
/>
|
||||||
<span style="white-space: nowrap;">删除</span>
|
<span style="white-space: nowrap">删除</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -203,10 +233,7 @@
|
|||||||
:model="workerInfo"
|
:model="workerInfo"
|
||||||
>
|
>
|
||||||
<!-- 描述 -->
|
<!-- 描述 -->
|
||||||
<el-form-item
|
<el-form-item label="驳回原因" prop="description">
|
||||||
label="驳回原因"
|
|
||||||
prop="description"
|
|
||||||
>
|
|
||||||
<el-input
|
<el-input
|
||||||
type="textarea"
|
type="textarea"
|
||||||
style="width: 320px"
|
style="width: 320px"
|
||||||
@ -418,8 +445,9 @@ export default {
|
|||||||
projectSn: this.projectSn,
|
projectSn: this.projectSn,
|
||||||
pageNo: this.pagInfo.pageNo,
|
pageNo: this.pagInfo.pageNo,
|
||||||
pageSize: this.pagInfo.pageSize,
|
pageSize: this.pagInfo.pageSize,
|
||||||
|
isApprovalList: 1,
|
||||||
taskName: this.queryInfo.taskName,
|
taskName: this.queryInfo.taskName,
|
||||||
enterpriseId: this.queryInfo.enterpriseId
|
enterpriseId: this.queryInfo.enterpriseId,
|
||||||
};
|
};
|
||||||
getProgressContentPageApi(data).then((res) => {
|
getProgressContentPageApi(data).then((res) => {
|
||||||
console.log("返回的值", res);
|
console.log("返回的值", res);
|
||||||
@ -431,7 +459,7 @@ export default {
|
|||||||
let dealImageData = JSON.parse(item.image);
|
let dealImageData = JSON.parse(item.image);
|
||||||
let dealImageArr = [];
|
let dealImageArr = [];
|
||||||
dealImageData.map((item2) => {
|
dealImageData.map((item2) => {
|
||||||
if(item2.url.indexOf("http") == -1){
|
if (item2.url.indexOf("http") == -1) {
|
||||||
dealImageArr.push(this.$store.state.FILEURL + item2.url);
|
dealImageArr.push(this.$store.state.FILEURL + item2.url);
|
||||||
} else {
|
} else {
|
||||||
dealImageArr.push(item2.url);
|
dealImageArr.push(item2.url);
|
||||||
@ -481,6 +509,11 @@ export default {
|
|||||||
margin-right: 15px;
|
margin-right: 15px;
|
||||||
}
|
}
|
||||||
// 表格样式
|
// 表格样式
|
||||||
|
.tables {
|
||||||
|
min-height: 0;
|
||||||
|
max-height: none;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
.tableBtns {
|
.tableBtns {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@ -501,11 +534,13 @@ export default {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
// 下拉框样式修改
|
// 下拉框样式修改
|
||||||
/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;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
// 表格暂无数据样式修改
|
// 表格暂无数据样式修改
|
||||||
/deep/.el-table__empty-text{
|
/deep/.el-table__empty-text {
|
||||||
margin-top: 10%;
|
margin-top: 10%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -587,6 +587,10 @@ export default {
|
|||||||
this.itemForm.status = 2;
|
this.itemForm.status = 2;
|
||||||
}
|
}
|
||||||
data.delayEventType = this.workerInfo.delayEventType.join(",");
|
data.delayEventType = this.workerInfo.delayEventType.join(",");
|
||||||
|
if(+this.workerInfo.progressRatio <= +this.itemForm.progressRatio){
|
||||||
|
this.$message.error("上报进度必须大于当前进度");
|
||||||
|
return;
|
||||||
|
}
|
||||||
console.log("新增提交的数据", data);
|
console.log("新增提交的数据", data);
|
||||||
addXzTaskProgressContentApi(data).then((res) => {
|
addXzTaskProgressContentApi(data).then((res) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
@ -876,15 +880,20 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.noData {
|
.noData {
|
||||||
text-align: center;
|
// text-align: center;
|
||||||
height: 95%;
|
height: 95%;
|
||||||
padding-top: 50%;
|
// padding-top: 50%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background: #f7f7f7;
|
background: #f7f7f7;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
img {
|
img {
|
||||||
position: absolute;
|
// position: absolute;
|
||||||
top: 35%;
|
// top: 35%;
|
||||||
left: 60%;
|
// left: 60%;
|
||||||
|
// margin: auto;
|
||||||
|
margin-bottom: 70px;
|
||||||
width: 15%;
|
width: 15%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user