| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330 | 
							- <!DOCTYPE html>
 
- <html lang="en">
 
- <head>
 
-     <meta charset="UTF-8">
 
-     <title>form</title>
 
-     <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
 
-     <link href="https://cdn.jsdelivr.net/npm/iview@2.14.3/dist/styles/iview.css" rel="stylesheet">
 
-     <script src="https://cdn.jsdelivr.net/npm/iview@2.14.3/dist/iview.js"></script>
 
-     <script src="../tool/build/form-create.min.js"></script>
 
-     <script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script>
 
-     <script type="text/javascript" src="../../assets/libs/layui/layui.js"></script>
 
-     <script type="text/javascript" src="../../assets/js/common.js?v=312"></script>
 
- </head>
 
- <body>
 
- <div id="page_app">
 
-     <div id="app3">
 
-     </div>
 
- </div>
 
- <script>
 
-     layui.use(['layer', 'table', 'laydate', 'util', 'upload', 'zTree', 'admin', 'uParas', 'element', 'baseCache'], function () {
 
-         var $ = layui.jquery;
 
-         var layer = layui.layer;
 
-         var admin = layui.admin;
 
-         var uParas = layui.uParas;
 
-         var element = layui.element, laydate = layui.laydate;
 
-         var id = getQueryVariable("id");
 
-         var urls = uParas.baseUrl;
 
-         /**
 
-          * @Author: NanKeYang
 
-          * @Description: 用户操作必带参数
 
-          * @Data: 2020/1/8 15:17
 
-          */
 
-         var aId = layui.baseCache.getAId();
 
-         var cId = layui.baseCache.getCId();
 
-         var _m2 = false;
 
-         var App = new Vue({
 
-             el: '#page_app',
 
-             data() {
 
-                 return {
 
-                     approverSelectOption: { // 自定义选项 => 审批人人员选择
 
-                         type: 'select',
 
-                         name: '审批人',
 
-                     },
 
-                     wenbenArr: [],    // 文本数据
 
-                     submitDataArr: [], // 提交数据
 
-                     approverIndex: null,    // 审批人下标
 
-                     isAddWenbenData: false,
 
-                     reqData: null,  // 请求数据
 
-                 }
 
-             },
 
-             mounted() {
 
-                 var _rule = this.getFormRuleData()
 
-                 var $f_3 = formCreate.create(_rule, {
 
-                     //表单插入的父级元素
 
-                     el: '#app3',
 
-                     //显示表单重置按钮
 
-                     resetBtn: true,
 
-                     //表单提交事件
 
-                     onSubmit: function (formData) {
 
-                         App.submitData(formData);
 
-                         //按钮进入提交状态
 
-                         $f_3.btn.loading();
 
-                         // 重置按钮禁用
 
-                         $f_3.resetBtn.disabled();
 
-                         //按钮进入可点击状态
 
-                         $f_3.btn.finish();
 
-                     },
 
-                     mounted: function () {
 
-                         _m2 = false;
 
-                     }
 
-                 });
 
-             },
 
-             methods: {
 
-                 /**
 
-                  * @Author: NanKeYang
 
-                  * @Description: 提交数据
 
-                  * @Data: 2020/1/8 16:43
 
-                  */
 
-                 submitData(data) {
 
-                     var submitDataArr = this.submitDataArr, wenbenArr = this.wenbenArr, _this = this;
 
-                     var approverVal = data[this.approverIndex];
 
-                     console.log(submitDataArr)
 
-                     if (approverVal <= 0) {
 
-                         layer.msg('请选择审批人');
 
-                         return false;
 
-                     }
 
-                     for (var key in submitDataArr) {
 
-                         submitDataArr[key].userVal = data[key]
 
-                         submitDataArr[key].value = data[key]
 
-                         if (submitDataArr[key].tipFlagtext) {
 
-                             delete submitDataArr[key].tipFlagtext
 
-                         }
 
-                     }
 
-                     /**
 
-                      * @Author: NanKeYang
 
-                      * @Description: 处理提交失败,重复添加问题
 
-                      * @Data: 2020/1/8 18:08
 
-                      */
 
-                     if (wenbenArr.length > 0 && !this.isAddWenbenData) {
 
-                         let num = 1
 
-                         for (let i = 0; i < wenbenArr.length; i++) {
 
-                             //向数组中添加纯文本对象
 
-                             submitDataArr.splice(wenbenArr[i].idx + num, 0, {
 
-                                 "type": "label",
 
-                                 "title": wenbenArr[i].tips.title,
 
-                                 "value": wenbenArr[i].tips.value,
 
-                                 "userVal": wenbenArr[i].tips.value
 
-                             })
 
-                             //每添加一次数组长度增加1
 
-                             num++;
 
-                         }
 
-                         this.isAddWenbenData = true;
 
-                     }
 
-                     $.ajax({
 
-                         type: "post",
 
-                         url: urls + "/3rd/flow/update",
 
-                         data: {
 
-                             userFormId: _this.reqData.id,
 
-                             formId: _this.reqData.formId,
 
-                             formJson: JSON.stringify(submitDataArr),
 
-                             aId: aId,
 
-                             cId: cId,
 
-                             deptLeader: approverVal
 
-                         },
 
-                         error: function (request) {
 
-                         },
 
-                         success: function (resp) {
 
-                             if (resp.code == 1) {
 
-                                 $.ajax({
 
-                                     type: "post",
 
-                                     url: urls + "/3rd/flow/approve",
 
-                                     data: {
 
-                                         aId: aId,
 
-                                         cId: cId,
 
-                                         userFormId: _this.reqData.id,
 
-                                         taskId: _this.reqData.taskId,
 
-                                         deptLeader: approverVal,
 
-                                         p_B_reApply: true
 
-                                     },
 
-                                     success: function (resp) {
 
-                                         if (resp.code == 1) {
 
-                                             layer.msg('操作成功', {offset: ['50%'], time: 2000}, function () {
 
-                                                 parent.layer.closeAll();
 
-                                             });
 
-                                         } else {
 
-                                             layer.msg('操作失败');
 
-                                         }
 
-                                     }
 
-                                 });
 
-                             } else {
 
-                                 layer.msg('操作失败');
 
-                             }
 
-                         }
 
-                     });
 
-                 },
 
-                 /**
 
-                  * @Author: NanKeYang
 
-                  * @Description: 获取表单规则
 
-                  * @Data: 2020/1/8 16:36
 
-                  */
 
-                 getFormRuleData() {
 
-                     var submitDataArr = [], wenbenArr = [], _this = this;
 
-                     $.ajax({
 
-                         type: "get",
 
-                         url: urls + "/3rd/flow/queryById",
 
-                         data: {
 
-                             aId: aId,
 
-                             cId: cId,
 
-                             id: id,
 
-                         },
 
-                         async: false,
 
-                         contentType: false,
 
-                         processData: true,
 
-                         error: function (request) {
 
-                             layer.alert('操作失败', {
 
-                                 icon: 2,
 
-                                 title: "提示"
 
-                             });
 
-                         },
 
-                         success: function (resp) {
 
-                             const {code, data, msg} = resp;
 
-                             if (code == 1) {
 
-                                 _this.reqData = data;
 
-                                 jsonData = JSON.parse(data.formJson);
 
-                             } else {
 
-                                 layer.msg(msg);
 
-                             }
 
-                         }
 
-                     });
 
-                     // 去掉type=lebel的文本数据,并在该数据之前的元素添加文本说明
 
-                     for (let i = jsonData.length - 1; i >= 0; i--) {
 
-                         if (jsonData[i].type == 'label') {
 
-                             // debugger
 
-                             if (i != 0) {
 
-                                 jsonData[i - 1].tipFlagtext = {title: jsonData[i].title, value: jsonData[i].value}
 
-                             }
 
-                             jsonData.splice(i, 1)
 
-                         }
 
-                     }
 
-                     submitDataArr = submitDataArr.concat(jsonData)
 
-                     for (var key in jsonData) {
 
-                         if (jsonData[key].tipFlagtext) {
 
-                             wenbenArr.push({idx: parseInt(key), tips: jsonData[key].tipFlagtext})
 
-                         }
 
-                         if (jsonData[key].type == 'text' || jsonData[key].type == 'textarea' || jsonData[key].type == 'password' || jsonData[key].type == 'date') {
 
-                             jsonData[key] = {
 
-                                 type: "input",
 
-                                 title: jsonData[key].title,
 
-                                 field: key,
 
-                                 value: jsonData[key].value,
 
-                                 props: {
 
-                                     "type": jsonData[key].type,
 
-                                     "placeholder": "请输入内容"
 
-                                 }
 
-                             }
 
-                         } else if (jsonData[key].type == 'select-search' || jsonData[key].type == 'checkbox' || jsonData[key].type == 'radio') {
 
-                             let myOption = [], formType = jsonData[key].type;
 
-                             let item = jsonData[key].label.split(',');
 
-                             for (let i = 0; i < item.length; i++) {
 
-                                 myOption.push({"value": item[i], "label": item[i]})
 
-                             }
 
-                             if (jsonData[key].type == 'select-search') {
 
-                                 formType = 'select'
 
-                             }
 
-                             let typeValue = jsonData[key].value
 
-                             if (jsonData[key].type == 'radio') {
 
-                                 typeValue = typeValue[0]
 
-                             }
 
-                             jsonData[key] = {
 
-                                 type: formType,
 
-                                 field: key,
 
-                                 title: jsonData[key].title,
 
-                                 value: typeValue,
 
-                                 options: myOption
 
-                             }
 
-                         }
 
-                     }
 
-                     this.submitDataArr = submitDataArr;
 
-                     this.wenbenArr = wenbenArr;
 
-                     $.ajax({
 
-                         type: "get",
 
-                         url: urls + "/3rd/flow/getUsers",
 
-                         data: {
 
-                             aId: aId,
 
-                             cId: cId
 
-                         },
 
-                         async: false,
 
-                         contentType: false,
 
-                         processData: true,
 
-                         error: function (request) {
 
-                             layer.alert('操作失败', {
 
-                                 icon: 2,
 
-                                 title: "提示"
 
-                             });
 
-                         },
 
-                         success: function (resp) {
 
-                             const {code, data, msg} = resp;
 
-                             if (code == 1) {
 
-                                 approverList = [];
 
-                                 // 提交要格式 => ID#名称
 
-                                 data.forEach(function (item, index) {
 
-                                     approverList.push({
 
-                                         value: item.aId + '#' + item.accountRealName,
 
-                                         label: item.accountRealName
 
-                                     })
 
-                                 })
 
-                             } else {
 
-                                 layer.msg(msg);
 
-                             }
 
-                         }
 
-                     });
 
-                     /**
 
-                      * @Author: NanKeYang
 
-                      * @Description: 添加审批人数据
 
-                      * @Data: 2020/1/8 17:48
 
-                      */
 
-                     this.approverIndex = jsonData.length;
 
-                     jsonData.push(
 
-                         {
 
-                             type: this.approverSelectOption.type,
 
-                             field: jsonData.length + '',
 
-                             title: this.approverSelectOption.name,
 
-                             value: '',
 
-                             options: approverList
 
-                         }
 
-                     )
 
-                     return jsonData;
 
-                 }
 
-             }
 
-         })
 
-         // //获取url参数
 
-         function getQueryVariable(variable) {
 
-             var query = window.location.search.substring(1);
 
-             var vars = query.split("&");
 
-             for (var i = 0; i < vars.length; i++) {
 
-                 var pair = vars[i].split("=");
 
-                 if (pair[0] == variable) {
 
-                     return pair[1];
 
-                 }
 
-             }
 
-             return (false);
 
-         }
 
-     })
 
-     //将纯文本数据隐藏
 
-     /*$('.ivu-col').each(function (i, v) {
 
-         if($(v).find('.ivu-form-item >label').text() == '纯文本'){
 
-             $(v).css('display','none')
 
-         }
 
-     })*/
 
- </script>
 
- </body>
 
- </html>
 
 
  |