Merge remote-tracking branch 'remotes/origin/master'
This commit is contained in:
commit
096fa96eb7
5
env/.env.development
vendored
5
env/.env.development
vendored
@ -5,5 +5,6 @@ VITE_DELETE_CONSOLE = false
|
||||
# 是否开启sourcemap
|
||||
VITE_SHOW_SOURCEMAP = true
|
||||
|
||||
VITE_SERVER_BASEURL = 'http://10.75.15.249:8080/jeecg-boot'
|
||||
#VITE_SERVER_BASEURL = 'https://36.112.48.190/jeecg-boot'
|
||||
#VITE_SERVER_BASEURL = 'http://10.75.15.249:8080/jeecg-boot'
|
||||
|
||||
VITE_SERVER_BASEURL = 'https://36.112.48.190/jeecg-boot'
|
14
package.json
14
package.json
@ -76,21 +76,33 @@
|
||||
"@dcloudio/uni-mp-weixin": "3.0.0-4030620241128001",
|
||||
"@dcloudio/uni-mp-xhs": "3.0.0-4030620241128001",
|
||||
"@dcloudio/uni-quickapp-webview": "3.0.0-4030620241128001",
|
||||
"@tanstack/query-core": "^5.76.0",
|
||||
"@tanstack/vue-query": "^5.62.16",
|
||||
"@vant/area-data": "^2.0.0",
|
||||
"abortcontroller-polyfill": "^1.7.8",
|
||||
"base-64": "^1.0.0",
|
||||
"charenc": "^0.0.2",
|
||||
"crypt": "^0.0.2",
|
||||
"dayjs": "1.11.10",
|
||||
"echarts": "^5.6.0",
|
||||
"fs-extra": "^11.3.0",
|
||||
"is-buffer": "^2.0.5",
|
||||
"js-base64": "^3.6.1",
|
||||
"lodash": "^4.17.21",
|
||||
"lodash-es": "^4.17.21",
|
||||
"md5": "^2.3.0",
|
||||
"pinia": "2.0.36",
|
||||
"pinia-plugin-persistedstate": "3.2.1",
|
||||
"qs": "6.5.3",
|
||||
"tanstack": "^1.0.0",
|
||||
"tslib": "^2.8.1",
|
||||
"uni-parse-pages": "^0.0.1",
|
||||
"vue": "3.4.21",
|
||||
"vue-demi": "^0.14.10",
|
||||
"vue-i18n": "9.1.9",
|
||||
"wot-design-uni": "^1.9.1",
|
||||
"z-paging": "^2.8.4"
|
||||
"z-paging": "^2.8.4",
|
||||
"zrender": "^5.6.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^18.6.1",
|
||||
|
@ -56,6 +56,9 @@ importers:
|
||||
'@dcloudio/uni-quickapp-webview':
|
||||
specifier: 3.0.0-4030620241128001
|
||||
version: 3.0.0-4030620241128001(@vueuse/core@11.3.0(vue@3.4.21(typescript@5.7.2)))(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
|
||||
'@tanstack/query-core':
|
||||
specifier: ^5.76.0
|
||||
version: 5.76.0
|
||||
'@tanstack/vue-query':
|
||||
specifier: ^5.62.16
|
||||
version: 5.62.16(vue@3.4.21(typescript@5.7.2))
|
||||
@ -68,12 +71,33 @@ importers:
|
||||
base-64:
|
||||
specifier: ^1.0.0
|
||||
version: 1.0.0
|
||||
charenc:
|
||||
specifier: ^0.0.2
|
||||
version: 0.0.2
|
||||
crypt:
|
||||
specifier: ^0.0.2
|
||||
version: 0.0.2
|
||||
dayjs:
|
||||
specifier: 1.11.10
|
||||
version: 1.11.10
|
||||
echarts:
|
||||
specifier: ^5.6.0
|
||||
version: 5.6.0
|
||||
fs-extra:
|
||||
specifier: ^11.3.0
|
||||
version: 11.3.0
|
||||
is-buffer:
|
||||
specifier: ^2.0.5
|
||||
version: 2.0.5
|
||||
js-base64:
|
||||
specifier: ^3.6.1
|
||||
version: 3.7.7
|
||||
lodash:
|
||||
specifier: ^4.17.21
|
||||
version: 4.17.21
|
||||
lodash-es:
|
||||
specifier: ^4.17.21
|
||||
version: 4.17.21
|
||||
md5:
|
||||
specifier: ^2.3.0
|
||||
version: 2.3.0
|
||||
@ -86,12 +110,21 @@ importers:
|
||||
qs:
|
||||
specifier: 6.5.3
|
||||
version: 6.5.3
|
||||
tanstack:
|
||||
specifier: ^1.0.0
|
||||
version: 1.0.0
|
||||
tslib:
|
||||
specifier: ^2.8.1
|
||||
version: 2.8.1
|
||||
uni-parse-pages:
|
||||
specifier: ^0.0.1
|
||||
version: 0.0.1
|
||||
vue:
|
||||
specifier: 3.4.21
|
||||
version: 3.4.21(typescript@5.7.2)
|
||||
vue-demi:
|
||||
specifier: ^0.14.10
|
||||
version: 0.14.10(vue@3.4.21(typescript@5.7.2))
|
||||
vue-i18n:
|
||||
specifier: 9.1.9
|
||||
version: 9.1.9(vue@3.4.21(typescript@5.7.2))
|
||||
@ -101,6 +134,9 @@ importers:
|
||||
z-paging:
|
||||
specifier: ^2.8.4
|
||||
version: 2.8.4
|
||||
zrender:
|
||||
specifier: ^5.6.1
|
||||
version: 5.6.1
|
||||
devDependencies:
|
||||
'@commitlint/cli':
|
||||
specifier: ^18.6.1
|
||||
@ -2039,6 +2075,9 @@ packages:
|
||||
'@tanstack/query-core@5.62.16':
|
||||
resolution: {integrity: sha512-9Sgft7Qavcd+sN0V25xVyo0nfmcZXBuODy3FVG7BMWTg1HMLm8wwG5tNlLlmSic1u7l1v786oavn+STiFaPH2g==}
|
||||
|
||||
'@tanstack/query-core@5.76.0':
|
||||
resolution: {integrity: sha512-FN375hb8ctzfNAlex5gHI6+WDXTNpe0nbxp/d2YJtnP+IBM6OUm7zcaoCW6T63BawGOYZBbKC0iPvr41TteNVg==}
|
||||
|
||||
'@tanstack/vue-query@5.62.16':
|
||||
resolution: {integrity: sha512-QVx/tAexhAN+q0IbwyhVXu3f3hujfvhqLlZMNAWKTrDSUcp2BxJNjPyiti5gcaDhQwBUK9BdSXIFFYLcjYWvvA==}
|
||||
peerDependencies:
|
||||
@ -3962,6 +4001,10 @@ packages:
|
||||
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
fs-extra@11.3.0:
|
||||
resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==}
|
||||
engines: {node: '>=14.14'}
|
||||
|
||||
fs-minipass@2.1.0:
|
||||
resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
|
||||
engines: {node: '>= 8'}
|
||||
@ -4321,6 +4364,10 @@ packages:
|
||||
is-buffer@1.1.6:
|
||||
resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
|
||||
|
||||
is-buffer@2.0.5:
|
||||
resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
is-builtin-module@3.2.1:
|
||||
resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
|
||||
engines: {node: '>=6'}
|
||||
@ -4668,6 +4715,9 @@ packages:
|
||||
jpeg-js@0.3.7:
|
||||
resolution: {integrity: sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==}
|
||||
|
||||
js-base64@3.7.7:
|
||||
resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==}
|
||||
|
||||
js-tokens@4.0.0:
|
||||
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
||||
|
||||
@ -6249,6 +6299,9 @@ packages:
|
||||
resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
|
||||
tanstack@1.0.0:
|
||||
resolution: {integrity: sha512-BUpDmwGlWHk2F183Uu1+k85biSLrpSh/zA9ephJwmZ9ze+XDEw3JOyN9vhcbFqrQFrf5yuWImt+0Kn4fUNgzTg==}
|
||||
|
||||
tapable@2.2.1:
|
||||
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
|
||||
engines: {node: '>=6'}
|
||||
@ -9477,6 +9530,8 @@ snapshots:
|
||||
|
||||
'@tanstack/query-core@5.62.16': {}
|
||||
|
||||
'@tanstack/query-core@5.76.0': {}
|
||||
|
||||
'@tanstack/vue-query@5.62.16(vue@3.4.21(typescript@5.7.2))':
|
||||
dependencies:
|
||||
'@tanstack/match-sorter-utils': 8.19.4
|
||||
@ -11874,6 +11929,12 @@ snapshots:
|
||||
jsonfile: 6.1.0
|
||||
universalify: 2.0.1
|
||||
|
||||
fs-extra@11.3.0:
|
||||
dependencies:
|
||||
graceful-fs: 4.2.11
|
||||
jsonfile: 6.1.0
|
||||
universalify: 2.0.1
|
||||
|
||||
fs-minipass@2.1.0:
|
||||
dependencies:
|
||||
minipass: 3.3.6
|
||||
@ -12262,6 +12323,8 @@ snapshots:
|
||||
|
||||
is-buffer@1.1.6: {}
|
||||
|
||||
is-buffer@2.0.5: {}
|
||||
|
||||
is-builtin-module@3.2.1:
|
||||
dependencies:
|
||||
builtin-modules: 3.3.0
|
||||
@ -12807,6 +12870,8 @@ snapshots:
|
||||
|
||||
jpeg-js@0.3.7: {}
|
||||
|
||||
js-base64@3.7.7: {}
|
||||
|
||||
js-tokens@4.0.0: {}
|
||||
|
||||
js-tokens@9.0.1: {}
|
||||
@ -14481,6 +14546,8 @@ snapshots:
|
||||
string-width: 4.2.3
|
||||
strip-ansi: 6.0.1
|
||||
|
||||
tanstack@1.0.0: {}
|
||||
|
||||
tapable@2.2.1: {}
|
||||
|
||||
tar@6.2.1:
|
||||
|
32
src/api/process/api.ts
Normal file
32
src/api/process/api.ts
Normal file
@ -0,0 +1,32 @@
|
||||
import { http } from '@/utils/http';
|
||||
|
||||
export function getListApi(orgCode : string) {
|
||||
return http({
|
||||
url: '/sjgl.scnr/cxcSjSc/queryTreeData',
|
||||
method: 'GET',
|
||||
data: { orgCode }
|
||||
})
|
||||
}
|
||||
|
||||
export function taskListApi(config : Object) { // 我的任务列表
|
||||
return http({
|
||||
url: '/act/task/list',
|
||||
method: 'GET',
|
||||
data: config
|
||||
})
|
||||
}
|
||||
export function taskHistoryListApi(config : Object) { // 我的历史任务列表
|
||||
return http({
|
||||
url: '/act/task/taskHistoryList',
|
||||
method: 'GET',
|
||||
data: config
|
||||
})
|
||||
}
|
||||
|
||||
export function claim(config : Object) {
|
||||
return http({
|
||||
url: '/act/task/claim',
|
||||
method: 'PUT',
|
||||
data: config
|
||||
})
|
||||
}
|
@ -155,6 +155,15 @@
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/onlinePreview/detail",
|
||||
"type": "page",
|
||||
"layout": "default",
|
||||
"style": {
|
||||
"navigationStyle": "custom",
|
||||
"navigationBarTitleText": "在线预览"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/onlinePreview/onlinePreview",
|
||||
"type": "page",
|
||||
@ -173,6 +182,24 @@
|
||||
"navigationBarTitleText": "H5在线预览"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/process/approvalTabbar",
|
||||
"type": "page",
|
||||
"layout": "default",
|
||||
"style": {
|
||||
"navigationStyle": "custom",
|
||||
"navigationBarTitleText": "流程审批导航"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/process/taskHandle",
|
||||
"type": "page",
|
||||
"layout": "default",
|
||||
"style": {
|
||||
"navigationStyle": "custom",
|
||||
"navigationBarTitleText": "任务处理"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/user/people",
|
||||
"type": "page",
|
||||
|
@ -39,7 +39,7 @@
|
||||
</swiper>
|
||||
|
||||
<wd-row>
|
||||
<wd-col :span="12" v-for="(item, index) in middleApps" :key="index">
|
||||
<wd-col :span="12" v-for="(item, index) in middleApps" :key="index" @click="goToProcess">
|
||||
<wd-img :width="50" :height="50" :src="getFileAccessHttpUrl(item.icon)"></wd-img>
|
||||
<view class="textBox">
|
||||
<wd-text :text="item.title"></wd-text>
|
||||
@ -104,6 +104,13 @@
|
||||
url: `${item.path}?title=${item.text}`
|
||||
})
|
||||
}
|
||||
|
||||
const goToProcess = ()=>{
|
||||
uni.navigateTo({
|
||||
url: '/pages/process/approvalTabbar'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const goPageMore = (page) => {
|
||||
router.replace({ name: 'more', params: { backRouteName: 'index', type: page } })
|
||||
|
159
src/pages/onlinePreview/detail.vue
Normal file
159
src/pages/onlinePreview/detail.vue
Normal file
@ -0,0 +1,159 @@
|
||||
<route lang="json5" type="page">
|
||||
{
|
||||
layout: 'default',
|
||||
style: {
|
||||
navigationStyle: 'custom',
|
||||
navigationBarTitleText: '在线预览',
|
||||
},
|
||||
}
|
||||
</route>
|
||||
<template>
|
||||
<view :class="{ 'gray': appStore.isGray == 1 }">
|
||||
<wd-navbar left-text="返回" left-arrow
|
||||
custom-style="padding-top: var(--status-bar-height, 0); background-image: linear-gradient(to right, #1890ff, #096dd9); color: #fff;"
|
||||
@click-left="handleClickLeft">
|
||||
</wd-navbar>
|
||||
<view class="serveBox">
|
||||
<view class="title">
|
||||
<view class="dot"></view>
|
||||
<wd-text text="文件预览"></wd-text>
|
||||
</view>
|
||||
<view class="f-col">
|
||||
<view v-if="ifH5">
|
||||
<!-- 在线预览 by 闵 -->
|
||||
<wd-text color="#1890ff" lines=1 style="font-size: 40rpx;padding-left: 25rpx;padding-top: 25rpx;" decoration="underline" @click="onlinePreview(`/pages/onlinePreview/onlinePreviewH5?data=${JSON.stringify(item)}`)"
|
||||
v-for="item,i in detailArr" :text="captureText(item)">
|
||||
|
||||
</wd-text>
|
||||
</view>
|
||||
<view v-else>
|
||||
<!-- 在线预览 by 闵 -->
|
||||
<wd-text color="#1890ff" lines=1 style="font-size: 40rpx;padding-left: 25rpx;padding-top: 25rpx;" decoration="underline" @click="onlinePreview(`/pages/onlinePreview/onlinePreview?data=${JSON.stringify(item)}`)"
|
||||
v-for="item,i in detailArr" :text="captureText(item)">
|
||||
</wd-text>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
useAppStore
|
||||
} from '@/store'
|
||||
import {
|
||||
ref
|
||||
} from 'vue'
|
||||
import {
|
||||
onLoad,
|
||||
onShow
|
||||
} from '@dcloudio/uni-app';
|
||||
const appStore = useAppStore();
|
||||
const detail = ref({})
|
||||
const detailArr = ref([])
|
||||
//判断是否h5 by 闵
|
||||
var ifH5 = false;
|
||||
|
||||
const onlinePreview = (url)=>{ //在线预览文件 by 闵
|
||||
uni.navigateTo({
|
||||
url:url
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const handleClickLeft = () => {
|
||||
uni.navigateBack()
|
||||
}
|
||||
|
||||
const captureText = (text)=>{ //截取字符串显示
|
||||
const match = text.match(/\/([^_]+)(?=_)/);
|
||||
console.log(match)
|
||||
return match ? match[1] : '';
|
||||
}
|
||||
|
||||
onLoad((options) => {
|
||||
detail.value = options.data
|
||||
detailArr.value = options.data.split(",");
|
||||
//#ifdef H5 || MP-WEIXIN
|
||||
ifH5 = true;
|
||||
//#endif
|
||||
//判断是否只有一个文件
|
||||
if(detailArr.value&&detailArr.value.length==1){
|
||||
let url = '/pages/onlinePreview/onlinePreview';
|
||||
if(ifH5) url = '/pages/onlinePreview/onlinePreviewH5'
|
||||
onlinePreview(url+`?data=${JSON.stringify(options.data)}`);
|
||||
}
|
||||
})
|
||||
|
||||
onShow (()=>{
|
||||
// if(detailArr.value&&detailArr.value.length==1){
|
||||
// uni.navigateBack()
|
||||
// }
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
/* page{
|
||||
background-color: #f8f8f8;
|
||||
} */
|
||||
</style>
|
||||
<style lang="scss" scoped>
|
||||
.content {
|
||||
padding: 0 30rpx;
|
||||
}
|
||||
|
||||
.title_box {
|
||||
|
||||
.title {
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
padding: 30rpx 0 20rpx 0;
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 24rpx;
|
||||
color: #888888;
|
||||
padding-bottom: 30rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.document {
|
||||
text {
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
view {
|
||||
font-size: 28rpx;
|
||||
color: #5A79F8;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.serveBox {
|
||||
margin-bottom: 32upx;
|
||||
background-color: #fff;
|
||||
.title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-left: 30upx;
|
||||
height: 52px;
|
||||
|
||||
.dot {
|
||||
width: 14upx;
|
||||
height: 14upx;
|
||||
background-color: #0081ff;
|
||||
border-radius: 100%;
|
||||
margin-right: 20upx;
|
||||
}
|
||||
|
||||
.wd-text {
|
||||
color: #666;
|
||||
font-size: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -29,6 +29,7 @@
|
||||
getEnvBaseUrl
|
||||
} from '@/utils/index'
|
||||
const appStore = useAppStore();
|
||||
const baseUrl = 'https://10.75.166.6/jeecg-boot/sys/common/static/';
|
||||
var fileUrl = "";
|
||||
const handleClickLeft = () => {
|
||||
uni.navigateBack()
|
||||
@ -36,7 +37,7 @@
|
||||
|
||||
onLoad((options) => {
|
||||
let base64 = new Base64();
|
||||
var url = getEnvBaseUrl() + '/sys/common/static/' + options.data;
|
||||
var url = baseUrl + JSON.parse(options.data);
|
||||
console.log('-----111',url)
|
||||
fileUrl = 'https://36.112.48.190/preview/onlinePreview?url=' + encodeURIComponent(base64.encode(url))
|
||||
console.log('-----222',fileUrl)
|
||||
|
@ -27,17 +27,23 @@
|
||||
getEnvBaseUrl
|
||||
} from '@/utils/index'
|
||||
const appStore = useAppStore();
|
||||
import Base64 from '@/utils/code';
|
||||
import {
|
||||
Base64
|
||||
} from 'js-base64'
|
||||
|
||||
var fileUrl = "";
|
||||
const baseUrl = 'https://10.75.166.6/jeecg-boot/sys/common/static/';
|
||||
const handleClickLeft = () => {
|
||||
uni.navigateBack()
|
||||
}
|
||||
|
||||
onLoad((options) => {
|
||||
let base64 = new Base64();
|
||||
let url = getEnvBaseUrl() + '/sys/common/static/' + options.data;
|
||||
fileUrl = 'https://36.112.48.190/preview/onlinePreview?url=' + encodeURIComponent(base64.encode(url))
|
||||
console.log(options)
|
||||
let url = JSON.parse(options.data)
|
||||
url = baseUrl + url;
|
||||
console.log(url)
|
||||
fileUrl ='https://36.112.48.190/preview/onlinePreview?url=' + encodeURIComponent(Base64.encode(url))
|
||||
console.log(fileUrl)
|
||||
})
|
||||
</script>
|
||||
|
||||
|
@ -15,18 +15,12 @@
|
||||
</wd-navbar>
|
||||
<view class="container">
|
||||
<wd-card title="制度">
|
||||
<view v-if="ifH5" @click="onlinePreview(`/pages/onlinePreview/onlinePreviewH5?data=${dataSource.sszd}`)">
|
||||
{{dataSource.zdmc}}
|
||||
</view>
|
||||
<view v-else @click="onlinePreview(`/pages/onlinePreview/onlinePreview?data=${dataSource.sszd}`)">
|
||||
<view @click="onlinePreview(`/pages/onlinePreview/detail?data=${dataSource.sszd}`)">
|
||||
{{dataSource.zdmc}}
|
||||
</view>
|
||||
</wd-card>
|
||||
<wd-card title="解读材料">
|
||||
<view v-if="ifH5" @click="onlinePreview(`/pages/onlinePreview/onlinePreviewH5?data=${dataSource.jdwj}`)">
|
||||
{{dataSource.jdwj}}
|
||||
</view>
|
||||
<view v-else @click="onlinePreview(`/pages/onlinePreview/onlinePreview?data=${dataSource.jdwj}`)">
|
||||
<view @click="onlinePreview(`/pages/onlinePreview/detail?data=${dataSource.jdwj}`)">
|
||||
{{dataSource.jdwj}}
|
||||
</view>
|
||||
</wd-card>
|
||||
|
@ -194,9 +194,9 @@
|
||||
}
|
||||
|
||||
const onlinePreView = (e) => {
|
||||
const path = ifH5 ? 'onlinePreviewH5' : 'onlinePreview';
|
||||
console.log(e)
|
||||
uni.navigateTo({
|
||||
url: `/pages/onlinePreview/${path}?data=${e}`
|
||||
url: `/pages/onlinePreview/detail?data=${e}`
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -133,7 +133,6 @@
|
||||
}
|
||||
|
||||
const onlinePreview = (e) => {
|
||||
const path = isH5() ? 'onlinePreviewH5' : 'onlinePreview';
|
||||
uni.navigateTo({
|
||||
url: `/pages/onlinePreview/${path}?data=${e}`
|
||||
});
|
||||
|
53
src/pages/process/approvalTabbar.vue
Normal file
53
src/pages/process/approvalTabbar.vue
Normal file
@ -0,0 +1,53 @@
|
||||
<route lang="json5" type="page">
|
||||
{
|
||||
layout: 'default',
|
||||
style: {
|
||||
navigationStyle: 'custom',
|
||||
navigationBarTitleText: '流程审批导航',
|
||||
},
|
||||
}
|
||||
</route>
|
||||
<template>
|
||||
<view :class="{ 'gray': appStore.isGray == 1 }">
|
||||
<wd-navbar left-text="返回" left-arrow
|
||||
custom-style="padding-top: var(--status-bar-height, 0); background-image: linear-gradient(to right, #1890ff, #096dd9); color: #fff;"
|
||||
@click-left="handleClickLeft">
|
||||
</wd-navbar>
|
||||
<wd-tabs v-model="tab" swipeable color="#39b54a" autoLineWidth>
|
||||
<wd-tab title="我的任务">
|
||||
<myTask></myTask>
|
||||
</wd-tab>
|
||||
<wd-tab title="历史任务">
|
||||
<view class="content">内容1</view>
|
||||
</wd-tab>
|
||||
</wd-tabs>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import {
|
||||
useAppStore
|
||||
} from '@/store'
|
||||
import {
|
||||
ref
|
||||
} from 'vue'
|
||||
import {
|
||||
onLoad,
|
||||
onShow
|
||||
} from '@dcloudio/uni-app';
|
||||
import myTask from './components/myTask.vue'
|
||||
const appStore = useAppStore();
|
||||
const tab = ref(0)
|
||||
|
||||
const handleClickLeft = () => {
|
||||
uni.navigateBack()
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
::v-deep .wd-tabs__line{
|
||||
background: #39b54a;
|
||||
}
|
||||
</style>
|
170
src/pages/process/components/myTask.vue
Normal file
170
src/pages/process/components/myTask.vue
Normal file
@ -0,0 +1,170 @@
|
||||
<template>
|
||||
|
||||
<view class="container">
|
||||
<wd-loading v-if="loading && pageNo === 1" class="loading-tip">加载中...</wd-loading>
|
||||
<template v-for="(item, i) in list" :key="i">
|
||||
<wd-card :title="item.bpmBizTitle" title-bold border-radius="8" use-footer-slot @click="goToPage(item)">
|
||||
<view class="card-content">
|
||||
<wd-row style="color: #666666;">
|
||||
<wd-col :span="4">
|
||||
<text>当前环节:</text>
|
||||
</wd-col>
|
||||
<wd-col :span="20">
|
||||
{{item.taskName}}
|
||||
</wd-col>
|
||||
</wd-row>
|
||||
<wd-row style="padding-bottom: 2px;color: #666666;">
|
||||
<wd-col :span="4">
|
||||
<text>流程名称:</text>
|
||||
</wd-col>
|
||||
<wd-col :span="20">
|
||||
{{item.processDefinitionName}}
|
||||
</wd-col>
|
||||
</wd-row>
|
||||
<view class="meta-info">
|
||||
<wd-icon name="time" size="14px" color="#999"></wd-icon>
|
||||
<text class="meta-text">{{item.taskBeginTime?item.taskBeginTime.substring(0,10):''}}</text>
|
||||
<wd-icon name="user" size="14px" color="#999" style="margin-left: auto;"></wd-icon>
|
||||
<text class="meta-text">{{item.processApplyUserName}}</text>
|
||||
</view>
|
||||
<wd-row style="padding-top: 10px;">
|
||||
<view v-if="item.taskAssigneeName&&item.taskAssigneeName!=''">
|
||||
<wd-col :span="16">
|
||||
<wd-button>办理</wd-button>
|
||||
</wd-col>
|
||||
<wd-col :span="8">
|
||||
<wd-button>委托</wd-button>
|
||||
</wd-col>
|
||||
</view>
|
||||
<view v-else>
|
||||
<wd-col :span="12">
|
||||
<wd-button @click="goToPage(item)">签收</wd-button>
|
||||
</wd-col>
|
||||
<wd-col :span="12">
|
||||
</wd-col>
|
||||
</view>
|
||||
</wd-row>
|
||||
</view>
|
||||
</wd-card>
|
||||
</template>
|
||||
<view class="load-more" v-if="loading && pageNo > 1">
|
||||
<wd-loading size="16px">正在加载...</wd-loading>
|
||||
</view>
|
||||
<wd-message-box></wd-message-box>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { taskListApi,claim } from '@/api/process/api'
|
||||
import {
|
||||
ref
|
||||
} from 'vue'
|
||||
import {
|
||||
onLoad,
|
||||
onShow,
|
||||
onReachBottom,
|
||||
onPullDownRefresh
|
||||
} from '@dcloudio/uni-app';
|
||||
import { useToast, useMessage } from 'wot-design-uni'
|
||||
defineOptions({
|
||||
name: 'myTask',
|
||||
options: {
|
||||
styleIsolation: 'shared',
|
||||
},
|
||||
})
|
||||
const toast = useToast()
|
||||
const message = useMessage()
|
||||
let pageNo = 1
|
||||
let pageSize = 10
|
||||
let loading = false
|
||||
const list = ref([])
|
||||
|
||||
|
||||
|
||||
const getList = () => {
|
||||
taskListApi({
|
||||
pageNo,
|
||||
pageSize
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
if (res.success) {
|
||||
list.value = [...list.value,...res.result.records];
|
||||
}
|
||||
loading = false
|
||||
}).catch((err) => {
|
||||
loading = false
|
||||
})
|
||||
}
|
||||
|
||||
const goToPage = (item)=>{
|
||||
//判断是否是签收项目,提示是否签收
|
||||
if(item.taskAssigneeName&&item.taskAssigneeName!=''){
|
||||
console.log(11)
|
||||
//办理任务,直接进入办理页面
|
||||
uni.navigateTo({
|
||||
url:`/pages/process/taskHandle?data=${JSON.stringify(item)}`
|
||||
})
|
||||
}else{
|
||||
message
|
||||
.confirm({
|
||||
msg: '是否签收该任务?',
|
||||
title: '确认签收吗',
|
||||
})
|
||||
.then(() => {
|
||||
claim({taskId:item.id}).then(()=>{
|
||||
uni.redirectTo({
|
||||
url: './approvalTabbar'
|
||||
});
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
onReachBottom(() => {
|
||||
if (loading) return
|
||||
pageNo++
|
||||
getList()
|
||||
})
|
||||
|
||||
onPullDownRefresh(() => {
|
||||
pageNo = 1
|
||||
list.value = []
|
||||
getList()
|
||||
uni.stopPullDownRefresh()
|
||||
})
|
||||
|
||||
|
||||
onShow(() => {
|
||||
list.value = []
|
||||
pageNo = 1
|
||||
pageSize = 10
|
||||
loading = false
|
||||
getList()
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.container {
|
||||
padding: 5px 0 5px;
|
||||
min-height: 100vh;
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
|
||||
.card-content {
|
||||
padding: 8px 0;
|
||||
|
||||
.meta-info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 12px;
|
||||
color: #666;
|
||||
|
||||
.meta-text {
|
||||
margin-left: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
::v-deep .wd-card__title-content{
|
||||
border-bottom: 1px solid #efefef;
|
||||
}
|
||||
</style>
|
62
src/pages/process/taskHandle.vue
Normal file
62
src/pages/process/taskHandle.vue
Normal file
@ -0,0 +1,62 @@
|
||||
<route lang="json5" type="page">
|
||||
{
|
||||
layout: 'default',
|
||||
style: {
|
||||
navigationStyle: 'custom',
|
||||
navigationBarTitleText: '任务处理',
|
||||
},
|
||||
}
|
||||
</route>
|
||||
<template>
|
||||
<view :class="{ 'gray': appStore.isGray == 1 }">
|
||||
<wd-navbar left-text="返回" left-arrow
|
||||
custom-style="padding-top: var(--status-bar-height, 0); background-image: linear-gradient(to right, #1890ff, #096dd9); color: #fff;"
|
||||
@click-left="handleClickLeft">
|
||||
</wd-navbar>
|
||||
<wd-tabs v-model="tab" swipeable color="#39b54a" autoLineWidth>
|
||||
<wd-tab title="单据">
|
||||
</wd-tab>
|
||||
<wd-tab title="任务处理">
|
||||
<view class="content">内容2</view>
|
||||
</wd-tab>
|
||||
<wd-tab title="流程图">
|
||||
<view class="content">内容3</view>
|
||||
</wd-tab>
|
||||
</wd-tabs>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import {
|
||||
ref
|
||||
} from 'vue'
|
||||
import {
|
||||
onLoad,
|
||||
onShow,
|
||||
onReachBottom,
|
||||
onPullDownRefresh
|
||||
} from '@dcloudio/uni-app';
|
||||
import { useToast, useMessage } from 'wot-design-uni'
|
||||
import {
|
||||
useAppStore
|
||||
} from '@/store'
|
||||
const appStore = useAppStore();
|
||||
const tab = ref(0)
|
||||
|
||||
|
||||
const handleClickLeft = () => {
|
||||
uni.navigateBack()
|
||||
}
|
||||
|
||||
|
||||
onLoad((options) => {
|
||||
console.log(JSON.parse(options.data))
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .wd-tabs__line{
|
||||
background: #39b54a;
|
||||
}
|
||||
</style>
|
@ -161,6 +161,7 @@
|
||||
// #endif
|
||||
}
|
||||
const exit = () => {
|
||||
console.log(message)
|
||||
message
|
||||
.confirm({
|
||||
title: '提示',
|
||||
|
3
src/types/uni-pages.d.ts
vendored
3
src/types/uni-pages.d.ts
vendored
@ -16,8 +16,11 @@ interface NavigateToOptions {
|
||||
"/pages/index/index" |
|
||||
"/pages/message/message" |
|
||||
"/pages/more/more" |
|
||||
"/pages/onlinePreview/detail" |
|
||||
"/pages/onlinePreview/onlinePreview" |
|
||||
"/pages/onlinePreview/onlinePreviewH5" |
|
||||
"/pages/process/approvalTabbar" |
|
||||
"/pages/process/taskHandle" |
|
||||
"/pages/user/people" |
|
||||
"/pages/workHome/index" |
|
||||
"/pages/humanResources/absence/apply" |
|
||||
|
Loading…
Reference in New Issue
Block a user