company/.env.development | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/business/OperaSettleClaimsWindow.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/enterprise/insuranceRecords.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/company/src/main/resources/logback-spring.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/platform/src/main/resources/logback-spring.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/service/src/main/resources/logback-spring.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/shop/src/main/resources/logback-spring.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
company/.env.development
@@ -10,5 +10,5 @@ # VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/' #VUE_APP_API = 'http://localhost:10030/' #VUE_APP_API = 'http://192.168.0.135:10030/' VUE_APP_API = 'https://www.yyb.red/yyb_admin_api/' VUE_APP_API = 'http://192.168.0.135:10030/' #VUE_APP_API = 'https://www.yyb.red/yyb_admin_api/' company/src/components/business/OperaSettleClaimsWindow.vue
@@ -385,7 +385,7 @@ <div class="desc_times"> <el-timeline :reverse="reverse"> <el-timeline-item v-for="(activity, index) in model.settleClaimsLogList" v-for="(activity, index) in activeLogList" :key="index" :timestamp="activity.timestamp"> <div style="display: flex; flex-direction: column;" v-if="activity.objType==3"> @@ -436,167 +436,171 @@ <script> import UploadFileCommon from '@/components/common/UploadFileCommon' import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' import OperaSettleClaimsCheckWindow from '@/components/business/OperaSettleClaimsCheckWindow' import onlineReporting from '@/components/enterprise/onlineReporting' import supplementaryExplanation from '@/components/enterprise/supplementaryExplanation' import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow' import upload from '@/components/common/upload' import {confirmFile, findById,exportFiles,claimsUploadFile,delFile} from '@/api/business/settleClaims' import { mapState } from 'vuex' export default { name: 'OperaSettleClaimsWindow', extends: BaseOpera, components: { GlobalWindow, OperaSettleClaimsCheckWindow, OperaInsuranceApplyDetails, UploadFileCommon, onlineReporting, supplementaryExplanation, upload }, data () { return { loading: false, doneFileDate: null, remarkLogList: [], list: [], model: {}, activeName: 'first', reverse: false } }, computed: { ...mapState(['userInfo']) }, created () { this.config({ api: '/business/settleClaims', 'field.id': 'id' }) }, methods: { open(title,target){ this.model = {} this.model = target this.title = title this.visible = true this.doneFileDate = null this.remarkLogList = [] this.getDetail() }, // å¤æä¸¤ä¸ªæ¶é´ä¹é´ç¸å·®æ¯å¦ contrast24(time1, time2) { console.log(time1) console.log(time2) if (time1 && time2) { let a = new Date(time1) let b = new Date(time2) let timeDiff = Math.abs(a.getTime() - b.getTime()); console.log(Math.ceil(timeDiff / (3600 * 1000))) return Math.ceil(timeDiff / (3600 * 1000)) <= 24; } else { return false } }, contrast(time1, time2) { if (time1 && time2) { let a = new Date(time1).getTime() let b = new Date(time2).getTime() return a > b } else { return false } }, edit() { let obj = JSON.parse(JSON.stringify(this.model)) obj.areaId = obj.areaId.split(',').map(item => Number(item)) this.$refs.onlineReporting.open('ä¿®æ¹ä¿¡æ¯', obj) }, openBaoxiandan(){ window.open(this.model.baoxiandanFile.fileurlFull); }, delFile(id){ this.$dialog.messageConfirm('确认å é¤è¯¥éä»¶åï¼ä¸æ¦å 餿 æ³æ¤åï¼') .then(() => { delFile(this.model.id, id).then(response => { this.getDetail() }).catch(err => { this.$tip.apiFailed(err) }) }) }, getDetail(){ findById( this.model.id) .then(res => { this.model = res this.remarkLogList = [] var logList = this.model.settleClaimsLogList if (logList) { logList.forEach(item => { if (item.objType == 2) { this.doneFileDate = item.createDate } if (item.objType==7) { this.remarkLogList.push(item) } }) } }).catch(err => { }) }, handleClick(tab) { this.activeName = tab.name }, callback(){ this.getDetail() this.$emit('success') }, claimsUploadFile(e, objType) { claimsUploadFile({ id: this.model.id, objType, fileUrl: e.imgaddr, fileName: e.originname, fileType: e.type }).then(response => { this.getDetail() }).catch(err => { this.$tip.apiFailed(err) }).finally(() => { this.loading = false }) }, submit(type) { var that = this if (type == 0) { this.$dialog.messageConfirm('çèµæææ¶é宿ï¼è¯·åæ¶æäº¤ä¿é©å ¬å¸ï¼') .then(() => { // this.isWorking = true confirmFile({id:that.model.id}) .then(response => { that.getDetail() }).catch(err => { this.$tip.apiFailed(err) }) }) }else if(type == 1){ //èµæä¸è½½ this.$dialog.exportConfirm('确认è¿è¡èµæä¸è½½åï¼') .then(() => { this.isWorking = true exportFiles({ id: that.model.id }) .then(response => { this.download(response) }).catch(err => { console.log(err) this.$message.error("ä¸è½½èµæå¤±è´¥ï¼è¯·ç¡®è®¤èµææ°æ®ä¸ä¸ºç©º") }).finally(() => { this.isWorking = false }) }) .catch(() => { }) } } } import UploadFileCommon from '@/components/common/UploadFileCommon' import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' import OperaSettleClaimsCheckWindow from '@/components/business/OperaSettleClaimsCheckWindow' import onlineReporting from '@/components/enterprise/onlineReporting' import supplementaryExplanation from '@/components/enterprise/supplementaryExplanation' import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow' import upload from '@/components/common/upload' import { confirmFile, findById, exportFiles, claimsUploadFile, delFile } from '@/api/business/settleClaims' import { mapState } from 'vuex' export default { name: 'OperaSettleClaimsWindow', extends: BaseOpera, components: { GlobalWindow, OperaSettleClaimsCheckWindow, OperaInsuranceApplyDetails, UploadFileCommon, onlineReporting, supplementaryExplanation, upload }, data () { return { loading: false, doneFileDate: null, remarkLogList: [], activeLogList:[], list: [], model: {}, activeName: 'first', reverse: false } }, computed: { ...mapState(['userInfo']) }, created () { this.config({ api: '/business/settleClaims', 'field.id': 'id' }) }, methods: { open (title, target) { this.model = {} this.model = target this.title = title this.visible = true this.doneFileDate = null this.remarkLogList = [] this.activeLogList = [] this.getDetail() }, // å¤æä¸¤ä¸ªæ¶é´ä¹é´ç¸å·®æ¯å¦ contrast24 (time1, time2) { console.log(time1) console.log(time2) if (time1 && time2) { const a = new Date(time1) const b = new Date(time2) const timeDiff = Math.abs(a.getTime() - b.getTime()) console.log(Math.ceil(timeDiff / (3600 * 1000))) return Math.ceil(timeDiff / (3600 * 1000)) <= 24 } else { return false } }, contrast (time1, time2) { if (time1 && time2) { const a = new Date(time1).getTime() const b = new Date(time2).getTime() return a > b } else { return false } }, edit () { const obj = JSON.parse(JSON.stringify(this.model)) obj.areaId = obj.areaId.split(',').map(item => Number(item)) this.$refs.onlineReporting.open('ä¿®æ¹ä¿¡æ¯', obj) }, openBaoxiandan () { window.open(this.model.baoxiandanFile.fileurlFull) }, delFile (id) { this.$dialog.messageConfirm('确认å é¤è¯¥éä»¶åï¼ä¸æ¦å 餿 æ³æ¤åï¼') .then(() => { delFile(this.model.id, id).then(response => { this.getDetail() }).catch(err => { this.$tip.apiFailed(err) }) }) }, getDetail () { findById(this.model.id) .then(res => { this.model = res this.remarkLogList = [] this.activeLogList =[] var logList = this.model.settleClaimsLogList if (logList) { logList.forEach(item => { if (item.objType == 2) { this.doneFileDate = item.createDate } if (item.objType == 7) { this.remarkLogList.push(item) } else { this.activeLogList.push(item) } }) } }).catch(err => { }) }, handleClick (tab) { this.activeName = tab.name }, callback () { this.getDetail() this.$emit('success') }, claimsUploadFile (e, objType) { claimsUploadFile({ id: this.model.id, objType, fileUrl: e.imgaddr, fileName: e.originname, fileType: e.type }).then(response => { this.getDetail() }).catch(err => { this.$tip.apiFailed(err) }).finally(() => { this.loading = false }) }, submit (type) { var that = this if (type == 0) { this.$dialog.messageConfirm('çèµæææ¶é宿ï¼è¯·åæ¶æäº¤ä¿é©å ¬å¸ï¼') .then(() => { // this.isWorking = true confirmFile({ id: that.model.id }) .then(response => { that.getDetail() }).catch(err => { this.$tip.apiFailed(err) }) }) } else if (type == 1) { // èµæä¸è½½ this.$dialog.exportConfirm('确认è¿è¡èµæä¸è½½åï¼') .then(() => { this.isWorking = true exportFiles({ id: that.model.id }) .then(response => { this.download(response) }).catch(err => { console.log(err) this.$message.error('ä¸è½½èµæå¤±è´¥ï¼è¯·ç¡®è®¤èµææ°æ®ä¸ä¸ºç©º') }).finally(() => { this.isWorking = false }) }) .catch(() => { }) } } } } </script> <style> .v-modal { company/src/components/enterprise/insuranceRecords.vue
@@ -44,6 +44,14 @@ label="æå±å·¥ç§"> </el-table-column> <el-table-column prop="status" label="ç¶æ"> <template scope="{row}"> <span v-if="row.isValid == 1" style="color: red">已失æ</span> <span v-else style="color: green">ææ</span> </template> </el-table-column> <el-table-column prop="startTime" label="ä¿é©çæèµ·æ"> </el-table-column> server/company/src/main/resources/logback-spring.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,61 @@ <?xml version="1.0" encoding="utf-8" ?> <configuration> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%highlight(%date{yyyy-MM-dd HH:mm:ss}) | %highlight(%-5level) | %highlight(%thread) | %highlight(%logger) | %msg%n</pattern> </layout> </appender> <property name="log.path" value="log/web"></property> <property name="log.fileSize" value="100MB"></property> <property name="log.historyDays" value="7"></property> <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <!--å¹é å°±èå»--> <onMatch>DENY</onMatch> <onMismatch>ACCEPT</onMismatch> </filter> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!--è·¯å¾--> <fileNamePattern>${log.path}/info.%d.%i.log</fileNamePattern> <maxFileSize>${log.fileSize}</maxFileSize> <maxHistory>${log.historyDays}</maxHistory> <totalSizeCap>1GB</totalSizeCap> </rollingPolicy> </appender> <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <!--æ»å¨çç¥--> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!--è·¯å¾--> <fileNamePattern>${log.path}/error.%d.%i.log</fileNamePattern> <maxFileSize>${log.fileSize}</maxFileSize> <maxHistory>${log.historyDays}</maxHistory> <totalSizeCap>1GB</totalSizeCap> </rollingPolicy> </appender> <!-- 弿¥åå ¥æ¥å¿ --> <appender name ="ASYNC" class= "ch.qos.logback.classic.AsyncAppender"> <!-- ä¸ä¸¢å¤±æ¥å¿.é»è®¤ç,妿éåç80%已满,åä¼ä¸¢å¼TRACTãDEBUGãINFO级å«çæ¥å¿ --> <discardingThreshold >0</discardingThreshold> <!-- æ´æ¹é»è®¤çéåçæ·±åº¦,该å¼ä¼å½±åæ§è½.é»è®¤å¼ä¸º256 --> <queueSize>512</queueSize> <!-- æ·»å éå çappender,æå¤åªè½æ·»å ä¸ä¸ª --> <appender-ref ref ="fileInfoLog"/> </appender> <root level="info"> <appender-ref ref="consoleLog"/> <appender-ref ref="fileInfoLog"/> <appender-ref ref="fileErrorLog"/> </root> </configuration> server/platform/src/main/resources/logback-spring.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,61 @@ <?xml version="1.0" encoding="utf-8" ?> <configuration> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%highlight(%date{yyyy-MM-dd HH:mm:ss}) | %highlight(%-5level) | %highlight(%thread) | %highlight(%logger) | %msg%n</pattern> </layout> </appender> <property name="log.path" value="log/admin"></property> <property name="log.fileSize" value="100MB"></property> <property name="log.historyDays" value="7"></property> <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <!--å¹é å°±èå»--> <onMatch>DENY</onMatch> <onMismatch>ACCEPT</onMismatch> </filter> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!--è·¯å¾--> <fileNamePattern>${log.path}/info.%d.%i.log</fileNamePattern> <maxFileSize>${log.fileSize}</maxFileSize> <maxHistory>${log.historyDays}</maxHistory> <totalSizeCap>1GB</totalSizeCap> </rollingPolicy> </appender> <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <!--æ»å¨çç¥--> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!--è·¯å¾--> <fileNamePattern>${log.path}/error.%d.%i.log</fileNamePattern> <maxFileSize>${log.fileSize}</maxFileSize> <maxHistory>${log.historyDays}</maxHistory> <totalSizeCap>1GB</totalSizeCap> </rollingPolicy> </appender> <!-- 弿¥åå ¥æ¥å¿ --> <appender name ="ASYNC" class= "ch.qos.logback.classic.AsyncAppender"> <!-- ä¸ä¸¢å¤±æ¥å¿.é»è®¤ç,妿éåç80%已满,åä¼ä¸¢å¼TRACTãDEBUGãINFO级å«çæ¥å¿ --> <discardingThreshold >0</discardingThreshold> <!-- æ´æ¹é»è®¤çéåçæ·±åº¦,该å¼ä¼å½±åæ§è½.é»è®¤å¼ä¸º256 --> <queueSize>512</queueSize> <!-- æ·»å éå çappender,æå¤åªè½æ·»å ä¸ä¸ª --> <appender-ref ref ="fileInfoLog"/> </appender> <root level="info"> <appender-ref ref="consoleLog"/> <appender-ref ref="fileInfoLog"/> <appender-ref ref="fileErrorLog"/> </root> </configuration> server/service/src/main/resources/logback-spring.xml
ÎļþÒÑɾ³ý server/shop/src/main/resources/logback-spring.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,61 @@ <?xml version="1.0" encoding="utf-8" ?> <configuration> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%highlight(%date{yyyy-MM-dd HH:mm:ss}) | %highlight(%-5level) | %highlight(%thread) | %highlight(%logger) | %msg%n</pattern> </layout> </appender> <property name="log.path" value="log/shop"></property> <property name="log.fileSize" value="100MB"></property> <property name="log.historyDays" value="7"></property> <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <!--å¹é å°±èå»--> <onMatch>DENY</onMatch> <onMismatch>ACCEPT</onMismatch> </filter> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!--è·¯å¾--> <fileNamePattern>${log.path}/info.%d.%i.log</fileNamePattern> <maxFileSize>${log.fileSize}</maxFileSize> <maxHistory>${log.historyDays}</maxHistory> <totalSizeCap>1GB</totalSizeCap> </rollingPolicy> </appender> <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <!--æ»å¨çç¥--> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!--è·¯å¾--> <fileNamePattern>${log.path}/error.%d.%i.log</fileNamePattern> <maxFileSize>${log.fileSize}</maxFileSize> <maxHistory>${log.historyDays}</maxHistory> <totalSizeCap>1GB</totalSizeCap> </rollingPolicy> </appender> <!-- 弿¥åå ¥æ¥å¿ --> <appender name ="ASYNC" class= "ch.qos.logback.classic.AsyncAppender"> <!-- ä¸ä¸¢å¤±æ¥å¿.é»è®¤ç,妿éåç80%已满,åä¼ä¸¢å¼TRACTãDEBUGãINFO级å«çæ¥å¿ --> <discardingThreshold >0</discardingThreshold> <!-- æ´æ¹é»è®¤çéåçæ·±åº¦,该å¼ä¼å½±åæ§è½.é»è®¤å¼ä¸º256 --> <queueSize>512</queueSize> <!-- æ·»å éå çappender,æå¤åªè½æ·»å ä¸ä¸ª --> <appender-ref ref ="fileInfoLog"/> </appender> <root level="info"> <appender-ref ref="consoleLog"/> <appender-ref ref="fileInfoLog"/> <appender-ref ref="fileErrorLog"/> </root> </configuration>