123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title></title>
- <meta name="renderer" content="webkit">
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
- <link rel="stylesheet" href="../../static/css/font.css">
- <link rel="stylesheet" href="../../static/css/weadmin.css">
- <link rel="stylesheet" href="../../static/css/style.css">
- <!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
- <!--[if lt IE 9]>
- <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
- <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
- <![endif]-->
- <style>
- html{
- overflow-y: auto;
- }
- .a_input{
- margin-bottom: 10px;
- position: relative;
- }
- .a_T{
- display: inline-block;
- }
- .record_term{
- padding: 5px 0 5px 5px;
- border: 1px solid #ddd;
- }
- .layui-form-item .layui-form-checkbox{
- margin-top: 0;
- }
- .a_operation{
- height: 38px;
- line-height: 38px;
- color: #CCCCCC;
- border: 1px solid #ddd;
- border-radius: 2px;
- box-sizing: border-box;
- text-align: center;
- font-size: 12px;
- }
- .a_operation span{
- cursor: pointer;
- }
- .a_operation span:hover{
- color: #2d6dcc;
- }
- .inspect_term{
- display: flex;
- justify-content: space-between;
- flex-wrap: wrap;
- align-items: center;
- display: -webkit-flex;
- -webkit-justify-content: space-between;
- -webkit-align-items: center;
- -webkit-flex-wrap: wrap;
- box-sizing: border-box;
- }
- .inspect_term_name{
- box-sizing: border-box;
- padding: 5px;
- border: 1px solid #ddd;
- }
- .inspect_term_select{
- height: 112px;
- align-items: center;
- -webkit-align-items: center;
- display: flex;
- display: -webkit-flex;
- border: 1px solid #ddd;
- box-sizing: border-box;
- border-left: none;
- }
- .inspect_term_input{
- box-sizing: border-box;
- padding: 5px;
- border: 1px solid #ddd;
- }
- .inspect_term_select .layui-form-select{
- left: 33px;
- }
- .inspect_term_info{
- display: flex;
- justify-content: space-between;
- flex-wrap: wrap;
- align-items: center;
- display: -webkit-flex;
- -webkit-justify-content: space-between;
- -webkit-align-items: center;
- -webkit-flex-wrap: wrap;
- box-sizing: border-box;
- }
- .inspect_term_operation{
- height: 49px;
- border: 1px solid #ddd;
- box-sizing: border-box;
- border-left: none;
- align-items: center;
- -webkit-align-items: center;
- display: flex;
- display: -webkit-flex;
- justify-content: center;
- -webkit-justify-content: center;
- }
- .inspect_term_operation span{
- color: #dddddd;
- margin: 0 5px;
- }
- .inspect_term_operation span:hover{
- color: #2d6dcc;
- }
- .a_hide{
- display: none;
- }
- .operation_trem{
- position: absolute;
- top: 5px;
- right: 0;
- }
- .operation_trem>i{
- font-size: 20px!important;
- position: relative;
- top: 3px;
- cursor: pointer;
- }
- .add_recordState{
- display: inline-block;
- height: 38px;
- line-height: 38px;
- padding: 0 18px;
- background-color: #2d6dcc;
- color: #fff;
- white-space: nowrap;
- text-align: center;
- font-size: 14px;
- border: none;
- border-radius: 2px;
- cursor: pointer;
- }
- .record_terms .record_term:first-child,.inspect_termList .inspect_terms:first-child{
- border-top: 1px solid #ddd;
- }
- </style>
- </head>
- <body>
- <div class="weadmin-body">
- <form class="layui-form" lay-filter="test1">
- <div class="layui-form-item">
- <label class="layui-form-label">
- <span class="we-red">*</span>模版名称:
- </label>
- <div class="layui-input-block">
- <input type="text" value="" placeholder="请输入模版名称" name="number" autocomplete="off" class="layui-input TemplateName">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">
- 模版备注:
- </label>
- <div class="layui-input-block">
- <textarea name="desc" placeholder="备注" class="layui-textarea Templatereamk"></textarea>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">
- 记录状态:
- </label>
- <div class="layui-input-block">
- <input type="radio" name="text" value="选择状态组" title="选择状态组" class="radios changeSteta" >
- <input type="radio" name="text" value="文本状态" title="文本状态" class="radios textSteta">
- </div>
- <div class="layui-input-block a_inputs">
- <!--<div class="a_input">-->
- <!--<input type="text" value="" style="width: 80%;" placeholder="请输入状态名称" checkbox-boole="false" name="number" autocomplete="off" class="layui-input a_stateName">-->
- <!--<div class="operation_trem">-->
- <!--<input type="checkbox" title="统计标识" class="inputCheckbox" lay-filter="inputCheckbox">-->
- <!--<i class="layui-icon layui-icon-delete delete_state"></i>-->
- <!--</div>-->
- <!--</div>-->
- </div>
- <div class="layui-input-block a_hide a_text">
- <input type="text" value="" style="margin-bottom: 10px" placeholder="请输入文本标题" name="number" autocomplete="off" class="layui-input textName">
- <input type="text" value="" placeholder="请输入文本内容" name="number" autocomplete="off" class="layui-input textContent">
- </div>
- <div class="layui-input-block layui-input-block1">
- <span class="add_recordState">添加记录状态</span>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">
- 特殊记录项:
- </label>
- <div class="layui-input-block">
- <div class="T_recordterm">
- <div class="a_T T_recordterm_name" style="width: 19%">
- <input type="text" value="" placeholder="请输入字段名称" name="number" autocomplete="off" class="layui-input specialName">
- </div>
- <div class="a_T T_recordterm_remarks" style="width: 40%">
- <input type="text" value="" placeholder="请输入字段备注" name="number" autocomplete="off" class="layui-input specialRemarks">
- </div>
- <div class="a_T T_recordterm_select" style="width: 39.99%">
- <select name="special" lay-filter="specialSelect" class="specialSelect">
- <option value="">--请选择--</option>
- <option value="photo">图片</option>
- <option value="file">文件</option>
- <option value="video">视频</option>
- </select>
- </div>
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">
- 记录项:
- </label>
- <div class="layui-input-block record_terms">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label">检查项</label>
- <div class="layui-input-block inspect_termList">
- </div>
- </div>
- </form>
- <div class="layui-form-item" style="text-align: center;padding-top: 50px">
- <button class="layui-btn a_recordtermBtn">添加记录项</button>
- <button class="layui-btn a_inspecttermBtn">添加检查项</button>
- </div>
- <input type="text" class="deleteStateGroup" style="display: none">
- <input type="text" class="deleteRecord" style="display: none">
- <input type="text" class="deletecheckItemArray" style="display: none">
- </div>
- <script src="../../lib/layui/layui.js" charset="utf-8"></script>
- <script src="../../static/js/config.js"></script>
- <script>
- layui.use(['jquery','form'], function(){
- var form = layui.form,
- $ = layui.jquery;
- form.render();
- form.on("radio",function (data) {
- if(data.value === '选择状态组'){
- $('.a_inputs').show();
- $(".a_text").addClass("a_hide");
- $(".layui-input-block1").removeClass("a_hide");
- sessionStorage.setItem('groudBool','false');
- sessionStorage.setItem("addgroudBool",'false')
- }else {
- $('.a_inputs').hide();
- $(".a_text").removeClass("a_hide");
- $(".layui-input-block1").addClass("a_hide");
- sessionStorage.setItem('groudBool','true');
- sessionStorage.setItem("addgroudBool", 'true')
- }
- });
- $('body').on("click",'.a_stateName',function () {
- var that = $(this);
- layer.open({
- type: 2,
- id: 'changeState',
- title:'选择状态组',
- shadeClose: true,
- scrollbar:true,
- shade: 0.3,
- maxmin: true,
- skin: 'oaBtn',
- btn: ['选中', '取消'],
- area: ['500px', '450px'],
- content: 'changeStategroup.html',
- success: function (layero, index) {
- var body = layer.getChildFrame('body', index);
- },
- yes: function (index, layero) {
- var body = layer.getChildFrame('body', index);
- var ID = body.find(".text").attr("id-data");
- that.val(body.find(".text").html());
- that.attr("state-id",ID);
- layer.close(index);
- }
- })
- });
- form.on('checkbox(inputCheckbox)', function(data){
- $(this).parent().parent().find(".a_stateName").attr("checkbox-boole",data.elem.checked)
- });
- // 添加状态名称
- $("body").on("click",".add_recordState",function () {
- var str =`
- <div class="a_input" state-id="" deleteFlag="false" inputState-id="">
- <input type="text" value="" style="width: 80%;" placeholder="请输入状态名称" state-id="" checkbox-boole="false" name="number" autocomplete="off" class="layui-input a_stateName">
- <div class="operation_trem">
- <input type="checkbox" title="统计标识" class="inputCheckbox" lay-filter="inputCheckbox">
- <i class="layui-icon layui-icon-delete delete_state"></i>
- </div>
- </div>
- `;
- $('.a_inputs').append(str);
- form.render();
- });
- // 删除状态名称
- var deleteStateGroup =[];
- $("body").on("click",".delete_state",function () {
- if($(".a_input").length === 1){
- layer.msg('原始状态不能删除', {icon: 8});
- }else {
- $(this).parent().parent().attr("deleteFlag",'true');
- var recordStatusObj ={isEchart:"",statusContent:'',statusId:'',id:'',deleteFlag:''};
- recordStatusObj.isEchart = $(this).parent().parent().find('.a_stateName').attr('checkbox-boole');
- recordStatusObj.statusContent = $(this).parent().parent().find('.a_stateName').val();
- recordStatusObj.statusId = $(this).parent().parent().find('.a_stateName').attr("state-id");
- recordStatusObj.id = $(this).parent().parent().attr("inputState-id");
- recordStatusObj.deleteFlag = $(this).parent().parent().attr("deleteFlag");
- deleteStateGroup.push(recordStatusObj);
- $(".deleteStateGroup").val(JSON.stringify(deleteStateGroup));
- $(this).parent().parent().remove();
- }
- });
- // 记录项类型
- getInputType();
- function getInputType(){
- // select-box
- $.ajax({
- method:'get',
- url:urlF+'api/template/v1/getInputTypeList',
- data:'',
- dataType:'json',
- success:function (res) {
- if (res.code === '200') {
- for (key in res.data){
- var str = `<option value="${key}">${res.data[key]}</option>`;
- $(".select-box").append(str);
- }
- form.render();
- }
- },
- error:function (err) {
- }
- })
- };
- var ns=0;
- var deleteRecord = [];
- // 添加记录项
- $("body").on("click",".a_recordtermBtn",function () {
- var str =`
- <div class="record_term border_t_n" record-id="">
- <div class="a_T a_checkbox1" style="width: 11%">
- <input type="checkbox" title="必选" class="mandatory" lay-filter="mandatory" checkbox-mandatory="false">
- </div>
- <div class="a_T record_term_name" style="width: 20%">
- <input type="text" placeholder="请输入字段名称" class="layui-input fieldName">
- </div>
- <div class="a_T record_term_remarks" style="width: 20%">
- <input type="text" placeholder="请输入字段备注" class="layui-input fieldType">
- </div>
- <div class="a_T record_term_select" style="width: 15%">
- <select name="inputType" class="select-box" lay-filter="inputType">
- <option value="">--请选择--</option>
- </select>
- </div>
- <div class="a_T record_term_select1 a_hide" style="width: 10%">
- <select name="interest" lay-filter="photo" class="businessType">
- <option value="">--请选择--</option>
- <option value="local">本地</option>
- <option value="remote">拍照</option>
- </select>
- </div>
- <div class="a_T a_checkbox" style="width: 15%">
- <input type="checkbox" title="统计标识" class="isEchart" lay-filter="isEchart" checkbox-isEchart="false">
- </div>
- <div class="a_T a_operation" style="width: 15%">
- <span class="moveUp">上移</span>
- <span class="moveDown">下移</span>
- <span class="edit_record a_hide">编辑</span>
- <span class="delete_record_term">删除</span>
- </div>
- <input type="text" class="inputJson" style="display: none;">
- </div>
- `;
- $(".record_terms").append(str);
- getInputType();
- form.render();
- });
- // 删除记录项
- $("body").on("click",".delete_record_term",function () {
- if($(".record_term").length === 1){
- layer.msg('原始状态不能删除', {icon: 8});
- }else {
- $(this).parent().parent().attr("deleteFlag",'true');
- var inputList = {businessType:'',inputItems:'',inputName:'',inputType:'',isEchart:'',isOptional:'',remark:'',special:'',zIndex:'',id:'',deleteFlag:''};
- var value,fieldType,inputItems,mandatory,isEchart,inputType,businessType,id,deleteFlag;
- value = $(this).parent().parent().find(".fieldName").val();
- fieldType = $(this).parent().parent().find(".fieldType").val();
- mandatory = $(this).parent().parent().find(".mandatory").attr("checkbox-mandatory");
- isEchart = $(this).parent().parent().find(".isEchart").attr("checkbox-isEchart");
- inputType = $(this).parent().parent().find(".select-box").val();
- businessType = $(this).parent().parent().find(".businessType").val();
- if (inputType != "photo"){
- businessType =""
- }
- id = $(this).parent().parent().attr("record-id");
- deleteFlag = $(this).parent().parent().attr("deleteFlag");
- if(id != ""){
- inputList.businessType = businessType;
- inputList.inputItems = $(this).parent().parent().find(".inputJson").html() == "null" || $(this).parent().parent().find(".inputJson").html() == ""? [] :JSON.parse($(this).parent().parent().find(".inputJson").html());
- inputList.inputName = value;
- inputList.inputType = inputType;
- inputList.isEchart = isEchart;
- inputList.isOptional = mandatory;
- inputList.remark = fieldType;
- inputList.special = 'false';
- inputList.id = id;
- inputList.zIndex = ns++ +1;
- inputList.deleteFlag = deleteFlag;
- deleteRecord.push(inputList);
- $(".deleteRecord").val(JSON.stringify(deleteRecord));
- }
- $(this).parent().parent().remove()
- }
- });
- // 上移
- $("body") .on("click",".moveUp",function () {
- var index = $(this).parent().parent();
- if(index.index() != 0){
- index.prev().before(index);
- }else {
- layer.msg('已经移至最高点', {icon: 8});
- }
- });
- // 下移
- $("body") .on("click",".moveDown",function () {
- var index = $(this).parent().parent();
- if(index.index() != $(".record_term").length-1){
- index.next().after(index);
- }else {
- layer.msg('已经移至最低点', {icon: 8});
- }
- });
- // 记录项类型 // 切换
- form.on("select(inputType)",function (data) {
- if (data.value === 'checkbox' || data.value === 'radio') {
- $(this).parent().parent().parent().parent().find(".a_operation").find(".edit_record").removeClass("a_hide");
- }else {
- $(this).parent().parent().parent().parent().find(".a_operation").find(".edit_record").addClass("a_hide");
- }
- if (data.value === 'photo') {
- $(this).parent().parent().parent().parent().find(".record_term_select").css("width","13%");
- $(this).parent().parent().parent().parent().find(".record_term_remarks").css("width","17%");
- $(this).parent().parent().parent().parent().find(".record_term_name").css("width","17%");
- $(this).parent().parent().parent().parent().find(".a_checkbox1").css("width","10%");
- $(this).parent().parent().parent().parent().find(".record_term_select1").removeClass("a_hide");
- }else {
- $(this).parent().parent().parent().parent().find(".record_term_select").css("width","15%");
- $(this).parent().parent().parent().parent().find(".record_term_remarks").css("width","20%");
- $(this).parent().parent().parent().parent().find(".record_term_name").css("width","20%");
- $(this).parent().parent().parent().parent().find(".a_checkbox1").css("width","11%");
- $(this).parent().parent().parent().parent().find(".record_term_select1").addClass("a_hide");
- }
- });
- // 添加检查项%
- $("body").on("click",".a_inspecttermBtn",function () {
- var str = `
- <div class="inspect_terms">
- <div class="inspect_term border_t_n">
- <div class="a_T inspect_term_name border_t_n" style="width: 70%;">
- <textarea name="desc" placeholder="请输入分组名称" class="layui-textarea term_nameTextarea" style="resize:none"></textarea>
- </div>
- <div class="a_T inspect_term_select border_t_n" style="width: 30%">
- <select name="interest" class="inspect_select" lay-filter="inspect_select">
- <option value="checkbox">多选</option>
- <option value="radio">单选</option>
- </select>
- </div>
- </div>
- <div class="inspect_term_infos border_t_n">
- <div class="inspect_term_info">
- <div class="inspect_term_input border_t_n" style="width: 70%;">
- <input type="text" class="layui-input inspectInfo" placeholder="请输入检查项信息">
- </div>
- <div class="inspect_term_operation border_t_n" style="width: 30%">
- <span class="add_inspectInfo">添加</span>
- </div>
- </div>
- </div>
- </div>
- `;
- $(".inspect_termList").append(str);
- form.render();
- });
- // 添加检查项信息
- $("body").on("click",".add_inspectInfo",function () {
- var str = `
- <div class="inspect_term_info" deleteFlag="false" inspect-id="">
- <div class="inspect_term_input border_t_n" style="width: 70%;">
- <input type="text" class="layui-input inspectInfo" placeholder="请输入检查项信息">
- </div>
- <div class="inspect_term_operation border_t_n" style="width: 30%">
- <span class="add_inspectInfo">添加</span>
- <span class="delete_inspectInfo">删除</span>
- </div>
- </div>`;
- $(this).parent().parent().parent().append(str);
- });
- var deletecheckItemArray=[];
- var nums =0;
- // 删除检查项信息
- $("body").on("click",".delete_inspectInfo",function () {
- $(this).parent().parent().attr('deleteFlag','true');
- var term_nameTextarea,inspect_select,inspectInfo,id,deleteFlag;
- var checkItemList = {checkType:'',groupName:'',itemValue:'',zIndex:'',id:'',deleteFlag:''};
- term_nameTextarea = $(this).parent().parent().parent().parent().find('.term_nameTextarea').val();
- inspect_select = $(this).parent().parent().parent().parent().find('.inspect_select').val();
- inspectInfo = $(this).parent().parent().find('.inspectInfo').val();
- id = $(this).parent().parent().attr("inspect-id");
- deleteFlag = $(this).parent().parent().attr('deleteFlag');
- checkItemList.checkType = inspect_select;
- checkItemList.groupName = term_nameTextarea;
- checkItemList.itemValue = inspectInfo;
- checkItemList.id = id;
- checkItemList.deleteFlag = deleteFlag;
- checkItemList.zIndex = nums++ +1;
- deletecheckItemArray.push(checkItemList);
- $(".deletecheckItemArray").val(JSON.stringify(deletecheckItemArray));
- $(this).parent().parent().remove()
- });
- // 多选和单选的编辑
- $("body").on("click",".edit_record",function () {
- var that = $(this);
- sessionStorage.setItem("inputItemList",that.parent().parent().find(".inputJson").html());
- layer.open({
- type: 2,
- id: 'updatemanyOrSingleSelectiona',
- title:'单选/多选',
- shadeClose: true,
- scrollbar:true,
- shade: 0.3,
- maxmin: true,
- skin: 'oaBtn',
- btn: ['选中', '取消'],
- area: ['500px', '500px'],
- content: 'updateMangorSelection.html',
- success: function (layero, index) {
- var body = layer.getChildFrame('body', index);
- },
- yes: function (index, layero) {
- var body = layer.getChildFrame('body', index);
- var checkbox = '';
- var value = '',id;
- var obj ={isDefault:'',itemValue:'',id:'',deleteFlag:''};
- var selectArrsy = [];
- var item = body.find(".steta_groud");
- var deletegroups = body.find(".deletegroup").val();
- if (deletegroups != "") {
- var deletegroup = JSON.parse(body.find(".deletegroup").val());
- for (var i = 0; i< deletegroup.length;i++){
- selectArrsy.push(deletegroup[i])
- }
- }
- item.each(function () {
- obj = {};
- value = $(this).find(".selectName").val();
- checkbox = $(this).find(".selectName").attr("checkbox-boole");
- id = $(this).attr("state-id");
- obj.isDefault = checkbox;
- obj.itemValue =value;
- obj.id = id;
- obj.deleteFlag = $(this).find(".steta_groud").attr("deleteFlag");
- selectArrsy.push(obj);
- });
- that.parent().parent().find(".inputJson").val(JSON.stringify(selectArrsy));
- layer.close(index);
- }
- })
- });
- // 必选
- form.on('checkbox(mandatory)', function(data){
- $(this).attr("checkbox-mandatory",data.elem.checked)
- });
- // 统计标识
- form.on('checkbox(isEchart)', function(data){
- $(this).attr("checkbox-isEchart",data.elem.checked)
- });
- form.render("radio");
- });
- </script>
- </body>
- </html>
|