let s4 = new SM4Util(); let detailVue = new Vue({ el: "#detailBox", data: { apiurl: apiurl,//基础的页面请求地址 userId: "", //用户id userName: "", //用户中文名 token: "", nowTab: "tab1", routeid: "", routeinfoid: "", directionid: "", formeditid: "", docmode: "", dotype: "", type: "", routerList: [], fileList: [], isEnd: false, startX: 0, endX: 0, deleteSlider: '',//滑动时的效果 readonly: { ////新设置字段 HYSJ: false, HYDD: false, CHRY: false, HYNR: false, LDYJ: false, HYWJ: false, BZ: false }, form: { ID: "", //多一个id ///新设置字段 APPCODE:"", HYSJ:"", HYSJ_KSSJ:"", HYSJ_JSSJ:"", HYBT:"", HYDD:"", CHRY:"", HYNR:"", BZ:"", TBR:"", TBUSERID:"", LRSJ:"" }, LDYJ: [], LDYJEDIT: true, arrayFile:[], optionType: "", optionContent: "", showSave: false, buttonList: [] }, methods: { dateFtt: (fmt, date) => { var o = { "M+": date.getMonth() + 1, //月份 "d+": date.getDate(), //日 "h+": date.getHours(), //小时 "m+": date.getMinutes(), //分 "s+": date.getSeconds(), //秒 "q+": Math.floor((date.getMonth() + 3) / 3), //季度 "S": date.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; }, changeTab: (tabCode) => { _this.nowTab = tabCode; if (_this.nowTab == "tab1") { } else if (_this.nowTab == "tab2") { _this.getFileList(); } else if (_this.nowTab == "tab3") { _this.getRouterList(); } }, getRouterList: () => { _this.routerList = []; let postData = { directionid: _this.directionid, userid: _this.userId, routeid: _this.routeid, routeinfoid: _this.routeinfoid, } $http({ method: 'post', baseURL: _this.apiurl, url: "g2app/abase/queryDataRouteList", data: {data: s4.encryptData_CBC(JSON.stringify(postData))}, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + _this.token } }).then(res => { let response = _this.utils.strToJson(s4.decryptData_CBC(res.data.data)); response.data.forEach(function (item) { item.mainUser = []; item.copyUsers = []; item.isNow = false; item.USERS.forEach(function (item2) { if (item2.KIND == 0) { item.mainUser.push(item2.USERNAME); } else { item.copyUsers.push(item2.USERNAME); } }) item.NAME = "【" + item.STARTNODENAME + "】转" + "【" + item.ENDNODENAME + "】" item.mainUser = item.mainUser.join(","); item.copyUsers = item.copyUsers.join(","); }) _this.routerList = response.data; if (_this.routerList[_this.routerList.length - 1].ENDNODENAME == '结束') { _this.isEnd = true; _this.routerList[_this.routerList.length - 1].isNow = false; } else { _this.routerList[_this.routerList.length - 1].isNow = true; _this.isEnd = false; } }) }, ///附件列表 getFileList: () => { _this.fileList = []; let postData = { tablename: "FILE_ATTACH", colums: "*", order: "ID desc", sqlwhere: {ROUTEINFOID: _this.routeinfoid}, sqlinwhere: "", sqllikewhere: "" } $http({ method: 'post', baseURL: _this.apiurl, url: "g2app/dataabase/queryDataByCol", data: {data: s4.encryptData_CBC(JSON.stringify(postData))}, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + _this.token } }).then(res => { let response = _this.utils.strToJson(s4.decryptData_CBC(res.data.data)); response.data.forEach(function (item) { item.deleteSlider = "transform:translateX(0px)"; }) _this.fileList = response.data; console.log(_this.fileList); }) }, touchStart(e) { _this.startX = e.touches[0].clientX; }, touchEnd(e) { let index = e.currentTarget.dataset.index; // 当前滑动的父级元素 _this.endX = e.changedTouches[0].clientX; // 左滑 if (_this.startX - _this.endX > 30) { _this.fileList.forEach(function (item) { item.deleteSlider = "transform:translateX(0px)"; }) _this.fileList[index].deleteSlider = "transform:translateX(-120px)"; } // 右滑 if (_this.startX - _this.endX < -30) { _this.fileList.forEach(function (item) { item.deleteSlider = "transform:translateX(0px)"; }) } _this.startX = 0; _this.endX = 0; }, downLoad: (item) => { window.open(_this.apiurl + "g2work/files/" + item.FILEURL.slice(7)); }, deleteFile: (item) => { if (_this.dotype != 0) { _this.$nextTick(() => { $.confirm("您确定要删除当前附件吗?", "确认删除?", function () { let postData = { tablename: "FILE_ATTACH", id: item.ID }; $http({ method: 'post', baseURL: _this.apiurl, url: "g2app/dataabase/delDataById", data: {data: s4.encryptData_CBC(JSON.stringify(postData))}, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + _this.token } }).then(res => { let response = _this.utils.strToJson(s4.decryptData_CBC(res.data.data)); if (response.success) { _this.getFileList(); } else { $.alert("删除失败,请联系管理员!", "温馨提示"); } }) }, function () { //取消操作 }); }) } else { _this.$nextTick(() => { $.alert("当前模式下无法删除附件", "温馨提示"); }) } }, ////转发 sendBtn: () => { if (_this.dotype != 0) { _this.form.HYSJ=_this.form.HYSJ_KSSJ+"—"+_this.form.HYSJ_JSSJ; let formData = { }; for (let key in _this.form) { if (key.indexOf("_") == -1) { formData[key] = _this.form[key] } } let arrayData = []; arrayData.push(formData) let postData = { ckey: "SX_HYFK", id: _this.form.ID, routeid: _this.routeid, routeinfoid: _this.routeinfoid, routeinfotitle: _this.form.HYBT.replace(/\n/g, '').replace(/\s/g, ''),//self.data.HYBT, directionid: _this.directionid, formeditid: _this.formeditid, data: JSON.stringify(arrayData) }; // console.log({data: s4.encryptData_CBC(JSON.stringify(postData))}) $http({ method: 'post', baseURL: _this.apiurl, url: "g2app/abase/saveData", data: {data: s4.encryptData_CBC(JSON.stringify(postData))}, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + _this.token } }).then(res => { let response = _this.utils.strToJson(s4.decryptData_CBC(res.data.data)); console.log(response); if (response.success) { location.href = "sendedit.html?routeid=" + _this.routeid + "&routeinfoid=" + _this.routeinfoid + "&directionid=" + _this.directionid + "&formeditid=" + _this.formeditid + "&docmode=" + _this.docmode + "&dotype=" + _this.dotype + "&type" + _this.type; } else { $.alert("保存表单失败,无法进行转发,请联系管理员!", "温馨提示"); } }) } else { _this.$nextTick(() => { $.alert("当前模式下无法进行转发", "温馨提示"); }) } }, getItemCodeTable: (tablename) => { let postData = { ckey: tablename, routeinfoid: _this.routeinfoid } return $http({ method: 'post', baseURL: _this.apiurl, url: "g2app/abase/queryDataCode", data: {data: s4.encryptData_CBC(JSON.stringify(postData))}, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + _this.token } }) }, getAllCodeTable: () => { $http.all([_this.getItemCodeTable('CODE_SECRET'), _this.getItemCodeTable('CODE_EMERGENCY'), _this.getItemCodeTable('CODE_SFDB')]).then($http.spread((first, second, third) => { let response1 = _this.utils.strToJson(s4.decryptData_CBC(first.data.data)); let response2 = _this.utils.strToJson(s4.decryptData_CBC(second.data.data)); let response3 = _this.utils.strToJson(s4.decryptData_CBC(third.data.data)); _this.MIJI = response1.data.CODE_SECRET; _this.JJQK = response2.data.CODE_EMERGENCY; _this.SFDB = response3.data.CODE_SFDB; _this.getFormDetail(); })) }, ////获取表单详情数据 getFormDetail: () => { let postData = { ckey: "SX_HYFK", id: 0, directionid: _this.directionid, formeditid: _this.formeditid, routeid: _this.routeid, routeinfoid: _this.routeinfoid } $http({ method: 'post', baseURL: _this.apiurl, url: "g2app/abase/queryData", data: {data: s4.encryptData_CBC(JSON.stringify(postData))}, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + _this.token } }).then(res => { let response = _this.utils.strToJson(s4.decryptData_CBC(res.data.data)); //0表单禁用 if (_this.dotype == '0') { _this.readonly = { HYSJ: true, HYDD: true, CHRY: true, HYNR: true, LDYJ: true, HYWJ: true, BZ: true } } else { _this.readonly = { HYSJ: response.data.SX_HYFK["HYSJ.EREADONLY"] == "true", HYBT: response.data.SX_HYFK["HYBT.EREADONLY"] == "true", HYDD: response.data.SX_HYFK["HYDD.EREADONLY"] == "true", CHRY: response.data.SX_HYFK["CHRY.EREADONLY"] == "true", HYNR: response.data.SX_HYFK["HYNR.EREADONLY"] == "true", LDYJ: response.data.SX_HYFK["LDYJ.EREADONLY"] == "true", HYWJ: response.data.SX_HYFK["HYWJ.EREADONLY"] == "true", BZ: response.data.SX_HYFK["BZ.EREADONLY"] == "true" } } _this.form = { ID: response.data.SX_HYFK.ID, ///新加的 APPCODE:response.data.SX_HYFK.ID, HYSJ:response.data.SX_HYFK.HYSJ == "" ? "" : response.data.SX_HYFK.HYSJ, HYSJ_KSSJ:(response.data.SX_HYFK.HYSJ == "" || response.data.SX_HYFK.HYSJ == null || response.data.SX_HYFK.HYSJ == undefined) ? _this.utils.datefmt("yyyy-MM-dd HH:mm:ss", _this.utils.getLocalDate1()) : _this.utils.datefmt("yyyy-MM-dd HH:mm:ss", response.data.SX_HYFK.HYSJ.split("—")[0]), HYSJ_JSSJ:(response.data.SX_HYFK.HYSJ == "" || response.data.SX_HYFK.HYSJ == null || response.data.SX_HYFK.HYSJ == undefined) ? _this.utils.datefmt("yyyy-MM-dd HH:mm:ss", _this.utils.getLocalDate1()) : _this.utils.datefmt("yyyy-MM-dd HH:mm:ss", response.data.SX_HYFK.HYSJ.split("—")[1]), HYBT: response.data.SX_HYFK.HYBT, HYDD: response.data.SX_HYFK.HYDD, CHRY: response.data.SX_HYFK.CHRY, HYNR: response.data.SX_HYFK.HYNR, BZ: response.data.SX_HYFK.BZ, TBR: response.data.SX_HYFK.TBR == "" ? _this.userName : response.data.SX_HYFK.TBR, TBUSERID: response.data.SX_HYFK.TBUSERID == "" ? _this.userId : response.data.SX_HYFK.TBUSERID, LRSJ: response.data.SX_HYFK.LRSJ == "" ? _this.utils.datefmt("yyyy-MM-dd HH:mm:ss", _this.utils.getLocalDate1()) : response.data.SX_HYFK.LRSJ } if (response.data.SX_HYFK.HYWJ && response.data.SX_HYFK.HYWJ != "") { _this.arrayFile = JSON.parse(response.data.SX_HYFK.HYWJ); } _this.getAllOption(); _this.$nextTick(() => { _this.initInputPlug(); }) }) }, initInputPlug: () => { $("#HYSJ_KSSJ").calendar({ onChange: function (p, values, displayValues) { _this.form.HYSJ_KSSJ = values[0]; } }); $("#HYSJ_JSSJ").calendar({ onChange: function (p, values, displayValues) { _this.form.HYSJ_JSSJ = values[0]; } }); }, ////保存事件 saveBtn: () => { if (_this.dotype != 0) { _this.form.HYSJ=_this.form.HYSJ_KSSJ+"—"+_this.form.HYSJ_JSSJ; let formData = {}; for (let key in _this.form) { if (key.indexOf("_") == -1) { formData[key] = _this.form[key] } } let arrayData = []; arrayData.push(formData) let postData = { ckey: "SX_HYFK", id: _this.form.ID, routeid: _this.routeid, routeinfoid: _this.routeinfoid, routeinfotitle: _this.form.HYBT.replace(/\n/g, '').replace(/\s/g, ''),//self.data.HYBT, directionid: _this.directionid, formeditid: _this.formeditid, data: JSON.stringify(arrayData) }; // console.log(JSON.stringify(arrayData)); $http({ method: 'post', baseURL: _this.apiurl, url: "g2app/abase/saveData", data: {data: s4.encryptData_CBC(JSON.stringify(postData))}, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + _this.token } }).then(res => { let response = _this.utils.strToJson(s4.decryptData_CBC(res.data.data)); if (response.success) { $.alert("保存成功!", "温馨提示"); _this.getFormDetail(); } else { $.alert("保存失败,请联系管理员!", "温馨提示"); } }) } else { _this.$nextTick(() => { $.alert("当前模式下无法进行保存", "温馨提示"); }) } }, ////意见业务*****************************************************************************************start getItemOption: (code) => { let postData = data = { cmanid: _this.userId, routeinfoid: _this.routeinfoid, routeid: _this.routeid, tableid: "SX_HYFK", colid: code } return $http({ method: 'post', baseURL: _this.apiurl, url: "g2app/abase/queryDataOpinion", data: {data: s4.encryptData_CBC(JSON.stringify(postData))}, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + _this.token } }) }, getAllOption: () => { _this.LDYJ = []; // _this.LDYJEDIT = false; $http.all([_this.getItemOption('LDYJ')]).then($http.spread((first) => { let response1 = _this.utils.strToJson(s4.decryptData_CBC(first.data.data)); _this.LDYJ = response1.data; let editLDYJ = 0; _this.LDYJ.forEach(function (item) { if (item.ROUTEID == _this.routeid) { editLDYJ++ } }); if (editLDYJ > 0) { _this.LDYJEDIT = true; } else { _this.LDYJEDIT = false; } })) }, deleteOption: (code) => { $.confirm("您确定要删除当前意见吗?", "确认删除?", function () { let postData = { cmanid: _this.userId, routeid: _this.routeid, tableid: "SX_HYFK", colid: code, }; $http({ method: 'post', baseURL: _this.apiurl, url: "g2app/abase/deleteDataOpinion", data: {data: s4.encryptData_CBC(JSON.stringify(postData))}, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + _this.token } }).then(res => { let response = _this.utils.strToJson(s4.decryptData_CBC(res.data.data)); if (response.success) { _this.getAllOption(); } else { $.alert("删除失败,请联系管理员!", "温馨提示"); } }) }, function () { //取消操作 }); }, editOption: (type, index) => { _this.optionType = type; let nowEditObj = _this[type][index]; if (_this.optionType == "") { $.alert("初始化失败,请联系管理员!", "温馨提示"); } else { _this.optionContent = nowEditObj.OPINION; $(".open-popup").eq(0).click(); } }, addOption: (type) => { _this.optionType = type; _this.optionContent = ""; if (_this.optionType == "") { $.alert("初始化失败,请联系管理员!", "温馨提示"); } else { $(".open-popup").eq(0).click(); } }, saveOption: () => { $(".close-popup").eq(0).click(); let postData = { cmanid: _this.userId, routeinfoid: _this.routeinfoid, routeid: _this.routeid, tableid: "SX_HYFK", colid: _this.optionType, opiniontype: 0, cresult: "", opinion: _this.optionContent, opinionimage: "" }; $http({ method: 'post', baseURL: _this.apiurl, url: "g2app/abase/saveDataOpinion", data: {data: s4.encryptData_CBC(JSON.stringify(postData))}, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + _this.token } }).then(res => { let response = _this.utils.strToJson(s4.decryptData_CBC(res.data.data)); if (response.success) { _this.getAllOption(); } else { $.alert("删除失败,请联系管理员!", "温馨提示"); } }) }, ////意见业务*****************************************************************************************end getBtnList: () => { let postData = { ckey: "SX_HYFK", id: 0, directionid: _this.directionid, formeditid: _this.formeditid, routeid: _this.routeid, routeinfoid: _this.routeinfoid } $http({ method: 'post', baseURL: _this.apiurl, url: "g2app/abase/queryData", data: {data: s4.encryptData_CBC(JSON.stringify(postData))}, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + _this.token } }).then(res => { let response = _this.utils.strToJson(s4.decryptData_CBC(res.data.data)); _this.buttonList = _this.dotype == 0 ? [] : response.data["SX_HYFK.FUNCLIST"]; _this.buttonList.forEach(function (item) { if (item.CODE == "SAVEITEM") { _this.showSave = true; } }) }) }, //调用打开永中的嵌入页 openOfficePage: (item, type) => { let postData={ type:type, obj:item } let dataString = s4.encryptData_CBC(JSON.stringify(postData)); let goUrl = "officeedit.html?dataString=" + dataString; location.href = goUrl; } }, created: function () { _this = this; let token = localStorage.getItem("mobile-token", _this.token); let userName = localStorage.getItem("mobile-userName", _this.userName); let userId = localStorage.getItem("mobile-userId", _this.userId); _this.userId = userId; _this.token = token; _this.userName = userName; _this.routeid = _this.utils.getUrlName("routeid"); _this.routeinfoid = _this.utils.getUrlName("routeinfoid"); _this.directionid = _this.utils.getUrlName("directionid"); _this.formeditid = _this.utils.getUrlName("formeditid"); _this.docmode = _this.utils.getUrlName("docmode"); _this.dotype = _this.utils.getUrlName("dotype"); _this.type = _this.utils.getUrlName("type"); }, mounted: function () { _this.getAllCodeTable(); _this.getBtnList(); } })