Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

jzh 1 год назад
Родитель
Сommit
781099c5c5

+ 2 - 2
client/.env.dev

@@ -5,8 +5,8 @@ VITE_DEV=false
 
 # 请求路径
 # VITE_BASE_URL='http://10.10.9.113:48080'
-# VITE_BASE_URL='http://10.10.10.7:18080'
-VITE_BASE_URL='http://oa.zjugis.com:28080'
+VITE_BASE_URL='http://10.10.10.7:18080'
+# VITE_BASE_URL='http://oa.zjugis.com:28080'
 
 # VITE_BASE_URL='http://10.10.9.168:48080'
 

+ 2 - 2
client/.env.pro

@@ -4,7 +4,7 @@ NODE_ENV=production
 VITE_DEV=false
 
 # 请求路径
-VITE_BASE_URL='http://oa.zjugis.com:28080'
+VITE_BASE_URL='https://oa.zjugis.com:28080'
 
 # 上传路径
 VITE_UPLOAD_URL='/infra/file/upload'
@@ -13,7 +13,7 @@ VITE_UPLOAD_URL='/infra/file/upload'
 VITE_FILE_BASE_URI='/infra/file'
 
 # 流程详情页面路径
-VITE_PROCESS_DETAIL_URI='http://oa.zjugis.com:28080/workflow'
+VITE_PROCESS_DETAIL_URI='https://oa.zjugis.com:28080/workflow'
 
 # 接口前缀
 VITE_API_BASEPATH=

+ 13 - 3
client/src/components/Tinymce/Tinymce.vue

@@ -67,7 +67,14 @@ function buildShortUUID(prefix = '') {
   const random = Math.floor(Math.random() * 1000000000)
   return prefix + '_' + random + String(time)
 }
-
+function buildUUID() {
+  const date = new Date()
+  const uuid =
+    Math.random().toString().replace('.', '') +
+    Math.random().toString().replace('.', '') +
+    date.getTime()
+  return uuid
+}
 function onMountedOrActivated(hook) {
   let mounted
   onMounted(() => {
@@ -146,10 +153,13 @@ const initOptions = computed(() => {
     content_css: '/resource/tinymce/skins/ui/oxide/content.min.css',
     images_upload_handler(blobInfo, succFun, failFun) {
       const file = blobInfo.blob()
-      console.log(file)
       const url = import.meta.env.VITE_UPLOAD_URL
       const formData = new FormData()
-      formData.append('path', file['name'])
+      const arr = file.name.split('.')
+      if (arr.length > 1) {
+        const suffix = arr[arr.length - 1]
+        formData.append('path', `${buildUUID()}.${suffix}`)
+      }
       formData.append('file', file)
       request.upload({ url: url, data: formData }).then((result) => {
         succFun(result['data'])

+ 11 - 0
client/src/utils/index.ts

@@ -138,6 +138,17 @@ export const generateUUID = () => {
   })
 }
 
+/**
+ * 获取文件格式
+ */
+export const getFileSuffix = (fileName: string) => {
+  if (!fileName) return
+  const arr = fileName.split('.')
+  if (arr.length > 1) {
+    return arr[arr.length - 1]
+  }
+  return
+}
 /**
  * element plus 的文件大小 Formatter 实现
  *

+ 5 - 1
client/src/views/OaSystem/marketCenter/contractSubOut/applyIndex.vue

@@ -121,7 +121,11 @@
           </el-table-column>
           <el-table-column label="状态" width="120">
             <template #default="scope">{{
-              scope.row.contractSubFlowStatus === 90 ? '已付清' : '未付清'
+              scope.row.contractSubFlowStatus != 90 && isSignType[scope.row.isSign] === '是'
+                ? '未签'
+                : scope.row.contractAmount - (scope.row.payAmount ?? 0) === 0
+                ? '已付清'
+                : '未付清'
             }}</template>
           </el-table-column>
           <el-table-column label="操作" fixed="right" align="center" width="200">

+ 5 - 1
client/src/views/OaSystem/newsCenter/newsSetting/editor.vue

@@ -261,7 +261,11 @@ async function uploadFileAjax(file: any): Promise<void> {
     Math.random().toString().replace('.', '') +
     Math.random().toString().replace('.', '') +
     date.getTime()
-  sendFData.append('path', uuid)
+  const arr = file.name.split('.')
+  if (arr.length > 1) {
+    const suffix = arr[arr.length - 1]
+    sendFData.append('path', `${uuid}.${suffix}`)
+  }
   sendFData.append('file', file)
   const result = await request.upload({ url: url, data: sendFData })
   formData.value.imgurl = coverImg.value = result['data']

+ 1 - 1
client/src/views/OaSystem/officeCenter/noticeAndLearn/add.vue

@@ -48,7 +48,7 @@ import { useRoute } from 'vue-router'
 import { ElMessage, FormRules, FormInstance } from 'element-plus'
 import request from '@/config/axios'
 import router from '@/router'
-import { useFiles } from './mixins.ts'
+import { useFiles } from './mixins'
 
 const { fileUrls, downloadFile, uploadFile, deleteFile } = useFiles(request)
 

+ 2 - 2
client/src/views/OaSystem/officeCenter/noticeAndLearn/detail.vue

@@ -12,7 +12,7 @@
           <ul class="prviewFile">
             <li v-for="(item, index) in fileUrls" :key="index">
               <span>
-                <a href="javascript:void(0);" @click="downloadFile(item['url'])">{{
+                <a href="javascript:void(0);" @click="previewFile(item['url'])">{{
                   item['name']
                 }}</a>
               </span>
@@ -44,7 +44,7 @@ const detailForm = ref<{
 })
 const preVisiable = ref<boolean>(false)
 const currentUrl = ref<string>()
-const downloadFile = (url) => {
+const previewFile = (url) => {
   preVisiable.value = true
   // currentUrl.value = 'http://localhost:3000/test.pdf'
   currentUrl.value = url

+ 1 - 1
client/src/views/OaSystem/officeCenter/noticeAndLearn/editor.vue

@@ -48,7 +48,7 @@ import { useRoute } from 'vue-router'
 import { ElMessage, FormRules, FormInstance } from 'element-plus'
 import request from '@/config/axios'
 import router from '@/router'
-import { useFiles } from './mixins.ts'
+import { useFiles } from './mixins'
 
 const { fileUrls, downloadFile, queryFiles, uploadFile, deleteFile } = useFiles(request)
 

+ 6 - 1
client/src/views/OaSystem/officeCenter/noticeAndLearn/mixins.ts

@@ -1,3 +1,4 @@
+import { generateUUID, getFileSuffix } from '@/utils/index'
 interface FileInterface {
   id: number
   name: string
@@ -14,10 +15,13 @@ export const useFiles = (request: any) => {
       fileUrls.value = result
     }
   }
+  async function downloadFile(fileUrl: string): Promise<void> {
+    window.open(fileUrl)
+  }
   async function uploadFile(file: any): Promise<void> {
     const url = `${import.meta.env.VITE_FILE_BASE_URI}/upload-and-get-id`
     const sendFData = new FormData()
-    sendFData.append('path', file.name)
+    sendFData.append('path', `${generateUUID()}.${getFileSuffix(file.name)}`)
     sendFData.append('file', file)
     const result = await request.upload({ url: url, data: sendFData })
     const resultData = result.data
@@ -51,6 +55,7 @@ export const useFiles = (request: any) => {
     fileUrls,
     queryFiles,
     uploadFile,
+    downloadFile,
     deleteFile
   }
 }

+ 1 - 1
client_h5/.env.pro

@@ -1,4 +1,4 @@
-VITE_BASE_URL='http://oa.zjugis.com:28080/'
+VITE_BASE_URL='https://oa.zjugis.com:28080/'
 
 # File上传路径
 VITE_FILE_BASE_URI='/admin-api/infra/file'

+ 5 - 1
client_h5/src/router/index.ts

@@ -25,7 +25,11 @@ router.beforeEach(async (to, from, next) => {
           if (action === 'confirm') {
             closeDialog()
             localStorage.clear();
-            window.location.reload()
+            getUserInfoPromise(false).then((isLoginHttp) => {
+              if (isLoginHttp) {
+                window.location.reload()
+               }
+             })
           }
         },
       })

+ 3 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/commoncost/controller/vo/CommonCostDetailBaseVO.java

@@ -47,4 +47,7 @@ public class CommonCostDetailBaseVO {
 
     @Schema(description = "备注")
     private String bz1;
+
+    @Schema(description = "排序序号")
+    private Integer indexCode;
 }

+ 4 - 4
zjugis-business/src/main/resources/application-prod.yaml

@@ -43,10 +43,10 @@ spring:
           username: ZJUGIS_BUSINESS
           password: Zjugis1402
 serviceUrl:
-  sysUrl: http://oa.zjugis.com:28080/business
-  UI: http://oa.zjugis.com:28080/workflow
-  ui_version: http://oa.zjugis.com:28080/workflow
-  z_workflow: http://oa.zjugis.com:28080/workflow
+  sysUrl: https://oa.zjugis.com:28080/business
+  UI: https://oa.zjugis.com:28080/workflow
+  ui_version: https://oa.zjugis.com:28080/workflow
+  z_workflow: https://oa.zjugis.com:28080/workflow
 
 # 日志文件配置
 logging:

+ 0 - 183
zjugis-gateway/src/main/resources/application-prod.yaml

@@ -1,183 +0,0 @@
---- #################### 数据库相关配置 ####################
-spring:
-  # 数据源配置项
-  autoconfigure:
-    exclude:
-      - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源
-  datasource:
-    druid: # Druid 【监控】相关的全局配置
-      web-stat-filter:
-        enabled: true
-      stat-view-servlet:
-        enabled: true
-        allow: # 设置白名单,不填则允许所有访问
-        url-pattern: /druid/*
-        login-username: # 控制台管理用户名和密码
-        login-password:
-      filter:
-        stat:
-          enabled: true
-          log-slow-sql: true # 慢 SQL 记录
-          slow-sql-millis: 100
-          merge-sql: true
-        wall:
-          config:
-            multi-statement-allow: true
-    dynamic: # 多数据源配置
-      druid: # Druid 【连接池】相关的全局配置
-        initial-size: 1 # 初始连接数
-        min-idle: 1 # 最小连接池数量
-        max-active: 20 # 最大连接池数量
-        max-wait: 600000 # 配置获取连接等待超时的时间,单位:毫秒
-        time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位:毫秒
-        min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间,单位:毫秒
-        max-evictable-idle-time-millis: 900000 # 配置一个连接在池中最大生存的时间,单位:毫秒
-        validation-query: SELECT 1 FROM DUAL # 配置检测连接是否有效
-        test-while-idle: true
-        test-on-borrow: false
-        test-on-return: false
-      primary: master
-      datasource:
-        master:
-          name: zjugis-oa
-          #          url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
-          #          url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例
-          #          url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.master.name} # PostgreSQL 连接的示例
-          url: jdbc:oracle:thin:@10.10.10.8:1521:ORCL # Oracle 连接的示例
-          #          url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.master.name} # SQLServer 连接的示例
-          username: ZJUGIS_OA
-          password: zdww1402!
-        #          username: sa
-        #          password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W
-        slave: # 模拟从库,可根据自己需要修改
-          name: zjugis-oa
-          #          url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
-          #          url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例
-          #          url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.slave.name} # PostgreSQL 连接的示例
-          url: jdbc:oracle:thin:@10.10.10.8:1521:ORCL # Oracle 连接的示例
-          #          url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.slave.name} # SQLServer 连接的示例
-          username: ZJUGIS_OA
-          password: zdww1402!
-  #          username: sa
-  #          password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W
-
-  # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
-  redis:
-    host: 10.10.10.8 # 地址
-    port: 6379 # 端口
-    database: 0 # 数据库索引
-    password: zdww1402 # 密码,建议生产环境开启
-
---- #################### MQ 消息队列相关配置 ####################
-spring:
-  rabbitmq:
-    host: 10.10.10.7
-    port: 5672
-    username: zjww
-    password: zjww1402!
-    virtual-host: platform3
-    publisher-confirm-type: correlated #消息确认回调
-    publisher-returns: true #消息返回回调
-    listener:
-      simple:
-        acknowledge-mode: manual #手动确认
-        concurrency: 20          #每个消费者可并行处理的数量
-        max-concurrency: 100
-  cloud:
-    stream:
-      #      rocketmq:
-      #        # RocketMQ Binder 配置项,对应 RocketMQBinderConfigurationProperties 类
-      #        binder:
-      #          name-server: 127.0.0.1:9876 # RocketMQ Namesrv 地址
-      #          enabled: false
-      #      binding-retry-interval: 7200 # 消息绑定重试间隔时间,单位:秒,默认为 30 秒。考虑到本地可能不启动 RocketMQ 服务,设置为 2 小时
-      binders:
-        rabbitmq:
-          type: rabbit
-          environment:
-            spring:
-              rabbitmq:
-                host: 10.10.10.7
-                port: 5672
-                username: zjww
-                password: zjww1402!
-                virtual-host: platform3
-                publisher-confirms: true #消息确认回调
-                publisher-returns: true #消息返回回调
-                listener:
-                  simple:
-                    acknowledge-mode: manual #手动确认
-                    concurrency: 20          #每个消费者可并行处理的数量
-                    max-concurrency: 100
-
---- #################### 定时任务相关配置 ####################
-
-xxl:
-  job:
-    enabled: true # 是否开启调度中心,默认为 true 开启
-    admin:
-      addresses: http://10.10.10.7:18080/xxl-job-admin # 调度中心部署跟地址
-
---- #################### 服务保障相关配置 ####################
-
-# Lock4j 配置项
-lock4j:
-  acquire-timeout: 3000 # 获取分布式锁超时时间,默认为 3000 毫秒
-  expire: 30000 # 分布式锁的超时时间,默认为 30 毫秒
-
---- #################### 监控相关配置 ####################
-
-# Actuator 监控端点的配置项
-management:
-  endpoints:
-    web:
-      base-path: /actuator # Actuator 提供的 API 接口的根目录。默认为 /actuator
-      exposure:
-        include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。
-
-# Spring Boot Admin 配置项
-spring:
-  boot:
-    admin:
-      # Spring Boot Admin Client 客户端的相关配置
-      client:
-        instance:
-          service-host-type: IP # 注册实例时,优先使用 IP [IP, HOST_NAME, CANONICAL_HOST_NAME]
-
-# 日志文件配置
-logging:
-  level:
-    # 配置自己写的 MyBatis Mapper 打印日志
-    com.zjugis.module.adm.dal.mysql: info
-    com.zjugis.module.adm: warn
-
-
---- #################### 海康门禁相关配置 ####################
-hcnet:
-  strDllPath: /home/oa_test/zjugis-adm/lib/libhcnetsdk.so # HCNetSDK地址
-  strPath1: /home/oa_test/zjugis-adm/lib/libcrypto.so.1.1 # linux系统下必须 libcrypto.so.1.1地址
-  strPath2: /home/oa_test/zjugis-adm/lib/libssl.so.1.1 # linux系统下必须 libssl.so.1.1地址
-  strPathCom: /home/oa_test/zjugis-adm/lib # linux系统下必须 lib包路径
---- #################### 万维相关配置 ####################
-
-# 万维配置项,设置当前项目所有自定义的配置
-zjugis:
-  env: # 多环境的配置项
-  security:
-    mock-enable: true
-  xss:
-    enable: false
-    exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系
-      - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
-      - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
-  access-log: # 访问日志的配置项
-    enable: false
-  error-code: # 错误码相关配置项
-    enable: false
-  demo: false # 关闭演示模式
-
-
-#  mybatis-plus配置控制台打印完整带参数SQL语句
-mybatis-plus:
-  configuration:
-    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl

+ 1 - 1
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/service/report/ReportDingServiceImpl.java

@@ -55,7 +55,7 @@ public class ReportDingServiceImpl {
     @Resource
     private ReportMapper reportMapper;
 
-    private static final String URL = "http://oa.zjugis.com:28080/html_h5";
+    private static final String URL = "https://oa.zjugis.com:28080/html_h5";
 
     /**
      * 发送报告钉钉消息

+ 5 - 5
zjugis-report/src/main/resources/application-prod.yaml

@@ -10,8 +10,8 @@ spring:
     type: com.zaxxer.hikari.HikariDataSource
 
 serviceUrl:
-  sysUrl: http://oa.zjugis.com:28080/report
-  UI: http://oa.zjugis.com:28080/workflow
-  ui_version: http://oa.zjugis.com:28080/workflow
-  z_workflow: http://oa.zjugis.com:28080/workflow
-  report: http://oa.zjugis.com:28080/report
+  sysUrl: https://oa.zjugis.com:28080/report
+  UI: https://oa.zjugis.com:28080/workflow
+  ui_version: https://oa.zjugis.com:28080/workflow
+  z_workflow: https://oa.zjugis.com:28080/workflow
+  report: https://oa.zjugis.com:28080/report

+ 6 - 6
zjugis-workflow/src/main/resources/application-prod.yaml

@@ -44,15 +44,15 @@ spring:
 websocket:
   post: 26091
   path: "/ws"
-  url: http://oa.zjugis.com:28080/ws/
+  url: https://oa.zjugis.com:28080/ws/
 
 serviceUrl:
-  sysUrl: http://oa.zjugis.com:28080/workflow
-  UI: http://oa.zjugis.com:28080/workflow
-  ui_version: http://oa.zjugis.com:28080/UI
-  z_workflow: http://oa.zjugis.com:28080/workflow
+  sysUrl: https://oa.zjugis.com:28080/workflow
+  UI: https://oa.zjugis.com:28080/workflow
+  ui_version: https://oa.zjugis.com:28080/UI
+  z_workflow: https://oa.zjugis.com:28080/workflow
   z_file_management: http://114.215.200.79:81/z_file_management/
-  reportUrl: http://oa.zjugis.com:28080/report
+  reportUrl: https://oa.zjugis.com:28080/report
 
 
 logging: