Merge remote-tracking branch 'remotes/origin/master'
# Conflicts: # env/.env.development # src/pages-process/components/DynamicLink.vue # src/pages.json # src/types/uni-pages.d.ts
This commit is contained in:
commit
c5d9e0c8b9
@ -26,9 +26,20 @@ export default defineManifestConfig({
|
||||
usingComponents: true,
|
||||
nvueStyleCompiler: 'uni-app',
|
||||
compilerVersion: 3,
|
||||
android: {
|
||||
webView: {
|
||||
domStorageEnabled: true,
|
||||
databaseEnabled: true,
|
||||
allowFileAccess: true
|
||||
}
|
||||
},
|
||||
compatible: {
|
||||
ignoreVersion: true,
|
||||
},
|
||||
webview: {
|
||||
debug: true,
|
||||
crossDomain: true // 允许跨域通信
|
||||
},
|
||||
splashscreen: {
|
||||
alwaysShowBeforeRender: true,
|
||||
waiting: true,
|
||||
|
26
src/api/bpm/sign.ts
Normal file
26
src/api/bpm/sign.ts
Normal file
@ -0,0 +1,26 @@
|
||||
import { http } from '@/utils/http';
|
||||
|
||||
/*通过id查询数据*/
|
||||
export function checkSign(ldhth : string) {
|
||||
return http({
|
||||
url: '/cxcesign/cxcEsign/getUserCo',
|
||||
method: 'GET',
|
||||
data: { ldhth }
|
||||
})
|
||||
}
|
||||
|
||||
export function getCompleteNum(procInsId : string) {
|
||||
return http({
|
||||
url: '/cxcesign/cxcEsign/getCompleteNum',
|
||||
method: 'GET',
|
||||
data: { procInsId }
|
||||
})
|
||||
}
|
||||
|
||||
export function processHistoryList(processInstanceId : string) {
|
||||
return http({
|
||||
url: '/act/task/processHistoryList',
|
||||
method: 'GET',
|
||||
data: { processInstanceId }
|
||||
})
|
||||
}
|
10
src/api/integrated/unconventional.ts
Normal file
10
src/api/integrated/unconventional.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { http } from '@/utils/http';
|
||||
|
||||
// 健康数据提交API
|
||||
export function queryUnData(data : Object) {
|
||||
return http({
|
||||
url: '/cxcfcggzsq/cxcFcggzsq/queryByIdDict',
|
||||
method: 'get',
|
||||
data
|
||||
})
|
||||
}
|
78
src/components/Esign/SinopecEsignPage.vue
Normal file
78
src/components/Esign/SinopecEsignPage.vue
Normal file
@ -0,0 +1,78 @@
|
||||
<!-- component标签可以变换组件 -->
|
||||
<template>
|
||||
<view>
|
||||
<view v-if="ifH5">
|
||||
<SinopecEsignPageH5 :valiData="props.valiData" :procInsId="props.procInsId" :path="props.path" ref="signH5" :fileName="props.fileName" @stampSuccess="getStampSuccess"></SinopecEsignPageH5>
|
||||
</view>
|
||||
<view v-else>
|
||||
<SinopecEsignPageAPP :valiData="props.valiData" :procInsId="props.procInsId" :path="props.path" ref="signAPP" :fileName="props.fileName" @stampSuccess="getStampSuccess"></SinopecEsignPageAPP>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import {
|
||||
ref
|
||||
} from 'vue'
|
||||
import {
|
||||
onLoad,
|
||||
} from '@dcloudio/uni-app';
|
||||
import SinopecEsignPageH5 from '@/components/Esign/SinopecEsignPageH5.vue'
|
||||
import SinopecEsignPageAPP from '@/components/Esign/SinopecEsignPageAPP.vue'
|
||||
const emit = defineEmits(['stampSuccess'])
|
||||
const ifH5 = ref(null);
|
||||
const signH5 = ref(null);
|
||||
const signAPP = ref(null);
|
||||
|
||||
|
||||
const props = defineProps({
|
||||
fileName: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
valiData: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
},
|
||||
procInsId: { //签章验证
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
path: {//签章验证
|
||||
type: String,
|
||||
default: ""
|
||||
}
|
||||
})
|
||||
|
||||
//判断是否h5 by 闵
|
||||
var ifH = false;
|
||||
|
||||
onLoad(() => {
|
||||
//#ifdef H5 || MP-WEIXIN
|
||||
ifH5.value = true;
|
||||
//#endif
|
||||
})
|
||||
|
||||
//获取印章成功事件,并将信号传给确认提交按钮。
|
||||
const getStampSuccess=(val)=> {
|
||||
emit('stampSuccess', val)
|
||||
}
|
||||
|
||||
const signValidator = ()=>{
|
||||
//这里进行电子签章验证
|
||||
if(ifH5.value){
|
||||
return signH5.value.signValidator();
|
||||
}else{
|
||||
console.log(3435)
|
||||
return signAPP.value.signValidator()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
defineExpose({ //暴露方法
|
||||
signValidator
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
250
src/components/Esign/SinopecEsignPageAPP.vue
Normal file
250
src/components/Esign/SinopecEsignPageAPP.vue
Normal file
@ -0,0 +1,250 @@
|
||||
<!-- component标签可以变换组件 -->
|
||||
<template>
|
||||
<view>
|
||||
<view v-if="errorMsg" style="color: red;padding-left: 13px;">{{errorMsg}}</view>
|
||||
<iframe id="jingeIframe" style="width: 100%;height: 600px;border: none;" ref="iframe" title="金格云阅读"
|
||||
src="./static/CloudSign/viewer.html" :transmissionData="transmissionData"
|
||||
:change:transmissionData="renderjs.postMessageToIframe" @load="setConfig"></iframe>
|
||||
<wd-toast></wd-toast>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
getCompleteNum
|
||||
} from '@/api/bpm/sign'
|
||||
import { ref, reactive, onMounted, computed, watch, nextTick } from 'vue';
|
||||
import {
|
||||
onLoad,
|
||||
onShow,
|
||||
onReachBottom,
|
||||
onPullDownRefresh
|
||||
} from '@dcloudio/uni-app';
|
||||
import {
|
||||
useUserStore
|
||||
} from '@/store/user'
|
||||
import { checkSign } from '@/api/bpm/sign'
|
||||
import { useToast, useMessage } from 'wot-design-uni'
|
||||
|
||||
export default {
|
||||
name: 'SinopecEsignPageAPP',
|
||||
options: {
|
||||
styleIsolation: 'shared',
|
||||
},
|
||||
props: {
|
||||
fileName: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
valiData: {
|
||||
type: Object
|
||||
},
|
||||
procInsId: { //签章验证
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
path: {//签章验证
|
||||
type: String,
|
||||
default: ""
|
||||
}
|
||||
},
|
||||
emits: ['message'],
|
||||
setup(props, { emit }) {
|
||||
const toast = useToast()
|
||||
const store = useUserStore();
|
||||
const iframe = ref(null);
|
||||
const compName = ref('');
|
||||
const asyncComponent = ref(null);
|
||||
const sealArrayTemp = ref([]);
|
||||
const signNum = ref(0);
|
||||
const sign = ref(false);
|
||||
const ldhth = ref('');
|
||||
const username = ref('');
|
||||
const iframeWin = ref(null);
|
||||
const baseUrl = import.meta.env.VITE_SERVER_BASEURL
|
||||
const filterArrNum = ref(0);
|
||||
const transmissionData = ref({});
|
||||
const errorMsg = ref('');
|
||||
|
||||
const setConfig = () => {
|
||||
transmissionData.value = {
|
||||
filename: props.fileName,
|
||||
apiUrl: baseUrl,
|
||||
userid: username.value,
|
||||
}
|
||||
console.log(transmissionData.value)
|
||||
}
|
||||
|
||||
const signValidator = async () => { //签章验证 by 闵
|
||||
errorMsg.value = '';
|
||||
let flag = false;
|
||||
if (props.path == 'unconventional/stamp') {
|
||||
if (props.valiData.flag) { //先判断数量验证
|
||||
if (props.valiData && props.valiData.flag) {//有flag需要正常验证
|
||||
let nowTime = new Date(props.valiData.time).getTime();
|
||||
let filterArr = []
|
||||
filterArr = sealArrayTemp.value.filter(item => {
|
||||
let sealTime = new Date(item.createTime).getTime();
|
||||
if (sealTime >= nowTime && item.userName == props.valiData.name) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
})
|
||||
filterArrNum.value = filterArr.length;
|
||||
if (props.valiData.num <= filterArrNum.value) {
|
||||
return true;
|
||||
} else {
|
||||
errorMsg.value = "您需要签章(签字或盖章)" + props.valiData.num + "次,目前只签章了" + filterArrNum.value + "次。";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
//2024.3.22张祥瑞
|
||||
//如果签章路径是非常规盖章则走这里,验证机制为跳过签章个数验证,只要没签章则不能提交流程
|
||||
// let flag = false;
|
||||
if (sign.value) {
|
||||
return flag = true; //只要执行了签章成功操作就返回成功,否则加载个数验证
|
||||
} else {
|
||||
return flag = false;
|
||||
}
|
||||
} else if (props.path == 'modules/gwjdspd/modules/CxcGwjdSpdFromByProcess') { //判断公务接待模块
|
||||
//2024.5.16张祥瑞
|
||||
//如果签章路径是非常规盖章则走这里,验证机制为跳过签章个数验证,只要没签章则不能提交流程
|
||||
// let flag = false;
|
||||
if (sign.value) {
|
||||
return flag = true; //只要执行了签章成功操作就返回成功,否则加载个数验证
|
||||
} else {
|
||||
return flag = false;
|
||||
}
|
||||
} else {
|
||||
if (sign.value) {
|
||||
return true; //只要执行了签章成功操作就返回成功,否则加载个数验证
|
||||
} else {
|
||||
// let flag = false;
|
||||
await getCompleteNum(props.procInsId).then(res => {
|
||||
console.log("res--------132------", res);
|
||||
// console.log("flag--132------",flag);
|
||||
if (res) {
|
||||
if (signNum.value >= (Number(res.result.nrOfCompletedInstances) + 1)) {
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
console.log("flag--142------", flag);
|
||||
return flag;
|
||||
}
|
||||
|
||||
const stampingCompleted = (data) => {
|
||||
console.log(JSON.stringify(data))
|
||||
let sealArray = data.data.sealArray;
|
||||
sealArrayTemp.value = sealArray;
|
||||
console.log(sealArrayTemp.value);
|
||||
|
||||
let sealNumMap = {}
|
||||
sealArray.forEach(item => {
|
||||
if (sealNumMap[item.keySN]) {
|
||||
sealNumMap[item.keySN] += 1;
|
||||
if (sealNumMap[item.keySN] > 2) {
|
||||
let remainder = Math.ceil(sealNumMap[item.keySN] / 2) - 1
|
||||
sealNumMap[item.keySN + remainder] = sealNumMap[item.keySN] - remainder * 2;
|
||||
}
|
||||
} else {
|
||||
sealNumMap[item.keySN] = 1;
|
||||
}
|
||||
})
|
||||
signNum.value = Object.keys(sealNumMap).length;
|
||||
console.log(sealNumMap)
|
||||
console.log("ev.data----", data)
|
||||
if (data.type === 'successMessage') {
|
||||
console.log("ev------------", ev)
|
||||
sign.value = true;
|
||||
console.log("改变状态后-------this.sign-----", sign.value)
|
||||
let wjurl = ev.currentTarget[0].data.filename;
|
||||
if (wjurl.split('/')[0].includes("非常规盖章")) {
|
||||
let wjdata = ev.currentTarget[0].data;
|
||||
emit('message', wjdata);
|
||||
}
|
||||
} else if (data.type === 'sealArray') {
|
||||
sign.value = false;
|
||||
console.log("删除盖章后的参数--this.sign--", sign.value)
|
||||
}
|
||||
}
|
||||
|
||||
onShow(() => {
|
||||
setTimeout(()=>{
|
||||
setConfig()
|
||||
},500)
|
||||
})
|
||||
|
||||
onLoad(() => {
|
||||
let userInfo = store.userInfo;
|
||||
ldhth.value = userInfo.workNo;
|
||||
checkSign(ldhth.value).then((res) => {
|
||||
if (res) {
|
||||
username.value = res
|
||||
} else {
|
||||
toast.error("您没有申请电子签章服务!请移步到系统管理-电子签章管理中注册,并联系信息化支持中心进行otp绑定。联系电话:4874260")
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
// defineExpose({ //暴露方法
|
||||
// signValidator
|
||||
// })
|
||||
|
||||
return {
|
||||
iframe,
|
||||
compName,
|
||||
asyncComponent,
|
||||
sealArrayTemp,
|
||||
signNum,
|
||||
sign,
|
||||
ldhth,
|
||||
username,
|
||||
iframeWin,
|
||||
baseUrl,
|
||||
filterArrNum,
|
||||
transmissionData,
|
||||
signValidator,
|
||||
stampingCompleted,
|
||||
errorMsg
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<script module="renderjs" lang="renderjs">
|
||||
export default {
|
||||
mounted() {
|
||||
this.setupMessageListener()
|
||||
},
|
||||
methods: {
|
||||
postMessageToIframe(data) {
|
||||
console.log(data)
|
||||
const iframe = document.getElementById('jingeIframe')
|
||||
if (iframe && iframe.contentWindow) {
|
||||
iframe.contentWindow.postMessage(data, '*')
|
||||
}
|
||||
},
|
||||
setupMessageListener() {
|
||||
let that = this;
|
||||
window.addEventListener('message', (ev,ev2) => {
|
||||
console.log(ev.data)
|
||||
if (ev) {
|
||||
try {
|
||||
that.$ownerInstance.callMethod('stampingCompleted', ev.data)
|
||||
} catch (error) {
|
||||
console.error('Call method error:', error)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped>
|
||||
</style>
|
230
src/components/Esign/SinopecEsignPageH5.vue
Normal file
230
src/components/Esign/SinopecEsignPageH5.vue
Normal file
@ -0,0 +1,230 @@
|
||||
<!-- component标签可以变换组件 -->
|
||||
<template>
|
||||
<view>
|
||||
<view v-if="errorMsg" style="color: red;padding-left: 13px;">{{errorMsg}}</view>
|
||||
<iframe id="jingeIframe" class="App-iframe" width="100%" ref="iframe" title="金格云阅读"
|
||||
src="./static/CloudSign/viewer.html" @load="setConfig"></iframe>
|
||||
<wd-toast></wd-toast>
|
||||
</view>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import {
|
||||
getCompleteNum
|
||||
} from '@/api/bpm/sign'
|
||||
import { ref, reactive, onMounted, computed, watch, nextTick } from 'vue';
|
||||
import {
|
||||
onLoad,
|
||||
onShow,
|
||||
onReachBottom,
|
||||
onPullDownRefresh
|
||||
} from '@dcloudio/uni-app';
|
||||
import {
|
||||
useUserStore
|
||||
} from '@/store/user'
|
||||
import { checkSign } from '@/api/bpm/sign'
|
||||
import { useToast, useMessage, useNotify, dayjs } from 'wot-design-uni'
|
||||
const emit = defineEmits(['message'])
|
||||
const iframe = ref(null); //ref
|
||||
const toast = useToast()
|
||||
const store = useUserStore();
|
||||
const compName = ref('');
|
||||
const asyncComponent = ref(null);
|
||||
const sealArrayTemp = ref([]); //签章数据
|
||||
const signNum = ref(0);
|
||||
const sign = ref(false);
|
||||
const ldhth = ref('');
|
||||
const username = ref('');
|
||||
const iframeWin = ref(null);
|
||||
const baseUrl = import.meta.env.VITE_SERVER_BASEURL
|
||||
const filterArrNum = ref(0); //过滤后的数据
|
||||
const errorMsg = ref('');
|
||||
|
||||
defineOptions({
|
||||
name: 'SinopecEsignPage',
|
||||
options: {
|
||||
styleIsolation: 'shared',
|
||||
},
|
||||
})
|
||||
const props = defineProps({
|
||||
fileName: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
valiData: {
|
||||
type: Object
|
||||
},
|
||||
procInsId: { //签章验证
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
path: {//签章验证
|
||||
type: String,
|
||||
default: ""
|
||||
}
|
||||
})
|
||||
|
||||
onShow(() => {
|
||||
setTimeout(()=>{
|
||||
setConfig()
|
||||
},500)
|
||||
})
|
||||
|
||||
|
||||
|
||||
const setConfig = () => {
|
||||
// //给html传值
|
||||
iframeWin.value = iframe.value.contentWindow
|
||||
console.log(iframe.value)
|
||||
console.log(iframe.value.contentWindow)
|
||||
try {
|
||||
iframeWin.value.postMessage({
|
||||
filename: props.fileName,
|
||||
apiUrl: baseUrl,
|
||||
userid: username.value,
|
||||
}, '*')
|
||||
} catch (error) {
|
||||
console.error('PostMessage error:', error);
|
||||
// 可以在这里添加备用通信方式
|
||||
}
|
||||
}
|
||||
|
||||
const signValidator = async () => { //签章验证 by 闵
|
||||
|
||||
console.log(props.valiData)
|
||||
errorMsg.value = '';
|
||||
let flag = false;
|
||||
if (props.path == 'unconventional/stamp') { //非常规验证
|
||||
if (props.valiData.flag) { //先判断数量验证
|
||||
if (props.valiData && props.valiData.flag) {//有flag需要正常验证
|
||||
let nowTime = new Date(props.valiData.time).getTime();
|
||||
let filterArr = []
|
||||
console.log(sealArrayTemp.value)
|
||||
filterArr = sealArrayTemp.value.filter(item => {
|
||||
let sealTime = new Date(item.createTime).getTime();
|
||||
if (sealTime >= nowTime && item.userName == props.valiData.name) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
})
|
||||
console.log(filterArr)
|
||||
filterArrNum.value = filterArr.length;
|
||||
if (props.valiData.num <= filterArrNum.value) {
|
||||
return true;
|
||||
} else {
|
||||
console.log(324325)
|
||||
errorMsg.value = "您需要签章(签字或盖章)" + props.valiData.num + "次,目前只签章了" + filterArrNum.value + "次。";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
//2024.3.22张祥瑞
|
||||
//如果签章路径是非常规盖章则走这里,验证机制为跳过签章个数验证,只要没签章则不能提交流程
|
||||
// let flag = false;
|
||||
if (sign.value) {
|
||||
return flag = true; //只要执行了签章成功操作就返回成功,否则加载个数验证
|
||||
} else {
|
||||
return flag = false;
|
||||
}
|
||||
} else if (props.path == 'modules/gwjdspd/modules/CxcGwjdSpdFromByProcess') { //判断公务接待模块
|
||||
//2024.5.16张祥瑞
|
||||
//如果签章路径是非常规盖章则走这里,验证机制为跳过签章个数验证,只要没签章则不能提交流程
|
||||
// let flag = false;
|
||||
if (sign.value) {
|
||||
return flag = true; //只要执行了签章成功操作就返回成功,否则加载个数验证
|
||||
} else {
|
||||
return flag = false;
|
||||
}
|
||||
} else {
|
||||
if (sign.value) {
|
||||
return true; //只要执行了签章成功操作就返回成功,否则加载个数验证
|
||||
} else {
|
||||
// let flag = false;
|
||||
await getCompleteNum(props.procInsId).then(res => {
|
||||
console.log("res--------132------", res);
|
||||
// console.log("flag--132------",flag);
|
||||
if (res) {
|
||||
if (signNum.value >= (Number(res.result.nrOfCompletedInstances) + 1)) {
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
console.log("flag--142------", flag);
|
||||
return flag;
|
||||
}
|
||||
|
||||
|
||||
onLoad(() => {
|
||||
//获取当前登录人所属部门
|
||||
//这里是要去esign表中使用劳动合同号查询当前使用人的userid
|
||||
let userInfo = store.userInfo;
|
||||
ldhth.value = userInfo.workNo;
|
||||
checkSign(ldhth.value).then((res) => {
|
||||
if (res) {
|
||||
username.value = res
|
||||
} else {
|
||||
toast.error("您没有申请电子签章服务!请移步到系统管理-电子签章管理中注册,并联系信息化支持中心进行otp绑定。联系电话:4874260")
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
//接收html盖完章后传过来的值
|
||||
window.addEventListener("message", (ev) => {
|
||||
console.log(ev)
|
||||
//1.获取签章信息
|
||||
let sealArray = ev.data.data.sealArray;
|
||||
sealArrayTemp.value = sealArray;
|
||||
console.log(sealArrayTemp.value);
|
||||
//2.循环数组,转换为正确个数(以keySn为比对核心,相同的keySn为个数1)
|
||||
let sealNumMap = {}
|
||||
sealArray.forEach(item => {
|
||||
if (sealNumMap[item.keySN]) {
|
||||
sealNumMap[item.keySN] += 1;
|
||||
//个数为2为一组
|
||||
if (sealNumMap[item.keySN] > 2) {
|
||||
let remainder = Math.ceil(sealNumMap[item.keySN] / 2) - 1
|
||||
sealNumMap[item.keySN + remainder] = sealNumMap[item.keySN] - remainder * 2;
|
||||
}
|
||||
} else {
|
||||
sealNumMap[item.keySN] = 1;
|
||||
}
|
||||
})
|
||||
signNum.value = Object.keys(sealNumMap).length;
|
||||
console.log(sealNumMap)
|
||||
console.log("ev.data----", ev.data)
|
||||
if (ev.data.type === 'successMessage') {
|
||||
console.log("ev------------", ev)
|
||||
sign.value = true;
|
||||
console.log("改变状态后-------this.sign-----", sign.value)
|
||||
let wjurl = ev.currentTarget[0].data.filename;
|
||||
//切割盖章文件,用来判断是否是非常规盖章--张祥瑞2024.1.11
|
||||
// let wjurl1=wjurl.split('/');
|
||||
if (wjurl.split('/')[0].includes("非常规盖章")) {
|
||||
let wjdata = ev.currentTarget[0].data;
|
||||
emit('message', wjdata);
|
||||
}
|
||||
} else if (ev.data.type === 'sealArray') { //添加删除盖章后签章,改为false --张祥瑞 2024.3.22
|
||||
sign.value = false;
|
||||
console.log("删除盖章后的参数--this.sign--", sign.value)
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
defineExpose({ //暴露方法
|
||||
signValidator
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.App-iframe {
|
||||
width: 100%;
|
||||
height: 700px;
|
||||
border: none;
|
||||
}
|
||||
</style>
|
@ -89,8 +89,19 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"android": {
|
||||
"webView": {
|
||||
"domStorageEnabled": true,
|
||||
"databaseEnabled": true,
|
||||
"allowFileAccess": true
|
||||
}
|
||||
},
|
||||
"compatible": {
|
||||
"ignoreVersion": true
|
||||
},
|
||||
"webview": {
|
||||
"debug": true,
|
||||
"crossDomain": true
|
||||
}
|
||||
},
|
||||
"quickapp": {},
|
||||
|
52
src/pages-bpm/unconventional/index.vue
Normal file
52
src/pages-bpm/unconventional/index.vue
Normal file
@ -0,0 +1,52 @@
|
||||
<template>
|
||||
<wd-cell-group title="申请信息">
|
||||
<wd-cell title="申请人" :value="info.sqr" />
|
||||
<wd-cell title="业务类别" :value="info.ywlb" />
|
||||
<wd-cell title="申请事由" :value="info.sqsy" />
|
||||
<wd-cell title="部门审批领导" :value="info.bmspld_dictText" />
|
||||
<wd-cell title="申请部门" :value="info.sqbm" />
|
||||
<wd-cell title="申请时间" :value="info.sqsj" />
|
||||
<wd-cell title="申请盖章领导" :value="info.gzld" />
|
||||
<wd-cell title="申请盖章厂领导" :value="info.gzcld" />
|
||||
<wd-cell title="盖章位置" :value="info.gzwz" />
|
||||
<wd-cell title="盖章文件" >
|
||||
<view style="color: #4d80f0;" @click="onlinePreView(info.wj)" plain>{{info.wj.match(/([^\/]+)(?=\.\w+$)/)[0]}}</view>
|
||||
</wd-cell>
|
||||
</wd-cell-group>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
queryUnData
|
||||
} from '@/api/integrated/unconventional'
|
||||
import {
|
||||
imgUrl
|
||||
} from '@/utils/index'
|
||||
|
||||
const info = ref({})
|
||||
const image = ref([])
|
||||
const props = defineProps({
|
||||
formData: {
|
||||
type: Object,
|
||||
default: () => {},
|
||||
}
|
||||
})
|
||||
|
||||
const queryData = ()=>{
|
||||
queryUnData({id:props.formData.dataId}).then(res=>{
|
||||
console.log(res)
|
||||
info.value = res.result.records[0]
|
||||
})
|
||||
}
|
||||
|
||||
const onlinePreView = (fileUrl) => {
|
||||
uni.navigateTo({
|
||||
url: `/pages/onlinePreview/detail?data=${fileUrl}`
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
onMounted(() => {
|
||||
queryData();
|
||||
})
|
||||
</script>
|
123
src/pages-bpm/unconventional/stamp.vue
Normal file
123
src/pages-bpm/unconventional/stamp.vue
Normal file
@ -0,0 +1,123 @@
|
||||
<template>
|
||||
<wd-collapse v-model="value">
|
||||
<wd-collapse-item title="表单数据" name="item1">
|
||||
<wd-cell title="申请人" :value="info.sqr" />
|
||||
<wd-cell title="业务类别" :value="info.ywlb" />
|
||||
<wd-cell title="申请事由" :value="info.sqsy" />
|
||||
<wd-cell title="部门审批领导" :value="info.bmspld_dictText" />
|
||||
<wd-cell title="申请部门" :value="info.sqbm" />
|
||||
<wd-cell title="申请时间" :value="info.sqsj" />
|
||||
<wd-cell title="申请盖章领导" :value="info.gzld" />
|
||||
<wd-cell title="申请盖章厂领导" :value="info.gzcld" />
|
||||
<wd-cell title="盖章位置" :value="info.gzwz" />
|
||||
</wd-collapse-item>
|
||||
<wd-collapse-item custom-body-style="padding:0;" title="盖章文件" name="item2">
|
||||
<SinopecEsignPage :valiData="valiData" ref="sign" :procInsId="props.formData.procInsId" :path="props.formData.path" :fileName="info.wjdict" @stampSuccess="getStampSuccess"></SinopecEsignPage>
|
||||
</wd-collapse-item>
|
||||
</wd-collapse>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
queryUnData
|
||||
} from '@/api/integrated/unconventional'
|
||||
import {
|
||||
processHistoryList
|
||||
} from '@/api/bpm/sign'
|
||||
import {
|
||||
imgUrl
|
||||
} from '@/utils/index'
|
||||
import SinopecEsignPage from '@/components/Esign/SinopecEsignPage.vue'
|
||||
import { useUserStore } from '@/store/user'
|
||||
const userStore = useUserStore()
|
||||
|
||||
const emit = defineEmits(['getStampSuc'])
|
||||
|
||||
const sign = ref(null);
|
||||
const value = ref([]);
|
||||
const info = ref({});
|
||||
const valiData = ref({});
|
||||
|
||||
const props = defineProps({
|
||||
formData: {
|
||||
type: Object,
|
||||
default: () => {},
|
||||
},
|
||||
fileName: {
|
||||
type: String,
|
||||
default: ""
|
||||
}
|
||||
})
|
||||
|
||||
const queryData = ()=>{
|
||||
queryUnData({id:props.formData.dataId}).then(res=>{
|
||||
console.log(res)
|
||||
info.value = res.result.records[0]
|
||||
initValiData(info.value); //处理验证data by 闵
|
||||
let lj = info.value.wj.split("/");
|
||||
let ljurl = lj[2] + '/' + lj[3];
|
||||
info.value.wjdict = ljurl;
|
||||
console.log(info.value)
|
||||
})
|
||||
}
|
||||
|
||||
const initValiData = (data)=>{
|
||||
//处理验证data by 闵
|
||||
let name = userStore.userInfo.realname;
|
||||
console.log(name)
|
||||
// name = '王飞'
|
||||
let num = null;
|
||||
if(data.lds){
|
||||
let ldsMap = JSON.parse(data.lds);
|
||||
if(ldsMap[name]) num = ldsMap[name]
|
||||
}
|
||||
console.log(data)
|
||||
if(data.clds){
|
||||
let cldsMap = JSON.parse(data.clds);
|
||||
if(cldsMap[name]) num = cldsMap[name]
|
||||
}
|
||||
console.log(name)
|
||||
console.log(num)
|
||||
if(num){
|
||||
valiData.value.flag = true;
|
||||
valiData.value.num = num;
|
||||
valiData.value.name = name;
|
||||
}
|
||||
}
|
||||
|
||||
const initValtime = ()=>{
|
||||
processHistoryList(props.formData.procInsId).then(res=>{
|
||||
console.log(res)
|
||||
if (res.success) {
|
||||
console.log(res.result.records)
|
||||
valiData.value.time = res.result.records[0].startTime
|
||||
} else {
|
||||
console.log("加载失败")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//获取印章成功事件,并将信号传给确认提交按钮。
|
||||
const getStampSuccess=(val)=> {
|
||||
emit('getStampSuc', val)
|
||||
}
|
||||
|
||||
const signValidator = (procInsId,path)=>{
|
||||
//这里进行电子签章验证
|
||||
return sign.value.signValidator();
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
queryData();
|
||||
initValtime();
|
||||
})
|
||||
|
||||
|
||||
defineExpose({ //暴露方法
|
||||
signValidator
|
||||
})
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
|
||||
</style>
|
@ -195,6 +195,8 @@
|
||||
import Mupload from '@/components/Mupload/Mupload.vue'
|
||||
import { getProcessTaskTransInfo, processComplete, taskEntrust, callBackProcessApi, sendMessageApi } from '@/api/process'
|
||||
import { useToast, useMessage, useNotify, dayjs } from 'wot-design-uni'
|
||||
const emit = defineEmits(['dataSubmit'])
|
||||
|
||||
|
||||
defineOptions({
|
||||
name: 'taskDeal',
|
||||
@ -367,81 +369,103 @@
|
||||
}
|
||||
|
||||
const handleProcessComplete = (nextNode) => {
|
||||
if (model.value.processModel == 4) { //4: 取回流程
|
||||
message
|
||||
.confirm({
|
||||
msg: '确认取回流程吗?',
|
||||
title: '提示',
|
||||
})
|
||||
.then(() => {
|
||||
let param = {
|
||||
reason: model.value.reason,
|
||||
bpmBizTitle: props.useData.bpmBizTitle,
|
||||
processApplyUser: props.useData.processApplyUserId,
|
||||
processApplyUserName: props.useData.processApplyUserName,
|
||||
taskAssigneeName: props.useData.taskAssigneeName,
|
||||
taskName: props.useData.taskName,
|
||||
taskBeginTime: props.useData.taskBeginTime
|
||||
}
|
||||
callBackProcessApi({
|
||||
processInstanceId: props.formData.procInsId
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
sendMessageApi(param) //给发起人发送信息
|
||||
toast.success(res.message)
|
||||
setTimeout(() => { //延迟2s
|
||||
uni.navigateBack()
|
||||
}, 2000)
|
||||
} else {
|
||||
toast.warning(res.message)
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
if (!model.value.reason || model.value.reason.length == 0) {
|
||||
toast.error("请填写处理意见!")
|
||||
return
|
||||
emit('dataSubmit', val=>{
|
||||
console.log(val)
|
||||
let valiData = val
|
||||
if (model.value.processModel == 3) {
|
||||
valiData.flag = true;
|
||||
}
|
||||
if (nextNode) { // true
|
||||
model.value.nextnode = nextNode;
|
||||
console.log(valiData)
|
||||
if (!valiData.flag) { //不通过验证 点击提交流程前加了一个表单验证 by 闵
|
||||
switch (valiData.type) {
|
||||
case 0:
|
||||
toast.error("请确认是否填写完表单或验证是否正确!")
|
||||
break;
|
||||
case 1:
|
||||
toast.error("请确认是否盖章!")
|
||||
break;
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if (model.value.entrust) { //如果有委托,不办理流程
|
||||
var params = {
|
||||
taskId: model.value.taskId,
|
||||
taskAssignee: model.value.entrust
|
||||
};//查询条件
|
||||
taskEntrust(params).then(res => {
|
||||
if (res.success) {
|
||||
toast.success(res.message)
|
||||
setTimeout(() => { //延迟0.5s
|
||||
uni.navigateBack()
|
||||
}, 2000)
|
||||
} else {
|
||||
toast.error(res.message)
|
||||
}
|
||||
})
|
||||
return;
|
||||
}
|
||||
message
|
||||
.confirm({
|
||||
msg: '确认提交审批吗?',
|
||||
title: '提示',
|
||||
})
|
||||
.then(() => {
|
||||
model.fileList = JSON.stringify(fileListTemp.value)
|
||||
processComplete(model.value).then(res => {
|
||||
if (res.success) {//跳转页面或加载下一个任务
|
||||
if (model.value.processModel == 4) { //4: 取回流程
|
||||
message
|
||||
.confirm({
|
||||
msg: '确认取回流程吗?',
|
||||
title: '提示',
|
||||
})
|
||||
.then(() => {
|
||||
let param = {
|
||||
reason: model.value.reason,
|
||||
bpmBizTitle: props.useData.bpmBizTitle,
|
||||
processApplyUser: props.useData.processApplyUserId,
|
||||
processApplyUserName: props.useData.processApplyUserName,
|
||||
taskAssigneeName: props.useData.taskAssigneeName,
|
||||
taskName: props.useData.taskName,
|
||||
taskBeginTime: props.useData.taskBeginTime
|
||||
}
|
||||
callBackProcessApi({
|
||||
processInstanceId: props.formData.procInsId
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
sendMessageApi(param) //给发起人发送信息
|
||||
toast.success(res.message)
|
||||
setTimeout(() => { //延迟2s
|
||||
uni.navigateBack()
|
||||
}, 2000)
|
||||
} else {
|
||||
toast.warning(res.message)
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
if (!model.value.reason || model.value.reason.length == 0) {
|
||||
toast.error("请填写处理意见!")
|
||||
return
|
||||
}
|
||||
if (nextNode) { // true
|
||||
model.value.nextnode = nextNode;
|
||||
}
|
||||
|
||||
if (model.value.entrust) { //如果有委托,不办理流程
|
||||
var params = {
|
||||
taskId: model.value.taskId,
|
||||
taskAssignee: model.value.entrust
|
||||
};//查询条件
|
||||
taskEntrust(params).then(res => {
|
||||
if (res.success) {
|
||||
toast.success(res.message)
|
||||
setTimeout(() => { //延迟0.5s
|
||||
uni.navigateBack()
|
||||
}, 1000)
|
||||
}, 2000)
|
||||
} else {
|
||||
toast.error(res.message)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
return;
|
||||
}
|
||||
message
|
||||
.confirm({
|
||||
msg: '确认提交审批吗?',
|
||||
title: '提示',
|
||||
})
|
||||
.then(() => {
|
||||
model.fileList = JSON.stringify(fileListTemp.value)
|
||||
processComplete(model.value).then(res => {
|
||||
if (res.success) {//跳转页面或加载下一个任务
|
||||
toast.success(res.message)
|
||||
setTimeout(() => { //延迟0.5s
|
||||
uni.navigateBack()
|
||||
}, 1000)
|
||||
} else {
|
||||
toast.error(res.message)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
const handleManyProcessComplete = () => { //驳回任务提交
|
||||
|
@ -14,7 +14,7 @@
|
||||
<DynamicLink ref="linkRef" :path="path" :formData="formData"></DynamicLink>
|
||||
</wd-tab>
|
||||
<wd-tab title="任务处理" v-if="type!='history'">
|
||||
<taskDeal :formData="formData" :useData="useData"></taskDeal>
|
||||
<taskDeal :formData="formData" :useData="useData" @dataSubmit="dataSubmit"></taskDeal>
|
||||
</wd-tab>
|
||||
<wd-tab title="流程图">
|
||||
<view class="container">
|
||||
@ -83,6 +83,9 @@
|
||||
const tab = ref(0)
|
||||
const completedNum = ref(0);
|
||||
const popup = ref(false)
|
||||
const linkRef = ref();
|
||||
|
||||
|
||||
const showFullScreen = () => {
|
||||
popup.value = true
|
||||
};
|
||||
@ -113,6 +116,7 @@
|
||||
formData.value = data;//流程信息
|
||||
let tempFormUrl = res.result.formUrlMobile;
|
||||
path.value = tempFormUrl; //url路径
|
||||
formData.value.path = tempFormUrl; //加载path属性
|
||||
}
|
||||
})
|
||||
} else {
|
||||
@ -154,6 +158,26 @@
|
||||
})
|
||||
})
|
||||
|
||||
const dataSubmit = async (callback)=> { //触发表单的保存数据 by 闵
|
||||
//1.先验证是否有form,如果有form则需要验证
|
||||
//2.如果没有form,则不需要验证
|
||||
let callData = {
|
||||
flag: false,
|
||||
type: 0,
|
||||
}
|
||||
console.log(linkRef.value)
|
||||
let data = await linkRef.value.signValidator()
|
||||
if(data==false||data==true){
|
||||
callData.flag = data;
|
||||
callData.type = 1;
|
||||
}else{
|
||||
callData.flag = true;
|
||||
}
|
||||
console.log(callData)
|
||||
callback(callData);
|
||||
}
|
||||
|
||||
|
||||
const imgPath = computed(() => {
|
||||
var params = qs.stringify({
|
||||
'processInstanceId': formData.value.procInsId
|
||||
|
@ -530,6 +530,13 @@
|
||||
"type": "page"
|
||||
},
|
||||
{
|
||||
"path": "unconventional/index",
|
||||
"type": "page"
|
||||
},
|
||||
{
|
||||
"path": "unconventional/stamp",
|
||||
"type": "page"
|
||||
} {
|
||||
"path": "zbkh/index",
|
||||
"type": "page"
|
||||
}
|
||||
|
BIN
src/static/CloudSign/cmaps/78-EUC-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/78-EUC-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/78-EUC-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/78-EUC-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/78-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/78-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/78-RKSJ-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/78-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/78-RKSJ-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/78-RKSJ-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/78-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/78-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/78ms-RKSJ-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/78ms-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/78ms-RKSJ-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/78ms-RKSJ-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/83pv-RKSJ-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/83pv-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/90ms-RKSJ-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/90ms-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/90ms-RKSJ-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/90ms-RKSJ-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/90msp-RKSJ-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/90msp-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/90msp-RKSJ-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/90msp-RKSJ-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/90pv-RKSJ-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/90pv-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/90pv-RKSJ-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/90pv-RKSJ-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Add-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Add-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Add-RKSJ-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Add-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Add-RKSJ-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Add-RKSJ-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Add-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Add-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-0.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-0.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-1.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-1.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-2.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-2.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-3.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-3.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-4.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-4.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-5.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-5.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-6.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-6.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-UCS2.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-CNS1-UCS2.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-GB1-0.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-GB1-0.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-GB1-1.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-GB1-1.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-GB1-2.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-GB1-2.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-GB1-3.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-GB1-3.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-GB1-4.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-GB1-4.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-GB1-5.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-GB1-5.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-GB1-UCS2.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-GB1-UCS2.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-0.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-0.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-1.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-1.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-2.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-2.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-3.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-3.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-4.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-4.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-5.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-5.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-6.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-6.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-UCS2.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-Japan1-UCS2.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-Korea1-0.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-Korea1-0.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-Korea1-1.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-Korea1-1.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-Korea1-2.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-Korea1-2.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Adobe-Korea1-UCS2.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Adobe-Korea1-UCS2.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/B5-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/B5-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/B5-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/B5-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/B5pc-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/B5pc-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/B5pc-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/B5pc-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/CNS-EUC-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/CNS-EUC-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/CNS-EUC-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/CNS-EUC-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/CNS1-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/CNS1-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/CNS1-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/CNS1-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/CNS2-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/CNS2-H.bcmap
Normal file
Binary file not shown.
3
src/static/CloudSign/cmaps/CNS2-V.bcmap
Normal file
3
src/static/CloudSign/cmaps/CNS2-V.bcmap
Normal file
@ -0,0 +1,3 @@
|
||||
àRCopyright 1990-2009 Adobe Systems Incorporated.
|
||||
All rights reserved.
|
||||
See ./LICENSEáCNS2-H
|
BIN
src/static/CloudSign/cmaps/ETHK-B5-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/ETHK-B5-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/ETHK-B5-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/ETHK-B5-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/ETen-B5-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/ETen-B5-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/ETen-B5-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/ETen-B5-V.bcmap
Normal file
Binary file not shown.
3
src/static/CloudSign/cmaps/ETenms-B5-H.bcmap
Normal file
3
src/static/CloudSign/cmaps/ETenms-B5-H.bcmap
Normal file
@ -0,0 +1,3 @@
|
||||
àRCopyright 1990-2009 Adobe Systems Incorporated.
|
||||
All rights reserved.
|
||||
See ./LICENSEá ETen-B5-H` ^
|
BIN
src/static/CloudSign/cmaps/ETenms-B5-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/ETenms-B5-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/EUC-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/EUC-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/EUC-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/EUC-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Ext-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Ext-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Ext-RKSJ-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Ext-RKSJ-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Ext-RKSJ-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Ext-RKSJ-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/Ext-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/Ext-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GB-EUC-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GB-EUC-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GB-EUC-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GB-EUC-V.bcmap
Normal file
Binary file not shown.
4
src/static/CloudSign/cmaps/GB-H.bcmap
Normal file
4
src/static/CloudSign/cmaps/GB-H.bcmap
Normal file
@ -0,0 +1,4 @@
|
||||
àRCopyright 1990-2009 Adobe Systems Incorporated.
|
||||
All rights reserved.
|
||||
See ./LICENSE!!<21>º]aX!!]`<60>21<32>> <09>p<0B>z<EFBFBD>$]‚<06>"R‚d<E2809A>-Uƒ7<C692>*„
4„%<25>+ „Z „{<7B>/…%…<<3C>9K…b<E280A6>1]†.<2E>"‡‰`]‡,<2C>"]ˆ
|
||||
<EFBFBD>"]ˆh<CB86>"]‰F<E280B0>"]Š$<24>"]‹<02>"]‹`<60>"]Œ><3E>"]<5D><1C>"]<5D>z<EFBFBD>"]ŽX<C5BD>"]<5D>6<EFBFBD>"]<5D><14>"]<5D>r<EFBFBD>"]‘P<E28098>"]’.<2E>"]“<0C>"]“j<E2809C>"]”H<E2809D>"]•&<26>"]–<04>"]–b<E28093>"]—@<40>"]˜<1E>"]˜|<7C>"]™Z<E284A2>"]š8<C5A1>"]›<16>"]›t<E280BA>"]œR<C593>"]<5D>0<EFBFBD>"]ž<0E>"]žl<C5BE>"]ŸJ<C5B8>"] (<28>"]¡<06>"]¡d<C2A1>"]¢B<C2A2>"]£ <20>"X£~<7E>']¤W<C2A4>"]¥5<C2A5>"]¦<13>"]¦q<C2A6>"]§O<C2A7>"]¨-<2D>"]©<0B>"]©i<C2A9>"]ªG<C2AA>"]«%<25>"]¬<03>"]¬a<C2AC>"]?<3F>"]®<1D>"]®{<7B>"]¯Y<C2AF>"]°7<C2B0>"]±<15>"]±s<C2B1>"]²Q<C2B2>"]³/<2F>"]´
<0A>"]´k<C2B4>"]µI<C2B5>"]¶'<27>"]·<05>"]·c<C2B7>"]¸A<C2B8>"]¹<1F>"]¹}<7D>"]º[<5B>"]»9
|
BIN
src/static/CloudSign/cmaps/GB-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GB-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBK-EUC-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBK-EUC-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBK-EUC-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBK-EUC-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBK2K-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBK2K-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBK2K-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBK2K-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBKp-EUC-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBKp-EUC-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBKp-EUC-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBKp-EUC-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBT-EUC-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBT-EUC-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBT-EUC-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBT-EUC-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBT-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBT-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBT-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBT-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBTpc-EUC-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBTpc-EUC-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBTpc-EUC-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBTpc-EUC-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBpc-EUC-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBpc-EUC-H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/GBpc-EUC-V.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/GBpc-EUC-V.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/H.bcmap
Normal file
Binary file not shown.
BIN
src/static/CloudSign/cmaps/HKdla-B5-H.bcmap
Normal file
BIN
src/static/CloudSign/cmaps/HKdla-B5-H.bcmap
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user