jiangping
2024-06-27 6b152bd561f64f01a5bb0a8cc9784dfa601a72d1
提交一把
已添加3个文件
已删除1个文件
已修改3个文件
561 ■■■■■ 文件已修改
company/.env.development 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaSettleClaimsWindow.vue 326 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/insuranceRecords.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/resources/logback-spring.xml 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/resources/logback-spring.xml 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/resources/logback-spring.xml 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/shop/src/main/resources/logback-spring.xml 61 ●●●●● 补丁 | 查看 | 原始文档 | 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>