很折腾人的编程,被折磨了一个星期,问题在于我把问题想复杂了,总想尽量满足用户的需求,尽可能把多种要求都加进来,多考虑用户可能出现的变动需求。
合同文件的编辑,内容可以有很多的选项,可以是:
1、系统自动执行;
2、手工输入;
3、列表选择;
4、单选;
上面是第一次考虑并完成的内容,后面还需要加入其他的内容:
1、列表可以有多种,比如单选列值、单选列出所有项目并方框标识选中项目、选中出现输入窗口补全后续信息等等;
2、手工输入如何记忆不同用户的输入并在后续填写相关内容中出现;
3、系统函数如何依赖外部注入;
4、如何插入表格并以用户选择的方式取值;
5、如何插入图片;
......
目前完成的界面:
主要代码,表格的值装载:
form.on('submit(formStep2)', function (data) {
//如果项目列表数大于0并且选择了项目则继续
if(selectPorjectRowObj){
//判断有无数据记录
$.ajax({
url:'ZTBCommon.php',
data:{
"OP":"IsExist",
"strWhere":"c01='"+selectPorjectRowObj['data']['c02']+"' and c13="+selectPorjectRowObj['data']['c01']+" and c15='"+selectPorjectRowObj['data']['c14']+"' ",
"strTable":"FileItemValue",
},
type:'POST',
datetype:'json',
async:false,//不能异步
success:function (data) {
console.log(data['data']);
if(data!='OK'){
console.log('创建!');
//没有则创建
$.ajax({
url:'ZTBUserZBFile.php',
data:{
"OP":"createUserEditList",
"Year":selectPorjectRowObj['data']['c01'],
"Project":selectPorjectRowObj['data']['c02'],
"ProjectChild":selectPorjectRowObj['data']['c14']
},
type:'POST',
datetype:'json',
async:false,//不能异步
success:function (data) { },
error:function(data){ console.log('错误:'+data);}
});
}
}
});
//得到招标文件编辑条款的信息
console.log(selectPorjectRowObj['data']['c01']+"|"+selectPorjectRowObj['data']['c02']+"|"+selectPorjectRowObj['data']['c14']);
table.render({
elem: '#projectEditInfo',
url: 'ZTBUserZBFile.php',
method:'POST',
where:{
"OP":"userEditList",
"Year":selectPorjectRowObj['data']['c01'],
"Project":selectPorjectRowObj['data']['c02'],
"ProjectChild":selectPorjectRowObj['data']['c14']
},
toolbar: '#toolbarDemo',
defaultToolbar: ['exports'],
cols: [[
{type: 'numbers', width: 80, title: '行号',hide:true},
{field: 'c03', width: 70, title: '序号', align: "center"},
{field: 'c13', width: 80, title: '年度',hide:true},
{field: 'c01', width: 240, title: '项目名称',hide:true},
{field: 'c15', width: 200, title: '子项目名称',hide:true},
{field: 'c02', width: 240, title: '用户名称',hide:true},
{field: 'c06', width: 200, title: '书签名称'},
{field: 'c07', width: 120, title: '样式大类'},
{field: 'c08', width: 180, title: '样式小类',hide:true},
{field: 'c04', width: 200, title: '样式名称',hide:true},
{field: 'c11', width: 450, title: '输入的内容', event:'userInput',templet:'#convertInputStype'},
{field: 'c09', width: 90, title: '强制录入',templet:'#switchTpl', unresize: true},
{field: 'c10', width: 120, title: '完成输入',templet:'#checkboxTpl', unresize: true},
{field: 'c12', width: 100, title: '内容标记',hide:true},
{field: 'c14', width: 90, title: '是否可编辑',templet:'#switchTp2', unresize: true},
{field: 'c17', width: 100, title: '样式内容',hide:true},
{field: 'c18', width: 100, title: '样式标记',hide:true},
{field: 'c19', width: 150, title: '实际内容',hide:true}
]],
page: false,
skin: 'gird',
done: function (res, curr, count) {
tableTotalCount=res.data.length;
let isFirstTime=false;
let sTemp='';
//如果是第一次,则需要执行系统函数:循环提取表格中的行记录,执行系统函数并且赋值
$.ajax({
url:'ZTBCommon.php',
data:{
"OP":"getProjectNameFromEditTable",
"Year":selectPorjectRowObj['data']['c01'],
"Project":selectPorjectRowObj['data']['c02'],
"ProjectChild":selectPorjectRowObj['data']['c14']
},
type:'POST',
datetype:'json',
async:false,//不能异步
success:function (data) {
if(data['data']=='' || data['data']==null){ isFirstTime=true; }
},
error:function(data){
console.log(data);
}
});
if(isFirstTime){
for (let i=0;i{#
var selectList='';
var strPSP='';
var optionList='';
switch(d.c07){
case '手工输入':
strPSP="
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?