|
@@ -1,165 +1,273 @@
|
|
(function () {
|
|
(function () {
|
|
- window.onload = function (ex) {
|
|
|
|
- var lists = []
|
|
|
|
- var trFragment = document.createDocumentFragment();
|
|
|
|
- $("#addData").click(function () {
|
|
|
|
- var dataObj = {}
|
|
|
|
- trFragment.appendChild(generateTableTrHtml(lists.length))
|
|
|
|
- $(".tbody").append(trFragment)
|
|
|
|
- timeSelector({
|
|
|
|
- ele: ".startTimeRange" + lists.length,
|
|
|
|
- name: "TravelTimeDO[" + lists.length + "]$startTimeRange",
|
|
|
|
- callback: function (val) {
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- timeSelector({
|
|
|
|
- ele: ".endTimeRange" + lists.length,
|
|
|
|
- name: "TravelTimeDO[" + lists.length + "]$endTimeRange",
|
|
|
|
- callback: function (val) {
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- $("#delBtn_" + lists.length).click(function () {
|
|
|
|
- var index = this.id.substring(this.id.indexOf("_") + 1)
|
|
|
|
- z.ui.confirm("compid").init({
|
|
|
|
- content: "确定删除吗?",
|
|
|
|
- onConfirm: function () {
|
|
|
|
- var element = document.getElementById("qjsj_" + index);
|
|
|
|
- element.remove();
|
|
|
|
- buildQjsjSeq();
|
|
|
|
- },
|
|
|
|
- onCancel: function () {
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
-
|
|
|
|
- })
|
|
|
|
- z.ui.date("[name='TravelTimeDO[" + lists.length + "]$startTime']").init()
|
|
|
|
- z.ui.date("[name='TravelTimeDO[" + lists.length + "]$endTime']").init()
|
|
|
|
|
|
+ window.onload = function (ex) {
|
|
|
|
+ let timeObject = document.querySelector('#timeObject')
|
|
|
|
+ let arrays = JSON.parse(timeObject.value)
|
|
|
|
+ var lists = []
|
|
|
|
+ var trFragment = document.createDocumentFragment();
|
|
|
|
+ $("#addData").click(function () {
|
|
|
|
+ var dataObj = {}
|
|
|
|
+ trFragment.appendChild(generateTableTrHtml(lists.length))
|
|
|
|
+ $(".tbody").append(trFragment)
|
|
|
|
+ let listsLength = lists.length
|
|
|
|
+ if (arrays.length > 0) {
|
|
|
|
+ listsLength = arrays.length + lists.length
|
|
|
|
+ }
|
|
|
|
+ timeSelector({
|
|
|
|
+ ele: ".startTimeRange" + listsLength,
|
|
|
|
+ name: "TravelTimeDO[" + listsLength + "]$startTimeRange",
|
|
|
|
+ callback: function (val) {
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ timeSelector({
|
|
|
|
+ ele: ".endTimeRange" + listsLength,
|
|
|
|
+ name: "TravelTimeDO[" + listsLength + "]$endTimeRange",
|
|
|
|
+ callback: function (val) {
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ $("#delBtn_" + listsLength).click(function () {
|
|
|
|
+ var index = this.id.substring(this.id.indexOf("_") + 1)
|
|
|
|
+ z.ui.confirm("compid").init({
|
|
|
|
+ content: "确定删除吗?",
|
|
|
|
+ onConfirm: function () {
|
|
|
|
+ var element = document.getElementById("qjsj_" + index);
|
|
|
|
+ element.remove();
|
|
buildQjsjSeq();
|
|
buildQjsjSeq();
|
|
- lists.push(dataObj)
|
|
|
|
- })
|
|
|
|
- initPartners();
|
|
|
|
- $("#selectProject").click(function (){
|
|
|
|
- selectProject(null,setProject);
|
|
|
|
|
|
+ },
|
|
|
|
+ onCancel: function () {
|
|
|
|
+
|
|
|
|
+ }
|
|
})
|
|
})
|
|
- bindEvents();
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
+ })
|
|
|
|
+ z.ui.date("[name='TravelTimeDO[" + listsLength + "]$startTime']").init()
|
|
|
|
+ z.ui.date("[name='TravelTimeDO[" + listsLength + "]$endTime']").init()
|
|
|
|
+ buildQjsjSeq();
|
|
|
|
+ lists.push(dataObj)
|
|
|
|
+ })
|
|
|
|
+ initPartners();
|
|
|
|
+ $("#selectProject").click(function () {
|
|
|
|
+ selectProject(null, setProject);
|
|
|
|
+ })
|
|
|
|
+ bindEvents();
|
|
|
|
|
|
- //注册业务保存事件
|
|
|
|
- function bindEvents() {
|
|
|
|
- z.workflow.saveBtn.addListener("onSaveClick", saveForm);
|
|
|
|
- }
|
|
|
|
|
|
+ //根据返回的json对象渲染出差时间信息
|
|
|
|
|
|
- function buildQjsjSeq() {
|
|
|
|
- let elementsByName = document.getElementsByName("qjsj_seq");
|
|
|
|
- for (let i = 0; i < elementsByName.length; i++) {
|
|
|
|
- const seqElement = elementsByName[i];
|
|
|
|
- seqElement.innerHTML = i + 1;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ let tbodyQjsq = document.querySelector('.tbodyQjsq')
|
|
|
|
+ let html = ""
|
|
|
|
+ if (arrays.length > 0) {
|
|
|
|
+ for (let i = 0; i < arrays.length; i++) {
|
|
|
|
+ let startDate = moment(arrays[i].startTime).format('YYYY-MM-DD')
|
|
|
|
+ let endDate = moment(arrays[i].endTime).format('YYYY-MM-DD')
|
|
|
|
+ html += '<tr id="qjsj_' + i + '" style="background:#fff"> <td name="qjsj_seq">' + (i + 1) + '</td>'
|
|
|
|
+ + '<td>'
|
|
|
|
+ + '<div class="form-flex">'
|
|
|
|
+ + '<div class="form-item" style="width: 50%;margin-right: 5px;">'
|
|
|
|
+ + '<div class="z-comp-date" name="TravelTimeDO[' + i + ']$startTime">'
|
|
|
|
+ + '<input type="text" value="' + startDate + '">'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '<div style="width: 50%;margin-left: 5px;" class="dateTimeRange startTimeRange' + (i) + '">'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '<span class="nbsp"> - </span>'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</td>'
|
|
|
|
+ + '<td>'
|
|
|
|
+ + '<div class="form-flex">'
|
|
|
|
+ + '<div class="form-item" style="width: 50%;margin-right: 5px;">'
|
|
|
|
+ + '<div class="z-comp-date" name="TravelTimeDO[' + i + ']$endTime">'
|
|
|
|
+ + '<input type="text" value="' + endDate + '">'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '<div style="width: 50%;margin-left: 5px;" class="dateTimeRange endTimeRange' + (i) + '">'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</td>'
|
|
|
|
+ + '<td>'
|
|
|
|
+ + '<div class="form-item">'
|
|
|
|
+ + '<div class="z-comp-input" name="TravelTimeDO[0]$bz1">'
|
|
|
|
+ + '<input type="text" value="">'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</td>'
|
|
|
|
+ + '<td>'
|
|
|
|
+ + '<div id="delBtn_' + (i) + '" class="table-btn delBtn_' + (i) + '" data-index="' + (i) + '">'
|
|
|
|
+ + '<span>删除</span>'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</td></tr>';
|
|
|
|
+ }
|
|
|
|
+ tbodyQjsq.innerHTML = html
|
|
|
|
|
|
- /*
|
|
|
|
- * all 工作流js传递到业务的参数 success执行的方法
|
|
|
|
- * istransfer 工作流js传递到业务的参数 是否转件
|
|
|
|
- * */
|
|
|
|
- function saveForm(all, istransfer) {
|
|
|
|
- var postData = z.ui.form.getFormFields($("[name=createReqVO]"));
|
|
|
|
- if (postData == false) return;
|
|
|
|
- postData.createReqVO.instanceId = z.ui.comm.getUrlParam("flowInstanceId");
|
|
|
|
- var travelTimeCreateList = new Array()
|
|
|
|
- for (let key of Object.keys(postData)) {
|
|
|
|
- let mealName = postData[key];
|
|
|
|
- if (key.startsWith("TravelTimeDO")) {
|
|
|
|
- mealName.startTime = Date.parse(mealName.startTime + " " + mealName.startTimeRange);
|
|
|
|
- mealName.endTime = Date.parse(mealName.endTime + " " + mealName.endTimeRange);
|
|
|
|
- travelTimeCreateList.push(z.ui.form.childStringify(mealName));
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- postData.createReqVO.travelTimeCreateList = travelTimeCreateList;
|
|
|
|
- z.ui.ajax({
|
|
|
|
- type: "post",
|
|
|
|
- url: "/BusinessTravel/update",
|
|
|
|
- data: JSON.stringify(postData.createReqVO),
|
|
|
|
- contentType: "application/json",
|
|
|
|
- success: function () {
|
|
|
|
- all({success: true});
|
|
|
|
|
|
+ for (let i = 0; i < arrays.length; i++) {
|
|
|
|
+ timeSelector({
|
|
|
|
+ ele: ".startTimeRange" + (i),
|
|
|
|
+ name: "LeaveTimeDO[" + (i) + "]$startTimeRange",
|
|
|
|
+ callback: function (val) {
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ timeSelector({
|
|
|
|
+ ele: ".endTimeRange" + (i),
|
|
|
|
+ name: "LeaveTimeDO[" + (i) + "]$endTimeRange",
|
|
|
|
+ callback: function (val) {
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ $("#delBtn_" + i).click(function () {
|
|
|
|
+ z.ui.confirm("compid").init({
|
|
|
|
+ content: "确定删除吗?",
|
|
|
|
+ onConfirm: function () {
|
|
|
|
+ var element = document.getElementById("qjsj_" + i);
|
|
|
|
+ element.remove();
|
|
|
|
+ buildQjsjSeq();
|
|
},
|
|
},
|
|
- error: function () {
|
|
|
|
- all({success: false});
|
|
|
|
|
|
+ onCancel: function () {
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
+ })
|
|
|
|
+
|
|
})
|
|
})
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ let s = document.querySelectorAll('.qjsjxx-box .z-comp-dateTime')
|
|
|
|
+ for (let i = 0; i < arrays.length; i++) {
|
|
|
|
+ let startHHmm = moment(arrays[i].startTime).format('HH:mm')
|
|
|
|
+ let endHHmm = moment(arrays[i].endTime).format('HH:mm')
|
|
|
|
+ z.ui.datetime("[name='LeaveTimeDO[" + i + "]$startTimeRange']").setValue(startHHmm)
|
|
|
|
+ z.ui.datetime("[name='LeaveTimeDO[" + i + "]$endTimeRange']").setValue(endHHmm)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //注册业务保存事件
|
|
|
|
+ function bindEvents() {
|
|
|
|
+ z.workflow.saveBtn.addListener("onSaveClick", saveForm);
|
|
|
|
+ }
|
|
|
|
|
|
- function generateTableTrHtml(index) {
|
|
|
|
- var trDom = document.createElement("tr");
|
|
|
|
- trDom.style.backgroundColor = "#fff";
|
|
|
|
- trDom.id = "qjsj_" + index;
|
|
|
|
- trDom.innerHTML = '<td name="qjsj_seq">' + (index + 1) + '</td>'
|
|
|
|
- + '<td>'
|
|
|
|
- + '<div class="form-flex">'
|
|
|
|
- + '<div class="form-item" style="width: 50%;margin-right: 5px;">'
|
|
|
|
- + '<div class="z-comp-date" name="TravelTimeDO[' + index + ']$startTime">'
|
|
|
|
- + '<input type="text" value="">'
|
|
|
|
- + '</div>'
|
|
|
|
- + '</div>'
|
|
|
|
- + '<div style="width: 50%;margin-left: 5px;" class="dateTimeRange startTimeRange' + (index) + '">'
|
|
|
|
- + '</div>'
|
|
|
|
- + '<span class="nbsp"> - </span>'
|
|
|
|
- + '</div>'
|
|
|
|
- + '</td>'
|
|
|
|
- + '<td>'
|
|
|
|
- + '<div class="form-flex">'
|
|
|
|
- + '<div class="form-item" style="width: 50%;margin-right: 5px;">'
|
|
|
|
- + '<div class="z-comp-date" name="TravelTimeDO[' + index + ']$endTime">'
|
|
|
|
- + '<input type="text" value="">'
|
|
|
|
- + '</div>'
|
|
|
|
- + '</div>'
|
|
|
|
- + '<div style="width: 50%;margin-left: 5px;" class="dateTimeRange endTimeRange' + (index) + '">'
|
|
|
|
- + '</div>'
|
|
|
|
- + '</div>'
|
|
|
|
- + '</td>'
|
|
|
|
- + '<td>'
|
|
|
|
- + '<div class="form-item">'
|
|
|
|
- + '<div class="z-comp-input" name="TravelTimeDO[0]$bz1">'
|
|
|
|
- + '<input type="text" value="">'
|
|
|
|
- + '</div>'
|
|
|
|
- + '</div>'
|
|
|
|
- + '</td>'
|
|
|
|
- + '<td>'
|
|
|
|
- + '<div id="delBtn_' + (index) + '" class="table-btn delBtn_' + (index) + '" data-index="' + (index) + '">'
|
|
|
|
- + '<span>删除</span>'
|
|
|
|
- + '</div>'
|
|
|
|
- + '</td>';
|
|
|
|
- return trDom;
|
|
|
|
|
|
+ function buildQjsjSeq() {
|
|
|
|
+ let elementsByName = document.getElementsByName("qjsj_seq");
|
|
|
|
+ for (let i = 0; i < elementsByName.length; i++) {
|
|
|
|
+ const seqElement = elementsByName[i];
|
|
|
|
+ seqElement.innerHTML = i + 1;
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
|
|
- function initPartners(){
|
|
|
|
- z.ui.ajax({
|
|
|
|
- type: "get",
|
|
|
|
- url: "/common/user-tree",
|
|
|
|
- data: {},
|
|
|
|
- success: function (res) {
|
|
|
|
- if(res && res.length > 0){
|
|
|
|
- selectMutiTree("[name='partners']",res,clickPartners)
|
|
|
|
- }
|
|
|
|
- if($("[name='createReqVO$partners']").val()){
|
|
|
|
- z.ui.selecttree("[name='partners']").setValue($("[name='createReqVO$partners']").val().split(","));
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- error: function () {
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ /*
|
|
|
|
+* all 工作流js传递到业务的参数 success执行的方法
|
|
|
|
+* istransfer 工作流js传递到业务的参数 是否转件
|
|
|
|
+* */
|
|
|
|
+ function saveForm(all, istransfer) {
|
|
|
|
+ var postData = z.ui.form.getFormFields($("[name=createReqVO]"));
|
|
|
|
+ if (postData == false) return;
|
|
|
|
+ postData.createReqVO.instanceId = z.ui.comm.getUrlParam("flowInstanceId");
|
|
|
|
+ var travelTimeCreateList = new Array()
|
|
|
|
+ for (let key of Object.keys(postData)) {
|
|
|
|
+ let mealName = postData[key];
|
|
|
|
+ if (key.startsWith("TravelTimeDO")) {
|
|
|
|
+ mealName.startTime = Date.parse(mealName.startTime + " " + mealName.startTimeRange);
|
|
|
|
+ mealName.endTime = Date.parse(mealName.endTime + " " + mealName.endTimeRange);
|
|
|
|
+ travelTimeCreateList.push(z.ui.form.childStringify(mealName));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ postData.createReqVO.travelTimeCreateList = travelTimeCreateList;
|
|
|
|
+ z.ui.ajax({
|
|
|
|
+ type: "post",
|
|
|
|
+ url: "/BusinessTravel/update",
|
|
|
|
+ data: JSON.stringify(postData.createReqVO),
|
|
|
|
+ contentType: "application/json",
|
|
|
|
+ success: function () {
|
|
|
|
+ all({ success: true });
|
|
|
|
+ },
|
|
|
|
+ error: function () {
|
|
|
|
+ all({ success: false });
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
- function clickPartners(even, treeId, treeNode) {
|
|
|
|
- $("[name='createReqVO$partners']").val(z.ui.selecttree("[name='partners']").getValue());
|
|
|
|
|
|
+ function generateTableTrHtml(index) {
|
|
|
|
+ let timeObject = document.querySelector('#timeObject')
|
|
|
|
+ let arrays = JSON.parse(timeObject.value)
|
|
|
|
+ let indexC = 0
|
|
|
|
+ if (arrays.length > 0) {
|
|
|
|
+ indexC = arrays.length + index
|
|
|
|
+ } else {
|
|
|
|
+ indexC = index
|
|
}
|
|
}
|
|
- function setProject(res){
|
|
|
|
- if(res.data){
|
|
|
|
- $("[name='createReqVO$projectId']").val(res.data.id);
|
|
|
|
- z.ui.input("[name='createReqVO$projectName']").setValue(res.data.xmmc);
|
|
|
|
|
|
+
|
|
|
|
+ var trDom = document.createElement("tr");
|
|
|
|
+ trDom.style.backgroundColor = "#fff";
|
|
|
|
+ trDom.id = "qjsj_" + indexC;
|
|
|
|
+ trDom.innerHTML = '<td name="qjsj_seq">' + (indexC + 1) + '</td>'
|
|
|
|
+ + '<td>'
|
|
|
|
+ + '<div class="form-flex">'
|
|
|
|
+ + '<div class="form-item" style="width: 50%;margin-right: 5px;">'
|
|
|
|
+ + '<div class="z-comp-date" name="TravelTimeDO[' + indexC + ']$startTime">'
|
|
|
|
+ + '<input type="text" value="">'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '<div style="width: 50%;margin-left: 5px;" class="dateTimeRange startTimeRange' + (indexC) + '">'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '<span class="nbsp"> - </span>'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</td>'
|
|
|
|
+ + '<td>'
|
|
|
|
+ + '<div class="form-flex">'
|
|
|
|
+ + '<div class="form-item" style="width: 50%;margin-right: 5px;">'
|
|
|
|
+ + '<div class="z-comp-date" name="TravelTimeDO[' + indexC + ']$endTime">'
|
|
|
|
+ + '<input type="text" value="">'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '<div style="width: 50%;margin-left: 5px;" class="dateTimeRange endTimeRange' + (indexC) + '">'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</td>'
|
|
|
|
+ + '<td>'
|
|
|
|
+ + '<div class="form-item">'
|
|
|
|
+ + '<div class="z-comp-input" name="TravelTimeDO[0]$bz1">'
|
|
|
|
+ + '<input type="text" value="">'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</td>'
|
|
|
|
+ + '<td>'
|
|
|
|
+ + '<div id="delBtn_' + (indexC) + '" class="table-btn delBtn_' + (indexC) + '" data-index="' + (indexC) + '">'
|
|
|
|
+ + '<span>删除</span>'
|
|
|
|
+ + '</div>'
|
|
|
|
+ + '</td>';
|
|
|
|
+ return trDom;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ function initPartners() {
|
|
|
|
+ z.ui.ajax({
|
|
|
|
+ type: "get",
|
|
|
|
+ url: "/common/user-tree",
|
|
|
|
+ data: {},
|
|
|
|
+ success: function (res) {
|
|
|
|
+ if (res && res.length > 0) {
|
|
|
|
+ selectMutiTree("[name='partners']", res, clickPartners)
|
|
}
|
|
}
|
|
|
|
+ if ($("[name='createReqVO$partners']").val()) {
|
|
|
|
+ z.ui.selecttree("[name='partners']").setValue($("[name='createReqVO$partners']").val().split(","));
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ error: function () {
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ function clickPartners(even, treeId, treeNode) {
|
|
|
|
+ $("[name='createReqVO$partners']").val(z.ui.selecttree("[name='partners']").getValue());
|
|
|
|
+ }
|
|
|
|
+ function setProject(res) {
|
|
|
|
+ if (res.data) {
|
|
|
|
+ $("[name='createReqVO$projectId']").val(res.data.id);
|
|
|
|
+ z.ui.input("[name='createReqVO$projectName']").setValue(res.data.xmmc);
|
|
}
|
|
}
|
|
|
|
+ }
|
|
}());
|
|
}());
|