{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-mobile/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/badp-bcxin-web-5.x-mobile/src/components/view_calendarview.vue?vue&type=script&lang=js&","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-mobile/src/components/view_calendarview.vue","mtime":1740130327259},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-mobile/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-mobile/node_modules/thread-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-mobile/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-mobile/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-mobile/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\nimport activity from \"@/components/activity.vue\";\nimport { Toast } from 'mint-ui';\nexport default {\n name: \"view-calendarview\",\n props: [\n \"view\",\n \"openParams\",\n \"showtype\",\n \"newColumns\",\n \"checkedState\",\n ],\n components: {\n activity,\n },\n watch: {\n newColumns(val){\n this.view.columns = val;\n },\n checkedState() {\n this.onChangeAll();\n },\n },\n computed: {\n \n },\n\n mounted() {\n let currentTime = new Date();\n let month = currentTime.getMonth() + 1;\n let currentGetDate = currentTime.getDate()\n if(currentGetDate < 10){\n currentGetDate = \"0\"+ currentGetDate;\n }\n this.nowTime = currentTime.getFullYear() +\"-\"+month+\"-\" + currentGetDate;\n\n if(this.showtype === 'home') {\n this.currentActive = 3;\n let date = new Date();\n let startDate = new Date(date.getFullYear(), date.getMonth(), 1);\n let endDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);\n this.monthFirstDay = this.writeCurrentDate(\"\", startDate);\n this.monthLastDay = this.writeCurrentDate(\"\", endDate);\n let ym = this.monthFirstDay.split(\"-\");\n this.currentDate = ym[0] + \"-\" + ym[1];\n let periodColumn = '';\n let columns = this.view.columns;\n for(let i=0; i {\n let documents = res.data.data.data;\n documents.forEach((el, index) => {\n for(let key in el.items) {\n if(el.items[key].formField == 'DateField' && el.items[key].value) {\n let ymd = el.items[key].value.split(\" \")[0];\n documents[index].items[key].value = ymd; \n }\n }\n })\n this.documents = documents;\n this.getDateList(null);\n //以下判断是否显示更多按钮\n this.$nextTick(()=>{\n this.MonthViewUpdateNode();\n })\n }\n }\n );\n }else {\n this.getData();\n }\n },\n\n data: function() {\n return {\n tableData:[],\n documents:[],\n currentActive:1,\n checkedAll:[],\n dayNumber: 1,\n currentDate:'',\n showViewList:false,\n currentWeek:0,\n addWeekNum:'',\n startTime:'',\n endTime:'',\n oneWeekArray:[],\n viewColumns:[],\n weekArray:[],\n periodColumn:'',\n currentDocIds:[],\n //以下是周视图的变量\n currentYear: 1970, // 年份\n currentMonth: 1, // 月份\n currentDay: 1, // 日期\n currentWeeks: 1, // 星期\n days: [],\n\n //以下是月视图的变量\n weekDays: ['周日','周一','周二','周三','周四','周五','周六'],\n weeks:['周日','周一','周二','周三','周四','周五','周六',],\n year:new Date().getFullYear(),\n month:new Date().getMonth()+1,\n currentTime: '',\n Cdate: '',\n dateList:[],\n monthFirstDay:'',\n monthLastDay:'',\n monthRow: [0,1,2,3,4,5],\n monthDateList:[],\n selectedDocIds:[],\n nowTime: '',\n allPendingLoaded: false,\n };\n },\n\n methods: {\n loadMorePending() {\n setTimeout(()=>{\n this.$refs.loadmorepending.onBottomLoaded();\n }, 2000)\n },\n setMonthDate(date, val){\n let value = date.replace(/\\//g, \"-\");\n return value;\n },\n onChangeAll() {\n if (this.checkedState==true) {\n this.selectedDocIds = [];\n for (let i = 0; i < this.documents.length; i++) {\n this.selectedDocIds.push(this.documents[i].id);\n }\n }else if(this.checkedState=='state'){\n this.selectedDocIds = this.selectedDocIds;\n }else if(this.checkedState==false){\n this.selectedDocIds = [];\n }\n this.$emit(\"action\", this.selectedDocIds);\n },\n \n seeWeekMore($event,date,index) {\n let arr = [];\n for(let z=0; z= date && this.documents[z].items[this.periodColumn.id].value < date + ' 24:00' && date == this.documents[z].items[this.periodColumn.id].value) {\n arr.push(this.documents[z])\n }\n }\n this.documents = arr;\n this.currentActive = 1;\n this.getData('', '', '', date + ' 00:00', date + ' 24:00');\n this.currentDate = date;\n },\n seeDateMore(date){\n this.$router.push({ \n name:'open',\n query:{\n linkType:'01',\n actionContent:this.view.id,\n clickDate: date,\n }\n }) \n },\n \n seeMore(date){\n let currentDate = date.replace(/\\//g, \"-\");\n this.$api.getViewData(\n //普通视图接口\n this.$root.appid,\n this.view.id,\n {\n parentId: this.parentId ? this.parentId : \"\",\n currpage: 1,\n lines: 10,\n searchWord:'',\n startDate: currentDate + ' 00:00',\n endDate: currentDate + ' 24:00',\n },\n {},\n {\n onSucess: res => {\n \n let docs = res.data.data.data;\n this.documents = docs;\n this.row_count = res.data.row_count;\n // let tds = [];\n // if (docs)\n // docs.forEach(doc => {\n // let rows = {};\n // rows.formId = doc.formId;\n // rows.docId = doc.id;\n // for (var key in doc.items) {\n // let items = doc.items[key];\n // rows[key] = items.value;\n // }\n // if(doc.isSum) {\n // rows.isSum = doc.isSum;\n // }\n // tds.push(rows);\n // });\n // this.tableData = tds;\n this.currentActive = 1;\n this.getData('', '', '', currentDate + ' 00:00', currentDate + ' 24:00');\n this.currentDate = currentDate;\n \n }\n }\n );\n \n },\n\n onActionChild(act){\n //his.$parent.onAction(act);\n //绑定视图的处理事件\n // let activityType = act.type;\n switch (act.type) {\n case 1: //载入视图\n this.$parent.onAction(act);\n break;\n case 2: //创建\n this.$parent.onAction(act);\n break;\n case 3: //删除\n this.doRemove(act);\n break;\n default:\n break;\n }\n },\n\n //是否删除的弹窗提示\n doRemove(act) {\n let docIds = this.currentDocIds;\n if(docIds && docIds.length > 0) {\n this.$confirm(`是否需删除${docIds.length}数据`, '提示', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n }).then(() => {\n this.runBeforeAction(act, docIds);\n }).catch(() => {\n \n });\n }else {\n this.$confirm(`请选择至少一条数据`, '提示', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n }).then(() => {\n \n }).catch(() => {\n \n });\n }\n },\n\n //删除视图\n removeDocuments(act,docIds) {\n this.$api.batchRemoveDocuments(this.$root.appid, docIds, {\n onSucess: (res) => {\n if(res.data.errcode == 0) {\n this.$notify({\n title:'成功',\n message:'',\n type: 'success'\n\n })\n this.runAfterAction(act)\n this.includeReload();\n }\n }\n });\n },\n\n includeReload () { //重新刷新组件刷新\n this.$parent.updateView();\n },\n\n //执行脚本前\n runBeforeAction(act, docIds){\n let formData = {\n docId: \"\",\n document: {},\n formId: this.view.relatedForm,\n parentId: \"\",\n templateForm: this.view.templateForm,\n viewId: this.openParams.actionContent,\n _selects: docIds && docIds.length>0 ? docIds : [],\n }\n let divId = act.id;\n let actType = act.type;\n this.$api.runBeforeActionScript(this.$root.appid, divId, formData, actType,{\n onSucess: response => {\n if(response.data.errcode == 0 && response.data.data) {\n // let errcode = response.data.errcode;\n let errmsg = response.data.data.content;\n this.$notify.error({\n title: errmsg,\n message: ''\n });\n }else if(response.data.errcode == 0){\n if(act.type == 3) { //删除数据\n this.removeDocuments(act,docIds); \n }\n }\n }\n });\n },\n\n //执行脚本后\n runAfterAction(act, docIds) {\n let formData = {\n docId: \"\",\n document: {},\n formId: this.view.relatedForm,\n parentId: \"\",\n templateForm: \"\",\n viewId: this.openParams.actionContent,\n _selects: docIds && docIds.length>0 ? docIds : [],\n }\n let appId = this.$root.appid;\n let divId = act.id;\n let docId = '';\n let parentId = '';\n let _templateForm = '';\n let _ = '';\n this.$api.runAfterActionScript(\n appId,\n divId,\n docId,\n this.openParams.actionContent,\n this.view.relatedForm,\n _templateForm,\n parentId,\n _,\n formData,\n act.type,//act.type\n {\n onSucess: response => {\n if(response.data.errcode == 0) {\n if(response.data.data.content) {\n let errmsg = response.data.data.content.content;\n this.$notify({\n title: errmsg,\n message: '',\n type: 'warning'\n });\n }\n }\n }\n }\n );\n },\n\n onClick() {\n if(this.showViewList) { \n this.showViewList = false\n this.getData();\n }else {\n let startTime = \"1900-01-01 00:00\",\n endTime = \"2099-12-31 00:00\";\n this.showViewList = true;\n this.getData('', '', '', startTime, endTime);\n }\n },\n\n writeCurrentDate(val, paramTime){\n let day = ''\n if(val == \"NEXT\") {\n day = new Date();\n day.setTime(day.getTime()+24*60*60*1000*this.dayNumber);\n }else if(val == \"PREV\"){\n let str = this.currentDate;\n str = str.replace(/-/g,'/');\n day = new Date(str);\n day.setTime(day.getTime()-24*60*60*1000);\n }else if(val == \"WEEK\") {\n day = new Date(paramTime);\n }else {\n day = new Date(paramTime);\n }\n let year = day.getFullYear()\n let Month = day.getMonth() + 1;\n let Day = day.getDate();\n Month = Month >= 10 ? Month: \"0\"+Month;\n Day = Day >= 10 ? Day: \"0\" + Day;\n let s = year +\"-\" + Month + \"-\" + Day;\n return s;\n },\n\n //下一个时间\n nextTime(currentActive) {\n if(currentActive === 1) { //日视图\n this.currentDate = this.writeCurrentDate(\"NEXT\");\n this.dayNumber++;\n let startTime = this.currentDate + \" 00:00\";\n let endTime = this.currentDate + \" 24:00\";\n this.getData('', '', '', startTime, endTime); \n }else if (currentActive === 2) { //周视图\n const d = this.oneWeekArray[6];\n d.setDate(d.getDate() + 8);\n let days = this.initData(d);\n this.nextWeekData(days);\n }else if(currentActive === 3) {\n this.month++;\n if(this.month==13){\n this.month=1;\n this.year++;\n }\n let isNextOrPre = true;\n this.getDateList(isNextOrPre);\n }\n },\n\n //上一个时间\n prevTime(currentActive) {\n if(currentActive == 1) {\n this.currentDate = this.writeCurrentDate(\"PREV\");\n this.dayNumber--;\n let startTime = this.currentDate + \" 00:00\";\n let endTime = this.currentDate + \" 24:00\";\n this.getData('', '', '', startTime, endTime); \n }else if (currentActive == 2) {\n const d = this.oneWeekArray[0]; // 如果当期日期是7号或者小于7号\n d.setDate(d.getDate() - 6);\n let days = this.initData(d);\n this.nextWeekData(days);\n }else if(currentActive === 3) {\n this.month--;\n if(this.month==0){\n this.month=12;\n this.year--;\n }\n let isNextOrPre = true;\n this.getDateList(isNextOrPre);\n }\n },\n\n nextWeekData(days) {\n let saturday = days[0];\n let sunday = days[6]\n this.currentDate = saturday + \"~\" + sunday;\n saturday = encodeURI(saturday + ' 00:00');\n sunday = encodeURI(sunday + ' 24:00');\n let weeks = [];\n days.forEach((el,index) => {\n let obj = {};\n switch(index) {\n case 0: \n obj.value = el;\n obj.name = '星期日';\n weeks.push(obj);\n break;\n case 1: \n obj.value = el;\n obj.name = '星期一';\n weeks.push(obj);\n break;\n case 2: \n obj.value = el;\n obj.name = '星期二';\n weeks.push(obj);\n break;\n case 3: \n obj.value = el;\n obj.name = '星期三';\n weeks.push(obj);\n break;\n case 4: \n obj.value = el;\n obj.name = '星期四';\n weeks.push(obj);\n break;\n case 5: \n obj.value = el;\n obj.name = '星期五';\n weeks.push(obj);\n break;\n case 6: \n obj.value = el;\n obj.name = '星期六';\n weeks.push(obj);\n break;\n default:\n break;\n }\n });\n let periodColumn = '';\n let columns = this.view.columns;\n for(let i=0; i {\n let documents = res.data.data.data;\n documents.forEach((el, index) => {\n for(let key in el.items) {\n if(el.items[key].formField == 'DateField' && el.items[key].value) {\n let ymd = el.items[key].value.split(\" \")[0];\n documents[index].items[key].value = ymd; \n }\n }\n })\n this.documents = documents;\n // this.documents = res.data.data.data;\n this.$nextTick(() => {\n for(let i=0; i 0) {\n for(let z=0; z\") >= 0) {\n total = total + 1;\n }\n }\n }\n if(total > 0) {\n let app2 = document.getElementById('date-daydatamore'+ i + j);\n app2.style.color = '#fff';\n app2.style.display = 'block';\n app2.innerText = total\n }else {\n let app2 = document.getElementById('date-daydatamore'+ i + j);\n app2.style.color = '#fff';\n app2.style.display = 'none';\n app2.innerText = ''\n }\n }\n }\n }) \n }\n }\n );\n },\n\n //日周月视图切换\n showView(val) {\n if(val == 1) { //日视图\n this.currentActive = val;\n this.getCurrentDate();\n this.getData();\n }else if(val ==2) { //周视图\n this.currentActive = val;\n let days = this.initData(null);\n this.nextWeekData(days);\n }else if(val == 3) { //月视图\n this.currentActive = val;\n let date = new Date();\n let startDate = new Date(date.getFullYear(), date.getMonth(), 1);\n let endDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);\n this.monthFirstDay = this.writeCurrentDate(\"\", startDate);\n this.monthLastDay = this.writeCurrentDate(\"\", endDate);\n let ym = this.monthFirstDay.split(\"-\");\n this.currentDate = ym[0] + \"-\" + ym[1];\n let periodColumn = '';\n let columns = this.view.columns;\n for(let i=0; i {\n let documents = res.data.data.data;\n documents.forEach((el, index) => {\n for(let key in el.items) {\n if(el.items[key].formField == 'DateField' && el.items[key].value) {\n let ymd = el.items[key].value.split(\" \")[0];\n documents[index].items[key].value = ymd; \n }\n }\n })\n this.documents = documents;\n // this.documents = res.data.data.data;\n this.getDateList(null, 'first');\n //以下判断是否显示更多按钮\n }\n }\n );\n \n }\n },\n\n //月视图获取月列表\n getDateList(isNextOrPre, value){\n this.dateList=[];\n let month = this.month,\n year = this.year,\n firstDay = this.getFirstDay(year,month), //当前月\n daysLength = this.getDaysLength(year,month),\n dateList=this.dateList,\n that=this;\n let preMonth = month-1,\n preYear = year,\n nextMonth = month+1,\n nextYear = year;\n if(preMonth == 0){\n preMonth = 12;\n preYear--;\n }\n if(nextMonth == 13){\n nextMonth = 1;\n nextYear++;\n }\n for(var i=0;i<42;i++){\n if(i < firstDay){\n dateList.push({\n date: preYear + '/' + (preMonth>9?preMonth:'0'+preMonth) + '/' + (that.getDaysLength(preYear,preMonth)+(i-firstDay+1)),\n type: 'prev'\n })\n }else if(i < (firstDay+daysLength)){\n dateList.push({\n date: year + '/' + (month>9?month:'0'+month) + '/' + (i-(firstDay)+1>9?i-(firstDay)+1:'0'+(i-(firstDay)+1)),\n type:'now'\n })\n }else{\n dateList.push({\n date: nextYear + '/' + (nextMonth>9?nextMonth:'0'+nextMonth) + '/' + (i-(firstDay+daysLength)+1>9?i-(firstDay+daysLength)+1:'0'+(i-(firstDay+daysLength)+1)),\n type:'next'\n })\n }\n }\n let allArr = [];\n for(let i=0; i<7; i++) {\n let arr = [];\n switch(i) {\n case 0:\n arr = this.dateList.slice(0,7);\n allArr.push(arr);\n break;\n case 1:\n arr = this.dateList.slice(7,14);\n allArr.push(arr);\n break;\n case 2:\n arr = this.dateList.slice(14,21);\n allArr.push(arr);\n break;\n case 3:\n arr = this.dateList.slice(21,28);\n allArr.push(arr);\n break;\n case 4:\n arr = this.dateList.slice(28,35);\n allArr.push(arr);\n break;\n case 5:\n arr = this.dateList.slice(35,42);\n allArr.push(arr);\n break;\n default:\n break\n }\n\n }\n this.monthDateList = allArr;\n if(value) {\n this.$nextTick(()=>{\n this.MonthViewUpdateNode();\n })\n }\n \n if(isNextOrPre) {\n let ym = (year + \"-\" + (month>9?month:'0' + month));\n let newMonth=parseInt(new Date(ym).getMonth())+1; //获取当前时间的月\n let newYear=parseInt(new Date(ym).getFullYear()); //获取当前时间的年\n let startDate = new Date(newYear,newMonth-1,1); //获取当前月的第一天\n let endDate = new Date(newYear,newMonth,0); //获取当前月的最后一天\n this.monthFirstDay = this.writeCurrentDate(\"\", startDate);\n this.monthLastDay = this.writeCurrentDate(\"\", endDate);\n let YM = this.monthFirstDay.split(\"-\");\n this.currentDate = YM[0] + \"-\" + YM[1];\n this.$api.getViewData(\n //普通视图接口\n this.$root.appid,\n this.view.id,\n {\n parentId: this.parentId ? this.parentId : \"\",\n currpage: this.currentPage,\n lines: 10,\n searchWord:'',\n startDate: this.monthFirstDay + ' 00:00',\n endDate: this.monthLastDay + ' 24:00',\n },\n {},\n {\n onSucess: res => {\n // this.documents = res.data.data.data;\n let documents = res.data.data.data;\n documents.forEach((el, index) => {\n for(let key in el.items) {\n if(el.items[key].formField == 'DateField' && el.items[key].value) {\n let ymd = el.items[key].value.split(\" \")[0];\n documents[index].items[key].value = ymd; \n }\n }\n })\n this.documents = documents;\n this.$nextTick(()=>{\n this.MonthViewUpdateNode();\n })\n }\n }\n );\n }\n },\n\n //月视图每个时间点获取是否有数据,有就显示\n MonthViewUpdateNode() {\n if(this.monthRow && this.monthRow.length > 0) { \n for(let i=0; i 0) {\n for(let j=0; j 0) {\n for(let z=0; z\") >= 0) {\n total = total + 1;\n }\n }\n }\n if(total > 0) {\n let app2 = document.getElementById('date-monthdatamore'+ i + j);\n app2.style.color = '#fff';\n app2.style.display = 'block';\n app2.innerText = total\n }else {\n let app2 = document.getElementById('date-monthdatamore'+ i + j);\n app2.style.color = '#fff';\n app2.style.display = 'none';\n app2.innerText = ''\n }\n }\n }\n }\n } \n },\n\n //月视图获取当月第一天是周几\n getFirstDay(year,month){\n // let that = this;\n let value = new Date(year + '/' + month + '/1').getDay();\n return value;\n },\n\n //月视图获取月天数\n getDaysLength(year,month){\n var d = new Date(year, month, 0);\n return d.getDate();\n },\n\n formatDate (year, month, day) {\n const y = year;\n let m = month;\n if (m < 10){\n m = `0${m}`;\n } \n \n let d = day\n if (d < 10) {\n d = `0${d}`;\n }\n \n return `${y}-${m}-${d}`;\n },\n\n initData (cur) {\n this.oneWeekArray = [];\n let date = ''\n if (cur) {\n date = new Date(cur)\n } else {\n date = new Date()\n }\n this.currentDay = date.getDate() // 今日日期 几号\n this.currentYear = date.getFullYear() // 当前年份\n this.currentMonth = date.getMonth() + 1 // 当前月份\n this.currentWeeks = date.getDay() // 1...6,0 // 星期几\n if (this.currentWeeks === 0) {\n this.currentWeeks = 7\n }\n const str = this.formatDate(this.currentYear, this.currentMonth, this.currentDay)// 今日日期 年-月-日\n this.days.length = 0;\n this.days = [];\n for (let i = this.currentWeeks; i > 0; i -= 1) {\n const d = new Date(str)\n d.setDate(d.getDate() - i)\n this.oneWeekArray.push(d);\n let day = this.formatDate(d.getFullYear(), d.getMonth() + 1, d.getDate());\n this.days.push(day)\n }\n for (let i = 0; i <= 7 - this.currentWeeks - 1; i += 1) {\n const d = new Date(str)\n d.setDate(d.getDate() + i)\n this.oneWeekArray.push(d);\n let day = this.formatDate(d.getFullYear(), d.getMonth() + 1, d.getDate());\n this.days.push(day)\n }\n return this.days;\n },\n\n onRowClick(row) {\n if(this.view.readonly || this.view.readOnlyShowValOnly) {\n \n }else {\n let formId;\n if(this.view.templateForm) { //判断是模板表单还是数据源表单\n formId = this.view.templateForm\n }else {\n formId = row.formId\n }\n if((this.isView && this.allow) || !this.isView) {\n this.$api.hasPermissionToForm(this.$root.appid, formId, {\n onSucess: response => {\n if(response.data.data) {\n let params = {\n linkType: \"00\",\n appId: this.$root.appid,\n actionContent: formId,\n _select: row.id,\n viewId: this.view.id,\n newDoc: false,\n parentId:this.openParams.parentId?this.openParams.parentId:'', //包含元素时判断是否有parentId\n isRelate:this.openParams.isRelate?this.openParams.isRelate:'', //包含元素时判断isRelate是否为true\n searchData:this.searchData,\n showtype:this.showtype,\n templateForm:this.view.templateForm?this.view.templateForm:'', //模板表单携带的formId\n realformId:row.formId, //有模板表单时,原本真实的formId\n };\n if(this.showtype == \"include\" || this.showtype == \"tab\") {\n this.$parent.toNormalform(params,this.includeDisplayType);\n }else {\n if (this.view.openType == 1 || this.view.openType == 277) {\n this.$router.push({ name: \"open\", query: params });\n } else if (this.view.openType == 288) {\n this.$router.push({ name: \"open\", query: params });\n }\n }\n \n }else {\n Toast(this.$t('notPermission'))\n }\n }\n })\n }\n }\n \n },\n\n arraySpanMethod({ row, column, rowIndex, columnIndex }) {\n console.log(rowIndex)\n console.log(column)\n if(row && row.isInclude && columnIndex == 1) {\n let len = this.view.columns.length; \n return [1,len];\n }\n },\n\n handleSelectionChange(ev, row) {\n \n let val = [];\n //非视图选择框时\n val = this.selectedDocIds;\n this.$emit(\"updateDeletegateData\", val);\n },\n \n getListDisplayData(searchData){ //列表显示的数据\n if(!this.allPendingLoaded) {\n let startTime = \"1900-01-01 00:00\",\n endTime = \"2099-12-31 00:00\",\n page = Math.floor(this.documents .length / 10) + 1,\n size = 10;\n this.getViewData(page, size, searchData, startTime, endTime).then(response => {\n this.$refs.loadmorepending.onBottomLoaded();\n this.row_count = response.data.row_count;\n this.documents = this.documents.concat(\n response.data.data\n );\n this.allPendingLoaded =\n this.documents.length >= response.data.row_count;\n });\n }\n },\n\n getData(page, size, searchData, startTime, endTime) {\n this.getViewData(page, size,searchData, startTime, endTime).then(response => {\n let docs = response.data.data;\n let d = response.data.data;\n this.documents = d;\n let row_count = response.data.row_count\n this.row_count = row_count;\n if(row_count <= d.length) {\n this.allPendingLoaded = true;\n }\n let tds = [];\n if (docs) {\n docs.forEach(doc => {\n let rows = {};\n rows.formId = doc.formId;\n rows.docId = doc.id;\n for (var key in doc.items) {\n let items = doc.items[key];\n rows[key] = items.value;\n }\n if(doc.isSum) {\n rows.isSum = doc.isSum;\n }\n tds.push(rows);\n });\n this.tableData = tds;\n }\n });\n },\n \n getCurrentDate() {\n let routerDate = this.$route.query.clickDate;\n let day = routerDate ? new Date(routerDate) : new Date();\n day.setTime(day.getTime());\n let year = day.getFullYear()\n let Month = day.getMonth() + 1;\n let Day = day.getDate();\n Month = Month >= 10 ? Month: \"0\"+Month;\n Day = Day >= 10 ? Day: \"0\" + Day;\n let s = year +\"-\" + Month + \"-\" + Day;\n this.currentDate = s;\n let obj = {\n startDate: s + \" 00:00\",\n endDate: s + \" 24:00\"\n }\n return obj;\n },\n\n //模拟数据请求\n getViewData(page, size, searchData, startTime, endTime) {\n let startDate = startTime?startTime:this.getCurrentDate().startDate;\n let endDate = endTime?endTime:this.getCurrentDate().endDate;\n // let treeData = \"\";\n // let treeName = \"\";\n return new Promise(resolve => {\n this.$api.getViewData(\n //普通视图接口\n this.$root.appid,\n this.view.id,\n {\n parentId: this.parentId ? this.parentId : \"\",\n currpage: page?page:this.currentPage,\n lines: 10,\n searchWord:'',\n startDate:startDate,\n endDate:endDate,\n },\n searchData?searchData:{},\n {\n onSucess: response => {\n let viewData = response.data;\n resolve(viewData);\n }\n }\n );\n });\n },\n \n //正则转换值\n regReplace(value) {\n if(value){\n return value.replace(/%/g, \"%\")\n }\n },\n\n viewFieldPath(value, field) {\n if (value && field == \"ImageUploadField\") {\n let arr = JSON.parse(value);\n let name = \"\";\n if (arr && arr.length > 0) {\n for (let i = 0; i < arr.length; i++) {\n name += arr[i].name + \";\";\n }\n }\n name = name.replace(/^(\\s|;)+|(\\s|;)+$/g, \"\");\n return name;\n } else if (value && field == \"AttachmentUploadField\") {\n let arr = JSON.parse(value);\n let name = \"\";\n if (arr && arr.length > 0) {\n for (let i = 0; i < arr.length; i++) {\n name += arr[i].name + \";\";\n }\n }\n name = name.replace(/^(\\s|;)+|(\\s|;)+$/g, \"\");\n return name;\n }\n },\n\n /*number 需要保留小数的数\n fractionDigits 保留小数位数\n */\n toFixed(number, fractionDigits) {\n var times = Math.pow(10, fractionDigits);\n var roundNum = Math.round(number * times) / times;\n return roundNum.toFixed(fractionDigits);\n },\n /* number:要格式化的数字\n * decimals:保留几位小数 默认0位\n * currency:货币类型\n * decPoint:小数点符号 默认.\n * thousandsSep:千分位符号 默认为,\n */\n currencyChange(number, decimals,currency,decPoint = '.',thousandsSep = ',') {\n number = (number + \"\").replace(/[^0-9+-Ee.]/g, \"\");\n let n = !isFinite(+number) ? 0 : +number;\n let prec = !isFinite(+decimals) ? 0 : Math.abs(decimals);\n let sep = typeof thousandsSep === \"undefined\" ? \",\" : thousandsSep;\n let dec = typeof decPoint === \"undefined\" ? \".\" : decPoint;\n let s = \"\";\n let symbol;\n if(currency ==\"zh_CN\"){\n symbol = \"¥\"\n }else if(currency ==\"en_US\"){\n symbol = \"$\"\n }else if(currency ==\"en_GB\"){\n symbol = \"£\"\n }else if(currency ==\"ja_JP\"){\n symbol = \"¥\"\n }else{\n symbol = \"\"\n }\n let toFixedFix = function(n, prec) {\n let k = Math.pow(10, prec);\n return \"\" + Math.ceil(n * k) / k;\n };\n s = (prec ? toFixedFix(n, prec) : \"\" + Math.round(n)).split(\".\");\n let re = /(-?\\d+)(\\d{3})/;\n while (re.test(s[0])) {\n s[0] = s[0].replace(re, \"$1\" + sep + \"$2\");\n }\n if ((s[1] || \"\").length < prec) {\n s[1] = s[1] || \"\";\n s[1] += new Array(prec - s[1].length + 1).join(\"0\");\n }\n return symbol+s.join(dec);\n },\n },\n filters: {\n formDate: function(value) {\n let val = value.split(\"/\")[2];\n if(val) {\n return val;\n }\n \n },\n formWeek: function(value) {\n switch(value) {\n case '星期日':\n return '周日'\n case '星期一':\n return '周一'\n case '星期二':\n return '周二'\n case '星期三':\n return '周三'\n case '星期四':\n return '周四'\n case '星期五':\n return '周五'\n case '星期六':\n return '周六'\n default:\n break;\n }\n },\n\n formYMD: function(value) {\n let MD = value.split(\"-\")[1] + '-' + value.split(\"-\")[2]\n return MD;\n }\n }\n};\n",null]}