瀏覽代碼

PDF水印完成

yangfan 3 月之前
父節點
當前提交
0b1a25d504

+ 3 - 3
src/components/Generator/index/RightComponents/UploadFz.vue

@@ -52,10 +52,10 @@
         <el-input type="text" v-model="activeData.watermarkText" placeholder="请输入水印文字" />
         <div style="font-size: 12px">可插入变量:用户名:$用户名</div>
       </el-form-item>
-      <el-form-item label="允许下载">
-        <el-switch v-model="activeData.watermark" />
-      </el-form-item>
     </template>
+    <el-form-item label="允许下载">
+      <el-switch v-model="activeData.isDown" />
+    </el-form-item>
   </el-row>
 </template>
 <script>

+ 2 - 1
src/utils/define.js

@@ -3,9 +3,10 @@
 // JAVA Cloud对应网关地址
 // const APIURl = 'http://192.168.0.103:8181'
 
-const url = 'https://windata.platomix.net' // 测试环境
+// const url = 'https://windata.platomix.net' // 测试环境
 // const url = 'https://api.bi.platomix.net' // 测试环境
 // const url = 'https://bi.platomix.net' // BI环境
+const url = 'http://60.190.98.244:8070' // BI环境
 // const url = 'https://miniapp.zhangmushiye.com/' // 樟木环境
 // const url = 'http://hr.cscec8st.com.cn:50021/' // 中建环境
 // const url = 'http://hr.cscec8st.com.cn:50022/' // 中建环境

File diff suppressed because it is too large
+ 2 - 2
src/utils/request.js


+ 45 - 24
src/views/basic/dynamicModel/list/index.vue

@@ -134,12 +134,17 @@
           </template>
           <template #default_file="{ row, column }">
             <template v-if="fileList[column.property] && row[column.property]">
-              <el-button v-for="(item, uindex) in row[column.property].split(';').map((o) => fileList[column.property][o] || null)" type="text" size="mini" @click="imgOpenClick(item.filePath)">
+              <el-button
+                v-for="(item, uindex) in row[column.property].split(';').map((o) => fileList[column.property][o] || null)"
+                type="text"
+                size="mini"
+                @click="imgOpenClick(item.filePath, column)"
+              >
                 {{ item?.fileName }}
               </el-button>
             </template>
             <template v-else-if="column.params.jnpfKey === 'uploadFz' && row[column.property] && row[column.property] !== 'null' && row[column.property].includes('uploads/')">
-              <el-button v-for="(item, uindex) in JSON.parse(row[column.property])" type="text" size="mini" @click="imgOpenClick(item?.url)">{{ item.name }}</el-button>
+              <el-button v-for="(item, uindex) in JSON.parse(row[column.property])" type="text" size="mini" @click="imgOpenClick(item?.url, column)">{{ item.name }}</el-button>
             </template>
             <template v-else>
               <template v-if="row[column.property]">
@@ -838,6 +843,7 @@ import authGroupSelector from '@/views/dataset/auth-group-selector.vue'
 import { noSearchList, useDateList, useInputList } from '@/components/Generator/generator/comConfig'
 import { getDrawingList } from '@/components/Generator/utils/db'
 import { getToken } from '@/utils/auth'
+import { Base64 } from 'js-base64'
 const columnList = {}
 export default {
   name: 'dynamicModel',
@@ -1538,7 +1544,7 @@ export default {
             obj.values = [node.data[data.treeSearch || data.treePropsLabel]]
           }
           arr.push(obj)
-        } else if (i.params?.propId === data.treeRelation) {
+        } else if (i.propId === data.treeRelation) {
           obj.cubeColumnId = data.treeRelation
           obj.function = data.treeSearchType || 'like'
           if (data.treeDataSource === 'dictionary') {
@@ -3509,33 +3515,48 @@ export default {
           loading.close()
         })
     },
-    imgOpenClick(url) {
-      console.log(url)
+    imgOpenClick(url, column) {
+      const isWatermark = column.params?.compoentConfig?.watermark
       let ImgUrl = ''
       if (process.env.NODE_ENV === 'development') {
         ImgUrl = this.define.comUrl
       } else {
         ImgUrl = document.location.origin
       }
-      window.open(ImgUrl + '/' + url)
-      // let Base64 = require('js-base64').Base64
-      // // 获取当前时间的时间戳
-      // let currentTimestamp = Date.now()
-      // // 创建一个新的Date对象,并设置为当前时间加上一小时
-      // let oneHourLater = new Date(currentTimestamp)
-      // oneHourLater.setHours(oneHourLater.getHours() + 1)
-      // // 获取一小时后的时间戳
-      // let oneHourTimestamp = oneHourLater.getTime()
-      // let obj = {
-      //   token: 'bearer ' + getToken(),
-      //   time: oneHourTimestamp,
-      //   env: ImgUrl
-      // }
-      // console.log(obj)
-      // let objJson = Base64.encode(JSON.stringify(obj))
-      // let upUrl = Base64.encode(ImgUrl + '/' + url)
-      // let str = `${ImgUrl}/fileview/onlinePreview?url=${upUrl}&json=${objJson}`
-      // window.open(str, '_blank')
+      //
+      console.log(isWatermark)
+      if (isWatermark) {
+        let Base64 = require('js-base64').Base64
+        // 获取当前时间的时间戳
+        let currentTimestamp = Date.now()
+        // 创建一个新的Date对象,并设置为当前时间加上一小时
+        let oneHourLater = new Date(currentTimestamp)
+        oneHourLater.setHours(oneHourLater.getHours() + 1)
+        // 获取一小时后的时间戳
+        let oneHourTimestamp = oneHourLater.getTime()
+
+        let watermarkText = column.params?.compoentConfig?.watermarkText
+        let userInfoObj = JSON.parse(localStorage.getItem('lowcodeUserInfo'))
+        const repeceList = {
+          $用户名: userInfoObj.name
+        }
+        for (const repeceListKey in repeceList) {
+          // 替换变量
+          watermarkText = watermarkText.replace(repeceListKey, repeceList[repeceListKey])
+        }
+        let obj = {
+          token: 'bearer ' + getToken(),
+          time: oneHourTimestamp,
+          env: ImgUrl,
+          watermark: watermarkText
+        }
+        let objJson = Base64.encode(JSON.stringify(obj))
+        let upUrl = Base64.encode(ImgUrl + '/' + url)
+        let str = `${ImgUrl}/fileview/onlinePreview?url=${upUrl}&json=${objJson}`
+        window.open(str, '_blank')
+      } else {
+        window.open(ImgUrl + '/' + url)
+      }
     },
     formFlowSubmit(row) {
       let jsonData = this.getFlowJsonData(row)