Compare commits

..

1 Commits

@ -2,5 +2,4 @@
. "$(dirname -- "$0")/_/husky.sh"
# node_modules/.bin/lint-staged
date
npx lint-staged
date

@ -38,11 +38,5 @@
"json",
"jsonc",
"yaml"
],
"vue3snippets.enable-compile-vue-file-on-did-save-code": true,
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint",
"[vue]": {
"editor.defaultFormatter": "Wscats.vue"
},
"editor.formatOnSaveMode": "modifications"
]
}

2
components.d.ts vendored

@ -11,7 +11,6 @@ declare module 'vue' {
BasicModal: typeof import('./src/components/Modal/BasicModal.vue')['default']
DataHeader: typeof import('./src/components/DataHeader/index.vue')['default']
NAvatar: typeof import('naive-ui')['NAvatar']
NBackTop: typeof import('naive-ui')['NBackTop']
NButton: typeof import('naive-ui')['NButton']
NCard: typeof import('naive-ui')['NCard']
NCheckbox: typeof import('naive-ui')['NCheckbox']
@ -54,7 +53,6 @@ declare module 'vue' {
NUpload: typeof import('naive-ui')['NUpload']
NUploadDragger: typeof import('naive-ui')['NUploadDragger']
Quill: typeof import('./src/components/RichEditor/Quill.vue')['default']
Robot: typeof import('./src/components/Robot/index.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
Search: typeof import('./src/components/Search/Search.vue')['default']

@ -19,15 +19,10 @@ module.exports = antfu(
'unused-imports/no-unused-vars': 'off',
'unused-imports/no-unused-imports': 'off',
'jsdoc/require-returns-description': 'off',
'eqeqeq': 'off',
'no-console': 'off',
'vue/custom-event-name-casing': 'off',
'vue/eqeqeq': 'off',
'no-restricted-syntax': [
// eslint-disable-next-line node/prefer-global/process
process.env.MODE === 'production' ? 2 : 0,
],
'array-callback-return': ['error', { allowImplicit: true }],
},
},
)

@ -11,8 +11,8 @@
<link href="/favicon.ico" rel="icon"/>
<title><%= title %></title>
</head>
<body style="overflow: hidden;">
<div id="appProvider" style="display: none;"></div>
<body>
<div id="appProvider" style="display: none"></div>
<div id="app">
<style>
.first-loading-wrap {
@ -119,6 +119,5 @@
<div class="selection-box" style="border: 1px dotted black;position: absolute;display: none;"></div>
<script>var globalThis = window;</script>
<script src="/src/main.ts" type="module"></script>
<script src="https://map.qq.com/api/js?v=2.exp&key=GIABZ-YUQKX-JOI4L-ZAGIS-673KS-NKBMC"></script>
</body>
</html>

@ -23,7 +23,7 @@ const adminInfo = {
value: 'task-main',
},
{
label: '图审审批',
label: '图审审批管理',
value: 'worksheet-main',
},
],

13477
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -40,8 +40,6 @@
"vue-mousetrap": "^1.0.5",
"vue-router": "^4.1.6",
"vue-types": "^4.2.1",
"vue-waterfall2": "^2.0.7",
"vue3-lazy": "1.0.0-alpha.1",
"xlsx": "^0.18.5"
},
"devDependencies": {
@ -79,8 +77,8 @@
"vue-tsc": "^1.8.22"
},
"lint-staged": {
"*.{ts,tsx,vue,js}": [
"eslint --fix"
"*.{ts,tsx,vue}": [
"pnpm lint:fix"
]
}
}

@ -21,8 +21,8 @@ index 3aacec9..a63ab54 100644
- }, feedbackNodes) : mergedValidationStatus === 'success' ? h("div", {
+ class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--error flex`
+ }, [h('img', {
+ style: { width: '0rem', height: '0rem' },
+ src: 'notice.svg'
+ style: { width: '1rem', height: '1rem' },
+ src: 'http://47.93.59.251/api/upload/ocr/1711419313955_c.png'
+ }), feedbackNodes]) : mergedValidationStatus === 'success' ? h("div", {
key: "controlled-success",
class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--success`
@ -179,7 +179,7 @@ index 4f47aad..6dae078 100644
const feedbackNodes = children || feedback ? ((0, vue_1.h)("div", { key: "__feedback__", class: `${mergedClsPrefix}-form-item-feedback__line` }, children || feedback)) : this.renderExplains.length ? ((_a = this.renderExplains) === null || _a === void 0 ? void 0 : _a.map(({ key, render }) => ((0, vue_1.h)("div", { key: key, class: `${mergedClsPrefix}-form-item-feedback__line` }, render())))) : null;
- return feedbackNodes ? (mergedValidationStatus === 'warning' ? ((0, vue_1.h)("div", { key: "controlled-warning", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--warning` }, feedbackNodes)) : mergedValidationStatus === 'error' ? ((0, vue_1.h)("div", { key: "controlled-error", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--error` }, feedbackNodes)) : mergedValidationStatus === 'success' ? ((0, vue_1.h)("div", { key: "controlled-success", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--success` }, feedbackNodes)) : ((0, vue_1.h)("div", { key: "controlled-default", class: `${mergedClsPrefix}-form-item-feedback` }, feedbackNodes))) : null;
+ return feedbackNodes ? (mergedValidationStatus === 'warning' ? ((0, vue_1.h)("div", { key: "controlled-warning", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--warning` }, feedbackNodes)) : mergedValidationStatus === 'error' ? ((0, vue_1.h)("div", { key: "controlled-error", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--error flex` }, [h('img', {
+ style: { width: '0rem', height: '0rem' },src: 'notice.svg'
+ style: { width: '1rem', height: '1rem' },src: 'http://47.93.59.251/api/upload/ocr/1711419313955_c.png'
+ }), feedbackNodes])) : mergedValidationStatus === 'success' ? ((0, vue_1.h)("div", { key: "controlled-success", class: `${mergedClsPrefix}-form-item-feedback ${mergedClsPrefix}-form-item-feedback--success` }, feedbackNodes)) : ((0, vue_1.h)("div", { key: "controlled-default", class: `${mergedClsPrefix}-form-item-feedback` }, feedbackNodes))) : null;
});
}

File diff suppressed because it is too large Load Diff

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>形状</title>
<g id="登录" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="登录_1.2未输入密码提示" transform="translate(-537.000000, -488.000000)" fill="#FF4E4F">
<g id="编组-11" transform="translate(510.000000, 165.000000)">
<g id="登录" transform="translate(0.000000, 44.000000)">
<g id="Group-10" transform="translate(27.000000, 276.000000)">
<g id="警示" transform="translate(0.000000, 3.000000)">
<path d="M7,0.875 C3.61757813,0.875 0.875,3.61757813 0.875,7 C0.875,10.3824219 3.61757813,13.125 7,13.125 C10.3824219,13.125 13.125,10.3824219 13.125,7 C13.125,3.61757813 10.3824219,0.875 7,0.875 Z M6.5625,4.046875 C6.5625,3.98671875 6.61171875,3.9375 6.671875,3.9375 L7.328125,3.9375 C7.38828125,3.9375 7.4375,3.98671875 7.4375,4.046875 L7.4375,7.765625 C7.4375,7.82578125 7.38828125,7.875 7.328125,7.875 L6.671875,7.875 C6.61171875,7.875 6.5625,7.82578125 6.5625,7.765625 L6.5625,4.046875 Z M7,10.0625 C6.63769531,10.0625 6.34375,9.76855469 6.34375,9.40625 C6.34375,9.04394531 6.63769531,8.75 7,8.75 C7.36230469,8.75 7.65625,9.04394531 7.65625,9.40625 C7.65625,9.76855469 7.36230469,10.0625 7,10.0625 Z" id="形状"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

@ -1,18 +1,17 @@
<script lang="ts" setup>
import { NModalProvider, dateZhCN, zhCN } from 'naive-ui'
import { computed, inject, nextTick, onMounted } from 'vue'
import { AppProvider } from '@/components/Application'
import { lighten } from '@/utils/index'
import { dateZhCN, zhCN } from "naive-ui";
import { computed, onMounted, nextTick,inject } from "vue";
import { AppProvider } from "@/components/Application";
import { lighten } from "@/utils/index";
import mouseTrapBind from '@/hooks/event/mouseTrapBind'
const mousetrap = inject('mousetrap') as any
onMounted(() => {
mouseTrapBind(mousetrap)
onMounted(()=>{
mouseTrapBind(mousetrap);
})
const getThemeOverrides = computed(() => {
const theme = '#1980FF'
const lightenStr = lighten(theme, 6)
const theme = "#1980FF";
const lightenStr = lighten(theme, 6);
return {
common: {
@ -22,34 +21,36 @@ const getThemeOverrides = computed(() => {
primaryColorSuppl: theme,
},
Switch: {
railColorActive: '#07C984',
railColorActive: "#07C984",
},
Input: {
borderHover: '0px',
borderFocus: '0px',
boxShadowFocus: '#ff0000',
borderHover: "0px",
borderFocus: "0px",
boxShadowFocus: "#ff0000",
},
Tag: {
colorCheckedHover: '#507afd',
colorCheckedPressed: '#507afd',
colorCheckedHover: "#507afd",
colorCheckedPressed: "#507afd",
},
Slider: {
fillColor: '#1980FF',
dotBorderActive: '#1980FF',
fillColorHover: '#1980FF',
fillColor: "#1980FF",
dotBorderActive: "#1980FF",
fillColorHover: "#1980FF",
},
Card: {
padding: '0px',
padding: "0px",
},
Dropdown: {
optionColorHover: '#e8f2ff',
optionColorHover: "#e8f2ff",
},
Upload: {
draggerBorder: '1px dashed #1980FF',
draggerBorderHover: '1px dashed #1980FF',
draggerBorder: "1px dashed #1980FF",
draggerBorderHover: "1px dashed #1980FF",
},
}
})
};
});
</script>
<template>
@ -58,15 +59,13 @@ const getThemeOverrides = computed(() => {
:date-locale="dateZhCN"
:theme-overrides="getThemeOverrides"
>
<NModalProvider>
<AppProvider>
<RouterView />
</AppProvider>
</NModalProvider>
<AppProvider>
<RouterView />
</AppProvider>
</NConfigProvider>
</template>
<style lang="less" scoped>
<style lang="less">
.n-checkbox .n-checkbox__label {
color: #666666 !important;
font-size: 14px !important;
@ -79,41 +78,7 @@ const getThemeOverrides = computed(() => {
color: #666666 !important;
font-size: 14px !important;
}
::v-deep(.n-base-clear > .n-base-clear__clear) {
::v-deep(.n-base-clear > .n-base-clear__clear){
color: #c9c9c9 !important;
}
// .n-form-item.n-form-item--top-labelled .n-form-item-label {
// flex-direction: row-reverse !important;
// justify-content: flex-end !important;
// }
// .n-form-item .n-form-item-label .n-form-item-label__asterisk {
// transform: rotate(-90deg) !important;
// }
.n-scrollbar-content {
padding: 0 7.97px 16 16px;
}
.n-form-item .n-form-item-label {
font-size: 14px !important;
color: #333333 !important;
}
.n-slider-dots > .n-slider-dot {
display: none !important;
}
.n-collapse-item-arrow i svg {
width: 14px !important;
height: 14px !important;
}
.v-binder-follower-content {
//left: -60px;
}
::v-deep( .n-form-item .n-form-item-feedback-wrapper .n-form-item-feedback.n-form-item-feedback--error){
display: none;
>img{
display:none !important;
}
}
</style>
<style scoped>
</style>

@ -26,7 +26,8 @@ export async function getPictureTypeList(): Promise<any> {
url: `/static/admin/web/distionary/bytypecode/izpicturetype`,
method: 'get',
})
const list = res.data&&res.data.length?res.data[0].distionaryList:[]
const list = res.data[0].distionaryList
return list
}
@ -72,7 +73,7 @@ export async function getTFList() {
method: 'get',
})
const list = res.data&&res.data.length?res.data[0].distionaryList:[]
const list = res.data[0].distionaryList
return list
}
@ -144,7 +145,7 @@ export async function getIztaskrromList(enabled: string) {
params: { enabled },
})
const list = res.data&&res.data.length?res.data[0].distionaryList:[]
const list = res.data[0].distionaryList
return list
}
@ -160,7 +161,7 @@ export async function getIztaskstatusList(enabled: string) {
params: { enabled },
})
const list = res.data&&res.data.length?res.data[0].distionaryList:[]
const list = res.data[0].distionaryList
return list
}
@ -190,7 +191,7 @@ export async function getIzfirmList(enabled: string) {
params: { enabled },
})
const list = res.data&&res.data.length?res.data[0].distionaryList:[]
const list = res.data[0].distionaryList
return list
}
@ -206,7 +207,7 @@ export async function getIzproductnameList(enabled: string) {
params: { enabled },
})
const list = res.data&&res.data.length?res.data[0].distionaryList:[]
const list = res.data[0].distionaryList
return list
}
@ -222,7 +223,7 @@ export async function getizcustomnameList(enabled: string) {
params: { enabled },
})
const list = res.data&&res.data.length?res.data[0].distionaryList:[]
const list = res.data[0].distionaryList
return list
}
@ -236,7 +237,7 @@ export async function getIzCustomtypeList(): Promise<any> {
method: 'get',
})
const list = res.data&&res.data.length?res.data[0].distionaryList:[]
const list = res.data[0].distionaryList
return list
}
@ -252,7 +253,7 @@ export async function getIzcustomlevel(enabled: string) {
params: { enabled },
})
const list = res.data&&res.data.length?res.data[0].distionaryList:[]
const list = res.data[0].distionaryList
return list
}
@ -268,7 +269,7 @@ export async function getIzprojecttypeList(enabled: string) {
params: { enabled },
})
const list = res.data&&res.data.length?res.data[0].distionaryList:[]
const list = res.data[0].distionaryList
return list
}
@ -297,7 +298,8 @@ export async function getRejectList() {
method: 'get',
})
return res.data&&res.data.length?res.data[0].distionaryList:[]
const list = res.data[0].distionaryList
return list
}
/**
@ -310,14 +312,14 @@ export async function getBackList() {
method: 'get',
})
return res.data&&res.data.length?res.data[0].distionaryList:[]
return res.data[0].distionaryList
}
/**
*
* @returns
*/
export async function getBusinessList(field: string, page: PageParam = { pageNo: 1, pageSize: 10000 }) {
export async function getBusinessList(field: string, page: PageParam = { pageNo: 1, pageSize: 200 }) {
const res = await http.request({
url: `/ocr/dictionary/getDictionaryByField`,
method: 'get',
@ -363,7 +365,7 @@ export async function getRelationTypeList() {
method: 'get',
})
return res.data&&res.data.length?res.data[0].distionaryList:[]
return res.data[0].distionaryList
}
/**
@ -375,7 +377,7 @@ export async function getizstatusList() {
url: `/static/admin/web/distionary/bytypecode/izstatus`,
method: 'get',
})
return res.data&&res.data.length?res.data[0].distionaryList:[]
return res.data[0].distionaryList
}
/**
@ -387,5 +389,5 @@ export async function getizApprovalStatusList() {
url: `/static/admin/web/distionary/bytypecode/izApprovalStatus`,
method: 'get',
})
return res.data&&res.data.length?res.data[0].distionaryList:[]
return res.data[0].distionaryList
}

@ -14,7 +14,7 @@ export async function getFinalList(params: FinalParam) {
Object.keys(notEmptyParams).forEach((key) => {
const val = notEmptyParams[key]
if (key === 'izyear') {
if (key === 'izuptime') {
const start = formatToDate2(val[0])
const end = formatToDate2(val[1])
notEmptyParams[key] = `${start}-${end}`

@ -1,25 +1,10 @@
import { pickBy } from 'lodash-es'
import axios from 'axios'
import { ContentTypeEnum } from '@/enums/httpEnum'
import { notEmpty } from '@/utils'
import { formatToDate2 } from '@/utils/dateUtil'
import { http } from '@/utils/http/axios'
import { pickBy } from 'lodash-es'
import type { CheckParam, PageParam, QueryPictureParam, UploadParam } from '/#/api'
const CancelToken = axios.CancelToken
window.cancle = {}
/**
*
* @returns
*/
export async function gettaskToolsCount(): Promise<any> {
return await http.request({
url: `/ocr/aitools/toolsTaskApprovalCount`,
method: 'get',
})
}
/**
*
* @param params
@ -94,6 +79,7 @@ export async function getToolsCount() {
})
}
/**
*
* @param note
@ -122,7 +108,7 @@ export async function oneClickCheck(params: Partial<CheckParam> = { search_histo
* @param note
* @returns
*/
export async function oneClickCheckTaskPackage(params: Partial<CheckParam> = { search_history: '0' }) {
export async function oneClickCheckTaskPackage(params: Partial<CheckParam> = { search_history: '0' }) {
const notEmptyParams = pickBy(params, notEmpty)
Object.keys(notEmptyParams).forEach((key) => {
@ -145,7 +131,8 @@ export async function oneClickCheckTaskPackage(params: Partial<CheckParam> = { s
* @param note
* @returns
*/
export async function getLastCheckNo() {
export async function getLastCheckNo() {
return http.request({
url: `/ocr/checkDuplicate/getLastCheckNo`,
method: 'get',
@ -157,7 +144,8 @@ export async function getLastCheckNo() {
* @param note
* @returns
*/
export async function getCheckDuplicateStatus(checkDuplicateNo) {
export async function getCheckDuplicateStatus(checkDuplicateNo) {
return http.request({
url: `/ocr/checkDuplicate/getCheckDuplicateStatus`,
method: 'get',
@ -170,7 +158,8 @@ export async function getCheckDuplicateStatus(checkDuplicateNo) {
* @param note
* @returns
*/
export async function removeCheckDuplicate(checkDuplicateNo) {
export async function removeCheckDuplicate(checkDuplicateNo) {
return http.request({
url: `/ocr/checkDuplicate/removeCheckDuplicate`,
method: 'get',
@ -180,31 +169,33 @@ export async function removeCheckDuplicate(checkDuplicateNo) {
}
/**
*
* @param
* @param
* @returns
*/
export async function createPackage(params) {
export async function createPackage(params) {
return http.request({
url: `/ocr/ocrTaskPackage/createPackage`,
method: 'post',
params,
params
})
}
/**
*
* @param
* @param
* @returns
*/
export async function deletePackage(params) {
export async function deletePackage(params) {
return http.request({
url: `/ocr/ocrTaskPackage/deletePackage`,
method: 'get',
params,
params
})
}
/**
*
* @param
* @param
* @returns
*/
export async function queryPageListByCheckNo(params: any): Promise<any> {
@ -228,17 +219,13 @@ export async function queryPageListByCheckNo(params: any): Promise<any> {
method: 'get',
params: notEmptyParams,
headers: { 'Content-Type': ContentTypeEnum.FORM_DATA },
cancelToken: new CancelToken((c) => {
window.cancle.queryPageListByCheckNo = c
}),
})
const { data: { records, pages, total, current } } = res
const { data: { records, pages, total } } = res
return {
pageCount: pages,
data: records,
total,
current,
}
}
/**
@ -267,55 +254,26 @@ export async function getPictureList(params: any): Promise<any> {
method: 'get',
params: notEmptyParams,
headers: { 'Content-Type': ContentTypeEnum.FORM_DATA },
cancelToken: new CancelToken((c) => {
window.cancle.getPictureList = c
}),
})
const { data: { records, pages, total, current } } = res
const { data: { records, pages, total } } = res
return {
pageCount: pages,
data: records,
total,
current,
}
}
/**
*
* @param
* @param
* @returns
*/
export async function getFilterList(params) {
return http.request({
url: `/ocr/ocrUsersearch/querySearchCondition`,
method: 'get',
params,
})
}
/**
* id
* @param
* @returns
*/
export async function getLastCheckNox() {
return http.request({
url: `/ocr/checkDuplicate/getLastCheckNo`,
method: 'get',
})
}
/**
* id
* @param
* @returns
*/
export async function getCheckDuplicateStatusx(params) {
return http.request({
url: `/ocr/checkDuplicate/getCheckDuplicateStatus`,
url: `/ocr/ocrUsersearch/querySearchCondition`,
method: 'get',
params,
params
})
}
}

@ -15,7 +15,6 @@ export async function getApprovalList(page: any) {
pageSize: page.pageSize,
currPage: page.pageNo,
keyword: page.keyword,
userSearchId: page.userSearchId,
},
})
@ -28,7 +27,7 @@ export async function getApprovalList(page: any) {
/**
*
* @param params
* @param param
*/
export async function audit(params) {
return http.request({
@ -82,6 +81,8 @@ export async function removeFiles(params) {
/**
* ()
* @param packageid id
* @param taskchildpictureid id
* @param params
* @returns
*/
@ -92,37 +93,26 @@ export async function getSimilarityList(params: any) {
params,
})
const { data } = res
if (data) {
const { records, pages, total, current } = data
// 精简一下数据
const list = records.map((item) => {
return {
id: item.id,
taskId: item.taskId,
taskname: item.fromtaskname,
assignee: item.assignee,
pictureid: item.pictureid,
imgurl: item.imgUrl,
thumburl: item.imgUrl,
iztrueorfalse: item.iztrueorfalse,
states: item.states,
}
})
const { data: { records, pages, total } } = res
// 精简一下数据
const list = records.map((item) => {
return {
pageCount: pages,
data: records,
total,
current,
}
}
else {
return {
pageCount: 0,
data: [],
total: 0,
id: item.id,
taskId: item.taskId,
taskname: item.fromtaskname,
assignee: item.assignee,
pictureid: item.pictureid,
imgurl: item.imgUrl,
thumburl: item.imgUrl,
iztrueorfalse: item.iztrueorfalse,
states: item.states,
}
})
return {
pageCount: pages,
data: records,
total,
}
}
@ -133,10 +123,10 @@ export async function getSimilarityList(params: any) {
* @returns
*/
export async function getTaskDetailInfo(taskId: string, packageid: string, taskNode: string) {
export async function getTaskDetailInfo(taskId: string, packageid: string) {
const pid = packageid || 0
const res = await http.request({
url: `/backstage/jifen/ocrtaskchildpicture/getdata/${taskId}/${pid}/${taskNode}`,
url: `/backstage/jifen/ocrtaskchildpicture/getdata/${taskId}/${pid}`,
method: 'get',
})

@ -22,7 +22,7 @@ export async function getPackageList(params: PageParam, packageName: string) {
}
/**
* -
* -
* @returns
*/
export async function getPackagePicture(params: PageParam, packagename: string) {
@ -62,11 +62,12 @@ export async function getPackageTaskList(packageid: string, params: PageParam) {
}
/**
* -
* -
* @param checkDuplicateId id
* @returns
*/
export async function getTaskDetailInfo(checkDuplicateId: string) {
const res = await http.request({
url: `/ocr/ocrPicture/getPackagePicture?checkDuplicateId=${checkDuplicateId}`,
method: 'get',
@ -83,6 +84,7 @@ export async function getTaskDetailInfo(checkDuplicateId: string) {
* @returns
*/
export async function getPictureSimilarityList(params: PageParam & PictureSortParam & SimilarityPictureSortParam) {
const res = await http.request({
url: `/backstage/jifen/ocrtaskchildpicture/getPictureSimilarityList`,
method: 'get',
@ -92,25 +94,23 @@ export async function getPictureSimilarityList(params: PageParam & PictureSortPa
const { data: { records, pages, total } } = res
// 精简一下数据
const list = records.map((item, index) => {
const list = records.map((item,index) => {
return {
id: item.id,
checkDuplicateId: item.checkDuplicateId,
taskId: item.taskId,
taskname: item.fromTaskName,
assignee: item.assignee,
pictureid: item.pictureid || item.pictureId,
imgurl: item.imgUrl,
imgUrl: item.imgUrl,
serverThumbnailUrl: item.serverThumbnailUrl,
pictureid: item.pictureid,
imgurl: item.serverThumbnailUrl,
maxSimilarity: item.maxSimilarity,
thumburl: item.ocrPicture?.serverThumbnailUrl || item.ocrPicture?.imgurl,
iztrueorfalse: item.iztrueorfalse,
states: item.states,
history: item.ocpictureid && item.picturecompare && hasHistory(item.ocpictureid, item.picturecompare),
historyStates: item.historyStates,
submitDateTimestamp: item.submitDateTimestamp,
photoDateTimestamp: item.photoDateTimestamp,
historyStates:item.historyStates,
submitDateTimestamp:item.submitDateTimestamp,
photoDateTimestamp:item.photoDateTimestamp,
}
})
return {

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>添加</title>
<defs>
<rect id="path-1" x="0" y="0" width="64" height="64"></rect>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-1192.000000, -3118.000000)">
<g id="添加" transform="translate(1192.000000, 3118.000000)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="蒙版"></g>
<path d="M33.6001601,10.1217936 C34.1524449,10.1217936 34.6001601,10.5695089 34.6001601,11.1217936 L34.6001601,11.1217936 L34.5992064,29.3997936 L52.8782064,29.3998399 C53.4304911,29.3998399 53.8782064,29.8475551 53.8782064,30.3998399 L53.8782064,33.6001601 C53.8782064,34.1524449 53.4304911,34.6001601 52.8782064,34.6001601 L34.5992064,34.5997936 L34.6001601,53.1217936 C34.6001601,53.6346295 34.21412,54.0573008 33.7167813,54.1150659 L33.6001601,54.1217936 L30.3998399,54.1217936 C29.8475551,54.1217936 29.3998399,53.6740784 29.3998399,53.1217936 L29.3998399,53.1217936 L29.3992064,34.5997936 L10.8782064,34.6001601 C10.3259216,34.6001601 9.87820635,34.1524449 9.87820635,33.6001601 L9.87820635,30.3998399 C9.87820635,29.8475551 10.3259216,29.3998399 10.8782064,29.3998399 L29.3992064,29.3997936 L29.3998399,11.1217936 C29.3998399,10.6089578 29.78588,10.1862865 30.2832187,10.1285214 L30.3998399,10.1217936 Z" id="形状结合" fill="#507AFD" mask="url(#mask-2)"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="48px" height="37px" viewBox="0 0 48 37" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>形状 2</title>
<g id="index" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="index_图片加载中" transform="translate(-893.000000, -298.000000)" fill="#F0F0F0" fill-rule="nonzero">
<g id="编组-24" transform="translate(410.000000, 62.000000)">
<g id="编组-27" transform="translate(16.000000, 132.000000)">
<g id="编组-18备份-2" transform="translate(400.000000, 0.000000)">
<g id="形状-3" transform="translate(67.000000, 104.000000)">
<g id="形状-2" transform="translate(0.000000, 0.462637)">
<path d="M12.8421882,20.0575479 C12.1281936,19.0374348 10.9742024,19.0374348 10.2622078,20.0575479 L0.346282996,34.2309071 C-0.367711589,35.249016 0.0582851799,36.0747264 1.29427581,36.0747264 L46.7139313,36.0747264 C47.9519219,36.0747264 48.3659188,35.2510201 47.6479242,34.2349153 L31.9400434,12.0389379 C31.2160489,11.0168206 30.0540576,11.0208289 29.3340631,12.0389379 L18.2181474,27.7454729 L12.8401882,20.0575479 L12.8421882,20.0575479 Z M6.54623594,4.5093408 C6.54623594,7.00050109 8.50022111,9.0186816 10.9102029,9.0186816 C13.3201846,9.0186816 15.2721698,7.00050109 15.2721698,4.5093408 C15.2721698,2.01818051 13.3221846,0 10.9122029,0 C8.50222115,0 6.54823594,2.01818051 6.54823594,4.5093408 L6.54623594,4.5093408 Z" id="形状"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>小结重复数</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-2504.000000, -6389.000000)" fill="#507AFD" fill-rule="nonzero">
<g id="小结重复数" transform="translate(2504.000000, 6389.000000)">
<path d="M64,32 C64,49.6731274 49.6731274,64 32,64 C14.3268738,64 0,49.6731274 0,32 C0,14.3268738 14.3268738,0 32,0 C49.6731274,0 64,14.3268738 64,32 C64,32 64,32 64,32 Z" id="Ellipse-930" fill-opacity="0.1"></path>
<path d="M39.4637452,37.4192503 L42.4384908,40.9882633 L38.4168391,44.1717731 C38.238099,44.3210001 38.0082903,44.383178 37.7784816,44.3583068 L37.7784816,44.3583068 L35.4931621,44.1344663 C35.0463119,44.0971595 34.8292703,43.8360123 34.8803389,43.4007668 L34.8803389,43.4007668 L35.1229147,41.1872326 C35.148449,40.9633921 35.2633534,40.7519871 35.4420935,40.6151957 L35.4420935,40.6151957 L39.4637452,37.4192503 Z M36.3996296,40.9509565 C36.2847253,40.8141651 36.0804509,40.7892939 35.9400123,40.9012142 C35.7995736,41.0131344 35.7740393,41.2121038 35.8889437,41.3488952 L35.8889437,41.3488952 L37.7401802,43.574865 C37.8550845,43.7116564 38.0593589,43.7365276 38.1997975,43.6246073 C38.3402362,43.512687 38.3657705,43.3137177 38.2508661,43.1769262 L38.2508661,43.1769262 Z M34.7015988,24.1007387 C36.0676837,24.1877878 36.3613282,24.3743216 36.2847253,25.6924936 L36.2847253,38.0161584 L33.6546927,40.1302079 C33.2844454,41.0006988 33.1184724,41.8090119 33.1823082,42.5800182 L21.3982301,42.5800182 C19.840638,42.5800182 19.6363636,41.9582389 19.6363636,40.8887786 L19.6363636,26.0655611 C19.6363636,24.8344382 19.751268,24.1256099 21.2322572,24.1007387 L34.7015988,24.1007387 Z M40.8936659,36.3000477 C41.4809547,35.8523666 42.3235865,35.9394157 42.795971,36.499017 L42.795971,36.499017 L44.0599187,38.028594 C44.0726858,38.028594 44.0726858,38.0410296 44.085453,38.0534652 C44.5323032,38.6130665 44.430166,39.4338151 43.8556443,39.8690606 L43.8556443,39.8690606 L43.0002454,40.5530178 L40.0254998,36.9840049 Z M27.2300894,35.6641158 L23.5186803,35.6641158 C23.1851396,35.6441576 22.8663348,35.8038546 22.6825894,36.082934 C22.4997429,36.3503649 22.4997429,36.7025941 22.6825894,36.9700249 C22.864953,37.2412522 23.1786803,37.3896158 23.5186803,37.3896158 L23.5186803,37.3896158 L27.2300894,37.3896158 C27.5700894,37.3896158 27.8838166,37.2412522 28.066953,36.9700249 C28.2500894,36.6987977 28.2500894,36.3533886 28.066953,36.082934 C27.8838166,35.810934 27.5700894,35.6641158 27.2300894,35.6641158 L27.2300894,35.6641158 Z M36.093218,19.6363636 C39.182868,19.7109771 40.6383229,20.5814681 40.6766243,23.5287018 L40.6766243,34.6088081 L40.56172,34.5590658 L37.6252759,36.9218269 L37.6252759,24.1629166 C37.6252759,23.3670392 37.0762885,22.5711617 36.1570538,22.533855 L24.0665642,22.533855 C23.798454,22.533855 23.5175768,22.2851433 23.4920425,22.023996 L23.4920425,21.36491 C23.4920425,20.4819834 24.30914,19.6736704 25.2411418,19.6487992 L25.3049776,19.6487992 L36.093218,19.6363636 Z M32.8238621,31.2997522 L23.5186803,31.2997522 C23.1850199,31.2801224 22.8662573,31.4400929 22.6825894,31.7193431 C22.4997429,31.986774 22.4997429,32.3390032 22.6825894,32.606434 C22.864953,32.8776613 23.1786803,33.0260249 23.5186803,33.0260249 L23.5186803,33.0260249 L32.7983621,33.0260249 C33.1375894,33.0260249 33.4520894,32.8537067 33.6607257,32.606434 C33.8438621,32.3359795 33.8438621,31.9897977 33.6607257,31.7193431 C33.4775894,31.4481158 33.1638621,31.2997522 32.8238621,31.2997522 L32.8238621,31.2997522 Z M23.5186803,26.911434 C23.1786803,26.8867067 22.864953,27.0597977 22.6825894,27.3310249 C22.4997429,27.5984558 22.4997429,27.950685 22.6825894,28.2181158 C22.864953,28.4901158 23.1786803,28.636934 23.5186803,28.636934 L23.5186803,28.636934 L32.7983621,28.636934 C33.1375894,28.662434 33.4513166,28.4901158 33.634453,28.2428431 C33.7913166,27.9716158 33.7913166,27.6262067 33.634453,27.3557522 C33.4513166,27.0845249 33.1638621,26.911434 32.8238621,26.911434 L32.8238621,26.911434 Z" id="形状结合"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>卡片模式</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-3040.000000, -6389.000000)" fill-rule="nonzero">
<g id="卡片模式" transform="translate(3040.000000, 6389.000000)">
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="64" height="64"></rect>
<path d="M52.8,52.8 L52.8,38.95 L38.95,38.95 L38.95,52.8 L52.8,52.8 M25.05,52.8 L25.05,38.95 L11.2,38.95 L11.2,52.8 L25.05,52.8 M52.8,25.05 L52.8,11.2 L38.95,11.2 L38.95,25.05 L52.8,25.05 M25.05,25.05 L25.05,11.2 L11.2,11.2 L11.2,25.05 L25.05,25.05 M54.55,58 L37.2,58 C35.3,58 33.75,56.45 33.75,54.55 L33.75,37.2 C33.75,35.3 35.3,33.75 37.2,33.75 L54.55,33.75 C56.45,33.75 58,35.3 58,37.2 L58,54.55 C58,56.45 56.45,58 54.55,58 L54.55,58 Z M26.8,58 L9.45,58 C7.55,58 6,56.45 6,54.55 L6,37.2 C6,35.3 7.55,33.75 9.45,33.75 L26.8,33.75 C28.7,33.75 30.25,35.3 30.25,37.2 L30.25,54.55 C30.25,56.45 28.7,58 26.8,58 L26.8,58 Z M54.55,30.25 L37.2,30.25 C35.3,30.25 33.75,28.7 33.75,26.8 L33.75,9.45 C33.75,7.55 35.3,6 37.2,6 L54.55,6 C56.45,6 58,7.55 58,9.45 L58,26.8 C58,28.7 56.45,30.25 54.55,30.25 L54.55,30.25 Z M26.8,30.25 L9.45,30.25 C7.55,30.25 6,28.7 6,26.8 L6,9.45 C6,7.55 7.55,6 9.45,6 L26.8,6 C28.7,6 30.25,7.55 30.25,9.45 L30.25,26.8 C30.25,28.7 28.7,30.25 26.8,30.25 L26.8,30.25 Z" id="形状" fill="#333333"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>任务总数</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-930.000000, -6389.000000)" fill="#507AFD" fill-rule="nonzero">
<g id="任务总数" transform="translate(930.000000, 6389.000000)">
<path d="M64,32 C64,49.6731274 49.6731274,64 32,64 C14.3268738,64 0,49.6731274 0,32 C0,14.3268738 14.3268738,0 32,0 C49.6731274,0 64,14.3268738 64,32 C64,32 64,32 64,32 Z" id="Ellipse-930" fill-opacity="0.1"></path>
<path d="M42.8077595,20.3636364 L21.1922405,20.3636364 C20.9718752,20.364003 20.7607017,20.4519898 20.60527,20.6082013 C20.4498384,20.7644129 20.3629095,20.9760242 20.3636409,21.1963887 L20.3636409,27.0159562 L43.6363591,27.0159562 L43.6363591,21.1963887 C43.6370905,20.9760242 43.5501616,20.7644129 43.39473,20.6082013 C43.2392983,20.4519898 43.0281248,20.364003 42.8077595,20.3636364 L42.8077595,20.3636364 Z M23.6724827,24.7283119 C23.097779,24.7283119 22.6318895,24.2624221 22.6318895,23.6877179 C22.6318895,23.1130136 23.097779,22.6471238 23.6724827,22.6471238 C24.2468039,22.6471238 24.7123832,23.1127035 24.7123832,23.6870251 C24.7123832,24.2613467 24.2468039,24.7269264 23.6724827,24.7269264 L23.6724827,24.7283119 Z M20.3636456,42.8036113 C20.3636456,43.2664054 20.7349891,43.6363636 21.1922405,43.6363636 L42.8036027,43.6363636 C43.0239675,43.6363636 43.2352865,43.5487295 43.390978,43.3927781 C43.5466694,43.2368266 43.6339511,43.0253615 43.6335843,42.8049968 L43.6335843,36.9854294 L20.3636456,36.9854294 L20.3636456,42.8049968 L20.3636456,42.8036113 Z M23.6724827,39.2730736 C24.2464213,39.2730736 24.7116904,39.7383431 24.7116904,40.3122821 C24.7116904,40.8862211 24.2464213,41.3514906 23.6724827,41.3514906 C23.0985442,41.3514906 22.6332751,40.8862211 22.6332751,40.3122821 C22.6332751,39.7383431 23.0985442,39.2730736 23.6724827,39.2730736 L23.6724827,39.2730736 Z M20.3636456,35.3240815 L43.6363544,35.3240815 L43.6363544,28.6759185 L20.3636456,28.6759185 L20.3636456,35.3254671 L20.3636456,35.3240815 Z M23.6724827,30.9594059 C24.2468039,30.9594059 24.7123832,31.4249856 24.7123832,31.9993072 C24.7123832,32.5736288 24.2468039,33.0392084 23.6724827,33.0392084 C23.0985442,33.0392084 22.6332751,32.573939 22.6332751,32 C22.6332751,31.426061 23.0985442,30.9607916 23.6724827,30.9607916 L23.6724827,30.9594059 Z" id="形状"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>新建</title>
<defs>
<rect id="path-1" x="0" y="0" width="64" height="64"></rect>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-664.000000, -3118.000000)">
<g id="新建" transform="translate(664.000000, 3118.000000)">
<g transform="translate(0.000000, 0.000000)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<use id="蒙版" fill="#FFFFFF" fill-rule="nonzero" opacity="0" xlink:href="#path-1"></use>
<g id="编组" mask="url(#mask-2)" fill="#FFFFFF">
<g transform="translate(7.000000, 7.000000)" id="形状结合">
<path d="M48,0 C49.1045695,-2.02906125e-16 50,0.8954305 50,2 L50,22 C50,22.5522847 49.5522847,23 49,23 L46,23 C45.4477153,23 45,22.5522847 45,22 L45,5 L5,5 L5,45 L22,45 C22.5522847,45 23,45.4477153 23,46 L23,49 C23,49.5522847 22.5522847,50 22,50 L2,50 C0.8954305,50 1.3527075e-16,49.1045695 0,48 L0,2 C-1.3527075e-16,0.8954305 0.8954305,2.02906125e-16 2,0 L48,0 Z M40.8724299,28.8483283 C41.4247147,28.8483283 41.8724299,29.2960436 41.8724299,29.8483283 L41.8724299,36.8483283 L48.8724299,36.8483283 C49.4247147,36.8483283 49.8724299,37.2960436 49.8724299,37.8483283 L49.8724299,40.8483283 C49.8724299,41.4006131 49.4247147,41.8483283 48.8724299,41.8483283 L41.8724299,41.8483283 L41.8724299,48.8483283 C41.8724299,49.4006131 41.4247147,49.8483283 40.8724299,49.8483283 L37.8724299,49.8483283 C37.3201452,49.8483283 36.8724299,49.4006131 36.8724299,48.8483283 L36.8724299,41.8483283 L29.8724299,41.8483283 C29.3201452,41.8483283 28.8724299,41.4006131 28.8724299,40.8483283 L28.8724299,37.8483283 C28.8724299,37.2960436 29.3201452,36.8483283 29.8724299,36.8483283 L36.8724299,36.8483283 L36.8724299,29.8483283 C36.8724299,29.2960436 37.3201452,28.8483283 37.8724299,28.8483283 L40.8724299,28.8483283 Z"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>已审批</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-1458.000000, -6389.000000)" fill="#507AFD" fill-rule="nonzero">
<g id="已审批" transform="translate(1458.000000, 6389.000000)">
<path d="M64,32 C64,49.6731274 49.6731274,64 32,64 C14.3268738,64 0,49.6731274 0,32 C0,14.3268738 14.3268738,0 32,0 C49.6731274,0 64,14.3268738 64,32 C64,32 64,32 64,32 Z" id="Ellipse-930" fill-opacity="0.1"></path>
<g id="编组" transform="translate(20.363636, 20.363636)">
<path d="M17.1722301,12.6691268 C20.5422747,12.6691268 23.2771277,15.3748997 23.272722,18.704746 C23.2638945,22.025864 20.5334526,24.7229086 17.1810522,24.7272727 C13.8110075,24.7272727 11.0761546,22.025864 11.0761546,18.6960177 C11.0761546,15.3705356 13.8065965,12.6691268 17.1722301,12.6691268 Z M10.5909387,21.9560376 C10.8291356,22.4971922 11.1290872,22.9990694 11.4907936,23.4616693 L0,23.4616693 L0,21.9560376 L10.5909387,21.9560376 Z M19.6159535,15.9160543 L16.4444063,19.258993 L14.596175,17.5133331 L13.4757675,18.5389083 L16.4929279,21.4847094 L20.8686926,17.1423804 L19.6159535,15.9160543 Z M10.0130907,0 C13.1317053,0 15.6636499,2.50502198 15.6636499,5.59047588 C15.6636499,6.55495299 15.4166309,7.46269615 14.9843477,8.25260726 L14.9799366,8.25697141 C14.8255498,8.536277 14.6402855,8.80249013 14.4417881,9.05561082 C13.5860438,10.4041331 12.8096985,11.4733498 13.2552148,12.760774 C11.2967072,14.0263774 9.99985758,16.2128165 9.99985758,18.6960177 C9.99985758,19.1629817 10.0483792,19.1760742 10.1321892,19.6168533 L0,19.6168533 L0,14.6286301 L5.58880439,14.6286301 C8.62802004,12.2588968 6.77096665,10.897282 5.56674913,9.03379007 C4.81687008,8.08240542 4.3625316,6.89099252 4.3625316,5.59047588 C4.3625316,2.50502198 6.89447614,0 10.0130907,0 Z" id="形状结合"></path>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="44px" viewBox="0 0 64 44" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>标签</title>
<defs>
<polygon id="path-1" points="0 0 25.9047619 0 25.9047619 3.03448276 0 3.03448276"></polygon>
<polygon id="path-3" points="0 0 25.9047619 0 25.9047619 9.10344828 0 9.10344828"></polygon>
<linearGradient x1="6.6483347%" y1="5.51282194%" x2="77.9785156%" y2="89.1343284%" id="linearGradient-5">
<stop stop-color="#FFA0A0" offset="0%"></stop>
<stop stop-color="#FF4E4F" offset="100%"></stop>
</linearGradient>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="无法上传iconfont" transform="translate(-1335.000000, -540.000000)">
<g id="标签" transform="translate(1335.000000, 540.000000)">
<g id="编组">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="Clip-2"></g>
<path d="M5.19743462,-3.10020716e-05 L2.80500448,-3.10020716e-05 C2.80500448,-3.10020716e-05 0.0824975911,0.592186069 0,7.32785113 L7.0949656,7.32785113 L13.942352,7.32785113 L25.9047619,5.84750222 L6.84747283,2.07245748 L5.19743462,-3.10020716e-05 Z" id="Fill-1" fill="#D44242" mask="url(#mask-2)"></path>
</g>
<g id="编组" transform="translate(38.095238, 0.000000)">
<mask id="mask-4" fill="white">
<use xlink:href="#path-3"></use>
</mask>
<g id="Clip-4"></g>
<path d="M23.0998499,-3.85141222e-05 L20.7074101,-3.85141222e-05 L19.0573653,1.06613433 L0,3.00817174 L11.9623713,3.76972377 L18.8098716,3.76972377 L25.9047792,3.76972377 C25.8222813,0.304622169 23.0998499,-3.85141222e-05 23.0998499,-3.85141222e-05" id="Fill-3" fill="#D44242" mask="url(#mask-4)"></path>
</g>
<path d="M3.04761905,0 C5.4656579,0.257580711 5.47255535,6.18211688 5.47255535,6.18211688 L5.47255535,6.18211688 L5.47255535,35.4136167 C5.47255535,40.1557989 9.20573842,44 13.810795,44 L13.810795,44 L13.8762772,44 L50.1236355,44 L50.1890304,44 C54.794087,44 58.52727,40.1557989 58.52727,35.4136167 L58.52727,35.4136167 L58.52727,6.18211688 C58.52727,6.18211688 58.5341675,0.257580711 60.952381,0 L60.952381,0 L3.04761905,0 Z" id="Fill-5" fill="url(#linearGradient-5)"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>excel</title>
<defs>
<polygon id="path-1" points="14.6302222 40 18.5555556 34.112 22.4808889 40 25.5315556 40 20.0488889 32.128 25.1902222 24.768 22.1395556 24.768 18.5555556 30.144 14.9715556 24.768 11.9208889 24.768 17.0195556 32.128 11.5795556 40"></polygon>
<filter x="-53.8%" y="-49.2%" width="207.5%" height="198.5%" filterUnits="objectBoundingBox" id="filter-2">
<feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0.282976676 0 0 0 0 0.125210918 0 0 0 1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-1457.000000, -7697.000000)">
<g id="excel" transform="translate(1457.000000, 7697.000000)">
<path d="M34.1239995,6.66666667 L52,24.1066671 L52,53.3333333 C52,54.4379028 51.5522847,55.4379028 50.8284271,56.1617605 C50.1045695,56.8856181 49.1045695,57.3333333 48,57.3333333 L48,57.3333333 L16,57.3333333 C14.8954305,57.3333333 13.8954305,56.8856181 13.1715729,56.1617605 C12.4477153,55.4379028 12,54.4379028 12,53.3333333 L12,53.3333333 L12,10.6666667 C12,9.56209717 12.4477153,8.56209717 13.1715729,7.83823954 C13.8954305,7.11438192 14.8954305,6.66666667 16,6.66666667 L16,6.66666667 L34.1239995,6.66666667 Z" id="形状结合" stroke="#269758" stroke-width="2.66666667" fill="#FFFFFF"></path>
<path d="M36,8.55228475 L50.1143819,22.6666667 L40,22.6666667 C38.8954305,22.6666667 37.8954305,22.2189514 37.1715729,21.4950938 C36.4477153,20.7712362 36,19.7712362 36,18.6666667 L36,18.6666667 L36,8.55228475 Z" id="矩形备份" stroke="#269758" stroke-width="2.66666667" fill="#FFFFFF"></path>
<g id="编组" transform="translate(32.000000, 24.000000)" fill="#EBEDF0">
<rect id="矩形" x="0" y="0" width="5.33333333" height="2.66666667"></rect>
<rect id="矩形备份-2" x="0" y="5.33333333" width="5.33333333" height="2.66666667"></rect>
<rect id="矩形备份-3" x="0" y="10.6666667" width="5.33333333" height="2.66666667"></rect>
<rect id="矩形备份-4" x="0" y="16" width="5.33333333" height="2.66666667"></rect>
</g>
<g id="编组备份" transform="translate(40.000000, 24.000000)" fill="#EBEDF0">
<rect id="矩形" x="0" y="0" width="5.33333333" height="2.66666667"></rect>
<rect id="矩形备份-2" x="0" y="5.33333333" width="5.33333333" height="2.66666667"></rect>
<rect id="矩形备份-3" x="0" y="10.6666667" width="5.33333333" height="2.66666667"></rect>
<rect id="矩形备份-4" x="0" y="16" width="5.33333333" height="2.66666667"></rect>
</g>
<rect id="矩形" fill="#269758" x="5.33333333" y="18.6666667" width="26.6666667" height="26.6666667" rx="2.66666667"></rect>
<g id="X" fill-rule="nonzero">
<use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
<use fill="#FFFFFF" xlink:href="#path-1"></use>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.6 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 1.2 MiB

@ -1,22 +1 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>放大</title>
<defs>
<rect id="path-1" x="0" y="0" width="64" height="64"></rect>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-1720.000000, -2805.000000)">
<g id="放大" transform="translate(1720.000000, 2805.000000)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<use id="蒙版" fill="#000000" fill-rule="nonzero" opacity="0" xlink:href="#path-1"></use>
<g id="编组" mask="url(#mask-2)" fill="#666666" fill-rule="nonzero">
<g transform="translate(7.000000, 7.000000)" id="形状">
<path d="M44.560973,40.5665707 C44.6720829,40.6499032 44.7748596,40.7387911 44.8748585,40.8387901 L48.9164824,44.8776363 C49.6598018,45.5952197 49.958016,46.6580848 49.6964749,47.6576076 C49.4349339,48.6571305 48.6543527,49.4377117 47.6548299,49.6992527 C46.655307,49.9607937 45.5924419,49.6625796 44.8748585,48.9192602 L40.8360124,44.8776363 C40.7378353,44.7796968 40.6468589,44.6747954 40.563793,44.5637507 C30.189539,52.8169323 15.1768306,51.5372425 6.34910651,41.6472758 C-2.47861756,31.7573091 -2.05159696,16.6962111 7.32230707,7.32230707 C16.6962111,-2.05159696 31.7573091,-2.47861756 41.6472758,6.34910651 C51.5372425,15.1768306 52.8169323,30.189539 44.5637507,40.563793 L44.5637507,40.5665707 L44.560973,40.5665707 Z M22.855647,22.8584248 L22.855647,17.1445963 C22.8231546,16.1026764 23.3604612,15.1256909 24.2577642,14.5951247 C25.1550671,14.0645585 26.2700554,14.0645585 27.1673583,14.5951247 C28.0646612,15.1256909 28.6019679,16.1026764 28.5694755,17.1445963 L28.5694755,22.8584248 L34.2833039,22.8584248 C35.3252241,22.825932 36.3022099,23.3632385 36.8327764,24.2605416 C37.3633428,25.1578447 37.3633428,26.2728333 36.8327764,27.1701363 C36.3022099,28.0674394 35.3252241,28.604746 34.2833039,28.5722532 L28.5694755,28.5722532 L28.5694755,34.2860817 C28.6019679,35.3280017 28.0646612,36.3049871 27.1673583,36.8355533 C26.2700554,37.3661195 25.1550671,37.3661195 24.2577642,36.8355533 C23.3604612,36.3049871 22.8231546,35.3280017 22.855647,34.2860817 L22.855647,28.5722532 L17.1418186,28.5722532 C16.0998983,28.604746 15.1229125,28.0674394 14.5923461,27.1701363 C14.0617797,26.2728333 14.0617797,25.1578447 14.5923461,24.2605416 C15.1229125,23.3632385 16.0998983,22.825932 17.1418186,22.8584248 L22.855647,22.8584248 Z M24.997291,44.2859759 C31.9421392,44.3693275 38.3954099,40.7120576 41.8921184,34.7111498 C45.3888269,28.710242 45.3888269,21.2926733 41.8921184,15.2917655 C38.3954099,9.29085771 31.9421392,5.63358778 24.997291,5.71693946 C14.4370169,5.84368327 5.94283561,14.440423 5.94283561,25.0014577 C5.94283561,35.5624923 14.4370169,44.1592321 24.997291,44.2859759 Z"></path>
</g>
</g>
</g>
</g>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512"><path d="M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136s136-60.8 136-136z" fill="currentColor"></path></svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 678 B

@ -1,62 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>编组 55</title>
<defs>
<rect id="path-1" x="0" y="0" width="42.6099724" height="42.6666667"></rect>
<linearGradient x1="103.941749%" y1="-9.86447236%" x2="15.6759798%" y2="100%" id="linearGradient-3">
<stop stop-color="#94B3FF" offset="0%"></stop>
<stop stop-color="#3955FF" offset="100%"></stop>
</linearGradient>
<path d="M6.42620094,15.9780392 C6.42620094,24.8010458 13.4761214,31.952244 22.1779535,31.952244 C30.8760055,31.952244 37.9259259,24.8010458 37.9259259,15.9780392 C37.9259259,7.15119826 30.8760055,0 22.1779535,0 C13.4761214,0 6.42620094,7.15119826 6.42620094,15.9780392 Z" id="path-4"></path>
<filter x="0.0%" y="0.0%" width="100.0%" height="100.0%" filterUnits="objectBoundingBox" id="filter-5">
<feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feColorMatrix values="0 0 0 0 0.328065454 0 0 0 0 0.41948512 0 0 0 0 1 0 0 0 1 0" type="matrix" in="shadowOffsetOuter1"></feColorMatrix>
</filter>
<rect id="path-6" x="0" y="0" width="37.801182" height="38.3442266"></rect>
<path d="M3.02409456,20.5793464 C3.02409456,29.4023529 10.074015,36.5535512 18.7758471,36.5535512 C27.4738991,36.5535512 34.5238195,29.4023529 34.5238195,20.5793464 C34.5238195,11.7525054 27.4738991,4.60130719 18.7758471,4.60130719 C10.074015,4.60130719 3.02409456,11.7525054 3.02409456,20.5793464 Z" id="path-8"></path>
<mask id="mask-9" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="31.499725" height="31.952244" fill="white">
<use xlink:href="#path-8"></use>
</mask>
<linearGradient x1="50.4938081%" y1="35.9999974%" x2="0%" y2="114.811198%" id="linearGradient-10">
<stop stop-color="#FFFFFF" offset="0%"></stop>
<stop stop-color="#FFFFFF" stop-opacity="0" offset="100%"></stop>
</linearGradient>
<filter x="-338.5%" y="-333.7%" width="776.9%" height="767.3%" filterUnits="objectBoundingBox" id="filter-11">
<feGaussianBlur stdDeviation="7.67634174" in="SourceGraphic"></feGaussianBlur>
</filter>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="无法上传iconfont" transform="translate(-960, -1491)">
<g id="编组-55" transform="translate(960, 1491)">
<path d="M64,32 C64,49.6731274 49.6921898,64 32.0425773,64 C14.3929658,64 0.0851545203,49.6731274 0.0851545203,32 C0.0851545203,14.3268738 14.3929658,0 32.0425773,0 C49.6921898,0 64,14.3268738 64,32 C64,32 64,32 64,32 Z" id="Ellipse-930" fill="#E9EEFF" fill-rule="nonzero"></path>
<g id="Frame-4273186251">
<rect fill-rule="nonzero" x="0" y="0" width="58.5887121" height="58.6666667"></rect>
<g id="Group-194756" transform="translate(18.6419, 18.6667)"></g>
</g>
<g id="Group-1" transform="translate(10.6525, 10.6667)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="蒙版"></g>
<g transform="translate(1.1852, 2.3704)">
<g id="路径">
<use fill="black" fill-opacity="1" filter="url(#filter-5)" xlink:href="#path-4"></use>
<use fill="url(#linearGradient-3)" fill-rule="evenodd" xlink:href="#path-4"></use>
</g>
<g id="user-person-profile-block-account-circle-svgrepo-com-1" transform="translate(0, 0.7669)">
<mask id="mask-7" fill="white">
<use xlink:href="#path-6"></use>
</mask>
<g id="路径"></g>
<g id="路径" stroke-dasharray="0,0" mask="url(#mask-7)" fill="#C3D1FE" fill-opacity="0.6" stroke="#FFFFFF" stroke-width="1.33333333">
<use mask="url(#mask-9)" xlink:href="#path-8"></use>
</g>
<path d="M15.151837,18.5693186 C15.4592009,18.5693186 15.7210295,18.6776965 15.9373226,18.8944523 C16.1536157,19.1112081 16.2617623,19.3735966 16.2617623,19.681618 C16.2617623,19.9782312 16.1536157,20.2377678 15.9373226,20.4602277 C15.7210295,20.6826876 15.4592009,20.7939175 15.151837,20.7939175 C14.8444731,20.7939175 14.5826445,20.6826876 14.3663514,20.4602277 C14.1500583,20.2377678 14.0419117,19.9782312 14.0419117,19.681618 C14.0419117,19.3735966 14.1500583,19.1112081 14.3663514,18.8944523 C14.5826445,18.6776965 14.8444731,18.5693186 15.151837,18.5693186 Z M23.758027,12.1864309 C24.2589163,12.1864309 24.7028864,12.2748444 25.0899373,12.4516715 C25.4769882,12.6284986 25.8042739,12.8566626 26.0717943,13.1361635 C26.3393148,13.4156644 26.544224,13.7322419 26.6865222,14.0858961 C26.8288203,14.4395503 26.8999693,14.7875004 26.8999693,15.1297464 L26.8999693,23.8741314 C26.8999693,24.13652 26.8402041,24.3932045 26.7206737,24.6441849 C26.6011433,24.8951653 26.4417694,25.1233293 26.242552,25.3286769 C26.0433347,25.5340245 25.8156577,25.6994433 25.5595211,25.8249335 C25.3033845,25.9504237 25.03871,26.0131688 24.7654976,26.0131688 L24.7654976,16.4473934 C24.7654976,16.1507802 24.7085784,15.8741314 24.5947399,15.6174469 C24.4809014,15.3607624 24.3272194,15.1354505 24.133694,14.9415111 C23.9401686,14.7475717 23.7153375,14.593561 23.4592009,14.479479 C23.2030643,14.365397 22.927006,14.308356 22.6310259,14.308356 L13.0344411,14.308356 C13.0344411,14.0573756 13.0913603,13.8063952 13.2051988,13.5554148 C13.3190373,13.3044344 13.4727192,13.0762704 13.6662447,12.8709228 C13.8597701,12.6655753 14.0874471,12.5001564 14.3492756,12.3746662 C14.6111042,12.249176 14.8900085,12.1864309 15.1859885,12.1864309 L23.758027,12.1864309 L23.758027,12.1864309 Z M22.2724346,15.3864309 C22.7847079,15.3864309 23.148991,15.5261813 23.3652842,15.8056822 C23.5815773,16.0851831 23.6897239,16.4588016 23.6897239,16.9265378 L23.6897239,27.0056822 C23.6897239,27.2908872 23.5701935,27.5589799 23.3311326,27.8099603 C23.0920718,28.0609407 22.7903998,28.1864309 22.4261166,28.1864309 L12.0781977,28.1864309 C11.7708338,28.1864309 11.4976214,28.0609407 11.2585606,27.8099603 C11.0194998,27.5589799 10.8999693,27.2566626 10.8999693,26.9030084 L10.8999693,16.6356287 C10.8999693,16.2705663 10.999578,15.9711011 11.1987954,15.737233 C11.3980127,15.5033649 11.6626872,15.3864309 11.9928189,15.3864309 L22.2724346,15.3864309 Z M21.5723279,17.9875004 C21.5723279,17.8620102 21.5324845,17.7593364 21.4527975,17.679479 C21.3731106,17.5996216 21.2706559,17.5596929 21.1454336,17.5596929 L13.4442596,17.5596929 C13.3190373,17.5596929 13.2165826,17.5996216 13.1368957,17.679479 C13.0572088,17.7593364 13.0173653,17.8620102 13.0173653,17.9875004 L13.0173653,21.8035432 C13.1198199,21.9290334 13.2137367,22.0687838 13.2991155,22.2227945 C13.3844944,22.3768052 13.489795,22.5222597 13.6150174,22.6591581 C13.7402397,22.7960565 13.9053055,22.9129906 14.1102148,23.0099603 C14.3151241,23.10693 14.5997203,23.1554148 14.9640035,23.1554148 C15.4990444,23.1554148 15.9344766,23.0698533 16.2703002,22.8987303 C16.6061237,22.7276073 16.9021038,22.5108515 17.1582404,22.248463 C17.414377,21.9860744 17.6534379,21.7037214 17.8754229,21.4014041 C18.097408,21.0990868 18.3620825,20.8138818 18.6694464,20.5457892 C18.9768103,20.2776965 19.3581693,20.0495325 19.8135232,19.8612972 C20.2688772,19.6730619 20.8551454,19.567536 21.5723279,19.5447196 L21.5723279,17.9875004 L21.5723279,17.9875004 Z" id="形状" fill="url(#linearGradient-10)" fill-rule="nonzero" mask="url(#mask-7)"></path>
</g>
<path d="M20.7906501,32.2091503 C18.9119314,32.2091503 17.3885437,33.7544227 17.3885437,35.6601307 C17.3885437,37.5658388 18.9119314,39.1111111 20.7906501,39.1111111 C22.6693689,39.1111111 24.1927565,37.5658388 24.1927565,35.6601307 C24.1927565,33.7544227 22.6693689,32.2091503 20.7906501,32.2091503 Z" id="路径" fill="#8B9CFF" filter="url(#filter-11)"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 8.3 KiB

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>形状</title>
<g id="登录" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="登录_1.2未输入密码提示" transform="translate(-537.000000, -488.000000)" fill="#FF4E4F">
<g id="编组-11" transform="translate(510.000000, 165.000000)">
<g id="登录" transform="translate(0.000000, 44.000000)">
<g id="Group-10" transform="translate(27.000000, 276.000000)">
<g id="警示" transform="translate(0.000000, 3.000000)">
<path d="M7,0.875 C3.61757813,0.875 0.875,3.61757813 0.875,7 C0.875,10.3824219 3.61757813,13.125 7,13.125 C10.3824219,13.125 13.125,10.3824219 13.125,7 C13.125,3.61757813 10.3824219,0.875 7,0.875 Z M6.5625,4.046875 C6.5625,3.98671875 6.61171875,3.9375 6.671875,3.9375 L7.328125,3.9375 C7.38828125,3.9375 7.4375,3.98671875 7.4375,4.046875 L7.4375,7.765625 C7.4375,7.82578125 7.38828125,7.875 7.328125,7.875 L6.671875,7.875 C6.61171875,7.875 6.5625,7.82578125 6.5625,7.765625 L6.5625,4.046875 Z M7,10.0625 C6.63769531,10.0625 6.34375,9.76855469 6.34375,9.40625 C6.34375,9.04394531 6.63769531,8.75 7,8.75 C7.36230469,8.75 7.65625,9.04394531 7.65625,9.40625 C7.65625,9.76855469 7.36230469,10.0625 7,10.0625 Z" id="形状"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>签约管理</title>
<defs>
<rect id="path-1" x="0" y="0" width="18" height="18"></rect>
</defs>
<g id="任务审批" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="相似图片审批" transform="translate(-208, -690)">
<g id="编组-32备份" transform="translate(155, 164)">
<g id="直线-4" transform="translate(0.0571, 0)">
<g id="编组-21" transform="translate(32.9429, 110.5)">
<g id="编组-7" transform="translate(20, 412.5)">
<g id="签约管理" transform="translate(0, 3)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="蒙版" fill-rule="nonzero"></g>
<path d="M14.4953437,9.36140625 C14.7821424,9.65198854 15.0074842,9.8803032 15.1713692,10.0463502 L15.2481902,10.1241848 C15.365141,10.2426784 15.5405672,10.4204189 15.7744688,10.6574063 C16.0979063,10.9839375 16.0979063,11.5160625 15.7739063,11.8431563 L11.845125,15.8228438 C11.7137813,15.9550313 11.5315313,16.03125 11.3450625,16.03125 L9.703125,16.03125 C9.3155625,16.03125 9,15.7159688 9,15.328125 L9,13.6670625 C9,13.4727188 9.0815625,13.2854063 9.22359375,13.1529375 L13.32,9.3369375 C13.6555313,9.0241875 14.1719063,9.034875 14.4953437,9.36140625 Z M14.6131708,1.94507501 C14.9238309,1.94507501 15.1756708,2.19691484 15.1756708,2.50757501 L15.1753401,7.85284327 C15.1753401,8.00817335 15.0494201,8.13409327 14.8940901,8.13409327 L14.0503401,8.13409327 C13.89501,8.13409327 13.7690901,8.00817335 13.7690901,7.85284327 L13.768782,3.35225 L4.23478204,3.35225 L4.23478204,14.62525 L8.16153204,14.625 C8.31686212,14.625 8.44278204,14.7509199 8.44278204,14.90625 L8.44278204,15.75 C8.44278204,15.9053301 8.31686212,16.03125 8.16153204,16.03125 L3.38028204,16.03125 C3.06962186,16.03125 2.81778204,15.7794102 2.81778204,15.46875 L2.81778204,15.1875 C2.81778204,15.1503636 2.82138079,15.1140678 2.82824859,15.0789422 L2.82927465,2.50856976 C2.82927465,2.19790959 3.08111448,1.94606976 3.39177465,1.94606976 L3.40478204,1.94625 L3.41673374,1.94507501 L14.6131708,1.94507501 Z M12.47,11.6652602 L10.125,13.8507188 L10.125,14.90625 L11.169,14.90625 L13.458,12.5862602 L12.47,11.6652602 Z M13.8867188,10.346625 L13.295,10.8962602 L14.248,11.7852602 L14.7788438,11.25 L13.8867188,10.346625 Z M9.597121,7.03125 C9.75245108,7.03125 9.878371,7.15716991 9.878371,7.3125 L9.878371,8.15625 C9.878371,8.31158009 9.75245108,8.4375 9.597121,8.4375 L5.34375,8.4375 C5.18841991,8.4375 5.0625,8.31158009 5.0625,8.15625 L5.0625,7.3125 C5.0625,7.15716991 5.18841991,7.03125 5.34375,7.03125 L9.597121,7.03125 Z M11.6609261,4.50687861 C11.8162562,4.50687861 11.9421761,4.63279852 11.9421761,4.78812861 L11.9421761,5.63187861 C11.9421761,5.78720869 11.8162562,5.91312861 11.6609261,5.91312861 L5.365379,5.91312861 C5.21004892,5.91312861 5.084129,5.78720869 5.084129,5.63187861 L5.084129,4.78812861 C5.084129,4.63279852 5.21004892,4.50687861 5.365379,4.50687861 L11.6609261,4.50687861 Z" id="形状结合" fill="#FFFFFF" mask="url(#mask-2)"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>图片重复数</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-2250.000000, -6389.000000)" fill="#507AFD" fill-rule="nonzero">
<g id="图片重复数" transform="translate(2250.000000, 6389.000000)">
<path d="M64,32 C64,49.6731274 49.6731274,64 32,64 C14.3268738,64 0,49.6731274 0,32 C0,14.3268738 14.3268738,0 32,0 C49.6731274,0 64,14.3268738 64,32 C64,32 64,32 64,32 Z" id="Ellipse-930" fill-opacity="0.1"></path>
<path d="M26.2074318,29.5008264 C26.6824488,29.5008264 27.0870929,29.6683196 27.4213641,30.0033058 C27.7556353,30.338292 27.9227709,30.7438017 27.9227709,31.2198347 C27.9227709,31.6782369 27.7556353,32.0793388 27.4213641,32.4231405 C27.0870929,32.7669421 26.6824488,32.938843 26.2074318,32.938843 C25.7324149,32.938843 25.3277708,32.7669421 24.9934996,32.4231405 C24.6592284,32.0793388 24.4920928,31.6782369 24.4920928,31.2198347 C24.4920928,30.7438017 24.6592284,30.338292 24.9934996,30.0033058 C25.3277708,29.6683196 25.7324149,29.5008264 26.2074318,29.5008264 Z M39.5079072,19.6363636 C40.282009,19.6363636 40.9681446,19.7730028 41.5663142,20.046281 C42.1644837,20.3195592 42.6702888,20.6721763 43.0837295,21.1041322 C43.4971702,21.5360882 43.8138482,22.0253444 44.0337635,22.5719008 C44.2536787,23.1184573 44.3636364,23.6561983 44.3636364,24.185124 L44.3636364,37.6991736 C44.3636364,38.1046832 44.271272,38.5013774 44.0865431,38.8892562 C43.9018143,39.277135 43.6555092,39.6297521 43.3476278,39.9471074 C43.0397465,40.2644628 42.687882,40.5201102 42.2920345,40.7140496 C41.8961871,40.907989 41.4871447,41.0049587 41.0649073,41.0049587 L41.0649073,26.2214876 C41.0649073,25.7630854 40.9769412,25.3355372 40.801009,24.938843 C40.6250768,24.5421488 40.3875683,24.1939394 40.0884836,23.8942149 C39.7893988,23.5944904 39.4419327,23.3564738 39.0460852,23.1801653 C38.6502377,23.0038567 38.2236021,22.9157025 37.7661783,22.9157025 L22.9350927,22.9157025 C22.9350927,22.5278237 23.0230588,22.1399449 23.198991,21.7520661 C23.3749232,21.3641873 23.6124317,21.0115702 23.9115164,20.6942149 C24.2106012,20.3768595 24.5624656,20.1212121 24.9671097,19.9272727 C25.3717538,19.7333333 25.8027877,19.6363636 26.2602115,19.6363636 L39.5079072,19.6363636 L39.5079072,19.6363636 Z M37.2119919,24.5818182 C38.0036868,24.5818182 38.5666699,24.7977961 38.9009411,25.2297521 C39.2352123,25.661708 39.4023479,26.2391185 39.4023479,26.9619835 L39.4023479,42.538843 C39.4023479,42.9796143 39.2176191,43.3939394 38.8481614,43.7818182 C38.4787038,44.169697 38.0124834,44.3636364 37.4495003,44.3636364 L21.4572621,44.3636364 C20.9822451,44.3636364 20.5600078,44.169697 20.1905501,43.7818182 C19.8210925,43.3939394 19.6363636,42.9267218 19.6363636,42.3801653 L19.6363636,26.5123967 C19.6363636,25.9482094 19.7903043,25.4853994 20.0981857,25.1239669 C20.4060671,24.7625344 20.8151095,24.5818182 21.3253129,24.5818182 L37.2119919,24.5818182 Z M36.1300087,28.6016529 C36.1300087,28.4077135 36.0684325,28.2490358 35.9452799,28.1256198 C35.8221274,28.0022039 35.6637884,27.9404959 35.4702629,27.9404959 L23.5684486,27.9404959 C23.3749232,27.9404959 23.2165842,28.0022039 23.0934316,28.1256198 C22.9702791,28.2490358 22.9087028,28.4077135 22.9087028,28.6016529 L22.9087028,34.4991736 C23.0670418,34.6931129 23.2121859,34.9090909 23.3441351,35.1471074 C23.4760842,35.385124 23.6388215,35.6099174 23.8323469,35.8214876 C24.0258724,36.0330579 24.2809741,36.2137741 24.5976521,36.3636364 C24.9143301,36.5134986 25.3541606,36.5884298 25.9171437,36.5884298 C26.7440251,36.5884298 27.4169658,36.4561983 27.9359658,36.1917355 C28.4549659,35.9272727 28.9123896,35.5922865 29.3082371,35.1867769 C29.7040846,34.7812672 30.0735423,34.3449036 30.4166101,33.877686 C30.7596779,33.4104683 31.1687203,32.969697 31.6437373,32.5553719 C32.1187542,32.1410468 32.7081272,31.7884298 33.411856,31.4975207 C34.1155849,31.2066116 35.0216358,31.0435262 36.1300087,31.0082645 L36.1300087,28.6016529 L36.1300087,28.6016529 Z" id="形状"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>不通过</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-1986.000000, -6389.000000)" fill="#507AFD" fill-rule="nonzero">
<g id="不通过" transform="translate(1986.000000, 6389.000000)">
<path d="M64,32 C64,49.6731274 49.6731274,64 32,64 C14.3268738,64 0,49.6731274 0,32 C0,14.3268738 14.3268738,0 32,0 C49.6731274,0 64,14.3268738 64,32 C64,32 64,32 64,32 Z" id="Ellipse-930" fill-opacity="0.1"></path>
<path d="M39.7482333,33.8946117 C42.6991808,33.8946117 45.0909091,36.2863399 45.0909091,39.2372874 C45.0909091,42.188235 42.6991808,44.5799632 39.7482333,44.5799632 C36.7972858,44.5799632 34.4055575,42.188235 34.4055575,39.2372874 C34.4055575,36.2863399 36.7979127,33.8946117 39.7482333,33.8946117 Z M37.4198247,20.3636364 C38.6352542,20.3636364 39.6249811,21.3102054 39.7053482,22.4981668 L39.7106177,22.6544293 L39.7106177,32.0301294 C38.2617883,32.0301294 36.9145212,32.4608286 35.7891864,33.200603 C35.6989537,32.68191 35.2735706,32.2783575 34.7434337,32.2233535 L34.6193398,32.2169538 L25.7790357,32.2169538 C25.1226427,32.2169538 24.5903813,32.7492152 24.5903813,33.4062352 C24.5903813,34.0221914 25.0576381,34.5284965 25.657413,34.5893786 L25.7790357,34.5955165 L34.2256293,34.5955165 C33.8327226,35.0663736 33.5019239,35.5857486 33.2413532,36.1408927 L33.1838326,36.136661 L33.1838326,36.136661 L33.1253717,36.1352504 L25.8699402,36.1352504 C25.2135472,36.1352504 24.6812858,36.6675118 24.6812858,37.3245318 C24.6812858,37.940488 25.1485426,38.4467931 25.7483175,38.5076752 L25.8699402,38.5138131 L32.6006334,38.5138131 C32.5805717,38.73073 32.5699139,38.9501547 32.5699139,39.172087 C32.5699139,40.7766294 33.098884,42.2566435 33.9946204,43.4540581 L34.1786098,43.6897262 L22.6544293,43.6897262 C21.4389998,43.6897262 20.4492729,42.7431572 20.3689058,41.5551958 L20.3636364,41.3989333 L20.3636364,27.8083999 C20.3636364,27.1795133 20.8413624,26.6619308 21.4543271,26.5996896 L21.5786218,26.5934145 L25.2536705,26.5934145 C25.9184095,26.5934145 26.4652323,26.0881379 26.5309885,25.4407351 L26.537618,25.3094671 L26.537618,21.5786218 C26.537618,20.9497352 27.015344,20.4321527 27.6283087,20.3699115 L27.7526034,20.3636364 L37.4198247,20.3636364 Z M41.5917907,36.6918329 C41.4158995,36.691476 41.2470992,36.7611422 41.1226598,36.8854509 L39.7104097,38.2970645 L38.2981597,36.8854509 C38.0376994,36.6296854 37.6201068,36.6305359 37.3606905,36.8873602 C37.2358759,37.0112923 37.1655227,37.1798074 37.1651631,37.3556986 C37.1648063,37.5315897 37.2344724,37.7003901 37.3587811,37.8248295 L38.7703947,39.2370795 L37.3587811,40.6493295 C37.1030156,40.9097899 37.1038661,41.3273824 37.3606905,41.5867988 C37.6216289,41.8477373 38.039767,41.8477373 38.2981597,41.5887081 L39.7104097,40.1770945 L41.1226598,41.5887081 C41.3831201,41.8444736 41.8007126,41.8436231 42.060129,41.5867988 C42.3210675,41.3258603 42.3210675,40.9077223 42.0620383,40.6493295 L40.6504247,39.2370795 L42.0620383,37.8248295 C42.3178038,37.5643691 42.3169533,37.1467766 42.060129,36.8873602 C41.936197,36.7625457 41.7676818,36.6921925 41.5917907,36.6918329 Z M34.5735741,28.300538 L28.9036422,28.300538 C28.2472491,28.300538 27.7149877,28.8327994 27.7149877,29.4898193 C27.7149877,30.1057756 28.1822446,30.6120807 28.7820195,30.6729628 L28.9036422,30.6791007 L34.5735741,30.6791007 C35.2305941,30.6791007 35.7622285,30.1468393 35.7622285,29.4898193 C35.7622285,28.8327994 35.2305941,28.300538 34.5735741,28.300538 Z M25.4646994,21.1427154 L25.4668259,21.2131231 L25.2818823,24.0261466 C25.2372137,24.7049914 24.7274923,25.2543489 24.066794,25.3601429 L23.9327344,25.3752944 L21.1197109,25.560238 C20.8274662,25.5793352 20.6570162,25.2544162 20.8090505,25.0277874 L20.8538936,24.9734339 L24.8800218,20.9473058 C25.0877759,20.7401304 25.4296108,20.8721636 25.4646994,21.1427154 Z" id="形状结合"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.1 KiB

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>通过</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-1720.000000, -6389.000000)" fill="#507AFD" fill-rule="nonzero">
<g id="通过" transform="translate(1720.000000, 6389.000000)">
<path d="M64,32 C64,49.6731274 49.6731274,64 32,64 C14.3268738,64 0,49.6731274 0,32 C0,14.3268738 14.3268738,0 32,0 C49.6731274,0 64,14.3268738 64,32 C64,32 64,32 64,32 Z" id="Ellipse-930" fill-opacity="0.1"></path>
<path d="M39.7482333,33.8946117 C42.6991808,33.8946117 45.0909091,36.2863399 45.0909091,39.2372874 C45.0909091,42.188235 42.6991808,44.5799632 39.7482333,44.5799632 C36.7972858,44.5799632 34.4055575,42.188235 34.4055575,39.2372874 C34.4055575,36.2863399 36.7979127,33.8946117 39.7482333,33.8946117 Z M37.4198247,20.3636364 C38.6352542,20.3636364 39.6249811,21.3102054 39.7053482,22.4981668 L39.7106177,22.6544293 L39.7106177,32.0301294 C38.2617883,32.0301294 36.9145212,32.4608286 35.7891864,33.200603 C35.6989537,32.68191 35.2735706,32.2783575 34.7434337,32.2233535 L34.6193398,32.2169538 L25.7790357,32.2169538 C25.1226427,32.2169538 24.5903813,32.7492152 24.5903813,33.4062352 C24.5903813,34.0221914 25.0576381,34.5284965 25.657413,34.5893786 L25.7790357,34.5955165 L34.2256293,34.5955165 C33.8327226,35.0663736 33.5019239,35.5857486 33.2413532,36.1408927 L33.1838326,36.136661 L33.1838326,36.136661 L33.1253717,36.1352504 L25.8699402,36.1352504 C25.2135472,36.1352504 24.6812858,36.6675118 24.6812858,37.3245318 C24.6812858,37.940488 25.1485426,38.4467931 25.7483175,38.5076752 L25.8699402,38.5138131 L32.6006334,38.5138131 C32.5805717,38.73073 32.5699139,38.9501547 32.5699139,39.172087 C32.5699139,40.7766294 33.098884,42.2566435 33.9946204,43.4540581 L34.1786098,43.6897262 L22.6544293,43.6897262 C21.4389998,43.6897262 20.4492729,42.7431572 20.3689058,41.5551958 L20.3636364,41.3989333 L20.3636364,27.8083999 C20.3636364,27.1795133 20.8413624,26.6619308 21.4543271,26.5996896 L21.5786218,26.5934145 L25.2536705,26.5934145 C25.9184095,26.5934145 26.4652323,26.0881379 26.5309885,25.4407351 L26.537618,25.3094671 L26.537618,21.5786218 C26.537618,20.9497352 27.015344,20.4321527 27.6283087,20.3699115 L27.7526034,20.3636364 L37.4198247,20.3636364 Z M41.4753711,37.4183387 L41.4127373,37.4748619 L39.4603946,39.3561686 L38.0870331,37.9835709 C37.8080077,37.7045508 37.3637172,37.6801971 37.0558662,37.9270477 L36.9924686,37.9835709 C36.7098525,38.266187 36.6915206,38.7107345 36.9359453,39.0147378 L36.9924686,39.0781355 L38.9127305,40.9976335 C39.1945827,41.2802496 39.6398941,41.2985815 39.9438973,41.0541567 L40.0065312,40.9976335 L42.506538,38.5686626 C42.7950286,38.2777623 42.80676,37.8124072 42.5332936,37.5073402 C42.2598271,37.2022731 41.7959628,37.1632489 41.4753711,37.4183387 Z M34.5735741,28.300538 L28.9036422,28.300538 C28.2472491,28.300538 27.7149877,28.8327994 27.7149877,29.4898193 C27.7149877,30.1057756 28.1822446,30.6120807 28.7820195,30.6729628 L28.9036422,30.6791007 L34.5735741,30.6791007 C35.2305941,30.6791007 35.7622285,30.1468393 35.7622285,29.4898193 C35.7622285,28.8327994 35.2305941,28.300538 34.5735741,28.300538 Z M25.4646994,21.1427154 L25.4668259,21.2131231 L25.2818823,24.0261466 C25.2372137,24.7049914 24.7274923,25.2543489 24.066794,25.3601429 L23.9327344,25.3752944 L21.1197109,25.560238 C20.8274662,25.5793352 20.6570162,25.2544162 20.8090505,25.0277874 L20.8538936,24.9734339 L24.8800218,20.9473058 C25.0877759,20.7401304 25.4296108,20.8721636 25.4646994,21.1427154 Z" id="形状结合"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

@ -1,45 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="96px" height="96px" viewBox="0 0 96 96" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>可疑文件夹</title>
<defs>
<radialGradient cx="49.9999974%" cy="50.0000039%" fx="49.9999974%" fy="50.0000039%" r="110.414469%" gradientTransform="translate(0.500000,0.500000),rotate(75.075110),scale(1.000000,1.409640),translate(-0.500000,-0.500000)" id="radialGradient-1">
<stop stop-color="#FFFCFC" stop-opacity="0.1" offset="0%"></stop>
<stop stop-color="#FFFFFF" stop-opacity="0.41" offset="100%"></stop>
</radialGradient>
<linearGradient x1="-0.00164029895%" y1="20.3389764%" x2="49.9999972%" y2="99.9999913%" id="linearGradient-2">
<stop stop-color="#3964EA" stop-opacity="0.18" offset="0%"></stop>
<stop stop-color="#A37D7D" stop-opacity="0" offset="100%"></stop>
</linearGradient>
<rect id="path-3" x="0" y="0" width="95.9411163" height="95.9411163" rx="15.9901861"></rect>
<rect id="path-4" x="0" y="0" width="95.9411163" height="95.9411163" rx="15.9901861"></rect>
<filter x="-1.6%" y="-1.6%" width="103.1%" height="103.1%" filterUnits="objectBoundingBox" id="filter-5">
<feOffset dx="3" dy="0" in="SourceAlpha" result="shadowOffsetInner1"></feOffset>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"></feComposite>
<feColorMatrix values="0 0 0 0 0.80541166 0 0 0 0 0.85265276 0 0 0 0 1 0 0 0 0.37 0" type="matrix" in="shadowInnerInner1"></feColorMatrix>
</filter>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-6">
<stop stop-color="#92C0FF" offset="0%"></stop>
<stop stop-color="#507AFD" offset="100%"></stop>
</linearGradient>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="无法上传iconfont" transform="translate(-392.000000, -80.000000)">
<g id="Frame-18" transform="translate(392.000000, 80.000000)">
<g id="路径">
<use fill="url(#radialGradient-1)" xlink:href="#path-3"></use>
<use fill="url(#linearGradient-2)" xlink:href="#path-3"></use>
</g>
<g id="路径" fill="black" fill-opacity="1">
<use filter="url(#filter-5)" xlink:href="#path-4"></use>
</g>
<g id="编组-50" transform="translate(24.930558, 27.327848)">
<g id="编组" fill="url(#linearGradient-6)">
<path d="M46.0573921,37.8007842 L46.0573921,8.94799551 C46.0573921,5.44326823 42.8673831,5.77157479 42.8673831,5.77157479 C42.8673831,5.77157479 23.8138175,5.79417887 24.8215345,5.77157479 C23.7282311,5.79417887 23.188438,5.20029046 23.188438,5.20029046 C23.188438,5.20029046 22.4280135,3.8954361 21.0648136,1.83035047 C19.6341878,-0.333523352 17.9784228,0.0217020285 17.9784228,0.0217020294 L3.93665198,0.0217020294 C0.0450149641,0.0217020294 0,3.76509234 0,3.76509234 L0,37.6073294 C0,41.7824512 3.15381664,41.2650045 3.15381664,41.2650045 L43.1554403,41.2650045 C46.5298238,41.2650045 46.0573921,37.8007842 46.0573921,37.8007842 Z" id="形状"></path>
</g>
<path d="M43.7347101,9.15040185 C43.7347101,9.30411916 43.6736461,9.4515406 43.5649516,9.56023515 C43.456257,9.6689297 43.3088356,9.72999366 43.1551183,9.72999366 L3.35648058,9.72999366 C3.20276327,9.72999366 3.05534183,9.6689297 2.94664728,9.56023515 C2.83795273,9.4515406 2.77688877,9.30411916 2.77688877,9.15040185 C2.77688877,8.83030213 3.03638086,8.57081004 3.35648058,8.57081004 L43.1551183,8.57081004 C43.3088356,8.57081004 43.456257,8.631874 43.5649516,8.74056855 C43.6736461,8.8492631 43.7347101,8.99668455 43.7347101,9.15040185 L43.7347101,9.15040185 Z" id="路径" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M33.616325,23.2641708 C33.616325,23.46252 33.5442625,23.6350452 33.3973681,23.7818751 L27.5087797,29.6731039 C27.3620142,29.819805 27.1892958,29.8920608 26.9909466,29.8920608 C26.7925974,29.8920608 26.6200079,29.819805 26.4732424,29.6731039 C26.3264768,29.5261452 26.2542855,29.3562604 26.2542855,29.1552708 L26.2542855,26.2057925 L23.6758103,26.2057925 C22.9236289,26.2057925 22.251238,26.2316165 21.6588308,26.2753435 C21.0637832,26.3217108 20.4738875,26.4041417 19.8865678,26.5227004 C19.3018241,26.6411947 18.7917833,26.803416 18.358957,27.0094287 C17.9261307,27.2181462 17.5217688,27.4835348 17.1456782,27.8080418 C16.772099,28.1351248 16.4655594,28.5215194 16.2261235,28.9698658 C15.9890061,29.4180191 15.8036011,29.9486032 15.6670106,30.5643229 C15.5330605,31.1774666 15.4661499,31.870272 15.4661499,32.6482131 C15.4661499,33.0680951 15.4867576,33.5395609 15.5227567,34.0624815 C15.5227567,34.1088488 15.5330605,34.1989431 15.5536682,34.3329576 C15.574276,34.4669078 15.5845798,34.5674347 15.5845798,34.6369857 C15.5845798,34.7528397 15.5510923,34.8481504 15.4892692,34.9254937 C15.4248701,35.0026438 15.3347113,35.0413476 15.2188574,35.0413476 C15.0952111,35.0413476 14.9895322,34.9769485 14.8968619,34.8455744 C14.8452783,34.7760234 14.7938234,34.691081 14.7449445,34.590554 C14.6985127,34.492603 14.6496338,34.3742375 14.5903867,34.2427989 C14.5336511,34.1114892 14.495076,34.0187545 14.469252,33.9671708 C13.4929618,31.7879056 13.0086806,30.0594984 13.0086806,28.784332 C13.0086806,27.259426 13.2121817,25.9816836 13.619184,24.9538742 C14.8633744,21.8678698 18.2146386,20.322356 23.6808978,20.322356 L26.2568614,20.322356 L26.2568614,17.3754536 C26.2568614,17.1771044 26.328924,17.0045149 26.4756895,16.8577494 C26.6225838,16.7107906 26.792533,16.6387924 26.9935226,16.6387924 C27.1918718,16.6387924 27.3644614,16.710855 27.5112269,16.8577494 L33.3999441,22.7463378 C33.5416221,22.8956792 33.616325,23.0658216 33.616325,23.2641708 L33.616325,23.2641708 Z" id="路径" fill="#FFFFFF" fill-rule="nonzero" transform="translate(23.312503, 25.840070) scale(-1, 1) translate(-23.312503, -25.840070) "></path>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.1 KiB

@ -1,46 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="65.3333333px" height="64.5px" viewBox="0 0 65.3333333 64.5" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg width="49px" height="59px" viewBox="0 0 49 59" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>任务总数</title>
<defs>
<rect id="path-1" x="0" y="0" width="42.6666667" height="42.6666667"></rect>
<rect id="path-1" x="0" y="0" width="32" height="32"></rect>
<filter x="-371.5%" y="-374.7%" width="843.0%" height="849.3%" filterUnits="objectBoundingBox" id="filter-3">
<feGaussianBlur stdDeviation="8.45376845" in="SourceGraphic"></feGaussianBlur>
<feGaussianBlur stdDeviation="6.34032634" in="SourceGraphic"></feGaussianBlur>
</filter>
<rect id="path-4" x="0" y="0" width="37.9259259" height="37.6068376"></rect>
<rect id="path-4" x="0" y="0" width="28.4444444" height="28.2051282"></rect>
<linearGradient x1="105.502715%" y1="2.31847174%" x2="14.6827115%" y2="89.8245624%" id="linearGradient-6">
<stop stop-color="#94B3FF" offset="0%"></stop>
<stop stop-color="#3955FF" offset="100%"></stop>
</linearGradient>
<path d="M6.44740741,7.83350427 L6.44740741,20.3716239 C6.44740741,24.6964103 9.9858963,28.2051282 14.3473778,28.2051282 L30.1511111,28.2051282 C34.5125926,28.2051282 38.0510815,24.6964103 38.0510815,20.3716239 L38.0510815,7.83350427 C38.0510815,3.50871795 34.5125926,0 30.1511111,0 L14.3473778,0 C9.9858963,0 6.44740741,3.50871795 6.44740741,7.83350427 Z" id="path-7"></path>
<path d="M4.83555556,5.87512821 L4.83555556,15.2787179 C4.83555556,18.5223077 7.48942222,21.1538462 10.7605333,21.1538462 L22.6133333,21.1538462 C25.8844444,21.1538462 28.5383111,18.5223077 28.5383111,15.2787179 L28.5383111,5.87512821 C28.5383111,2.63153846 25.8844444,0 22.6133333,0 L10.7605333,0 C7.48942222,0 4.83555556,2.63153846 4.83555556,5.87512821 Z" id="path-7"></path>
<filter x="0.0%" y="0.0%" width="100.0%" height="100.0%" filterUnits="objectBoundingBox" id="filter-8">
<feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feColorMatrix values="0 0 0 0 0.328065454 0 0 0 0 0.41948512 0 0 0 0 1 0 0 0 1 0" type="matrix" in="shadowOffsetOuter1"></feColorMatrix>
</filter>
<path d="M3.03407407,15.7309402 L3.03407407,28.2690598 C3.03407407,32.5938462 6.57256296,36.1025641 10.9340444,36.1025641 L26.7377778,36.1025641 C31.0992593,36.1025641 34.6377481,32.5938462 34.6377481,28.2690598 L34.6377481,15.7309402 C34.6377481,11.4061538 31.0992593,7.8974359 26.7377778,7.8974359 L10.9340444,7.8974359 C6.57256296,7.8974359 3.03407407,11.4061538 3.03407407,15.7309402 Z" id="path-9"></path>
<mask id="mask-10" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="31.6036741" height="28.2051282" fill="white">
<use xlink:href="#path-9"></use>
</mask>
<rect id="path-11" x="0" y="0" width="22.7555556" height="22.5641026"></rect>
<linearGradient x1="69.7214326%" y1="60.74758%" x2="-51.0955919%" y2="70.4452809%" id="linearGradient-13">
<path d="M2.27555556,11.7982051 L2.27555556,21.2017949 C2.27555556,24.4453846 4.92942222,27.0769231 8.20053333,27.0769231 L20.0533333,27.0769231 C23.3244444,27.0769231 25.9783111,24.4453846 25.9783111,21.2017949 L25.9783111,11.7982051 C25.9783111,8.55461538 23.3244444,5.92307692 20.0533333,5.92307692 L8.20053333,5.92307692 C4.92942222,5.92307692 2.27555556,8.55461538 2.27555556,11.7982051 Z" id="path-9"></path>
<rect id="path-10" x="0" y="0" width="17.0666667" height="16.9230769"></rect>
<linearGradient x1="69.7214326%" y1="60.74758%" x2="-51.0955919%" y2="70.4452809%" id="linearGradient-12">
<stop stop-color="#FFFFFF" offset="0%"></stop>
<stop stop-color="#FFFFFF" stop-opacity="0" offset="100%"></stop>
</linearGradient>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="无法上传iconfont" transform="translate(-586.3333, -1489.6667)">
<g id="编组-51" transform="translate(584, 1489.6667)">
<g id="任务总数-2" transform="translate(2.3333, 0)">
<g id="任务总数" transform="translate(0.0852, 0.657)">
<g id="搜索/首次登录弹框" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="登录提示" transform="translate(-588.000000, -281.000000)">
<g id="编组-8备份" transform="translate(500.000000, 120.000000)">
<g id="编组-51" transform="translate(77.063866, 161.492764)">
<g id="任务总数" transform="translate(11.000000, 0.000000)">
<g id="Group-194756" fill="#E9EEFF" fill-rule="nonzero">
<path d="M64,32 C64,49.6731274 49.6731274,64 32,64 C14.3268738,64 0,49.6731274 0,32 C0,14.3268738 14.3268738,0 32,0 C49.6731274,0 64,14.3268738 64,32 C64,32 64,32 64,32 Z" id="Ellipse-930"></path>
<path d="M48,24 C48,37.2548455 37.2548455,48 24,48 C10.7451553,48 0,37.2548455 0,24 C0,10.7451553 10.7451553,0 24,0 C37.2548455,0 48,10.7451553 48,24 C48,24 48,24 48,24 Z" id="Ellipse-930"></path>
</g>
<g id="Group-1" transform="translate(10.6667, 10.6667)">
<g id="Group-1" transform="translate(8.000000, 8.000000)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="蒙版"></g>
<g transform="translate(1.1852, 2.3704)">
<path d="M19.3422222,32.3418803 C17.4573037,32.3418803 15.9288889,33.8574359 15.9288889,35.7264957 C15.9288889,37.5955556 17.4573037,39.1111111 19.3422222,39.1111111 C21.2271407,39.1111111 22.7555556,37.5955556 22.7555556,35.7264957 C22.7555556,33.8574359 21.2271407,32.3418803 19.3422222,32.3418803 Z" id="路径" fill="#8B9CFF" filter="url(#filter-3)"></path>
<g transform="translate(0.888889, 1.777778)">
<path d="M14.5066667,24.2564103 C13.0929778,24.2564103 11.9466667,25.3930769 11.9466667,26.7948718 C11.9466667,28.1966667 13.0929778,29.3333333 14.5066667,29.3333333 C15.9203556,29.3333333 17.0666667,28.1966667 17.0666667,26.7948718 C17.0666667,25.3930769 15.9203556,24.2564103 14.5066667,24.2564103 Z" id="路径" fill="#8B9CFF" filter="url(#filter-3)"></path>
<g id="image-landscape-png-svgrepo-com(1)-1">
<mask id="mask-5" fill="white">
<use xlink:href="#path-4"></use>
@ -50,16 +47,14 @@
<use fill="black" fill-opacity="1" filter="url(#filter-8)" xlink:href="#path-7"></use>
<use fill="url(#linearGradient-6)" fill-rule="evenodd" xlink:href="#path-7"></use>
</g>
<g id="路径" stroke-dasharray="0,0" mask="url(#mask-5)" fill="#C3D1FE" fill-opacity="0.6" stroke="#FFFFFF" stroke-width="1.33333333">
<use mask="url(#mask-10)" xlink:href="#path-9"></use>
</g>
<path id="路径" d="M20.0533333,5.67307692 C23.462045,5.67307692 26.2283111,8.41606915 26.2283111,11.7982051 L26.2283111,11.7982051 L26.2283111,21.2017949 C26.2283111,24.5839308 23.462045,27.3269231 20.0533333,27.3269231 L20.0533333,27.3269231 L8.20053333,27.3269231 C4.79182166,27.3269231 2.02555556,24.5839308 2.02555556,21.2017949 L2.02555556,21.2017949 L2.02555556,11.7982051 C2.02555556,8.41606915 4.79182166,5.67307692 8.20053333,5.67307692 L8.20053333,5.67307692 Z M20.0533333,6.17307692 L8.20053333,6.17307692 C5.06702278,6.17307692 2.52555556,8.69316162 2.52555556,11.7982051 L2.52555556,11.7982051 L2.52555556,21.2017949 C2.52555556,24.3068384 5.06702278,26.8269231 8.20053333,26.8269231 L8.20053333,26.8269231 L20.0533333,26.8269231 C23.1868439,26.8269231 25.7283111,24.3068384 25.7283111,21.2017949 L25.7283111,21.2017949 L25.7283111,11.7982051 C25.7283111,8.69316162 23.1868439,6.17307692 20.0533333,6.17307692 L20.0533333,6.17307692 Z" fill="#FFFFFF" fill-rule="nonzero"></path>
<g id="收起" mask="url(#mask-5)">
<g transform="translate(7.5852, 10.7179)">
<mask id="mask-12" fill="white">
<use xlink:href="#path-11"></use>
<g transform="translate(5.688889, 8.038462)">
<mask id="mask-11" fill="white">
<use xlink:href="#path-10"></use>
</mask>
<g id="蒙版" stroke="none" fill="none"></g>
<path d="M19.7976709,2.61538462 L3.69861868,2.61538462 C3.53449251,2.6156577 3.3772123,2.68118953 3.26144815,2.79753457 C3.145684,2.91387961 3.08094012,3.07148597 3.08148489,3.23561165 L3.08148489,7.56997699 L20.4148047,7.56997699 L20.4148047,3.23561165 C20.4153494,3.07148597 20.3506056,2.91387961 20.2348414,2.79753457 C20.1190773,2.68118953 19.961797,2.6156577 19.7976709,2.61538462 L19.7976709,2.61538462 Z M5.54588173,5.86615861 C5.11784731,5.86615861 4.77085685,5.51916774 4.77085685,5.09113282 C4.77085685,4.66309789 5.11784731,4.31610703 5.54588173,4.31610703 C5.97363118,4.31610703 6.32039062,4.66286688 6.32039062,5.09061684 C6.32039062,5.51836679 5.97363118,5.86512665 5.54588173,5.86512665 L5.54588173,5.86615861 Z M3.08148835,19.3284909 C3.08148835,19.6731762 3.35806181,19.9487179 3.69861868,19.9487179 L19.7945749,19.9487179 C19.9587007,19.9487179 20.1160893,19.8834488 20.2320469,19.7672974 C20.3480046,19.6511461 20.4130112,19.4936486 20.4127381,19.3295229 L20.4127381,14.9951576 L3.08148835,14.9951576 L3.08148835,19.3295229 L3.08148835,19.3284909 Z M5.54588173,16.6989759 C5.9733462,16.6989759 6.31987462,17.0455047 6.31987462,17.4729697 C6.31987462,17.9004347 5.9733462,18.2469635 5.54588173,18.2469635 C5.11841726,18.2469635 4.77188883,17.9004347 4.77188883,17.4729697 C4.77188883,17.0455047 5.11841726,16.6989759 5.54588173,16.6989759 L5.54588173,16.6989759 Z M3.08148835,13.7577995 L20.4148012,13.7577995 L20.4148012,8.80630308 L3.08148835,8.80630308 L3.08148835,13.7588314 L3.08148835,13.7577995 Z M5.54588173,10.5070255 C5.97363117,10.5070255 6.3203906,10.8537853 6.3203906,11.2815353 C6.3203906,11.7092852 5.97363117,12.0560451 5.54588173,12.0560451 C5.11841727,12.0560451 4.77188886,11.7095162 4.77188886,11.2820513 C4.77188886,10.8545863 5.11841727,10.5080575 5.54588173,10.5080575 L5.54588173,10.5070255 Z" id="形状" stroke="none" fill="url(#linearGradient-13)" fill-rule="evenodd" mask="url(#mask-12)"></path>
<path d="M14.8482532,1.96153846 L2.77396401,1.96153846 C2.65086938,1.96174328 2.53290922,2.01089215 2.44608611,2.09815093 C2.359263,2.18540971 2.31070509,2.30361448 2.31111367,2.42670874 L2.31111367,5.67748274 L15.3111035,5.67748274 L15.3111035,2.42670874 C15.3115121,2.30361448 15.2629542,2.18540971 15.1761311,2.09815093 C15.0893079,2.01089215 14.9713478,1.96174328 14.8482532,1.96153846 L14.8482532,1.96153846 Z M4.1594113,4.39961896 C3.83838548,4.39961896 3.57814264,4.13937581 3.57814264,3.81834961 C3.57814264,3.49732342 3.83838548,3.23708027 4.1594113,3.23708027 C4.48022339,3.23708027 4.74029297,3.49715016 4.74029297,3.81796263 C4.74029297,4.1387751 4.48022339,4.39884499 4.1594113,4.39884499 L4.1594113,4.39961896 Z M2.31111626,14.4963682 C2.31111626,14.7548821 2.51854636,14.9615385 2.77396401,14.9615385 L14.8459312,14.9615385 C14.9690255,14.9615385 15.087067,14.9125866 15.1740352,14.8254731 C15.2610034,14.7383596 15.3097584,14.6202365 15.3095536,14.4971422 L15.3095536,11.2463682 L2.31111626,11.2463682 L2.31111626,14.4971422 L2.31111626,14.4963682 Z M4.1594113,12.5242319 C4.48000965,12.5242319 4.73990597,12.7841286 4.73990597,13.1047273 C4.73990597,13.425326 4.48000965,13.6852227 4.1594113,13.6852227 C3.83881294,13.6852227 3.57891662,13.425326 3.57891662,13.1047273 C3.57891662,12.7841286 3.83881294,12.5242319 4.1594113,12.5242319 L4.1594113,12.5242319 Z M2.31111626,10.3183496 L15.3111009,10.3183496 L15.3111009,6.60472731 L2.31111626,6.60472731 L2.31111626,10.3191236 L2.31111626,10.3183496 Z M4.1594113,7.88026912 C4.48022338,7.88026912 4.74029295,8.140339 4.74029295,8.46115146 C4.74029295,8.78196392 4.48022338,9.0420338 4.1594113,9.0420338 C3.83881295,9.0420338 3.57891664,8.78213719 3.57891664,8.46153846 C3.57891664,8.14093974 3.83881295,7.88104312 4.1594113,7.88104312 L4.1594113,7.88026912 Z" id="形状" stroke="none" fill="url(#linearGradient-12)" fill-rule="evenodd" mask="url(#mask-11)"></path>
</g>
</g>
</g>

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

@ -1,68 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="65.3333333px" height="64.5px" viewBox="0 0 65.3333333 64.5" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg width="49px" height="57px" viewBox="0 0 49 57" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>已审批</title>
<defs>
<rect id="path-1" x="0" y="0" width="42.6666667" height="42.6666667"></rect>
<rect id="path-1" x="0" y="0" width="32" height="32"></rect>
<linearGradient x1="103.941749%" y1="-9.86447236%" x2="15.6759798%" y2="100%" id="linearGradient-3">
<stop stop-color="#94B3FF" offset="0%"></stop>
<stop stop-color="#3955FF" offset="100%"></stop>
</linearGradient>
<path d="M6.42620094,15.9780392 C6.42620094,24.8010458 13.4761214,31.952244 22.1779535,31.952244 C30.8760055,31.952244 37.9259259,24.8010458 37.9259259,15.9780392 C37.9259259,7.15119826 30.8760055,0 22.1779535,0 C13.4761214,0 6.42620094,7.15119826 6.42620094,15.9780392 Z" id="path-4"></path>
<path d="M4.81965071,11.9835294 C4.81965071,18.6007843 10.107091,23.964183 16.6334651,23.964183 C23.1570041,23.964183 28.4444444,18.6007843 28.4444444,11.9835294 C28.4444444,5.36339869 23.1570041,0 16.6334651,0 C10.107091,0 4.81965071,5.36339869 4.81965071,11.9835294 Z" id="path-4"></path>
<filter x="0.0%" y="0.0%" width="100.0%" height="100.0%" filterUnits="objectBoundingBox" id="filter-5">
<feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feColorMatrix values="0 0 0 0 0.328065454 0 0 0 0 0.41948512 0 0 0 0 1 0 0 0 1 0" type="matrix" in="shadowOffsetOuter1"></feColorMatrix>
</filter>
<rect id="path-6" x="0" y="0" width="37.801182" height="38.3442266"></rect>
<path d="M3.02409456,20.5793464 C3.02409456,29.4023529 10.074015,36.5535512 18.7758471,36.5535512 C27.4738991,36.5535512 34.5238195,29.4023529 34.5238195,20.5793464 C34.5238195,11.7525054 27.4738991,4.60130719 18.7758471,4.60130719 C10.074015,4.60130719 3.02409456,11.7525054 3.02409456,20.5793464 Z" id="path-8"></path>
<mask id="mask-9" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="31.499725" height="31.952244" fill="white">
<use xlink:href="#path-8"></use>
</mask>
<linearGradient x1="50.4207596%" y1="35.9999974%" x2="1.68579345%" y2="100.000001%" id="linearGradient-10">
<rect id="path-6" x="0" y="0" width="28.3508865" height="28.7581699"></rect>
<path d="M2.26807092,15.4345098 C2.26807092,22.0517647 7.55551126,27.4151634 14.0818853,27.4151634 C20.6054243,27.4151634 25.8928647,22.0517647 25.8928647,15.4345098 C25.8928647,8.81437908 20.6054243,3.45098039 14.0818853,3.45098039 C7.55551126,3.45098039 2.26807092,8.81437908 2.26807092,15.4345098 Z" id="path-8"></path>
<linearGradient x1="50.4207596%" y1="35.9999974%" x2="1.68579345%" y2="100.000001%" id="linearGradient-9">
<stop stop-color="#FFFFFF" offset="0%"></stop>
<stop stop-color="#FFFFFF" stop-opacity="0" offset="100%"></stop>
</linearGradient>
<filter x="-338.5%" y="-333.7%" width="776.9%" height="767.3%" filterUnits="objectBoundingBox" id="filter-11">
<feGaussianBlur stdDeviation="7.67634174" in="SourceGraphic"></feGaussianBlur>
<filter x="-338.5%" y="-333.7%" width="776.9%" height="767.3%" filterUnits="objectBoundingBox" id="filter-10">
<feGaussianBlur stdDeviation="5.75725631" in="SourceGraphic"></feGaussianBlur>
</filter>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="无法上传iconfont" transform="translate(-838.3333, -1491)">
<g id="编组-29" transform="translate(838.3333, 1491)">
<g id="已审批" transform="translate(0.0852, 0.657)">
<g id="Statistics/icon/down" fill-rule="nonzero">
<g id="Frame-4273186251">
<rect x="0" y="0" width="58.6666667" height="58.6666667"></rect>
<g id="Group-194756" fill="#E9EEFF">
<path d="M64,32 C64,49.6731274 49.6731274,64 32,64 C14.3268738,64 0,49.6731274 0,32 C0,14.3268738 14.3268738,0 32,0 C49.6731274,0 64,14.3268738 64,32 C64,32 64,32 64,32 Z" id="Ellipse-930"></path>
<g id="搜索/首次登录弹框" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="登录提示" transform="translate(-840.000000, -281.000000)">
<g id="编组-8备份" transform="translate(500.000000, 120.000000)">
<g id="编组-29" transform="translate(329.063866, 161.492764)">
<g id="已审批" transform="translate(11.000000, 0.000000)">
<g id="Statistics/icon/down" fill-rule="nonzero">
<g id="Frame-4273186251">
<rect x="0" y="0" width="44" height="44"></rect>
<g id="Group-194756" fill="#E9EEFF">
<path d="M48,24 C48,37.2548455 37.2548455,48 24,48 C10.7451553,48 0,37.2548455 0,24 C0,10.7451553 10.7451553,0 24,0 C37.2548455,0 48,10.7451553 48,24 C48,24 48,24 48,24 Z" id="Ellipse-930"></path>
</g>
</g>
</g>
</g>
<g id="Group-1" transform="translate(10.6667, 10.6667)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="蒙版"></g>
<g transform="translate(1.1852, 2.3704)">
<g id="路径">
<use fill="black" fill-opacity="1" filter="url(#filter-5)" xlink:href="#path-4"></use>
<use fill="url(#linearGradient-3)" fill-rule="evenodd" xlink:href="#path-4"></use>
</g>
<g id="user-person-profile-block-account-circle-svgrepo-com-1" transform="translate(0, 0.7669)">
<mask id="mask-7" fill="white">
<use xlink:href="#path-6"></use>
</mask>
<g id="路径"></g>
<g id="路径" stroke-dasharray="0,0" mask="url(#mask-7)" fill="#C3D1FE" fill-opacity="0.6" stroke="#FFFFFF" stroke-width="1.33333333">
<use mask="url(#mask-9)" xlink:href="#path-8"></use>
<g id="Group-1" transform="translate(8.000000, 8.000000)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="蒙版"></g>
<g transform="translate(0.888889, 1.777778)">
<g id="路径">
<use fill="black" fill-opacity="1" filter="url(#filter-5)" xlink:href="#path-4"></use>
<use fill="url(#linearGradient-3)" fill-rule="evenodd" xlink:href="#path-4"></use>
</g>
<g id="crowd" mask="url(#mask-7)">
<g transform="translate(9.3237, 10.9914)">
<rect id="矩形" fill="#000000" fill-rule="nonzero" opacity="0" x="0" y="0" width="18.900591" height="19.1721133"></rect>
<path d="M13.2970614,9.41884872 C15.6139671,9.41884872 17.4941785,11.3155425 17.4911496,13.6496994 C17.4850808,15.977738 15.6079019,17.8683134 13.3031266,17.8713725 C10.9862209,17.8713725 9.10600953,15.977738 9.10600953,13.643581 C9.10600953,11.3124833 10.9831884,9.41884872 13.2970614,9.41884872 Z M8.77242363,15.9287911 C8.93618398,16.3081298 9.14240072,16.6599359 9.39107384,16.9842094 L1.49115327,16.9842094 L1.49115327,15.9287911 L8.77242363,15.9287911 Z M14.9771213,11.6948812 L12.7966826,14.0382157 L11.5260236,12.8145423 L10.7557434,13.5334504 L12.8300412,15.5983993 L15.8383795,12.5545117 L14.9771213,11.6948812 Z M8.37515315,0.538039216 C10.5192007,0.538039216 12.2599126,2.29401051 12.2599126,4.45685319 C12.2599126,5.13293273 12.090087,5.76924289 11.7928923,6.32295509 C11.6837187,6.52180201 11.5563496,6.7084122 11.4198826,6.88584484 C10.8315584,7.83113252 10.297821,8.58063246 10.6041135,9.48309157 C9.25763948,10.3702548 8.36605536,11.9029057 8.36605536,13.643581 C8.36605536,13.9709137 8.39941394,13.9800912 8.45703333,14.2890687 L1.49115327,14.2890687 L1.49115327,10.7924221 L5.33345629,10.7924221 C7.42291705,9.13128548 6.14619284,8.17682025 5.31829329,6.87054892 C4.80275145,6.20364693 4.49039375,5.36848986 4.49039375,4.45685319 C4.49039375,2.29401051 6.23110561,0.538039216 8.37515315,0.538039216 Z" id="形状结合" fill="url(#linearGradient-10)" fill-rule="evenodd"></path>
<g id="user-person-profile-block-account-circle-svgrepo-com-1" transform="translate(0.000000, 0.575163)">
<mask id="mask-7" fill="white">
<use xlink:href="#path-6"></use>
</mask>
<g id="路径"></g>
<path id="路径" d="M14.0818853,3.20098039 C20.7447477,3.20098039 26.1428647,8.67755358 26.1428647,15.4345098 C26.1428647,22.189044 20.7443,27.6651634 14.0818853,27.6651634 C7.41708336,27.6651634 2.01807092,22.1894977 2.01807092,15.4345098 C2.01807092,8.6770998 7.41663558,3.20098039 14.0818853,3.20098039 Z M14.0818853,3.70098039 C7.69438694,3.70098039 2.51807092,8.95165837 2.51807092,15.4345098 C2.51807092,21.9149209 7.69481587,27.1651634 14.0818853,27.1651634 C20.4665486,27.1651634 25.6428647,21.9144854 25.6428647,15.4345098 C25.6428647,8.9520939 20.4669775,3.70098039 14.0818853,3.70098039 Z" fill="#FFFFFF" fill-rule="nonzero"></path>
<g id="crowd" mask="url(#mask-7)">
<g transform="translate(6.992746, 8.243529)">
<rect id="矩形" fill="#000000" fill-rule="nonzero" opacity="0" x="0" y="0" width="14.1754433" height="14.379085"></rect>
<path d="M9.97279608,7.06413654 C11.7104753,7.06413654 13.1206339,8.48665684 13.1183622,10.2372746 C13.1138106,11.9833035 11.7059264,13.401235 9.97734498,13.4035294 C8.23966571,13.4035294 6.82950715,11.9833035 6.82950715,10.2326858 C6.82950715,8.48436245 8.23739126,7.06413654 9.97279608,7.06413654 Z M6.57931772,11.9465933 C6.70213798,12.2310974 6.85680054,12.4949519 7.04330538,12.738157 L1.11836495,12.738157 L1.11836495,11.9465933 L6.57931772,11.9465933 Z M11.232841,8.7711609 L9.59751195,10.5286618 L8.64451769,9.61090675 L8.06680757,10.1500878 L9.62253089,11.6987994 L11.8787846,9.41588381 L11.232841,8.7711609 Z M6.28136486,0.403529412 C7.88940052,0.403529412 9.19493442,1.72050788 9.19493442,3.3426399 C9.19493442,3.84969955 9.06756526,4.32693217 8.84466923,4.74221632 L8.84239478,4.7445107 C8.76278905,4.89135151 8.66726218,5.03130915 8.56491196,5.16438363 C8.1236688,5.87334939 7.72336572,6.43547435 7.9530851,7.11231868 C6.94322961,7.77769108 6.27454152,8.92717925 6.27454152,10.2326858 C6.27454152,10.4781853 6.29956046,10.4850684 6.342775,10.7168016 L1.11836495,10.7168016 L1.11836495,8.09431656 L4.00009222,8.09431656 C5.56718778,6.84846411 4.60964463,6.13261519 3.98871997,5.15291169 C3.60206359,4.6527352 3.36779531,4.02636739 3.36779531,3.3426399 C3.36779531,1.72050788 4.67332921,0.403529412 6.28136486,0.403529412 Z" id="形状结合" fill="url(#linearGradient-9)" fill-rule="evenodd"></path>
</g>
</g>
</g>
<path d="M15.5929876,24.1568627 C14.1839485,24.1568627 13.0414078,25.315817 13.0414078,26.745098 C13.0414078,28.1743791 14.1839485,29.3333333 15.5929876,29.3333333 C17.0020266,29.3333333 18.1445674,28.1743791 18.1445674,26.745098 C18.1445674,25.315817 17.0020266,24.1568627 15.5929876,24.1568627 Z" id="路径" fill="#8B9CFF" filter="url(#filter-10)"></path>
</g>
<path d="M20.7906501,32.2091503 C18.9119314,32.2091503 17.3885437,33.7544227 17.3885437,35.6601307 C17.3885437,37.5658388 18.9119314,39.1111111 20.7906501,39.1111111 C22.6693689,39.1111111 24.1927565,37.5658388 24.1927565,35.6601307 C24.1927565,33.7544227 22.6693689,32.2091503 20.7906501,32.2091503 Z" id="路径" fill="#8B9CFF" filter="url(#filter-11)"></path>
</g>
</g>
</g>

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

@ -1,64 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="65.3333333px" height="64.5px" viewBox="0 0 65.3333333 64.5" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg width="49px" height="58px" viewBox="0 0 49 58" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>待审批</title>
<defs>
<rect id="path-1" x="0" y="0" width="42.6666667" height="42.6666667"></rect>
<rect id="path-1" x="0" y="0" width="32" height="32"></rect>
<filter x="-333.3%" y="-329.7%" width="766.7%" height="759.4%" filterUnits="objectBoundingBox" id="filter-3">
<feGaussianBlur stdDeviation="7.58518519" in="SourceGraphic"></feGaussianBlur>
<feGaussianBlur stdDeviation="5.68888889" in="SourceGraphic"></feGaussianBlur>
</filter>
<rect id="path-4" x="0" y="0" width="37.9259259" height="38.3442266"></rect>
<rect id="path-4" x="0" y="0" width="28.4444444" height="28.7581699"></rect>
<linearGradient x1="104.298352%" y1="-9.86447236%" x2="15.4490675%" y2="100%" id="linearGradient-6">
<stop stop-color="#94B3FF" offset="0%"></stop>
<stop stop-color="#3955FF" offset="100%"></stop>
</linearGradient>
<path d="M10.9985185,19.2679739 C10.9985185,22.8148148 13.842963,25.6906318 17.3511111,25.6906318 L30.0562963,25.6906318 C33.5644444,25.6906318 36.4088889,22.8148148 36.4088889,19.2679739 L36.4088889,8.77315904 C36.4088889,7.74936819 36.0068741,6.76775599 35.2938667,6.04688453 L30.4279704,1.12732026 C29.714963,0.406448802 28.7440593,0 27.731437,0 L17.3511111,0 C13.842963,0 10.9985185,2.87581699 10.9985185,6.42265795 L10.9985185,19.2679739 Z" id="path-7"></path>
<path d="M8.24888889,14.4509804 C8.24888889,17.1111111 10.3822222,19.2679739 13.0133333,19.2679739 L22.5422222,19.2679739 C25.1733333,19.2679739 27.3066667,17.1111111 27.3066667,14.4509804 L27.3066667,6.57986928 C27.3066667,5.81202614 27.0051556,5.07581699 26.4704,4.5351634 L22.8209778,0.845490196 C22.2862222,0.304836601 21.5580444,0 20.7985778,0 L13.0133333,0 C10.3822222,0 8.24888889,2.15686275 8.24888889,4.81699346 L8.24888889,14.4509804 Z" id="path-7"></path>
<filter x="0.0%" y="0.0%" width="100.0%" height="100.0%" filterUnits="objectBoundingBox" id="filter-8">
<feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feColorMatrix values="0 0 0 0 0.328065454 0 0 0 0 0.41948512 0 0 0 0 1 0 0 0 1 0" type="matrix" in="shadowOffsetOuter1"></feColorMatrix>
</filter>
<path d="M23.9729785,3.19406893 L11.0592007,3.19406893 C6.69771921,3.19406893 3.15923032,6.77158527 3.15923032,11.1811713 L3.15923032,27.1592105 C3.15923032,31.5687966 6.69771921,35.1463129 11.0592007,35.1463129 L26.862934,35.1463129 C31.2244155,35.1463129 34.7629044,31.5687966 34.7629044,27.1592105 L34.7629044,14.1030014 C34.7629044,12.8338075 34.2622822,11.6144611 33.3748155,10.7133718 L27.3256303,4.59746762 C26.4343711,3.70021272 25.2283266,3.19406893 23.9729785,3.19406893 Z" id="path-9"></path>
<mask id="mask-10" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="31.6036741" height="31.952244" fill="white">
<use xlink:href="#path-9"></use>
</mask>
<linearGradient x1="50.361848%" y1="2.00025023%" x2="151.318564%" y2="221.000262%" id="linearGradient-11">
<path d="M17.9797339,2.39555169 L8.29440052,2.39555169 C5.02328941,2.39555169 2.36942274,5.07868895 2.36942274,8.38587849 L2.36942274,20.3694079 C2.36942274,23.6765974 5.02328941,26.3597347 8.29440052,26.3597347 L20.1472005,26.3597347 C23.4183116,26.3597347 26.0721783,23.6765974 26.0721783,20.3694079 L26.0721783,10.577251 C26.0721783,9.62535562 25.6967116,8.71084581 25.0311116,8.03502882 L20.4942227,3.44810071 C19.8257783,2.77515954 18.921245,2.39555169 17.9797339,2.39555169 Z" id="path-9"></path>
<linearGradient x1="50.361848%" y1="2.00025023%" x2="151.318564%" y2="221.000262%" id="linearGradient-10">
<stop stop-color="#FFFFFF" offset="0%"></stop>
<stop stop-color="#FFFFFF" stop-opacity="0" offset="100%"></stop>
</linearGradient>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="无法上传iconfont" transform="translate(-712.3333, -1490.3333)">
<g id="编组-28" transform="translate(712.3333, 1490.3333)">
<g id="待审批" transform="translate(0.0852, 0.657)">
<g id="Statistics/icon/down" fill-rule="nonzero">
<g id="Frame-4273186251">
<rect x="0" y="0" width="58.6666667" height="58.6666667"></rect>
<g id="Group-194756" fill="#E9EEFF">
<path d="M64,32 C64,49.6731274 49.6731274,64 32,64 C14.3268738,64 0,49.6731274 0,32 C0,14.3268738 14.3268738,0 32,0 C49.6731274,0 64,14.3268738 64,32 C64,32 64,32 64,32 Z" id="Ellipse-930"></path>
<g id="搜索/首次登录弹框" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="登录提示" transform="translate(-714.000000, -281.000000)">
<g id="编组-8备份" transform="translate(500.000000, 120.000000)">
<g id="编组-28" transform="translate(203.063866, 161.492764)">
<g id="待审批" transform="translate(11.000000, 0.000000)">
<g id="Statistics/icon/down" fill-rule="nonzero">
<g id="Frame-4273186251">
<rect x="0" y="0" width="44" height="44"></rect>
<g id="Group-194756" fill="#E9EEFF">
<path d="M48,24 C48,37.2548455 37.2548455,48 24,48 C10.7451553,48 0,37.2548455 0,24 C0,10.7451553 10.7451553,0 24,0 C37.2548455,0 48,10.7451553 48,24 C48,24 48,24 48,24 Z" id="Ellipse-930"></path>
</g>
</g>
</g>
</g>
<g id="Group-1" transform="translate(10.6667, 10.6667)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="蒙版"></g>
<g transform="translate(1.1852, 3.5556)">
<path d="M22.3762963,32.2091503 C20.4913778,32.2091503 18.962963,33.7544227 18.962963,35.6601307 C18.962963,37.5658388 20.4913778,39.1111111 22.3762963,39.1111111 C24.2612148,39.1111111 25.7896296,37.5658388 25.7896296,35.6601307 C25.7896296,33.7544227 24.2612148,32.2091503 22.3762963,32.2091503 Z" id="路径" fill="#8B9CFF" filter="url(#filter-3)"></path>
<g id="save-disk-floppy-ram-svgrepo-com-1">
<mask id="mask-5" fill="white">
<use xlink:href="#path-4"></use>
</mask>
<g id="路径"></g>
<g id="路径" mask="url(#mask-5)">
<use fill="black" fill-opacity="1" filter="url(#filter-8)" xlink:href="#path-7"></use>
<use fill="url(#linearGradient-6)" fill-rule="evenodd" xlink:href="#path-7"></use>
</g>
<g id="路径" stroke-dasharray="0,0" mask="url(#mask-5)" fill="#C3D1FE" fill-opacity="0.6" stroke="#FFFFFF" stroke-width="1.33333333">
<use mask="url(#mask-10)" xlink:href="#path-9"></use>
</g>
<g id="编组" mask="url(#mask-5)" fill="url(#linearGradient-11)">
<g transform="translate(10.1091, 10.8452)" id="形状结合">
<path d="M1.69557648,12.9982992 C1.84006308,13.0073015 1.97317392,13.079734 2.05920208,13.1961667 C2.30420208,13.4614058 4.24831645,15.5385797 4.7621741,16.0958495 L4.86736875,16.2108333 C4.99447124,16.3286231 5.06011109,16.4957144 5.04643218,16.6660168 C5.03275328,16.8363192 4.94128503,16.9907914 4.79853542,17.0846667 C4.46020208,17.3716667 3.93053542,17.92 3.70186875,18.1533333 C3.47436875,18.3855 3.16286875,18.4251667 2.85720208,18.0623333 C2.83062237,18.0308841 2.79082779,17.9847732 2.74019099,17.9266441 L2.55812655,17.7188456 C1.89361481,16.9633863 0.464723822,15.3618551 0.305702083,15.1806667 C0.113202083,14.9613333 -0.18313125,14.497 0.151702083,14.217 C0.368702083,14.0361667 1.12820208,13.3245 1.31020208,13.1495 C1.41001756,13.0446463 1.55108989,12.9892969 1.69557648,12.9982992 Z M5.99670208,10.2923333 C6.57173413,10.2459359 7.62748463,10.2786837 8.7217636,10.334563 L9.31980625,10.367 C10.6123271,10.4407917 11.8463687,10.5326667 12.2920354,10.5501667 C13.1822021,10.5863333 13.2965354,11.5301667 12.5043687,11.6398333 C11.9689195,11.7136884 10.783348,11.8069953 9.88829418,11.8847595 L9.52522889,11.9170334 C9.1288029,11.9533381 8.83860063,11.9845072 8.77220208,12.0061667 C8.55403542,12.0785 8.01736875,12.7505 9.39403542,12.9068333 C10.5707169,13.0744462 11.7598001,13.1388581 12.9477021,13.0993333 C13.5858687,13.0025 15.3603687,11.1673333 15.9507021,10.7391667 C16.3322021,10.4615 17.1138687,10.2351667 17.4242021,10.8045 C17.4883687,10.9211667 17.2678687,11.3715 16.9575354,11.6841667 C16.9119521,11.7301667 16.8548092,11.7878571 16.7875796,11.8554052 L16.5571034,12.0857891 C15.5259402,13.1109524 13.2543687,15.2916667 12.2873687,15.4606667 C11.8172993,15.5428194 10.9765701,15.5153947 10.1128857,15.4662468 L9.59470208,15.4348542 C8.56395208,15.3696667 7.60028542,15.2985 7.30453542,15.3731667 C6.84205447,15.5227249 6.40383832,15.7388854 6.00370208,16.0148333 L5.61753542,16.0533333 L2.71953542,12.9476667 L2.64603542,12.5988333 C2.64603542,12.5988333 4.63753542,10.402 5.99670208,10.2923333 Z M14.4842021,0 C15.2460354,0 15.8643687,0.618333333 15.8643687,1.38016667 L15.8643687,9.66816667 C15.8410354,9.68216667 15.8188687,9.6985 15.7967021,9.71483333 L12.1975354,9.5235 C11.9805354,9.51416667 11.5745354,9.48733333 11.0612021,9.4535 C9.80003542,9.37066667 7.89486875,9.24466667 6.69670208,9.24466667 C6.41670208,9.24466667 6.18686875,9.25166667 6.01303542,9.26566667 C4.8321903,9.47380396 3.72918384,9.99608981 2.81986875,10.7776667 C2.75672086,10.6187606 2.72420208,10.4493269 2.72420208,10.2783333 L2.72420208,1.38016667 C2.72420208,0.618333333 3.34253542,0.00116666667 4.10436875,0 L14.4842021,0 Z M11.9852021,4.90233333 L6.53686875,4.90233333 C6.23596561,4.90233333 5.99203542,5.14626353 5.99203542,5.44716667 C5.99203542,5.74806981 6.23596561,5.992 6.53686875,5.992 L11.9852021,5.992 C12.2861052,5.992 12.5300354,5.74806981 12.5300354,5.44716667 C12.5300354,5.14626353 12.2861052,4.90233333 11.9852021,4.90233333 Z M11.9852021,2.17816667 L6.53686875,2.17816667 C6.23596561,2.17816667 5.99203542,2.42209686 5.99203542,2.723 C5.99203542,3.02390314 6.23596561,3.26783333 6.53686875,3.26783333 L11.9852021,3.26783333 C12.2861052,3.26783333 12.5300354,3.02390314 12.5300354,2.723 C12.5300354,2.42209686 12.2861052,2.17816667 11.9852021,2.17816667 Z"></path>
<g id="Group-1" transform="translate(8.000000, 8.000000)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="蒙版"></g>
<g transform="translate(0.888889, 2.666667)">
<path d="M16.7822222,24.1568627 C15.3685333,24.1568627 14.2222222,25.315817 14.2222222,26.745098 C14.2222222,28.1743791 15.3685333,29.3333333 16.7822222,29.3333333 C18.1959111,29.3333333 19.3422222,28.1743791 19.3422222,26.745098 C19.3422222,25.315817 18.1959111,24.1568627 16.7822222,24.1568627 Z" id="路径" fill="#8B9CFF" filter="url(#filter-3)"></path>
<g id="save-disk-floppy-ram-svgrepo-com-1">
<mask id="mask-5" fill="white">
<use xlink:href="#path-4"></use>
</mask>
<g id="路径"></g>
<g id="路径" mask="url(#mask-5)">
<use fill="black" fill-opacity="1" filter="url(#filter-8)" xlink:href="#path-7"></use>
<use fill="url(#linearGradient-6)" fill-rule="evenodd" xlink:href="#path-7"></use>
</g>
<path id="路径" d="M17.9797339,2.14555169 C18.9871909,2.14555169 19.9557498,2.55126075 20.6719663,3.27229619 L20.6719663,3.27229619 L25.2092296,7.85960364 C25.9214987,8.58280608 26.3221783,9.5605749 26.3221783,10.577251 L26.3221783,10.577251 L26.3221783,20.3694079 C26.3221783,23.8140585 23.5570004,26.6097347 20.1472005,26.6097347 L20.1472005,26.6097347 L8.29440052,26.6097347 C4.88460065,26.6097347 2.11942274,23.8140585 2.11942274,20.3694079 L2.11942274,20.3694079 L2.11942274,8.38587849 C2.11942274,4.94122789 4.88460065,2.14555169 8.29440052,2.14555169 L8.29440052,2.14555169 Z M17.9797339,2.64555169 L8.29440052,2.64555169 C5.16197817,2.64555169 2.61942274,5.21615001 2.61942274,8.38587849 L2.61942274,8.38587849 L2.61942274,20.3694079 C2.61942274,23.5391364 5.16197817,26.1097347 8.29440052,26.1097347 L8.29440052,26.1097347 L20.1472005,26.1097347 C23.2796229,26.1097347 25.8221783,23.5391364 25.8221783,20.3694079 L25.8221783,20.3694079 L25.8221783,10.577251 C25.8221783,9.69186875 25.4731404,8.84012 24.8533681,8.21083334 L24.8533681,8.21083334 L20.3168544,3.62428381 C19.6945858,2.99782912 18.8535856,2.64555169 17.9797339,2.64555169 L17.9797339,2.64555169 Z" fill="#FFFFFF" fill-rule="nonzero"></path>
<g id="编组" mask="url(#mask-5)" fill="url(#linearGradient-10)">
<g transform="translate(7.581848, 8.133875)" id="形状结合">
<path d="M1.27168236,9.74872441 C1.38004731,9.75547612 1.47988044,9.80980048 1.54440156,9.897125 C1.74565156,10.115 3.47552656,11.963 3.65052656,12.158125 L3.65052656,12.158125 L3.65140156,12.158125 C3.74585343,12.2464673 3.79508332,12.3717858 3.78482414,12.4995126 C3.77456496,12.6272394 3.70596377,12.7430936 3.59890156,12.8135 C3.34515156,13.02875 2.94790156,13.44 2.77640156,13.615 C2.60577656,13.789125 2.37215156,13.818875 2.14290156,13.54675 C1.91365156,13.2755 0.373651562,11.55 0.229276562,11.3855 C0.0849015624,11.221 -0.137348438,10.87275 0.113776562,10.66275 C0.276526562,10.527125 0.846151562,9.993375 0.982651562,9.862125 C1.05751317,9.78348476 1.16331742,9.7419727 1.27168236,9.74872441 Z M4.49752656,7.71925 C5.51690156,7.637 8.55052656,7.886375 9.21902656,7.912625 C9.88665156,7.93975 9.97240156,8.647625 9.37827656,8.729875 C8.71852656,8.820875 6.74277656,8.95125 6.57915156,9.004625 C6.41552656,9.058875 6.01302656,9.562875 7.04552656,9.680125 C7.92803767,9.80583465 8.81985007,9.85414359 9.71077656,9.8245 C10.1894016,9.751875 11.5202766,8.3755 11.9630266,8.054375 C12.2491516,7.846125 12.8354016,7.676375 13.0681516,8.103375 C13.1162766,8.190875 12.9509016,8.528625 12.7181516,8.763125 L12.7181516,8.763125 L12.3301924,9.15121508 C11.5222846,9.94975071 9.91449939,11.4733424 9.21552656,11.5955 C8.87707656,11.65465 8.28242656,11.63806 7.66229656,11.604026 L7.19602656,11.5761406 C6.42296406,11.52725 5.70021406,11.473875 5.47840156,11.529875 C5.13154085,11.6420437 4.80287874,11.804164 4.50277656,12.011125 L4.50277656,12.011125 L4.21315156,12.04 L2.03965156,9.71075 L1.98452656,9.449125 C1.98452656,9.449125 3.47815156,7.8015 4.49752656,7.71925 Z M10.8631516,0 C11.4345266,0 11.8982766,0.46375 11.8982766,1.035125 L11.8982766,7.251125 C11.8807766,7.261625 11.8641516,7.273875 11.8475266,7.286125 L9.14815156,7.142625 C8.98540156,7.135625 8.68090156,7.1155 8.29590156,7.090125 C7.35002656,7.028 5.92115156,6.9335 5.02252656,6.9335 C4.81252656,6.9335 4.64015156,6.93875 4.50977656,6.94925 C3.62414273,7.10535297 2.79688788,7.49706736 2.11490156,8.08325 C2.06754065,7.96407046 2.04315156,7.83699514 2.04315156,7.70875 L2.04315156,1.035125 C2.04315156,0.46375 2.50690156,0.000875 3.07827656,0 L10.8631516,0 Z M8.98890156,3.67675 L4.90265156,3.67675 C4.67697421,3.67675 4.49402656,3.85969764 4.49402656,4.085375 C4.49402656,4.31105236 4.67697421,4.494 4.90265156,4.494 L8.98890156,4.494 C9.21457892,4.494 9.39752656,4.31105236 9.39752656,4.085375 C9.39752656,3.85969764 9.21457892,3.67675 8.98890156,3.67675 Z M8.98890156,1.633625 L4.90265156,1.633625 C4.67697421,1.633625 4.49402656,1.81657264 4.49402656,2.04225 C4.49402656,2.26792736 4.67697421,2.450875 4.90265156,2.450875 L8.98890156,2.450875 C9.21457892,2.450875 9.39752656,2.26792736 9.39752656,2.04225 C9.39752656,1.81657264 9.21457892,1.633625 8.98890156,1.633625 Z"></path>
</g>
</g>
</g>
</g>

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>置顶</title>
<defs>
<rect id="path-1" x="0" y="0" width="64" height="64"></rect>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-1458.000000, -7071.000000)">
<g id="置顶" transform="translate(1458.000000, 7071.000000)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="蒙版" transform="translate(32.000000, 32.000000) scale(-1, -1) translate(-32.000000, -32.000000) "></g>
<g mask="url(#mask-2)">
<g transform="translate(7.000000, 7.000000)">
<rect id="矩形" fill="#000000" fill-rule="nonzero" opacity="0" x="0" y="0" width="50" height="50"></rect>
<path d="M28.3949655,8.5018668 L44.5313115,28.2388739 C46.3968076,30.5206364 45.5262263,32.3700781 42.5747338,32.3697162 L35.4991082,32.3686468 L35.5,48 C35.5,49.1045695 34.6045695,50 33.5,50 L16.5,50 C15.3954305,50 14.5,49.1045695 14.5,48 L14.4991082,32.3656468 L7.42526618,32.3654055 C4.47918211,32.3650442 3.60403243,30.5171355 5.47376022,28.234084 L21.634335,8.50103768 C23.5026321,6.21973312 26.5280409,6.218357 28.3949655,8.5018668 Z M46,0 C46.5522847,1.01453063e-16 47,0.44771525 47,1 L47,1 L47,4 C47,4.55228475 46.5522847,5 46,5 L46,5 L4,5 C3.44771525,5 3,4.55228475 3,4 L3,4 L3,1 C3,0.44771525 3.44771525,-1.01453063e-16 4,0 L4,0 Z" id="矩形备份-11" fill="#DDDDDD" fill-rule="evenodd"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>待审批</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-1194.000000, -6389.000000)" fill="#507AFD" fill-rule="nonzero">
<g id="待审批" transform="translate(1194.000000, 6389.000000)">
<path d="M64,32 C64,49.6731274 49.6731274,64 32,64 C14.3268738,64 0,49.6731274 0,32 C0,14.3268738 14.3268738,0 32,0 C49.6731274,0 64,14.3268738 64,32 C64,32 64,32 64,32 Z" id="Ellipse-930" fill-opacity="0.1"></path>
<g id="待提交" transform="translate(18.909091, 18.909091)">
<rect id="矩形" opacity="0" x="0" y="0" width="26.1818182" height="26.1818182"></rect>
<path d="M23.4605455,15.3130909 C22.6325455,15.9136364 20.1436364,18.4876364 19.2485455,18.6234545 C17.5823972,18.6788919 15.9145922,18.5885479 14.2641818,18.3534545 C12.3332727,18.1341818 13.086,17.1916364 13.392,17.0901818 C13.698,16.9903636 17.3929091,16.7465455 18.6267273,16.5763636 C19.7378182,16.4225455 19.5774545,15.0987273 18.3289091,15.048 C17.0787273,14.9989091 11.4054545,14.5325455 9.49909091,14.6863636 C7.59272727,14.8401818 4.79945455,17.9214545 4.79945455,17.9214545 L4.90254545,18.4107273 L8.96727273,22.7667273 L9.50890909,22.7127273 C10.0701391,22.3256833 10.68478,22.0224973 11.3334545,21.8127273 C12.1630909,21.6032727 16.74,22.212 18.3223636,21.9354545 C19.9047273,21.6589091 23.9776364,17.5418182 24.8727273,16.6385455 C25.308,16.2 25.6172727,15.5683636 25.5272727,15.4047273 C25.092,14.6061818 23.9956364,14.9236364 23.4605455,15.3130909 L23.4605455,15.3130909 Z M7.91509091,22.9876364 C7.58781818,22.6227273 4.35272727,19.1667273 3.97636364,18.7592727 C3.85570076,18.5959645 3.66899983,18.4943709 3.46634331,18.4817444 C3.26368679,18.4691178 3.06581911,18.5467507 2.92581818,18.6938182 C2.67054545,18.9392727 1.60527273,19.9374545 1.30090909,20.1910909 C0.831272727,20.5838182 1.24690909,21.2350909 1.51690909,21.5427273 C1.78690909,21.8503636 4.66690909,25.0772727 5.09563636,25.5845455 C5.52436364,26.0934545 5.96127273,26.0378182 6.28036364,25.7121818 C6.60109091,25.3849091 7.344,24.6158182 7.81854545,24.2132727 C8.01876568,24.0816036 8.14705882,23.8649412 8.16624482,23.6260755 C8.18543081,23.3872099 8.09336453,23.1528479 7.91672727,22.9909091 L7.91672727,22.9876364 L7.91509091,22.9876364 Z" id="形状"></path>
<path d="M4.90909091,14.6667273 L4.90909091,2.18618182 C4.90909091,1.11763636 5.77636364,0.252 6.84490909,0.250363636 L21.4036364,0.250363636 C22.4721818,0.250363636 23.3394545,1.11763636 23.3394545,2.18618182 L23.3394545,13.8109091 C23.3067273,13.8305455 23.2756364,13.8534545 23.2445455,13.8763636 L18.1963636,13.608 C17.892,13.5949091 17.3225455,13.5572727 16.6025455,13.5098182 C14.8336364,13.3936364 12.1614545,13.2169091 10.4809091,13.2169091 C10.0881818,13.2169091 9.76581818,13.2267273 9.522,13.2463636 C7.86574971,13.5382965 6.31867571,14.2708532 5.04327273,15.3670909 C4.95470166,15.1442097 4.90909091,14.9065623 4.90909091,14.6667273 Z M10.2567273,7.12636364 C9.83468131,7.12636364 9.49254545,7.46849949 9.49254545,7.89054545 C9.49254545,8.31259142 9.83468131,8.65472727 10.2567273,8.65472727 L17.8985455,8.65472727 C18.3205914,8.65472727 18.6627273,8.31259142 18.6627273,7.89054545 C18.6627273,7.46849949 18.3205914,7.12636364 17.8985455,7.12636364 L10.2567273,7.12636364 L10.2567273,7.12636364 Z M10.2567273,3.30545455 C9.83468131,3.30545455 9.49254545,3.6475904 9.49254545,4.06963636 C9.49254545,4.49168233 9.83468131,4.83381818 10.2567273,4.83381818 L17.8985455,4.83381818 C18.3205914,4.83381818 18.6627273,4.49168233 18.6627273,4.06963636 C18.6627273,3.6475904 18.3205914,3.30545455 17.8985455,3.30545455 L10.2567273,3.30545455 L10.2567273,3.30545455 Z" id="形状"></path>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.0 KiB

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Icon/Warning</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-2248.000000, -5089.000000)">
<g id="Icon/Warning" transform="translate(2248.000000, 5089.000000)">
<rect id="矩形" fill="#000000" fill-rule="nonzero" opacity="0" x="0" y="0" width="64" height="64"></rect>
<path d="M32,4 C16.5375,4 4,16.5375 4,32 C4,47.4625 16.5375,60 32,60 C47.4625,60 60,47.4625 60,32 C60,16.5375 47.4625,4 32,4 Z M30,18.5 C30,18.225 30.225,18 30.5,18 L33.5,18 C33.775,18 34,18.225 34,18.5 L34,35.5 C34,35.775 33.775,36 33.5,36 L30.5,36 C30.225,36 30,35.775 30,35.5 L30,18.5 Z M32,46 C30.34375,46 29,44.65625 29,43 C29,41.34375 30.34375,40 32,40 C33.65625,40 35,41.34375 35,43 C35,44.65625 33.65625,46 32,46 Z" id="形状" fill="#FFBF00"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>删除</title>
<defs>
<rect id="path-1" x="0" y="0" width="64" height="64"></rect>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-1984.000000, -3431.000000)">
<g id="删除" transform="translate(1984.000000, 3431.000000)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<use id="蒙版" fill="#000000" fill-rule="nonzero" opacity="0" xlink:href="#path-1"></use>
<path d="M52.9231991,16 C53.4754839,16 53.9231991,16.4477153 53.9231991,17 L53.9231991,20 C53.9231991,20.5522847 53.4754839,21 52.9231991,21 L49.862,21 L46.8906837,54.9640327 C46.8414748,55.5264927 46.5639593,56.0141255 46.1574353,56.3436103 C45.7935798,56.7212522 45.2824394,56.9564221 44.7163722,56.9564221 L19.2763722,56.9564221 C18.8012585,56.9564221 18.3648389,56.7907533 18.0217296,56.5140319 C17.5531495,56.1861769 17.2269494,55.6610416 17.1731938,55.0466129 L14.194,21 L11,21 C10.4477153,21 10,20.5522847 10,20 L10,17 C10,16.4477153 10.4477153,16 11,16 L52.9231991,16 Z M42.134,51.956 L44.843,21 L19.213,21 L21.922,51.956 L42.134,51.956 Z M39,7 C39.5522847,7 40,7.44771525 40,8 L40,11 C40,11.5522847 39.5522847,12 39,12 L25,12 C24.4477153,12 24,11.5522847 24,11 L24,8 C24,7.44771525 24.4477153,7 25,7 L39,7 Z" id="形状结合" fill="#FFFFFF" mask="url(#mask-2)"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>下拉切换</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-2504.000000, -6121.000000)">
<g id="下拉切换" transform="translate(2504.000000, 6121.000000)">
<circle id="椭圆形" fill="#F1F4FB" cx="32" cy="32" r="32"></circle>
<g id="4.Icon图标/Solid/Solid-down" transform="translate(16.000000, 24.000000)" fill="#737C8D">
<path d="M3.57766074,0.00356491311 C1.60177327,0.00381274166 1.0016225,1.25485215 2.22640041,2.78436987 L13.7856026,17.2196438 C15.0152096,18.7551921 17.0121238,18.7489104 18.2434766,17.2085638 L29.7685264,2.79143616 C31.0009352,1.24976854 30.391185,0.000201787956 28.4223393,0.000448733286 L3.57766074,0.00356491311 Z" id="蒙版"></path>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>展开</title>
<defs>
<rect id="path-1" x="0" y="0" width="64" height="64"></rect>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="PrevailCloud-Design-图标集" transform="translate(-2512.000000, -2179.000000)">
<g id="展开-2" transform="translate(2512.000000, 2179.000000)">
<g id="展开" transform="translate(32.000000, 32.000000) scale(-1, 1) rotate(-270.000000) translate(-32.000000, -32.000000) ">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="蒙版"></g>
<g id="编组" mask="url(#mask-2)" fill="#999999">
<g transform="translate(32.398318, 32.358039) scale(-1, 1) translate(-32.398318, -32.358039) translate(18.781652, 8.065215)" id="形状结合">
<path d="M7.27477106e-13,24.1889844 C0.0208813961,23.5597929 0.271458149,22.9368064 0.75173026,22.4565343 L0.75173026,22.4565343 L1.10421929,22.1040453 C1.1915415,22.0167231 1.28358153,21.9369941 1.3795189,21.8648584 L22.8677171,0.376576996 C23.3698198,-0.125525665 24.183889,-0.125525665 24.6859917,0.376576996 L26.8567553,2.54734061 C27.358858,3.04944327 27.358858,3.86351253 26.8567553,4.36561519 L6.929,24.293 L26.8567553,44.2200322 C27.3253845,44.6886613 27.3566264,45.429048 26.9504812,45.9339115 L26.8567553,46.0383067 L24.6859917,48.2090704 C24.183889,48.711173 23.3698198,48.711173 22.8677171,48.2090704 L22.8677171,48.2090704 L1.37441953,26.7169448 C1.28031918,26.6458236 1.18999323,26.567376 1.10421929,26.4816021 L0.75173026,26.129113 C0.271458149,25.6488409 0.0208813961,25.0258544 -1.7706149e-13,24.3966629 Z" transform="translate(13.616666, 24.292824) scale(1, -1) translate(-13.616666, -24.292824) "></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 997 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 977 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 692 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 902 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 904 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

@ -1,11 +1,10 @@
<script lang="ts" setup>
import { computed, onBeforeMount, reactive, ref, watch } from 'vue'
import { computed, onBeforeMount, reactive, ref } from 'vue'
import { useMessage } from 'naive-ui'
import { useDictionary } from '@/store/modules/dictonary'
import { audit } from '@/api/task/task'
const emit = defineEmits(['success', 'close', 'show'])
const emit = defineEmits(['success'])
const message = useMessage()
const loading = ref(false)
@ -22,8 +21,12 @@ const cardStyle = {
}
const rules = {
disposeTypeId: [{ required: true, message: '请选择处理方式', trigger: 'blur' }],
failCauseId: [{ required: true, message: '请选择不通过原因', trigger: 'blur' }],
disposeTypeId: [
{ required: true, message: '请选择处理方式', trigger: 'blur' },
],
failCauseId: [
{ required: true, message: '请选择不通过原因', trigger: 'blur' },
],
}
const formData = reactive({
@ -39,24 +42,12 @@ function showModal(value) {
function closeModal() {
show.value = false
emit('close')
}
defineExpose({
showModal,
closeModal,
})
watch(show, (value) => {
if(value){
formData.disposeTypeId = '262403670085013522'
formData.failCauseId = '260402999231251188'
formData.comment = ''
}
// console.log(value)
emit('show', value)
})
const disposeOptions = ref<any[]>([]) //
const failCauseOptions = ref<any[]>([]) //
const selectItem = ref(null)
@ -70,9 +61,7 @@ onBeforeMount(async () => {
})
const showOther = computed(() => {
const failCauseItem = failCauseOptions.value.find(
item => item.value === formData.failCauseId,
)
const failCauseItem = failCauseOptions.value.find(item => item.value === formData.failCauseId)
return failCauseItem?.label === '其他'
})
/*
@ -81,35 +70,24 @@ const showOther = computed(() => {
* id: ''
* taskId:''
* fromTaskName: ''
* }]
*/
* }]
*/
async function handleSumbit(e: MouseEvent) {
e.preventDefault()
formRef.value.validate(async (errors) => {
if (!errors) {
try {
const list: any = []
if( Array.isArray(state.idItemList) ){
state.idItemList.forEach((item) => {
list.push({
formId: item.id,
taskId: item.taskId,
taskName: item.fromTaskName,
})
})}else{
list.push({
formId: state.idItemList.id,
taskId: state.idItemList.taskId,
taskName: state.idItemList.fromTaskName,
})
}
const disposeTypeItem = disposeOptions.value.find(
item => item.value === formData.disposeTypeId,
)
const failCauseItem = failCauseOptions.value.find(
item => item.value === formData.failCauseId,
)
})
const disposeTypeItem = disposeOptions.value.find(item => item.value === formData.disposeTypeId)
const failCauseItem = failCauseOptions.value.find(item => item.value === formData.failCauseId)
const param = {
result: false,
comment: showOther.value ? formData.comment : '',
@ -119,9 +97,7 @@ async function handleSumbit(e: MouseEvent) {
failCauseName: failCauseItem.label,
flowTaskInfoList: list,
}
if(failCauseItem.label!='其他'){
param.comment=failCauseItem.label
}
audit(param).then((res) => {
const { code } = res
if (code === 'OK') {
@ -129,9 +105,7 @@ if(failCauseItem.label!='其他'){
emit('success', param)
closeModal()
}
else {
message.error(res.message)
}
else { message.error(res.message) }
})
}
finally {
@ -139,7 +113,6 @@ if(failCauseItem.label!='其他'){
}
}
})
}
async function selectChange(id) {
@ -149,17 +122,16 @@ async function selectChange(id) {
<template>
<n-modal v-model:show="show" transform-origin="center">
<n-card
:style="cardStyle"
:bordered="false"
size="huge"
role="dialog"
aria-modal="true"
>
<n-card :style="cardStyle" :bordered="false" size="huge" role="dialog" aria-modal="true">
<div class="wrapper">
<div class="wrapper-header">
<span class="wrapper-left">选择不通过原因</span>
<SvgIcon size="16" class="icon" name="close-none-border" @click="closeModal" />
<SvgIcon
size="22"
class="icon"
name="close-none-border"
@click="closeModal"
/>
</div>
<n-form
ref="formRef"
@ -170,62 +142,24 @@ async function selectChange(id) {
>
<div class="wrapper-content">
<n-form-item class="form-item" label="处理方式" path="disposeTypeId">
<n-select
v-model:value="formData.disposeTypeId"
filterable
:options="disposeOptions"
>
<template #arrow>
<transition name="slide-left">
<SvgIcon
size="14"
color="#000000"
name="down"
class="close_box"
/>
</transition>
</template>
</n-select>
<n-select v-model:value="formData.disposeTypeId" filterable :options="disposeOptions" />
</n-form-item>
<n-form-item class="form-item" label="不通过原因" path="failCauseId">
<n-select
v-model:value="formData.failCauseId"
filterable
:options="failCauseOptions"
@change="selectChange"
>
<template #arrow>
<transition name="slide-left">
<SvgIcon
size="14"
color="#000000"
name="down"
class="close_box"
/>
</transition>
</template>
</n-select>
<n-select v-model:value="formData.failCauseId" filterable :options="failCauseOptions" @change="selectChange" />
</n-form-item>
<n-form-item v-if="showOther" class="form-item-area" label="" path="">
<n-input
v-model:value="formData.comment"
placeholder-class="pl"
type="textarea"
placeholder="备注内容"
/>
<n-form-item v-show="showOther" class="form-item-area" label="" path="">
<n-input v-model:value="formData.comment" placeholder-class="pl" type="textarea" placeholder="备注内容" />
</n-form-item>
</div>
</n-form>
</div>
<template #footer>
<div class="wrapper-footer">
<n-button style="background: #507afd;width: 60px;
height: 36px;" type="info" @click="handleSumbit">
<n-button type="info" @click="handleSumbit">
确定
</n-button>
<n-button secondary class="btn" style="margin-left: 15px;width: 60px;
height: 36px;" @click="closeModal">
<n-button secondary class="btn" style="margin-left:15px" @click="closeModal">
取消
</n-button>
</div>
@ -242,17 +176,17 @@ height: 36px;" @click="closeModal">
align-items: center;
height: 56px;
border-bottom: 0.5px solid #d9d9d9;
padding: 0 24px;
padding: 0 24px
}
&-left {
font-size: 18px;
font-family: PingFang SC, PingFang SC-Medium;
font-weight: 550;
font-weight: 500;
color: #333333;
}
.icon {
.icon{
cursor: pointer;
}
@ -275,7 +209,7 @@ height: 36px;" @click="closeModal">
&:before {
background-color: #1980ff;
content: "";
content: '';
width: 5px;
border-radius: 2px;
top: 0;
@ -284,13 +218,14 @@ height: 36px;" @click="closeModal">
}
}
.form-item-area {
.form-item-area{
margin-top: -30px;
}
}
::v-deep(.n-card__content) {
padding: 0 !important;
padding: 0!important;
}
::v-deep(.n-card > .n-card-header) {
@ -308,10 +243,10 @@ height: 36px;" @click="closeModal">
}
::v-deep(.n-input__placeholder) {
color: #333333 !important;
color: #333333!important;
}
.btn {
.btn{
border: 1px solid #cad2dd;
background-color: #fff;
}

@ -1,232 +1,98 @@
<template>
<div class="header_wrap">
<div v-for="(item, index) in data" :key="index" class="header_item">
<img :src="item.link" />
<div class="data_wrap">
<div class="data_title">{{ item.count }}</div>
<div class="data_content">{{ item.title }}</div>
</div>
</div>
<SvgIcon size="14px" style="cursor: pointer" name="setting"></SvgIcon>
</div>
</template>
<script lang="ts" setup>
import { defineProps, onBeforeMount, onMounted, ref, watch } from 'vue'
import { gettaskToolsCount } from '@/api/home/main'
import { useDataHeaderStore } from '@/store/modules/DataHeader'
defineProps({
hasColor: {
type: Boolean,
default: () => false,
},
})
const headerstore = useDataHeaderStore()
const datalist = ref([
const data = [
{
link: 'count',
title: '任务总数',
count: 0,
link: "/src/assets/images/taskCount.png",
title: "任务包总数",
count: 6399,
},
{
link: 'wait',
title: '待审批',
count: 0,
link: "/src/assets/images/nocheck.png",
title: "未标记",
count: 6290,
},
{
link: 'done',
title: '已审批',
count: 0,
link: "/src/assets/images/check.png",
title: "已标记",
count: 109,
},
{
link: 'resolve',
title: '通过',
count: 0,
color: '#03c984',
link: "/src/assets/images/status.png",
title: "真",
count: 3290,
},
{
link: 'reject',
title: '不通过',
count: 0,
color: '#ff8b8b',
link: "/src/assets/images/status.png",
title: "假",
count: 3000,
},
{
link: 'reimg',
title: '图片重复数',
count: 0,
link: "/src/assets/images/pic.png",
title: "相似度100%图",
count: 230,
},
{
link: 'breakcount',
title: '小结重复数',
count: 0,
link: "/src/assets/images/xiaojie.png",
title: "小结重复数",
count: 365,
},
])
function initRem() {
const designWidth = 1440
const rempPx = 16
const scale = window.innerWidth / designWidth
document.documentElement.style.fontSize = `${scale * rempPx}px`
}
onMounted(() => {
initRem()
getData()
setTimeout(() => {
headerstore.setDataConfig(false)
// alert(headerstore.DataConfig)
}, 500)
// headerstore.setDataConfig(false)
})
async function getData() {
const { data } = await gettaskToolsCount()
if (data) {
const {
total,
treat,
alreadyApprove,
repeatedNodules,
repeat,
approvedCount,
notGoCount,
} = data
const newdata = [
{
link: 'count',
title: '任务总数',
count: total,
},
{
link: 'wait',
title: '待审批',
count: treat,
},
{
link: 'done',
title: '已审批',
count: alreadyApprove,
},
{
link: 'resolve',
title: '通过',
count: approvedCount,
color: '#03c984',
},
{
link: 'reject',
title: '不通过',
count: notGoCount,
color: '#ff8b8b',
},
{
link: 'reimg',
title: '图片重复数',
count: repeat,
},
{
link: 'breakcount',
title: '小结重复数',
count: repeatedNodules,
},
]
datalist.value = newdata
}
}
watch(
() => headerstore.DataConfig,
(newval) => {
if (headerstore.DataConfig) {
getData()
headerstore.setDataConfig(false)
}
},
)
defineExpose({
getData,
})
];
</script>
<template>
<div class="header_wrap" :style="hasColor ? '' : 'margin-top: 7.375rem;'">
<div v-for="(item, index) in datalist" :key="index" class="header_box">
<div class="header_item">
<SvgIcon :name="item.link" :style="index == 0 ? 'margin-left:0.5rem' : ''" />
<div class="data_wrap">
<div class="data_title" :style="hasColor ? `color:${item.color || ''}` : ''">
{{ item.count }}
</div>
<div class="data_content">
{{ item.title }}
</div>
</div>
</div>
<div
class="line"
:style="
hasColor
? 'margin-left:2.5rem;margin-right:2.0625rem'
: 'margin-left:1.25rem;margin-right:0.8125rem'
"
/>
</div>
<n-tooltip placement="left" trigger="hover">
<template #trigger>
<SvgIcon size="14px" style="cursor: pointer" name="setting" class="settingSvg" />
</template>
<span>二期功能开发中...</span>
</n-tooltip>
</div>
</template>
<style scoped lang="less">
.header_wrap {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: space-between;
padding: 1rem 1rem 1rem 3.125rem;
background: #f5f7f9;
margin-bottom: 1rem;
// 180-62 header
padding-left: 2.125rem;
.header_box {
padding: 20px 30px;
background: #fff;
.header_item {
width: 10%;
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
min-width: 10%;
.header_item {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
svg {
width: 2.75rem !important;
height: 2.75rem !important;
img{
width: 50px;
height: 50px
}
.data_wrap {
.data_title {
font-size: 20px;
font-family: HarmonyOS Sans SC, HarmonyOS Sans SC-Bold;
font-weight: Bold;
text-align: left;
color: #202020;
line-height: 23px;
text-align: center;
white-space: nowrap;
}
.data_wrap {
margin-left: 0.75rem;
.data_title {
font-size: 1.125rem;
font-family: HarmonyOS Sans SC, HarmonyOS Sans SC-Bold;
font-weight: 900;
text-align: left;
color: #202020;
line-height: 1.4375rem;
text-align: center;
white-space: nowrap;
}
.data_content {
opacity: 0.6;
font-size: 0.75rem;
font-family: PingFang SC, PingFang SC-Regular;
font-weight: 500;
text-align: center;
color: #202020;
line-height: 1rem;
text-align: center;
white-space: nowrap;
}
.data_content {
opacity: 0.6;
font-size: 14px;
font-family: PingFang SC, PingFang SC-Regular;
font-weight: Regular;
text-align: center;
color: #202020;
line-height: 16px;
text-align: center;
white-space: nowrap;
}
}
}
}
.settingSvg {
width: 1rem !important;
height: 1rem !important;
}
.line {
width: 0.0625rem;
height: 1.25rem;
background: #e8e8e8;
}//
</style>

@ -33,7 +33,6 @@ function closeModal() {
defineExpose({
showModal,
closeModal,
})
const backOptions = ref<any[]>([])
@ -47,9 +46,7 @@ const showOther = computed(() => {
})
const comomitValue = computed(() => {
return (selectItem.value as any)?.label === '其他'
? otherValue.value
: selectRejectId.value
return (selectItem.value as any)?.label === '其他' ? otherValue.value : selectRejectId.value
})
async function handleSumbit(e: MouseEvent) {
@ -97,13 +94,7 @@ async function selectChange(id) {
<template>
<n-modal v-model:show="show" transform-origin="center">
<n-card
:style="cardStyle"
:bordered="false"
size="huge"
role="dialog"
aria-modal="true"
>
<n-card :style="cardStyle" :bordered="false" size="huge" role="dialog" aria-modal="true">
<div class="wrapper">
<div class="wrapper-header">
<span class="wrapper-left">选择不通过原因</span>
@ -115,29 +106,12 @@ async function selectChange(id) {
</div>
<div class="wrapper-content">
<span>处理方式</span>
<n-select
v-model:value="selectBackId"
filterable
style="margin-top: 10px"
:options="backOptions"
/>
<n-select v-model:value="selectBackId" filterable style="margin-top: 10px;" :options="backOptions" />
</div>
<div class="wrapper-content">
<span>不通过原因</span>
<n-select
v-model:value="selectRejectId"
filterable
style="margin-top: 10px"
:options="reasonOptions"
@change="selectChange"
/>
<n-input
v-show="showOther"
v-model:value="otherValue"
type="textarea"
placeholder="备注内容"
style="margin-top: 10px"
/>
<n-select v-model:value="selectRejectId" filterable style="margin-top: 10px;" :options="reasonOptions" @change="selectChange" />
<n-input v-show="showOther" v-model:value="otherValue" type="textarea" placeholder="备注内容" style="margin-top: 10px;" />
</div>
<!-- <div class="wrapper-content">
@ -151,7 +125,7 @@ async function selectChange(id) {
<n-button type="info" @click="handleSumbit">
确认
</n-button>
<n-button secondary style="margin-left: 15px" @click="closeModal">
<n-button secondary style="margin-left:15px" @click="closeModal">
取消
</n-button>
</div>
@ -170,7 +144,7 @@ async function selectChange(id) {
}
&-left {
font-weight: 550;
font-weight: bold;
font-size: 16px;
}
@ -191,7 +165,7 @@ async function selectChange(id) {
margin-bottom: 8px;
&:after {
content: "";
content: '';
display: block;
width: 18px;
height: 1px;
@ -217,7 +191,7 @@ async function selectChange(id) {
&:before {
background-color: #1980ff;
content: "";
content: '';
width: 5px;
border-radius: 2px;
top: 0;

@ -1,17 +1,14 @@
<script lang="ts" setup>
import { defineEmits, reactive, ref } from 'vue'
import { reactive, ref } from 'vue'
import { QuillEditor } from '@vueup/vue-quill'
import '@vueup/vue-quill/dist/vue-quill.snow.css'
import { debounce } from 'lodash-es'
import { queryNote, saveNote } from '@/api/home/main'
const emit = defineEmits(['close'])
const quillEditor = ref()
const cardStyle = {
'width': '560px',
'height': '397px',
'width': '500px',
'--n-padding-bottom': '17px',
'--n-padding-left': '24px',
}
@ -23,7 +20,6 @@ const options = reactive({
toolbar: [
['bold', 'italic', 'underline', 'strike'], // toggled buttons
[{ align: '' }, { align: 'center' }, { align: 'right' }, { align: 'justify' }],
],
},
theme: 'snow',
@ -31,14 +27,12 @@ const options = reactive({
})
function initHandler() {
queryNote()
.then((res) => {
if (res.data)
note.value = res.data.notecontent
queryNote().then((res) => {
if (res.data)
note.value = res.data.notecontent
console.log('note:', note.value)
})
.catch(e => console.log(e))
console.log('note:', note.value)
}).catch(e => console.log(e))
}
const saveHandler = debounce(() => {
@ -50,23 +44,14 @@ const saveHandler = debounce(() => {
<template>
<div>
<n-card :style="cardStyle" :bordered="false" class="mt-4 proCard">
<div class="top_box">
<div class="title">
备注信息
</div>
<SvgIcon
size="20"
color="#000000"
name="close-none-border"
class="close_box"
@click="emit('close')"
/>
<div class="title">
备注信息
</div>
<QuillEditor
ref="quillEditor"
v-model:content="note"
:options="options"
style="height: 258px"
style="height: 350px"
class="quillEditor"
content-type="html"
@ready="initHandler"
@ -77,47 +62,25 @@ const saveHandler = debounce(() => {
</template>
<style lang="less" scoped>
.top_box {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: space-between;
.close_box {
cursor: pointer;
margin-bottom: 25px;
.title{
font-size: 18px;
font-family: PingFang SC, PingFang SC-Medium;
font-weight: Medium;
color: #333333;
margin-bottom: 24px;
}
}
.title {
font-size: 18px;
font-family: PingFang SC, PingFang SC-Medium;
color: #333333;
margin-bottom: 24px;
font-weight: 550;
}
.ql-toolbar.ql-snow {
border-top: none;
border-left: none;
border-right: none;
border-bottom: 1px solid #eee;
margin-top: -10px;
background: #f8f8f8;
border: 1px solid #d8d8d8;
margin-top:-4px ;
}
.ql-container.ql-snow {
border: 1px solid #d8d8d8;
}
::v-deep(.ql-toolbar.ql-snow){
background: #f8f8f8;
border: 1px solid #d8d8d8;
height:48px ;
}
::v-deep(.n-card__content){
padding-left:24px !important ;
padding-right:24px !important;
margin-top: -8px!important;
.ql-toolbar.ql-snow {
border-top: none;
border-left: none;
border-right: none;
border-bottom: 1px solid #eee;
margin-top: -10px;
background: #f8f8f8;
border: 1px solid #d8d8d8;
}
}
.ql-container.ql-snow {
border: 1px solid #d8d8d8;
}
</style>

@ -1,30 +0,0 @@
<template>
<div class="ip_box" :style="canClick?'cursor: pointer;':''">
<img :src="IPImg" />
</div>
</template>
<script setup>
import IPImg from "@/assets/images/IP.png";
import { defineProps } from "vue";
defineProps({
canClick: {
type: Boolean,
default: () => false,
},
});
</script>
<style scoped lang="less">
.ip_box {
position: fixed;
bottom: 80px;
right: 20px;
z-index: 1000;
img {
width: 80px;
height: auto;
}
}
</style>

@ -1,9 +1,8 @@
<script setup lang="ts">
import { nextTick, onMounted, onUnmounted, reactive, ref, toRefs } from 'vue'
import { reactive, ref, toRefs } from 'vue'
import { debounce } from 'lodash-es'
import { useRoute, useRouter } from 'vue-router'
import { deleteSearch, getSearchList, historySearch } from '@/api/search/search'
import { storage } from '@/utils/Storage'
const emit = defineEmits(['close'])
@ -26,9 +25,6 @@ const inputHandler = debounce((keyword) => {
//
async function handlerSearch(value) {
//
if (value === '/')
return
const res = await getSearchList({
search: value,
})
@ -60,27 +56,23 @@ function handlerHistory(name) {
//
async function deleteHistory() {
const res = await deleteSearch({})
const res = await deleteSearch({
})
if (res.code === 'OK')
historyList.value = []
}
//
async function getHistory() {
const res = await historySearch({})
const res = await historySearch({
})
if (res.code === 'OK')
historyList.value = res.data
}
getHistory()
function goPath(item, id) {
const desiredObject = item.data.find((item) => {
return item.id === id
})
if (!storage.get('isSearch'))
storage.set('isSearch', true, Date.now() + 30 * 60 * 1000)
router.push({ name: item.path, query: { id, searchContent: desiredObject.name } })
router.push({ name: item.path, query: { id } })
emit('close')
}
@ -94,11 +86,6 @@ function highlightText(text, query) {
return highlightedText
}
onMounted(() => {
setTimeout(() => (value.value = ''))
handlerShowList()
handlerSearch('')
})
</script>
<template>
@ -110,66 +97,44 @@ onMounted(() => {
<n-input
v-model:value="value"
placeholder="搜索任务ID、任务名称、提报人、拜访终端"
placeholder-style="width:304px;height:22px;margin:17px 0 17px 12px;"
style="font-size: 16px; font-weight: 500; color: #333333"
type="text"
@input="inputHandler"
@mousedown="handlerShowList"
>
<template #prefix>
<SvgIcon
name="magnifying-1-color999"
width="16"
height="16"
style="margin: 10px 0 10px 4px"
/>
<SvgIcon name="magnifying-1" size="18" />
</template>
</n-input>
</div>
<div v-show="showList && (historyList.length || resultList.length)" class="list_box">
<div
v-if="historyList.length && !value"
v-if="historyList.length"
class="list_classfiy_item"
style="border-bottom: 1px solid #e4e4e4"
style="border-bottom:1px solid #e4e4e4"
>
<div class="list_title">
历史搜索
</div>
<div class="flex history-list">
<div class="tag-wrap">
<div
v-for="(item, index) of historyList"
:key="index"
class="tag"
@click="handlerHistory(item.historyname)"
>
<div v-for="(item, index) of historyList" :key="index" class="tag" @click="handlerHistory(item.historyname)">
{{ item.historyname }}
</div>
</div>
<SvgIcon
class="icon-delete"
name="delete-history"
size="16"
@click="deleteHistory"
/>
<SvgIcon class="icon-delete" name="delete-history" size="16" @click="deleteHistory" />
</div>
</div>
<div
v-for="(item, index) in resultList"
:key="index"
class="list_classfiy_item"
:style="index === resultList.length - 1 ? '' : 'border-bottom:1px solid #e4e4e4'"
:style="(index === resultList.length - 1) ? '' : 'border-bottom:1px solid #e4e4e4'"
>
<div class="list_title">
{{ item.title }}
</div>
<div
v-for="(sitem, sindex) in item.data"
:key="sindex"
class="list_item"
@click="goPath(item, sitem.id)"
>
<SvgIcon name="task-icon" size="20" style="margin-left: 16px" />
<div v-for="(sitem, sindex) in item.data" :key="sindex" class="list_item" @click="goPath(item, sitem.id)">
<SvgIcon name="task-icon" size="16" />
<span class="name" v-html="highlightText(sitem.name, value)" />
</div>
</div>
@ -179,22 +144,17 @@ onMounted(() => {
<style lang="less" scoped>
.input_wrap {
// width: 60%;
width: 808px;
width: 60%;
position: absolute;
top: 100px;
left:0;
right: 0;
box-shadow: none !important;
.ip_box {
top: 20%;
left: 20%;
box-shadow: none!important;
.ip_box{
z-index: 0;
position: relative;
left: calc(50% - 40px);
top: 30px;
img {
img{
width: 80px;
height: 80px;
}
@ -206,78 +166,62 @@ onMounted(() => {
border: 1px solid #507afd;
border-radius: 8px;
overflow: hidden;
box-shadow: 0px 12px 12px 0px rgba(80, 122, 253, 0.15), 0px 0px 0px 0.5px #d4e3fc;
// width: 808px;
// height: 56px;
box-shadow: 0px 12px 12px 0px rgba(80, 122, 253, 0.15),
0px 0px 0px 0.5px #d4e3fc;
}
.list_box {
border-radius: 8px;
box-shadow: 0px 12px 12px 0px rgba(80,122,253,0.15);
background: #fefefe;
border: 1px dashed #f4f4f4;
border-radius: 8px;
box-shadow: 0px 12px 12px 0px rgba(80, 122, 253, 0.15);
margin-top: 15px;
padding: 8px 16px;
width: 808px;
height: 400px;
overflow: auto;
background-image: url("@/assets/images/searchback.png");
background-size: 104% 110%;
background-position: -12px -2px;
.list_classfiy_item {
margin-bottom: -2px;
.list_title {
font-size: 16px;
font-size: 12px;
font-family: PingFang SC, PingFang SC-Regular;
font-weight: Regular;
color: #999999;
line-height: 17px;
margin: 8px 0 10px 0;
font-weight: 500;
margin: 10px 0 10px 5px;
}
.list_item {
display: flex;
flex-flow: row nowrap;
align-items: center;
margin: 0 0 12px 0
margin-bottom: 10px;
}
}
}
}
:deep(.n-input .n-input-wrapper) {
margin: 8px;
}
.history-list {
.history-list{
align-items: center;
// margin-bottom:12;12+26=38
//padding: 26px 12px 12px 0;
padding-bottom: 9px;
}
.name {
margin-left: 8px;
.name{
margin-left: 5px;
cursor: pointer;
font-weight: 500;
color: #333333;
}
.tag-wrap {
.tag-wrap{
display: flex;
align-items: center;
flex: 1;
overflow-y: hidden;
overflow-x: auto;
margin: -1px 0 9px 0px;
.tag {
font-weight: 500;
.tag{
padding: 0 12px;
height: 22px;
border: 1px solid #e4e7ed;
border-radius: 12px;
margin-right: 12px;
font-size: 16px;
font-size: 13px;
font-family: PingFang SC, PingFang SC-Regular;
font-weight: Regular;
text-align: left;
@ -286,12 +230,11 @@ onMounted(() => {
}
}
.icon-delete {
.icon-delete{
cursor: pointer;
}
.highlight {
color: #507afd;
.highlight{
color: #507AFD;
}
</style>

@ -27,11 +27,11 @@ export const asideMap: Recordable<AsideEntity> = {
key: 'izstatus',
component: PlanVue, // todo
},
izyear: {
izuptime: {
label: '',
defaultValue: null,
isDefaultFilter: false,
key: 'izyear',
key: 'izuptime',
component: TimeVue,
},
iztaskrrom: {

@ -107,7 +107,7 @@ export const asideMap: Recordable<AsideEntity> = {
component: IztaskrromVue,
},
iztaskstatus: {
label: '任务审批状态',
label: '任务状态',
defaultValue: null,
isDefaultFilter: false,
key: 'iztaskstatus',

@ -1,5 +1,5 @@
import { defineAsyncComponent } from 'vue'
import type { AsideEntity } from './aside'
import { IzApprovalStatus, IzProjectVue, IzStatus, IztaskrromVue, PictureDownloadVue, PlanVue, ReportUserVue, TimeVue, IzCustomname, IzCustomtype, IzVisitcity, IzCustomlevel, IzProjecttype, IzProductVue, IzvisitproVue, IzfirmVue } from '@/views/home/aside/comp/items'
export interface RowData {
id: string
@ -72,9 +72,7 @@ export const ColumnsMap: Recordable<ColumnEntity> = {
export const headRules = ['任务Id', '任务名称', '审批节点', '审批状态', '图片相似度', '提报时间', '更新时间']
export function findKey(columns: any[], header: string) {
const item = columns.find((column) => {
return (column as any).title === header
})
const item = columns.find((column) => { return (column as any).title === header })
return (item as any).key
}
@ -85,172 +83,145 @@ export const asideMap: Recordable<AsideEntity> = {
defaultValue: null,
isDefaultFilter: true,
key: 'izupuser',
// component: ReportUserVue,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/ReportUser.vue')),
component: ReportUserVue,
},
izproject: {
label: '所属项目',
defaultValue: null,
isDefaultFilter: true,
key: 'izproject',
// component: IzProjectVue,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/IzProject.vue')),
component: IzProjectVue,
},
izplan: {
label: '所属计划',
defaultValue: null,
isDefaultFilter: true,
key: 'izplan',
// component: PlanVue,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/Plan.vue')),
component: PlanVue,
},
izstatus: {
label: '审批状态',
defaultValue: null,
isDefaultFilter: false,
key: 'izstatus',
// component: IzStatus, // todo
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/IzStatus.vue')),
component: IzStatus, // todo
},
izyear: {
izuptime: {
label: '提报时间',
defaultValue: null,
isDefaultFilter: true,
key: 'izyear',
// component: TimeVue,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/Time.vue')),
isDefaultFilter: false,
key: 'izuptime',
component: TimeVue,
},
iztaskrrom: {
label: '任务来源',
defaultValue: null,
isDefaultFilter: false,
key: 'iztaskrrom',
// component: IztaskrromVue,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/Iztaskrrom.vue')),
component: IztaskrromVue,
},
izshowall: {
label: '全部历史数据',
defaultValue: false,
label: '显示全部任务数据',
defaultValue: true,
isDefaultFilter: false,
key: 'izshowall',
// component: IzShowAll,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/IzShowAll.vue')),
component: PictureDownloadVue,
inFilterList: false,
},
}
// 审批添加筛选配置 (左侧)
export const asideTaskMap: Recordable<AsideEntity> = {
izApprovalStatus: {
izstatus: {
label: '审批状态',
defaultValue: null,
isDefaultFilter: true,
key: 'izApprovalStatus',
// component: IzApprovalStatus, // todo
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/IzApprovalStatus.vue')),
component: IzApprovalStatus, // todo
},
izuptime: {
label: '提报时间',
defaultValue: null,
isDefaultFilter: true,
key: 'izuptime',
// component: TimeVue,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/Time.vue')),
component: TimeVue,
},
izupuser: {
label: '提报人',
defaultValue: null,
isDefaultFilter: true,
key: 'izupuser',
// component: ReportUserVue,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/ReportUser.vue')),
component: ReportUserVue,
},
iztaskrrom: {
label: '任务来源',
defaultValue: null,
isDefaultFilter: true,
key: 'iztaskrrom',
// component: IztaskrromVue,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/Iztaskrrom.vue')),
component: IztaskrromVue,
},
izcustomname: {
label: '拜访客户',
defaultValue: null,
isDefaultFilter: true,
key: 'izcustomname',
// component: IzCustomname,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/IzCustomname.vue')),
component: IzCustomname,
},
izcustomtype: {
label: '客户类型',
defaultValue: null,
isDefaultFilter: true,
key: 'izcustomtype',
// component: IzCustomtype,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/IzCustomtype.vue')),
component: IzCustomtype,
},
izproject: {
label: '所属项目',
defaultValue: null,
isDefaultFilter: true,
key: 'izproject',
// component: IzProjectVue,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/IzProject.vue')),
},
izplan: {
label: '所属计划',
defaultValue: null,
isDefaultFilter: true,
key: 'izplan',
// component: PlanVue,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/Plan.vue')),
component: IzProjectVue,
},
izvisitpro: {
label: '拜访省份/直辖市',
defaultValue: null,
isDefaultFilter: true,
key: 'izvisitpro',
// component: IzVisitcity,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/IzVisitcity.vue')),
component: IzVisitcity,
},
izcustomlevel: {
label: '客户级别',
defaultValue: null,
isDefaultFilter: true,
key: 'izcustomlevel',
// component: IzCustomlevel,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/IzCustomlevel.vue')),
component: IzCustomlevel
},
izprojecttype: {
label: '项目类别',
defaultValue: null,
isDefaultFilter: true,
key: 'izprojecttype',
// component: IzProjecttype,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/IzProjecttype.vue')),
component: IzProjecttype,
},
izproductname: {
label: '产品名称',
defaultValue: null,
isDefaultFilter: true,
key: 'izproductname',
// component: IzProductVue,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/IzProduct.vue')),
component: IzProductVue,
},
izvisitcity: {
label: '拜访城市',
defaultValue: null,
isDefaultFilter: true,
key: 'izvisitcity',
// component: IzvisitproVue,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/Izvisitpro.vue')),
component: IzvisitproVue,
},
izfirm: {
label: '厂商',
defaultValue: null,
isDefaultFilter: true,
key: 'izfirm',
// component: IzfirmVue,
component: defineAsyncComponent(() => import('@/views/home/aside/comp/items/Izfirm.vue')),
},
}
component: IzfirmVue,
}
}

@ -37,7 +37,7 @@ export const workPackageMap: Recordable<PackageEntity> = {
key: 'upuser',
},
status: {
label: '任务审批状态',
label: '任务状态',
isDefault: false,
key: 'upuser',
},
@ -168,6 +168,6 @@ export const fieldMap = {
field13: '病历号',
field14: '是否重复',
field15: '任务类型',
field16: '任务审批状态',
field16: '任务状态',
field17: '项目类别',
}

@ -1,14 +0,0 @@
import { inject, onMounted, onUnmounted, ref } from "vue"
export const useKeydown = (key,handler) => {
const mousetrap = inject('mousetrap') as any
const event = ref()
onMounted(() => {
event.value = mousetrap.bind(key, handler)
})
onUnmounted(() => {
event.value.unbind(key, handler)
})
}

@ -13,8 +13,7 @@ const props = defineProps({
const show = ref(false)
const cardStyle = {
'width': '424px',
'height': '192px',
'width': '450px',
'--n-padding-top': '20px',
'--n-padding-bottom': '20px',
'--n-padding-left': '20px',
@ -47,7 +46,7 @@ onBeforeMount(async () => { })
<n-card :style="cardStyle" :bordered="false" size="huge" role="dialog" aria-modal="true">
<div class="wrapper">
<div class="wrapper-header">
<SvgIcon name="exclamation-solid" size="21" />
<SvgIcon name="exclamation-solid" size="16" />
<span class="wrapper-left">确认提示</span>
</div>
<div class="wrapper-content">
@ -56,12 +55,10 @@ onBeforeMount(async () => { })
</div>
<template #footer>
<div class="wrapper-footer">
<n-button type="info" style="background:#1980FF;width: 60px;
height: 36px;" @click="handleSumbit">
<n-button type="info" @click="handleSumbit">
确定
</n-button>
<n-button secondary style="margin-left: 15px;width: 60px;background:#f8f8f8;border:1px solid #D9D9D9;
height: 36px;" @click="closeModal">
<n-button secondary style="margin-left:15px" @click="closeModal">
取消
</n-button>
</div>
@ -86,7 +83,7 @@ height: 36px;" @click="closeModal">
}
&-content {
margin-left: 46px;
margin-left: 15px;
color: #8e8e8e;
.highlighted-text {

@ -1,37 +1,34 @@
<script lang="ts" setup>
import { defineOptions, ref } from "vue";
import Quill from "@/components/RichEditor/Quill.vue";
import { useKeydown } from '@/hooks/event/useKeydown'
import { defineOptions, ref } from 'vue'
import Quill from '@/components/RichEditor/Quill.vue'
defineOptions({ name: "FilterModal" });
defineOptions({ name: 'FilterModal' })
const emit = defineEmits(["showNewFilter"]);
const emit = defineEmits(['showNewFilter'])
const show = ref(false);
const show = ref(false)
function showModal() {
show.value = true;
show.value = true
}
function closeModal() {
show.value = false;
show.value = false
}
defineExpose({
showModal,closeModal
});
showModal,
})
</script>
<template>
<div>
<n-modal
v-model:show="show"
transform-origin="center"
style="margin: calc(13%-147px) auto 0 !important"
>
<Quill @close="show = false" />
<n-modal v-model:show="show" transform-origin="center">
<Quill />
</n-modal>
</div>
</template>
<style lang="less" scoped></style>
<style lang="less" scoped>
</style>

File diff suppressed because it is too large Load Diff

@ -1,32 +1,24 @@
<script setup>
import { ref } from 'vue'
import Search from '@/components/Search/Search.vue'
import { useKeydown } from '@/hooks/event/useKeydown'
const show = ref(false)
function showModal() {
show.value = true
}
function closeModal() {
show.value = false
}
defineExpose({
showModal,closeModal
showModal,
})
</script>
<template>
<div>
<n-modal
v-model:show="show"
:mask="false"
:show-mask="false"
transform-origin="center"
>
<n-modal v-model:show="show" :mask="false" :showMask="false" transform-origin="center">
<Search @close="show = false" />
</n-modal>
</div>
</template>
<style scoped lang="less"></style>
<style scoped lang="less">
</style>

@ -1,6 +1,5 @@
<script lang="ts" setup>
import { defineOptions, ref } from 'vue'
import { useKeydown } from '@/hooks/event/useKeydown'
defineOptions({ name: 'ShortcutModal' })
@ -10,7 +9,7 @@ const cardStyle = {
'width': '800px',
'--n-padding-bottom': '10px',
'--n-padding-left': '10px',
'padding-bottom': '100px',
'padding-bottom':'100px'
}
function showModal() {
@ -22,51 +21,29 @@ function closeModal() {
}
defineExpose({
showModal,closeModal
showModal,
})
</script>
<template>
<div>
<n-modal
v-model:show="show"
transform-origin="center"
style="width: 808px; height: 606px; margin: -27px auto 0 !important"
>
<n-card
:style="cardStyle"
:bordered="false"
size="huge"
role="dialog"
aria-modal="true"
>
<n-modal v-model:show="show" transform-origin="center">
<n-card :style="cardStyle" :bordered="false" size="huge" role="dialog" aria-modal="true">
<div class="wrapper">
<div class="wrapper-header">
<span class="wrapper-left">全局快捷键</span>
<div class="wrapper-right">
<img
class="img-question"
src="@/assets/images/question.png"
alt=""
style="width: 18px; height: 18px"
>查看快捷键的信息
<img class="img-question" src="@/assets/images/question.png" alt="">查看快捷键的信息
<img
class="img-close"
src="@/assets/images/close.png"
alt=""
style="width: 20px; height: 20px"
@click="closeModal"
>
<img class="img-close" src="@/assets/images/close.png" alt="" @click="closeModal">
</div>
</div>
<n-divider style="margin-bottom: 32px" />
<n-divider />
<div class="title">
全局快捷方式
</div>
<div class="wrapper-global">
<table style="margin-left: 110px; width: 230px">
<table style="margin-left: 100px;">
<tr>
<td><div class="key" data-key="g h" /></td>
<td>进入一键查看主页</td>
@ -77,7 +54,7 @@ defineExpose({
</tr>
<tr>
<td><div class="key" data-key="g a" /></td>
<td>进入图检审批主页</td>
<td>进入AI工单主页</td>
</tr>
<tr>
<td><div class="key" data-key="g e" /></td>
@ -96,7 +73,7 @@ defineExpose({
<td>打开可疑文件夹</td>
</tr>
</table>
<table style="height: 30%; margin-left:115px">
<table style="height: 30%;margin-left: 180px;">
<tr>
<td><div class="key" data-key="[" /></td>
<td>隐藏/显示当前场景左侧筛选区</td>
@ -119,57 +96,37 @@ defineExpose({
</tr>
</table>
</div>
<n-divider style="margin: 24px 24px 32px 24px; color: #d9d9d9" />
<div class="title" style="margin-top: -16.5px">
图检审批/任务审批/任务终审明细动作
<n-divider />
<div class="title">
任务审批/任务终审/AI工单明细动作
</div>
<div class="wrapper-request">
<table style="margin-left: 73px; width: 290px">
<table style="margin-left: 100px;">
<tr>
<td>
<div
class="key" data-key="c"
/>
</td>
<td>
<div
>
关闭关闭当前场景弹窗
</div>
</td>
<td><div class="key" data-key="c" /></td>
<td>关闭关闭当前场景弹窗</td>
</tr>
<tr>
<td>
<div class="key" style="float:none" data-key="&larr;" />
<span>/</span>
<div class="key" style="float:none" data-key="&rarr;" />
</td>
<td>打开上一条/下一条信息切换</td>
</tr>
</table>
<table style="margin-left: 94px">
<tr>
<td style="text-align: left; width: 55px">
<div class="key" data-key="p p" />
</td>
<td><div class="key" data-key="p p" /></td>
<td>通过</td>
</tr>
<tr>
<td style="text-align: left">
<div class="key" data-key="x x" />
</td>
<td><div class="key" data-key="x x" /></td>
<td>不通过</td>
</tr>
</table>
</div>
<div class="wrapper-request">
<table style="margin-left: 123px; width: 180px">
<table style="margin-left: 155px;">
<tr>
<td><div class="key" data-key="t t" /></td>
<td></td>
</tr>
<tr>
<td><div class="key" data-key="f f" /></td>
<td></td>
</tr>
<tr>
<td style="text-align: left; width: 55px">
<div class="key" data-key="k k" />
</td>
<td>开启沉浸模式</td>
<td><div class="key" data-key="&larr;" /><span>/</span><div class="key" data-key="&rarr;" /></td>
<td>打开上一条/下一条信息切换</td>
</tr>
</table>
</div>
@ -192,56 +149,54 @@ defineExpose({
</template>
<style lang="less" scoped>
.wrapper-footer {
.wrapper-footer{
margin-top: -20px;
}
.wrapper {
.wrapper-header {
padding: 14px 0 14px 0;
.wrapper-header{
padding: 14px;
padding-bottom: 0;
}
.img-question {
.img-question{
width: 16px;
height: 16px;
margin: 0 2px;
}
.img-close {
.img-close{
width: 16px;
height: 16px;
margin-left: 16px;
cursor: pointer;
}
.wrapper-right {
.wrapper-right{
font-size: 16px;
font-family: PingFang SC, PingFang SC-Regular;
font-weight: 400;
font-weight: Regular;
text-align: left;
color: #666666;
line-height: 22px;
display: flex;
align-items: center;
align-items: center
}
.wrapper-left {
.wrapper-left{
font-size: 18px;
font-family: PingFang SC, PingFang SC-Medium;
font-weight: 600;
text-align: left;
color: #000000;
color: #333333;
line-height: 25px;
}
.title {
.title{
font-size: 14px;
font-weight: 600;
margin-bottom: 10px;
padding-left: 47px;
color: #333333;
font-weight: 600;
// 线24px
padding-left: 30px;
}
&-header {
display: flex;
@ -272,7 +227,7 @@ defineExpose({
}
&-icon {
background: #fff;
background: #FFF;
display: inline-block;
width: 18px;
height: 1px;
@ -280,31 +235,32 @@ defineExpose({
-webkit-transform: rotate(45deg);
&:after {
content: "";
content: '';
display: block;
width: 18px;
height: 1px;
background: #fff;
background: #FFF;
transform: rotate(-90deg);
-webkit-transform: rotate(-90deg);
}
}
}
&-request,
&-global {
&-request,&-global{
display: flex;
table {
tr td:first-child {
table{
tr td:first-child{
text-align: right;
padding-right: 10px;
color: #515457;
}
tr td {
tr td{
color: #333333;
}
tr span {
tr span{
padding: 0 10px;
}
}
@ -316,19 +272,17 @@ defineExpose({
}
.key {
float: right;
border-radius: 8px;
display: inline-block;
box-sizing: content-box;
font-size: 16px;
font-weight: bold;
text-align: center;
padding: 2px 6px;
border: 1px solid #d6d6d6;
border-left: 3px solid #d6d6d6;
border-bottom: 3px solid #d6d6d6;
background-color: #fdfdfd;
// color: #333333;
font-weight: bold;
}
.key[data-key]::after {

@ -3,22 +3,10 @@ import { computed, inject, onMounted, ref } from "vue";
import { useRoute, useRouter } from "vue-router";
import { useUser } from "@/store/modules/user";
import { getImgUrl } from "@/utils/urlUtils";
import defaultAvatar from "@/assets/icons/avatar.svg";
/**
* 用户权限菜单
*/
interface IUserMenu {
id: number,
name: string,
resKey: string,
resUrl: string
icon: string,
level: number,
parentId: number
}
import defaultAvatar from '@/assets/icons/avatar.svg';
const emit = defineEmits<{
(e: "logout"): void
(e: "logout"): void;
}>();
const router = useRouter();
@ -28,10 +16,7 @@ const userStore = useUser();
const useInfo = userStore.getUserInfo;
const aiDisabled = ref(false);
const userMenus = computed<IUserMenu[]>(() => {
return userStore.getUserInfo.frontmenuTList
})
function handleSelect(row) {
userStore.updateTenantId(row.key);
location.reload();
@ -40,30 +25,24 @@ function handleSelect(row) {
function logIt(e) {
return false;
}
function hasPerm(resKey) {
return userMenus.value.some(i => i.resKey === resKey)
}
//
function goHome(e) {
if (!hasPerm('home_main')) return
router.push({ name: "home" });
}
//
function goTask(e) {
if (!hasPerm('task-main')) return
router.push({ name: "task-main" });
}
// AI
function goWorksheet(e) {
if (!hasPerm('worksheet-main')) return
router.push({ name: "worksheet-main" });
}
//
function goFinal(e) {
if (!hasPerm('final-main')) return
router.push({ name: "final-main" });
}
@ -93,18 +72,18 @@ function logOut() {
}
const currentCompanyName = computed(() => {
const deptlist = useInfo.deptlist;
const tenantList = useInfo.tenantList;
const currentId = userStore.getTenantId;
const current = deptlist.find(item => item.deptno === currentId);
return current?.departname || "name";
const current = tenantList.find((item) => item.id === currentId);
return current.name || "name";
});
const options = computed(() => {
const deptlist = useInfo.deptlist;
return deptlist.map((item) => {
const tenantList = useInfo.tenantList;
return tenantList.map((item) => {
return {
label: item.departname,
key: item.deptno,
label: item.name,
key: item.id,
};
});
});
@ -122,8 +101,8 @@ const options = computed(() => {
>
<template #trigger>
<div class="setting">
<span style="color: #333333">{{ useInfo.username }}</span>
<SvgIcon style="margin-left: 6px" :name="iconName" size="16" />
<span>{{ useInfo.username }}</span>
<SvgIcon style="margin-left: 6px" :name="iconName" size="14" />
</div>
</template>
<div class="container">
@ -131,7 +110,7 @@ const options = computed(() => {
<n-avatar
:src="(useInfo.usericon && getImgUrl(useInfo.usericon)) || defaultAvatar"
round
style="width: 40px; height: 40px"
style="width: 53px; height: 53px"
/>
<div style="margin-left: 12px">
<span style="display: block" class="user-name">{{ useInfo.username }}</span>
@ -140,29 +119,24 @@ const options = computed(() => {
</div>
<div class="trigger">
<span>{{ currentCompanyName }}</span>
<span style="cursor: pointer" @click="changeFlag = !changeFlag"><SvgIcon name="switchCompany" size="18" /></span>
<span @click="changeFlag = !changeFlag" style="cursor: pointer"><SvgIcon name="switchCompany" size="24" /></span>
</div>
<div class="item">
<span>AI设置开关</span>
<n-switch v-model:value="aiDisabled" />
</div>
<div class="trigger">
联系我们
</div>
<n-divider style="margin-top: 0px; margin-bottom: 0px; padding: 0 22px" />
<div class="trigger" @click="logOut">
退出登录
</div>
<div class="trigger">联系我们</div>
<n-divider style="margin-top: 0px; margin-bottom: 10px; padding: 0 22px" />
<div class="trigger" @click="logOut">退</div>
<div
v-show="changeFlag"
class="container sub-container"
style="position: absolute; right: 15vw;top:7vh; width: 163px; padding: 24px 0;border-radius:0;height:144px"
v-show="changeFlag"
style="position: absolute; right: 17vw; width: 11.5vw; padding: 24px 0"
>
<div
class="trigger"
v-for="option in options"
:key="option.key"
class="trigger"
style="margin-top: -84px;"
@click="handleSelect(option)"
>
{{ option.label }}
@ -195,31 +169,27 @@ const options = computed(() => {
border-radius: 10px;
justify-content: center;
background-color: #ffffff;
width: 240px;
height: 225px;
width: 16vw;
position: relative;
.header {
border-radius: 10px 10px 0px 0px;
background: url("../../../assets/images/actorbg.png") no-repeat;
background-size: 100%;
background: linear-gradient(122deg, #4867ff 5%, #a0b3ff 100%);
padding: 10px 20px;
display: flex;
align-items: center;
margin-bottom: 10px;
margin-bottom: 14px;
color: #ffffff;
height: 60px;
height: 80px;
}
.trigger,
.item {
display: flex;
justify-content: space-between;
padding: 9px 17px;
padding: 13px 20px;
cursor: pointer;
color: #333333;
font-size: 13px;
font-weight: 600;
}
.trigger:hover {

@ -1,16 +1,6 @@
<script lang="ts">
import { useDialog, useMessage } from 'naive-ui'
import {
defineComponent,
inject,
onMounted,
onUnmounted,
reactive,
ref,
toRefs,
unref,
watch,
} from 'vue'
import { defineComponent, inject, onMounted, reactive, ref, toRefs, unref, watch } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import QuillModal from './QuillModal.vue'
import RecycleModal from './RecycleModal.vue'
@ -21,14 +11,11 @@ import { msgPolling } from '@/api/message/message'
import { getImgUrl } from '@/utils/urlUtils'
import { useUser } from '@/store/modules/user'
import { useTaskStore } from '@/store/modules/task'
import defaultAvatar from '@/assets/icons/avatar.svg'
import { useKeydown } from '@/hooks/event/useKeydown'
import TishiDialog from "@/views/home/aside/comp/modals/TiShi.vue"
import defaultAvatar from '@/assets/icons/avatar.svg';
const taskStore = useTaskStore()
const taskStore = useTaskStore();
export default defineComponent({
name: 'PageHeader',
name: "PageHeader",
components: {
UserSettings,
QuillModal,
@ -44,210 +31,141 @@ export default defineComponent({
type: Boolean,
},
},
emits: ['update:collapsed'],
emits: ["update:collapsed"],
setup() {
const showx = ref(false)
const message = useMessage()
const dialog = useDialog()
const message = useMessage();
const dialog = useDialog();
const userStore = useUser()
const useInfo = userStore.getUserInfo
const userStore = useUser();
const useInfo = userStore.getUserInfo;
const name = ''
const name = "";
const state = reactive({
username: name ?? '',
fullscreenIcon: 'FullscreenOutlined',
})
username: name ?? "",
fullscreenIcon: "FullscreenOutlined",
});
const router = useRouter()
const route = useRoute()
const routename = ref(route.meta.title)
const router = useRouter();
const route = useRoute();
const routename = ref(route.meta.title);
// mm
const iconList = ref([
{
icon: 'magnifying-1-color999',
icon: "magnifying-1",
handle: searchHandler,
},
{
icon: 'shortcut-keys',
icon: "shortcut-keys",
handle: shortcutHandler,
},
{
icon: 'suspicious-folder',
icon: "suspicious-folder",
handle: recycleHandler,
},
{
icon: 'memo',
icon: "memo",
handle: quillHandler,
},
{
icon: 'nomessage',
icon: "nomessage",
handle: goMessage,
},
])
]);
watch(
() => route.fullPath,
() => {
routename.value = route.meta.title
},
)
routename.value = route.meta.title;
}
);
const handleDragOver = (event, item) => {
taskStore.setInFile(true)
}
taskStore.setInFile(true);
};
const handleDragLeave = (event, item) => {
taskStore.setInFile(false)
}
taskStore.setInFile(false);
};
const dropdownSelect = (key) => {
router.push({ name: key })
}
router.push({ name: key });
};
const tishiModalRef=ref(null)
const paramasref=ref(null)
const tishiok=()=>{
userStore.logout().then(() => {
message.success('成功退出登录')
router
.replace({
name: 'Login',
query: {
// redirect: route.fullPath,
},
})
.finally(() => location.reload())
})
}
// 退
const doLogout = () => {
showx.value = true
console.log(tishiModalRef.value)
//const modal3 = unref(tishiref)! as any
// console.log(modal3)
//modal3.showModalx()
/* dialog.warning({
title: '确认提示',
content: '您确定要退出登录吗',
positiveText: '取消',
negativeText: '确定',
negativeButtonProps: {
type: 'info',
ghost: false,
},
positiveButtonProps: {
type: 'default',
},
dialog.info({
title: "提示",
content: "您确定要退出登录吗",
positiveText: "确定",
negativeText: "取消",
onPositiveClick: () => {
},
onNegativeClick: () => { userStore.logout().then(() => {
message.success('成功退出登录')
userStore.logout().then(() => {
message.success("成功退出登录");
router
.replace({
name: 'Login',
name: "Login",
query: {
// redirect: route.fullPath,
},
})
.finally(() => location.reload())
})},
})*/
}
.finally(() => location.reload());
});
},
onNegativeClick: () => {},
});
};
const quillModalRef = ref(null)
const shortcutModal = ref(null)
const recycleModalRef = ref(null)
const SearchModalRef = ref(null)
const quillModalRef = ref(null);
const shortcutModal = ref(null);
const recycleModalRef = ref(null);
const SearchModalRef = ref(null);
function quillHandler() {
const modal = unref(quillModalRef)! as any
modal.showModal()
const modal = unref(quillModalRef)! as any;
modal.showModal();
}
function shortcutHandler() {
const modal = unref(shortcutModal)! as any
modal.showModal()
const modal = unref(shortcutModal)! as any;
modal.showModal();
}
function recycleHandler() {
const modal = unref(recycleModalRef)! as any
modal.showModal()
const modal = unref(recycleModalRef)! as any;
modal.showModal();
}
function searchHandler() {
const modal = unref(SearchModalRef)! as any
modal.showModal()
const modal = unref(SearchModalRef)! as any;
modal.showModal();
}
function goMessage() {
router.push({ name: 'message-main' })
router.push({ name: "message-main" });
}
async function getMessage() {
const res = await msgPolling()
if (res.data)
iconList.value[4].icon = 'hasmessage'
else iconList.value[4].icon = 'nomessage'
const res = await msgPolling();
if (res.data) iconList.value[4].icon = "hasmessage";
else iconList.value[4].icon = "nomessage";
}
setInterval(() => {
getMessage()
}, 5000)
const mousetrap = inject('mousetrap') as any
function handleKeydown(e){
if(e.key=="c"||e.key=="C"){
const modal = unref(quillModalRef)! as any
modal.closeModal()
const modal1 = unref(shortcutModal)! as any
modal1.closeModal()
const modal3 = unref(SearchModalRef)! as any
modal3.closeModal()
const modal2 = unref(recycleModalRef)! as any
modal2.closeModal()
}
}
function closeModal() {
showx.value = false
}
function onok(){
userStore.logout().then(() => {
message.success('成功退出登录')
router
.replace({
name: 'Login',
query: {
// redirect: route.fullPath,
},
})
.finally(() => location.reload())
})
showx.value = false
}
getMessage();
}, 5000);
const mousetrap = inject("mousetrap") as any;
onMounted(() => {
getMessage()
mousetrap.bind('n r', quillHandler)
mousetrap.bind('n t', quillHandler)
mousetrap.bind('n n', recycleHandler)
mousetrap.bind('/', searchHandler)
window.addEventListener('keydown', handleKeydown)
})
onUnmounted(() => {
window.removeEventListener('keydown', handleKeydown)
})
const defaultAvatarSrc = ref(defaultAvatar)
getMessage();
mousetrap.bind("n r", quillHandler);
mousetrap.bind("n t", quillHandler);
mousetrap.bind("n n", recycleHandler);
mousetrap.bind("m m", searchHandler);
});
const defaultAvatarSrc = ref(defaultAvatar);
return {
closeModal,
onok,
showx,
tishiModalRef,
paramasref,
tishiok,
...toRefs(state),
iconList,
doLogout,
@ -269,22 +187,21 @@ onUnmounted(() => {
defaultAvatarSrc,
}
},
})
});
</script>
<template>
<div class="layout-header">
<!-- 左侧菜单 -->
<div class="layout-header-left">
<!-- 菜单收起 -->
<div
class="ml-1 layout-header-trigger layout-header-trigger-min"
style="padding-left: 13px"
@click="() => $emit('update:collapsed', !collapsed)"
>
<SvgIcon name="homepage" size="16" />
</div>
<div>当前位置{{ routename }}</div>
</div>
<div class="layout-header-right">
@ -308,57 +225,27 @@ onUnmounted(() => {
</div>
</div>
<!-- 个人中心 -->
<div style="margin-left: 19px;margin-right:4px" class="layout-header-trigger layout-header-trigger-min">
<div class="layout-header-trigger layout-header-trigger-min">
<!-- <n-avatar :src="getImgUrl(useInfo.usericon)" round /> -->
<n-avatar
style="width: 36px; height: 36px"
:src="(useInfo.usericon && getImgUrl(useInfo.usericon)) || defaultAvatarSrc"
round
/>
<n-avatar :src="(useInfo.usericon && getImgUrl(useInfo.usericon)) || defaultAvatarSrc" round/>
</div>
<!-- 设置 -->
<UserSettings @logout="doLogout" />
</div>
</div>
<div class="tishi">
<n-modal v-model:show="showx" transform-origin="center" class="modal_wrap">
<div>
<div class="title"> <SvgIcon size="21" class="icon" style="margin-right:17.5px" name="warn" />确认提示</div>
<div class="content">您确定要退出登录吗</div>
<div class="footer">
<n-button style="background:#1980FF;width: 60px;
height: 36px;" type="info" @click="onok">
确定
</n-button>
<n-button secondary class="btn" style="margin-left: 15px;width: 60px;background:#f8f8f8;border:1px solid #D9D9D9;
height: 36px;" @click="closeModal">
取消
</n-button>
</div>
</div>
</n-modal>
</div>
<RecycleModal ref="recycleModalRef" />
<QuillModal ref="quillModalRef" />
<ShortcutModal ref="shortcutModal" />
<div class="ssss"><SearchModal ref="SearchModalRef" /></div>
<TishiDialog ref="tishiModalRef" :label="'您确定要退出登录吗'" @tishiok="tishiok"/>
<SearchModal ref="SearchModalRef" />
</template>
<style lang="less" scoped>
.ssss{
::v-deep .n-modal-mask{
background-color:transparent !important;
}
}
.layout-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0;
height: 62px;
height: 64px;
transition: all 0.2s ease-in-out;
width: 100%;
z-index: 11;
@ -366,7 +253,6 @@ height: 36px;" @click="closeModal">
&-left {
display: flex;
align-items: center;
justify-content: flex-start;
color: #666666;
.logo {
@ -381,7 +267,7 @@ height: 36px;" @click="closeModal">
img {
width: auto;
height: 34px;
height: 32px;
margin-right: 10px;
}
@ -394,7 +280,7 @@ height: 36px;" @click="closeModal">
&-right {
display: flex;
align-items: center;
margin-right: 24px;
margin-right: 20px;
.back {
width: 28px;
@ -462,31 +348,4 @@ height: 36px;" @click="closeModal">
flex-direction: row;
align-items: center;
}
.modal_wrap{
width: 424px;
height: 192px;
background: #ffffff;
border-radius: 2px;
}
.title{
color: #333333;
line-height: 24px;
font-size: 16px;
font-weight: 550;
margin-top: 33.5px;
margin-left: 33.5px;
}
.content{
font-size: 14px;
color: #666666;
margin-top: 12px;
margin-left: 72px;
}
.footer{
position: absolute;
bottom: 24px;
right: 32px;
}
</style>

@ -1,19 +1,13 @@
<script setup lang="ts">
import { useRouter } from 'vue-router'
import { websiteConfig } from '@/config/website.config'
import { storage } from '@/utils/Storage'
import { CURRENT_USER } from '@/store/mutation-types'
defineOptions({ name: 'Index' })
const router = useRouter()
function clickHandler() {
const userInfo = storage.get(CURRENT_USER)
if (userInfo && userInfo.frontmenuTList) {
if (userInfo.frontmenuTList.find(item => item.resUrl == '/home'))
router.push({ path: '/home' })
}
router.push({ path: '/home' })
}
</script>
@ -24,23 +18,23 @@ function clickHandler() {
</template>
<style lang="less" scoped>
.logo {
display: flex;
align-items: center;
justify-content: center;
height: 64px;
line-height: 64px;
overflow: hidden;
white-space: nowrap;
.logo {
display: flex;
align-items: center;
justify-content: center;
height: 64px;
line-height: 64px;
overflow: hidden;
white-space: nowrap;
img {
width: auto;
height: 32px;
cursor: pointer;
}
img {
width: auto;
height: 32px;
cursor: pointer;
}
.title {
margin: 0;
.title {
margin: 0;
}
}
}
</style>

@ -1,57 +1,57 @@
<script lang="ts">
import { computed, defineComponent, onMounted, ref, unref, watch } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { IconGroup } from '../IconGroup'
import { useAsyncRouteStore } from '@/store/modules/asyncRoute'
import { generatorMenu } from '@/utils'
import { storage } from '@/utils/Storage'
import { CURRENT_USER } from '@/store/mutation-types'
import { computed, defineComponent, onMounted, ref, unref, watch } from "vue";
import { useRoute, useRouter } from "vue-router";
import { IconGroup } from "../IconGroup";
import { useAsyncRouteStore } from "@/store/modules/asyncRoute";
import { generatorMenu } from "@/utils";
import { storage } from "@/utils/Storage";
import { CURRENT_USER } from "@/store/mutation-types";
export default defineComponent({
name: 'AppMenu',
name: "AppMenu",
components: { IconGroup },
emits: ['clickMenuItem'],
emits: ["clickMenuItem"],
setup(props, { emit }) {
//
const currentRoute = useRoute()
const router = useRouter()
const asyncRouteStore = useAsyncRouteStore()
const menus = ref<any[]>([])
const selectedSvg = ref<string>(currentRoute.meta.svgname as string)
const currentRoute = useRoute();
const router = useRouter();
const asyncRouteStore = useAsyncRouteStore();
const menus = ref<any[]>([]);
const selectedSvg = ref<string>(currentRoute.meta.svgname as string);
const getSelectedSvg = computed(() => {
return unref(selectedSvg)
})
return unref(selectedSvg);
});
//
watch(
() => currentRoute.fullPath,
() => {
updateMenu()
},
)
updateMenu();
}
);
function updateSelectedKeys() {
const svgname: string = (currentRoute.meta?.svgname as string) || ''
selectedSvg.value = svgname
const svgname: string = (currentRoute.meta?.svgname as string) || "";
selectedSvg.value = svgname;
}
function updateMenu() {
menus.value = generatorMenu(asyncRouteStore.getMenus)
const userInfo = storage.get(CURRENT_USER)
menus.value = generatorMenu(asyncRouteStore.getMenus);
const userInfo = storage.get(CURRENT_USER);
if (userInfo && userInfo.frontmenuTList) {
menus.value = userInfo.frontmenuTList.map((item) => {
const v = {
let v = {
component: () =>
item.resUrl == '/task'
? import('@/views/task/index.vue')
: item.resUrl == '/home'
? import('@/views/home/index.vue')
: item.resUrl == '/worksheet'
? import('@/views/worksheet/index.vue')
: item.resUrl == '/final'
? import('@/views/final/index.vue')
: '',
item.resUrl == "/task"
? import("@/views/task/index.vue")
: item.resUrl == "/home"
? import("@/views/home/index.vue")
: item.resUrl == "/worksheet"
? import("@/views/worksheet/index.vue")
: item.resUrl == "/final"
? import("@/views/final/index.vue")
: "",
icon: undefined,
key: item.resKey,
label: item.description,
@ -62,36 +62,35 @@ export default defineComponent({
path: item.resUrl,
name: item.resKey,
svgname: item.icon,
svgsize: item.resUrl == '/home' ? 60 : 22,
svgsize: item.resUrl == "/home" ? 60 : 22,
title: item.description,
}
return v
})
};
return v;
});
}
updateSelectedKeys()
updateSelectedKeys();
}
//
function clickMenuItem(key: string) {
if (/http(s)?:/.test(key))
window.open(key)
else router.push({ name: key })
if (/http(s)?:/.test(key)) window.open(key);
else router.push({ name: key });
emit('clickMenuItem' as any, key)
emit("clickMenuItem" as any, key);
}
onMounted(() => {
updateMenu()
})
updateMenu();
});
return {
menus,
selectedSvg,
getSelectedSvg,
clickMenuItem,
}
};
},
})
});
</script>
<template>

@ -1,39 +1,21 @@
<script lang="ts" setup>
import { computed, onBeforeMount, onMounted, unref } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { computed, unref } from 'vue'
import { Logo } from './components/Logo'
import { MainView } from './components/Main'
import { AsideMenu } from './components/Menu'
import { PageHeader } from './components/Header'
import { useProjectSetting } from '@/hooks/setting/useProjectSetting'
import { storage } from '@/utils/Storage'
const router = useRouter()
const route = useRoute()
onMounted(() => {
/**
* 如果刷新则去掉筛选条件
* 1. 如果当前页面路由与上一个页面路由相同时则为刷新
* 2. 防止一直刷新 另外一个判断条件为当前当前路由query不为{}
* 3. 当前页面下执行当前页面的搜索 1条件一定成立
*
* 4. 搜索点击->存storage->跳转页面->onMounted
* ->如果storage为true则不replace 并将storage置false
*/
if (storage.get('isSearch')) {
storage.remove('isSearch')
router.replace(route.path)
return
}
if (history.state.back == route.path && JSON.stringify(route.query).trim() != '{}')
router.replace(route.path)
})
const { menuSetting } = useProjectSetting()
const {
menuSetting,
} = useProjectSetting()
const leftMenuWidth = computed(() => {
const { minMenuWidth } = unref(menuSetting)
return minMenuWidth
})
</script>
<template>
@ -63,13 +45,10 @@ const leftMenuWidth = computed(() => {
display: flex;
flex-direction: row;
flex: auto;
background-image: url("../assets/images/bg.png");
background-image: url('../assets/images/bg.png');
background-size: cover;
// height: 1100px;
// width: 1440px;
height: 100%;
max-height: 1100px;
overflow: hidden;
.layout-sider {
min-height: 100vh;
border-right: 1px solid #dae4f3;
@ -94,7 +73,7 @@ const leftMenuWidth = computed(() => {
display: flex;
flex: auto;
height: 100%;
// padding: 0px 16px 24px 16px;
padding: 0px 16px 24px 16px;
overflow-x: hidden;
box-sizing: border-box;
}

@ -1,14 +1,10 @@
import './styles/tailwind.css'
import { createApp } from 'vue'
import waterfall from 'vue-waterfall2'
import lazyPlugin from 'vue3-lazy'
import App from './App.vue'
import router, { setupRouter } from './router'
import { setupGlobalProperties, setupMousestrap, setupNaive, setupNaiveDiscreteApi, setupSvgIcon } from '@/plugins'
import { setupStore } from '@/store'
import 'virtual:svg-icons-register'
import bgPng from '@/assets/images/bg-loading.png'
import closePng from '@/assets/images/close.png'
async function bootstrap() {
const app = createApp(App)
@ -20,14 +16,9 @@ async function bootstrap() {
setupGlobalProperties(app)
setupRouter(app)
await router.isReady()
const meta = document.createElement('meta')
const meta = document.createElement('meta')
meta.name = 'naive-ui-style'
document.head.appendChild(meta)
app.use(waterfall)
app.use(lazyPlugin, {
error: closePng,
loading: bgPng,
})
app.mount('#app', true)
}

@ -31,7 +31,6 @@ const routes: Array<RouteRecordRaw> = [
name: 'final-main',
meta: {
title: '任务终审',
keepAlive: true,
},
component: () => import('@/views/final/index.vue'),
},

@ -1,44 +0,0 @@
import { Layout } from '@/router/constant'
import type { RouteRecordRaw } from 'vue-router'
/**
* @param name , ,
* @param meta
* @param redirect , 访,
* @param meta.disabled
* @param meta.title
* @param meta.icon
* @param meta.keepAlive
* @param meta.sort
*
*/
const routes: Array<RouteRecordRaw> = [
{
path: '/',
name: 'map',
redirect: '/map',
component: Layout,
meta: {
title: '地理位置',
permissions: ['task-main'],
svgname: 'task-approval',
svgsize: 22,
sort: 5,
disabled: true,
hidden: true,
},
children: [
{
path: 'map',
name: 'map-main',
meta: {
title: '地理位置',
},
component: () => import('@/views/map/index.vue'),
},
],
},
]
export default routes

@ -1,5 +1,5 @@
import { Layout } from '@/router/constant'
import type { RouteRecordRaw } from 'vue-router'
import { Layout } from '@/router/constant'
/**
* @param name , ,
@ -40,7 +40,7 @@ const routes: Array<RouteRecordRaw> = [
path: 'message-detail',
name: 'message-detail',
meta: {
title: '消息公告',
title: 'message',
},
component: () => import('@/views/message/content/Detail.vue'),
},

@ -1,5 +1,5 @@
import type { RouteRecordRaw } from 'vue-router'
import { Layout } from '@/router/constant'
import type { RouteRecordRaw } from 'vue-router'
/**
* @param name , ,
@ -19,7 +19,7 @@ const routes: Array<RouteRecordRaw> = [
redirect: '/worksheet',
component: Layout,
meta: {
title: '图检审批',
title: '图审审批管理',
permissions: ['worksheet-main'],
svgname: 'worksheet',
svgsize: 22,
@ -30,7 +30,7 @@ const routes: Array<RouteRecordRaw> = [
path: 'worksheet',
name: 'worksheet-main',
meta: {
title: '图检审批',
title: '图审审批管理',
},
component: () => import('@/views/worksheet/index.vue'),
},

@ -1,35 +0,0 @@
import { defineStore } from 'pinia'
import { store } from '@/store'
export interface ConfigState {
DataConfig: boolean
}
export const useDataHeaderStore = defineStore({
id: 'app-config',
state: (): ConfigState => ({
DataConfig: false,
}),
getters: {
getDataConfig(): boolean {
return this.DataConfig
},
},
actions: {
setDataConfig(value) {
this.DataConfig = value
},
},
})
// Need to be used outside the setup
export function useConfig() {
return useDataHeaderStore(store)
}

@ -1,6 +1,6 @@
import { getConfig } from '@/api/system/user'
import { store } from '@/store'
import { defineStore } from 'pinia'
import { store } from '@/store'
import { getConfig } from '@/api/system/user'
import { getFilter } from '@/api/home/filter'
import type { AsideConfig } from '/#/api'
@ -13,7 +13,6 @@ export interface ConfigState {
isAllowDownload: boolean
timeNum: number
filterConfig: string[] // 过滤筛选条件
collapse: boolean // 是否展示左侧筛选条件
}
export const useAsideConfigStore = defineStore({
@ -22,16 +21,12 @@ export const useAsideConfigStore = defineStore({
systemConfig: null,
customConfig: null,
asideValue: null,
searchValue: '',
searchValue: "",
isAllowDownload: true,
timeNum: 0,
filterConfig: [],
collapse: false,
}),
getters: {
getCollapse(): boolean {
return this.collapse
},
getConfig(): AsideConfig | null {
return this.systemConfig
},
@ -55,10 +50,6 @@ export const useAsideConfigStore = defineStore({
},
},
actions: {
setCollapse(value) {
this.collapse = value
console.log('存起来啊啊 ', this.collapse)
},
setConfig(config: AsideConfig) {
this.systemConfig = config
},

@ -1,6 +1,6 @@
import { defineStore } from 'pinia'
import { getBackList, getBusinessList, getIzShowList, getPictureTypeList, getRegionList, getRejectList, getRelationTypeList, getTFList, getizApprovalStatusList, getizstatusList } from '@/api/dictionary'
import { store } from '@/store'
import { getBackList, getBusinessList, getIzShowList, getIztaskstatusList, getPictureTypeList, getRegionList, getRejectList, getRelationTypeList, getTFList, getizstatusList, getizApprovalStatusList } from '@/api/dictionary'
export interface DictionaryState {
regionList: any
@ -76,8 +76,7 @@ export const useDictionaryStore = defineStore({
return state.iztaskrromList
},
getiztaskstatus: (state) => {
// return state.iztaskstatusList
return state.izstatusList
return state.iztaskstatusList
},
getizvisitpro: (state) => {
return state.izvisitproList
@ -105,32 +104,32 @@ export const useDictionaryStore = defineStore({
},
getizApprovalStatus: (state) => {
return state.izApprovalStatusList
},
}
},
actions: {
initData() {
initData(){
// this.fetchRegionList(); //废弃
this.fetchPictureTypeList()
this.fetchPersionList()
this.fetchPlanList()
this.fetchTFList()
this.fetchPictureTypeList();
this.fetchPersionList();
this.fetchPlanList();
this.fetchTFList();
// this.fetchIzShowList(); //废弃
this.fetchIzProjectList()
this.fetchIztaskrromList()
this.fetchIztaskstatusList()
this.fetchIzvisitproList()
this.fetchIzfirmList()
this.fetchIzproductnameList()
this.fetchizcustomnameList()
this.fetchIzCustomtypeList()
this.fetchIzcustomlevelList()
this.fetchizizprojecttypeList()
this.fetchizvisitcityList()
this.fetchRejectList()
this.fetchBackList()
this.fetchRelationTypeList()
this.fetchizstatusListt()
this.fetchizApprovalStatusList()
this.fetchIzProjectList();
this.fetchIztaskrromList();
this.fetchIztaskstatusList();
this.fetchIzvisitproList();
this.fetchIzfirmList();
this.fetchIzproductnameList();
this.fetchizcustomnameList();
this.fetchIzCustomtypeList();
this.fetchIzcustomlevelList();
this.fetchizizprojecttypeList();
this.fetchizvisitcityList();
this.fetchRejectList();
this.fetchBackList();
this.fetchRelationTypeList();
this.fetchizstatusListt();
this.fetchizApprovalStatusList();
},
settfList(config) {
this.tfList = config

@ -1,106 +1,35 @@
import { getFilter } from '@/api/home/filter';
import { asideMap } from "@/config/final";
import { store } from '@/store';
import { cloneDeep } from "lodash-es";
import { defineStore } from 'pinia';
import type { AsideConfig } from '/#/api';
import { defineStore } from 'pinia'
import { store } from '@/store'
import { getFilter } from '@/api/home/filter'
export interface ConfigState {
systemConfig: AsideConfig | null
customConfig: string[] | null
asideValue: any
listKey: number
searchValue: string
isAllowDownload: boolean
timeNum: number
filterConfig: string[] // 过滤筛选条件
}
export const useFinalStore = defineStore({
id: 'app-final',
state: (): ConfigState => ({
systemConfig: null,
customConfig: null,
asideValue: null,
listKey: 0,
searchValue: "",
isAllowDownload: true,
timeNum: 0,
filterConfig: [],
}),
getters: {
getSystemConfig(): AsideConfig | null {
return this.systemConfig
},
getCustomConfig(): string[] | null {
return this.customConfig
},
getAsideValue(): any {
return this.asideValue
},
getSearchValue(): any {
return this.searchValue
},
getIsAllowDownload(): any {
return this.isAllowDownload
},
getTimeNum(): any {
return this.timeNum
},
getFilterConfig(): any {
return this.filterConfig
},
},
actions: {
setSystemConfig(config: AsideConfig) {
this.systemConfig = config
console.log("systemConfig----------", config);
},
setAsideValue(value) {
console.log(value)
this.asideValue = value
},
setListKey() {
this.listKey = new Date().getTime()
},
setSearchValue(value) {
this.searchValue = value
},
setIsAllowDownload(value) {
this.isAllowDownload = value
},
setTimeNum(value) {
this.timeNum = value
},
// 设置个性化配置
setCustomConfig(value) {
this.customConfig = value
},
setFilterConfig(value) {
this.filterConfig = value
},
// 获取系统配置信息
async fetchConfig() {
// const response = await getConfig()
// console.log("response.data----------", response.data);
// this.setSystemConfig(response.data)
// return response.data
let list: any = {};
let tempAsideMap = cloneDeep(asideMap);
Object.keys(tempAsideMap).map(key => {
list[key] = "Y";
});
console.log("setSystemConfig---------------", list);
this.setSystemConfig(list);
return list
},
// // 获取终审个性化配置
// 获取终审个性化配置
async fetchCustomConfig() {
const res = await getFilter(1)
const { data } = res
const list = data && data.searchcount ? data.searchcount.split(',') : [];
console.log("listkey---------------", list);
const list = data && data.searchcount ? data.searchcount.split(',') : []
this.customConfig = list
return list
},

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save