This commit is contained in:
zhutianqi
2021-11-15 17:57:48 +08:00
parent bd66e9f922
commit 230ce62823
@@ -1,10 +1,59 @@
<template>
<div id="enterpriseStandardPlan">
<div class="action-bar">
<div class="search-area">
<div class="content-top">
<el-form :modal="form" inline class="label-input-form">
<el-form-item label="计划状态" class="search-item">
<el-select v-model="form.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item label="制修订状态" class="search-item">
<el-select v-model="form.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item label="企标名称" class="search-item">
<el-input v-model="form.esName"
placeholder="请输入计划状态"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="起草责任部门" class="search-item">
<el-input v-model="form.unit"
placeholder="请输入计划状态"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="searchData">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="mini"
@click="clearData">
清空
</el-button>
</el-form-item>
</el-form>
</div>
</div>
<div class="content-center">
<el-button type="primary"
class="common-button-primary add-button"
size="mini"
@click=""><i class="el-icon-plus"></i>新增
@click="addData"><i class="el-icon-plus"></i>新增
</el-button>
<el-button class="common-button-default in-button"
size="mini"
@@ -19,81 +68,217 @@
</el-button>
<el-button class="common-button-default"
size="mini"
@click=""><i class="iconfont">&#xe611;</i>删除
@click="deleteList"><i class="iconfont">&#xe611;</i>删除
</el-button>
</div>
<div class="content">
<div class="container">
<div class="table-wrap">
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
<div class="inner-wrap">
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
height="100%"
@selection-change="dataSelectChange"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
label="计划状态"
width="120">
</el-table-column>
<el-table-column
prop="standName"
label="计划类型"
width="350">
</el-table-column>
<el-table-column
prop="issueTime"
width="150"
label="企标类别">
</el-table-column>
<el-table-column
prop="SSRQ"
width="150"
label="企业编号">
</el-table-column>
<el-table-column
prop="XCXSSRQ"
width="150"
label="代替企标编号">
</el-table-column>
<el-table-column
prop="ZCCSSRQ"
width="150"
label="企标名称">
</el-table-column>
<el-table-column
prop="textStatus"
width="120"
label="英文名称">
</el-table-column>
<el-table-column
prop="textStatus"
label="主要起草人">
</el-table-column>
<!-- <el-table-column fixed="right" v-if="isPermission('f9745194958bc9ed3ee5127459795dbc,e8d690904ee1895dd0d17d9c794fbcd7,b299fa5edb3f3f35badb2adb6bda9f2e')>0" label="操作" align="center" width="100">-->
<el-table-column fixed="right" label="操作" align="center" width="60">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '编辑']">
编辑
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']">
删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
<el-table-column
type="selection"
align="center"
width="55">
</el-table-column>
<el-table-column
prop="esName"
label="企标名称"
align="center"
width="120">
</el-table-column>
<el-table-column
prop="planStatus"
label="计划状态"
align="center"
width="150">
</el-table-column>
<el-table-column
prop="reviseStatus"
width="150"
align="center"
label="制修订状态">
</el-table-column>
<el-table-column
prop="drafter"
width="120"
align="center"
label="起草人">
</el-table-column>
<el-table-column
prop="resPerson"
width="120"
align="center"
label="评审责任人">
</el-table-column>
<el-table-column
prop="wgLeader"
width="120"
align="center"
label="工作组组长">
</el-table-column>
<el-table-column
prop="draftTime"
width="200"
align="center"
label="计划标准初稿完成时间">
<template slot-scope="scope">
<span>{{ scope.row.draftTime ? $moment(scope.row.draftTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
width="200"
prop="releaseTime"
align="center"
label="计划标准发布时间">
<template slot-scope="scope">
<span>{{ scope.row.releaseTime ? $moment(scope.row.releaseTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
align="center"
prop="unit"
label="起草责任单位">
</el-table-column>
<!-- <el-table-column fixed="right" v-if="isPermission('f9745194958bc9ed3ee5127459795dbc,e8d690904ee1895dd0d17d9c794fbcd7,b299fa5edb3f3f35badb2adb6bda9f2e')>0" label="操作" align="center" width="100">-->
<el-table-column fixed="right" label="操作" align="center" width="60">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']">
查看
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '编辑']">
编辑
</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']">
删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<pagination :page="form.page" :total="total"
@pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
<div class="footer">
<pagination :page="form.page" :total="total"
@pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
</div>
<el-drawer
ref="standard"
size="1000px"
:title="addDrawerTitle"
:visible.sync="addDrawer"
:before-close="addDrawerClose">
<div class="demo-drawer-content" v-if="addDrawer">
<div class="content">
<div class="standard-table-search">
<el-row :gutter="24">
<el-col :span="24">
<el-form :model="addForm" inline class="label-input-form" label-width="180px" :rules="addFormRules" ref="addForm">
<el-form-item label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item">
<el-input
v-model="addForm.esName"
placeholder="请输入企标名称"
:maxlength="500"/>
</el-form-item>
<el-form-item label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item">
<el-select v-model="addForm.planStatus" placeholder="请选择计划状态">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item label="制修订状态" style="width: 100%; margin-right:10px" class="add-form-item">
<el-select v-model="addForm.reviseStatus" placeholder="请选择制修订状态">
<el-option label="制定完成" value="制定完成"></el-option>
<el-option label="制定中" value="制定中"></el-option>
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item label="起草人" style="width: 100%; margin-right:10px" class="add-form-item">
<el-input
v-model="addForm.drafter"
placeholder="请输入起草人"
:maxlength="500"/>
</el-form-item>
<el-form-item label="评审责任人" style="width: 100%; margin-right:10px" class="add-form-item">
<el-input
v-model="addForm.resPerson"
placeholder="请输入评审责任人"
:maxlength="500"/>
</el-form-item>
<el-form-item label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item">
<el-input
v-model="addForm.wgLeader"
placeholder="请输入工作组组长"
:maxlength="500"/>
</el-form-item>
<el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-date-picker
v-model="addForm.draftTime"
:disabled="DrawerType === 'see'"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="计划标准发布时间" style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item" :class="DrawerType === 'see' ? 'form-item-disabled' : ''">
<el-date-picker
v-model="addForm.releaseTime"
:disabled="DrawerType === 'see'"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" class="add-form-item" prop="unit">
<el-input
v-model="addForm.unit"
placeholder="请输入起草责任单位"
:maxlength="500"/>
</el-form-item>
<el-form-item label="备注" style="width: 100%; margin-right:10px" class="add-form-item" prop="remake">
<el-input
v-model="addForm.remake"
placeholder="请输入备注"
:maxlength="500"/>
</el-form-item>
</el-form>
</el-col>
</el-row>
</div>
</div>
</div>
<div class="demo-drawer-footer" v-if="DrawerType !== 'see'">
<el-button
size="mini"
class="common-button-primary"
icon="el-icon-check"
type="primary"
:loading="submitLoading"
@click="addDrawerSubmit">提交
</el-button>
<el-button
size="mini"
class="common-button-default"
icon="el-icon-close"
@click="addDrawerClose">取消</el-button>
</div>
</el-drawer>
</div>
</div>
</template>
@@ -104,27 +289,149 @@
components: {},
data() {
return {
submitLoading: false,
addDrawerTitle: '',
addDrawer: false,
DrawerType: '',
ids: [],
addForm: {
unit: '', // 单位
esName: '', // 企标名称
planStatus: '', // 计划状态
reviseStatus: '', // 制修订状态
resPerson: '', // 评审责任人
wgLeader: '', // 工作组组长
draftTime: '', // 计划标准初稿完成时间
releaseTime: '', // 计划标准发布时间
drafter: '', // 起草人
remake: '', // 备注
},
addFormRules: {},
form: {
page: 1,
pageSize: '',
pageSize: this.$store.getters.userInfo.configContent,
unit: '',
esName: '',
planStatus: '',
reviseStatus: '',
},
total: 0,
data: [],
data: []
}
},
props: {},
watch: {},
methods: {
pageChange () {},
pageSizeChange () {},
handleCommand () {},
addDrawerSubmit () {},
addDrawerClose () {
this.addDrawer = false
},
addData () {
this.addDrawerTitle = '新增'
this.DrawerType = 'add'
this.addDrawer = true
}, // 新增数据
deleteList () {
if (this.ids.length) {
this.$confirm('您是否确认删除选中数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: true
}).then(() => {
let ids = ''
this.ids.forEach(item => {
if (ids.length > 0) {
ids += ','
ids += item
} else {
ids = item
}
})
this.$http.get('esRevisePlan/es-revise-plan/delPlans', {
ids: ids
}, {
_this: this
}, res => {
if (res.ok) {
this.$message.success('删除成功')
this.form.page = 1
this.getData()
} else {
this.$message.warning('删除失败')
}
})
}).catch(() => {})
} else {
this.$message.warning('请选择要移除的数据')
}
},
dataSelectChange (val) {
this.ids = []
val.forEach(item =>{
this.ids.push(item.id)
})
},
searchData () {
this.form.page = 1
this.getData()
},
clearData () {
this.form.page = 1
this.form.unit = ''
this.form.esName = ''
this.form.planStatus = ''
this.form.reviseStatus = ''
this.getData()
},
pageChange (page) {},
pageSizeChange (pageSize) {},
handleCommand (command) {
switch (command[1]) {
case '编辑':
this.addDrawerTitle = '编辑'
this.DrawerType = 'edit'
this.addDrawer = true
break
case '删除':
this.$confirm('您是否确认删除选中数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: true
}).then(() => {
this.$http.get('esRevisePlan/es-revise-plan/delPlans', {
ids: command[0].id
}, {
_this: this
}, res => {
if (res.ok) {
this.$message.success('删除成功')
this.form.page = 1
this.getData()
} else {
this.$message.warning('删除失败')
}
})
}).catch(() => {})
break
case '查看':
this.addDrawerTitle = '查看'
this.DrawerType = 'see'
this.addDrawer = true
break
}
},
getData () {
this.$http.get('esRevisePlan/es-revise-plan/getAllPlans', {}, {
this.$http.post('esRevisePlan/es-revise-plan/queryAllPlans', this.form, {
_this: this
}, res => {
if (res.ok) {
this.data = res.data
this.data = res.data.list
this.total = res.data.count
}
})
},
@@ -141,15 +448,38 @@
@import '~@/assets/styles/style';
#enterpriseStandardPlan {
height: 100%;
.content {
height: calc(~'100% - 53px');
.table-wrap {
height: calc(~'100% - 56px');
background: #fff;
/deep/.table-wrap {
.el-table__fixed {
height: calc(~'100% - 20px') !important;
}
.pagination {
position: static;
/deep/ .pagination-slot {
padding: 0;
}
height: 100%;
display: flex;
flex-direction: column;
.content-center {
padding: 10px;
}
.container {
flex: 1;
overflow: hidden;
display: flex;
flex-direction: column;
.table-wrap {
flex: 1;
overflow: hidden;
position: relative;
.inner-wrap {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
.footer {
/deep/ .pagination {
position: static;
}
}
}