前端调试数据存在,后端使用postman测试也问题数据也能修改,两个一起测就出错,然后后端显示的是数据为 null,自己测了了老半天还是没发解决,希望各位指点迷津
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>修改</title>
<link rel="stylesheet" href="../../lib/element-ui/theme-chalk/index.css">
<link rel="stylesheet" href="../../lib/vxe-table/index.css">
<link rel="stylesheet" href="../../lib/vxe-table-plugin-element/style.css">
<link rel="stylesheet" href="../../lib/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../../static/css/skins.css">
<script type="text/javascript" src="../../lib/vue/vue.js"></script>
<script type="text/javascript" src="../../lib/xe-utils/xe-utils.js"></script>
<script type="text/javascript" src="../../lib/element-ui/index.js"></script>
<script type="text/javascript" src="../../lib/vxe-table/index.js"></script>
<script type="text/javascript" src="../../lib/vxe-table-plugin-element/index.js"></script>
<script type="text/javascript" src="../../lib/xlsx/xlsx.full.min.js"></script>
<script type="text/javascript" src="../../lib/vxe-table-plugin-export-xlsx/index.min.js"></script>
<script type="text/javascript" src="../../lib/xe-ajax/xe-ajax.js"></script>
<script type="text/javascript" src="../../static/js/jquery.min.js"></script>
<script type="text/javascript" src="../../static/js/SM2/crypto-js.js"></script>
<script type="text/javascript" src="../../static/js/SM2/sm2.js"></script>
<script type="text/javascript" src="../../static/js/webApi.js"></script>
<script type="text/javascript" src="../../static/js/tool.js"></script>
<script type="text/javascript" src="../../static/js/skinchange.js"></script>
<style type="text/css">
/*
找到html标签、body标签,和挂载的标签
都给他们统一设置样式
*/
html,
body,
#app,
.el-container {
/*设置内部填充为0,几个布局元素之间没有间距*/
padding: 0px;
/*外部间距也是如此设置*/
margin: 0px;
/*统一设置高度为100%*/
height: 100%;
}
.el-main {
padding: 4px;
}
[v-cloak] {
display: none;
}
.model_title {
color: red;
font-size: 16px;
/* text-align: center; */
}
.flex-container {
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
width: 100%;
height: 100%;
}
.flex-item {
background-color: #F5F5F5;
width: 150px;
height: 50px;
margin: 10px 10px 10px 0;
text-align: center;
/* padding: 5px; */
}
.file_div {
position: relative;
width: 150px;
height: 50px;
}
.mask {
position: absolute;
top: 0;
left: 0;
width: 150px;
height: 50px;
background: rgba(101, 101, 101, 0.6);
color: #ffffff;
opacity: 0;
}
.mask i {
line-height: 50px;
text-align: right;
margin: 0 5px;
}
.file_div a:hover .mask {
opacity: 1;
}
</style>
</head>
<body class="skin-blue">
<el-container id="app">
<el-form ref="form1" :model="form" label-width="150px">
<el-form-item label="主键" prop="id" required>
<el-input v-model="form.id"></el-input>
</el-form-item>
<el-form-item label="争议调整情况" prop="zytzqk">
<el-input v-model="form.zytzqk" :style="{background: '#f5f7fa'}"></el-input>
</el-form-item>
<!-- 其他字段保持不变... -->
<el-form-item style="text-align: right;">
<el-button @click="quxiao()">取 消</el-button>
<el-button type="primary" @click="onSubmit('form1')">确 定</el-button>
</el-form-item>
</el-form>
<script type="text/javascript">
window.onload = function() {
var main = {
data() {
return {
dialogVisible: true,
showImportModel: false,
headers: {
token: ''
},
form: {
id:'',
time: '',
year: '',
yys: '',
ds: '',
orgId: '',
zzmc: '',
zzbm: '',
yysx: '',
czfy: '',
lsdkfy: '',
xqqrbh: '',
ddzt: '',
qfjebhs: '',
qfjehs: '',
yydl: '',
qfyyttww: '',
qfyyttyw: '',
zzyy: '',
bz: '',
zstj57: '',
zstj8: '',
zstj9: '',
zstj10: '',
zstj11: '',
zstj12: '',
sycybhs: '',
sycyhs: '',
fylx: '',
zyyysm: '',
sfyjj: '',
zp: '',
glqy: '',
qx: '',
rn1: '',
zstj202501: '',
zstj202502: '',
sfqyyy: '',
zstj202503: '',
yydlzb:'',
ywlx: '',
cyfl: '',
qbfyx: '',
dxfkdlmx: '',
tfgdxdsj: '',
ltfkdlmx: '',
xdsj: '',
zytzqk: ''
},
submitLoading: false,
// 新增合同查询相关数据
showContractFields: false,
contractDialogVisible: false,
contractSearchForm: {
htbh: ''
},
contractList: [],
contractPage: {
currentPage: 1,
pageSize: 10,
total: 0
}
};
},
mounted() {
},
created() {
this.getToken();
this.selectone();
},
methods: {
selectone() {
//获取勾选数据的全部字段值
const paramsStr = window.location.search
const param = new URLSearchParams(paramsStr)
var id = param.get('formData')
var idsList = JSON.parse(id)
var id = idsList.ID
console.log('id' + id)
let params = {
'id': id + ""
}
let that = this
webApiMsapi(`/fack-tdc-crm-zgtz/getDateById`, 'get', params,
function(data) {
if (data.code == 200) {
// 确保数据正确映射到form对象
that.form = {
...that.form, // 保留默认值
...data.data // 用后端数据覆盖
};
console.log('that.form', that.form)
// // 格式化日期字段
// if (that.form.xqhtssrq) {
// that.form.xqhtssrq = that.formatDate(that.form.xqhtssrq);
// }
// if (that.form.xqhtsxrq) {
// that.form.xqhtsxrq = that.formatDate(that.form.xqhtsxrq);
// }
// if (that.form.yjxqrq) {
// that.form.yjxqrq = that.formatDate(that.form.yjxqrq);
// }
// // 初始化显示状态
// that.handleContractStatusChange(data.data.dqxyzt);
console.log('表单数据已更新:', that.form);
} else {
that.$message({
message: data.msg,
type: 'error',
center: true
});
}
},
function(error) {
console.error('查询失败:', error);
that.$message({
message: '获取数据失败,请刷新页面',
type: 'error',
center: true
});
})
},
onSubmit(form1) {
console.log("这里执行提交方法")
this.$refs[form1].validate((valid) => {
if (valid) {
// const paramsStr = window.location.search
// const param = new URLSearchParams(paramsStr)
// var id = param.get('formData')
// console.log("解析后的id的值为:" + id)
// var idsList = JSON.parse(id)
// var id = idsList.ID
// console.log("解析后的id的值为:" + id)
let self = this;
webApiMsapi(`/fack-tdc-crm-zgtz/updatebyid`, 'post', self.form,
function(data) {
if (data.code == 200) {
window.parent.postMessage({
params: {
visible: false,
message: data.msg,
success: true
}
})
} else {
self.$message({ // 改为 self
message: data.msg,
type: 'error',
center: true
});
self.submitLoading = false; // 改为 self
}
})
this.importClose();
//this.dialogVisible = false
} else {
console.log('error submit!!');
return false;
}
});
},
quxiao() {
window.parent.postMessage({
params: {
visible: false,
message: '已关闭',
success: true
}
})
this.submitLoading = false;
this.importClose();
},
importClose() {
this.showImportModel = false;
this.form = [];
},
getToken() {
let that = this;
let str = document.cookie;
let arr = str.split(';');
for (let i in arr) {
let a = arr[i].split('=')
if (a[0].includes("token")) {
that.headers.token = a[1];
}
}
},
// 处理续约状态变化
handleContractStatusChange(value) {
this.showContractFields = value === '合同签订';
if (!this.showContractFields) {
// 隐藏时清空合同相关字段
this.resetContractFields();
}
},
// 重置合同字段
resetContractFields() {
this.form.htbh = '';
this.form.htmc = '';
this.form.xthy = '';
this.form.hte = '';
this.form.fwqsrq = '';
this.form.fwzzrq = '';
},
// 打开合同查询弹窗
openContractSearch() {
if (!this.form.htbh) {
this.$message({
message: '合同编号不能为空',
type: 'warning',
center: true
});
return;
}
this.contractSearchForm.htbh = this.form.htbh;
this.searchContracts();
this.contractDialogVisible = true;
},
// 搜索合同
searchContracts() {
if (!this.contractSearchForm.htbh) {
this.$message({
message: '请输入合同编号',
type: 'warning',
center: true
});
return;
}
let that = this;
let params = {
htbh: this.contractSearchForm.htbh,
pageNum: this.contractPage.currentPage,
pageSize: this.contractPage.pageSize
};
webApiMsapi(`/ddm-htzl-htcz/getHtczByHtbh`, 'get', params,
function(data) {
if (data.code == 200) {
that.contractList = data.data.list || [];
that.contractPage.total = data.data.total || 0;
console.log('data.data.list', data.data.list)
if (that.contractList.length === 0) {
that.$message({
message: '未找到匹配的合同',
type: 'info',
center: true
});
}
} else {
that.$message({
message: data.msg,
type: 'error',
center: true
});
}
},
function() {
that.$message({
message: '查询失败,请重试',
type: 'error',
center: true
});
}
);
},
// 重置搜索
resetContractSearch() {
this.contractSearchForm.htbh = '';
this.contractPage.currentPage = 1;
this.contractList = [];
},
// 选择合同
selectContract(contract) {
this.form.htbh = contract.htbg;
this.form.htmc = contract.htbt;
this.form.hte = contract.htbhsje;
this.form.xthy = contract.sshy;
this.contractDialogVisible = false;
},
// 分页相关
handleSizeChange(size) {
this.contractPage.pageSize = size;
this.searchContracts();
},
handleCurrentChange(page) {
this.contractPage.currentPage = page;
this.searchContracts();
}
}
}
var vue = Vue.extend(main);
new vue().$mount('#app');
}
</script>
</html>
@RestController
@RequestMapping("/fack-tdc-crm-zgtz")
public class FackTDcCrmZgtzController {
@Autowired
private IFackTDcCrmZgtzService fackTDcCrmZgtzService;
@Autowired
private RedisDao redisDao;
@GetMapping("/getDateById")
public Result getDateById(String id, HttpServletRequest request){
System.out.println(id);
System.out.println("点击获取的id值为"+id);
Result result = new Result();
String token = request.getHeader("token");
if (!redisDao.existsKey(token)) {
result.setCode(-1);
result.setMsg("登录超时");
return result;
}
result.setData(fackTDcCrmZgtzService.selectById(id));
result.setMsg("查询成功");
result.setCode(200);
return result;
}
@PostMapping("/updatebyid")
public Result updateData(@RequestBody FackTDcCrmZgtz zgtzDto, HttpServletRequest request) {
System.out.println("点击修改的id值为"+zgtzDto.getId());
Result result = new Result();
String token = request.getHeader("token");
FackTDcCrmZgtz fackTDcCrmZgtz2 = new FackTDcCrmZgtz();
fackTDcCrmZgtz2.setId(zgtzDto.getId());
fackTDcCrmZgtz2.setZytzqk(zgtzDto.getZytzqk());
// 验证登录状态
if (!redisDao.existsKey(token)) {
result.setCode(-1);
result.setMsg("登录超时");
return result;
}
try {
if (zgtzDto==null) {
result.setCode(-1);
result.setMsg("数据为空");
return result;
}
fackTDcCrmZgtzService.updatebyid(fackTDcCrmZgtz2);
result.setCode(200);
result.setMsg("更新成功");
} catch (Exception e) {
e.printStackTrace();
result.setCode(-1);
result.setMsg("更新失败"+e.getMessage());
}
return result;
}
}