Merge branch 'wfs-tmp-apply' into pro
@ -1349,3 +1349,21 @@ AI机器人
|
||||
|
||||
汇报人
|
||||
提交时间
|
||||
|
||||
应用
|
||||
机器人设置
|
||||
去聊天
|
||||
返回
|
||||
会议设置
|
||||
我是一个人工智能助手,为用户提供问题解答和指导。我没有具体的身份,只是一个程序。您有什么问题可以问我哦?
|
||||
我是Claude,一个由Anthropic公司创造出来的AI助手机器人。我的工作是帮助人类,与人对话并给出解答。
|
||||
我是文心一言,英文名是ERNIE Bot。我能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。
|
||||
我是达摩院自主研发的超大规模语言模型,能够回答问题、创作文字,还能表达观点、撰写代码。
|
||||
机器人暂未开启
|
||||
创建一个全新的会议视频会议,与会者可以在实时中进行面对面的视听交流。通过视频会议平台,参与者可以分享屏幕、共享文档,并与其他与会人员进行讨论和协。
|
||||
加入视频会议,参与已经创建的会议,在会议过程中与其他参会人员进行远程实时视听交流和协作。
|
||||
新会议
|
||||
新建会议
|
||||
LDAP设置
|
||||
邮件管理
|
||||
APP推送
|
||||
22
public/images/apply/addProject.svg
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#87D068;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M35.7,20.1c0-0.8-0.4-1.5-1.1-1.9l-8.9-5.1c-1-0.6-2.2-0.6-3.1,0l-9.1,5.2c-0.6,0.4-1,1-1,1.8s0.4,1.4,1,1.8
|
||||
l9.1,5.2c0.5,0.3,1,0.4,1.6,0.4c0.5,0,1.1-0.1,1.6-0.4l8.9-5.1C35.3,21.6,35.7,20.9,35.7,20.1z"/>
|
||||
<path class="st1" d="M24,29.7c-0.4,0-0.8-0.1-1.2-0.3l-9-5.1c-0.4-0.2-0.9-0.1-1.2,0.3c-0.2,0.4-0.1,0.9,0.3,1.2l9,5.1
|
||||
c0.6,0.4,1.3,0.6,2,0.6c0,0,0,0,0,0c0.5,0,0.9-0.4,0.9-0.9C24.9,30.1,24.5,29.7,24,29.7z"/>
|
||||
<path class="st1" d="M24,33.5c-0.6,0-1.3-0.2-1.8-0.5l-8.4-4.8c-0.4-0.2-0.9-0.1-1.2,0.3c-0.2,0.4-0.1,0.9,0.3,1.2l8.4,4.8
|
||||
c0.8,0.5,1.7,0.7,2.6,0.7c0,0,0,0,0,0c0.5,0,0.9-0.4,0.9-0.9C24.9,33.9,24.5,33.5,24,33.5z"/>
|
||||
<path class="st1" d="M34.8,30h-2.6v-2.6c0-0.5-0.4-0.9-0.9-0.9c-0.5,0-0.9,0.4-0.9,0.9V30h-2.6c-0.5,0-0.9,0.4-0.9,0.9
|
||||
s0.4,0.9,0.9,0.9h2.6v2.6c0,0.5,0.4,0.9,0.9,0.9c0.5,0,0.9-0.4,0.9-0.9v-2.6h2.6c0.5,0,0.9-0.4,0.9-0.9S35.3,30,34.8,30z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
29
public/images/apply/addTask.svg
Normal file
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#87D068;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<g>
|
||||
<circle class="st1" cx="19.7" cy="26.6" r="0.9"/>
|
||||
<g>
|
||||
<path class="st1" d="M29,26.9c0.5,0,0.9,0.4,0.9,0.9l0,2.6l2.6,0c0.5,0,0.9,0.4,0.9,0.9c0,0.5-0.4,0.9-0.9,0.9l-2.6,0l0,2.6
|
||||
c0,0.5-0.4,0.9-0.9,0.9c-0.5,0-0.9-0.4-0.9-0.9l0-2.6l-2.6,0c-0.5,0-0.9-0.4-0.9-0.9c0-0.5,0.4-0.9,0.9-0.9l2.6,0l0-2.6
|
||||
C28.1,27.3,28.5,26.9,29,26.9"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M26.6,34.8l0-1.2l-1.2,0c0,0,0,0,0,0c-0.6,0-1.2-0.2-1.6-0.7c-0.4-0.4-0.7-1-0.7-1.6c0-0.6,0.2-1.2,0.7-1.6
|
||||
c0.4-0.4,1-0.7,1.6-0.7l1.2,0l0-1.2c0-1.3,1-2.3,2.3-2.3c0,0,0,0,0,0c1.3,0,2.3,1,2.3,2.3l0,1.2l1.2,0c0,0,0,0,0,0
|
||||
c0.3,0,0.6,0.1,0.9,0.2V14.7c0-1.3-1.1-2.3-2.3-2.3H17c-1.3,0-2.3,1.1-2.3,2.3v18.7c0,1.3,1,2.3,2.3,2.3h9.8
|
||||
C26.7,35.4,26.6,35.1,26.6,34.8z M19.7,29.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S21.1,29.3,19.7,29.3z
|
||||
M22.6,17.9l-2.9,2.9c-0.2,0.2-0.4,0.3-0.6,0.3s-0.4-0.1-0.6-0.3l-1.2-1.2c-0.3-0.3-0.3-0.9,0-1.2s0.9-0.3,1.2,0l0.5,0.5l2.3-2.3
|
||||
c0.3-0.3,0.9-0.3,1.2,0S23,17.6,22.6,17.9z M24.9,17.6h4.7c0.5,0,0.9,0.4,0.9,0.9s-0.4,0.9-0.9,0.9h-4.7c-0.5,0-0.9-0.4-0.9-0.9
|
||||
S24.4,17.6,24.9,17.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
27
public/images/apply/allUser.svg
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#F57775;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M21.5,24.5c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6C27.6,21.8,24.9,24.5,21.5,24.5z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M28.8,35.5H14.3c-1.1,0-2-0.9-2-2v-4.1c0-1.7,1.4-3.1,3.1-3.1h12.2c1.7,0,3.1,1.4,3.1,3.1v4.1
|
||||
C30.7,34.6,29.9,35.5,28.8,35.5z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M29.6,22.5c-0.3,0-0.5-0.1-0.7-0.3c-0.2-0.3-0.2-0.7,0-1c0.6-0.8,0.9-1.7,0.9-2.7s-0.3-1.9-0.9-2.7
|
||||
c-0.2-0.3-0.2-0.7,0-1s0.6-0.4,0.9-0.3c1.7,0.6,2.9,2.2,2.9,4s-1.2,3.4-2.9,4C29.8,22.5,29.7,22.5,29.6,22.5z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M34,34.7h-0.7c-0.3,0-0.5-0.1-0.7-0.3s-0.2-0.5-0.1-0.7c0-0.1,0-0.1,0-0.1v-4c0-0.4-0.2-0.7-0.3-0.9
|
||||
c-0.2-0.2-0.2-0.6-0.1-0.9c0.1-0.3,0.4-0.5,0.7-0.5H33c1.4,0,2.6,1.2,2.6,2.6V33C35.7,34,34.9,34.7,34,34.7z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
public/images/apply/apppush.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25679"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#9D95E5" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25679)"><g><path d="M35.6226,12.187076C35.9089,12.366451,36.0526,12.70563,35.9824,13.03611L32.5574,33.5856C32.4912,34.000299999999996,32.1282,34.3018,31.7084,34.290800000000004C31.599,34.289100000000005,31.4912,34.2646,31.3918,34.2188L25.333399999999997,31.7437L22.095599999999997,35.6866C21.9377,35.8896,21.69045,36.0025,21.43364,35.9888C21.33001,35.990700000000004,21.22712,35.9711,21.131439999999998,35.9313C20.96605,35.8728,20.82448,35.7615,20.72851,35.6147C20.62727,35.4715,20.57206,35.300799999999995,20.57021,35.1254L20.57021,30.4629L32.125699999999995,16.28835L17.821640000000002,28.6641L12.540347,26.4912C12.225567,26.3831,12.0117595,26.09,12.0050232,25.7573C11.9677587,25.428800000000003,12.140421,25.112299999999998,12.436736,24.9658L34.7016,12.115123C34.833200000000005,12.040216,34.981899999999996,12.000561138,35.1333,12C35.3072,12.0294109,35.4735,12.092995,35.6226,12.187076Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
public/images/apply/approve.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25613"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#F57775" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25613)"><g><g><path d="M32.753299999999996,26.9593L30.357,26.9593C29.1345,26.957700000000003,28.1438,25.967100000000002,28.142200000000003,24.744500000000002C28.139499999999998,24.1851,28.3448,23.6446,28.7182,23.228099999999998C31.2206,20.597839999999998,31.1498,16.44632,28.5592,13.9029C25.9685,11.359486,21.816380000000002,11.365081,19.23258,13.91547C16.648789999999998,16.46586,16.58916,20.61755,19.09864,23.2411C19.45887,23.6577,19.65585,24.1909,19.65307,24.7416C19.65997,25.8988,18.7744,26.8659,17.62114,26.9608L15.40058,26.9608C14.07758,26.9608,13.00396661,28.0311,13,29.3541L13,31.5142C13,32.024,13.413276,32.4373,13.923077,32.4373L34.227900000000005,32.4373C34.737700000000004,32.4373,35.150999999999996,32.024,35.150999999999996,31.5142L35.150999999999996,29.3541C35.145399999999995,28.0327,34.0747,26.9633,32.753299999999996,26.9593Z" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M34.2308,35.999994833374025L13.923077,35.999994833374025C13.413276,35.999994833374025,13.000000054161,35.58672483337402,13.000000054161,35.07692183337402C13.000000054161,34.56712083337403,13.413276,34.15384483337402,13.923077,34.15384483337402L34.227900000000005,34.15384483337402C34.737700000000004,34.15384483337402,35.150999999999996,34.56712083337403,35.150999999999996,35.07692183337402C35.150999999999996,35.58672483337402,34.737700000000004,35.999994833374025,34.227900000000005,35.999994833374025L34.2308,35.999994833374025Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
19
public/images/apply/calendar.svg
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFAA64;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<path class="st1" d="M32.5,14.5h-4.3v-1c0-0.4-0.3-0.8-0.8-0.8s-0.8,0.3-0.8,0.8v1h-5.3v-1c0-0.4-0.3-0.8-0.8-0.8s-0.8,0.3-0.8,0.8
|
||||
v1h-4.3c-1.5,0-2.8,1.2-2.8,2.8v15.3c0,1.5,1.2,2.8,2.8,2.8h17c1.5,0,2.8-1.2,2.8-2.8V17.2C35.2,15.7,34,14.5,32.5,14.5z M15.5,16
|
||||
h4.3v1c0,0.4,0.3,0.8,0.8,0.8s0.8-0.3,0.8-0.8v-1h5.3v1c0,0.4,0.3,0.8,0.8,0.8s0.8-0.3,0.8-0.8v-1h4.3c0.7,0,1.2,0.6,1.2,1.2v2.9
|
||||
H14.2v-2.9C14.2,16.5,14.8,16,15.5,16z M18.3,28.1L18.3,28.1c0.6,0,1.1,0.5,1.1,1.1c0,0.6-0.5,1-1,1c-0.6,0-1.1-0.5-1.1-1
|
||||
C17.3,28.5,17.8,28.1,18.3,28.1z M17.3,25.1c0-0.6,0.5-1,1-1h0c0.6,0,1,0.5,1,1s-0.5,1-1,1C17.8,26.2,17.3,25.7,17.3,25.1z M24,28.1
|
||||
L24,28.1c0.6,0,1.1,0.5,1.1,1.1c0,0.6-0.5,1-1,1c-0.6,0-1.1-0.5-1.1-1C23,28.5,23.4,28.1,24,28.1z M23,25.1c0-0.6,0.5-1,1-1h0
|
||||
c0.6,0,1,0.5,1,1s-0.5,1-1,1C23.4,26.2,23,25.7,23,25.1z M29.7,28.1L29.7,28.1c0.6,0,1.1,0.5,1.1,1.1c0,0.6-0.5,1-1,1
|
||||
c-0.6,0-1.1-0.5-1.1-1C28.6,28.5,29.1,28.1,29.7,28.1z M28.6,25.1c0-0.6,0.5-1,1-1h0c0.6,0,1,0.5,1,1s-0.5,1-1,1
|
||||
C29.1,26.2,28.6,25.7,28.6,25.1z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
public/images/apply/createMeeting.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25658"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#72A1F7" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25658)"><g><path d="M33.1767,19.46395L30.5723,21.34133L30.5723,19.01332C30.5723,17.34516,29.217,15.99442094,27.5489,16L15.01332,16C13.34911,15.999999801611,12,17.34911,12,19.01332L12,29.5822C12,31.2464,13.34911,32.595600000000005,15.01332,32.595600000000005L27.5489,32.595600000000005C29.217,32.6011,30.5723,31.2504,30.5723,29.5822L30.5723,27.2542L33.182500000000005,29.1259C33.7237,29.5146,34.436800000000005,29.5683,35.0302,29.2651C35.623599999999996,28.9619,35.9979,28.3525,36,27.6861L36,20.907980000000002C36.0011,20.23879,35.626599999999996,19.62559,35.0308,19.32086C34.4351,19.01614,33.7187,19.07142,33.1767,19.46395Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
17
public/images/apply/file.svg
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFAA64;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M28.7,18.4h3.8c0.5,0,0.8-0.6,0.4-1l-4.7-4.7c-0.4-0.4-1-0.1-1,0.4V17C27.3,17.8,27.9,18.4,28.7,18.4z"/>
|
||||
<path class="st1" d="M28.7,20.2c-1.8,0-3.2-1.4-3.2-3.2v-4c0-0.3-0.3-0.6-0.6-0.6H17c-1.3,0-2.3,1.1-2.3,2.3v18.7
|
||||
c0,1.3,1,2.3,2.3,2.3h14c1.3,0,2.3-1,2.3-2.3V20.7c0-0.3-0.3-0.6-0.6-0.6H28.7z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 890 B |
20
public/images/apply/joinMeeting.svg
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#53CBAE;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M35.8,18.3l-2.6,2.2c-0.3,0.3-0.5,0.6-0.5,1v4.8c0,0.4,0.2,0.8,0.5,1l2.6,2.2c0.9,0.8,2.2,0.1,2.2-1v-9.3
|
||||
C38,18.2,36.6,17.6,35.8,18.3z"/>
|
||||
<path class="st1" d="M28.8,14.6H12c-1.1,0-2,0.9-2,2v14.8c0,1.1,0.9,2,2,2h16.8c1.1,0,2-0.9,2-2V16.6
|
||||
C30.8,15.5,29.9,14.6,28.8,14.6z M23.4,24.7h-2.2V27c0,0.4-0.3,0.7-0.7,0.7c-0.4,0-0.7-0.3-0.7-0.7v-2.2h-2.2
|
||||
c-0.4,0-0.7-0.3-0.7-0.7s0.3-0.7,0.7-0.7h2.2V21c0-0.4,0.3-0.7,0.7-0.7c0.4,0,0.7,0.3,0.7,0.7v2.2h2.2c0.4,0,0.7,0.3,0.7,0.7
|
||||
S23.8,24.7,23.4,24.7z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
public/images/apply/ldap.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25667"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#FFC835" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25667)"><g><path d="M33.400099999999995,12C34.0625,12,34.599599999999995,12.537033,34.599599999999995,13.1995L34.599599999999995,34.799099999999996C34.6004,35.4621,34.0631,36,33.400099999999995,36L16.59993,36C14.61174,36,13,34.3883,13,32.400099999999995L13,15.59993C13,13.61174,14.61174,12,16.59993,12L33.400099999999995,12ZM32.1991,31.1991L16.59993,31.1991C15.953240000000001,31.2215,15.440570000000001,31.7523,15.440570000000001,32.3994C15.440570000000001,33.0464,15.953240000000001,33.577200000000005,16.59993,33.599599999999995L32.1991,33.599599999999995L32.1991,31.1991ZM23.799799999999998,22.799799999999998C21.8116,22.799799999999998,20.19986,24.4115,20.19986,26.3997L27.3997,26.3997C27.3997,24.4115,25.788,22.799799999999998,23.799799999999998,22.799799999999998ZM23.799799999999998,16.799419999999998C22.47406,16.799419999999998,21.39935,17.87413,21.39935,19.19986C21.39935,20.525579999999998,22.47406,21.60029,23.799799999999998,21.60029C25.125500000000002,21.60029,26.200200000000002,20.525579999999998,26.200200000000002,19.19986C26.1994,17.87446,25.1252,16.80022,23.799799999999998,16.799419999999998Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
public/images/apply/mail.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25401"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#F57775" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25401)"><g><path d="M36,19.35553L36,31.6471C36,32.8166,35.0519,33.764700000000005,33.882400000000004,33.764700000000005L14.11765,33.764700000000005C12.948108,33.764700000000005,12.00000549316,32.8166,12.00000549316,31.6471L12.00000549316,19.35553L20.804470000000002,26.8202C22.6481,28.3834,25.3519,28.3834,27.1955,26.8202L36,19.35553ZM33.882400000000004,14.000000646254C34.1404,14.000286291,34.3963,14.0471559,34.6376,14.138353C34.984700000000004,14.270521,35.2905,14.492136,35.5242,14.780706C35.6509,14.935896,35.7549,15.10818,35.8334,15.29247C35.925200000000004,15.50988,35.9816,15.74565,35.9958,15.99341L36,16.11765L36,16.823529999999998L25.3744,25.8871C24.6211,26.5295,23.5233,26.5644,22.730800000000002,25.9711L22.625700000000002,25.886400000000002L12.00000517004,16.823529999999998L12.00000517004,16.11765C11.9982451,15.318200000000001,12.448325,14.586376,13.16259,14.227294C13.45869,14.0776132,13.78587,13.999747961,14.11765,14.000000646254L33.882400000000004,14.000000646254Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
1
public/images/apply/meeting.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25658"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#72A1F7" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25658)"><g><path d="M33.1767,19.46395L30.5723,21.34133L30.5723,19.01332C30.5723,17.34516,29.217,15.99442094,27.5489,16L15.01332,16C13.34911,15.999999801611,12,17.34911,12,19.01332L12,29.5822C12,31.2464,13.34911,32.595600000000005,15.01332,32.595600000000005L27.5489,32.595600000000005C29.217,32.6011,30.5723,31.2504,30.5723,29.5822L30.5723,27.2542L33.182500000000005,29.1259C33.7237,29.5146,34.436800000000005,29.5683,35.0302,29.2651C35.623599999999996,28.9619,35.9979,28.3525,36,27.6861L36,20.907980000000002C36.0011,20.23879,35.626599999999996,19.62559,35.0308,19.32086C34.4351,19.01614,33.7187,19.07142,33.1767,19.46395Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
1
public/images/apply/report.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25545"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#9D95E5" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25545)"><g><g><path d="M27.3699,31.3292C26.4274,32.2528,24.9169,32.2452,23.983800000000002,31.3121C23.0507,30.379,23.043100000000003,28.8686,23.9667,27.926099999999998L32.3201,19.578400000000002L32.3201,15.27301C32.3201,13.46482,30.8539,11.999210349,29.0457,12L15.27301,12C13.46538,11.999999784513,12,13.46538,12,15.27301L12,32.6318C11.999209911,34.44,13.46482,35.9063,15.27301,35.9063L29.0457,35.9063C30.8541,35.9063,32.3201,34.4403,32.3201,32.6318L32.3201,26.3789L27.3699,31.3292ZM17.74958,20.06886C17.25443,20.06886,16.85304,19.66746,16.85304,19.17232C16.85304,18.67717,17.25443,18.27578,17.74958,18.27578L23.1288,18.27578C23.624000000000002,18.27578,24.025399999999998,18.67717,24.025399999999998,19.17232C24.025399999999998,19.66746,23.624000000000002,20.06886,23.1288,20.06886L17.74958,20.06886Z" fill="#FFFFFF" fill-opacity="1"/></g><g transform="matrix(0.7071067690849304,0.7071067690849304,-0.7071067690849304,0.7071067690849304,23.826460884525744,-18.843463462634503)"><rect x="34.65930366516113" y="19.33935022354126" width="1.8960309028625488" height="14.49763011932373" rx="0.9480154514312744" fill="#FFFFFF" fill-opacity="1"/></g></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
public/images/apply/robot.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25405"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#FFC835" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25405)"><g><g><rect x="12" y="26.31494140625" width="1.8119423389434814" height="7.173644542694092" rx="0.9059711694717407" fill="#FFFFFF" fill-opacity="1"/></g><g><rect x="34.18804931640625" y="26.31494140625" width="1.8119423389434814" height="7.173644542694092" rx="0.9059711694717407" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M29.53465,20.54139L31.35485,17.38422C31.41525,17.38422,31.47695,17.39383,31.53875,17.39383C32.931349999999995,17.39648,33.97485,16.118949999999998,33.69415,14.75489C33.41345,13.390835,31.95045,12.629057,30.67195,13.181321C29.393549999999998,13.733585,28.94525,15.32101,29.74605,16.4604L27.76795,19.89211C25.287950000000002,19.2077,22.669629999999998,19.20201,20.18666,19.87564L18.21274,16.46315C19.0135,15.32376,18.56525,13.73633,17.28679,13.184066C16.00834,12.631803,14.545278,13.393581,14.2646052,14.75764C13.983932,16.1217,15.02738,17.39923,16.42001,17.39657C16.48179,17.39657,16.542180000000002,17.39657,16.60258,17.386960000000002L18.417270000000002,20.529040000000002C16.05625,21.62718,14.483158,23.3979,14.36648,25.4172L14.356871,25.4172L14.356871,33.289500000000004C14.356871,34.7254,15.52087,35.889399999999995,16.95673,35.889399999999995L30.96905,35.889399999999995C32.40495,35.889399999999995,33.56895,34.7254,33.56895,33.289500000000004L33.56895,25.4172L33.559349999999995,25.4172C33.444050000000004,23.4048,31.88195,21.636789999999998,29.53465,20.54139ZM27.063850000000002,29.5105L20.86888,29.5105C19.89243,29.5105,19.10087,28.718899999999998,19.10087,27.7425C19.10087,26.766,19.89243,25.9745,20.86888,25.9745L27.05695,25.9745C28.03335,25.9745,28.82495,26.766,28.82495,27.7425C28.82495,28.718899999999998,28.03335,29.5105,27.05695,29.5105L27.063850000000002,29.5105Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
41
public/images/apply/scan.svg
Normal file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#72A1F7;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M20.3,35.8h-4.7c-1.9,0-3.4-1.5-3.4-3.4v-4.7c0-0.4,0.3-0.8,0.8-0.8s0.8,0.3,0.8,0.8v4.7
|
||||
c0,1.1,0.9,1.9,1.9,1.9h4.7c0.4,0,0.8,0.3,0.8,0.8S20.7,35.8,20.3,35.8z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M13,21.1c-0.4,0-0.8-0.3-0.8-0.8v-4.7c0-1.9,1.5-3.4,3.4-3.4h4.7c0.4,0,0.8,0.3,0.8,0.8s-0.3,0.8-0.8,0.8
|
||||
h-4.7c-1.1,0-1.9,0.9-1.9,1.9v4.7C13.8,20.7,13.4,21.1,13,21.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M35,21.1c-0.4,0-0.8-0.3-0.8-0.8v-4.7c0-1.1-0.9-1.9-1.9-1.9h-4.7c-0.4,0-0.8-0.3-0.8-0.8s0.3-0.8,0.8-0.8
|
||||
h4.7c1.9,0,3.4,1.5,3.4,3.4v4.7C35.8,20.7,35.4,21.1,35,21.1z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M32.3,35.8h-4.7c-0.4,0-0.8-0.3-0.8-0.8s0.3-0.8,0.8-0.8h4.7c1.1,0,1.9-0.9,1.9-1.9v-4.7
|
||||
c0-0.4,0.3-0.8,0.8-0.8s0.8,0.3,0.8,0.8v4.7C35.8,34.2,34.2,35.8,32.3,35.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M29.5,16.5H18.5c-1.1,0-1.9,0.9-1.9,1.9v11.1c0,1.1,0.9,1.9,1.9,1.9h11.1c1.1,0,1.9-0.9,1.9-1.9V18.5
|
||||
C31.5,17.4,30.6,16.5,29.5,16.5z M27.7,24.8h-7.3c-0.4,0-0.8-0.3-0.8-0.8s0.3-0.8,0.8-0.8h7.3c0.4,0,0.8,0.3,0.8,0.8
|
||||
S28.1,24.8,27.7,24.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
18
public/images/apply/setting.svg
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#72A1F7;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<path class="st1" d="M34.6,26.5c-1.9-1.1-1.9-3.8,0-4.9c0.6-0.3,0.8-1.1,0.5-1.7l-1.9-3.3c-0.3-0.6-1.1-0.8-1.7-0.5
|
||||
c-1.9,1.1-4.3-0.3-4.3-2.5c0-0.7-0.6-1.3-1.3-1.3h-3.8c-0.7,0-1.3,0.6-1.3,1.3c0,2.2-2.4,3.6-4.3,2.5l0,0c-0.6-0.3-1.4-0.1-1.7,0.5
|
||||
L13,19.8c-0.3,0.6-0.1,1.4,0.5,1.7l0,0c1.9,1.1,1.9,3.8,0,4.9c-0.6,0.3-0.8,1.1-0.5,1.7l1.9,3.3c0.3,0.6,1.1,0.8,1.7,0.5
|
||||
c1.9-1.1,4.3,0.3,4.3,2.5v0c0,0.7,0.6,1.3,1.3,1.3h3.8c0.7,0,1.3-0.6,1.3-1.3v0c0-2.2,2.4-3.6,4.3-2.5h0c0.6,0.3,1.4,0.1,1.7-0.5
|
||||
l1.9-3.3C35.4,27.6,35.2,26.8,34.6,26.5z M24,26.6c-1.4,0-2.6-1.2-2.6-2.6c0-1.4,1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6
|
||||
C26.6,25.4,25.4,26.6,24,26.6z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
1
public/images/apply/signin.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25526"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#72A1F7" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25526)"><g><g><path d="M34.0464,21.911920000000002C34.0464,16.439700000000002,29.336,12,23.523899999999998,12C17.71187,12,13,16.43682,13,21.911920000000002C13,24.689799999999998,14.21541,27.1998,16.16813,28.9999L23.5211,36L30.7962,29.0676C30.9402,28.9365,31.0842,28.8026,31.2196,28.6643C33.0192,26.8769,34.0359,24.4483,34.0464,21.911920000000002ZM23.397199999999998,26.7015C20.95156,26.6984,18.97124,24.7138,18.97336,22.2681C18.97548,19.82244,20.959229999999998,17.84126,23.404899999999998,17.84232C25.8506,17.84338,27.8326,19.82627,27.8326,22.271900000000002C27.8326,24.720599999999997,25.8459,26.704700000000003,23.397199999999998,26.7015Z" fill="#FFFFFF" fill-opacity="1"/></g><g><ellipse cx="23.397215843200684" cy="22.271930694580078" rx="2.733229160308838" ry="2.733229160308838" fill="#FFFFFF" fill-opacity="1"/></g></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@ -5,12 +5,13 @@
|
||||
:closable="escClosable"
|
||||
:mask-closable="maskClosable"
|
||||
:footer-hide="true"
|
||||
:transition-names="[$A.isAndroid() ? '' : `drawer-slide-${placement}`, '']"
|
||||
:transition-names="[$A.isAndroid() ? '' : `drawer-slide-${transitionName}`, '']"
|
||||
:beforeClose="beforeClose"
|
||||
fullscreen
|
||||
:class-name="modalClass">
|
||||
<DrawerOverlayView
|
||||
:placement="placement"
|
||||
<slot v-if="isFullscreen" />
|
||||
<DrawerOverlayView v-else
|
||||
:placement="transitionName"
|
||||
:size="size"
|
||||
:minSize="minSize"
|
||||
:resize="resize"
|
||||
@ -26,11 +27,20 @@ body {
|
||||
&.common-drawer-overlay {
|
||||
overflow: hidden;
|
||||
}
|
||||
&.common-drawer-modal{
|
||||
.ivu-modal-body{
|
||||
padding: 0;
|
||||
}
|
||||
.ivu-modal-close{
|
||||
z-index: 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
import DrawerOverlayView from "./view";
|
||||
import {mapState} from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'DrawerOverlay',
|
||||
@ -74,6 +84,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
show: this.value,
|
||||
isFullscreen: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@ -82,17 +93,30 @@ export default {
|
||||
},
|
||||
show(v) {
|
||||
this.value !== v && this.$emit("input", v)
|
||||
},
|
||||
windowWidth(val){
|
||||
this.isFullscreen = val < 500
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState([ 'windowWidth' ]),
|
||||
transitionName(){
|
||||
return this.isFullscreen ? 'bottom' : this.placement
|
||||
},
|
||||
modalClass() {
|
||||
if(this.isFullscreen){
|
||||
return "common-drawer-modal"
|
||||
}
|
||||
if (this.className) {
|
||||
return `common-drawer-overlay ${this.className} ${this.placement}`
|
||||
return `common-drawer-overlay ${this.className} ${this.transitionName}`
|
||||
} else {
|
||||
return `common-drawer-overlay ${this.placement}`
|
||||
return `common-drawer-overlay ${this.transitionName}`
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.isFullscreen = this.windowWidth < 515
|
||||
},
|
||||
methods: {
|
||||
onClose() {
|
||||
this.$refs.modal.close();
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
<div class="more-item">
|
||||
<i class="taskfont" v-html="item.icon"></i>
|
||||
<div class="tabbar-title">{{$L(item.label)}}</div>
|
||||
<Badge v-if="item.name === 'workReport'" class="tabbar-badge" :overflow-count="999" :count="reportUnreadNumber"/>
|
||||
<Badge v-if="item.name === 'workReport'" class="tabbar-badge" :overflow-count="999" :count="reportUnreadNumber + approveUnreadNumber"/>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
@ -30,6 +30,9 @@
|
||||
<template v-else-if="item.name === 'dialog'">
|
||||
<Badge class="tabbar-badge" :overflow-count="999" :text="msgUnreadMention"/>
|
||||
</template>
|
||||
<template v-else-if="item.name === 'apply'">
|
||||
<Badge class="tabbar-badge" :overflow-count="999" :count="reportUnreadNumber + approveUnreadNumber"/>
|
||||
</template>
|
||||
<template v-else-if="item.name === 'more'">
|
||||
<Badge class="tabbar-badge" :overflow-count="999" :count="reportUnreadNumber"/>
|
||||
</template>
|
||||
@ -68,7 +71,8 @@ export default {
|
||||
{icon: '', name: 'project', label: '项目'},
|
||||
{icon: '', name: 'dialog', label: '消息'},
|
||||
{icon: '', name: 'contacts', label: '通讯录'},
|
||||
{icon: '', name: 'more', label: '更多'},
|
||||
{icon: '', name: 'apply', label: '应用'},
|
||||
// {icon: '', name: 'more', label: '更多'},
|
||||
],
|
||||
navMore: [
|
||||
[
|
||||
@ -112,7 +116,7 @@ export default {
|
||||
},
|
||||
|
||||
computed: {
|
||||
...mapState(['userIsAdmin', 'cacheDialogs', 'reportUnreadNumber']),
|
||||
...mapState(['userIsAdmin', 'cacheDialogs', 'reportUnreadNumber', 'approveUnreadNumber']),
|
||||
...mapGetters(['dashboardTask']),
|
||||
|
||||
routeName() {
|
||||
@ -200,8 +204,9 @@ export default {
|
||||
},
|
||||
|
||||
activeName() {
|
||||
if (this.isMore || ['manage-calendar', 'manage-file', 'manage-setting'].includes(this.routeName)) {
|
||||
return 'more';
|
||||
if (this.isMore || ['manage-calendar', 'manage-file', 'manage-setting', 'manage-apply', 'manage-approve'].includes(this.routeName)) {
|
||||
// return 'more';
|
||||
return 'apply';
|
||||
}
|
||||
|
||||
if (this.routeName === 'manage-dashboard') {
|
||||
|
||||
@ -11,8 +11,7 @@
|
||||
<UserAvatar :userid="userId" :size="36" tooltipDisabled/>
|
||||
</div>
|
||||
<span>{{userInfo.nickname}}</span>
|
||||
<Badge v-if="(reportUnreadNumber + approveUnreadNumber) > 0" class="manage-box-top-report" :overflow-count="999" :count="reportUnreadNumber + approveUnreadNumber"/>
|
||||
<Badge v-else-if="!!clientNewVersion" class="manage-box-top-report" dot/>
|
||||
<Badge v-if="!!clientNewVersion" class="manage-box-top-report" dot/>
|
||||
<div class="manage-box-arrow">
|
||||
<Icon type="ios-arrow-up" />
|
||||
<Icon type="ios-arrow-down" />
|
||||
@ -57,18 +56,11 @@
|
||||
<DropdownItem :divided="!!item.divided">
|
||||
<div class="manage-menu-flex">
|
||||
{{$L(item.name)}}
|
||||
<Badge v-if="reportUnreadNumber > 0" class="manage-menu-report-badge" :overflow-count="999" :count="reportUnreadNumber"/>
|
||||
<Icon v-else type="ios-arrow-forward"></Icon>
|
||||
<Icon type="ios-arrow-forward"></Icon>
|
||||
</div>
|
||||
</DropdownItem>
|
||||
<DropdownMenu slot="list">
|
||||
<DropdownItem name="allUser">{{$L('团队管理')}}</DropdownItem>
|
||||
<DropdownItem name="workReport">
|
||||
<div class="manage-menu-flex">
|
||||
{{$L('工作报告')}}
|
||||
<Badge v-if="reportUnreadNumber > 0" class="manage-menu-report-badge" :overflow-count="999" :count="reportUnreadNumber"/>
|
||||
</div>
|
||||
</DropdownItem>
|
||||
<DropdownItem name="exportTask">{{$L('导出任务统计')}}</DropdownItem>
|
||||
<DropdownItem name="exportOverdueTask">{{$L('导出超期任务')}}</DropdownItem>
|
||||
<DropdownItem name="exportApprove">{{$L('导出审批数据')}}</DropdownItem>
|
||||
@ -123,6 +115,11 @@
|
||||
<i class="taskfont"></i>
|
||||
<div class="menu-title">{{$L('文件')}}</div>
|
||||
</li>
|
||||
<li @click="toggleRoute('apply')" :class="classNameRoute('apply')">
|
||||
<i class="taskfont"></i>
|
||||
<div class="menu-title">{{$L('应用')}}</div>
|
||||
<Badge class="menu-badge" :overflow-count="999" :text="String((reportUnreadNumber + approveUnreadNumber) || '')"/>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div ref="menuProject" class="menu-project">
|
||||
@ -200,7 +197,7 @@
|
||||
|
||||
<div class="manage-box-main">
|
||||
<keep-alive>
|
||||
<router-view class="manage-box-view"></router-view>
|
||||
<router-view class="manage-box-view" @on-click="onTabbarClick"></router-view>
|
||||
</keep-alive>
|
||||
</div>
|
||||
|
||||
@ -564,12 +561,10 @@ export default {
|
||||
{path: 'archivedProject', name: '已归档的项目'},
|
||||
|
||||
{path: 'team', name: '团队管理', divided: true},
|
||||
{path: 'approve', name: '审批中心'},
|
||||
])
|
||||
} else {
|
||||
array.push(...[
|
||||
{path: 'personal', name: '个人设置', divided: true},
|
||||
{path: 'approve', name: '审批中心'},
|
||||
{path: 'version', name: '更新版本', divided: true, visible: !!this.clientNewVersion},
|
||||
|
||||
{path: 'workReport', name: '工作报告', divided: true},
|
||||
@ -625,7 +620,7 @@ export default {
|
||||
if (this.routeName === 'manage-project' && !/^\d+$/.test(this.$route.params.projectId)) {
|
||||
return true;
|
||||
}
|
||||
return ['manage-dashboard', 'manage-calendar', 'manage-messenger', 'manage-file', 'manage-setting'].includes(this.routeName)
|
||||
return ['manage-dashboard', 'manage-calendar', 'manage-messenger', 'manage-file', 'manage-setting', 'manage-approve', 'manage-apply'].includes(this.routeName)
|
||||
},
|
||||
},
|
||||
|
||||
@ -818,8 +813,12 @@ export default {
|
||||
},
|
||||
|
||||
classNameRoute(path) {
|
||||
let routeName = this.routeName
|
||||
if(routeName == 'manage-approve'){
|
||||
routeName = `manage-apply`
|
||||
}
|
||||
return {
|
||||
"active": this.routeName === `manage-${path}`,
|
||||
"active": routeName === `manage-${path}`,
|
||||
};
|
||||
},
|
||||
|
||||
|
||||
406
resources/assets/js/pages/manage/apply.vue
Normal file
@ -0,0 +1,406 @@
|
||||
<template>
|
||||
<div class="page-apply">
|
||||
|
||||
<PageTitle :title="$L('应用')" />
|
||||
|
||||
<div class="apply-wrapper">
|
||||
<div class="apply-head">
|
||||
<div class="apply-nav">
|
||||
<h1>{{ $L('应用') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="apply-row">
|
||||
<Row :gutter="16">
|
||||
<Col v-if="item.show==undefined || item.show" v-for="(item, key) in applyList" :key="key"
|
||||
:xs="{ span: 8 }"
|
||||
:sm="{ span: 8 }"
|
||||
:lg="{ span: 6 }"
|
||||
:xl="{ span: 4 }"
|
||||
:xxl="{ span: 3 }"
|
||||
>
|
||||
<div class="apply-col">
|
||||
<div @click="applyClick(item)">
|
||||
<img :src="item.src">
|
||||
<p>{{ item.label }}</p>
|
||||
<!-- 审批中心 -->
|
||||
<Badge v-if="item.value == 'approve' && approveUnreadNumber > 0" class="manage-box-top-report"
|
||||
:overflow-count="999" :count="approveUnreadNumber" />
|
||||
<!-- 工作报告 -->
|
||||
<Badge v-if="item.value == 'report' && reportUnreadNumber > 0" class="manage-box-top-report"
|
||||
:overflow-count="999" :count="reportUnreadNumber" />
|
||||
</div>
|
||||
</div>
|
||||
</Col>
|
||||
</Row>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--工作报告-->
|
||||
<DrawerOverlay v-model="workReportShow" placement="right" :size="1200">
|
||||
<Report v-if="workReportShow" v-model="workReportTabs" @on-read="$store.dispatch('getReportUnread', 1000)" />
|
||||
</DrawerOverlay>
|
||||
|
||||
<!--AI机器人-->
|
||||
<DrawerOverlay v-model="aibotShow" placement="right" :size="600">
|
||||
<div class="ivu-modal-wrap-apply">
|
||||
<div class="ivu-modal-wrap-apply-title">
|
||||
{{ $L('AI机器人') }}
|
||||
<p @click="aibotType = aibotType == 1 ? 2 : 1" v-if="userIsAdmin">
|
||||
{{ aibotType == 1 ? $L('机器人设置') : $L('返回') }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="ivu-modal-wrap-apply-body">
|
||||
<ul class="ivu-modal-wrap-ul" v-if="aibotType == 1">
|
||||
<li v-for="(item, key) in aibotList" @click="onGoToChat(item.value)" :key="key">
|
||||
<img :src="item.src">
|
||||
<h4>{{ item.label }}</h4>
|
||||
<p>{{ item.desc }}</p>
|
||||
<p class="btn">{{ $L('去聊天') }}</p>
|
||||
<div class="load" v-if="aibotDialogSearchLoad == item.value">
|
||||
<Loading />
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<Tabs v-else v-model="aibotTabAction">
|
||||
<TabPane label="ChatGPT" name="opanai">
|
||||
<div class="aibot-warp">
|
||||
<SystemAibot type="ChatGPT" v-if="aibotTabAction == 'opanai'" />
|
||||
</div>
|
||||
</TabPane>
|
||||
<TabPane label="Claude" name="claude">
|
||||
<div class="aibot-warp">
|
||||
<SystemAibot type="Claude" v-if="aibotTabAction == 'claude'" />
|
||||
</div>
|
||||
</TabPane>
|
||||
<TabPane label="文心一言" name="wenxin">
|
||||
<div class="aibot-warp">
|
||||
<SystemAibot type="Wenxin" v-if="aibotTabAction == 'wenxin'" />
|
||||
</div>
|
||||
</TabPane>
|
||||
<TabPane label="通义千问" name="qianwen">
|
||||
<div class="aibot-warp">
|
||||
<SystemAibot type="Qianwen" v-if="aibotTabAction == 'qianwen'" />
|
||||
</div>
|
||||
</TabPane>
|
||||
</Tabs>
|
||||
</div>
|
||||
</div>
|
||||
</DrawerOverlay>
|
||||
|
||||
<!--签到-->
|
||||
<DrawerOverlay v-model="signInShow" placement="right" :size="700">
|
||||
<div class="ivu-modal-wrap-apply">
|
||||
<div class="ivu-modal-wrap-apply-title">
|
||||
{{ $L('签到管理') }}
|
||||
<p @click="signType = signType == 1 ? 2 : 1" v-if="userIsAdmin">
|
||||
{{ signType == 1 ? $L('系统设置') : $L('返回') }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="ivu-modal-wrap-apply-body">
|
||||
<Checkin v-if="signType == 1" />
|
||||
<SystemCheckin v-else />
|
||||
</div>
|
||||
</div>
|
||||
</DrawerOverlay>
|
||||
|
||||
<!-- 会议 -->
|
||||
<DrawerOverlay v-model="meetingShow" placement="right" :size="600">
|
||||
<div class="ivu-modal-wrap-apply">
|
||||
<div class="ivu-modal-wrap-apply-title">
|
||||
{{ $L('会议') }}
|
||||
<p @click="meetingType = meetingType == 1 ? 2 : 1">
|
||||
{{ meetingType == 1 ? $L('会议设置') : $L('返回') }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="ivu-modal-wrap-apply-body">
|
||||
<ul class="ivu-modal-wrap-ul" v-if="meetingType == 1">
|
||||
<li @click="onMeeting('createMeeting')">
|
||||
<img :src="$A.apiUrl('../images/apply/meeting.svg')">
|
||||
<h4>{{ $L('新会议') }}</h4>
|
||||
<p>{{ $L('创建一个全新的会议视频会议,与会者可以在实时中进行面对面的视听交流。通过视频会议平台,参与者可以分享屏幕、共享文档,并与其他与会人员进行讨论和协。作') }}</p>
|
||||
<p class="btn">{{ $L('新建会议') }}</p>
|
||||
</li>
|
||||
<li @click="onMeeting('joinMeeting')">
|
||||
<img :src="$A.apiUrl('../images/apply/joinMeeting.svg')">
|
||||
<h4>{{ $L('加入会议') }}</h4>
|
||||
<p>{{ $L('加入视频会议,参与已经创建的会议,在会议过程中与其他参会人员进行远程实时视听交流和协作。') }}</p>
|
||||
<p class="btn">{{ $L('加入会议') }}</p>
|
||||
</li>
|
||||
</ul>
|
||||
<SystemMeeting v-else />
|
||||
</div>
|
||||
</div>
|
||||
</DrawerOverlay>
|
||||
|
||||
<!--LDAP-->
|
||||
<DrawerOverlay v-model="ldapShow" placement="right" :size="700">
|
||||
<div class="ivu-modal-wrap-apply">
|
||||
<div class="ivu-modal-wrap-apply-title">
|
||||
{{ $L('LDAP设置') }}
|
||||
</div>
|
||||
<div class="ivu-modal-wrap-apply-body">
|
||||
<SystemThirdAccess />
|
||||
</div>
|
||||
</div>
|
||||
</DrawerOverlay>
|
||||
|
||||
<!--邮件-->
|
||||
<DrawerOverlay v-model="mailShow" placement="right" :size="700">
|
||||
<div class="ivu-modal-wrap-apply">
|
||||
<div class="ivu-modal-wrap-apply-title">
|
||||
{{ $L('邮件管理') }}
|
||||
</div>
|
||||
<div class="ivu-modal-wrap-apply-body">
|
||||
<SystemEmailSetting />
|
||||
</div>
|
||||
</div>
|
||||
</DrawerOverlay>
|
||||
|
||||
<!--app推送-->
|
||||
<DrawerOverlay v-model="appPushShow" placement="right" :size="700">
|
||||
<div class="ivu-modal-wrap-apply">
|
||||
<div class="ivu-modal-wrap-apply-title">
|
||||
{{ $L('APP推送') }}
|
||||
</div>
|
||||
<div class="ivu-modal-wrap-apply-body">
|
||||
<SystemAppPush />
|
||||
</div>
|
||||
</div>
|
||||
</DrawerOverlay>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from "vuex";
|
||||
import DrawerOverlay from "../../components/DrawerOverlay";
|
||||
import UserSelect from "../../components/UserSelect";
|
||||
import Report from "../manage/components/Report";
|
||||
import SystemAibot from "./setting/components/SystemAibot";
|
||||
import SystemCheckin from "./setting/components/SystemCheckin";
|
||||
import Checkin from "./setting/checkin";
|
||||
import SystemMeeting from "./setting/components/SystemMeeting";
|
||||
import SystemThirdAccess from "./setting/components/SystemThirdAccess";
|
||||
import SystemEmailSetting from "./setting/components/SystemEmailSetting";
|
||||
import SystemAppPush from "./setting/components/SystemAppPush";
|
||||
import { Store } from "le5le-store";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
UserSelect,
|
||||
DrawerOverlay,
|
||||
Report,
|
||||
SystemAibot,
|
||||
SystemCheckin,
|
||||
Checkin,
|
||||
SystemMeeting,
|
||||
SystemThirdAccess,
|
||||
SystemEmailSetting,
|
||||
SystemAppPush
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
applyList: [],
|
||||
//
|
||||
workReportShow: false,
|
||||
workReportTabs: "my",
|
||||
//
|
||||
aibotList: [
|
||||
{
|
||||
value: "openai",
|
||||
label: "ChatGPT",
|
||||
src: $A.apiUrl('../images/avatar/default_openai.png'),
|
||||
desc: this.$L('我是一个人工智能助手,为用户提供问题解答和指导。我没有具体的身份,只是一个程序。您有什么问题可以问我哦?')
|
||||
},
|
||||
{
|
||||
value: "claude",
|
||||
label: "Claude",
|
||||
src: $A.apiUrl('../images/avatar/default_claude.png'),
|
||||
desc: this.$L('我是Claude,一个由Anthropic公司创造出来的AI助手机器人。我的工作是帮助人类,与人对话并给出解答。')
|
||||
},
|
||||
{
|
||||
value: "wenxin",
|
||||
label: "Wenxin",
|
||||
src: $A.apiUrl('../avatar/Wenxin.png'),
|
||||
desc: this.$L('我是文心一言,英文名是ERNIE Bot。我能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。')
|
||||
},
|
||||
{
|
||||
value: "qianwen",
|
||||
label: "Qianwen",
|
||||
src: $A.apiUrl('../avatar/%E9%80%9A%E4%B9%89%E5%8D%83%E9%97%AE.png'),
|
||||
desc: this.$L('我是达摩院自主研发的超大规模语言模型,能够回答问题、创作文字,还能表达观点、撰写代码。')
|
||||
},
|
||||
],
|
||||
aibotTabAction: "opanai",
|
||||
aibotShow: false,
|
||||
aibotType: 1,
|
||||
aibotDialogSearchLoad: "",
|
||||
//
|
||||
signInShow: false,
|
||||
signType: 1,
|
||||
//
|
||||
meetingShow: false,
|
||||
meetingType: 1,
|
||||
//
|
||||
ldapShow: false,
|
||||
//
|
||||
mailType: 1,
|
||||
mailShow: false,
|
||||
//
|
||||
appPushType: 1,
|
||||
appPushShow: false,
|
||||
}
|
||||
},
|
||||
|
||||
created() {
|
||||
},
|
||||
|
||||
mounted() {
|
||||
|
||||
},
|
||||
|
||||
activated() {
|
||||
this.applyList = [
|
||||
{ value: "approve", label: "审批中心", src: $A.apiUrl('../images/apply/approve.svg') },
|
||||
{ value: "report", label: "工作报告", src: $A.apiUrl('../images/apply/report.svg') },
|
||||
{ value: "ai", label: "AI机器人", src: $A.apiUrl('../images/apply/robot.svg') },
|
||||
{ value: "signIn", label: "签到", src: $A.apiUrl('../images/apply/signin.svg') },
|
||||
{ value: "meeting", label: "会议", src: $A.apiUrl('../images/apply/meeting.svg'), show: this.userIsAdmin },
|
||||
{ value: "ldap", label: "LDAP", src: $A.apiUrl('../images/apply/ldap.svg'), show: this.userIsAdmin },
|
||||
{ value: "mail", label: "邮件", src: $A.apiUrl('../images/apply/mail.svg'), show: this.userIsAdmin },
|
||||
{ value: "appPush", label: "APP推送", src: $A.apiUrl('../images/apply/apppush.svg'), show: this.userIsAdmin },
|
||||
{ value: "allUser", label: "团队管理", src: $A.apiUrl('../images/apply/allUser.svg'), show: this.userIsAdmin },
|
||||
];
|
||||
if (this.windowOrientation == 'portrait') {
|
||||
this.applyList.push({ value: "calendar", label: "日历", src: $A.apiUrl('../images/apply/calendar.svg') })
|
||||
this.applyList.push({ value: "file", label: "文件", src: $A.apiUrl('../images/apply/file.svg') })
|
||||
this.applyList.push({ value: "addProject", label: "创建项目", src: $A.apiUrl('../images/apply/addProject.svg') })
|
||||
this.applyList.push({ value: "addTask", label: "添加任务", src: $A.apiUrl('../images/apply/addTask.svg') })
|
||||
if ($A.isEEUiApp) {
|
||||
this.applyList.push({ value: "scan", label: "扫一扫", src: $A.apiUrl('../images/apply/scan.svg') })
|
||||
}
|
||||
this.applyList.push({ value: "setting", label: "设置", src: $A.apiUrl('../images/apply/setting.svg') })
|
||||
}
|
||||
},
|
||||
|
||||
computed: {
|
||||
...mapState([
|
||||
'userInfo',
|
||||
'userIsAdmin',
|
||||
|
||||
'reportUnreadNumber',
|
||||
'approveUnreadNumber',
|
||||
|
||||
'cacheDialogs',
|
||||
|
||||
'windowOrientation',
|
||||
]),
|
||||
|
||||
},
|
||||
|
||||
watch: {
|
||||
|
||||
},
|
||||
|
||||
methods: {
|
||||
applyClick(item) {
|
||||
this.$emit("on-click", item.value)
|
||||
switch (item.value) {
|
||||
case 'approve':
|
||||
case 'calendar':
|
||||
case 'file':
|
||||
case 'setting':
|
||||
this.goForward({ name: 'manage-' + item.value });
|
||||
break;
|
||||
case 'report':
|
||||
this.workReportShow = true;
|
||||
break;
|
||||
case 'ai':
|
||||
this.aibotType = 1;
|
||||
this.aibotTabAction = "opanai";
|
||||
this.aibotShow = true;
|
||||
break;
|
||||
case 'signIn':
|
||||
this.signInType = 1;
|
||||
this.signInShow = true;
|
||||
break;
|
||||
case 'meeting':
|
||||
this.meetingType = 1;
|
||||
this.meetingShow = true;
|
||||
break;
|
||||
case 'ldap':
|
||||
this.ldapShow = true;
|
||||
break;
|
||||
case 'mail':
|
||||
this.mailType = 1;
|
||||
this.mailShow = true;
|
||||
break;
|
||||
case 'appPush':
|
||||
this.appPushType = 1;
|
||||
this.appPushShow = true;
|
||||
break;
|
||||
}
|
||||
},
|
||||
// 去聊天
|
||||
onGoToChat(type) {
|
||||
let dialogId = 0;
|
||||
let email = `ai-${type}@bot.system`;
|
||||
this.cacheDialogs.map(h => {
|
||||
if (h.email == email) {
|
||||
dialogId = h.id;
|
||||
}
|
||||
})
|
||||
if (dialogId) {
|
||||
if (this.windowOrientation == 'portrait') {
|
||||
this.$store.dispatch("openDialog", dialogId)
|
||||
} else {
|
||||
this.goForward({ name: 'manage-messenger', params: { dialog_id: dialogId } });
|
||||
}
|
||||
this.aibotShow = false;
|
||||
} else {
|
||||
this.aibotDialogSearchLoad = type;
|
||||
this.$store.dispatch("call", {
|
||||
url: 'dialog/search',
|
||||
data: { key: email },
|
||||
}).then(({ data }) => {
|
||||
if (data?.length < 1) {
|
||||
$A.messageError('机器人暂未开启');
|
||||
this.aibotDialogSearchLoad = '';
|
||||
return;
|
||||
}
|
||||
this.$store.dispatch("openDialogUserid", data[0]?.dialog_user.userid).then(_ => {
|
||||
if (this.windowOrientation != 'portrait') {
|
||||
this.goForward({ name: 'manage-messenger' })
|
||||
}
|
||||
this.aibotShow = false;
|
||||
}).catch(({ msg }) => {
|
||||
$A.modalError(msg)
|
||||
}).finally(_ => {
|
||||
this.aibotDialogSearchLoad = '';
|
||||
});
|
||||
}).catch(_ => {
|
||||
this.aibotDialogSearchLoad = '';
|
||||
});
|
||||
}
|
||||
},
|
||||
// 会议
|
||||
onMeeting(name) {
|
||||
switch (name) {
|
||||
case 'createMeeting':
|
||||
Store.set('addMeeting', {
|
||||
type: 'create',
|
||||
userids: [this.userId],
|
||||
});
|
||||
break;
|
||||
case 'joinMeeting':
|
||||
Store.set('addMeeting', {
|
||||
type: 'join',
|
||||
});
|
||||
break;
|
||||
}
|
||||
this.meetingShow = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -1,5 +1,12 @@
|
||||
<template>
|
||||
<div class="approve-details" :style="{'z-index':modalTransferIndex}">
|
||||
<!-- 导航 -->
|
||||
<div class="approve-details-nav">
|
||||
<div class="common-nav-back" @click="goBack()">
|
||||
<i class="taskfont"></i>
|
||||
</div>
|
||||
<h2>{{$L('审批详情')}}</h2>
|
||||
</div>
|
||||
<!-- 审批详情 -->
|
||||
<div class="approve-details-box" ref="approveDetailsBox">
|
||||
<h2 class="approve-details-title">
|
||||
|
||||
@ -5,12 +5,27 @@
|
||||
|
||||
<div class="approve-head">
|
||||
<div class="approve-nav">
|
||||
<div class="common-nav-back" @click="goBack()"><i class="taskfont"></i></div>
|
||||
<h1>{{$L('审批中心')}}</h1>
|
||||
</div>
|
||||
<Button :loading="addLoadIng" type="primary" @click="addApply">{{$L("添加申请")}}</Button>
|
||||
<Button v-if="showType == 1" :loading="addLoadIng" type="primary" @click="addApply">
|
||||
<span v-if="!isShowIcon"> {{$L("添加申请")}} </span>
|
||||
<i v-else class="taskfont"></i>
|
||||
</Button>
|
||||
<Button v-if="showType == 1 && userIsAdmin" @click="exportApproveShow = true">
|
||||
<span v-if="!isShowIcon"> {{$L("导出审批数据")}} </span>
|
||||
<i v-else class="taskfont"></i>
|
||||
</Button>
|
||||
<Button v-if="userIsAdmin" @click="showType = showType == 1 ? 2 : 1">
|
||||
<span v-if="!isShowIcon"> {{ showType == 1 ? $L("流程设置") : $L("返回") }} </span>
|
||||
<template v-else>
|
||||
<i v-if="showType == 1" class="taskfont"></i>
|
||||
<i v-else class="taskfont"></i>
|
||||
</template>
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<Tabs :value="tabsValue" @on-click="tabsClick" style="margin: 0 20px;height: 100%;" size="small">
|
||||
|
||||
<Tabs v-if="showType==1" :value="tabsValue" @on-click="tabsClick" style="margin: 0 20px;height: 100%;" size="small">
|
||||
<TabPane :label="$L('待办') + (unreadTotal > 0 ? ('('+unreadTotal+')') : '')" name="unread" style="height: 100%;">
|
||||
<div class="approve-main-search">
|
||||
<div>
|
||||
@ -132,6 +147,8 @@
|
||||
</TabPane>
|
||||
</Tabs>
|
||||
|
||||
<ApproveSetting v-else/>
|
||||
|
||||
</div>
|
||||
|
||||
<!--详情-->
|
||||
@ -206,6 +223,9 @@
|
||||
</div>
|
||||
</Modal>
|
||||
|
||||
<!--导出审批数据-->
|
||||
<ApproveExport v-model="exportApproveShow"/>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -214,13 +234,18 @@ import list from "./list.vue";
|
||||
import listDetails from "./details.vue";
|
||||
import DrawerOverlay from "../../../components/DrawerOverlay";
|
||||
import ImgUpload from "../../../components/ImgUpload";
|
||||
import ApproveSetting from "./setting";
|
||||
import ApproveExport from "../components/ApproveExport";
|
||||
import {mapState} from 'vuex'
|
||||
|
||||
export default {
|
||||
components:{list,listDetails,DrawerOverlay,ImgUpload},
|
||||
components:{list,listDetails,DrawerOverlay,ImgUpload,ApproveSetting,ApproveExport},
|
||||
name: "approve",
|
||||
data() {
|
||||
return {
|
||||
showType: 1,
|
||||
exportApproveShow: false,
|
||||
isShowIcon: false,
|
||||
modalTransferIndex: window.modalTransferIndex,
|
||||
|
||||
minDate: new Date(2020, 0, 1),
|
||||
@ -306,7 +331,7 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState([ 'wsMsg','userInfo','userIsAdmin' ]),
|
||||
...mapState([ 'wsMsg','userInfo','userIsAdmin','windowWidth' ]),
|
||||
departmentList(){
|
||||
let departmentNames = (this.userInfo.department_name || '').split(',');
|
||||
return (this.userInfo.department || []).map((h,index)=>{
|
||||
@ -340,6 +365,14 @@ export default {
|
||||
if(!val){
|
||||
this.addData.other = ""
|
||||
}
|
||||
},
|
||||
showType(val){
|
||||
if(val == 1){
|
||||
this.tabsClick()
|
||||
}
|
||||
},
|
||||
windowWidth(val){
|
||||
this.isShowIcon = val < 515
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@ -348,6 +381,7 @@ export default {
|
||||
this.getUnreadList()
|
||||
this.addData.department_id = this.userInfo.department[0] || 0;
|
||||
this.addData.startTime = this.addData.endTime = this.getCurrentDate();
|
||||
this.isShowIcon = this.windowWidth < 515
|
||||
},
|
||||
methods:{
|
||||
// 获取当前时间
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
<template>
|
||||
<div class="setting-item submit">
|
||||
<Row class="approve-row" :gutter="8">
|
||||
<Col :xxl="{ span: 6 }" :xl="{ span: 8 }" :lg="{ span: 12 }" :sm="{ span: 24 }" :xs="{ span: 24 }" >
|
||||
<div class="page-approve-setting">
|
||||
<Row class="approve-row" :gutter="16">
|
||||
<Col :xxl="{ span: 6 }" :xl="{ span: 8 }" :lg="{ span: 12 }" :sm="{ span: 12 }" :xs="{ span: 24 }" >
|
||||
<div class="approve-col-box approve-col-add" @click="add">
|
||||
<Icon type="md-add" />
|
||||
</div>
|
||||
</Col>
|
||||
<Col v-for="(item, key) in list" :xxl="{ span: 6 }" :xl="{ span: 8 }" :lg="{ span: 12 }" :sm="{ span: 24 }" :xs="{ span: 24 }" :key="key">
|
||||
<Col v-for="(item, key) in list" :xxl="{ span: 6 }" :xl="{ span: 8 }" :lg="{ span: 12 }" :sm="{ span: 12 }" :xs="{ span: 24 }" :key="key">
|
||||
<div class="approve-col-box approve-col-for" @click="edit(item)">
|
||||
<p>{{$L('流程名称')}}:<span style="font-weight: 500;color: #135de6;">{{$L(item.name)}}</span></p>
|
||||
<Divider style="margin: 12px 0;margin-bottom: 9px;"/>
|
||||
<p>{{$L('流程名称')}}:<span class="approve-name">{{$L(item.name)}}</span></p>
|
||||
<Divider class="divider"/>
|
||||
<div class="approve-button-box" @click.stop="edit(item)">
|
||||
<p>{{$L('已发布')}}</p>
|
||||
<p @click.stop="change(item)" style="position: relative;">
|
||||
<p class="icon-warp" @click.stop="change(item)" >
|
||||
<Icon type="md-trash" size="16" class="delcon"/>
|
||||
</p>
|
||||
</div>
|
||||
@ -33,7 +33,7 @@ import DrawerOverlay from "../../../components/DrawerOverlay";
|
||||
import store from '../../../store/state'
|
||||
import {languageType} from "../../../language";
|
||||
export default {
|
||||
name: "approve",
|
||||
name: "ApproveSetting",
|
||||
components: {DrawerOverlay},
|
||||
data(){
|
||||
return{
|
||||
@ -4,6 +4,7 @@
|
||||
<div class="calendar-head">
|
||||
<div class="calendar-titbox">
|
||||
<div class="calendar-title">
|
||||
<div class="common-nav-back portrait" @click="goBack()"><i class="taskfont"></i></div>
|
||||
<h1>{{rangeText}}</h1>
|
||||
</div>
|
||||
<ButtonGroup class="calendar-arrow" size="small">
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
|
||||
<div class="file-head">
|
||||
<div class="file-nav">
|
||||
<div class="common-nav-back portrait" @click="goBack()"><i class="taskfont"></i></div>
|
||||
<h1>{{$L('文件')}}</h1>
|
||||
<div v-if="loadIng == 0" class="file-refresh" @click="getFileList"><i class="taskfont"></i></div>
|
||||
</div>
|
||||
|
||||
@ -453,6 +453,14 @@ export default {
|
||||
if (['dialog', 'contacts'].includes(params.dialogAction)) {
|
||||
this.tabActive = params.dialogAction
|
||||
}
|
||||
if (params.dialog_id) {
|
||||
this.tabActive = 'dialog'
|
||||
const id = $A.runNum(params.dialog_id);
|
||||
if (id > 0) {
|
||||
this.openDialog(id)
|
||||
}
|
||||
this.clickAgainSubscribe = Store.subscribe('clickAgainDialog', this.shakeUnread);
|
||||
}
|
||||
},
|
||||
immediate: true
|
||||
},
|
||||
|
||||
@ -60,6 +60,7 @@
|
||||
<script>
|
||||
import CheckinCalendar from "../components/CheckinCalendar";
|
||||
export default {
|
||||
name: "ManageCheckin",
|
||||
components: {CheckinCalendar},
|
||||
|
||||
data() {
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="setting-component-item">
|
||||
<Form ref="formData" :model="formData" :rules="ruleData" label-width="auto" @submit.native.prevent>
|
||||
<div class="block-setting-box">
|
||||
<div class="block-setting-box" v-if="type=='all' || type=='ChatGPT'">
|
||||
<h3>ChatGPT</h3>
|
||||
<div class="form-box">
|
||||
<FormItem label="API Key" prop="openai_key">
|
||||
@ -14,7 +14,7 @@
|
||||
</FormItem>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block-setting-box">
|
||||
<div class="block-setting-box" v-if="type=='all' || type=='Claude'">
|
||||
<h3>Claude</h3>
|
||||
<div class="form-box">
|
||||
<FormItem label="Token" prop="claude_token">
|
||||
@ -27,7 +27,7 @@
|
||||
</FormItem>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block-setting-box">
|
||||
<div class="block-setting-box" v-if="type=='all' || type=='Wenxin'">
|
||||
<h3>文心一言 (Wenxin)</h3>
|
||||
<div class="form-box">
|
||||
<FormItem label="API Key" prop="wenxin_key">
|
||||
@ -47,7 +47,7 @@
|
||||
</FormItem>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block-setting-box">
|
||||
<div class="block-setting-box" v-if="type=='all' || type=='Qianwen'">
|
||||
<h3>通义千问 (Qianwen)</h3>
|
||||
<div class="form-box">
|
||||
<FormItem label="API Key" prop="qianwen_key">
|
||||
@ -74,6 +74,11 @@
|
||||
<script>
|
||||
export default {
|
||||
name: "SystemAibot",
|
||||
props: {
|
||||
type: {
|
||||
default: 'all'
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadIng: 0,
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
type="timerange"
|
||||
format="HH:mm"
|
||||
:placeholder="$L('请选择签到时间')"/>
|
||||
<Form @submit.native.prevent>
|
||||
<Form @submit.native.prevent class="block-setting-advance">
|
||||
<FormItem :label="$L('最早可提前')" prop="advance">
|
||||
<div class="input-number-box">
|
||||
<InputNumber v-model="formData.advance" :min="0" :step="1"/>
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
<Radio label="open">{{ $L('开启') }}</Radio>
|
||||
<Radio label="close">{{ $L('关闭') }}</Radio>
|
||||
</RadioGroup>
|
||||
<Form v-if="formData.notice_msg == 'open'" @submit.native.prevent>
|
||||
<Form v-if="formData.notice_msg == 'open'" @submit.native.prevent class="block-setting-msg-unread">
|
||||
<FormItem :label="$L('未读个人消息')" prop="msg_unread_user_minute">
|
||||
<div class="input-number-box">
|
||||
<InputNumber v-model="formData.msg_unread_user_minute" :min="0" :step="1"/>
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
<div class="setting-head">
|
||||
<div class="setting-titbox">
|
||||
<div class="setting-title">
|
||||
<div class="common-nav-back portrait" @click="goBack()"><i class="taskfont"></i></div>
|
||||
<h1>{{settingTitleName}}</h1>
|
||||
<div v-if="!showMobileBox" class="setting-more" @click="toggleRoute('index')">
|
||||
<Icon type="md-close" />
|
||||
@ -74,7 +75,6 @@ export default {
|
||||
{path: 'personal', name: '个人设置'},
|
||||
{path: 'password', name: '密码设置'},
|
||||
{path: 'email', name: '修改邮箱'},
|
||||
{path: 'checkin', name: '签到设置', desc: ' (Beta)'},
|
||||
{path: 'language', name: '语言设置', divided: true},
|
||||
{path: 'theme', name: '主题设置'},
|
||||
]
|
||||
@ -93,7 +93,6 @@ export default {
|
||||
if (this.userIsAdmin) {
|
||||
menu.push(...[
|
||||
{path: 'system', name: '系统设置', divided: true},
|
||||
{path: 'approve', name: '审批设置', desc: ' (Beta)'},
|
||||
{path: 'license', name: 'License Key'},
|
||||
])
|
||||
}
|
||||
|
||||
@ -10,24 +10,6 @@
|
||||
<TabPane :label="$L('项目模板')" name="columnTemplate">
|
||||
<SystemColumnTemplate/>
|
||||
</TabPane>
|
||||
<TabPane :label="$L('AI机器人')" name="aibot">
|
||||
<SystemAibot/>
|
||||
</TabPane>
|
||||
<TabPane :label="$L('会议功能')" name="meeting">
|
||||
<SystemMeeting/>
|
||||
</TabPane>
|
||||
<TabPane :label="$L('签到功能')" name="checkin">
|
||||
<SystemCheckin/>
|
||||
</TabPane>
|
||||
<TabPane :label="$L('邮件设置')" name="emailSetting">
|
||||
<SystemEmailSetting/>
|
||||
</TabPane>
|
||||
<TabPane :label="$L('认证设置')" name="thirdAccess">
|
||||
<SystemThirdAccess/>
|
||||
</TabPane>
|
||||
<TabPane v-if="$A.isDooServer()" :label="$L('APP推送')" name="appPush">
|
||||
<SystemAppPush/>
|
||||
</TabPane>
|
||||
</Tabs>
|
||||
</div>
|
||||
</template>
|
||||
@ -36,20 +18,9 @@
|
||||
import SystemSetting from "./components/SystemSetting";
|
||||
import SystemTaskPriority from "./components/SystemTaskPriority";
|
||||
import SystemColumnTemplate from "./components/SystemColumnTemplate";
|
||||
import SystemEmailSetting from "./components/SystemEmailSetting";
|
||||
import SystemAppPush from "./components/SystemAppPush";
|
||||
import SystemMeeting from "./components/SystemMeeting";
|
||||
import SystemCheckin from "./components/SystemCheckin";
|
||||
import SystemThirdAccess from "./components/SystemThirdAccess";
|
||||
import SystemAibot from "./components/SystemAibot.vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
SystemAibot,
|
||||
SystemThirdAccess,
|
||||
SystemCheckin,
|
||||
SystemMeeting,
|
||||
SystemAppPush, SystemColumnTemplate, SystemTaskPriority, SystemSetting, SystemEmailSetting},
|
||||
components: {SystemColumnTemplate, SystemTaskPriority, SystemSetting},
|
||||
data() {
|
||||
return {
|
||||
tabAction: 'setting',
|
||||
|
||||
10
resources/assets/js/routes.js
vendored
@ -54,11 +54,6 @@ export default [
|
||||
path: 'checkin',
|
||||
component: () => import('./pages/manage/setting/checkin.vue'),
|
||||
},
|
||||
{
|
||||
name: 'manage-setting-approve',
|
||||
path: 'approve',
|
||||
component: () => import('./pages/manage/setting/approve.vue'),
|
||||
},
|
||||
{
|
||||
name: 'manage-setting-language',
|
||||
path: 'language',
|
||||
@ -116,6 +111,11 @@ export default [
|
||||
path: 'file/:folderId?/:fileId?',
|
||||
component: () => import('./pages/manage/file.vue'),
|
||||
},
|
||||
{
|
||||
name: 'manage-apply',
|
||||
path: 'apply',
|
||||
component: () => import('./pages/manage/apply.vue'),
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@ -28,6 +28,7 @@
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
z-index: 2;
|
||||
position: relative;
|
||||
|
||||
.overlay-close {
|
||||
flex-shrink: 0;
|
||||
|
||||
3
resources/assets/sass/components/report.scss
vendored
@ -69,6 +69,9 @@
|
||||
margin-bottom: 12px;
|
||||
padding: 20px 24px;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
@media (max-width: 500px) {
|
||||
padding-right: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
.report-detail-context {
|
||||
|
||||
1
resources/assets/sass/pages/_.scss
vendored
@ -8,4 +8,5 @@
|
||||
@import "page-project";
|
||||
@import "page-setting";
|
||||
@import "page-approve";
|
||||
@import "page-apply";
|
||||
@import "components/_";
|
||||
|
||||
17
resources/assets/sass/pages/common.scss
vendored
@ -776,3 +776,20 @@ body {
|
||||
transform: translate(100%, 0);
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
// 全局返回按钮
|
||||
.common-nav-back{
|
||||
cursor: pointer;
|
||||
padding-right: 5px;
|
||||
&.portrait{
|
||||
display: none;
|
||||
}
|
||||
.taskfont{
|
||||
font-size: 26px;
|
||||
}
|
||||
}
|
||||
body.window-portrait {
|
||||
.common-nav-back{
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
328
resources/assets/sass/pages/page-apply.scss
vendored
Normal file
@ -0,0 +1,328 @@
|
||||
.page-apply {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.apply-wrapper {
|
||||
flex: 1;
|
||||
height: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
background-color: #fafafa;
|
||||
|
||||
.apply-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-bottom: 16px;
|
||||
margin: 32px 32px 0 32px;
|
||||
border-bottom: 1px solid #F4F4F5;
|
||||
|
||||
.apply-nav {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
>h1 {
|
||||
color: $primary-title-color;
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.apply-row {
|
||||
flex: 1;
|
||||
padding: 16px 30px;
|
||||
|
||||
.apply-col {
|
||||
margin-bottom: 16px;
|
||||
|
||||
>div {
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
background: #ffffff;
|
||||
color: #282828;
|
||||
border-radius: 8px;
|
||||
padding: 14px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
border: 1px solid #f1f1f1;
|
||||
|
||||
@media (max-width: 510px) {
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
>img {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
|
||||
@media (max-width: 510px) {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.manage-box-top-report {
|
||||
position: absolute;
|
||||
right: -6px;
|
||||
top: -6px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ivu-modal-wrap-apply {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
// max-width: calc(100vw - 40px);
|
||||
max-width: 100vw;
|
||||
overflow: auto;
|
||||
|
||||
.ivu-modal-wrap-apply-title {
|
||||
line-height: 40px;
|
||||
font-size: 20px;
|
||||
font-weight: 500;
|
||||
padding: 12px 30px;
|
||||
|
||||
>p {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
color: #2b85e4;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
@media (max-width: 500px) {
|
||||
margin-right: 28px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.ivu-modal-wrap-apply-body {
|
||||
position: relative;
|
||||
flex: 1;
|
||||
padding: 8px 30px;
|
||||
|
||||
//
|
||||
.setting-component-item,
|
||||
.setting-item {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
>.ivu-form {
|
||||
padding: 8px 30px;
|
||||
overflow: auto;
|
||||
flex: 1;
|
||||
|
||||
.ivu-form-item {
|
||||
padding: 12px 0 0 0;
|
||||
.ivu-form-item .ivu-form-item-content {
|
||||
display: flex;
|
||||
|
||||
>.ivu-form {
|
||||
margin-bottom: 8px;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
.block-setting-box {
|
||||
position: relative;
|
||||
padding: 24px 24px 4px;
|
||||
margin: 24px 0 12px;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #eeeeee;
|
||||
transition: box-shadow 0.3s;
|
||||
|
||||
@media (max-width: 420px) {
|
||||
.block-setting-advance{
|
||||
>.ivu-form-item{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.ivu-form-item-label{
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 460px) {
|
||||
.block-setting-msg-unread{
|
||||
>.ivu-form-item{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.ivu-form-item-label{
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 24px;
|
||||
padding: 4px 10px;
|
||||
border-radius: 4px;
|
||||
display: inline-block;
|
||||
background-color: #ffffff;
|
||||
border: 1px solid #eeeeee;
|
||||
font-size: 15px;
|
||||
font-weight: 500;
|
||||
transform: translateY(-50%)
|
||||
}
|
||||
}
|
||||
|
||||
.setting-template {
|
||||
margin-bottom: 12px;
|
||||
|
||||
>div {
|
||||
padding-right: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.export-data>p {
|
||||
cursor: pointer;
|
||||
color: #2b85e4;
|
||||
}
|
||||
|
||||
.setting-footer {
|
||||
flex-shrink: 0;
|
||||
position: static;
|
||||
padding: 16px;
|
||||
border-top: 1px solid #F4F4F5;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
.ivu-tabs {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
|
||||
.ivu-tabs-content {
|
||||
height: 100%;
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
.ivu-modal-wrap-ul {
|
||||
list-style-type: none;
|
||||
overflow: hidden;
|
||||
border-radius: 3px;
|
||||
margin-right: -10px;
|
||||
|
||||
li {
|
||||
float: left;
|
||||
width: calc(50% - 10px);
|
||||
border: 1px solid #eeeeee;
|
||||
box-sizing: border-box;
|
||||
padding: 28px 20px;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 10px;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
|
||||
img {
|
||||
display: block;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 16px;
|
||||
margin: 0 auto 12px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
word-break: break-all;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
font-style: normal;
|
||||
max-width: 100%;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #1b1b1b;
|
||||
line-height: 24px;
|
||||
text-align: center;
|
||||
padding: 0 12px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
p {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 4;
|
||||
@media (max-width: 510px) {
|
||||
-webkit-line-clamp: 2;
|
||||
}
|
||||
}
|
||||
|
||||
.btn {
|
||||
color: #2b85e4;
|
||||
margin: 26px auto 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.load {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: #9797971c;
|
||||
line-height: 300px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 机器人
|
||||
.aibot-warp {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
|
||||
.ivu-form {
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
body.window-portrait {
|
||||
.page-apply {
|
||||
.apply-head{
|
||||
margin: 24px 24px 0 24px;
|
||||
}
|
||||
.apply-row{
|
||||
padding: 16px 24px;
|
||||
}
|
||||
}
|
||||
}
|
||||
110
resources/assets/sass/pages/page-approve.scss
vendored
@ -18,6 +18,7 @@
|
||||
margin: 32px 20px 16px;
|
||||
margin-bottom: 5px;
|
||||
border-bottom: 1px solid #F4F4F5;
|
||||
gap: 10px;
|
||||
|
||||
.approve-nav {
|
||||
flex: 1;
|
||||
@ -177,6 +178,25 @@
|
||||
border: 1px solid #eeeeee;
|
||||
background: #fff;
|
||||
|
||||
.approve-details-nav{
|
||||
height: 52px;
|
||||
padding:0 8px;
|
||||
text-align: center;
|
||||
line-height: 52px;
|
||||
background-color: #f8f8f8;
|
||||
display: none;
|
||||
@media (max-width: 425px) {
|
||||
display: block;
|
||||
}
|
||||
.common-nav-back{
|
||||
float: left;
|
||||
}
|
||||
h2{
|
||||
font-size: 17px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
.approve-details-box {
|
||||
flex: 1 1 auto;
|
||||
padding: 24px;
|
||||
@ -374,3 +394,93 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.page-approve-setting{
|
||||
|
||||
.approve-row {
|
||||
padding: 24px;
|
||||
overflow: auto;
|
||||
margin: 0 !important;
|
||||
|
||||
.ivu-col {
|
||||
margin-bottom: 16px;
|
||||
|
||||
.approve-col-box {
|
||||
border-radius: 8px;
|
||||
border: 1px solid #eeeeee;
|
||||
transition: box-shadow 0.3s;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
box-shadow: 0 0 10px #e6ecfa;
|
||||
}
|
||||
}
|
||||
|
||||
.approve-col-add {
|
||||
height: 100%;
|
||||
font-size: 48px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #ededed;
|
||||
min-height: 95px;
|
||||
}
|
||||
|
||||
.approve-col-for {
|
||||
padding: 16px;
|
||||
padding-bottom: 13px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.approve-name{
|
||||
font-weight: 500;
|
||||
color: #135de6;
|
||||
}
|
||||
|
||||
.divider{
|
||||
margin: 12px 0;
|
||||
margin-bottom: 9px;
|
||||
}
|
||||
|
||||
.icon-warp{
|
||||
position: relative;
|
||||
}
|
||||
|
||||
> p {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.approve-button-box {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
> p {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
> i {
|
||||
font-size: 16px;
|
||||
margin-left: 8px;
|
||||
color: rgb(96, 98, 102);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
body.window-portrait {
|
||||
.page-approve{
|
||||
.approve-head {
|
||||
margin: 20px 14px 16px;
|
||||
}
|
||||
.approve-mains {
|
||||
height: calc(100vh - 250px);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -194,6 +194,7 @@
|
||||
body.window-portrait {
|
||||
.page-calendar {
|
||||
.calendar-head {
|
||||
margin: 24px 24px 16px;
|
||||
.calendar-titbox {
|
||||
.calendar-title {
|
||||
flex: 1;
|
||||
|
||||
61
resources/assets/sass/pages/page-setting.scss
vendored
@ -349,65 +349,6 @@
|
||||
.setting-button {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.approve-row {
|
||||
padding: 24px 40px;
|
||||
overflow: auto;
|
||||
|
||||
.ivu-col {
|
||||
margin-bottom: 8px;
|
||||
|
||||
.approve-col-box {
|
||||
border-radius: 8px;
|
||||
border: 1px solid #eeeeee;
|
||||
transition: box-shadow 0.3s;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
box-shadow: 0 0 10px #e6ecfa;
|
||||
}
|
||||
}
|
||||
|
||||
.approve-col-add {
|
||||
height: 100%;
|
||||
font-size: 48px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #ededed;
|
||||
min-height: 95px;
|
||||
}
|
||||
|
||||
.approve-col-for {
|
||||
padding: 16px;
|
||||
padding-bottom: 13px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
> p {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.approve-button-box {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
> p {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
> i {
|
||||
font-size: 16px;
|
||||
margin-left: 8px;
|
||||
color: rgb(96, 98, 102);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -434,7 +375,7 @@
|
||||
body.window-portrait {
|
||||
.page-setting {
|
||||
.setting-head {
|
||||
margin: 32px 32px 0;
|
||||
margin: 24px 24px 16px;
|
||||
.setting-titbox {
|
||||
.setting-title {
|
||||
.setting-more {
|
||||
|
||||
22
resources/assets/statics/public/images/apply/addProject.svg
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#87D068;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M35.7,20.1c0-0.8-0.4-1.5-1.1-1.9l-8.9-5.1c-1-0.6-2.2-0.6-3.1,0l-9.1,5.2c-0.6,0.4-1,1-1,1.8s0.4,1.4,1,1.8
|
||||
l9.1,5.2c0.5,0.3,1,0.4,1.6,0.4c0.5,0,1.1-0.1,1.6-0.4l8.9-5.1C35.3,21.6,35.7,20.9,35.7,20.1z"/>
|
||||
<path class="st1" d="M24,29.7c-0.4,0-0.8-0.1-1.2-0.3l-9-5.1c-0.4-0.2-0.9-0.1-1.2,0.3c-0.2,0.4-0.1,0.9,0.3,1.2l9,5.1
|
||||
c0.6,0.4,1.3,0.6,2,0.6c0,0,0,0,0,0c0.5,0,0.9-0.4,0.9-0.9C24.9,30.1,24.5,29.7,24,29.7z"/>
|
||||
<path class="st1" d="M24,33.5c-0.6,0-1.3-0.2-1.8-0.5l-8.4-4.8c-0.4-0.2-0.9-0.1-1.2,0.3c-0.2,0.4-0.1,0.9,0.3,1.2l8.4,4.8
|
||||
c0.8,0.5,1.7,0.7,2.6,0.7c0,0,0,0,0,0c0.5,0,0.9-0.4,0.9-0.9C24.9,33.9,24.5,33.5,24,33.5z"/>
|
||||
<path class="st1" d="M34.8,30h-2.6v-2.6c0-0.5-0.4-0.9-0.9-0.9c-0.5,0-0.9,0.4-0.9,0.9V30h-2.6c-0.5,0-0.9,0.4-0.9,0.9
|
||||
s0.4,0.9,0.9,0.9h2.6v2.6c0,0.5,0.4,0.9,0.9,0.9c0.5,0,0.9-0.4,0.9-0.9v-2.6h2.6c0.5,0,0.9-0.4,0.9-0.9S35.3,30,34.8,30z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
29
resources/assets/statics/public/images/apply/addTask.svg
Normal file
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#87D068;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<g>
|
||||
<circle class="st1" cx="19.7" cy="26.6" r="0.9"/>
|
||||
<g>
|
||||
<path class="st1" d="M29,26.9c0.5,0,0.9,0.4,0.9,0.9l0,2.6l2.6,0c0.5,0,0.9,0.4,0.9,0.9c0,0.5-0.4,0.9-0.9,0.9l-2.6,0l0,2.6
|
||||
c0,0.5-0.4,0.9-0.9,0.9c-0.5,0-0.9-0.4-0.9-0.9l0-2.6l-2.6,0c-0.5,0-0.9-0.4-0.9-0.9c0-0.5,0.4-0.9,0.9-0.9l2.6,0l0-2.6
|
||||
C28.1,27.3,28.5,26.9,29,26.9"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M26.6,34.8l0-1.2l-1.2,0c0,0,0,0,0,0c-0.6,0-1.2-0.2-1.6-0.7c-0.4-0.4-0.7-1-0.7-1.6c0-0.6,0.2-1.2,0.7-1.6
|
||||
c0.4-0.4,1-0.7,1.6-0.7l1.2,0l0-1.2c0-1.3,1-2.3,2.3-2.3c0,0,0,0,0,0c1.3,0,2.3,1,2.3,2.3l0,1.2l1.2,0c0,0,0,0,0,0
|
||||
c0.3,0,0.6,0.1,0.9,0.2V14.7c0-1.3-1.1-2.3-2.3-2.3H17c-1.3,0-2.3,1.1-2.3,2.3v18.7c0,1.3,1,2.3,2.3,2.3h9.8
|
||||
C26.7,35.4,26.6,35.1,26.6,34.8z M19.7,29.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S21.1,29.3,19.7,29.3z
|
||||
M22.6,17.9l-2.9,2.9c-0.2,0.2-0.4,0.3-0.6,0.3s-0.4-0.1-0.6-0.3l-1.2-1.2c-0.3-0.3-0.3-0.9,0-1.2s0.9-0.3,1.2,0l0.5,0.5l2.3-2.3
|
||||
c0.3-0.3,0.9-0.3,1.2,0S23,17.6,22.6,17.9z M24.9,17.6h4.7c0.5,0,0.9,0.4,0.9,0.9s-0.4,0.9-0.9,0.9h-4.7c-0.5,0-0.9-0.4-0.9-0.9
|
||||
S24.4,17.6,24.9,17.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
27
resources/assets/statics/public/images/apply/allUser.svg
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#F57775;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M21.5,24.5c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6C27.6,21.8,24.9,24.5,21.5,24.5z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M28.8,35.5H14.3c-1.1,0-2-0.9-2-2v-4.1c0-1.7,1.4-3.1,3.1-3.1h12.2c1.7,0,3.1,1.4,3.1,3.1v4.1
|
||||
C30.7,34.6,29.9,35.5,28.8,35.5z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M29.6,22.5c-0.3,0-0.5-0.1-0.7-0.3c-0.2-0.3-0.2-0.7,0-1c0.6-0.8,0.9-1.7,0.9-2.7s-0.3-1.9-0.9-2.7
|
||||
c-0.2-0.3-0.2-0.7,0-1s0.6-0.4,0.9-0.3c1.7,0.6,2.9,2.2,2.9,4s-1.2,3.4-2.9,4C29.8,22.5,29.7,22.5,29.6,22.5z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M34,34.7h-0.7c-0.3,0-0.5-0.1-0.7-0.3s-0.2-0.5-0.1-0.7c0-0.1,0-0.1,0-0.1v-4c0-0.4-0.2-0.7-0.3-0.9
|
||||
c-0.2-0.2-0.2-0.6-0.1-0.9c0.1-0.3,0.4-0.5,0.7-0.5H33c1.4,0,2.6,1.2,2.6,2.6V33C35.7,34,34.9,34.7,34,34.7z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
resources/assets/statics/public/images/apply/apppush.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25679"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#9D95E5" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25679)"><g><path d="M35.6226,12.187076C35.9089,12.366451,36.0526,12.70563,35.9824,13.03611L32.5574,33.5856C32.4912,34.000299999999996,32.1282,34.3018,31.7084,34.290800000000004C31.599,34.289100000000005,31.4912,34.2646,31.3918,34.2188L25.333399999999997,31.7437L22.095599999999997,35.6866C21.9377,35.8896,21.69045,36.0025,21.43364,35.9888C21.33001,35.990700000000004,21.22712,35.9711,21.131439999999998,35.9313C20.96605,35.8728,20.82448,35.7615,20.72851,35.6147C20.62727,35.4715,20.57206,35.300799999999995,20.57021,35.1254L20.57021,30.4629L32.125699999999995,16.28835L17.821640000000002,28.6641L12.540347,26.4912C12.225567,26.3831,12.0117595,26.09,12.0050232,25.7573C11.9677587,25.428800000000003,12.140421,25.112299999999998,12.436736,24.9658L34.7016,12.115123C34.833200000000005,12.040216,34.981899999999996,12.000561138,35.1333,12C35.3072,12.0294109,35.4735,12.092995,35.6226,12.187076Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
resources/assets/statics/public/images/apply/approve.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25613"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#F57775" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25613)"><g><g><path d="M32.753299999999996,26.9593L30.357,26.9593C29.1345,26.957700000000003,28.1438,25.967100000000002,28.142200000000003,24.744500000000002C28.139499999999998,24.1851,28.3448,23.6446,28.7182,23.228099999999998C31.2206,20.597839999999998,31.1498,16.44632,28.5592,13.9029C25.9685,11.359486,21.816380000000002,11.365081,19.23258,13.91547C16.648789999999998,16.46586,16.58916,20.61755,19.09864,23.2411C19.45887,23.6577,19.65585,24.1909,19.65307,24.7416C19.65997,25.8988,18.7744,26.8659,17.62114,26.9608L15.40058,26.9608C14.07758,26.9608,13.00396661,28.0311,13,29.3541L13,31.5142C13,32.024,13.413276,32.4373,13.923077,32.4373L34.227900000000005,32.4373C34.737700000000004,32.4373,35.150999999999996,32.024,35.150999999999996,31.5142L35.150999999999996,29.3541C35.145399999999995,28.0327,34.0747,26.9633,32.753299999999996,26.9593Z" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M34.2308,35.999994833374025L13.923077,35.999994833374025C13.413276,35.999994833374025,13.000000054161,35.58672483337402,13.000000054161,35.07692183337402C13.000000054161,34.56712083337403,13.413276,34.15384483337402,13.923077,34.15384483337402L34.227900000000005,34.15384483337402C34.737700000000004,34.15384483337402,35.150999999999996,34.56712083337403,35.150999999999996,35.07692183337402C35.150999999999996,35.58672483337402,34.737700000000004,35.999994833374025,34.227900000000005,35.999994833374025L34.2308,35.999994833374025Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
19
resources/assets/statics/public/images/apply/calendar.svg
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFAA64;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<path class="st1" d="M32.5,14.5h-4.3v-1c0-0.4-0.3-0.8-0.8-0.8s-0.8,0.3-0.8,0.8v1h-5.3v-1c0-0.4-0.3-0.8-0.8-0.8s-0.8,0.3-0.8,0.8
|
||||
v1h-4.3c-1.5,0-2.8,1.2-2.8,2.8v15.3c0,1.5,1.2,2.8,2.8,2.8h17c1.5,0,2.8-1.2,2.8-2.8V17.2C35.2,15.7,34,14.5,32.5,14.5z M15.5,16
|
||||
h4.3v1c0,0.4,0.3,0.8,0.8,0.8s0.8-0.3,0.8-0.8v-1h5.3v1c0,0.4,0.3,0.8,0.8,0.8s0.8-0.3,0.8-0.8v-1h4.3c0.7,0,1.2,0.6,1.2,1.2v2.9
|
||||
H14.2v-2.9C14.2,16.5,14.8,16,15.5,16z M18.3,28.1L18.3,28.1c0.6,0,1.1,0.5,1.1,1.1c0,0.6-0.5,1-1,1c-0.6,0-1.1-0.5-1.1-1
|
||||
C17.3,28.5,17.8,28.1,18.3,28.1z M17.3,25.1c0-0.6,0.5-1,1-1h0c0.6,0,1,0.5,1,1s-0.5,1-1,1C17.8,26.2,17.3,25.7,17.3,25.1z M24,28.1
|
||||
L24,28.1c0.6,0,1.1,0.5,1.1,1.1c0,0.6-0.5,1-1,1c-0.6,0-1.1-0.5-1.1-1C23,28.5,23.4,28.1,24,28.1z M23,25.1c0-0.6,0.5-1,1-1h0
|
||||
c0.6,0,1,0.5,1,1s-0.5,1-1,1C23.4,26.2,23,25.7,23,25.1z M29.7,28.1L29.7,28.1c0.6,0,1.1,0.5,1.1,1.1c0,0.6-0.5,1-1,1
|
||||
c-0.6,0-1.1-0.5-1.1-1C28.6,28.5,29.1,28.1,29.7,28.1z M28.6,25.1c0-0.6,0.5-1,1-1h0c0.6,0,1,0.5,1,1s-0.5,1-1,1
|
||||
C29.1,26.2,28.6,25.7,28.6,25.1z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25658"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#72A1F7" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25658)"><g><path d="M33.1767,19.46395L30.5723,21.34133L30.5723,19.01332C30.5723,17.34516,29.217,15.99442094,27.5489,16L15.01332,16C13.34911,15.999999801611,12,17.34911,12,19.01332L12,29.5822C12,31.2464,13.34911,32.595600000000005,15.01332,32.595600000000005L27.5489,32.595600000000005C29.217,32.6011,30.5723,31.2504,30.5723,29.5822L30.5723,27.2542L33.182500000000005,29.1259C33.7237,29.5146,34.436800000000005,29.5683,35.0302,29.2651C35.623599999999996,28.9619,35.9979,28.3525,36,27.6861L36,20.907980000000002C36.0011,20.23879,35.626599999999996,19.62559,35.0308,19.32086C34.4351,19.01614,33.7187,19.07142,33.1767,19.46395Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
17
resources/assets/statics/public/images/apply/file.svg
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFAA64;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M28.7,18.4h3.8c0.5,0,0.8-0.6,0.4-1l-4.7-4.7c-0.4-0.4-1-0.1-1,0.4V17C27.3,17.8,27.9,18.4,28.7,18.4z"/>
|
||||
<path class="st1" d="M28.7,20.2c-1.8,0-3.2-1.4-3.2-3.2v-4c0-0.3-0.3-0.6-0.6-0.6H17c-1.3,0-2.3,1.1-2.3,2.3v18.7
|
||||
c0,1.3,1,2.3,2.3,2.3h14c1.3,0,2.3-1,2.3-2.3V20.7c0-0.3-0.3-0.6-0.6-0.6H28.7z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 890 B |
20
resources/assets/statics/public/images/apply/joinMeeting.svg
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#53CBAE;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M35.8,18.3l-2.6,2.2c-0.3,0.3-0.5,0.6-0.5,1v4.8c0,0.4,0.2,0.8,0.5,1l2.6,2.2c0.9,0.8,2.2,0.1,2.2-1v-9.3
|
||||
C38,18.2,36.6,17.6,35.8,18.3z"/>
|
||||
<path class="st1" d="M28.8,14.6H12c-1.1,0-2,0.9-2,2v14.8c0,1.1,0.9,2,2,2h16.8c1.1,0,2-0.9,2-2V16.6
|
||||
C30.8,15.5,29.9,14.6,28.8,14.6z M23.4,24.7h-2.2V27c0,0.4-0.3,0.7-0.7,0.7c-0.4,0-0.7-0.3-0.7-0.7v-2.2h-2.2
|
||||
c-0.4,0-0.7-0.3-0.7-0.7s0.3-0.7,0.7-0.7h2.2V21c0-0.4,0.3-0.7,0.7-0.7c0.4,0,0.7,0.3,0.7,0.7v2.2h2.2c0.4,0,0.7,0.3,0.7,0.7
|
||||
S23.8,24.7,23.4,24.7z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
resources/assets/statics/public/images/apply/ldap.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25667"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#FFC835" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25667)"><g><path d="M33.400099999999995,12C34.0625,12,34.599599999999995,12.537033,34.599599999999995,13.1995L34.599599999999995,34.799099999999996C34.6004,35.4621,34.0631,36,33.400099999999995,36L16.59993,36C14.61174,36,13,34.3883,13,32.400099999999995L13,15.59993C13,13.61174,14.61174,12,16.59993,12L33.400099999999995,12ZM32.1991,31.1991L16.59993,31.1991C15.953240000000001,31.2215,15.440570000000001,31.7523,15.440570000000001,32.3994C15.440570000000001,33.0464,15.953240000000001,33.577200000000005,16.59993,33.599599999999995L32.1991,33.599599999999995L32.1991,31.1991ZM23.799799999999998,22.799799999999998C21.8116,22.799799999999998,20.19986,24.4115,20.19986,26.3997L27.3997,26.3997C27.3997,24.4115,25.788,22.799799999999998,23.799799999999998,22.799799999999998ZM23.799799999999998,16.799419999999998C22.47406,16.799419999999998,21.39935,17.87413,21.39935,19.19986C21.39935,20.525579999999998,22.47406,21.60029,23.799799999999998,21.60029C25.125500000000002,21.60029,26.200200000000002,20.525579999999998,26.200200000000002,19.19986C26.1994,17.87446,25.1252,16.80022,23.799799999999998,16.799419999999998Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
resources/assets/statics/public/images/apply/mail.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25401"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#F57775" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25401)"><g><path d="M36,19.35553L36,31.6471C36,32.8166,35.0519,33.764700000000005,33.882400000000004,33.764700000000005L14.11765,33.764700000000005C12.948108,33.764700000000005,12.00000549316,32.8166,12.00000549316,31.6471L12.00000549316,19.35553L20.804470000000002,26.8202C22.6481,28.3834,25.3519,28.3834,27.1955,26.8202L36,19.35553ZM33.882400000000004,14.000000646254C34.1404,14.000286291,34.3963,14.0471559,34.6376,14.138353C34.984700000000004,14.270521,35.2905,14.492136,35.5242,14.780706C35.6509,14.935896,35.7549,15.10818,35.8334,15.29247C35.925200000000004,15.50988,35.9816,15.74565,35.9958,15.99341L36,16.11765L36,16.823529999999998L25.3744,25.8871C24.6211,26.5295,23.5233,26.5644,22.730800000000002,25.9711L22.625700000000002,25.886400000000002L12.00000517004,16.823529999999998L12.00000517004,16.11765C11.9982451,15.318200000000001,12.448325,14.586376,13.16259,14.227294C13.45869,14.0776132,13.78587,13.999747961,14.11765,14.000000646254L33.882400000000004,14.000000646254Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
1
resources/assets/statics/public/images/apply/meeting.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25658"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#72A1F7" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25658)"><g><path d="M33.1767,19.46395L30.5723,21.34133L30.5723,19.01332C30.5723,17.34516,29.217,15.99442094,27.5489,16L15.01332,16C13.34911,15.999999801611,12,17.34911,12,19.01332L12,29.5822C12,31.2464,13.34911,32.595600000000005,15.01332,32.595600000000005L27.5489,32.595600000000005C29.217,32.6011,30.5723,31.2504,30.5723,29.5822L30.5723,27.2542L33.182500000000005,29.1259C33.7237,29.5146,34.436800000000005,29.5683,35.0302,29.2651C35.623599999999996,28.9619,35.9979,28.3525,36,27.6861L36,20.907980000000002C36.0011,20.23879,35.626599999999996,19.62559,35.0308,19.32086C34.4351,19.01614,33.7187,19.07142,33.1767,19.46395Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
1
resources/assets/statics/public/images/apply/report.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25545"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#9D95E5" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25545)"><g><g><path d="M27.3699,31.3292C26.4274,32.2528,24.9169,32.2452,23.983800000000002,31.3121C23.0507,30.379,23.043100000000003,28.8686,23.9667,27.926099999999998L32.3201,19.578400000000002L32.3201,15.27301C32.3201,13.46482,30.8539,11.999210349,29.0457,12L15.27301,12C13.46538,11.999999784513,12,13.46538,12,15.27301L12,32.6318C11.999209911,34.44,13.46482,35.9063,15.27301,35.9063L29.0457,35.9063C30.8541,35.9063,32.3201,34.4403,32.3201,32.6318L32.3201,26.3789L27.3699,31.3292ZM17.74958,20.06886C17.25443,20.06886,16.85304,19.66746,16.85304,19.17232C16.85304,18.67717,17.25443,18.27578,17.74958,18.27578L23.1288,18.27578C23.624000000000002,18.27578,24.025399999999998,18.67717,24.025399999999998,19.17232C24.025399999999998,19.66746,23.624000000000002,20.06886,23.1288,20.06886L17.74958,20.06886Z" fill="#FFFFFF" fill-opacity="1"/></g><g transform="matrix(0.7071067690849304,0.7071067690849304,-0.7071067690849304,0.7071067690849304,23.826460884525744,-18.843463462634503)"><rect x="34.65930366516113" y="19.33935022354126" width="1.8960309028625488" height="14.49763011932373" rx="0.9480154514312744" fill="#FFFFFF" fill-opacity="1"/></g></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
resources/assets/statics/public/images/apply/robot.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25405"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#FFC835" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25405)"><g><g><rect x="12" y="26.31494140625" width="1.8119423389434814" height="7.173644542694092" rx="0.9059711694717407" fill="#FFFFFF" fill-opacity="1"/></g><g><rect x="34.18804931640625" y="26.31494140625" width="1.8119423389434814" height="7.173644542694092" rx="0.9059711694717407" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M29.53465,20.54139L31.35485,17.38422C31.41525,17.38422,31.47695,17.39383,31.53875,17.39383C32.931349999999995,17.39648,33.97485,16.118949999999998,33.69415,14.75489C33.41345,13.390835,31.95045,12.629057,30.67195,13.181321C29.393549999999998,13.733585,28.94525,15.32101,29.74605,16.4604L27.76795,19.89211C25.287950000000002,19.2077,22.669629999999998,19.20201,20.18666,19.87564L18.21274,16.46315C19.0135,15.32376,18.56525,13.73633,17.28679,13.184066C16.00834,12.631803,14.545278,13.393581,14.2646052,14.75764C13.983932,16.1217,15.02738,17.39923,16.42001,17.39657C16.48179,17.39657,16.542180000000002,17.39657,16.60258,17.386960000000002L18.417270000000002,20.529040000000002C16.05625,21.62718,14.483158,23.3979,14.36648,25.4172L14.356871,25.4172L14.356871,33.289500000000004C14.356871,34.7254,15.52087,35.889399999999995,16.95673,35.889399999999995L30.96905,35.889399999999995C32.40495,35.889399999999995,33.56895,34.7254,33.56895,33.289500000000004L33.56895,25.4172L33.559349999999995,25.4172C33.444050000000004,23.4048,31.88195,21.636789999999998,29.53465,20.54139ZM27.063850000000002,29.5105L20.86888,29.5105C19.89243,29.5105,19.10087,28.718899999999998,19.10087,27.7425C19.10087,26.766,19.89243,25.9745,20.86888,25.9745L27.05695,25.9745C28.03335,25.9745,28.82495,26.766,28.82495,27.7425C28.82495,28.718899999999998,28.03335,29.5105,27.05695,29.5105L27.063850000000002,29.5105Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
41
resources/assets/statics/public/images/apply/scan.svg
Normal file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#72A1F7;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M20.3,35.8h-4.7c-1.9,0-3.4-1.5-3.4-3.4v-4.7c0-0.4,0.3-0.8,0.8-0.8s0.8,0.3,0.8,0.8v4.7
|
||||
c0,1.1,0.9,1.9,1.9,1.9h4.7c0.4,0,0.8,0.3,0.8,0.8S20.7,35.8,20.3,35.8z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M13,21.1c-0.4,0-0.8-0.3-0.8-0.8v-4.7c0-1.9,1.5-3.4,3.4-3.4h4.7c0.4,0,0.8,0.3,0.8,0.8s-0.3,0.8-0.8,0.8
|
||||
h-4.7c-1.1,0-1.9,0.9-1.9,1.9v4.7C13.8,20.7,13.4,21.1,13,21.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st1" d="M35,21.1c-0.4,0-0.8-0.3-0.8-0.8v-4.7c0-1.1-0.9-1.9-1.9-1.9h-4.7c-0.4,0-0.8-0.3-0.8-0.8s0.3-0.8,0.8-0.8
|
||||
h4.7c1.9,0,3.4,1.5,3.4,3.4v4.7C35.8,20.7,35.4,21.1,35,21.1z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M32.3,35.8h-4.7c-0.4,0-0.8-0.3-0.8-0.8s0.3-0.8,0.8-0.8h4.7c1.1,0,1.9-0.9,1.9-1.9v-4.7
|
||||
c0-0.4,0.3-0.8,0.8-0.8s0.8,0.3,0.8,0.8v4.7C35.8,34.2,34.2,35.8,32.3,35.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M29.5,16.5H18.5c-1.1,0-1.9,0.9-1.9,1.9v11.1c0,1.1,0.9,1.9,1.9,1.9h11.1c1.1,0,1.9-0.9,1.9-1.9V18.5
|
||||
C31.5,17.4,30.6,16.5,29.5,16.5z M27.7,24.8h-7.3c-0.4,0-0.8-0.3-0.8-0.8s0.3-0.8,0.8-0.8h7.3c0.4,0,0.8,0.3,0.8,0.8
|
||||
S28.1,24.8,27.7,24.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
18
resources/assets/statics/public/images/apply/setting.svg
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#72A1F7;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M36,48H12C5.4,48,0,42.6,0,36V12C0,5.4,5.4,0,12,0h24c6.6,0,12,5.4,12,12v24C48,42.6,42.6,48,36,48z"/>
|
||||
<g>
|
||||
<path class="st1" d="M34.6,26.5c-1.9-1.1-1.9-3.8,0-4.9c0.6-0.3,0.8-1.1,0.5-1.7l-1.9-3.3c-0.3-0.6-1.1-0.8-1.7-0.5
|
||||
c-1.9,1.1-4.3-0.3-4.3-2.5c0-0.7-0.6-1.3-1.3-1.3h-3.8c-0.7,0-1.3,0.6-1.3,1.3c0,2.2-2.4,3.6-4.3,2.5l0,0c-0.6-0.3-1.4-0.1-1.7,0.5
|
||||
L13,19.8c-0.3,0.6-0.1,1.4,0.5,1.7l0,0c1.9,1.1,1.9,3.8,0,4.9c-0.6,0.3-0.8,1.1-0.5,1.7l1.9,3.3c0.3,0.6,1.1,0.8,1.7,0.5
|
||||
c1.9-1.1,4.3,0.3,4.3,2.5v0c0,0.7,0.6,1.3,1.3,1.3h3.8c0.7,0,1.3-0.6,1.3-1.3v0c0-2.2,2.4-3.6,4.3-2.5h0c0.6,0.3,1.4,0.1,1.7-0.5
|
||||
l1.9-3.3C35.4,27.6,35.2,26.8,34.6,26.5z M24,26.6c-1.4,0-2.6-1.2-2.6-2.6c0-1.4,1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6
|
||||
C26.6,25.4,25.4,26.6,24,26.6z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
1
resources/assets/statics/public/images/apply/signin.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_3054_25526"><rect x="12" y="12" width="24" height="24" rx="0"/></clipPath></defs><g><rect x="0" y="0" width="48" height="48" rx="12" fill="#72A1F7" fill-opacity="1"/><g clip-path="url(#master_svg0_3054_25526)"><g><g><path d="M34.0464,21.911920000000002C34.0464,16.439700000000002,29.336,12,23.523899999999998,12C17.71187,12,13,16.43682,13,21.911920000000002C13,24.689799999999998,14.21541,27.1998,16.16813,28.9999L23.5211,36L30.7962,29.0676C30.9402,28.9365,31.0842,28.8026,31.2196,28.6643C33.0192,26.8769,34.0359,24.4483,34.0464,21.911920000000002ZM23.397199999999998,26.7015C20.95156,26.6984,18.97124,24.7138,18.97336,22.2681C18.97548,19.82244,20.959229999999998,17.84126,23.404899999999998,17.84232C25.8506,17.84338,27.8326,19.82627,27.8326,22.271900000000002C27.8326,24.720599999999997,25.8459,26.704700000000003,23.397199999999998,26.7015Z" fill="#FFFFFF" fill-opacity="1"/></g><g><ellipse cx="23.397215843200684" cy="22.271930694580078" rx="2.733229160308838" ry="2.733229160308838" fill="#FFFFFF" fill-opacity="1"/></g></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |