14 changed files with 3201 additions and 146 deletions
@ -1,3 +1,528 @@ |
|||
<template> |
|||
<div>验收</div> |
|||
<!-- 合同验收--> |
|||
<div class="app-container"> |
|||
<el-form |
|||
:model="queryParams" |
|||
ref="queryForm" |
|||
:inline="true" |
|||
v-show="showSearch" |
|||
label-width="68px" |
|||
> |
|||
<el-form-item label="验收时间" prop="acceptanceTime"> |
|||
<el-date-picker |
|||
clearable |
|||
size="small" |
|||
style="width: 200px" |
|||
v-model="queryParams.acceptanceTime" |
|||
type="date" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择验收时间" |
|||
> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<!-- <el-form-item label="地点" prop="acceptanceAddress"> |
|||
<el-input |
|||
v-model="queryParams.data.acceptanceAddress" |
|||
placeholder="请输入地点" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
><el-button |
|||
type="primary" |
|||
slot="append" |
|||
icon="el-icon-search" |
|||
size="small" |
|||
@click="handleQuery" |
|||
></el-button> |
|||
</el-input> |
|||
</el-form-item> --> |
|||
<el-form-item label="验收专家" prop="acceptanceExpert"> |
|||
<el-input |
|||
v-model="queryParams.data.acceptanceExpert" |
|||
placeholder="请输入验收专家" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
><el-button |
|||
type="primary" |
|||
slot="append" |
|||
icon="el-icon-search" |
|||
size="small" |
|||
@click="handleQuery" |
|||
></el-button> |
|||
</el-input> |
|||
</el-form-item> |
|||
|
|||
<el-form-item> |
|||
<!-- <el-button |
|||
type="cyan" |
|||
icon="el-icon-search" |
|||
size="mini" |
|||
@click="handleQuery" |
|||
>搜索</el-button |
|||
> --> |
|||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
|||
>重置</el-button |
|||
> |
|||
</el-form-item> |
|||
</el-form> |
|||
|
|||
<el-row :gutter="10" class="mb8"> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="primary" |
|||
icon="el-icon-plus" |
|||
size="mini" |
|||
@click="handleAdd" |
|||
v-hasPermi="['build:acc:add']" |
|||
>新增</el-button |
|||
> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="success" |
|||
icon="el-icon-edit" |
|||
size="mini" |
|||
:disabled="single" |
|||
@click="handleUpdate" |
|||
v-hasPermi="['build:acc:edit']" |
|||
>修改</el-button |
|||
> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="danger" |
|||
icon="el-icon-delete" |
|||
size="mini" |
|||
:disabled="multiple" |
|||
@click="handleDelete" |
|||
v-hasPermi="['build:acc:remove']" |
|||
>删除</el-button |
|||
> |
|||
</el-col> |
|||
<right-toolbar |
|||
:showSearch.sync="showSearch" |
|||
@queryTable="getList" |
|||
></right-toolbar> |
|||
</el-row> |
|||
|
|||
<el-table |
|||
v-loading="loading" |
|||
:data="accList" |
|||
@selection-change="handleSelectionChange" |
|||
> |
|||
<el-table-column type="selection" width="55" align="center" /> |
|||
<el-table-column label="序号" type="index" width="50" align="center" /> |
|||
|
|||
<el-table-column |
|||
label="验收时间" |
|||
align="center" |
|||
prop="acceptanceTime" |
|||
min-width="120" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<span>{{ parseTime(scope.row.acceptanceTime, "{y}-{m}-{d}") }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
label="地点" |
|||
align="center" |
|||
prop="acceptanceAddress" |
|||
min-width="120" |
|||
/> |
|||
<el-table-column |
|||
label="验收专家" |
|||
align="center" |
|||
prop="acceptanceExpert" |
|||
min-width="120" |
|||
/> |
|||
<el-table-column |
|||
label="验收意见" |
|||
align="center" |
|||
prop="acceptanceOpinions" |
|||
min-width="120" |
|||
/> |
|||
<el-table-column |
|||
label="操作" |
|||
align="center" |
|||
class-name="small-padding fixed-width" |
|||
min-width="180" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-view" |
|||
@click="viewInfo(scope.row)" |
|||
>查看</el-button |
|||
> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-edit" |
|||
@click="handleUpdate(scope.row)" |
|||
v-hasPermi="['build:acc:edit']" |
|||
>修改</el-button |
|||
> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-delete" |
|||
@click="handleDelete(scope.row)" |
|||
v-hasPermi="['build:acc:remove']" |
|||
>删除</el-button |
|||
> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
<pagination |
|||
v-show="total > 0" |
|||
:total="total" |
|||
:page.sync="queryParams.pageNum" |
|||
:limit.sync="queryParams.pageSize" |
|||
@pagination="getList" |
|||
/> |
|||
|
|||
<!-- 添加或修改合同验收对话框 --> |
|||
<el-dialog |
|||
:title="title" |
|||
:visible.sync="open" |
|||
width="1200px" |
|||
append-to-body |
|||
> |
|||
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
|||
<el-form-item label="验收时间" prop="acceptanceTime"> |
|||
<el-date-picker |
|||
clearable |
|||
size="small" |
|||
style="width: 100%" |
|||
v-model="form.acceptanceTime" |
|||
type="date" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择验收时间" |
|||
> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="地点" prop="acceptanceAddress"> |
|||
<el-input v-model="form.acceptanceAddress" placeholder="请输入地点" /> |
|||
</el-form-item> |
|||
<el-form-item label="验收专家" prop="acceptanceExpert"> |
|||
<el-input |
|||
v-model="form.acceptanceExpert" |
|||
placeholder="请输入验收专家" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="验收意见" prop="acceptanceOpinions"> |
|||
<el-input |
|||
v-model="form.acceptanceOpinions" |
|||
placeholder="请输入验收意见" |
|||
/> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click="submitForm">确 定</el-button> |
|||
<el-button @click="cancel">取 消</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
<!--查看 --> |
|||
<el-dialog |
|||
:title="viewTitle" |
|||
:visible.sync="viewOpen" |
|||
width="1200px" |
|||
append-to-body |
|||
@close="closeView" |
|||
> |
|||
<!-- 分包合同信息 --> |
|||
<div class="infoTitle">分包合同信息</div> |
|||
<div class="draLine"></div> |
|||
<div class="content"> |
|||
<el-descriptions |
|||
class="margin-top" |
|||
:column="2" |
|||
border |
|||
:labelStyle="{ |
|||
'text-align': 'left', |
|||
width: '180px', |
|||
height: '50px', |
|||
}" |
|||
:contentStyle="{}" |
|||
> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 验收时间 </template> |
|||
{{ this.acceptanceMsg.acceptanceTime }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 地点 </template> |
|||
{{ this.acceptanceMsg.acceptanceAddress }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 验收专家 </template> |
|||
{{ this.acceptanceMsg.acceptanceExpert }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 验收意见 </template> |
|||
{{ this.acceptanceMsg.acceptanceOpinions }} |
|||
</el-descriptions-item> |
|||
</el-descriptions> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
listAcc, |
|||
getAcc, |
|||
delAcc, |
|||
addAcc, |
|||
updateAcc, |
|||
exportAcc, |
|||
} from "@/api/build/acc"; |
|||
|
|||
export default { |
|||
name: "Acc", |
|||
props: ["contractNumber"], |
|||
data() { |
|||
return { |
|||
// 遮罩层 |
|||
loading: true, |
|||
// 选中数组 |
|||
ids: [], |
|||
// 非单个禁用 |
|||
single: true, |
|||
// 非多个禁用 |
|||
multiple: true, |
|||
// 显示搜索条件 |
|||
showSearch: true, |
|||
// 总条数 |
|||
total: 0, |
|||
// 合同验收表格数据 |
|||
accList: [], |
|||
// 弹出层标题 |
|||
title: "", |
|||
viewTitle: "", |
|||
// 是否显示弹出层 |
|||
open: false, |
|||
viewOpen: false, |
|||
// 查询参数 |
|||
queryParams: { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
ids: null, |
|||
data: { |
|||
acceptanceTime: null, |
|||
acceptanceAddress: null, |
|||
acceptanceExpert: null, |
|||
acceptanceOpinions: null, |
|||
contractNumber: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}, |
|||
}, |
|||
// 表单参数 |
|||
form: {}, |
|||
// 表单校验 |
|||
rules: {}, |
|||
acceptanceMsg: {}, |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getList(); |
|||
}, |
|||
// 父组件 利用axios请求得到的值 传送到子组件,要监听,否则初始渲染时为空 |
|||
watch: { |
|||
contractNumber: function (n, o) { |
|||
this.contractNumber = n; |
|||
// console.log("contractNumber", this.contractNumber); |
|||
this.getList(); |
|||
}, |
|||
}, |
|||
methods: { |
|||
/** 查询合同验收列表 */ |
|||
getList() { |
|||
this.loading = true; |
|||
if (this.$route.query.baseDataId) { |
|||
this.queryParams.data.contractNumber = this.contractNumber; |
|||
} |
|||
listAcc(this.queryParams).then((response) => { |
|||
this.accList = response.records; |
|||
this.total = response.total; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
// 取消按钮 |
|||
cancel() { |
|||
this.open = false; |
|||
this.reset(); |
|||
}, |
|||
// 表单重置 |
|||
reset() { |
|||
this.form = { |
|||
id: null, |
|||
acceptanceTime: null, |
|||
acceptanceAddress: null, |
|||
acceptanceExpert: null, |
|||
acceptanceOpinions: null, |
|||
contractNumber: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
// 查询表单重置 |
|||
resetQueryForm() { |
|||
this.queryParams = { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
data: { |
|||
id: null, |
|||
acceptanceTime: null, |
|||
acceptanceAddress: null, |
|||
acceptanceExpert: null, |
|||
acceptanceOpinions: null, |
|||
contractNumber: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}, |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
/** 搜索按钮操作 */ |
|||
handleQuery() { |
|||
this.queryParams.pageNum = 1; |
|||
this.getList(); |
|||
}, |
|||
/** 重置按钮操作 */ |
|||
resetQuery() { |
|||
this.resetQueryForm(); |
|||
this.handleQuery(); |
|||
}, |
|||
// 多选框选中数据 |
|||
handleSelectionChange(selection) { |
|||
this.ids = selection.map((item) => item.id); |
|||
this.single = selection.length !== 1; |
|||
this.multiple = !selection.length; |
|||
}, |
|||
/** 新增按钮操作 */ |
|||
handleAdd() { |
|||
this.reset(); |
|||
this.open = true; |
|||
this.title = "添加合同验收"; |
|||
}, |
|||
/** 修改按钮操作 */ |
|||
handleUpdate(row) { |
|||
this.reset(); |
|||
const id = row.id || this.ids; |
|||
getAcc(id).then((response) => { |
|||
this.form = response.data; |
|||
this.open = true; |
|||
this.title = "修改合同验收"; |
|||
}); |
|||
}, |
|||
// 查看信息 |
|||
viewInfo(row) { |
|||
this.viewTitle = "查看合同变更信息"; |
|||
this.acceptanceMsg = row; |
|||
console.log("acceptanceMsg", row); |
|||
this.viewOpen = true; |
|||
}, |
|||
// 关闭弹窗 |
|||
closeView() { |
|||
this.acceptanceMsg = {}; |
|||
}, |
|||
/** 提交按钮 */ |
|||
submitForm() { |
|||
this.$refs["form"].validate((valid) => { |
|||
if (valid) { |
|||
if (this.form.id != null) { |
|||
updateAcc(this.form).then((response) => { |
|||
if (response.code === 200) { |
|||
this.msgSuccess("修改成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
} |
|||
}); |
|||
} else { |
|||
this.form.contractNumber = this.contractNumber; |
|||
addAcc(this.form).then((response) => { |
|||
if (response.code === 200) { |
|||
this.msgSuccess("新增成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
} |
|||
}); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
/** 删除按钮操作 */ |
|||
handleDelete(row) { |
|||
const ids = row.id || this.ids; |
|||
if (ids) { |
|||
this.$confirm("是否删除选中的数据?", "警告", { |
|||
confirmButtonText: "确定", |
|||
cancelButtonText: "取消", |
|||
type: "warning", |
|||
}) |
|||
.then(function () { |
|||
return delAcc(ids); |
|||
}) |
|||
.then(() => { |
|||
this.getList(); |
|||
this.msgSuccess("删除成功"); |
|||
}) |
|||
.catch(function () {}); |
|||
} else { |
|||
this.$message.warning("请选择要删除的数据!!"); |
|||
} |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
::v-deep { |
|||
.el-dialog { |
|||
// margin-top: 2vh !important; |
|||
height: 450px; |
|||
overflow-y: auto; |
|||
.content { |
|||
display: flex; |
|||
flex-direction: column; |
|||
align-items: center; |
|||
.margin-top { |
|||
width: 95%; |
|||
border-left: 1px solid #f0f0f0; |
|||
border-right: 1px solid #f0f0f0; |
|||
} |
|||
} |
|||
} |
|||
.el-dialog__title { |
|||
font-weight: 700; |
|||
font-size: 28px; |
|||
// font-size: 24px; |
|||
// line-height: 32px; |
|||
} |
|||
.draLine { |
|||
width: 100%; |
|||
border: 2px solid #000; |
|||
margin: 10px 0 20px 0; |
|||
} |
|||
.infoTitle { |
|||
color: #000; |
|||
font-size: 20px; |
|||
font-weight: 700; |
|||
} |
|||
} |
|||
</style> |
|||
|
@ -1,3 +1,604 @@ |
|||
<template> |
|||
<div>变更</div> |
|||
<!-- 合同变更--> |
|||
<div class="app-container"> |
|||
<el-form |
|||
:model="queryParams" |
|||
ref="queryForm" |
|||
:inline="true" |
|||
v-show="showSearch" |
|||
label-width="68px" |
|||
> |
|||
<el-form-item label="变更原因" prop="changeReason"> |
|||
<el-input |
|||
v-model="queryParams.data.changeReason" |
|||
placeholder="请输入变更原因" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
><el-button |
|||
type="primary" |
|||
slot="append" |
|||
icon="el-icon-search" |
|||
size="small" |
|||
@click="handleQuery" |
|||
></el-button> |
|||
</el-input> |
|||
</el-form-item> |
|||
|
|||
<el-form-item> |
|||
<!-- <el-button |
|||
type="cyan" |
|||
icon="el-icon-search" |
|||
size="mini" |
|||
@click="handleQuery" |
|||
>搜索</el-button |
|||
> --> |
|||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
|||
>重置</el-button |
|||
> |
|||
</el-form-item> |
|||
</el-form> |
|||
|
|||
<el-row :gutter="10" class="mb8"> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="primary" |
|||
icon="el-icon-plus" |
|||
size="mini" |
|||
@click="handleAdd" |
|||
v-hasPermi="['build:change:add']" |
|||
>新增</el-button |
|||
> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="success" |
|||
icon="el-icon-edit" |
|||
size="mini" |
|||
:disabled="single" |
|||
@click="handleUpdate" |
|||
v-hasPermi="['build:change:edit']" |
|||
>修改</el-button |
|||
> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="danger" |
|||
icon="el-icon-delete" |
|||
size="mini" |
|||
:disabled="multiple" |
|||
@click="handleDelete" |
|||
v-hasPermi="['build:change:remove']" |
|||
>删除</el-button |
|||
> |
|||
</el-col> |
|||
<right-toolbar |
|||
:showSearch.sync="showSearch" |
|||
@queryTable="getList" |
|||
></right-toolbar> |
|||
</el-row> |
|||
|
|||
<el-table |
|||
v-loading="loading" |
|||
:data="changeList" |
|||
@selection-change="handleSelectionChange" |
|||
> |
|||
<el-table-column type="selection" width="55" align="center" fixed /> |
|||
<el-table-column |
|||
label="序号" |
|||
type="index" |
|||
width="50" |
|||
align="center" |
|||
fixed |
|||
/> |
|||
|
|||
<el-table-column |
|||
label="变更原因" |
|||
align="center" |
|||
prop="changeReason" |
|||
min-width="120" |
|||
/> |
|||
<el-table-column |
|||
label="变更内容" |
|||
align="center" |
|||
prop="changeContent" |
|||
min-width="120" |
|||
/> |
|||
<el-table-column |
|||
label="变更时间" |
|||
align="center" |
|||
prop="changeTime" |
|||
min-width="120" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<span>{{ parseTime(scope.row.changeTime, "{y}-{m}-{d}") }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
label="变更申请信息" |
|||
align="center" |
|||
prop="changeApplicationInfo" |
|||
min-width="120" |
|||
/> |
|||
<el-table-column |
|||
label="变更批复信息" |
|||
align="center" |
|||
prop="changeApprovalInfo" |
|||
min-width="120" |
|||
/> |
|||
<el-table-column |
|||
label="合同变更信息" |
|||
align="center" |
|||
prop="contractChangeInfo" |
|||
min-width="120" |
|||
/> |
|||
<el-table-column |
|||
label="变更人" |
|||
align="center" |
|||
prop="changePerson" |
|||
min-width="120" |
|||
/> |
|||
<el-table-column |
|||
label="变更人联系方式" |
|||
align="center" |
|||
prop="changePersonPhone" |
|||
min-width="120" |
|||
/> |
|||
|
|||
<el-table-column |
|||
label="操作" |
|||
align="center" |
|||
class-name="small-padding fixed-width" |
|||
min-width="180" |
|||
fixed="right" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-view" |
|||
@click="viewInfo(scope.row)" |
|||
>查看</el-button |
|||
> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-edit" |
|||
@click="handleUpdate(scope.row)" |
|||
v-hasPermi="['build:change:edit']" |
|||
>修改</el-button |
|||
> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-delete" |
|||
@click="handleDelete(scope.row)" |
|||
v-hasPermi="['build:change:remove']" |
|||
>删除</el-button |
|||
> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
<pagination |
|||
v-show="total > 0" |
|||
:total="total" |
|||
:page.sync="queryParams.pageNum" |
|||
:limit.sync="queryParams.pageSize" |
|||
@pagination="getList" |
|||
/> |
|||
|
|||
<!-- 添加或修改合同变更信息对话框 --> |
|||
<el-dialog |
|||
:title="title" |
|||
:visible.sync="open" |
|||
width="1200px" |
|||
append-to-body |
|||
> |
|||
<el-form ref="form" :model="form" :rules="rules" label-width="110px"> |
|||
<el-form-item label="变更原因" prop="changeReason"> |
|||
<el-input v-model="form.changeReason" placeholder="请输入变更原因" /> |
|||
</el-form-item> |
|||
<el-form-item label="变更内容" prop="changeContent"> |
|||
<el-input v-model="form.changeContent" placeholder="请输入变更内容" /> |
|||
</el-form-item> |
|||
<el-form-item label="变更时间" prop="changeTime"> |
|||
<el-date-picker |
|||
clearable |
|||
size="small" |
|||
style="width: 100%" |
|||
v-model="form.changeTime" |
|||
type="date" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择变更时间" |
|||
> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="变更申请信息" prop="changeApplicationInfo"> |
|||
<el-input |
|||
v-model="form.changeApplicationInfo" |
|||
placeholder="请输入变更申请信息" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="变更批复信息" prop="changeApprovalInfo"> |
|||
<el-input |
|||
v-model="form.changeApprovalInfo" |
|||
placeholder="请输入变更批复信息" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="合同变更信息" prop="contractChangeInfo"> |
|||
<el-input |
|||
v-model="form.contractChangeInfo" |
|||
placeholder="请输入合同变更信息" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="变更人" prop="changePerson"> |
|||
<el-input v-model="form.changePerson" placeholder="请输入变更人" /> |
|||
</el-form-item> |
|||
<el-form-item label="变更人联系方式" prop="changePersonPhone"> |
|||
<el-input |
|||
v-model="form.changePersonPhone" |
|||
placeholder="请输入变更人联系方式" |
|||
/> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click="submitForm">确 定</el-button> |
|||
<el-button @click="cancel">取 消</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
<!--查看 --> |
|||
<el-dialog |
|||
:title="viewTitle" |
|||
:visible.sync="viewOpen" |
|||
width="1200px" |
|||
append-to-body |
|||
@close="closeView" |
|||
> |
|||
<!-- 分包合同信息 --> |
|||
<div class="infoTitle">分包合同信息</div> |
|||
<div class="draLine"></div> |
|||
<div class="content"> |
|||
<el-descriptions |
|||
class="margin-top" |
|||
:column="2" |
|||
border |
|||
:labelStyle="{ |
|||
'text-align': 'left', |
|||
width: '180px', |
|||
height: '50px', |
|||
}" |
|||
:contentStyle="{}" |
|||
> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 变更原因 </template> |
|||
{{ this.alterMsg.changeReason }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 变更内容 </template> |
|||
{{ this.alterMsg.changeContent }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 变更时间 </template> |
|||
{{ this.alterMsg.changeTime }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 变更申请信息 </template> |
|||
{{ this.alterMsg.changeApplicationInfo }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 变更批复信息 </template> |
|||
{{ this.alterMsg.changeApprovalInfo }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 合同变更信息 </template> |
|||
{{ this.alterMsg.contractChangeInfo }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 变更人 </template> |
|||
{{ this.alterMsg.changePerson }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 变更人联系方式 </template> |
|||
{{ this.alterMsg.changePersonPhone }} |
|||
</el-descriptions-item> |
|||
</el-descriptions> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
listChange, |
|||
getChange, |
|||
delChange, |
|||
addChange, |
|||
updateChange, |
|||
exportChange, |
|||
} from "@/api/build/contractChange"; |
|||
|
|||
export default { |
|||
name: "Change", |
|||
props: ["contractNumber"], |
|||
data() { |
|||
return { |
|||
// 遮罩层 |
|||
loading: true, |
|||
// 选中数组 |
|||
ids: [], |
|||
// 非单个禁用 |
|||
single: true, |
|||
// 非多个禁用 |
|||
multiple: true, |
|||
// 显示搜索条件 |
|||
showSearch: true, |
|||
// 总条数 |
|||
total: 0, |
|||
// 合同变更信息表格数据 |
|||
changeList: [], |
|||
// 弹出层标题 |
|||
title: "", |
|||
viewTitle: "", |
|||
// 是否显示弹出层 |
|||
open: false, |
|||
viewOpen: false, |
|||
// 查询参数 |
|||
queryParams: { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
ids: null, |
|||
data: { |
|||
changeReason: null, |
|||
changeContent: null, |
|||
changeTime: null, |
|||
changeApplicationInfo: null, |
|||
changeApprovalInfo: null, |
|||
contractChangeInfo: null, |
|||
changePerson: null, |
|||
changePersonPhone: null, |
|||
contractNumber: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}, |
|||
}, |
|||
// 表单参数 |
|||
form: {}, |
|||
// 表单校验 |
|||
rules: {}, |
|||
alterMsg: {}, |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getList(); |
|||
}, |
|||
// 父组件 利用axios请求得到的值 传送到子组件,要监听,否则初始渲染时为空 |
|||
watch: { |
|||
contractNumber: function (n, o) { |
|||
this.contractNumber = n; |
|||
// console.log("contractNumber", this.contractNumber); |
|||
this.getList(); |
|||
}, |
|||
}, |
|||
methods: { |
|||
/** 查询合同变更信息列表 */ |
|||
getList() { |
|||
this.loading = true; |
|||
if (this.$route.query.baseDataId) { |
|||
this.queryParams.data.contractNumber = this.contractNumber; |
|||
} |
|||
listChange(this.queryParams).then((response) => { |
|||
this.changeList = response.records; |
|||
// console.log("response.records", response.records); |
|||
this.total = response.total; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
// 取消按钮 |
|||
cancel() { |
|||
this.open = false; |
|||
this.reset(); |
|||
}, |
|||
// 表单重置 |
|||
reset() { |
|||
this.form = { |
|||
id: null, |
|||
changeReason: null, |
|||
changeContent: null, |
|||
changeTime: null, |
|||
changeApplicationInfo: null, |
|||
changeApprovalInfo: null, |
|||
contractChangeInfo: null, |
|||
changePerson: null, |
|||
changePersonPhone: null, |
|||
contractNumber: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
// 查询表单重置 |
|||
resetQueryForm() { |
|||
this.queryParams = { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
data: { |
|||
id: null, |
|||
changeReason: null, |
|||
changeContent: null, |
|||
changeTime: null, |
|||
changeApplicationInfo: null, |
|||
changeApprovalInfo: null, |
|||
contractChangeInfo: null, |
|||
changePerson: null, |
|||
changePersonPhone: null, |
|||
contractNumber: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}, |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
/** 搜索按钮操作 */ |
|||
handleQuery() { |
|||
this.queryParams.pageNum = 1; |
|||
this.getList(); |
|||
}, |
|||
/** 重置按钮操作 */ |
|||
resetQuery() { |
|||
this.resetQueryForm(); |
|||
this.handleQuery(); |
|||
}, |
|||
// 多选框选中数据 |
|||
handleSelectionChange(selection) { |
|||
this.ids = selection.map((item) => item.id); |
|||
this.single = selection.length !== 1; |
|||
this.multiple = !selection.length; |
|||
}, |
|||
/** 新增按钮操作 */ |
|||
handleAdd() { |
|||
this.reset(); |
|||
this.open = true; |
|||
this.title = "添加合同变更信息"; |
|||
}, |
|||
/** 修改按钮操作 */ |
|||
handleUpdate(row) { |
|||
this.reset(); |
|||
const id = row.id || this.ids; |
|||
getChange(id).then((response) => { |
|||
this.form = response.data; |
|||
console.log("this.form", this.form); |
|||
this.open = true; |
|||
this.title = "修改合同变更信息"; |
|||
}); |
|||
}, |
|||
|
|||
// 查看信息 |
|||
viewInfo(row) { |
|||
this.viewTitle = "查看合同变更信息"; |
|||
this.alterMsg = row; |
|||
console.log("alterMsg", row); |
|||
this.viewOpen = true; |
|||
}, |
|||
|
|||
// 关闭弹窗 |
|||
closeView() { |
|||
this.proMsg = {}; |
|||
}, |
|||
|
|||
/** 提交按钮 */ |
|||
submitForm() { |
|||
this.$refs["form"].validate((valid) => { |
|||
if (valid) { |
|||
if (this.form.id != null) { |
|||
updateChange(this.form).then((response) => { |
|||
if (response.code === 200) { |
|||
this.msgSuccess("修改成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
} |
|||
}); |
|||
} else { |
|||
this.form.contractNumber = this.contractNumber; |
|||
addChange(this.form).then((response) => { |
|||
if (response.code === 200) { |
|||
this.msgSuccess("新增成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
} |
|||
}); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
/** 删除按钮操作 */ |
|||
handleDelete(row) { |
|||
const ids = row.id || this.ids; |
|||
if (ids) { |
|||
this.$confirm("是否删除选中的数据?", "警告", { |
|||
confirmButtonText: "确定", |
|||
cancelButtonText: "取消", |
|||
type: "warning", |
|||
}) |
|||
.then(function () { |
|||
return delChange(ids); |
|||
}) |
|||
.then(() => { |
|||
this.getList(); |
|||
this.msgSuccess("删除成功"); |
|||
}) |
|||
.catch(function () {}); |
|||
} else { |
|||
this.$message.warning("请选择要删除的数据!!"); |
|||
} |
|||
}, |
|||
/** 导出按钮操作 */ |
|||
handleExport() { |
|||
const queryParams = this.queryParams; |
|||
let message = "是否确认导出所有的数据项?"; |
|||
if (this.ids) { |
|||
message = "是否确认导出选中的数据项?"; |
|||
queryParams.ids = this.ids; |
|||
} |
|||
this.$confirm(message, "警告", { |
|||
confirmButtonText: "确定", |
|||
cancelButtonText: "取消", |
|||
type: "warning", |
|||
}) |
|||
.then(function () { |
|||
return exportChange(queryParams); |
|||
}) |
|||
.then((response) => { |
|||
this.downloadFile(response, true, response.msg); |
|||
// this.download(response.msg); |
|||
}) |
|||
.catch(function () {}); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
<style scoped lang="scss"> |
|||
::v-deep { |
|||
.el-dialog { |
|||
// margin-top: 2vh !important; |
|||
height: 680px; |
|||
overflow-y: auto; |
|||
.content { |
|||
display: flex; |
|||
flex-direction: column; |
|||
align-items: center; |
|||
.margin-top { |
|||
width: 95%; |
|||
border-left: 1px solid #f0f0f0; |
|||
border-right: 1px solid #f0f0f0; |
|||
} |
|||
} |
|||
} |
|||
.el-dialog__title { |
|||
font-weight: 700; |
|||
font-size: 28px; |
|||
// font-size: 24px; |
|||
// line-height: 32px; |
|||
} |
|||
.draLine { |
|||
width: 100%; |
|||
border: 2px solid #000; |
|||
margin: 10px 0 20px 0; |
|||
} |
|||
.infoTitle { |
|||
color: #000; |
|||
font-size: 20px; |
|||
font-weight: 700; |
|||
} |
|||
} |
|||
</style> |
|||
|
@ -1,3 +1,566 @@ |
|||
<template> |
|||
<div>评价问题</div> |
|||
<!-- 1.1.1.1.3.7. 合同评价问题--> |
|||
<div class="app-container"> |
|||
<el-form |
|||
:model="queryParams" |
|||
ref="queryForm" |
|||
:inline="true" |
|||
v-show="showSearch" |
|||
label-width="68px" |
|||
> |
|||
<el-form-item label="合同编号" prop="contractNumber"> |
|||
<el-input |
|||
v-model="queryParams.data.contractNumber" |
|||
placeholder="请输入合同编号" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="问题序号" prop="questionNumber"> |
|||
<el-input |
|||
v-model="queryParams.data.questionNumber" |
|||
placeholder="请输入问题序号" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="问题概述" prop="problemSummary"> |
|||
<el-input |
|||
v-model="queryParams.data.problemSummary" |
|||
placeholder="请输入问题概述" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="问题内容" prop="questionContent"> |
|||
<el-input |
|||
v-model="queryParams.data.questionContent" |
|||
placeholder="请输入问题内容" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="分值" prop="score"> |
|||
<el-input |
|||
v-model="queryParams.data.score" |
|||
placeholder="请输入分值" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="问题分类" prop="questionClassification"> |
|||
<el-input |
|||
v-model="queryParams.data.questionClassification" |
|||
placeholder="请输入问题分类" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="扣分值" prop="deductionValue"> |
|||
<el-input |
|||
v-model="queryParams.data.deductionValue" |
|||
placeholder="请输入扣分值" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="总分" prop="totalScore"> |
|||
<el-input |
|||
v-model="queryParams.data.totalScore" |
|||
placeholder="请输入总分" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="项目编码" prop="proCode"> |
|||
<el-input |
|||
v-model="queryParams.data.proCode" |
|||
placeholder="请输入项目编码" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="PRO_NO" prop="proNo"> |
|||
<el-input |
|||
v-model="queryParams.data.proNo" |
|||
placeholder="请输入PRO_NO" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="创建人" prop="createUid"> |
|||
<el-input |
|||
v-model="queryParams.data.createUid" |
|||
placeholder="请输入创建人" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="创建时间" prop="createTime"> |
|||
<el-date-picker |
|||
clearable |
|||
size="small" |
|||
style="width: 200px" |
|||
v-model="queryParams.createTime" |
|||
type="date" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择创建时间" |
|||
> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="更新人" prop="updateUid"> |
|||
<el-input |
|||
v-model="queryParams.data.updateUid" |
|||
placeholder="请输入更新人" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="更新人" prop="updateTime"> |
|||
<el-date-picker |
|||
clearable |
|||
size="small" |
|||
style="width: 200px" |
|||
v-model="queryParams.updateTime" |
|||
type="date" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择更新人" |
|||
> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="数源部门" prop="owerDept"> |
|||
<el-input |
|||
v-model="queryParams.data.owerDept" |
|||
placeholder="请输入数源部门" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button |
|||
type="cyan" |
|||
icon="el-icon-search" |
|||
size="mini" |
|||
@click="handleQuery" |
|||
>搜索</el-button |
|||
> |
|||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
|||
>重置</el-button |
|||
> |
|||
</el-form-item> |
|||
</el-form> |
|||
|
|||
<el-row :gutter="10" class="mb8"> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="primary" |
|||
icon="el-icon-plus" |
|||
size="mini" |
|||
@click="handleAdd" |
|||
v-hasPermi="['build:issues:add']" |
|||
>新增</el-button |
|||
> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="success" |
|||
icon="el-icon-edit" |
|||
size="mini" |
|||
:disabled="single" |
|||
@click="handleUpdate" |
|||
v-hasPermi="['build:issues:edit']" |
|||
>修改</el-button |
|||
> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="danger" |
|||
icon="el-icon-delete" |
|||
size="mini" |
|||
:disabled="multiple" |
|||
@click="handleDelete" |
|||
v-hasPermi="['build:issues:remove']" |
|||
>删除</el-button |
|||
> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="warning" |
|||
icon="el-icon-download" |
|||
size="mini" |
|||
@click="handleExport" |
|||
v-hasPermi="['build:issues:export']" |
|||
>导出</el-button |
|||
> |
|||
</el-col> |
|||
<right-toolbar |
|||
:showSearch.sync="showSearch" |
|||
@queryTable="getList" |
|||
></right-toolbar> |
|||
</el-row> |
|||
|
|||
<el-table |
|||
v-loading="loading" |
|||
:data="issuesList" |
|||
@selection-change="handleSelectionChange" |
|||
> |
|||
<el-table-column type="selection" width="55" align="center" /> |
|||
<el-table-column label="序号" type="index" width="50" align="center" /> |
|||
|
|||
<el-table-column label="合同编号" align="center" prop="contractNumber" /> |
|||
<el-table-column label="问题序号" align="center" prop="questionNumber" /> |
|||
<el-table-column label="问题概述" align="center" prop="problemSummary" /> |
|||
<el-table-column label="问题内容" align="center" prop="questionContent" /> |
|||
<el-table-column label="分值" align="center" prop="score" /> |
|||
<el-table-column |
|||
label="问题分类" |
|||
align="center" |
|||
prop="questionClassification" |
|||
/> |
|||
<el-table-column label="扣分值" align="center" prop="deductionValue" /> |
|||
<el-table-column label="总分" align="center" prop="totalScore" /> |
|||
<el-table-column label="项目编码" align="center" prop="proCode" /> |
|||
<el-table-column label="PRO_NO" align="center" prop="proNo" /> |
|||
<el-table-column label="创建人" align="center" prop="createUid" /> |
|||
<el-table-column |
|||
label="创建时间" |
|||
align="center" |
|||
prop="createTime" |
|||
width="180" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="更新人" align="center" prop="updateUid" /> |
|||
<el-table-column |
|||
label="更新人" |
|||
align="center" |
|||
prop="updateTime" |
|||
width="180" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<span>{{ parseTime(scope.row.updateTime, "{y}-{m}-{d}") }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="数源部门" align="center" prop="owerDept" /> |
|||
<el-table-column |
|||
label="操作" |
|||
align="center" |
|||
class-name="small-padding fixed-width" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-edit" |
|||
@click="handleUpdate(scope.row)" |
|||
v-hasPermi="['build:issues:edit']" |
|||
>修改</el-button |
|||
> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-delete" |
|||
@click="handleDelete(scope.row)" |
|||
v-hasPermi="['build:issues:remove']" |
|||
>删除</el-button |
|||
> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
<pagination |
|||
v-show="total > 0" |
|||
:total="total" |
|||
:page.sync="queryParams.pageNum" |
|||
:limit.sync="queryParams.pageSize" |
|||
@pagination="getList" |
|||
/> |
|||
|
|||
<!-- 添加或修改合同评价问题对话框 --> |
|||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
|||
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
|||
<el-form-item label="合同编号" prop="contractNumber"> |
|||
<el-input |
|||
v-model="form.contractNumber" |
|||
placeholder="请输入合同编号" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="问题序号" prop="questionNumber"> |
|||
<el-input |
|||
v-model="form.questionNumber" |
|||
placeholder="请输入问题序号" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="问题概述" prop="problemSummary"> |
|||
<el-input |
|||
v-model="form.problemSummary" |
|||
placeholder="请输入问题概述" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="问题内容" prop="questionContent"> |
|||
<el-input |
|||
v-model="form.questionContent" |
|||
placeholder="请输入问题内容" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="分值" prop="score"> |
|||
<el-input v-model="form.score" placeholder="请输入分值" /> |
|||
</el-form-item> |
|||
<el-form-item label="问题分类" prop="questionClassification"> |
|||
<el-input |
|||
v-model="form.questionClassification" |
|||
placeholder="请输入问题分类" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="扣分值" prop="deductionValue"> |
|||
<el-input v-model="form.deductionValue" placeholder="请输入扣分值" /> |
|||
</el-form-item> |
|||
<el-form-item label="总分" prop="totalScore"> |
|||
<el-input v-model="form.totalScore" placeholder="请输入总分" /> |
|||
</el-form-item> |
|||
<el-form-item label="项目编码" prop="proCode"> |
|||
<el-input v-model="form.proCode" placeholder="请输入项目编码" /> |
|||
</el-form-item> |
|||
<el-form-item label="PRO_NO" prop="proNo"> |
|||
<el-input v-model="form.proNo" placeholder="请输入PRO_NO" /> |
|||
</el-form-item> |
|||
<el-form-item label="创建人" prop="createUid"> |
|||
<el-input v-model="form.createUid" placeholder="请输入创建人" /> |
|||
</el-form-item> |
|||
<el-form-item label="更新人" prop="updateUid"> |
|||
<el-input v-model="form.updateUid" placeholder="请输入更新人" /> |
|||
</el-form-item> |
|||
<el-form-item label="数源部门" prop="owerDept"> |
|||
<el-input v-model="form.owerDept" placeholder="请输入数源部门" /> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click="submitForm">确 定</el-button> |
|||
<el-button @click="cancel">取 消</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
listIssues, |
|||
getIssues, |
|||
delIssues, |
|||
addIssues, |
|||
updateIssues, |
|||
exportIssues, |
|||
} from "@/api/build/issues"; |
|||
|
|||
export default { |
|||
name: "Issues", |
|||
data() { |
|||
return { |
|||
// 遮罩层 |
|||
loading: true, |
|||
// 选中数组 |
|||
ids: [], |
|||
// 非单个禁用 |
|||
single: true, |
|||
// 非多个禁用 |
|||
multiple: true, |
|||
// 显示搜索条件 |
|||
showSearch: true, |
|||
// 总条数 |
|||
total: 0, |
|||
// 合同评价问题表格数据 |
|||
issuesList: [], |
|||
// 弹出层标题 |
|||
title: "", |
|||
// 是否显示弹出层 |
|||
open: false, |
|||
// 查询参数 |
|||
queryParams: { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
ids: null, |
|||
data: { |
|||
contractNumber: null, |
|||
questionNumber: null, |
|||
problemSummary: null, |
|||
questionContent: null, |
|||
score: null, |
|||
questionClassification: null, |
|||
deductionValue: null, |
|||
totalScore: null, |
|||
proCode: null, |
|||
proNo: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}, |
|||
}, |
|||
// 表单参数 |
|||
form: {}, |
|||
// 表单校验 |
|||
rules: {}, |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
/** 查询合同评价问题列表 */ |
|||
getList() { |
|||
this.loading = true; |
|||
listIssues(this.queryParams).then((response) => { |
|||
this.issuesList = response.records; |
|||
this.total = response.total; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
// 取消按钮 |
|||
cancel() { |
|||
this.open = false; |
|||
this.reset(); |
|||
}, |
|||
// 表单重置 |
|||
reset() { |
|||
this.form = { |
|||
id: null, |
|||
contractNumber: null, |
|||
questionNumber: null, |
|||
problemSummary: null, |
|||
questionContent: null, |
|||
score: null, |
|||
questionClassification: null, |
|||
deductionValue: null, |
|||
totalScore: null, |
|||
proCode: null, |
|||
proNo: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
// 查询表单重置 |
|||
resetQueryForm() { |
|||
this.queryParams = { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
data: { |
|||
id: null, |
|||
contractNumber: null, |
|||
questionNumber: null, |
|||
problemSummary: null, |
|||
questionContent: null, |
|||
score: null, |
|||
questionClassification: null, |
|||
deductionValue: null, |
|||
totalScore: null, |
|||
proCode: null, |
|||
proNo: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}, |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
/** 搜索按钮操作 */ |
|||
handleQuery() { |
|||
this.queryParams.pageNum = 1; |
|||
this.getList(); |
|||
}, |
|||
/** 重置按钮操作 */ |
|||
resetQuery() { |
|||
this.resetQueryForm(); |
|||
this.handleQuery(); |
|||
}, |
|||
// 多选框选中数据 |
|||
handleSelectionChange(selection) { |
|||
this.ids = selection.map((item) => item.id); |
|||
this.single = selection.length !== 1; |
|||
this.multiple = !selection.length; |
|||
}, |
|||
/** 新增按钮操作 */ |
|||
handleAdd() { |
|||
this.reset(); |
|||
this.open = true; |
|||
this.title = "添加合同评价问题"; |
|||
}, |
|||
/** 修改按钮操作 */ |
|||
handleUpdate(row) { |
|||
this.reset(); |
|||
const id = row.id || this.ids; |
|||
getIssues(id).then((response) => { |
|||
this.form = response.data; |
|||
this.open = true; |
|||
this.title = "修改合同评价问题"; |
|||
}); |
|||
}, |
|||
/** 提交按钮 */ |
|||
submitForm() { |
|||
this.$refs["form"].validate((valid) => { |
|||
if (valid) { |
|||
if (this.form.id != null) { |
|||
updateIssues(this.form).then((response) => { |
|||
if (response.code === 200) { |
|||
this.msgSuccess("修改成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
} |
|||
}); |
|||
} else { |
|||
addIssues(this.form).then((response) => { |
|||
if (response.code === 200) { |
|||
this.msgSuccess("新增成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
} |
|||
}); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
/** 删除按钮操作 */ |
|||
handleDelete(row) { |
|||
const ids = row.id || this.ids; |
|||
if (ids) { |
|||
this.$confirm("是否删除选中的数据?", "警告", { |
|||
confirmButtonText: "确定", |
|||
cancelButtonText: "取消", |
|||
type: "warning", |
|||
}) |
|||
.then(function () { |
|||
return delIssues(ids); |
|||
}) |
|||
.then(() => { |
|||
this.getList(); |
|||
this.msgSuccess("删除成功"); |
|||
}) |
|||
.catch(function () {}); |
|||
} else { |
|||
this.$message.warning("请选择要删除的数据!!"); |
|||
} |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
@ -1,3 +1,564 @@ |
|||
<template> |
|||
<div>审批</div> |
|||
<!-- 合同审批信息--> |
|||
<div class="app-container"> |
|||
<el-form |
|||
:model="queryParams" |
|||
ref="queryForm" |
|||
:inline="true" |
|||
v-show="showSearch" |
|||
label-width="82px" |
|||
> |
|||
<el-form-item label="合同申请人" prop="applicant"> |
|||
<el-input |
|||
v-model="queryParams.data.applicant" |
|||
placeholder="请输入合同申请人" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
><el-button |
|||
type="primary" |
|||
slot="append" |
|||
icon="el-icon-search" |
|||
size="small" |
|||
@click="handleQuery" |
|||
></el-button> |
|||
</el-input> |
|||
</el-form-item> |
|||
|
|||
<el-form-item> |
|||
<!-- <el-button |
|||
type="cyan" |
|||
icon="el-icon-search" |
|||
size="mini" |
|||
@click="handleQuery" |
|||
>搜索</el-button |
|||
> --> |
|||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
|||
>重置</el-button |
|||
> |
|||
</el-form-item> |
|||
</el-form> |
|||
|
|||
<el-row :gutter="10" class="mb8"> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="primary" |
|||
icon="el-icon-plus" |
|||
size="mini" |
|||
@click="handleAdd" |
|||
v-hasPermi="['build:appr:add']" |
|||
>新增</el-button |
|||
> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="success" |
|||
icon="el-icon-edit" |
|||
size="mini" |
|||
:disabled="single" |
|||
@click="handleUpdate" |
|||
v-hasPermi="['build:appr:edit']" |
|||
>修改</el-button |
|||
> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="danger" |
|||
icon="el-icon-delete" |
|||
size="mini" |
|||
:disabled="multiple" |
|||
@click="handleDelete" |
|||
v-hasPermi="['build:appr:remove']" |
|||
>删除</el-button |
|||
> |
|||
</el-col> |
|||
<right-toolbar |
|||
:showSearch.sync="showSearch" |
|||
@queryTable="getList" |
|||
></right-toolbar> |
|||
</el-row> |
|||
|
|||
<el-table |
|||
v-loading="loading" |
|||
:data="apprList" |
|||
@selection-change="handleSelectionChange" |
|||
> |
|||
<el-table-column type="selection" width="55" align="center" fixed /> |
|||
<el-table-column |
|||
label="序号" |
|||
type="index" |
|||
width="50" |
|||
align="center" |
|||
fixed |
|||
/> |
|||
|
|||
<el-table-column |
|||
label="合同申请人" |
|||
align="center" |
|||
prop="applicant" |
|||
min-width="120" |
|||
/> |
|||
<el-table-column |
|||
label="申请时间" |
|||
align="center" |
|||
prop="applyTime" |
|||
min-width="120" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
label="审批类型" |
|||
align="center" |
|||
prop="approvalType" |
|||
min-width="120" |
|||
/> |
|||
<el-table-column |
|||
label="批复人" |
|||
align="center" |
|||
prop="approver" |
|||
min-width="120" |
|||
/> |
|||
<el-table-column |
|||
label="批复意见" |
|||
align="center" |
|||
prop="approvalOpinion" |
|||
min-width="120" |
|||
/> |
|||
<el-table-column |
|||
label="批复时间" |
|||
align="center" |
|||
prop="approvalTime" |
|||
min-width="120" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<span>{{ parseTime(scope.row.approvalTime, "{y}-{m}-{d}") }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
label="操作" |
|||
align="center" |
|||
class-name="small-padding fixed-width" |
|||
min-width="180" |
|||
fixed="right" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-view" |
|||
@click="viewInfo(scope.row)" |
|||
>查看</el-button |
|||
> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-edit" |
|||
@click="handleUpdate(scope.row)" |
|||
v-hasPermi="['build:appr:edit']" |
|||
>修改</el-button |
|||
> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-delete" |
|||
@click="handleDelete(scope.row)" |
|||
v-hasPermi="['build:appr:remove']" |
|||
>删除</el-button |
|||
> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
<pagination |
|||
v-show="total > 0" |
|||
:total="total" |
|||
:page.sync="queryParams.pageNum" |
|||
:limit.sync="queryParams.pageSize" |
|||
@pagination="getList" |
|||
/> |
|||
|
|||
<!-- 添加或修改合同审批信息对话框 --> |
|||
<el-dialog |
|||
:title="title" |
|||
:visible.sync="open" |
|||
width="1200px" |
|||
append-to-body |
|||
> |
|||
<el-form ref="form" :model="form" :rules="rules" label-width="82px"> |
|||
<el-form-item label="合同申请人" prop="applicant"> |
|||
<el-input v-model="form.applicant" placeholder="请输入合同申请人" /> |
|||
</el-form-item> |
|||
<el-form-item label="申请时间" prop="applyTime"> |
|||
<el-date-picker |
|||
clearable |
|||
size="small" |
|||
style="width: 100%" |
|||
v-model="form.applyTime" |
|||
type="date" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择申请时间" |
|||
> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="审批类型" prop="approvalType"> |
|||
<el-select |
|||
v-model="form.approvalType" |
|||
placeholder="请选择审批类型" |
|||
style="width: 100%" |
|||
> |
|||
<el-option label="请选择字典生成" value="" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="批复人" prop="approver"> |
|||
<el-input v-model="form.approver" placeholder="请输入批复人" /> |
|||
</el-form-item> |
|||
<el-form-item label="批复意见" prop="approvalOpinion"> |
|||
<el-input |
|||
v-model="form.approvalOpinion" |
|||
placeholder="请输入批复意见" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="批复时间" prop="approvalTime"> |
|||
<el-date-picker |
|||
clearable |
|||
size="small" |
|||
style="width: 100%" |
|||
v-model="form.approvalTime" |
|||
type="date" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择批复时间" |
|||
> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click="submitForm">确 定</el-button> |
|||
<el-button @click="cancel">取 消</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
<!--查看 --> |
|||
<el-dialog |
|||
:title="viewTitle" |
|||
:visible.sync="viewOpen" |
|||
width="1200px" |
|||
append-to-body |
|||
@close="closeView" |
|||
> |
|||
<!-- 分包合同信息 --> |
|||
<div class="infoTitle">分包合同信息</div> |
|||
<div class="draLine"></div> |
|||
<div class="content"> |
|||
<el-descriptions |
|||
class="margin-top" |
|||
:column="2" |
|||
border |
|||
:labelStyle="{ |
|||
'text-align': 'left', |
|||
width: '180px', |
|||
height: '50px', |
|||
}" |
|||
:contentStyle="{}" |
|||
> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 合同申请人 </template> |
|||
{{ this.examineMsg.applicant }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 申请时间 </template> |
|||
{{ this.examineMsg.applyTime }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 审批类型 </template> |
|||
{{ this.examineMsg.approvalType }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 批复人 </template> |
|||
{{ this.examineMsg.approver }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 批复意见 </template> |
|||
{{ this.examineMsg.approvalOpinion }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> 批复时间 </template> |
|||
{{ this.examineMsg.approvalTime }} |
|||
</el-descriptions-item> |
|||
</el-descriptions> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
listAppr, |
|||
getAppr, |
|||
delAppr, |
|||
addAppr, |
|||
updateAppr, |
|||
exportAppr, |
|||
} from "@/api/build/appr"; |
|||
|
|||
export default { |
|||
name: "Appr", |
|||
props: ["contractNumber"], |
|||
data() { |
|||
return { |
|||
// 遮罩层 |
|||
loading: true, |
|||
// 选中数组 |
|||
ids: [], |
|||
// 非单个禁用 |
|||
single: true, |
|||
// 非多个禁用 |
|||
multiple: true, |
|||
// 显示搜索条件 |
|||
showSearch: true, |
|||
// 总条数 |
|||
total: 0, |
|||
// 合同审批信息表格数据 |
|||
apprList: [], |
|||
// 弹出层标题 |
|||
title: "", |
|||
viewTitle: "", |
|||
// 是否显示弹出层 |
|||
open: false, |
|||
viewOpen: false, |
|||
// 查询参数 |
|||
queryParams: { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
ids: null, |
|||
data: { |
|||
applicant: null, |
|||
applyTime: null, |
|||
approvalType: null, |
|||
approver: null, |
|||
approvalOpinion: null, |
|||
approvalTime: null, |
|||
contractNumber: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}, |
|||
// 排序方式 |
|||
params: { |
|||
// 按哪个字段排序 |
|||
orderBy: "create_time", |
|||
// desc降序,升序asc |
|||
sort: "desc", |
|||
}, |
|||
}, |
|||
// 表单参数 |
|||
form: {}, |
|||
// 表单校验 |
|||
rules: {}, |
|||
examineMsg: {}, |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getList(); |
|||
}, |
|||
// 父组件 利用axios请求得到的值 传送到子组件,要监听,否则初始渲染时为空 |
|||
watch: { |
|||
contractNumber: function (n, o) { |
|||
this.contractNumber = n; |
|||
// console.log("contractNumber", this.contractNumber); |
|||
this.getList(); |
|||
}, |
|||
}, |
|||
methods: { |
|||
/** 查询合同审批信息列表 */ |
|||
getList() { |
|||
this.loading = true; |
|||
if (this.$route.query.baseDataId) { |
|||
this.queryParams.data.contractNumber = this.contractNumber; |
|||
} |
|||
listAppr(this.queryParams).then((response) => { |
|||
this.apprList = response.records; |
|||
this.total = response.total; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
// 取消按钮 |
|||
cancel() { |
|||
this.open = false; |
|||
this.reset(); |
|||
}, |
|||
// 表单重置 |
|||
reset() { |
|||
this.form = { |
|||
id: null, |
|||
applicant: null, |
|||
applyTime: null, |
|||
approvalType: null, |
|||
approver: null, |
|||
approvalOpinion: null, |
|||
approvalTime: null, |
|||
contractNumber: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
// 查询表单重置 |
|||
resetQueryForm() { |
|||
this.queryParams = { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
data: { |
|||
id: null, |
|||
applicant: null, |
|||
applyTime: null, |
|||
approvalType: null, |
|||
approver: null, |
|||
approvalOpinion: null, |
|||
approvalTime: null, |
|||
contractNumber: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}, |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
/** 搜索按钮操作 */ |
|||
handleQuery() { |
|||
this.queryParams.pageNum = 1; |
|||
this.getList(); |
|||
}, |
|||
/** 重置按钮操作 */ |
|||
resetQuery() { |
|||
this.resetQueryForm(); |
|||
this.handleQuery(); |
|||
}, |
|||
// 多选框选中数据 |
|||
handleSelectionChange(selection) { |
|||
this.ids = selection.map((item) => item.id); |
|||
this.single = selection.length !== 1; |
|||
this.multiple = !selection.length; |
|||
}, |
|||
/** 新增按钮操作 */ |
|||
handleAdd() { |
|||
this.reset(); |
|||
this.open = true; |
|||
this.title = "添加合同审批信息"; |
|||
}, |
|||
/** 修改按钮操作 */ |
|||
handleUpdate(row) { |
|||
this.reset(); |
|||
const id = row.id || this.ids; |
|||
getAppr(id).then((response) => { |
|||
this.form = response.data; |
|||
this.open = true; |
|||
this.title = "修改合同审批信息"; |
|||
}); |
|||
}, |
|||
|
|||
// 查看信息 |
|||
viewInfo(row) { |
|||
this.viewTitle = "查看合同审批信息"; |
|||
this.examineMsg = row; |
|||
console.log("subMsg", row); |
|||
this.viewOpen = true; |
|||
}, |
|||
|
|||
// 关闭弹窗 |
|||
closeView() { |
|||
this.proMsg = {}; |
|||
}, |
|||
|
|||
/** 提交按钮 */ |
|||
submitForm() { |
|||
this.$refs["form"].validate((valid) => { |
|||
if (valid) { |
|||
if (this.form.id != null) { |
|||
updateAppr(this.form).then((response) => { |
|||
if (response.code === 200) { |
|||
this.msgSuccess("修改成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
} |
|||
}); |
|||
} else { |
|||
this.form.contractNumber = this.contractNumber; |
|||
addAppr(this.form).then((response) => { |
|||
if (response.code === 200) { |
|||
this.msgSuccess("新增成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
} |
|||
}); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
/** 删除按钮操作 */ |
|||
handleDelete(row) { |
|||
const ids = row.id || this.ids; |
|||
if (ids) { |
|||
this.$confirm("是否删除选中的数据?", "警告", { |
|||
confirmButtonText: "确定", |
|||
cancelButtonText: "取消", |
|||
type: "warning", |
|||
}) |
|||
.then(function () { |
|||
return delAppr(ids); |
|||
}) |
|||
.then(() => { |
|||
this.getList(); |
|||
this.msgSuccess("删除成功"); |
|||
}) |
|||
.catch(function () {}); |
|||
} else { |
|||
this.$message.warning("请选择要删除的数据!!"); |
|||
} |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
<style scoped lang="scss"> |
|||
::v-deep { |
|||
.el-dialog { |
|||
// margin-top: 2vh !important; |
|||
height: 550px; |
|||
overflow-y: auto; |
|||
.content { |
|||
display: flex; |
|||
flex-direction: column; |
|||
align-items: center; |
|||
.margin-top { |
|||
width: 95%; |
|||
border-left: 1px solid #f0f0f0; |
|||
border-right: 1px solid #f0f0f0; |
|||
} |
|||
} |
|||
} |
|||
.el-dialog__title { |
|||
font-weight: 700; |
|||
font-size: 28px; |
|||
// font-size: 24px; |
|||
// line-height: 32px; |
|||
} |
|||
.draLine { |
|||
width: 100%; |
|||
border: 2px solid #000; |
|||
margin: 10px 0 20px 0; |
|||
} |
|||
.infoTitle { |
|||
color: #000; |
|||
font-size: 20px; |
|||
font-weight: 700; |
|||
} |
|||
} |
|||
</style> |
|||
|
@ -1,3 +1,544 @@ |
|||
<template> |
|||
<div>履约评价表</div> |
|||
<!-- 合同履约评价--> |
|||
<div class="app-container"> |
|||
<el-form |
|||
:model="queryParams" |
|||
ref="queryForm" |
|||
:inline="true" |
|||
v-show="showSearch" |
|||
label-width="68px" |
|||
> |
|||
<el-form-item label="阶段性交付成果" prop="phasedPaymentResults"> |
|||
<el-input |
|||
v-model="queryParams.data.phasedPaymentResults" |
|||
placeholder="请输入阶段性交付成果" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="合同编号" prop="contractNumber"> |
|||
<el-input |
|||
v-model="queryParams.data.contractNumber" |
|||
placeholder="请输入合同编号" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="评价描述" prop="evaluationDescription"> |
|||
<el-input |
|||
v-model="queryParams.data.evaluationDescription" |
|||
placeholder="请输入评价描述" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="当前季度评价状态" prop="evaluationStatus"> |
|||
<el-select |
|||
v-model="queryParams.data.evaluationStatus" |
|||
placeholder="请选择当前季度评价状态" |
|||
clearable |
|||
size="small" |
|||
> |
|||
<el-option label="请选择字典生成" value="" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="项目编码" prop="proCode"> |
|||
<el-input |
|||
v-model="queryParams.data.proCode" |
|||
placeholder="请输入项目编码" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="项目编号" prop="proNo"> |
|||
<el-input |
|||
v-model="queryParams.data.proNo" |
|||
placeholder="请输入项目编号" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="创建人" prop="createUid"> |
|||
<el-input |
|||
v-model="queryParams.data.createUid" |
|||
placeholder="请输入创建人" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="创建时间" prop="createTime"> |
|||
<el-date-picker |
|||
clearable |
|||
size="small" |
|||
style="width: 200px" |
|||
v-model="queryParams.createTime" |
|||
type="date" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择创建时间" |
|||
> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="UPDATE_UID" prop="updateUid"> |
|||
<el-input |
|||
v-model="queryParams.data.updateUid" |
|||
placeholder="请输入UPDATE_UID" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="UPDATE_UID" prop="updateTime"> |
|||
<el-date-picker |
|||
clearable |
|||
size="small" |
|||
style="width: 200px" |
|||
v-model="queryParams.updateTime" |
|||
type="date" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择UPDATE_UID" |
|||
> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="数源部门" prop="owerDept"> |
|||
<el-input |
|||
v-model="queryParams.data.owerDept" |
|||
placeholder="请输入数源部门" |
|||
clearable |
|||
size="small" |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button |
|||
type="cyan" |
|||
icon="el-icon-search" |
|||
size="mini" |
|||
@click="handleQuery" |
|||
>搜索</el-button |
|||
> |
|||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
|||
>重置</el-button |
|||
> |
|||
</el-form-item> |
|||
</el-form> |
|||
|
|||
<el-row :gutter="10" class="mb8"> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="primary" |
|||
icon="el-icon-plus" |
|||
size="mini" |
|||
@click="handleAdd" |
|||
v-hasPermi="['build: eval:add']" |
|||
>新增</el-button |
|||
> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="success" |
|||
icon="el-icon-edit" |
|||
size="mini" |
|||
:disabled="single" |
|||
@click="handleUpdate" |
|||
v-hasPermi="['build: eval:edit']" |
|||
>修改</el-button |
|||
> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="danger" |
|||
icon="el-icon-delete" |
|||
size="mini" |
|||
:disabled="multiple" |
|||
@click="handleDelete" |
|||
v-hasPermi="['build: eval:remove']" |
|||
>删除</el-button |
|||
> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button |
|||
type="warning" |
|||
icon="el-icon-download" |
|||
size="mini" |
|||
@click="handleExport" |
|||
v-hasPermi="['build: eval:export']" |
|||
>导出</el-button |
|||
> |
|||
</el-col> |
|||
<right-toolbar |
|||
:showSearch.sync="showSearch" |
|||
@queryTable="getList" |
|||
></right-toolbar> |
|||
</el-row> |
|||
|
|||
<el-table |
|||
v-loading="loading" |
|||
:data="evalList" |
|||
@selection-change="handleSelectionChange" |
|||
> |
|||
<el-table-column type="selection" width="55" align="center" /> |
|||
<el-table-column label="序号" type="index" width="50" align="center" /> |
|||
|
|||
<el-table-column |
|||
label="阶段性交付成果" |
|||
align="center" |
|||
prop="phasedPaymentResults" |
|||
/> |
|||
<el-table-column |
|||
label="交付成果附件" |
|||
align="center" |
|||
prop="deliverablesAttachment" |
|||
/> |
|||
<el-table-column label="合同编号" align="center" prop="contractNumber" /> |
|||
<el-table-column |
|||
label="评价描述" |
|||
align="center" |
|||
prop="evaluationDescription" |
|||
/> |
|||
<el-table-column |
|||
label="当前季度评价状态" |
|||
align="center" |
|||
prop="evaluationStatus" |
|||
/> |
|||
<el-table-column label="项目编码" align="center" prop="proCode" /> |
|||
<el-table-column label="项目编号" align="center" prop="proNo" /> |
|||
<el-table-column label="创建人" align="center" prop="createUid" /> |
|||
<el-table-column |
|||
label="创建时间" |
|||
align="center" |
|||
prop="createTime" |
|||
width="180" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="UPDATE_UID" align="center" prop="updateUid" /> |
|||
<el-table-column |
|||
label="UPDATE_UID" |
|||
align="center" |
|||
prop="updateTime" |
|||
width="180" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<span>{{ parseTime(scope.row.updateTime, "{y}-{m}-{d}") }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="数源部门" align="center" prop="owerDept" /> |
|||
<el-table-column |
|||
label="操作" |
|||
align="center" |
|||
class-name="small-padding fixed-width" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-edit" |
|||
@click="handleUpdate(scope.row)" |
|||
v-hasPermi="['build: eval:edit']" |
|||
>修改</el-button |
|||
> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-delete" |
|||
@click="handleDelete(scope.row)" |
|||
v-hasPermi="['build: eval:remove']" |
|||
>删除</el-button |
|||
> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
<pagination |
|||
v-show="total > 0" |
|||
:total="total" |
|||
:page.sync="queryParams.pageNum" |
|||
:limit.sync="queryParams.pageSize" |
|||
@pagination="getList" |
|||
/> |
|||
|
|||
<!-- 添加或修改合同履约评价对话框 --> |
|||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> |
|||
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
|||
<el-form-item label="阶段性交付成果" prop="phasedPaymentResults"> |
|||
<el-input |
|||
v-model="form.phasedPaymentResults" |
|||
placeholder="请输入阶段性交付成果" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="交付成果附件" prop="deliverablesAttachment"> |
|||
<el-input |
|||
v-model="form.deliverablesAttachment" |
|||
type="textarea" |
|||
placeholder="请输入内容" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="合同编号" prop="contractNumber"> |
|||
<el-input |
|||
v-model="form.contractNumber" |
|||
placeholder="请输入合同编号" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="评价描述" prop="evaluationDescription"> |
|||
<el-input |
|||
v-model="form.evaluationDescription" |
|||
placeholder="请输入评价描述" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="当前季度评价状态"> |
|||
<el-radio-group v-model="form.evaluationStatus"> |
|||
<el-radio label="1">请选择字典生成</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="项目编码" prop="proCode"> |
|||
<el-input v-model="form.proCode" placeholder="请输入项目编码" /> |
|||
</el-form-item> |
|||
<el-form-item label="项目编号" prop="proNo"> |
|||
<el-input v-model="form.proNo" placeholder="请输入项目编号" /> |
|||
</el-form-item> |
|||
<el-form-item label="创建人" prop="createUid"> |
|||
<el-input v-model="form.createUid" placeholder="请输入创建人" /> |
|||
</el-form-item> |
|||
<el-form-item label="UPDATE_UID" prop="updateUid"> |
|||
<el-input v-model="form.updateUid" placeholder="请输入UPDATE_UID" /> |
|||
</el-form-item> |
|||
<el-form-item label="数源部门" prop="owerDept"> |
|||
<el-input v-model="form.owerDept" placeholder="请输入数源部门" /> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="primary" @click="submitForm">确 定</el-button> |
|||
<el-button @click="cancel">取 消</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
listeval, |
|||
geteval, |
|||
deleval, |
|||
addeval, |
|||
updateeval, |
|||
exporteval, |
|||
} from "@/api/build/eval"; |
|||
|
|||
export default { |
|||
name: " eval", |
|||
data() { |
|||
return { |
|||
// 遮罩层 |
|||
loading: true, |
|||
// 选中数组 |
|||
ids: [], |
|||
// 非单个禁用 |
|||
single: true, |
|||
// 非多个禁用 |
|||
multiple: true, |
|||
// 显示搜索条件 |
|||
showSearch: true, |
|||
// 总条数 |
|||
total: 0, |
|||
// 合同履约评价表格数据 |
|||
evalList: [], |
|||
// 弹出层标题 |
|||
title: "", |
|||
// 是否显示弹出层 |
|||
open: false, |
|||
// 查询参数 |
|||
queryParams: { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
ids: null, |
|||
data: { |
|||
phasedPaymentResults: null, |
|||
deliverablesAttachment: null, |
|||
contractNumber: null, |
|||
evaluationDescription: null, |
|||
evaluationStatus: null, |
|||
proCode: null, |
|||
proNo: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}, |
|||
}, |
|||
// 表单参数 |
|||
form: {}, |
|||
// 表单校验 |
|||
rules: {}, |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
/** 查询合同履约评价列表 */ |
|||
getList() { |
|||
this.loading = true; |
|||
listeval(this.queryParams).then((response) => { |
|||
this.evalList = response.records; |
|||
this.total = response.total; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
// 取消按钮 |
|||
cancel() { |
|||
this.open = false; |
|||
this.reset(); |
|||
}, |
|||
// 表单重置 |
|||
reset() { |
|||
this.form = { |
|||
id: null, |
|||
phasedPaymentResults: null, |
|||
deliverablesAttachment: null, |
|||
contractNumber: null, |
|||
evaluationDescription: null, |
|||
evaluationStatus: "0", |
|||
proCode: null, |
|||
proNo: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
// 查询表单重置 |
|||
resetQueryForm() { |
|||
this.queryParams = { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
data: { |
|||
id: null, |
|||
phasedPaymentResults: null, |
|||
deliverablesAttachment: null, |
|||
contractNumber: null, |
|||
evaluationDescription: null, |
|||
evaluationStatus: "0", |
|||
proCode: null, |
|||
proNo: null, |
|||
createUid: null, |
|||
createTime: null, |
|||
updateUid: null, |
|||
updateTime: null, |
|||
owerDept: null, |
|||
}, |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
/** 搜索按钮操作 */ |
|||
handleQuery() { |
|||
this.queryParams.pageNum = 1; |
|||
this.getList(); |
|||
}, |
|||
/** 重置按钮操作 */ |
|||
resetQuery() { |
|||
this.resetQueryForm(); |
|||
this.handleQuery(); |
|||
}, |
|||
// 多选框选中数据 |
|||
handleSelectionChange(selection) { |
|||
this.ids = selection.map((item) => item.id); |
|||
this.single = selection.length !== 1; |
|||
this.multiple = !selection.length; |
|||
}, |
|||
/** 新增按钮操作 */ |
|||
handleAdd() { |
|||
this.reset(); |
|||
this.open = true; |
|||
this.title = "添加合同履约评价"; |
|||
}, |
|||
/** 修改按钮操作 */ |
|||
handleUpdate(row) { |
|||
this.reset(); |
|||
const id = row.id || this.ids; |
|||
geteval(id).then((response) => { |
|||
this.form = response.data; |
|||
this.open = true; |
|||
this.title = "修改合同履约评价"; |
|||
}); |
|||
}, |
|||
/** 提交按钮 */ |
|||
submitForm() { |
|||
this.$refs["form"].validate((valid) => { |
|||
if (valid) { |
|||
if (this.form.id != null) { |
|||
updateeval(this.form).then((response) => { |
|||
if (response.code === 200) { |
|||
this.msgSuccess("修改成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
} |
|||
}); |
|||
} else { |
|||
addeval(this.form).then((response) => { |
|||
if (response.code === 200) { |
|||
this.msgSuccess("新增成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
} |
|||
}); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
/** 删除按钮操作 */ |
|||
handleDelete(row) { |
|||
const ids = row.id || this.ids; |
|||
if (ids) { |
|||
this.$confirm("是否删除选中的数据?", "警告", { |
|||
confirmButtonText: "确定", |
|||
cancelButtonText: "取消", |
|||
type: "warning", |
|||
}) |
|||
.then(function () { |
|||
return deleval(ids); |
|||
}) |
|||
.then(() => { |
|||
this.getList(); |
|||
this.msgSuccess("删除成功"); |
|||
}) |
|||
.catch(function () {}); |
|||
} else { |
|||
this.$message.warning("请选择要删除的数据!!"); |
|||
} |
|||
}, |
|||
/** 导出按钮操作 */ |
|||
handleExport() { |
|||
const queryParams = this.queryParams; |
|||
let message = "是否确认导出所有的数据项?"; |
|||
if (this.ids) { |
|||
message = "是否确认导出选中的数据项?"; |
|||
queryParams.ids = this.ids; |
|||
} |
|||
this.$confirm(message, "警告", { |
|||
confirmButtonText: "确定", |
|||
cancelButtonText: "取消", |
|||
type: "warning", |
|||
}) |
|||
.then(function () { |
|||
return exporteval(queryParams); |
|||
}) |
|||
.then((response) => { |
|||
this.downloadFile(response, true, response.msg); |
|||
// this.download(response.msg); |
|||
}) |
|||
.catch(function () {}); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
Loading…
Reference in new issue