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: '',//滑动时的效果 WJLX:[], SFYY:[], readonly: { WJBT: false, YFRQ: false, WJH: false, SXRQ: false, WJLX: false, FZRQ: false, SFYY: false, QLYJ: false, ZECS: false, XZBM: false }, form: { ID: "", //多一个id WJBT: "", YFRQ: "", WJH: "", SXRQ: "", WJLX: "", WJLX_NAME: "", FZRQ: "", SFYY: "", SFYY_NAME: "", QLYJ: "", ZECS: "", XZBM: "" }, QLYJ: [], QLYJEDIT: true, optionType: "", optionContent: "", showSave: false, buttonList: [], userList:[], departList:[] }, 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; }) }, 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) { let formData = {}; for (let key in _this.form) { if (key.indexOf("_NAME") == -1) { formData[key] = _this.form[key] } } let arrayData = []; arrayData.push(formData) let postData = { ckey: "SX_GFXWJQLDB", id: _this.form.ID, routeid: _this.routeid, routeinfoid: _this.routeinfoid, routeinfotitle: _this.form.WJBT.replace(/\n/g, '').replace(/\s/g, ''),//self.data.BT, directionid: _this.directionid, formeditid: _this.formeditid, data: 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) { 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_WJLX'), _this.getItemCodeTable('CODE_SF')]).then($http.spread((first, second) => { let response1 = _this.utils.strToJson(s4.decryptData_CBC(first.data.data)); let response2 = _this.utils.strToJson(s4.decryptData_CBC(second.data.data)); _this.WJLX = response1.data.CODE_WJLX; _this.SFYY = response2.data.CODE_SF; _this.getFormDetail(); _this.getAllOption(); })) }, getFormDetail: () => { let postData = { ckey: "SX_GFXWJQLDB", 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 = { WJBT: true, YFRQ: true, WJH: true, SXRQ: true, WJLX: true, FZRQ: true, SFYY: true, QLYJ: true, ZECS: true, XZBM: true } } else { _this.readonly = { WJBT: response.data.SX_GFXWJQLDB["WJBT.EREADONLY"] == "true", YFRQ: response.data.SX_GFXWJQLDB["YFRQ.EREADONLY"] == "true", WJH: response.data.SX_GFXWJQLDB["WJH.EREADONLY"] == "true", SXRQ: response.data.SX_GFXWJQLDB["SXRQ.EREADONLY"] == "true", WJLX: response.data.SX_GFXWJQLDB["WJLX.EREADONLY"] == "true", FZRQ: response.data.SX_GFXWJQLDB["FZRQ.EREADONLY"] == "true", SFYY: response.data.SX_GFXWJQLDB["SFYY.EREADONLY"] == "true", QLYJ: response.data.SX_GFXWJQLDB["QLYJ.EREADONLY"] == "true", ZECS: response.data.SX_GFXWJQLDB["ZECS.EREADONLY"] == "true", XZBM: response.data.SX_GFXWJQLDB["XZBM.EREADONLY"] == "true", } } _this.form = { ID: response.data.SX_GFXWJQLDB.ID, WJLX: response.data.SX_GFXWJQLDB.WJLX == "" ? _this.WJLX[0].CODE : response.data.SX_GFXWJQLDB.WJLX, SFYY: response.data.SX_GFXWJQLDB.SFYY == "" ? _this.SFYY[0].CODE : response.data.SX_GFXWJQLDB.SFYY, YFRQ: (response.data.SX_GFXWJQLDB.YFRQ == "" || response.data.SX_GFXWJQLDB.YFRQ == null || response.data.SX_GFXWJQLDB.YFRQ == undefined) ? _this.utils.datefmt("yyyy-MM-dd", _this.utils.getLocalDate1()) : _this.utils.datefmt("yyyy-MM-dd", response.data.SX_GFXWJQLDB.YFRQ), SXRQ: (response.data.SX_GFXWJQLDB.SXRQ == "" || response.data.SX_GFXWJQLDB.SXRQ == null || response.data.SX_GFXWJQLDB.SXRQ == undefined) ? _this.utils.datefmt("yyyy-MM-dd", _this.utils.getLocalDate1()) : _this.utils.datefmt("yyyy-MM-dd", response.data.SX_GFXWJQLDB.SXRQ), FZRQ: (response.data.SX_GFXWJQLDB.FZRQ == "" || response.data.SX_GFXWJQLDB.FZRQ == null || response.data.SX_GFXWJQLDB.FZRQ == undefined) ? _this.utils.datefmt("yyyy-MM-dd", _this.utils.getLocalDate1()) : _this.utils.datefmt("yyyy-MM-dd", response.data.SX_GFXWJQLDB.FZRQ), WJBT: response.data.SX_GFXWJQLDB.WJBT, WJH: response.data.SX_GFXWJQLDB.WJH, QLYJ: response.data.SX_GFXWJQLDB.QLYJ, ZECS: response.data.SX_GFXWJQLDB.ZECS, XZBM: response.data.SX_GFXWJQLDB.XZBM } if (response.data.SX_GFXWJQLDB.WJLX == "") { _this.form.WJLX_NAME = _this.WJLX[0].CNAME; } else { _this.WJLX.forEach(function (item) { if (item.CODE == response.data.SX_GFXWJQLDB.WJLX) { _this.form.WJLX_NAME = item.CNAME; } }) } if (response.data.SX_GFXWJQLDB.SFYY == "") { _this.form.SFYY_NAME = _this.SFYY[0].CNAME; } else { _this.SFYY.forEach(function (item) { if (item.CODE == response.data.SX_GFXWJQLDB.SFYY) { _this.form.SFYY_NAME = item.CNAME; } }) } _this.$nextTick(() => { _this.initInputPlug(); }) }) }, initInputPlug: () => { $("#YFRQ").calendar({ onChange: function (p, values, displayValues) { _this.form.YFRQ = values[0]; } }); $("#SXRQ").calendar({ onChange: function (p, values, displayValues) { _this.form.SXRQ = values[0]; } }); $("#FZRQ").calendar({ onChange: function (p, values, displayValues) { _this.form.FZRQ = values[0]; } }); let listWJLX = []; let listSFYY = []; _this.WJLX.forEach(function (item) { listWJLX.push(item.CNAME); }) _this.SFYY.forEach(function (item) { listSFYY.push(item.CNAME); }) $("#WJLX").picker({ title: "请选择文件类型", cols: [ { textAlign: 'center', values: listWJLX } ], onChange: function (p, v, dv) { _this.form.WJLX_NAME = v[0]; _this.WJLX.forEach(function (item) { if (item.CNAME == v[0]) { _this.form.WJLX = item.CODE; } }) }, }); $("#SFYY").picker({ title: "请选择是否沿用", cols: [ { textAlign: 'center', values: listSFYY } ], onChange: function (p, v, dv) { _this.form.SFYY_NAME = v[0]; _this.SFYY.forEach(function (item) { if (item.CNAME == v[0]) { _this.form.SFYY = item.CODE; } }) }, }); }, saveBtn: () => { if (_this.dotype != 0) { let formData = {}; for (let key in _this.form) { if (key.indexOf("_NAME") == -1) { formData[key] = _this.form[key] } } let arrayData = []; arrayData.push(formData) let postData = { ckey: "SX_GFXWJQLDB", id: _this.form.ID, routeid: _this.routeid, routeinfoid: _this.routeinfoid, routeinfotitle: _this.form.WJBT.replace(/\n/g, '').replace(/\s/g, ''),//self.data.BT, directionid: _this.directionid, formeditid: _this.formeditid, data: 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("当前模式下无法进行保存", "温馨提示"); }) } }, getItemOption: (code) => { let postData = { cmanid: _this.userId, routeinfoid: _this.routeinfoid, routeid: _this.routeid, tableid: "SX_GFXWJQLDB", 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.QLYJ = []; $http.all([_this.getItemOption('QLYJ')]).then($http.spread((first) => { let response1 = _this.utils.strToJson(s4.decryptData_CBC(first.data.data)); _this.QLYJ = response1.data; _this.dealOption('QLYJ'); })) }, deleteOption: (code) => { $.confirm("您确定要删除当前意见吗?", "确认删除?", function () { let postData = { cmanid: _this.userId, routeid: _this.routeid, tableid: "SX_GFXWJQLDB", 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_GFXWJQLDB", 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("删除失败,请联系管理员!", "温馨提示"); } }) }, getBtnList: () => { let postData = { ckey: "SX_GFXWJQLDB", 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_GFXWJQLDB.FUNCLIST"]; _this.buttonList.forEach(function (item) { if (item.CODE == "SAVEITEM") { _this.showSave = true; } }) }) }, //增补一个函数 dealOption: (key) => { let num = 0; let keyEdit = key + "EDIT"; _this[key].forEach(function (item) { if (item.ROUTEID == _this.routeid) { num++ } }) if (num > 0) { _this[keyEdit] = true; } else { _this[keyEdit] = false; } }, //拿回主动抄送的部门选项,和加载滚动选项一起执行 getDepartOption: () => { return $http({ method: 'post', baseURL: _this.apiurl, url: "g2app/dataabase/getDpList", data: {data: s4.encryptData_CBC(JSON.stringify(""))}, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + _this.token } }) }, }, 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(); } })