fix:协议管理页面编辑按钮失效修改

This commit is contained in:
jackal 2024-04-10 16:01:12 +08:00
parent ab8bd22d41
commit c58b78a130
1 changed files with 633 additions and 728 deletions

View File

@ -30,11 +30,7 @@
/>
</el-form-item>
<el-form-item label="往来单位" prop="unitId">
<el-select
v-model="queryParams.unitId"
placeholder="请选择往来单位"
clearable
>
<el-select v-model="queryParams.unitId" placeholder="请选择往来单位" clearable>
<el-option
v-for="(item, i) in unitList"
:key="i"
@ -44,11 +40,7 @@
</el-select>
</el-form-item>
<el-form-item label="工程名称" prop="projectId">
<el-select
v-model="queryParams.projectId"
placeholder="请选择工程名称"
clearable
>
<el-select v-model="queryParams.projectId" placeholder="请选择工程名称" clearable>
<el-option
v-for="(item, i) in projectList"
:key="i"
@ -58,33 +50,15 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查询</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery"
>重置</el-button
>
<el-button type="primary" 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>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新建</el-button
>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新建</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
@ -110,33 +84,14 @@
<!-- >删除</el-button>-->
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button
>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="agreementList"
@selection-change="handleSelectionChange"
>
<el-table v-loading="loading" :data="agreementList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column
label="序号"
align="center"
type="index"
width="60"
/>
<el-table-column label="序号" align="center" type="index" width="60" />
<el-table-column
label="协议编号"
align="center"
@ -149,24 +104,9 @@
prop="contractCode"
:show-overflow-tooltip="true"
/>
<el-table-column
label="附件图片"
align="center"
prop="fileName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="签订日期"
align="center"
prop="signTime"
:show-overflow-tooltip="true"
/>
<el-table-column
label="往来单位"
align="center"
prop="unitName"
:show-overflow-tooltip="true"
/>
<el-table-column label="附件图片" align="center" prop="fileName" :show-overflow-tooltip="true" />
<el-table-column label="签订日期" align="center" prop="signTime" :show-overflow-tooltip="true" />
<el-table-column label="往来单位" align="center" prop="unitName" :show-overflow-tooltip="true" />
<el-table-column
label="工程名称"
align="center"
@ -185,45 +125,23 @@
prop="leaseDay"
:show-overflow-tooltip="true"
/>
<el-table-column
label="授权人"
align="center"
prop="authPerson"
:show-overflow-tooltip="true"
/>
<el-table-column
label="联系电话 "
align="center"
prop="phone"
:show-overflow-tooltip="true"
/>
<el-table-column
label="备注"
align="center"
prop="remark"
:show-overflow-tooltip="true"
/>
<el-table-column
label="操作"
align="center"
width="200"
class-name="small-padding fixed-width"
>
<el-table-column label="授权人" align="center" prop="authPerson" :show-overflow-tooltip="true" />
<el-table-column label="联系电话 " align="center" prop="phone" :show-overflow-tooltip="true" />
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>编辑</el-button
>
>编辑</el-button>
<el-button
size="mini"
type="danger"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button
>
>删除</el-button>
</template>
</el-table-column>
</el-table>
@ -244,30 +162,16 @@
append-to-body
:close-on-click-modal="false"
>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="120px"
>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item label="合同编号" prop="contractCode">
<el-input
maxlength="50"
v-model="form.contractCode"
placeholder="合同编号"
/>
<el-input maxlength="50" v-model="form.contractCode" placeholder="合同编号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="往来单位" prop="unitId">
<el-select
v-model="form.unitId"
filterable
placeholder="请选择往来单位"
style="width: 100%"
>
<el-select v-model="form.unitId" filterable placeholder="请选择往来单位" style="width: 100%">
<el-option
v-for="item in unitList"
:key="item.unitId"
@ -355,11 +259,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="授权人" prop="authPerson">
<el-input
maxlength="50"
v-model="form.authPerson"
placeholder="请输入授权人"
/>
<el-input maxlength="50" v-model="form.authPerson" placeholder="请输入授权人" />
</el-form-item>
</el-col>
</el-row>
@ -367,20 +267,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="联系方式" prop="phone">
<el-input
v-model="form.phone"
placeholder="请输入联系方式"
/>
<el-input maxlength="50" v-model="form.phone" placeholder="请输入联系方式" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
maxlength="200"
/>
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" maxlength="200" />
</el-form-item>
</el-col>
</el-row>
@ -389,8 +281,7 @@
<el-col :span="20">
<el-form-item label="合同照片" prop="fileName">
<el-upload
:http-request="
(obj) => imgUpLoad(obj, 'fileUrl')
:http-request="(obj) => imgUpLoad(obj, 'fileUrl')
"
action="#"
:limit="5"
@ -401,10 +292,9 @@
:on-success="handleAvatarSuccess"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:on-exceed="handleExceed"
>
<i
class="el-icon-plus avatar-uploader-icon"
></i>
<i class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
</el-col>
@ -417,7 +307,7 @@
</el-dialog>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" height="650px" :src="dialogImageUrl" alt="" />
<img width="100%" height="650px" :src="dialogImageUrl" alt />
</el-dialog>
</div>
</template>
@ -430,13 +320,13 @@
updateAgreement,
removeAgreement,
getUnitList,
getProjectList,
} from '@/api/claimAndRefund/receive'
import { imgUpLoad, fileUpLoad } from '@/api/system/upload'
getProjectList
} from "@/api/claimAndRefund/receive";
import { imgUpLoad, fileUpLoad } from "@/api/system/upload";
export default {
name: 'Agreement',
dicts: ['sys_normal_disable'],
name: "Agreement",
dicts: ["sys_normal_disable"],
data() {
return {
//
@ -459,11 +349,11 @@
agreementList: [],
protocolList: [
{ protocolId: 1, protocolName: '内部单位' },
{ protocolId: 2, protocolName: '外部单位' },
{ protocolId: 1, protocolName: "内部单位" },
{ protocolId: 2, protocolName: "外部单位" }
],
//
title: '',
title: "",
//
open: false,
//
@ -473,104 +363,104 @@
pageNum: 1,
pageSize: 10,
keyWord: undefined,
agreementCode: '',
projectId: '',
unitId: '',
agreementCode: "",
projectId: "",
unitId: ""
},
//
form: {},
//
uploadHeader: process.env.VUE_APP_BASE_API,
imageUrl: '',
imageName: '',
imageUrl: "",
imageName: "",
fileList: [],
checkUrlList: [],
checkUrlNameList: [],
dialogImageUrl: '',
dialogImageUrl: "",
dialogVisible: false,
//
// uploadUrl:'http://192.168.0.14:21624/system',//线+system
// uploadUrl:'http://112.29.103.165:21624/system',//线+system
uploadUrl: process.env.VUE_APP_BASE_API + '/system', //
uploadUrl: process.env.VUE_APP_BASE_API + "/system", //
//
rules: {
contractCode: [
{
required: true,
message: '合同编号不能为空',
trigger: 'blur',
},
message: "合同编号不能为空",
trigger: "blur"
}
],
signTime: [
{
required: true,
message: '签订日期不能为空',
trigger: 'blur',
},
message: "签订日期不能为空",
trigger: "blur"
}
],
unitId: [
{
required: true,
message: '往来单位不能为空',
trigger: 'blur',
},
message: "往来单位不能为空",
trigger: "blur"
}
],
projectId: [
{
required: true,
message: '工程名称不能为空',
trigger: 'blur',
},
],
message: "工程名称不能为空",
trigger: "blur"
}
]
},
peopleOpen: false,
noticeOpen: false,
nform: {
notice: '',
notice: ""
},
nrules: {
notice: [
{
required: true,
message: '通知内容不能为空',
trigger: 'blur',
},
],
},
deptName: undefined,
message: "通知内容不能为空",
trigger: "blur"
}
]
},
deptName: undefined
};
},
created() {
this.getList()
this.getUnitList()
this.getProjectList()
this.getList();
this.getUnitList();
this.getProjectList();
},
methods: {
// ,getUnitList, getProjectList
getUnitList() {
getUnitList().then((response) => {
this.unitList = response.data
})
getUnitList().then(response => {
this.unitList = response.data;
});
},
getProjectList() {
getProjectList().then((response) => {
this.projectList = response.data
})
getProjectList().then(response => {
this.projectList = response.data;
});
},
/** 查询字典类型列表 */
getList() {
this.loading = true
getAgreementList(this.queryParams).then((response) => {
this.agreementList = response.rows
this.total = response.total
this.loading = false
})
this.loading = true;
getAgreementList(this.queryParams).then(response => {
this.agreementList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false
this.reset()
this.open = false;
this.reset();
},
//
reset() {
@ -580,167 +470,182 @@
dictType: undefined,
fileUrl: undefined,
fileName: undefined,
status: '0',
remark: undefined,
}
this.fileList = []
this.resetForm('form')
status: "0",
remark: undefined
};
this.fileList = [];
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.getList()
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
// this.dateRange = []
this.resetForm('queryForm')
this.queryParams.pageNum = 1
this.queryParams.pageSize = 10
this.getList()
this.resetForm("queryForm");
this.queryParams.pageNum = 1;
this.queryParams.pageSize = 10;
this.getList();
// this.handleQuery()
},
handleNotice() {
this.noticeOpen = true
this.noticeOpen = true;
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.fileList = []
this.checkUrlList = []
this.checkUrlNameList = []
this.open = true
this.title = '新建'
this.reset();
this.fileList = [];
this.checkUrlList = [];
this.checkUrlNameList = [];
this.open = true;
this.title = "新建";
},
//
imgUpLoad(param, name, index) {
// console.log(param,'image')
param.type = 'ma'
param.type = "ma";
imgUpLoad(param)
.then((res) => {
.then(res => {
if (res.code == 200) {
this.checkUrlList.push(res.data.fileUrl)
this.checkUrlNameList.push(res.data.fileName)
this.checkUrlList.push(res.data.fileUrl);
this.checkUrlNameList.push(res.data.fileName);
} else {
// this.$msgError(res.msg)
this.$modal.msgError(res.msg)
this.$modal.msgError(res.msg);
}
})
.catch((error) => {
.catch(error => {
// this.$msgError(error)
this.$modal.msgError(error)
})
this.$modal.msgError(error);
});
},
handleAvatarSuccess(res, file) {
console.log('success')
console.log("success");
},
handleExceed(files, fileList) {
this.$message.warning("最多只可以上传五张图片");
},
handleRemove(file, fileList) {
let sum = 0
let sum = 0;
this.checkUrlNameList.forEach((item, index) => {
if (item == file.name) {
sum = index
sum = index;
}
})
this.checkUrlNameList.splice(sum, 1)
this.checkUrlList.splice(sum, 1)
});
this.checkUrlNameList.splice(sum, 1);
this.checkUrlList.splice(sum, 1);
},
//
handlePictureCardPreview(file) {
console.log(file)
this.dialogImageUrl = file.url
this.dialogVisible = true
console.log(file);
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
//
openImg(url) {
this.dialogImageUrl = this.uploadUrl + url
this.dialogVisible = true
this.dialogImageUrl = this.uploadUrl + url;
this.dialogVisible = true;
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.agreementId)
this.single = selection.length != 1
this.multiple = !selection.length
this.ids = selection.map(item => item.agreementId);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
this.reset();
// const agreementId = row.agreementId
let param = {
agreementId: row.agreementId,
agreementId: row.agreementId
};
getAgreementInfoId(param).then(response => {
this.form = response.data;
this.fileList = [];
this.checkUrlList = [];
this.checkUrlNameList = [];
if (
response.data &&
typeof response.data.fileUrl === "string" &&
typeof response.data.fileName === "string"
) {
try {
let [urlArr, nameArr] = [
response.data.fileUrl,
response.data.fileName
].map(str => str.split(","));
if (urlArr.length !== nameArr.length) {
return;
}
getAgreementInfoId(param).then((response) => {
this.form = response.data
this.fileList = []
this.checkUrlList = []
this.checkUrlNameList = []
if (response.data.fileUrl != '') {
let urlArr = response.data.fileUrl.split(',')
let nameArr = response.data.fileName.split(',')
for (let i = 0; i < urlArr.length; i++) {
let obj = {
let fileList = urlArr.map((url, i) => ({
name: nameArr[i],
url: this.uploadUrl + urlArr[i],
}
this.fileList.push(obj)
this.checkUrlList.push(urlArr[i])
this.checkUrlNameList.push(nameArr[i])
url: `${this.uploadUrl}${url}`
}));
this.fileList = fileList;
this.checkUrlList = urlArr;
this.checkUrlNameList = nameArr;
} catch (error) {
console.error("处理合同照片时发生错误:", error);
}
}
this.open = true
this.title = '编辑'
})
this.open = true;
this.title = "编辑";
});
},
/** 提交按钮 */
submitForm: function() {
this.form.fileUrl = this.checkUrlList.join(',')
this.form.fileName = this.checkUrlNameList.join(',')
this.$refs['form'].validate((valid) => {
this.form.fileUrl = this.checkUrlList.join(",");
this.form.fileName = this.checkUrlNameList.join(",");
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.agreementId != undefined) {
updateAgreement(this.form).then((response) => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
updateAgreement(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAgreement(this.form).then((response) => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
addAgreement(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
})
});
},
/** 删除按钮操作 */
handleDelete(row) {
// const agreementId = row.agreementId;
let param = {
agreementId: row.agreementId + '',
}
agreementId: row.agreementId + ""
};
this.$modal
.confirm('是否确认删除该数据项?')
.confirm("是否确认删除该数据项?")
.then(function() {
return removeAgreement(param)
return removeAgreement(param);
})
.then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download(
'material/agreementInfo/export',
"material/agreementInfo/export",
{
...this.queryParams,
},
`协议_${new Date().getTime()}.xlsx`,
)
},
...this.queryParams
},
`协议_${new Date().getTime()}.xlsx`
);
}
}
};
</script>
<style lang="scss" scoped>
::v-deep.el-table .fixed-width .el-button--mini {