From 5229a61ca5250e1bd24399258e05ada2e7c4253a Mon Sep 17 00:00:00 2001 From: 李林 <z1292839451@163.com> Date: 星期四, 28 十二月 2023 11:26:01 +0800 Subject: [PATCH] 第三阶段 --- src/components/view/registrant-count.vue | 142 +++ src/components/tool/value-table.vue | 30 src/components/view/role-manage.vue | 196 +++ src/components/view/custom-enum.vue | 153 +++ src/components/view/finance-submit.vue | 183 +++ static/alifont/iconfont.js | 1 src/components/view/person-manage.vue | 39 src/view/index.vue | 90 + static/alifont/iconfont.woff2 | 0 src/assets/api/controller.js | 37 src/view/enter.vue | 1 src/components/view/product-count.vue | 134 ++ static/alifont/iconfont.json | 100 ++ static/alifont/iconfont.woff | 0 src/components/view/fans-submit.vue | 210 ++++ src/App.vue | 462 +++++---- static/alifont/iconfont.css | 67 + static/img/首页图片1.png | 0 src/components/view/data-reporting.vue | 27 static/alifont/iconfont.ttf | 0 src/components/view/index-index.vue | 688 ++++++++++++++ src/components/view/product-enum.vue | 147 +++ 22 files changed, 2,424 insertions(+), 283 deletions(-) diff --git a/src/App.vue b/src/App.vue index 2b8184b..7ebe8dd 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,251 +1,275 @@ <template> - <div id="app"> - <router-view /> - </div> + <div id="app"> + <router-view /> + </div> </template> <script> -export default { - name: "App", - created() { - // const changeFavicon = link => { - // let $favicon = document.querySelector('link[rel="icon"]'); - // if ($favicon !== null) { - // $favicon.href = link; - // } else { - // $favicon = document.createElement("link"); - // $favicon.rel = "icon"; - // $favicon.href = link; - // document.head.appendChild($favicon); - // } - // }; - // let icon = '../../../../../static/img/heisur/logo.png'; // 鍥剧墖鍦板潃 - // changeFavicon(icon); // 鍔ㄦ�佷慨鏀圭綉绔欏浘鏍� - } -}; + export default { + name: "App", + created() { + // const changeFavicon = link => { + // let $favicon = document.querySelector('link[rel="icon"]'); + // if ($favicon !== null) { + // $favicon.href = link; + // } else { + // $favicon = document.createElement("link"); + // $favicon.rel = "icon"; + // $favicon.href = link; + // document.head.appendChild($favicon); + // } + // }; + // let icon = '../../../../../static/img/heisur/logo.png'; // 鍥剧墖鍦板潃 + // changeFavicon(icon); // 鍔ㄦ�佷慨鏀圭綉绔欏浘鏍� + } + }; </script> <style> -/* @import url("../static/img/alifont/iconfont.css"); */ -@import url("//at.alicdn.com/t/c/font_4379269_qfsjed5hzge.css"); + @import url("../static/alifont/iconfont.css"); + /* @import url("//at.alicdn.com/t/c/font_4379269_2wteluxhkyd.css"); */ -* { - margin: 0; - padding: 0; - font-family: "寰蒋闆呴粦"; -} + * { + margin: 0; + padding: 0; + font-family: "寰蒋闆呴粦"; + } -a { - text-decoration: none; -} + a { + text-decoration: none; + } -.router-link-active { - text-decoration: none; -} + .router-link-active { + text-decoration: none; + } -.el-scrollbar .el-scrollbar__bar { - opacity: 1 !important; -} + .el-scrollbar .el-scrollbar__bar { + opacity: 1 !important; + } -.el-select-dropdown__item span, -.el-cascader-node__label { - font-size: 0.8rem; -} + .el-select-dropdown__item span, + .el-cascader-node__label { + font-size: 0.8rem; + } -.el-dialog { - border-radius: 6px; - overflow: hidden; - margin: 0 !important; -} + .el-dialog { + border-radius: 6px; + overflow: hidden; + margin: 0 !important; + } -.el-dialog__wrapper { - display: flex; - align-items: center; - justify-content: center; -} + .el-dialog__wrapper { + display: flex; + align-items: center; + justify-content: center; + } -input::-webkit-input-placeholder, -textarea::-webkit-input-placeholder { - /* Chrome/Opera/Safari */ - color: #999 !important; - font-size: 12px; -} + input::-webkit-input-placeholder, + textarea::-webkit-input-placeholder { + /* Chrome/Opera/Safari */ + color: #999 !important; + font-size: 12px; + } -input::-moz-placeholder, -textarea::-moz-placeholder { - /* Firefox 19+ */ - color: #999 !important; - font-size: 12px; -} + input::-moz-placeholder, + textarea::-moz-placeholder { + /* Firefox 19+ */ + color: #999 !important; + font-size: 12px; + } -input:-ms-input-placeholder, -textarea:-ms-input-placeholder { - /* IE 10+ */ - color: #999 !important; - font-size: 12px; -} + input:-ms-input-placeholder, + textarea:-ms-input-placeholder { + /* IE 10+ */ + color: #999 !important; + font-size: 12px; + } -input:-moz-placeholder, -textarea:-moz-placeholder { - /* Firefox 18- */ - color: #999 !important; - font-size: 12px; -} + input:-moz-placeholder, + textarea:-moz-placeholder { + /* Firefox 18- */ + color: #999 !important; + font-size: 12px; + } -.el-message p { - color: #666 !important; - font-size: 12px; -} + .el-message p { + color: #666 !important; + font-size: 12px; + } -.el-message { - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.1); - padding: 6px 10px; - min-width: 0; - border-radius: 6px; -} + .el-message { + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.1); + padding: 6px 10px; + min-width: 0; + border-radius: 6px; + } -table { - border-collapse: collapse; -} + table { + border-collapse: collapse; + } -.el-popover { - padding: 0; -} + .el-popover { + padding: 0; + } -.el-popper .popper__arrow { - display: none; -} -/**淇敼鍏ㄥ眬鐨勬粴鍔ㄦ潯*/ -/**婊氬姩鏉$殑瀹藉害*/ -::-webkit-scrollbar { - width: 8px; - height: 8px; -} -::-webkit-scrollbar-thumb { - background-color: #bdbfc4; - border-radius: 3px; -} -/* 鍏ㄥ眬琛ㄦ牸鏍峰紡 */ -.el-table th.el-table__cell, -.has-gutter .el-table__cell { - background-color: #F0F1F5 !important; - color: #333; -} -.has-gutter .el-table__cell .cell { - font-size: 14px !important; - font-weight: 500; -} -.cell { - color: #333; - padding: 0 17px !important; - font-size: 12px; -} -.cell span { - font-size: 12px; - font-weight: 400; -} -.el-table .el-table__cell{ - padding: 0px 0; -} -.el-table th.el-table__cell > .cell { - font-size: 14px; - font-weight: 400; - color: #333; - padding: 6px 17px !important; -} -/* 鍏ㄥ眬鍒嗛〉鍣ㄦ牱寮� */ -.el-pager .number { - font-size: 14px; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 4px; - margin: 0 2px; - color: #999; - font-weight: 500; -} -.el-pager .number.active { - background-color: #3A7BFA; - color: #fff; - border: 0; -} -.el-pager li.active+li{ - border-left: 10px !important; -} -/* 鍏ㄥ眬妯℃�佹鏍峰紡 */ -.el-dialog__header,.el-message-box__header { - box-sizing: border-box; - height: 56px; - border-bottom: 1px solid rgb(238, 238, 238); - padding: 0px; - display: flex; - align-items: center; -} -.el-dialog__header::before { - content: ""; - display: inline-block; - width: 4px; - height: 30.24px; - background: #3A7BFA; - border-radius: 10px; - margin-left: 32px; - margin-right: 8.5px; -} + .el-popper .popper__arrow { + display: none; + } -.el-message-box__header::before { - content: ""; - display: inline-block; - width: 4px; - height: 30.24px; - background: #3A7BFA; - border-radius: 10px; - margin-left: 20px; - margin-right: 8.5px; -} + /**淇敼鍏ㄥ眬鐨勬粴鍔ㄦ潯*/ + /**婊氬姩鏉$殑瀹藉害*/ + ::-webkit-scrollbar { + width: 8px; + height: 8px; + } -.el-dialog__header .el-dialog__title { - font-size: 16px !important; -} + ::-webkit-scrollbar-thumb { + background-color: #bdbfc4; + border-radius: 3px; + } -.el-dialog__footer{ - padding-right: 40px; -} + /* 鍏ㄥ眬琛ㄦ牸鏍峰紡 */ + .el-table th.el-table__cell, + .has-gutter .el-table__cell { + background-color: #F0F1F5 !important; + color: #333; + } -.el-dialog__footer .el-button * { - font-size: 14px !important; -} + .has-gutter .el-table__cell .cell { + font-size: 14px !important; + font-weight: 500; + } -.el-dialog__footer .el-button { - height: 36px; - /* border: 1px solid rgba(190, 190, 190, 0.44); */ - /* box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); */ - padding: 0 14px; -} + .cell { + color: #333; + padding: 0 17px !important; + font-size: 12px; + } -.el-message-box__btns .el-button * { - font-size: 14px !important; -} + .cell span { + font-size: 12px; + font-weight: 400; + } -.el-message-box__btns .el-button{ - height: 36px; - border: 1px solid rgba(190, 190, 190, 0.44); - box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); - padding: 0 14px; -} + .el-table .el-table__cell { + padding: 0 0; + } -.el-button--primary { - background: #3A7BFA; -} + .el-table .el-table__row { + height: 41px; + } -.el-dialog__body { - padding: 15px 20px; -} + .el-table th.el-table__cell>.cell { + font-size: 14px; + font-weight: 400; + color: #333; + padding: 6px 17px !important; + } -.el-input.is-disabled input { - color: #666 !important; - background-color: rgba(0, 0, 0, 0.05) !important; -} -.el-divider{ - margin: 5px 0; -} -/* 鍏ㄥ眬杈撳叆妗嗘牱寮� */ -/* 鍏ㄥ眬鎸夐挳鏍峰紡 */ -</style> + /* 鍏ㄥ眬鍒嗛〉鍣ㄦ牱寮� */ + .el-pager .number { + font-size: 14px; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 4px; + margin: 0 2px; + color: #999; + font-weight: 500; + } + + .el-pager .number.active { + background-color: #3A7BFA; + color: #fff; + border: 0; + } + + .el-pager li.active+li { + border-left: 10px !important; + } + + /* 鍏ㄥ眬妯℃�佹鏍峰紡 */ + .el-dialog__header, + .el-message-box__header { + box-sizing: border-box; + height: 56px; + border-bottom: 1px solid rgb(238, 238, 238); + padding: 0px; + display: flex; + align-items: center; + } + + .el-dialog__header::before { + content: ""; + display: inline-block; + width: 4px; + height: 30.24px; + background: #3A7BFA; + border-radius: 10px; + margin-left: 32px; + margin-right: 8.5px; + } + + .el-message-box__header::before { + content: ""; + display: inline-block; + width: 4px; + height: 30.24px; + background: #3A7BFA; + border-radius: 10px; + margin-left: 20px; + margin-right: 8.5px; + } + + .el-dialog__header .el-dialog__title { + font-size: 16px !important; + } + + .el-dialog__footer { + padding-right: 40px; + } + + .el-dialog__footer .el-button * { + font-size: 14px !important; + } + + .el-dialog__footer .el-button { + height: 36px; + /* border: 1px solid rgba(190, 190, 190, 0.44); */ + /* box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); */ + padding: 0 14px; + } + + .el-message-box__btns .el-button * { + font-size: 14px !important; + } + + .el-message-box__btns .el-button { + height: 36px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 14px; + } + + .el-button--primary { + background: #3A7BFA; + } + + .el-dialog__body { + padding: 15px 20px; + } + + .el-input.is-disabled input { + color: #666 !important; + background-color: rgba(0, 0, 0, 0.05) !important; + } + + .el-divider { + margin: 10px 0; + } + + .required-span{ + color: red; + } + + /* 鍏ㄥ眬杈撳叆妗嗘牱寮� */ + /* 鍏ㄥ眬鎸夐挳鏍峰紡 */ +</style> \ No newline at end of file diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js index 73c0d20..b371575 100644 --- a/src/assets/api/controller.js +++ b/src/assets/api/controller.js @@ -3,7 +3,8 @@ Vue.prototype.$api = { login, user, - dataReporting + dataReporting, + enums } } @@ -17,10 +18,42 @@ updateUser: "/user/updateUser", //淇敼鐢ㄦ埛淇℃伅 addUser: "/user/addUser", //娣诲姞鐢ㄦ埛淇℃伅 selectRoleLists: "/role/selectRoleLists", //鑾峰彇瑙掕壊鍒楄〃 - delRole: "/role/delRole", //娣诲姞鐢ㄦ埛淇℃伅 + delRole: "/role/delRole", //鍒犻櫎瑙掕壊淇℃伅 + addRole: "/role/addRole", //娣诲姞瑙掕壊淇℃伅 + selectMenuList: "/role/selectMenuList", //鑾峰彇鑿滃崟 + selectPowerByRoleId: "/role/selectPowerByRoleId", //閫氳繃瑙掕壊id鏌ヨ鏉冮檺鍒楄〃 + upRole: "/role/upRole", //淇敼瑙掕壊 } const dataReporting = { selectDataReportingList: "/dataReporting/selectDataReportingList", //鑾峰彇鏁版嵁涓婃姤鍒楄〃 upDataReporting: "/dataReporting/upDataReporting", //淇敼鏁版嵁涓婃姤 + selectProductCountDtoPageList: "/dataReporting/selectProductCountDtoPageList", //鑾峰彇椤圭洰姹囨�诲垪琛� + selectRegistrantCountDtoPageList: "/dataReporting/selectRegistrantCountDtoPageList", //鑾峰彇鐧昏浜烘眹鎬诲垪琛� + + selectFansSubmitList: "/dataReporting/selectFansSubmitList", //鑾峰彇杩涚矇涓婃姤鍒楄〃 + delFansSubmit: "/dataReporting/delFansSubmit", //鍒犻櫎杩涚矇涓婃姤淇℃伅 + updateFansSubmit: "/dataReporting/updateFansSubmit", //淇敼杩涚矇涓婃姤淇℃伅 + addFansSubmit: "/dataReporting/addFansSubmit", //娣诲姞杩涚矇涓婃姤淇℃伅 + + selectFinanceSubmitList: "/dataReporting/selectFinanceSubmitList", //鑾峰彇璐㈠姟涓婃姤鍒楄〃 + delFinanceSubmit: "/dataReporting/delFinanceSubmit", //鍒犻櫎璐㈠姟涓婃姤淇℃伅 + updateFinanceSubmit: "/dataReporting/updateFinanceSubmit", //淇敼璐㈠姟涓婃姤淇℃伅 + addFinanceSubmit: "/dataReporting/addFinanceSubmit", //娣诲姞璐㈠姟涓婃姤淇℃伅 + + getDataList: "/dataReporting/getDataList", //鑾峰彇棣栭〉鏁版嵁 +} + +const enums = { + selectCustomEnumLists: "/enum/selectCustomEnumLists", //鑾峰彇瀹㈡埛鍒楄〃 + selectCustomEnumList: "/enum/selectCustomEnumList", //鑾峰彇瀹㈡埛鏋氫妇 + delCustomEnum: "/enum/delCustomEnum", //鍒犻櫎瀹㈡埛淇℃伅 + updateCustomEnum: "/enum/updateCustomEnum", //淇敼瀹㈡埛淇℃伅 + addCustomEnum: "/enum/addCustomEnum", //娣诲姞瀹㈡埛淇℃伅 + + selectProductEnumLists: "/enum/selectProductEnumLists", //鑾峰彇椤圭洰鍒楄〃 + selectProductEnumList: "/enum/selectProductEnumList", //鑾峰彇椤圭洰鏋氫妇 + delProductEnum: "/enum/delProductEnum", //鍒犻櫎椤圭洰淇℃伅 + updateProductEnum: "/enum/updateProductEnum", //淇敼椤圭洰淇℃伅 + addProductEnum: "/enum/addProductEnum", //娣诲姞椤圭洰淇℃伅 } \ No newline at end of file diff --git a/src/components/tool/value-table.vue b/src/components/tool/value-table.vue index 2d1868f..d32ed04 100644 --- a/src/components/tool/value-table.vue +++ b/src/components/tool/value-table.vue @@ -59,10 +59,10 @@ <el-col :span="5" style="text-align: right;">{{a.value}}锛�</el-col> <el-col :span="17" :offset="1"> <el-input v-model="upData[a.label]" size="small" clearable - v-if="showType(a.label, data.tagField) == null"></el-input> - <el-select v-model="upData[a.label]" size="small" v-if="showType(a.label, data.tagField) != null" + v-if="showType(a.label, data.selectField) == null"></el-input> + <el-select v-model="upData[a.label]" size="small" v-if="showType(a.label, data.selectField) != null" style="width: 100%;"> - <el-option v-for="(b, bi) in data.tagField[a.label].select" :key="bi" :value="b.value" + <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi" :value="b.value" :label="b.label"></el-option> </el-select> </el-col> @@ -79,10 +79,10 @@ <el-col :span="5" style="text-align: right;">{{a.value}}锛�</el-col> <el-col :span="17" :offset="1"> <el-input v-model="upData[a.label]" size="small" clearable :placeholder="`璇疯緭鍏�${a.value}`" - v-if="showType(a.label, data.tagField) == null"></el-input> - <el-select v-model="upData[a.label]" size="small" v-if="showType(a.label, data.tagField) != null" + v-if="showType(a.label, data.selectField) == null"></el-input> + <el-select v-model="upData[a.label]" size="small" v-if="showType(a.label, data.selectField) != null" style="width: 100%;" :placeholder="`璇烽�夋嫨${a.value}`"> - <el-option v-for="(b, bi) in data.tagField[a.label].select" :key="bi" :value="b.value" + <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi" :value="b.value" :label="b.label"></el-option> </el-select> </el-col> @@ -91,6 +91,15 @@ <span slot="footer" class="dialog-footer"> <el-button @click="addDia = false">鍙� 娑�</el-button> <el-button type="primary" @click="saveAddData" :loading="addLoad">纭� 瀹�</el-button> + </span> + </el-dialog> + <el-dialog title="瀵煎嚭" :visible.sync="downDia" width="400px"> + <div style="display: flex;width: 100%;height: 100px;"> + <div class="down-left"></div> + <div class="down-right"></div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="downDia = false">鍙� 娑�</el-button> </span> </el-dialog> </div> @@ -190,7 +199,8 @@ addDia: false, addUrl: null, addLoad: false, - dataCopy: {} + dataCopy: {}, + downDia: false } }, watch: { @@ -375,6 +385,9 @@ this.upHead = this.HaveJson(this.tableHead) this.upHead = this.upHead.filter(a => a.label != 'createTime' && a.label != 'updateTime') var val = this.data.do.filter(a => a.id == 'update')[0] + if(val == undefined) { + val = {field: []} + } val.field.forEach(a => { if (JSON.stringify(this.upData[a]) == undefined) { this.upHead.push({ @@ -416,6 +429,9 @@ this.addDia = false this.addLoad = false }) + }, + openDownDia(){ + this.downDia = true } } } diff --git a/src/components/view/custom-enum.vue b/src/components/view/custom-enum.vue new file mode 100644 index 0000000..0129d20 --- /dev/null +++ b/src/components/view/custom-enum.vue @@ -0,0 +1,153 @@ +<style scoped> + .title { + height: 60px; + line-height: 60px; + } + + .search { + background-color: #fff; + height: 80px; + display: flex; + align-items: center; + } + + .search_thing { + width: 350px; + display: flex; + align-items: center; + } + + .search_label { + width: 110px; + font-size: 14px; + text-align: right; + } + + .search_input { + width: calc(100% - 110px); + } + + .table { + margin-top: 10px; + background-color: #fff; + width: calc(100% - 40px); + height: calc(100% - 60px - 80px - 10px - 40px); + padding: 20px; + } +</style> + +<template> + <div class="role_manage"> + <div> + <el-row class="title"> + <el-col :span="12" style="padding-left: 20px;">瀹㈡埛绠$悊</el-col> + <el-col :span="12" style="text-align: right;"> + <el-button size="medium" type="primary" @click="openAdd" v-if="addPower">鏂板</el-button> + </el-col> + </el-row> + </div> + <div class="search"> + <div class="search_thing"> + <div class="search_label">瀹㈡埛鍚嶇О锛�</div> + <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="componentData.entity.name" @keyup.enter.native="refreshTable()"></el-input></div> + </div> + <div class="search_thing"> + <div class="search_label">鍏徃鍚嶇О锛�</div> + <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="componentData.entity.company" @keyup.enter.native="refreshTable()"></el-input></div> + </div> + <div class="search_thing" style="padding-left: 30px;"> + <el-button size="small" @click="refresh()">閲� 缃�</el-button> + <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> + </div> + </div> + <div class="table"> + <ValueTable ref="ValueTable" :url="$api.enums.selectCustomEnumLists" :upUrl="$api.enums.updateCustomEnum" :delUrl="$api.enums.delCustomEnum" :componentData="componentData" :key="upIndex"/> + </div> + </div> +</template> + +<script> + import ValueTable from '../tool/value-table.vue' + export default { + components: { + ValueTable + }, + data() { + return { + componentData: { + entity: { + name: null, + company: null, + orderBy: { + field: 'id', + order: 'asc' + } + }, + isIndex: true, + showSelect: true, + select: true, + do: [{ + id: 'update', + font: '缂栬緫', + type: 'text', + method: 'doDiy', + field:[] + },{ + id: 'delete', + font: '鍒犻櫎', + type: 'text', + method: 'doDiy' + }], + tagField: {} + }, + entityCopy: {}, + upIndex: 0, + addDia: false, + addPower: true + } + }, + mounted() { + this.entityCopy = this.HaveJson(this.componentData.entity) + this.getPower() + }, + methods: { + refreshTable() { + this.$refs['ValueTable'].selectList() + }, + refresh() { + this.componentData.entity = this.HaveJson(this.entityCopy) + this.upIndex++ + }, + openAdd(){ + this.$refs.ValueTable.openAddDia(this.$api.enums.addCustomEnum); + }, + // 鏉冮檺鍒嗛厤 + getPower(){ + let power = JSON.parse(sessionStorage.getItem('power')) + let up = false + let del = false + let add = false + for (var i = 0; i < power.length; i++) { + if(power[i].menuMethod=='updateCustomEnum'){ + up = true + } + if(power[i].menuMethod=='delCustomEnum'){ + del = true + } + if(power[i].menuMethod=='addCustomEnum'){ + add = true + } + } + if(!del){ + this.componentData.do.splice(1, 1) + } + if(!up){ + this.componentData.do.splice(0, 1) + } + this.addPower = add + } + } + } +</script> \ No newline at end of file diff --git a/src/components/view/data-reporting.vue b/src/components/view/data-reporting.vue index 5708237..e300894 100644 --- a/src/components/view/data-reporting.vue +++ b/src/components/view/data-reporting.vue @@ -47,7 +47,7 @@ <el-row class="title"> <el-col :span="12" style="padding-left: 20px;">鏁版嵁涓婃姤</el-col> <el-col :span="12" style="text-align: right;padding-right: 8px;"> - <el-button size="small" @click=""> + <el-button size="small" @click="$refs.ValueTable.openDownDia()"> <i class="el-icon-download" style="color: #3A7BFA;"></i> <span style="color: #3A7BFA;">瀵煎嚭</span> </el-button> @@ -72,6 +72,7 @@ <div class="search_input"> <el-select size="small" style="width: 100%;" placeholder="璇烽�夋嫨" v-model="componentData.entity.product"> <el-option :value="null" label="鍏ㄩ儴"></el-option> + <el-option v-for="(a, ai) in product" :key="ai" :label="a.product" :value="a.product"></el-option> </el-select> </div> </div> @@ -228,11 +229,14 @@ addDia: false, upDia: false, upLoad: false, - upData: {} + upData: {}, + product: [], } }, mounted() { this.entityCopy = this.HaveJson(this.componentData.entity) + this.selectProductEnumList() + this.getPower() }, methods: { refreshTable() { @@ -265,6 +269,25 @@ this.upDia = false this.refreshTable() }) + }, + selectProductEnumList(){ + this.$axios.get(this.$api.enums.selectProductEnumList).then(res=>{ + this.product = res.data + }) + }, + // 鏉冮檺鍒嗛厤 + getPower(){ + let power = JSON.parse(sessionStorage.getItem('power')) + let up = false + for (var i = 0; i < power.length; i++) { + if(power[i].menuMethod=='upDataReporting'){ + up = true + break + } + } + if(!up){ + this.componentData.do = [] + } } } } diff --git a/src/components/view/fans-submit.vue b/src/components/view/fans-submit.vue new file mode 100644 index 0000000..a56f93d --- /dev/null +++ b/src/components/view/fans-submit.vue @@ -0,0 +1,210 @@ +<style scoped> + .title { + height: 60px; + line-height: 60px; + } + + .search { + background-color: #fff; + height: 80px; + display: flex; + align-items: center; + } + + .search_thing { + width: 350px; + display: flex; + align-items: center; + } + + .search_label { + width: 110px; + font-size: 14px; + text-align: right; + } + + .search_input { + width: calc(100% - 110px); + } + + .table { + margin-top: 10px; + background-color: #fff; + width: calc(100% - 40px); + height: calc(100% - 60px - 80px - 10px - 40px); + padding: 20px; + } +</style> + +<template> + <div class="role_manage"> + <div> + <el-row class="title"> + <el-col :span="12" style="padding-left: 20px;">杩涚矇涓婃姤</el-col> + <el-col :span="12" style="text-align: right;"> + <el-button size="medium" type="primary" @click="openAdd" v-if="addPower">鏂板</el-button> + </el-col> + </el-row> + </div> + <div class="search"> + <div class="search_thing"> + <div class="search_label">绯荤粺鏃ユ湡锛�</div> + <div class="search_input"> + <el-date-picker size="small" v-model="componentData.entity.createTime" type="date" placeholder="閫夋嫨鏃ユ湡" value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker> + </div> + </div> + <div class="search_thing"> + <div class="search_label">瀹㈡埛鍚嶇О锛�</div> + <div class="search_input"> + <el-select size="small" style="width: 100%;" placeholder="璇烽�夋嫨" v-model="componentData.entity.custom"> + <el-option :value="null" label="鍏ㄩ儴"></el-option> + <el-option v-for="(a, ai) in custom" :key="ai" :label="a.name" :value="a.name"></el-option> + </el-select> + </div> + </div> + <div class="search_thing"> + <div class="search_label">椤圭洰锛�</div> + <div class="search_input"> + <el-select size="small" style="width: 100%;" placeholder="璇烽�夋嫨" v-model="componentData.entity.product"> + <el-option :value="null" label="鍏ㄩ儴"></el-option> + <el-option v-for="(a, ai) in product" :key="ai" :label="a.product" :value="a.product"></el-option> + </el-select> + </div> + </div> + <div class="search_thing"> + <div class="search_label">鐧昏浜猴細</div> + <div class="search_input"> + <el-input size="small" v-model="componentData.entity.createUserName" clearable placeholder="鐧昏浜�" @keyup.enter.native="refreshTable()"></el-input> + </div> + </div> + <div class="search_thing" style="padding-left: 30px;"> + <el-button size="small" @click="refresh()">閲� 缃�</el-button> + <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> + </div> + </div> + <div class="table"> + <ValueTable ref="ValueTable" :url="$api.dataReporting.selectFansSubmitList" :upUrl="$api.dataReporting.updateFansSubmit" :delUrl="$api.dataReporting.delFansSubmit" :componentData="componentData" :key="upIndex"/> + </div> + </div> +</template> + +<script> + import ValueTable from '../tool/value-table.vue' + export default { + components: { + ValueTable + }, + data() { + return { + componentData: { + entity: { + createTime: null, + custom: null, + product: null, + createUserName: null, + orderBy: { + field: 'id', + order: 'asc' + } + }, + isIndex: true, + showSelect: false, + select: true, + do: [{ + id: 'update', + font: '缂栬緫', + type: 'text', + method: 'doDiy', + field:['createUserName'] + },{ + id: 'delete', + font: '鍒犻櫎', + type: 'text', + method: 'doDiy' + }], + tagField: {}, + selectField: { + product: { + select: [] + }, + custom: {select: []} + }, + }, + entityCopy: {}, + upIndex: 0, + product: [], + custom: [], + addPower: true + } + }, + mounted() { + this.entityCopy = this.HaveJson(this.componentData.entity) + this.selectProductEnumList() + this.selectCustomEnumList() + this.getPower() + }, + methods: { + refreshTable() { + this.$refs['ValueTable'].selectList() + }, + refresh() { + this.componentData.entity = this.HaveJson(this.entityCopy) + this.upIndex++ + }, + openAdd(){ + this.$refs.ValueTable.openAddDia(this.$api.dataReporting.addFansSubmit); + }, + selectProductEnumList(){ + this.$axios.get(this.$api.enums.selectProductEnumList).then(res=>{ + this.product = res.data + var str = [] + res.data.forEach(a=>{ + str.push({ + label: a.product, + value: a.product + }) + }) + this.componentData.selectField.product.select = str + }) + }, + selectCustomEnumList(){ + this.$axios.get(this.$api.enums.selectCustomEnumList).then(res=>{ + this.custom = res.data + var str = [] + res.data.forEach(a=>{ + str.push({ + label: a.name, + value: a.name + }) + }) + this.componentData.selectField.custom.select = str + }) + }, + // 鏉冮檺鍒嗛厤 + getPower(){ + let power = JSON.parse(sessionStorage.getItem('power')) + let up = false + let del = false + let add = false + for (var i = 0; i < power.length; i++) { + if(power[i].menuMethod=='upDataReporting'){ + up = true + } + if(power[i].menuMethod=='delFansSubmit'){ + del = true + } + if(power[i].menuMethod=='addFansSubmit'){ + add = true + } + } + if(!del){ + this.componentData.do.splice(1, 1) + } + if(!up){ + this.componentData.do.splice(0, 1) + } + this.addPower = add + } + } + } +</script> \ No newline at end of file diff --git a/src/components/view/finance-submit.vue b/src/components/view/finance-submit.vue new file mode 100644 index 0000000..14db3e7 --- /dev/null +++ b/src/components/view/finance-submit.vue @@ -0,0 +1,183 @@ +<style scoped> + .title { + height: 60px; + line-height: 60px; + } + + .search { + background-color: #fff; + height: 80px; + display: flex; + align-items: center; + } + + .search_thing { + width: 350px; + display: flex; + align-items: center; + } + + .search_label { + width: 110px; + font-size: 14px; + text-align: right; + } + + .search_input { + width: calc(100% - 110px); + } + + .table { + margin-top: 10px; + background-color: #fff; + width: calc(100% - 40px); + height: calc(100% - 60px - 80px - 10px - 40px); + padding: 20px; + } +</style> + +<template> + <div class="role_manage"> + <div> + <el-row class="title"> + <el-col :span="12" style="padding-left: 20px;">璐㈠姟涓婃姤</el-col> + <el-col :span="12" style="text-align: right;"> + <el-button size="medium" type="primary" @click="openAdd" v-if="addPower">鏂板</el-button> + </el-col> + </el-row> + </div> + <div class="search"> + <div class="search_thing"> + <div class="search_label">璐︽埛鍚嶏細</div> + <div class="search_input"> + <el-input size="small" v-model="componentData.entity.name" clearable placeholder="璐︽埛鍚�" @keyup.enter.native="refreshTable()"></el-input> + </div> + </div> + <div class="search_thing" style="padding-left: 30px;"> + <el-button size="small" @click="refresh()">閲� 缃�</el-button> + <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> + </div> + </div> + <div class="table"> + <ValueTable ref="ValueTable" :url="$api.dataReporting.selectFinanceSubmitList" :upUrl="$api.dataReporting.updateFinanceSubmit" :delUrl="$api.dataReporting.delFinanceSubmit" :componentData="componentData" :key="upIndex"/> + </div> + </div> +</template> + +<script> + import ValueTable from '../tool/value-table.vue' + export default { + components: { + ValueTable + }, + data() { + return { + componentData: { + entity: { + name: null, + orderBy: { + field: 'id', + order: 'asc' + } + }, + isIndex: true, + showSelect: false, + select: true, + do: [{ + id: 'update', + font: '缂栬緫', + type: 'text', + method: 'doDiy', + field:['createUserName'] + },{ + id: 'delete', + font: '鍒犻櫎', + type: 'text', + method: 'doDiy' + }], + tagField: {}, + selectField: { + product: { + select: [] + }, + custom: {select: []} + }, + }, + entityCopy: {}, + upIndex: 0, + product: [], + custom: [], + addPower: true + } + }, + mounted() { + this.entityCopy = this.HaveJson(this.componentData.entity) + this.selectProductEnumList() + this.selectCustomEnumList() + this.getPower() + }, + methods: { + refreshTable() { + this.$refs['ValueTable'].selectList() + }, + refresh() { + this.componentData.entity = this.HaveJson(this.entityCopy) + this.upIndex++ + }, + openAdd(){ + this.$refs.ValueTable.openAddDia(this.$api.dataReporting.addFinanceSubmit); + }, + selectProductEnumList(){ + this.$axios.get(this.$api.enums.selectProductEnumList).then(res=>{ + this.product = res.data + var str = [] + res.data.forEach(a=>{ + str.push({ + label: a.product, + value: a.product + }) + }) + this.componentData.selectField.product.select = str + }) + }, + selectCustomEnumList(){ + this.$axios.get(this.$api.enums.selectCustomEnumList).then(res=>{ + this.custom = res.data + var str = [] + res.data.forEach(a=>{ + str.push({ + label: a.name, + value: a.name + }) + }) + this.componentData.selectField.custom.select = str + }) + }, + // 鏉冮檺鍒嗛厤 + getPower(){ + let power = JSON.parse(sessionStorage.getItem('power')) + let up = false + let del = false + let add = false + for (var i = 0; i < power.length; i++) { + if(power[i].menuMethod=='updateFinanceSubmit'){ + up = true + } + if(power[i].menuMethod=='delFinanceSubmit'){ + del = true + } + if(power[i].menuMethod=='addFinanceSubmit'){ + add = true + } + } + if(!del){ + this.componentData.do.splice(1, 1) + } + if(!up){ + this.componentData.do.splice(0, 1) + } + this.addPower = add + } + } + } +</script> \ No newline at end of file diff --git a/src/components/view/index-index.vue b/src/components/view/index-index.vue index 479fcde..d3b7b7c 100644 --- a/src/components/view/index-index.vue +++ b/src/components/view/index-index.vue @@ -1,16 +1,698 @@ <style scoped> + .index { + width: 100%; + height: calc(100% - 50px); + overflow-y: auto; + padding: 25px 0; + } + + .no { + width: 100%; + display: flex; + margin-bottom: 10px; + } + + .card { + border-radius: 6px; + background-color: #fff; + padding: 10px 20px; + } + + .no1 { + display: flex; + } + + .no1 .left { + width: 65%; + margin-right: 10px; + } + + .left-1 { + background-image: url("../../../static/img/棣栭〉鍥剧墖1.png"); + background-size: 100% 100%; + width: calc(100% - 40px); + height: 7.2vw; + margin-bottom: 10px; + } + + .left-1 .say { + height: 100%; + display: flex; + align-items: center; + margin-left: 15%; + width: 45%; + } + + .left-1 .say div { + color: #fff; + margin: 4px 0; + } + + .left-1 .say-1 { + font-size: 18px; + } + + .left-1 .say-2 { + font-size: 17px; + } + + .left-2 { + width: 100%; + display: flex; + } + + .card-1 { + width: calc(25% - 40px); + height: 100px; + display: flex; + align-items: center; + margin-right: 10px; + } + + .card-1 .label .p1 { + color: #333; + font-size: 0.85vw; + font-style: normal; + font-weight: 400; + margin-bottom: 10px; + } + + .card-1 .label .p2 { + color: #3A7BFA; + font-size: 1.4vw; + font-style: normal; + font-weight: 400; + } + + .card-1 .label { + width: calc(100% - 4vw); + } + + .card-1 .icon { + background-color: #F3F6FA; + border-radius: 50%; + width: 4vw; + height: 4vw; + display: flex; + align-items: center; + justify-content: center; + } + + .card-1 .icon i { + font-size: 1.6vw; + color: #3A7BFA; + } + + .right { + width: 35%; + height: calc(7.2vw + 10px + 120px); + display: flex; + flex-wrap: wrap; + } + + .card-2 { + width: 33.3%; + height: calc(50% - 20px); + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; + cursor: pointer; + margin-bottom: 10px; + } + + .card-2 .icon { + width: 3.5vw; + height: 3.5vw; + background-color: #F3F6FA; + border-radius: 24px; + } + + .card-2 .icon i { + font-size: 1.7vw; + display: flex; + align-items: center; + justify-content: center; + height: 100%; + } + + .card-2 .text { + width: 100%; + text-align: center; + } + + ::-webkit-scrollbar { + width: 0px; + } + + ::-webkit-scrollbar-thumb { + background-color: transparent; + border-radius: 3px; + } + + .cart-3, + .cart-4, + .cart-5, + .cart-6 { + width: calc(50%); + height: 300px; + background-color: #fff; + } + + .cart-3 div, + .cart-4 div, + .cart-5 div, + .cart-6 div { + width: 100%; + height: calc(100% - 30px); + } + + .card p { + width: 100%; + line-height: 30px; + } + + .cart-3, + .cart-5 { + margin-right: 10px; + } </style> <template> - <div class="index">棣栭〉</div> + <div class="index"> + <div class="no no1"> + <div class="left"> + <div class="left-1 card"> + <div class="say"> + <div style="display: flex;align-items: center;flex-wrap: wrap;"> + <div class="say-1">{{user.name}} 鎮ㄥソ锛佺鎮ㄥ紑蹇冩瘡涓�澶�</div> + <div class="say-2">褰撳墠鏃堕棿锛� {{now}}</div> + </div> + </div> + </div> + <div class="left-2"> + <div class="card card-1"> + <div class="label"> + <p class="p1">浠婃棩瀹㈡埛娑堣垂</p> + <p class="p2">{{data.data1.data1}}</p> + </div> + <div class="icon"> + <i class="font icon-a-Group1139"></i> + </div> + </div> + <div class="card card-1"> + <div class="label"> + <p class="p1">浠婃棩瀹為檯娑堣垂</p> + <p class="p2">{{data.data1.data2}}</p> + </div> + <div class="icon"> + <i class="font icon-a-Group1139"></i> + </div> + </div> + <div class="card card-1"> + <div class="label"> + <p class="p1">浠婃棩鎴愭湰</p> + <p class="p2">{{data.data1.data3}}</p> + </div> + <div class="icon"> + <i class="font icon-qiandai" style="color: #FF9900;font-size: 2.4vw;"></i> + </div> + </div> + <div class="card card-1" style="margin-right: 0;"> + <div class="label"> + <p class="p1">浠婃棩瀹為檯鎴愭湰</p> + <p class="p2">{{data.data1.data4}}</p> + </div> + <div class="icon"> + <i class="font icon-qiandai" style="color: #FF9900;font-size: 2.4vw;"></i> + </div> + </div> + </div> + </div> + <div class="right card"> + <p>甯哥敤鍔熻兘</p> + <div class="card-2" @click="openComponent('璐㈠姟涓婃姤')"> + <div class="icon"> + <i class="font icon-a-Group1236" style="color: #3A7BFA;"></i> + </div> + <div class="text">璐㈠姟涓婃姤</div> + </div> + <div class="card-2" @click="openComponent('杩涚矇涓婃姤')"> + <div class="icon"> + <i class="font icon-a-Group1122" style="color: #34BD66;"></i> + </div> + <div class="text">杩涚矇涓婃姤</div> + </div> + <div class="card-2" @click="openComponent('浜哄憳绠$悊')"> + <div class="icon"> + <i class="font icon-a-Group1124" style="color: #FF9900;"></i> + </div> + <div class="text">浜哄憳绠$悊</div> + </div> + <div class="card-2" @click="openComponent('瑙掕壊绠$悊')"> + <div class="icon"> + <i class="font icon-a-Group1126" style="color: #3A7BFA;"></i> + </div> + <div class="text">瑙掕壊绠$悊</div> + </div> + <div class="card-2" @click="openComponent('瀹㈡埛绠$悊')"> + <div class="icon"> + <i class="font icon-a-Group1124" style="color: #34BD66;"></i> + </div> + <div class="text">瀹㈡埛绠$悊</div> + </div> + <div class="card-2" @click="openComponent('椤圭洰绠$悊')"> + <div class="icon"> + <i class="font icon-a-Group1232" style="color: #FF9900;"></i> + </div> + <div class="text">椤圭洰绠$悊</div> + </div> + </div> + </div> + <div class="no no-2"> + <div class="card cart-3"> + <p>涓�鍛ㄥ鎴锋秷璐�</p> + <div id="card-1"></div> + </div> + <div class="card cart-4"> + <p>涓�鍛ㄥ鎴峰疄闄呮秷璐�</p> + <div id="card-2"></div> + </div> + </div> + <div class="no no-2"> + <div class="card cart-5"> + <p>椤圭洰瀹㈡埛鎴愭湰</p> + <div id="card-3"></div> + </div> + <div class="card cart-6"> + <p>椤圭洰瀹為檯鎴愭湰</p> + <div id="card-4"></div> + </div> + </div> + </div> </template> <script> - export default{ + import * as echarts from 'echarts'; + export default { data() { - return{} + return { + user: {}, + now: null, + data: { + data1: {}, + data2: [], + data3: [], + data4: [], + data5: [] + }, + myChart1: null, + myChart2: null, + myChart3: null, + myChart4: null + } }, mounted() { + this.user = JSON.parse(localStorage.getItem('user')) + this.nowTime() + this.myChart1 = echarts.init($('#card-1')[0]); + this.myChart2 = echarts.init($('#card-2')[0]); + this.myChart3 = echarts.init($('#card-3')[0]); + this.myChart4 = echarts.init($('#card-4')[0]); + this.getDataList() + setInterval(() => { + this.nowTime() + }, 1000) + setInterval(() => { + this.getDataList() + }, 30000) + }, + methods: { + nowTime() { + var date = new Date(); + var y = date.getFullYear(); + var m = date.getMonth() + 1; + var d = date.getDate(); + var h = date.getHours(); + this.timeH = h + var min = date.getMinutes(); + var s = date.getSeconds(); + if (s < 10) { + s = "0" + s; + } + if (min < 10) { + min = "0" + min; + } + if (h < 10) { + h = "0" + h; + } + if (d < 10) { + d = "0" + d; + } + if (m < 10) { + m = "0" + m; + } + this.now = y + "-" + m + "-" + d + " " + h + ":" + min + ":" + s; + }, + openComponent(str) { + var str1 = {} + var str2 = -1 + switch (str) { + case '璐㈠姟涓婃姤': + str1 = { + k: 6, + v: "璐㈠姟涓婃姤", + i: "font icon-a-Group1236", + u: "finance-submit" + } + break + case '杩涚矇涓婃姤': + str1 = { + k: 5, + v: "杩涚矇涓婃姤", + i: "font icon-a-Group1122", + u: "fans-submit" + } + break + case '浜哄憳绠$悊': + str1 = { + k: 8, + v: "浜哄憳绠$悊", + i: "font icon-a-Group1124", + u: "person-manage" + } + break + case '瑙掕壊绠$悊': + str1 = { + k: 7, + v: "瑙掕壊绠$悊", + i: "font icon-a-Group1126", + u: "role-manage" + } + break + case '瀹㈡埛绠$悊': + str1 = { + k: 4, + v: "瀹㈡埛绠$悊", + i: "font icon-24gl-clipboardList", + u: "custom-enum" + } + str2 = 4 + break + case '椤圭洰绠$悊': + str1 = { + k: 11, + v: "椤圭洰绠$悊", + i: "font icon-24gl-clipboardList", + u: "product-enum" + } + str2 = 4 + break + } + this.$parent.addTab(str1, str2) + }, + initEcharts1() { + var myChart = this.myChart1 + var option; + let dataX = [] + let data = []; + this.data.data2.forEach(a => { + dataX.push(a.date) + data.push(a.account_consumptions) + }) + let yMax = 1000; + let dataShadow = []; + for (let i = 0; i < data.length; i++) { + dataShadow.push(yMax); + } + option = { + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + } + }, + grid: { + top: "20px", + left: "50px", + bottom: "30px", + right: "20px" + }, + title: {}, + xAxis: { + type: 'category', + data: dataX, + axisLabel: { + color: '#333' + }, + }, + yAxis: { + axisLine: { + show: false + }, + axisTick: { + show: false + }, + axisLabel: { + color: '#333' + }, + splitLine: { + lineStyle: { + type: [10, 10], + dashOffset: 20 + }, + show: true + } + }, + series: [{ + type: 'bar', + barWidth: '20%', + roam: false, + itemStyle: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#ffd062' + }, + { + offset: 0.5, + color: '#ffa844' + }, + { + offset: 1, + color: '#f59433' + } + ]), + barBorderRadius: [8, 8, 0, 0] + }, + data: data + }] + }; + option && myChart.setOption(option); + }, + initEcharts2() { + var myChart = this.myChart2 + var option; + let dataX = [] + let data = []; + this.data.data3.forEach(a => { + dataX.push(a.date) + data.push(a.consumption) + }) + let yMax = 1000; + let dataShadow = []; + for (let i = 0; i < data.length; i++) { + dataShadow.push(yMax); + } + option = { + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + } + }, + grid: { + top: "20px", + left: "50px", + bottom: "30px", + right: "20px" + }, + title: {}, + xAxis: { + type: 'category', + data: dataX, + axisLabel: { + color: '#333' + }, + }, + yAxis: { + axisLine: { + show: false + }, + axisTick: { + show: false + }, + axisLabel: { + color: '#333' + }, + splitLine: { + lineStyle: { + type: [10, 10], + dashOffset: 20 + }, + show: true + } + }, + series: [{ + type: 'bar', + barWidth: '20%', + itemStyle: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#74b3fe' + }, + { + offset: 0.5, + color: '#4982f3' + }, + { + offset: 1, + color: '#1c56df' + } + ]), + barBorderRadius: [8, 8, 0, 0] + }, + data: data + }] + }; + option && myChart.setOption(option); + }, + initEcharts3() { + var myChart = this.myChart3 + var dataX = [] + var dataY = [] + this.data.data4.forEach(a => { + dataX.push(a.product) + dataY.push(a.customerCosts) + }) + var option; + option = { + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + } + }, + grid: { + top: "20px", + left: "50px", + bottom: "30px", + right: "20px" + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: dataX, + axisLabel: { + interval: 0, + } + }, + yAxis: { + type: 'value', + splitLine: { + lineStyle: { + type: [10, 10], + dashOffset: 20 + }, + show: true + } + }, + series: [{ + data: dataY, + type: 'line', + areaStyle: {}, + smooth: true, + symbolSize: 7, + lineStyle: { + color: '#3c7aff' + }, + itemStyle: { + color: '#3c7aff' + }, + areaStyle: { + color: '#E5EEFF' + } + }] + }; + option && myChart.setOption(option); + }, + initEcharts4() { + var myChart = this.myChart4 + var dataX = [] + var dataY = [] + this.data.data5.forEach(a => { + dataX.push(a.product) + dataY.push(a.actualCost) + }) + var option; + option = { + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + } + }, + grid: { + top: "20px", + left: "50px", + bottom: "30px", + right: "20px" + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: dataX, + axisLabel: { + interval: 0 + } + }, + yAxis: { + type: 'value', + splitLine: { + lineStyle: { + type: [10, 10], + dashOffset: 20 + }, + show: true + } + }, + series: [{ + data: dataY, + type: 'line', + areaStyle: {}, + smooth: true, + symbolSize: 7, + lineStyle: { + color: '#f59433' + }, + itemStyle: { + color: '#f59433' + }, + areaStyle: { + color: '#FFF6DE' + } + }] + }; + option && myChart.setOption(option); + }, + getDataList() { + this.$axios.get(this.$api.dataReporting.getDataList).then(res => { + this.data = res.data + this.initEcharts1() + this.initEcharts2() + this.initEcharts3() + this.initEcharts4() + }) + } } } </script> \ No newline at end of file diff --git a/src/components/view/person-manage.vue b/src/components/view/person-manage.vue index 89674b0..2631919 100644 --- a/src/components/view/person-manage.vue +++ b/src/components/view/person-manage.vue @@ -42,7 +42,7 @@ <el-row class="title"> <el-col :span="12" style="padding-left: 20px;">浜哄憳绠$悊</el-col> <el-col :span="12" style="text-align: right;"> - <el-button size="medium" type="primary" @click="opeaAdd">鏂板浜哄憳</el-button> + <el-button size="medium" type="primary" @click="opeaAdd" v-if="addPower">鏂板浜哄憳</el-button> </el-col> </el-row> </div> @@ -118,6 +118,19 @@ type: 'danger', label: '鍋滅敤' }] + } + }, + selectField: { + state: { + select: [{ + value: 1, + type: 'success', + label: '鍚敤' + },{ + value: 0, + type: 'danger', + label: '鍋滅敤' + }] }, roleId: { select: [] @@ -126,12 +139,14 @@ }, entityCopy: {}, upIndex: 0, - addDia: false + addDia: false, + addPower: true } }, mounted() { this.selectRole() this.entityCopy = this.HaveJson(this.componentData.entity) + this.getPower() }, methods: { refreshTable() { @@ -153,11 +168,29 @@ value: a.id }) }) - this.componentData.tagField.roleId.select = str + this.componentData.selectField.roleId.select = str }) }, opeaAdd(){ this.$refs.ValueTable.openAddDia(this.$api.user.addUser); + }, + // 鏉冮檺鍒嗛厤 + getPower(){ + let power = JSON.parse(sessionStorage.getItem('power')) + let up = false + let add = false + for (var i = 0; i < power.length; i++) { + if(power[i].menuMethod=='updateUser'){ + up = true + } + if(power[i].menuMethod=='addUser'){ + add = true + } + } + if(!up){ + this.componentData.do.splice(0, 1) + } + this.addPower = add } } } diff --git a/src/components/view/product-count.vue b/src/components/view/product-count.vue new file mode 100644 index 0000000..6c57801 --- /dev/null +++ b/src/components/view/product-count.vue @@ -0,0 +1,134 @@ +<style scoped> + .title { + height: 60px; + line-height: 60px; + } + + .search { + background-color: #fff; + height: 80px; + display: flex; + align-items: center; + } + + .search_thing { + width: 350px; + display: flex; + align-items: center; + } + + .search_label { + width: 110px; + font-size: 14px; + text-align: right; + } + + .search_input { + width: calc(100% - 110px); + } + + .table { + margin-top: 10px; + background-color: #fff; + width: calc(100% - 40px); + height: calc(100% - 60px - 80px - 10px - 40px); + padding: 20px; + } +</style> + +<template> + <div class="product_count"> + <div> + <el-row class="title"> + <el-col :span="12" style="padding-left: 20px;">椤圭洰鏁版嵁缁熻</el-col> + <el-col :span="12" style="text-align: right;"> + <el-button size="small" @click=""> + <i class="el-icon-download" style="color: #3A7BFA;"></i> + <span style="color: #3A7BFA;">瀵煎嚭</span> + </el-button> + </el-col> + </el-row> + </div> + <div class="search"> + <div class="search_thing"> + <div class="search_label">绯荤粺鏃ユ湡锛�</div> + <div class="search_input"> + <el-date-picker size="small" v-model="componentData.entity.updateTime" type="date" placeholder="閫夋嫨鏃ユ湡" value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker> + </div> + </div> + <div class="search_thing"> + <div class="search_label">鐧昏鏃ユ湡锛�</div> + <div class="search_input"> + <el-date-picker size="small" v-model="componentData.entity.createTime" type="date" placeholder="閫夋嫨鏃ユ湡" value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker> + </div> + </div> + <div class="search_thing"> + <div class="search_label">椤圭洰锛�</div> + <div class="search_input"> + <el-select size="small" style="width: 100%;" placeholder="璇烽�夋嫨" v-model="componentData.entity.product"> + <el-option :value="null" label="鍏ㄩ儴"></el-option> + <el-option v-for="(a, ai) in product" :key="ai" :label="a.product" :value="a.product"></el-option> + </el-select> + </div> + </div> + <div class="search_thing" style="padding-left: 30px;"> + <el-button size="small" @click="refresh()">閲� 缃�</el-button> + <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> + </div> + </div> + <div class="table"> + <ValueTable ref="ValueTable" :url="$api.dataReporting.selectProductCountDtoPageList" :componentData="componentData" :key="upIndex"/> + </div> + </div> +</template> + +<script> + import ValueTable from '../tool/value-table.vue' + export default { + components: { + ValueTable + }, + data() { + return { + componentData: { + entity: { + updateTime: null, + createTime: null, + product: null, + orderBy: { + field: 'update_time', + order: 'asc' + } + }, + isIndex: false, + showSelect: false, + select: true, + do: [], + tagField: {} + }, + entityCopy: {}, + upIndex: 0, + addDia: false, + product: [] + } + }, + mounted() { + this.entityCopy = this.HaveJson(this.componentData.entity) + this.selectProductEnumList() + }, + methods: { + refreshTable() { + this.$refs['ValueTable'].selectList() + }, + refresh() { + this.componentData.entity = this.HaveJson(this.entityCopy) + this.upIndex++ + }, + selectProductEnumList(){ + this.$axios.get(this.$api.enums.selectProductEnumList).then(res=>{ + this.product = res.data + }) + } + } + } +</script> \ No newline at end of file diff --git a/src/components/view/product-enum.vue b/src/components/view/product-enum.vue new file mode 100644 index 0000000..dd36b8f --- /dev/null +++ b/src/components/view/product-enum.vue @@ -0,0 +1,147 @@ +<style scoped> + .title { + height: 60px; + line-height: 60px; + } + + .search { + background-color: #fff; + height: 80px; + display: flex; + align-items: center; + } + + .search_thing { + width: 350px; + display: flex; + align-items: center; + } + + .search_label { + width: 110px; + font-size: 14px; + text-align: right; + } + + .search_input { + width: calc(100% - 110px); + } + + .table { + margin-top: 10px; + background-color: #fff; + width: calc(100% - 40px); + height: calc(100% - 60px - 80px - 10px - 40px); + padding: 20px; + } +</style> + +<template> + <div class="product_manage"> + <div> + <el-row class="title"> + <el-col :span="12" style="padding-left: 20px;">椤圭洰绠$悊</el-col> + <el-col :span="12" style="text-align: right;"> + <el-button size="medium" type="primary" @click="openAdd" v-if="addPower">鏂板</el-button> + </el-col> + </el-row> + </div> + <div class="search"> + <div class="search_thing"> + <div class="search_label">椤圭洰鍚嶇О锛�</div> + <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="componentData.entity.product" @keyup.enter.native="refreshTable()"></el-input></div> + </div> + <div class="search_thing" style="padding-left: 30px;"> + <el-button size="small" @click="refresh()">閲� 缃�</el-button> + <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> + </div> + </div> + <div class="table"> + <ValueTable ref="ValueTable" :url="$api.enums.selectProductEnumLists" :upUrl="$api.enums.updateProductEnum" :delUrl="$api.enums.delProductEnum" :componentData="componentData" :key="upIndex"/> + </div> + </div> +</template> + +<script> + import ValueTable from '../tool/value-table.vue' + export default { + components: { + ValueTable + }, + data() { + return { + componentData: { + entity: { + product: null, + orderBy: { + field: 'id', + order: 'asc' + } + }, + isIndex: true, + showSelect: true, + select: true, + do: [{ + id: 'update', + font: '缂栬緫', + type: 'text', + method: 'doDiy', + field:[] + },{ + id: 'delete', + font: '鍒犻櫎', + type: 'text', + method: 'doDiy' + }], + tagField: {} + }, + entityCopy: {}, + upIndex: 0, + addDia: false, + addPower: true + } + }, + mounted() { + this.entityCopy = this.HaveJson(this.componentData.entity) + this.getPower() + }, + methods: { + refreshTable() { + this.$refs['ValueTable'].selectList() + }, + refresh() { + this.componentData.entity = this.HaveJson(this.entityCopy) + this.upIndex++ + }, + openAdd(){ + this.$refs.ValueTable.openAddDia(this.$api.enums.addProductEnum); + }, + // 鏉冮檺鍒嗛厤 + getPower(){ + let power = JSON.parse(sessionStorage.getItem('power')) + let up = false + let del = false + let add = false + for (var i = 0; i < power.length; i++) { + if(power[i].menuMethod=='updateProductEnum'){ + up = true + } + if(power[i].menuMethod=='delProductEnum'){ + del = true + } + if(power[i].menuMethod=='addProductEnum'){ + add = true + } + } + if(!del){ + this.componentData.do.splice(1, 1) + } + if(!up){ + this.componentData.do.splice(0, 1) + } + this.addPower = add + } + } + } +</script> \ No newline at end of file diff --git a/src/components/view/registrant-count.vue b/src/components/view/registrant-count.vue new file mode 100644 index 0000000..882b39a --- /dev/null +++ b/src/components/view/registrant-count.vue @@ -0,0 +1,142 @@ +<style scoped> + .title { + height: 60px; + line-height: 60px; + } + + .search { + background-color: #fff; + height: 80px; + display: flex; + align-items: center; + } + + .search_thing { + width: 350px; + display: flex; + align-items: center; + } + + .search_label { + width: 110px; + font-size: 14px; + text-align: right; + } + + .search_input { + width: calc(100% - 110px); + } + + .table { + margin-top: 10px; + background-color: #fff; + width: calc(100% - 40px); + height: calc(100% - 60px - 80px - 10px - 40px); + padding: 20px; + } +</style> +<style> + .registrant_count .el-table__row{ + height: 41px; + } +</style> + +<template> + <div class="registrant_count"> + <div> + <el-row class="title"> + <el-col :span="12" style="padding-left: 20px;">鍛樺伐鏁版嵁缁熻</el-col> + <el-col :span="12" style="text-align: right;"> + <el-button size="small" @click=""> + <i class="el-icon-download" style="color: #3A7BFA;"></i> + <span style="color: #3A7BFA;">瀵煎嚭</span> + </el-button> + </el-col> + </el-row> + </div> + <div class="search"> + <div class="search_thing"> + <div class="search_label">瀹㈡埛鍚嶇О锛�</div> + <div class="search_input"> + <el-select size="small" style="width: 100%;" placeholder="璇烽�夋嫨" v-model="componentData.entity.name"> + <el-option :value="null" label="鍏ㄩ儴"></el-option> + <el-option v-for="(a, ai) in custom" :key="ai" :label="a.name" :value="a.name"></el-option> + </el-select> + </div> + </div> + <div class="search_thing"> + <div class="search_label">椤圭洰锛�</div> + <div class="search_input"> + <el-select size="small" style="width: 100%;" placeholder="璇烽�夋嫨" v-model="componentData.entity.product"> + <el-option :value="null" label="鍏ㄩ儴"></el-option> + <el-option v-for="(a, ai) in product" :key="ai" :label="a.product" :value="a.product"></el-option> + </el-select> + </div> + </div> + <div class="search_thing" style="padding-left: 30px;"> + <el-button size="small" @click="refresh()">閲� 缃�</el-button> + <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> + </div> + </div> + <div class="table"> + <ValueTable ref="ValueTable" :url="$api.dataReporting.selectRegistrantCountDtoPageList" :componentData="componentData" :key="upIndex"/> + </div> + </div> +</template> + +<script> + import ValueTable from '../tool/value-table.vue' + export default { + components: { + ValueTable + }, + data() { + return { + componentData: { + entity: { + name: null, + product: null, + orderBy: { + field: 'update_time', + order: 'asc' + } + }, + isIndex: false, + showSelect: false, + select: true, + do: [], + tagField: {} + }, + entityCopy: {}, + upIndex: 0, + addDia: false, + product: [], + custom:[] + } + }, + mounted() { + this.entityCopy = this.HaveJson(this.componentData.entity) + this.selectProductEnumList() + this.selectCustomEnumList() + }, + methods: { + refreshTable() { + this.$refs['ValueTable'].selectList() + }, + refresh() { + this.componentData.entity = this.HaveJson(this.entityCopy) + this.upIndex++ + }, + selectProductEnumList(){ + this.$axios.get(this.$api.enums.selectProductEnumList).then(res=>{ + this.product = res.data + }) + }, + selectCustomEnumList(){ + this.$axios.get(this.$api.enums.selectCustomEnumList).then(res=>{ + this.custom = res.data + }) + } + } + } +</script> \ No newline at end of file diff --git a/src/components/view/role-manage.vue b/src/components/view/role-manage.vue index 03dd0f3..a306f66 100644 --- a/src/components/view/role-manage.vue +++ b/src/components/view/role-manage.vue @@ -42,15 +42,15 @@ <el-row class="title"> <el-col :span="12" style="padding-left: 20px;">瑙掕壊绠$悊</el-col> <el-col :span="12" style="text-align: right;"> - <el-button size="medium" type="primary" @click="opeaAdd">鏂板瑙掕壊</el-button> + <el-button size="medium" type="primary" @click="openAdd" v-if="addPower">鏂板瑙掕壊</el-button> </el-col> </el-row> </div> <div class="search"> <div class="search_thing"> <div class="search_label">瑙掕壊鍚嶇О锛�</div> - <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable - v-model="componentData.entity.name" @keyup.enter.native="refreshTable()"></el-input></div> + <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="componentData.entity.name" + @keyup.enter.native="refreshTable()"></el-input></div> </div> <div class="search_thing" style="padding-left: 30px;"> <el-button size="small" @click="refresh()">閲� 缃�</el-button> @@ -58,9 +58,48 @@ </div> </div> <div class="table"> - <ValueTable ref="ValueTable" :url="$api.user.selectRoleLists" :delUrl="$api.user.delRole" :componentData="componentData" :key="upIndex" - @upRole="upRole" @selectRole="selectRole"/> + <ValueTable ref="ValueTable" :url="$api.user.selectRoleLists" :delUrl="$api.user.delRole" + :componentData="componentData" :key="upIndex" @upRole="upRole" @selectRole="selectRole" /> </div> + <el-dialog :title="type" :visible.sync="addDia" width="500px" @closed="closed"> + <div style="max-height: 500px;overflow-y: auto;padding: 8px;" v-if="addDia"> + <el-row style="line-height: 40px;margin-bottom: 15px;"> + <el-col :span="8"><span class="required-span">* </span>瑙掕壊鍚�</el-col> + <el-col :span="16"> + <el-input v-model="addData.roleName" size="medium" placeholder="闇�鍞竴瑙掕壊鍚�" clearable :disabled="type=='鏌ョ湅'"></el-input> + </el-col> + </el-row> + <el-divider content-position="left">鏉冮檺鍒嗛厤</el-divider> + <el-collapse style="margin-top: 10px;"> + <el-collapse-item title="鏌ヨ"> + <el-row style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type=='鏌ヨ'"> + <el-col :span="18"> + <el-checkbox :disabled="type=='鏌ョ湅'" v-model="a.isClick">{{a.remark}}</el-checkbox> + </el-col> + <el-col :span="6"> + <el-checkbox :disabled="type=='鏌ョ湅'" v-model="a.look">鍙湅鎴�</el-checkbox> + </el-col> + </el-row> + </el-collapse-item> + <el-collapse-item title="娣诲姞"> + <div style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type=='娣诲姞'"><el-checkbox + v-model="a.isClick" :disabled="type=='鏌ョ湅'">{{a.remark}}</el-checkbox></div> + </el-collapse-item> + <el-collapse-item title="淇敼"> + <div style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type=='淇敼'"><el-checkbox + v-model="a.isClick" :disabled="type=='鏌ョ湅'">{{a.remark}}</el-checkbox></div> + </el-collapse-item> + <el-collapse-item title="鍒犻櫎"> + <div style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type=='鍒犻櫎'"><el-checkbox + v-model="a.isClick" :disabled="type=='鏌ョ湅'">{{a.remark}}</el-checkbox></div> + </el-collapse-item> + </el-collapse> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="addDia = false">鍙� 娑�</el-button> + <el-button type="primary" @click="saveAddData" :loading="addLoad" v-if="type!='鏌ョ湅'">纭� 瀹�</el-button> + </span> + </el-dialog> </div> </template> @@ -81,31 +120,45 @@ } }, isIndex: true, - showSelect: true, + showSelect: false, select: true, do: [{ font: '缂栬緫', type: 'text', method: 'upRole', - },{ + field: [] + }, { id: 'delete', font: '鍒犻櫎', type: 'text', method: 'doDiy', - },{ + }, { font: '鏌ョ湅', type: 'text', method: 'selectRole', }], - tagField: {} + tagField: {}, + selectField: {} }, entityCopy: {}, upIndex: 0, - addDia: false + addDia: false, + addLoad: false, + addData: { + roleId2: null, + roleName: null, + powers: [] + }, + menu: [], + menuCopy: [], + type: '鏂板', + addPower: true } }, mounted() { this.entityCopy = this.HaveJson(this.componentData.entity) + this.selectMenuList() + this.getPower() }, methods: { refreshTable() { @@ -115,14 +168,127 @@ this.componentData.entity = this.HaveJson(this.entityCopy) this.upIndex++ }, + selectMenuList() { + this.$axios.get(this.$api.user.selectMenuList).then(res => { + res.data.forEach(a => { + a.isClick = false + a.look = false + }) + this.menu = res.data + this.menuCopy = this.HaveJson(res.data) + }) + }, upRole(row) { - console.log(row); + this.type = '淇敼' + this.addData.roleName = row.name + this.selectPowerByRoleId(row.id) }, - selectRole(row){ - console.log(row); + selectRole(row) { + this.type = '鏌ョ湅' + this.addData.roleName = row.name + this.selectPowerByRoleId(row.id) }, - opeaAdd() { - + openAdd() { + this.type = '鏂板' + this.addDia = true + }, + saveAddData() { + if (this.addData.roleName == '' || this.addData.roleName == null) { + this.$message.error('璇峰~鍐欒鑹插悕') + return + } + this.addLoad = true + let url = '' + if (this.type == '鏂板') { + url = this.$api.user.addRole + } else { + url = this.$api.user.upRole + } + this.addData.powers = [] + this.menu.forEach(a => { + if (a.isClick) { + let str = 0 + if (a.look) { + str = 1 + } + this.addData.powers.push({ + menuMethod: a.method, + look: str + }) + } + }) + this.$axios.post(url, { + str: JSON.stringify(this.addData) + }).then(res => { + if(res.code == 201){ + if (this.type == '鏂板') { + this.$message.error('娣诲姞澶辫触') + } else { + this.$message.error('淇敼澶辫触') + } + this.addLoad = false + return + } + if (this.type == '鏂板') { + this.$message.success('娣诲姞鎴愬姛') + } else { + this.$message.success('淇敼鎴愬姛') + } + this.addLoad = false + this.addDia = false + this.refreshTable() + }).catch(e => { + this.addLoad = false + }) + }, + selectPowerByRoleId(id) { + this.$axios.post(this.$api.user.selectPowerByRoleId, { + id: id + }).then(res => { + res.data.forEach(a => { + this.menu.forEach(b => { + if (a.menuMethod == b.method) { + b.isClick = true + b.look = (a.look == 1 ? true : false) + } + }) + }) + this.addData.roleId2 = id + this.addDia = true + }) + }, + closed() { + this.addData = { + roleId2: null, + roleName: null, + powers: [] + } + this.menu = this.HaveJson(this.menuCopy) + }, + // 鏉冮檺鍒嗛厤 + getPower(){ + let power = JSON.parse(sessionStorage.getItem('power')) + let up = false + let del = false + let add = false + for (var i = 0; i < power.length; i++) { + if(power[i].menuMethod=='upRole'){ + up = true + } + if(power[i].menuMethod=='delRole'){ + del = true + } + if(power[i].menuMethod=='addRole'){ + add = true + } + } + if(!del){ + this.componentData.do.splice(1, 1) + } + if(!up){ + this.componentData.do.splice(0, 1) + } + this.addPower = add } } } diff --git a/src/view/enter.vue b/src/view/enter.vue index 84771e1..ddc3bc9 100644 --- a/src/view/enter.vue +++ b/src/view/enter.vue @@ -187,6 +187,7 @@ })) sessionStorage.setItem('token', res.data.token) sessionStorage.setItem('reToken', res.data.reToken) + sessionStorage.setItem('power', JSON.stringify(res.data.power)) this.$message.success("鐧诲綍鎴愬姛") this.$router.push('/') }).catch(e => { diff --git a/src/view/index.vue b/src/view/index.vue index 342b566..1e2e81c 100644 --- a/src/view/index.vue +++ b/src/view/index.vue @@ -261,17 +261,17 @@ </div> <div class="left" :style="`width: ${leftOpen?'92':'0'}px;`"> <div v-for="(a, ai) in menu" :key="ai"> - <div :class="`box ${activeBox == a.c[0].k ? 'active_box' : ''}`" @click="addTab(a.c[0], -1)" v-if="a.self"> + <div :class="`box ${activeBox == a.c[0].k ? 'active_box' : ''}`" @click="addTab(a.c[0], -1)" v-if="a.self && getPower(a.c[0].p)"> <i :class="a.i"></i> <div>{{a.v}}</div> </div> - <el-popover placement="right-start" width="90" trigger="click" v-if="a.self != true"> + <el-popover placement="right-start" width="90" trigger="click" v-if="a.self != true && getPower(a.p)"> <div :class="`box ${activeBox == a.k ? 'active_box' : ''}`" slot="reference"> <i :class="a.i"></i> <div>{{ a.v }}</div> </div> <div class="small_menu"> - <p v-for="(b, bi) in a.c" :key="bi" :class="activeP == b.k ? 'active_p' : ''" @click="addTab(b, a.k)"> + <p v-for="(b, bi) in a.c" :key="bi" :class="activeP == b.k ? 'active_p' : ''" @click="addTab(b, a.k)" v-if="getPower(b.p)"> <i :class="b.i"></i> <span>{{ b.v }}</span> </p> @@ -292,7 +292,7 @@ <i class="el-icon-delete" @click="allDel" title="鍒犻櫎鎵�鏈夋爣绛鹃〉"></i> </div> <div class="component_view"> - <component class="com_index" v-for="(com, index) in tabs" :is="com.u" :key="index" + <component class="com_index" v-for="(com, index) in tabs" :is="com.u" :key="com.k" v-show="com.k == tabActive" :ref="`com-${com.k}`"> </component> </div> @@ -332,94 +332,104 @@ menu: [{ k: 0, v: "棣栭〉", - i: "font icon-a-Group1124", + i: "font icon-shouyefill", self: true, c: [{ k: 0, v: "棣栭〉", - i: "font icon-a-Group1124", + i: "font icon-shouyefill", u: "index-index" }] }, { k: 2, v: "鏁版嵁涓婃姤", - i: "font icon-a-Group1124", + i: "font icon-a-Group1118", self: true, c: [{ k: 2, v: "鏁版嵁涓婃姤", - i: "font icon-a-Group1124", - u: "data-reporting" + i: "font icon-a-Group1118", + u: "data-reporting", + p: "selectDataReportingList" }] }, { k: 3, v: "鏁版嵁缁熻", - i: "font icon-a-Group1124", + i: "font icon-a-Group1120", + p: "selectProductCountDtoPageList selectRegistrantCountDtoPageList", c: [{ k: 9, v: "椤圭洰鏁版嵁缁熻", - i: "font icon-a-Group1124", - u: "index-index" + i: "font icon-24gl-clipboardList", + u: "product-count", + p: "selectProductCountDtoPageList" },{ k: 10, v: "鍛樺伐鏁版嵁缁熻", - i: "font icon-a-Group1124", - u: "index-index" + i: "font icon-24gl-clipboardList", + u: "registrant-count", + p: "selectRegistrantCountDtoPageList" }] }, { k: 5, v: "杩涚矇涓婃姤", - i: "font icon-a-Group1124", + i: "font icon-a-Group1122", self: true, c: [{ k: 5, v: "杩涚矇涓婃姤", - i: "font icon-a-Group1124", - u: "index-index" + i: "font icon-a-Group1122", + u: "fans-submit", + p: "selectFansSubmitList" }] }, { k: 6, v: "璐㈠姟涓婃姤", - i: "font icon-a-Group1124", + i: "font icon-a-Group1236", self: true, c: [{ k: 6, v: "璐㈠姟涓婃姤", - i: "font icon-a-Group1124", - u: "index-index" + i: "font icon-a-Group1236", + u: "finance-submit", + p: "selectFinanceSubmitList" }] }, { k: 7, v: "瑙掕壊绠$悊", - i: "font icon-a-Group1124", + i: "font icon-a-Group1126", self: true, c: [{ k: 7, v: "瑙掕壊绠$悊", - i: "font icon-a-Group1124", - u: "role-manage" + i: "font icon-a-Group1126", + u: "role-manage", + p: "selectRoleLists" }] }, { k: 4, v: "鏁版嵁瀛楀吀", - i: "font icon-a-Group1124", + i: "font icon-odbc-full", + p: "selectCustomEnumLists selectProductEnumLists", c: [{ k: 4, v: "瀹㈡埛绠$悊", - i: "font icon-a-Group1124", - u: "" + i: "font icon-24gl-clipboardList", + u: "custom-enum", + p: "selectCustomEnumLists" }, { - k: 5, - v: "鐥呯绠$悊", - i: "font icon-a-Group1124", - u: "" + k: 11, + v: "椤圭洰绠$悊", + i: "font icon-24gl-clipboardList", + u: "product-enum", + p: "selectProductEnumLists" } ] }, @@ -432,7 +442,8 @@ k: 8, v: "浜哄憳绠$悊", i: "font icon-a-Group1124", - u: "person-manage" + u: "person-manage", + p: "selectUserList" }] } ], @@ -446,12 +457,15 @@ u: "index-index" }], upIndex: 0, - activeIndex: 0 + activeIndex: 0, + power: [] }; }, created() {}, mounted() { this.userName = JSON.parse(localStorage.getItem("user")).name; + this.power = JSON.parse(sessionStorage.getItem('power')) + this.getPower() }, methods: { addTab(ob, self) { @@ -527,6 +541,18 @@ setTimeout(()=>{ this.tabs.splice(this.activeIndex, 0, thing[0]) }, 0) + }, + // 鏉冮檺鍒嗛厤 + getPower(p){ + if(p==undefined) return true + let str = p.split(' ') + for (var a = 0; a < str.length; a++) { + for (var i = 0; i < this.power.length; i++) { + if(this.power[i].menuMethod == str[a]) { + return true + } + } + } } } }; diff --git a/static/alifont/iconfont.css b/static/alifont/iconfont.css new file mode 100644 index 0000000..f4c5144 --- /dev/null +++ b/static/alifont/iconfont.css @@ -0,0 +1,67 @@ +@font-face { + font-family: "font"; /* Project id 4379269 */ + src: url('iconfont.woff2?t=1703495449652') format('woff2'), + url('iconfont.woff?t=1703495449652') format('woff'), + url('iconfont.ttf?t=1703495449652') format('truetype'); +} + +.font { + font-family: "font" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-a-Group1232:before { + content: "\e609"; +} + +.icon-a-Group1139:before { + content: "\e608"; +} + +.icon-qiandai:before { + content: "\e600"; +} + +.icon-chaopiao:before { + content: "\e607"; +} + +.icon-24gl-clipboardList:before { + content: "\eabc"; +} + +.icon-odbc-full:before { + content: "\e93a"; +} + +.icon-a-Group1120:before { + content: "\e606"; +} + +.icon-shouyefill:before { + content: "\e750"; +} + +.icon-a-Group1118:before { + content: "\e601"; +} + +.icon-a-Group1122:before { + content: "\e602"; +} + +.icon-a-Group1126:before { + content: "\e603"; +} + +.icon-a-Group1124:before { + content: "\e604"; +} + +.icon-a-Group1236:before { + content: "\e605"; +} + diff --git a/static/alifont/iconfont.js b/static/alifont/iconfont.js new file mode 100644 index 0000000..a081b2f --- /dev/null +++ b/static/alifont/iconfont.js @@ -0,0 +1 @@ +window._iconfont_svg_string_4379269='<svg><symbol id="icon-a-Group1232" viewBox="0 0 1102 1024"><path d="M209.841231 53.248c12.077949-11.710359 21.267692-20.296205 27.516718-25.757538a189.833846 189.833846 0 0 1 27.516718-18.747077c9.741128-5.461333 22.816821-8.192 39.20082-8.192h505.803487c10.134974 0 21.845333 2.153026 35.104821 6.459077 13.285744 4.279795 26.151385 13.049436 38.649436 26.335179 6.249026 7.798154 14.441026 17.565538 24.576 29.275897 10.161231 11.710359 19.902359 23.026872 29.275897 33.949539 10.922667 13.259487 21.845333 27.306667 32.794257 42.141538H133.12a880.062359 880.062359 0 0 1 42.141538-47.996718c10.922667-13.285744 22.449231-25.757538 34.553436-37.467897zM989.000205 577.772308H123.772718c-29.669744 0-53.274256-8.585846-70.813539-25.757539-17.591795-17.171692-26.361436-38.25559-26.361435-63.225436v-167.437128c0-24.969846 7.82441-46.44759 23.420718-64.380718 15.622564-17.959385 40.96-26.939077 76.091076-26.939077h861.735385c35.892513 0 60.862359 8.979692 74.909539 26.939077 14.047179 17.933128 21.083897 39.384615 21.083897 64.380718v167.437128c0 24.969846-8.192 46.053744-24.602256 63.225436-16.384 17.171692-39.778462 25.731282-70.235898 25.731282z m-374.678974-201.386667h-118.232616c-8.585846 0-15.596308 2.730667-21.057641 8.192-5.461333 5.461333-8.218256 12.077949-8.218256 19.902359 0.787692 10.161231 3.72841 17.565538 8.795897 22.239179 5.067487 4.699897 11.894154 7.036718 20.48 7.036718h118.258872c17.959385 0 27.306667-9.767385 28.094359-29.275897 0-10.134974-2.520615-17.355487-7.614359-21.661538-5.067487-4.279795-11.894154-6.432821-20.48-6.432821zM978.471385 1002.758564H120.254359c-24.996103 0-47.419077-8.769641-67.321436-26.335179C33.056821 958.857846 23.105641 934.465641 23.105641 903.220513v-156.882051c0-25.757538 7.981949-47.419077 23.998359-64.984616 15.990154-17.565538 41.563897-26.335179 76.668718-26.335179h859.372308c32.794256 0 57.186462 8.769641 73.176615 26.335179 16.01641 17.565538 23.998359 38.833231 23.998359 63.803077v167.437128c0 24.94359-9.557333 46.421333-28.672 64.380718-19.140923 17.959385-43.533128 26.518974-73.176615 25.757539z m-367.642257-201.386667h-118.232615c-8.612103 0-15.622564 2.730667-21.083898 8.218257-5.461333 5.461333-8.192 12.077949-8.192 19.902359 0 7.798154 2.730667 14.441026 8.192 19.902359 5.461333 5.461333 12.498051 8.192 21.083898 8.192h118.232615c8.585846 0 15.412513-2.730667 20.48-8.192 5.093744-5.461333 7.614359-12.104205 7.614359-19.902359 0-7.82441-2.520615-14.441026-7.614359-19.902359-5.067487-5.48759-11.894154-8.218256-20.48-8.218257z" fill="#FF9900" ></path></symbol><symbol id="icon-a-Group1139" viewBox="0 0 1199 1024"><path d="M1195.973486 164.600686C1195.8272 88.766171 1141.847771 27.326171 1066.130286 27.209143H222.734629C146.870857 27.326171 21.591771 122.031543 21.591771 197.895314l63.839086 189.995886h41.866972a107.549257 107.549257 0 0 1 107.578514 107.578514c0 59.392 3.569371 135.548343-55.881143 135.548343l-11.702857 52.721372-81.978514 142.716342a137.654857 137.654857 0 0 0 137.4208 137.4208l791.405714 51.989943c75.834514-0.146286 181.833143-113.576229 181.833143-189.410743V626.980571h-71.709257c-59.421257 0-95.583086-18.285714-95.583086-77.706971 0-59.392 66.004114-77.706971 125.425371-77.706971h-29.842285 71.709257V164.600686zM918.557257 629.613714l-41.428114 121.856-45.143772 34.845257c-39.848229 37.858743-142.716343 28.145371-173.407085 28.145372-30.72 0-197.280914 11.995429-197.280915-17.408l-57.285485-29.578972-45.845943-72.704c-30.866286 0-41.5744-72.148114-41.5744-101.5808 0-29.432686-50.731886-48.274286-19.8656-48.274285l-9.859657-21.416229 2.282057-92.5696 27.589486-31.890286c-30.866286 0 26.126629 15.594057 26.126628-13.838628s-4.417829-69.719771 26.302172-69.719772l40.111542-50.702628 19.602286-11.000686c13.984914-22.410971 15.125943-15.125943 36.688457-35.84 21.591771-20.714057 26.302171-6.026971 63.429486-5.002971l123.435886-1.024 105.852343-1.989486c31.1296 1.287314 31.1296 1.287314 52.721371 21.855086 21.562514 20.714057 68.988343 16.296229 47.542857 37.302857l37.449143 43.710171 22.703543 18.987886c30.866286 0 11.293257 29.842286 11.293257 59.274971 0 29.432686 19.573029 47.425829-0.146286 59.567543l-11.410285-4.417828-11.176229 72.265143 11.293257 4.447085c30.866286 0 14.1312 25.717029 14.1312 55.296 0 29.403429 16.5888 51.4048-14.1312 51.4048z" fill="#2280BF" ></path><path d="M1133.129143 219.721143a137.654857 137.654857 0 0 0-137.4208-137.391543H152.312686A137.654857 137.654857 0 0 0 14.862629 219.721143v223.407543H56.758857a107.549257 107.549257 0 1 1 0 215.157028H14.921143v223.407543a137.654857 137.654857 0 0 0 137.4208 137.4208h843.395657a137.654857 137.654857 0 0 0 137.4208-137.4208v-223.407543H1091.291429a107.549257 107.549257 0 1 1 0-215.157028h41.837714V219.7504zM769.141029 655.330743h-153.307429v103.131428a41.837714 41.837714 0 1 1-83.675429 0v-103.131428h-153.161142a41.837714 41.837714 0 1 1 0-83.704686h153.131885v-66.121143h-153.131885a41.837714 41.837714 0 1 1 0-83.733943h94.149485l-49.152-49.152a41.954743 41.954743 0 0 1 0.292572-58.836114 41.954743 41.954743 0 0 1 58.865371-0.292571l90.989714 90.989714 90.843429-90.843429a41.837714 41.837714 0 1 1 59.128686 59.128686l-49.122743 49.152h94.149486a41.837714 41.837714 0 1 1 0 83.704686h-153.307429v66.121143l153.307429-0.117029a41.837714 41.837714 0 1 1 0 83.704686z" fill="#4EB3FF" ></path></symbol><symbol id="icon-qiandai" viewBox="0 0 1024 1024"><path d="M522.24 104.448q2.048 0 5.12-2.048 6.144-4.096 16.384-14.336 12.288-11.264 24.576-16.384t32.768 3.072q10.24 3.072 16.384 8.704t11.776 10.752 12.288 8.704 16.896 3.584 17.408-3.072 13.824-5.632 13.312-3.584 15.872 2.048q10.24 4.096 13.824 11.776t2.048 15.872-7.168 16.384-13.824 13.312q-19.456 12.288-29.696 25.088t-20.48 27.136q-5.12 7.168-11.264 16.384t-11.264 18.432q-6.144 11.264-13.312 21.504l-211.968 0q-7.168-12.288-14.336-23.552-6.144-10.24-13.312-20.48t-12.288-18.432q-10.24-15.36-23.04-27.136t-25.088-20.992q-13.312-9.216-18.432-25.088t9.216-27.136q7.168-5.12 16.384-4.096t19.456 4.096 19.968 6.144 17.92 1.024q14.336-3.072 21.504-10.752t24.576-18.944q13.312-8.192 29.696-5.632t24.576 10.752q4.096 5.12 8.704 8.704t9.728 6.656q5.12 4.096 11.264 7.168zM637.952 309.248q12.288 16.384 30.72 35.84 15.36 17.408 37.888 39.424t52.224 46.592q24.576 21.504 50.688 50.688t45.568 68.096 27.136 89.6-2.56 113.152q-9.216 51.2-36.352 96.768t-72.192 79.36-107.008 53.76-140.8 19.968q-80.896 0-143.36-23.04t-105.984-59.904-69.12-82.432-33.792-90.624q-9.216-50.176-2.56-96.256t24.064-86.528 43.52-74.24 56.832-60.416q26.624-23.552 48.128-44.544t35.84-38.4q17.408-19.456 30.72-36.864l230.4 0zM529.408 623.616l-27.648-27.648-21.504-21.504q-10.24-10.24-14.336-15.36-8.192-7.168-21.504-11.776t-22.528 5.632q-8.192 11.264-4.096 22.016t9.216 16.896l15.36 14.336q11.264 12.288 24.576 26.624 15.36 16.384 33.792 34.816l-1.024 21.504-69.632 0q-9.216 0-15.872 7.168t-6.656 15.36 6.144 14.336 16.384 6.144l69.632 0 0 35.84-69.632 0q-9.216 0-15.872 5.632t-6.656 14.848q-1.024 8.192 5.632 13.824t16.896 5.632l69.632 0 0 20.48q1.024 14.336 9.216 19.968t20.48 5.632q12.288 1.024 19.968-7.68t7.68-17.92l0-20.48 71.68 0q10.24 0 16.896-4.608t5.632-14.848q0-21.504-28.672-21.504l-65.536 0 1.024-34.816 66.56-1.024q14.336 1.024 20.48-5.632t6.144-15.872q0-8.192-6.656-14.848t-20.992-6.656l-66.56 0 0-19.456q17.408-16.384 31.744-31.744 12.288-12.288 24.576-25.088t18.432-17.92q23.552-20.48 10.24-35.84-7.168-9.216-18.432-9.216t-20.48 8.192q-5.12 4.096-17.408 14.848t-24.576 22.016q-14.336 13.312-31.744 29.696z" ></path></symbol><symbol id="icon-chaopiao" viewBox="0 0 1706 1024"><path d="M184.832 117.76a80.725333 80.725333 0 0 1 64.8192-32.426667h1292.629333c43.485867 0 78.4384 33.28 78.4384 72.533334v537.6c0 25.6-14.472533 49.493333-38.365866 62.293333-20.48 11.093333-28.125867 37.546667-17.066667 58.026667 11.093333 20.48 37.546667 28.16 58.026667 17.066666 50.2784-28.16 82.670933-79.36 82.670933-137.386666V157.866667C1705.984 69.973333 1631.812267 0 1542.280533 0H249.6512C195.925333 0 146.432 25.6 115.780267 66.56c-13.653333 18.773333-9.386667 46.08 9.386666 59.733333 18.773333 14.506667 45.192533 10.24 59.665067-8.533333z" fill="#3870FF" ></path><path d="M171.2128 170.666667h1193.710933c93.7984 0 170.530133 76.8 170.530134 170.666666v512c0 93.866667-76.731733 170.666667-170.530134 170.666667H171.2128C77.4144 1024 0.682667 947.2 0.682667 853.333333V341.333333c0-93.866667 76.731733-170.666667 170.530133-170.666666z m0 85.333333A85.538133 85.538133 0 0 0 85.947733 341.333333v512c0 46.933333 38.365867 85.333333 85.265067 85.333334h1193.710933a85.538133 85.538133 0 0 0 85.265067-85.333334V341.333333c0-46.933333-38.365867-85.333333-85.265067-85.333333H171.2128z" fill="#3870FF" ></path><path d="M841.386667 482.986667h109.1584c17.066667 0 30.72 13.653333 30.72 30.72s-13.653333 30.72-30.72 30.72h-152.644267v60.586666h152.644267c17.066667 0 30.72 13.653333 30.72 30.72s-13.653333 30.72-30.72 30.72h-152.644267v128c0 17.066667-13.653333 30.72-30.685867 30.72-17.066667 0-30.72-13.653333-30.72-30.72v-128h-150.869333c-17.066667 0-30.72-13.653333-30.72-30.72s13.653333-30.72 30.72-30.72h152.576V544.426667h-152.576c-17.066667 0-30.72-13.653333-30.72-30.72s13.653333-30.72 30.72-30.72h107.4176l-55.432533-55.466667a30.9248 30.9248 0 0 1 0-43.52 30.856533 30.856533 0 0 1 43.485866 0l86.971734 87.04 86.971733-87.04a30.856533 30.856533 0 0 1 43.485867 0c11.946667 11.946667 11.946667 31.573333 0 43.52L841.386667 482.986667z" fill="#FF8C48" ></path><path d="M299.1104 375.466667c18.773333 0 34.0992-15.36 34.0992-34.133334s-15.36-34.133333-34.133333-34.133333H203.639467a66.628267 66.628267 0 0 0-66.525867 66.56v95.573333c0 18.773333 15.36 34.133333 34.133333 34.133334s34.0992-15.36 34.0992-34.133334V375.466667h93.7984zM1236.992 819.2c-18.773333 0-34.0992 15.36-34.0992 34.133333s15.36 34.133333 34.133333 34.133334h95.470934a66.628267 66.628267 0 0 0 66.525866-66.56v-95.573334c0-18.773333-15.36-34.133333-34.133333-34.133333s-34.0992 15.36-34.0992 34.133333V819.2h-93.7984z" fill="#3870FF" ></path></symbol><symbol id="icon-24gl-clipboardList" viewBox="0 0 1024 1024"><path d="M885.333333 981.333333H181.333333a53.393333 53.393333 0 0 1-53.333333-53.333333V224a53.393333 53.393333 0 0 1 53.333333-53.333333h53.333334a21.333333 21.333333 0 0 1 0 42.666666h-53.333334a10.666667 10.666667 0 0 0-10.666666 10.666667v704a10.666667 10.666667 0 0 0 10.666666 10.666667h704a10.666667 10.666667 0 0 0 10.666667-10.666667V224a10.666667 10.666667 0 0 0-10.666667-10.666667h-53.333333a21.333333 21.333333 0 0 1 0-42.666666h53.333333a53.393333 53.393333 0 0 1 53.333334 53.333333v704a53.393333 53.393333 0 0 1-53.333334 53.333333zM768 234.666667c0-26.046667-13.273333-50.786667-38.38-71.546667-19.533333-16.153333-46.053333-29.666667-77.186667-39.38a129.22 129.22 0 0 0-41.453333-54.84 128 128 0 0 0-155.293333 0 129.22 129.22 0 0 0-41.453334 54.84c-31.133333 9.713333-57.646667 23.226667-77.186666 39.38C311.94 183.88 298.666667 208.62 298.666667 234.666667a21.333333 21.333333 0 0 0 21.333333 21.333333h426.666667a21.333333 21.333333 0 0 0 21.333333-21.333333z m-403.76-38.666667c17.166667-14.193333 42.14-26.066667 72.226667-34.32a21.333333 21.333333 0 0 0 14.853333-14.666667C461.773333 110.666667 495.5 85.333333 533.333333 85.333333s71.56 25.333333 82 61.673334a21.333333 21.333333 0 0 0 14.853334 14.666666c30.086667 8.253333 55.06 20.126667 72.226666 34.32 5.46 4.513333 11.46 10.406667 15.953334 17.333334H348.286667c4.493333-6.92 10.493333-12.813333 15.953333-17.326667zM768 746.666667a21.333333 21.333333 0 0 0-21.333333-21.333334H448a21.333333 21.333333 0 0 0 0 42.666667h298.666667a21.333333 21.333333 0 0 0 21.333333-21.333333z m0-170.666667a21.333333 21.333333 0 0 0-21.333333-21.333333H448a21.333333 21.333333 0 0 0 0 42.666666h298.666667a21.333333 21.333333 0 0 0 21.333333-21.333333z m0-170.666667a21.333333 21.333333 0 0 0-21.333333-21.333333H448a21.333333 21.333333 0 0 0 0 42.666667h298.666667a21.333333 21.333333 0 0 0 21.333333-21.333334z m-448-21.333333a21.333333 21.333333 0 1 0 21.333333 21.333333 21.333333 21.333333 0 0 0-21.333333-21.333333z m21.333333 192a21.333333 21.333333 0 1 1-21.333333-21.333333 21.333333 21.333333 0 0 1 21.333333 21.333333z m0 170.666667a21.333333 21.333333 0 1 1-21.333333-21.333334 21.333333 21.333333 0 0 1 21.333333 21.333334z" fill="#5C5C66" ></path></symbol><symbol id="icon-odbc-full" viewBox="0 0 1024 1024"><path d="M960 123.7C872.7 49.9 704.8 0 512 0S151.3 49.9 64 123.7C23.2 158.2 0 197.8 0 240V605.9c0 0.7 0 1.4 0.1 2H0v176c0 132.5 229.2 240 512 240s512-107.5 512-240V608h-0.1c0.1-1.8 0.1-3.5 0.1-5.3V240c0-42.2-23.2-81.8-64-116.3zM64 356.3C151.3 430.1 319.2 480 512 480s360.7-49.9 448-123.7v79.2c-17.9 11.5-37.5 22.2-58.8 32.2C796.2 516.9 658 544 512 544s-284.2-27.1-389.2-76.4c-21.3-10-40.9-20.7-58.8-32.2v-79.1z m0 181.3c87.3 73.8 255.2 123.7 448 123.7s360.7-49.9 448-123.7v79.2c-17.9 11.4-37.5 22.2-58.8 32.2-105 49.2-243.3 76.3-389.2 76.3S227.8 698.2 122.8 649c-21.3-10-40.9-20.7-58.8-32.2v-79.2z m837.2 292.7c-105 49.2-243.3 76.3-389.2 76.3s-284.2-27.1-389.2-76.3c-20.3-9.5-39.1-19.8-56.4-30.6-1.6-5.3-2.4-10.5-2.4-15.7v-65c87.3 73.8 255.2 123.7 448 123.7s360.7-50 448-123.7v65c0 5.1-0.8 10.4-2.4 15.7-17.3 10.9-36.1 21.1-56.4 30.6z" ></path></symbol><symbol id="icon-a-Group1120" viewBox="0 0 1024 1024"><path d="M904.11008 864.41984V214.09792a14.99136 14.99136 0 0 0-9.33888-13.96736 14.99136 14.99136 0 0 0-5.81632-1.14688h-151.22432a14.99136 14.99136 0 0 0-13.96736 9.33888 14.9504 14.9504 0 0 0-1.14688 5.7344v650.36288h-120.99584v-408.3712a15.03232 15.03232 0 0 0-9.33888-13.9264 15.03232 15.03232 0 0 0-5.77536-1.18784h-151.26528a14.99136 14.99136 0 0 0-13.9264 9.33888 15.03232 15.03232 0 0 0-1.18784 5.77536v408.3712H299.13088v-166.37952a14.99136 14.99136 0 0 0-9.33888-13.9264 14.99136 14.99136 0 0 0-5.7344-1.18784H132.75136a14.99136 14.99136 0 0 0-13.96736 9.33888 14.99136 14.99136 0 0 0-1.14688 5.77536v166.37952h-30.26944a30.35136 30.35136 0 0 0-29.65504 24.33024 30.18752 30.18752 0 0 0 29.65504 36.16768h846.92992a30.06464 30.06464 0 0 0 27.93472-18.67776 29.9008 29.9008 0 0 0 0-23.1424 30.26944 30.26944 0 0 0-27.93472-18.67776h-30.22848z" fill="#FFFFFF" ></path><path d="M222.90432 566.64064a37.2736 37.2736 0 0 0 12.288-8.192l366.42816-367.04256v113.4592a14.99136 14.99136 0 0 0 9.33888 13.9264 14.99136 14.99136 0 0 0 5.77536 1.14688h30.26944a14.99136 14.99136 0 0 0 13.9264-9.29792 14.99136 14.99136 0 0 0 1.18784-5.81632V93.10208a14.99136 14.99136 0 0 0-9.33888-13.96736 14.99136 14.99136 0 0 0-5.77536-1.14688h-211.7632a14.99136 14.99136 0 0 0-13.9264 9.33888 14.99136 14.99136 0 0 0-1.18784 5.77536v30.22848a14.99136 14.99136 0 0 0 9.33888 14.00832 14.99136 14.99136 0 0 0 5.77536 1.14688h113.4592l-367.08352 366.42816a38.01088 38.01088 0 0 0 12.288 61.72672c4.62848 1.92512 9.46176 2.8672 14.49984 2.8672 4.99712 0 9.8304-0.94208 14.49984-2.8672z" fill="#FFFFFF" ></path></symbol><symbol id="icon-shouyefill" viewBox="0 0 1024 1024"><path d="M982.028557 404.405174 573.32303 83.942886c-34.918864-27.694272-89.619352-27.694272-124.538216 0L43.175542 404.577188c-13.933143 11.008903-16.169326 31.134554-5.332437 44.895683s31.134554 16.169326 44.895683 5.332437l13.073072-10.320847 0 387.547791c0 54.872501 56.936671 95.983874 107.852847 95.983874l639.892491 0c50.22812 0 84.1149-38.531161 84.1149-95.983874L927.672098 443.452377l14.449185 11.352931c5.84848 4.644381 12.729044 6.880564 19.781623 6.880564 9.460776 0 18.921552-4.128339 25.286074-12.213002C998.369898 435.539728 995.789686 415.414077 982.028557 404.405174zM607.897867 797.113388l0 66.741475-63.989249 0-63.989249 0-63.989249 0 0-66.741475 0-112.325214c0-37.155048 30.102469-77.234336 95.983874-77.234336 66.053418 0 95.983874 40.079288 95.983874 77.234336L607.897867 797.113388 607.897867 797.113388z" fill="#575B66" ></path></symbol><symbol id="icon-a-Group1118" viewBox="0 0 1024 1024"><path d="M441.6 19.2C192 19.2 0 102.4 0 211.2s192 192 441.6 192c236.8 0 441.6-89.6 441.6-192S691.2 19.2 441.6 19.2zM0 819.2c0 108.8 192 192 441.6 192 32 0 64 0 89.6-6.4-44.8-38.4-76.8-89.6-96-140.8-236.8 0-435.2-89.6-435.2-192v147.2z" fill="#FFFFFF" ></path><path d="M889.6 262.4c0 108.8-192 192-441.6 192-243.2 0-441.6-89.6-441.6-192V409.6c-6.4 108.8 185.6 198.4 435.2 198.4h12.8c57.6-108.8 166.4-179.2 294.4-179.2 44.8 0 89.6 6.4 128 25.6 6.4-12.8 12.8-25.6 12.8-38.4v-153.6z" fill="#FFFFFF" ></path><path d="M435.2 659.2c-236.8 0-435.2-89.6-435.2-192v147.2c0 108.8 185.6 192 422.4 192 0-19.2-6.4-32-6.4-51.2 0-32 6.4-64 19.2-96zM742.4 851.2V806.4c0-12.8-6.4-19.2-19.2-19.2h-38.4c-12.8 0-19.2 6.4-19.2 19.2v44.8c-6.4 6.4 6.4 19.2 19.2 19.2h38.4c12.8 0 19.2-12.8 19.2-19.2z" fill="#FFFFFF" ></path><path d="M627.2 889.6V563.2c0-12.8-6.4-19.2-19.2-19.2-12.8 0-19.2 6.4-19.2 19.2v345.6c0 12.8 6.4 19.2 19.2 19.2h396.8c12.8 0 19.2-12.8 19.2-25.6 0-6.4-6.4-12.8-19.2-12.8H627.2z" fill="#FFFFFF" ></path><path d="M979.2 851.2v-153.6c0-12.8-6.4-19.2-19.2-19.2h-38.4c-12.8 0-19.2 12.8-19.2 19.2v153.6c-6.4 6.4 0 19.2 12.8 19.2h44.8c12.8 0 19.2-12.8 19.2-19.2zM857.6 851.2v-243.2c0-12.8-6.4-19.2-19.2-19.2h-38.4c-12.8 0-19.2 6.4-19.2 19.2v236.8c0 12.8 6.4 25.6 19.2 25.6h38.4c12.8 0 19.2-12.8 19.2-19.2z" fill="#FFFFFF" ></path></symbol><symbol id="icon-a-Group1122" viewBox="0 0 1024 1024"><path d="M435.07712 851.3536c-2.4576 0.2048-4.13696 0.45056-5.81632 0.49152a1319.56736 1319.56736 0 0 1-138.15808-6.63552 2775.49056 2775.49056 0 0 1-100.22912-10.93632c-22.77376-3.03104-45.34272-8.02816-67.9936-12.20608-10.32192-1.92512-15.60576-8.76544-18.35008-18.59584a185.87648 185.87648 0 0 1-5.44768-66.1504c1.06496-13.23008 2.4576-26.46016 4.38272-39.60832 3.4816-23.67488 17.94048-39.64928 37.56032-51.85536 16.87552-10.4448 35.96288-14.82752 54.55872-20.64384 19.70176-6.144 39.64928-11.71456 58.81856-19.2512 19.6608-7.70048 37.23264-19.2512 50.09408-36.70016a48.7424 48.7424 0 0 0 9.99424-31.45728 358.31808 358.31808 0 0 0-1.67936-24.86272 38.62528 38.62528 0 0 0-13.27104-24.86272c-4.95616-4.5056-9.78944-9.29792-15.19616-13.23008a71.2704 71.2704 0 0 1-24.28928-32.72704c-3.6864-9.216-6.63552-18.67776-10.15808-27.93472-0.73728-1.88416-2.29376-4.096-4.01408-4.79232a41.3696 41.3696 0 0 1-21.34016-19.94752c-12.77952-24.576-14.1312-48.86528 3.93216-72.00768 1.14688-1.4336 1.35168-3.76832 1.51552-5.7344 1.6384-21.7088 2.12992-43.58144 5.07904-65.08544 3.44064-25.23136 9.17504-50.13504 21.46304-72.82688C281.3952 128 319.56992 99.69664 370.60608 90.112a221.42976 221.42976 0 0 1 156.0576 26.91072c27.93472 16.1792 46.85824 39.97696 58.73664 69.4272 11.96032 29.73696 18.432 60.90752 20.2752 92.9792 0.65536 11.30496 1.06496 22.69184 1.67936 33.9968 0.12288 1.51552 0.49152 3.39968 1.4336 4.3008 10.07616 9.54368 13.5168 21.62688 13.06624 34.85696-0.49152 14.336-2.29376 28.42624-10.8544 40.71424-4.9152 6.9632-11.14112 12.20608-18.96448 15.81056a9.6256 9.6256 0 0 0-4.5056 4.79232c-3.19488 8.35584-5.81632 16.95744-9.0112 25.31328a8.72448 8.72448 0 0 1-4.3008 4.5056 288.68608 288.68608 0 0 0-98.87744 68.32128c-39.97696 41.86112-65.86368 91.136-75.3664 148.39808-10.81344 64.88064 0.28672 126.1568 31.58016 183.86944 1.10592 2.048 2.08896 4.13696 3.52256 7.00416z" fill="#FFFFFF" ></path><path d="M906.8544 729.53856a84.1728 84.1728 0 0 1-4.75136-41.32864l0.49152-2.99008a98.63168 98.63168 0 0 1 4.17792-15.5648l0.8192-2.21184 0.24576-0.65536 0.08192-0.2048a97.15712 97.15712 0 0 1 7.49568-13.88544c4.17792-6.43072 7.86432-12.32896 7.7824-20.35712a28.59008 28.59008 0 0 0-9.50272-20.8896 33.75104 33.75104 0 0 0-11.4688-6.30784l-3.8912-1.35168a26.74688 26.74688 0 0 1-1.2288-0.45056l-0.08192-0.04096-0.12288-0.08192h-0.12288l-0.12288-0.08192-0.12288-0.04096-0.98304-0.4096a100.06528 100.06528 0 0 1-18.432-10.97728l-1.92512-1.55648a99.9424 99.9424 0 0 1-12.6976-12.94336l-0.65536-0.8192-0.08192-0.16384-0.24576-0.32768c-0.90112-1.26976-1.8432-2.53952-2.70336-3.85024a101.04832 101.04832 0 0 1-8.11008-14.99136l-0.32768-0.8192-0.94208-2.58048a89.41568 89.41568 0 0 1-3.6864-13.312 155.77088 155.77088 0 0 1-0.8192-4.75136v-0.12288-0.12288l-0.16384-1.55648c-0.28672-3.11296-0.28672-6.18496-0.4096-9.33888a29.36832 29.36832 0 0 0-9.50272-21.54496 28.83584 28.83584 0 0 0-25.84576-6.51264c-3.2768 0.8192-6.43072 2.00704-9.74848 2.78528a76.47232 76.47232 0 0 1-21.46304 2.08896 102.89152 102.89152 0 0 1-10.52672-0.8192 92.61056 92.61056 0 0 1-7.3728-1.55648 96.0512 96.0512 0 0 1-9.91232-3.03104l-2.58048-0.94208a96.99328 96.99328 0 0 1-15.9744-8.84736c-0.57344-0.4096-3.19488-2.33472-3.2768-2.33472a98.0992 98.0992 0 0 1-15.36-15.27808l-0.08192-0.16384-0.36864-0.45056c-1.024-1.39264-2.048-2.78528-3.11296-4.096a28.2624 28.2624 0 0 0-21.7088-9.4208 28.59008 28.59008 0 0 0-22.03648 11.42784l-1.67936 2.21184a0.65536 0.65536 0 0 1-0.12288 0.16384l-0.12288 0.16384a98.304 98.304 0 0 1-13.63968 13.9264l-2.048 1.67936a101.90848 101.90848 0 0 1-16.30208 9.74848l-2.74432 1.2288a38.01088 38.01088 0 0 0-1.14688 0.49152l-2.78528 0.98304a98.9184 98.9184 0 0 1-16.67072 4.17792l-0.49152 0.12288c-7.45472 0.8192-15.1552 0.94208-22.56896 0.08192-5.3248-0.6144-13.1072-3.56352-19.49696-4.66944a27.77088 27.77088 0 0 0-25.10848 7.74144c-6.02112 6.38976-7.53664 13.84448-7.7824 22.3232a103.8336 103.8336 0 0 1-0.49152 7.65952 96.6656 96.6656 0 0 1-5.24288 20.56192l-0.53248 1.35168-0.08192 0.2048a99.328 99.328 0 0 1-11.4688 19.6608l-1.55648 1.88416a98.87744 98.87744 0 0 1-12.94336 12.6976l-0.8192 0.65536-0.12288 0.08192a4.9152 4.9152 0 0 0-0.32768 0.24576l-4.42368 3.072a94.98624 94.98624 0 0 1-11.18208 6.30784l-1.8432 0.86016-0.98304 0.4096-0.28672 0.12288-0.08192 0.08192-0.8192 0.28672-2.53952 0.94208-3.93216 1.26976a31.78496 31.78496 0 0 0-11.79648 6.84032 28.672 28.672 0 0 0-8.68352 21.42208c0.4096 8.27392 4.5056 13.9264 8.76544 20.6848a83.64032 83.64032 0 0 1 12.4928 32.3584l0.32768 2.048 0.16384 1.4336c1.47456 15.5648-0.24576 27.0336-5.44768 41.61536l-0.4096 1.14688-0.08192 0.12288v0.12288l-0.45056 0.98304a92.40576 92.40576 0 0 1-7.70048 13.9264c-4.34176 6.47168-7.94624 12.73856-7.3728 20.8896 0.65536 9.05216 5.03808 17.03936 12.53376 22.15936a36.0448 36.0448 0 0 0 9.17504 4.17792l4.5056 1.55648 1.39264 0.57344 0.2048 0.04096a1.76128 1.76128 0 0 0 0.28672 0.12288c0.08192 0.08192 0.2048 0.08192 0.28672 0.12288 5.5296 2.58048 10.81344 5.5296 15.85152 9.0112l2.2528 1.6384h0.12288l0.53248 0.49152 2.048 1.67936c2.2528 1.92512 4.38272 3.8912 6.38976 5.98016 2.048 2.048 3.97312 4.25984 5.85728 6.47168l0.4096 0.45056a6.30784 6.30784 0 0 0 0.12288 0.2048l0.86016 1.10592a99.24608 99.24608 0 0 1 9.05216 15.03232l0.86016 1.8432 0.28672 0.57344 0.08192 0.12288 0.04096 0.16384a98.79552 98.79552 0 0 1 6.10304 21.9136l0.08192 0.69632 0.08192 0.98304c0.28672 3.31776 0.4096 6.67648 0.49152 9.99424 0.73728 18.14528 16.1792 31.5392 34.4064 27.97568 7.00416-1.39264 14.1312-3.8912 20.02944-4.42368a104.93952 104.93952 0 0 1 20.56192 0.32768l3.39968 0.57344a97.97632 97.97632 0 0 1 14.37696 3.93216l2.99008 1.10592a96.17408 96.17408 0 0 1 19.33312 11.14112l2.58048 2.048 3.72736 3.44064c2.29376 2.12992 4.5056 4.38272 6.5536 6.7584 3.44064 3.93216 2.58048 3.60448 6.26688 7.86432 10.97728 12.6976 31.90784 12.288 42.5984-0.49152 0.94208-1.14688 1.80224-2.41664 2.70336-3.60448l0.12288-0.12288 0.12288-0.16384 0.12288-0.16384 2.78528-3.31776a97.60768 97.60768 0 0 1 10.28096-10.15808l2.62144-2.08896a100.9664 100.9664 0 0 1 15.64672-9.46176l1.96608-0.98304a186.368 186.368 0 0 1 1.72032-0.73728l0.86016-0.32768 2.78528-0.98304a97.0752 97.0752 0 0 1 13.68064-3.6864l2.21184-0.4096a30.55616 30.55616 0 0 1 0.8192-0.16384h0.53248c7.12704-0.86016 14.336-0.90112 21.46304-0.2048 1.92512 0.2048 6.144 0.94208 9.17504 1.6384 3.6864 0.90112 7.33184 2.37568 11.0592 2.99008 17.6128 3.03104 33.9968-10.07616 33.9968-28.2624 0.04096-3.11296 0.16384-6.26688 0.4096-9.4208l0.24576-1.92512v-0.16384a107.19232 107.19232 0 0 1 4.5056-17.8176l0.69632-1.96608 0.6144-1.6384 0.08192-0.12288a3.6864 3.6864 0 0 0 0.16384-0.4096l1.14688-2.4576a98.63168 98.63168 0 0 1 6.7584-11.83744c0.73728-1.14688 1.55648-2.21184 2.29376-3.31776l0.69632-0.94208 0.08192-0.12288 0.65536-0.77824a99.81952 99.81952 0 0 1 12.24704-12.53376l2.4576-2.00704a98.304 98.304 0 0 1 18.35008-10.8544l2.33472-0.94208 4.54656-1.59744a28.54912 28.54912 0 0 0 21.05344-27.2384c0.08192-8.47872-3.97312-14.336-8.31488-21.0944a98.83648 98.83648 0 0 1-4.79232-8.27392 57.46688 57.46688 0 0 1-3.6864-8.23296z m-182.23104 3.6864l-43.58144 48.3328c-5.77536 6.38976-14.9504 4.83328-20.8896 0l-9.4208-7.65952-66.43712-54.19008c-6.22592-5.03808-5.20192-15.68768 0-20.8896 6.02112-6.02112 14.7456-4.99712 20.8896 0l9.4208 7.70048 54.39488 44.31872 7.08608-7.86432 69.14048-76.5952 43.58144-48.25088c5.36576-5.98016 15.48288-5.44768 20.8896 0a15.11424 15.11424 0 0 1 0 20.8896l-15.9744 17.65376-69.09952 76.5952z" fill="#FFFFFF" ></path></symbol><symbol id="icon-a-Group1126" viewBox="0 0 1024 1024"><path d="M572.379429 570.806857h-98.230858a24.649143 24.649143 0 0 0-24.576 24.576v24.539429c0 13.531429 11.081143 24.576 24.576 24.576h14.738286L450.56 787.382857a9.947429 9.947429 0 0 0 1.718857 7.862857l59.209143 79.104a14.555429 14.555429 0 0 0 11.776 5.888 14.628571 14.628571 0 0 0 11.776-5.888l59.209143-79.104c1.718857-2.194286 2.194286-5.12 1.718857-7.862857l-38.326857-142.921143h14.738286c13.531429 0 24.576-11.044571 24.576-24.576v-24.539428a24.649143 24.649143 0 0 0-24.576-24.576z m169.252571 24.064l-203.117714 363.739429a17.554286 17.554286 0 0 1-30.464 0L299.52 585.289143a23.771429 23.771429 0 0 0-26.294857-11.776l-99.693714 21.869714a147.894857 147.894857 0 0 0-66.633143 33.28 147.968 147.968 0 0 0-41.837715 61.622857 147.382857 147.382857 0 0 0-8.411428 49.261715v175.104a98.230857 98.230857 0 0 0 98.194286 98.230857H842.605714a98.230857 98.230857 0 0 0 98.230857-98.230857v-175.104a147.273143 147.273143 0 0 0-116.918857-144.164572l-55.954285-12.288a24.246857 24.246857 0 0 0-26.331429 11.776zM302.226286 226.962286c0-121.563429 99.474286-221.037714 221.037714-221.037715 121.6 0 221.037714 99.474286 221.037714 221.037715v98.230857c0 121.6-99.474286 221.074286-221.037714 221.074286-121.563429 0-221.037714-99.474286-221.037714-221.074286V226.962286z" fill="#FFFFFF" ></path></symbol><symbol id="icon-a-Group1124" viewBox="0 0 1024 1024"><path d="M233.97598576 328.40340417a282.57526646 282.57526646 0 0 0 282.26595725 282.1775843c155.58209764 0 282.26595725-126.63967313 282.26595725-282.1775843a282.61945293 282.61945293 0 0 0-282.26595725-282.22177078 282.61945293 282.61945293 0 0 0-282.26595725 282.22177078z" fill="#FFFFFF" ></path><path d="M516.24194301 681.14747746c-82.4969537 0-157.34957346-29.56104034-217.62051415-77.01777775-114.13477907 72.6874605-193.53864976 200.25505996-204.49700166 348.01607389 39.9449629 5.43498947 111.04169605 11.26766112 212.53901904 11.26766111h418.98024633c101.49732428 0 172.63824262-5.83267163 212.62739331-11.26766111-10.82579248-147.84938818-90.27384965-275.32861339-204.49700298-348.01607389-60.13837996 47.54511166-135.0351862 77.01777774-217.53213989 77.01777775z" fill="#FFFFFF" ></path></symbol><symbol id="icon-a-Group1236" viewBox="0 0 1024 1024"><path d="M11.59168 584.4992A488.36608 488.36608 0 0 1 88.064 216.18688c152.45312-224.09216 458.752-282.4192 682.8032-129.96608a492.09344 492.09344 0 0 1 215.04 402.47296 38.83008 38.83008 0 0 1-38.5024 39.19872h-0.4096a38.83008 38.83008 0 0 1-38.78912-38.5024 414.35136 414.35136 0 0 0-181.0432-338.944C538.46016 22.1184 280.576 71.18848 152.24832 259.85024a411.15648 411.15648 0 0 0-64.34816 310.14912 411.11552 411.11552 0 0 0 173.75232 264.8064 410.74688 410.74688 0 0 0 310.0672 64.38912 411.07456 411.07456 0 0 0 264.76544-173.79328 38.83008 38.83008 0 0 1 64.22528 43.70432 488.2432 488.2432 0 0 1-314.49088 206.39744 487.75168 487.75168 0 0 1-368.27136-76.47232A488.28416 488.28416 0 0 1 11.59168 584.4992z m325.55008-341.6064a38.87104 38.87104 0 0 1 54.272 8.35584l111.04256 151.51104 111.08352-151.51104a38.87104 38.87104 0 0 1 62.6688 45.95712l-173.75232 236.91264-173.6704-236.91264a38.83008 38.83008 0 0 1 8.35584-54.272z" fill="#FFFFFF" ></path><path d="M315.84256 502.9888c0-21.46304 17.408-38.87104 38.83008-38.87104h295.56736a38.83008 38.83008 0 1 1 0 77.70112H354.7136a38.83008 38.83008 0 0 1-38.83008-38.83008zM315.84256 623.8208c0-21.46304 17.408-38.87104 38.83008-38.87104h295.56736a38.83008 38.83008 0 1 1 0 77.70112H354.7136a38.83008 38.83008 0 0 1-38.83008-38.87104z" fill="#FFFFFF" ></path><path d="M463.6672 468.41856a38.83008 38.83008 0 1 1 77.6192 0v269.7216a38.83008 38.83008 0 1 1-77.66016 0v-269.7216z" fill="#FFFFFF" ></path></symbol></svg>',function(c){var a=(a=document.getElementsByTagName("script"))[a.length-1],l=a.getAttribute("data-injectcss"),a=a.getAttribute("data-disable-injectsvg");if(!a){var t,h,i,o,e,F=function(a,l){l.parentNode.insertBefore(a,l)};if(l&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(a){console&&console.log(a)}}t=function(){var a,l=document.createElement("div");l.innerHTML=c._iconfont_svg_string_4379269,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(a=document.body).firstChild?F(l,a.firstChild):a.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(t,0):(h=function(){document.removeEventListener("DOMContentLoaded",h,!1),t()},document.addEventListener("DOMContentLoaded",h,!1)):document.attachEvent&&(i=t,o=c.document,e=!1,s(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,n())})}function n(){e||(e=!0,i())}function s(){try{o.documentElement.doScroll("left")}catch(a){return void setTimeout(s,50)}n()}}(window); \ No newline at end of file diff --git a/static/alifont/iconfont.json b/static/alifont/iconfont.json new file mode 100644 index 0000000..2718d58 --- /dev/null +++ b/static/alifont/iconfont.json @@ -0,0 +1,100 @@ +{ + "id": "4379269", + "name": "鑳滀簯", + "font_family": "font", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "38708417", + "name": "Group 1232", + "font_class": "a-Group1232", + "unicode": "e609", + "unicode_decimal": 58889 + }, + { + "icon_id": "38708344", + "name": "Group 1139", + "font_class": "a-Group1139", + "unicode": "e608", + "unicode_decimal": 58888 + }, + { + "icon_id": "1039", + "name": "閽辫", + "font_class": "qiandai", + "unicode": "e600", + "unicode_decimal": 58880 + }, + { + "icon_id": "8785952", + "name": "閽炵エ", + "font_class": "chaopiao", + "unicode": "e607", + "unicode_decimal": 58887 + }, + { + "icon_id": "7594792", + "name": "24gl-clipboardList", + "font_class": "24gl-clipboardList", + "unicode": "eabc", + "unicode_decimal": 60092 + }, + { + "icon_id": "18169740", + "name": "鏁版嵁搴�,鏁版嵁", + "font_class": "odbc-full", + "unicode": "e93a", + "unicode_decimal": 59706 + }, + { + "icon_id": "38642133", + "name": "鏁版嵁缁熻", + "font_class": "a-Group1120", + "unicode": "e606", + "unicode_decimal": 58886 + }, + { + "icon_id": "577363", + "name": "棣栭〉-fill", + "font_class": "shouyefill", + "unicode": "e750", + "unicode_decimal": 59216 + }, + { + "icon_id": "38642048", + "name": "鏁版嵁涓婃姤", + "font_class": "a-Group1118", + "unicode": "e601", + "unicode_decimal": 58881 + }, + { + "icon_id": "38642049", + "name": "杩涚矇涓婃姤", + "font_class": "a-Group1122", + "unicode": "e602", + "unicode_decimal": 58882 + }, + { + "icon_id": "38642051", + "name": "瑙掕壊绠$悊", + "font_class": "a-Group1126", + "unicode": "e603", + "unicode_decimal": 58883 + }, + { + "icon_id": "38642052", + "name": "浜哄憳绠$悊", + "font_class": "a-Group1124", + "unicode": "e604", + "unicode_decimal": 58884 + }, + { + "icon_id": "38642053", + "name": "璐㈠姟涓婃姤", + "font_class": "a-Group1236", + "unicode": "e605", + "unicode_decimal": 58885 + } + ] +} diff --git a/static/alifont/iconfont.ttf b/static/alifont/iconfont.ttf new file mode 100644 index 0000000..2cac8e5 --- /dev/null +++ b/static/alifont/iconfont.ttf Binary files differ diff --git a/static/alifont/iconfont.woff b/static/alifont/iconfont.woff new file mode 100644 index 0000000..2f06536 --- /dev/null +++ b/static/alifont/iconfont.woff Binary files differ diff --git a/static/alifont/iconfont.woff2 b/static/alifont/iconfont.woff2 new file mode 100644 index 0000000..a585111 --- /dev/null +++ b/static/alifont/iconfont.woff2 Binary files differ diff --git "a/static/img/\351\246\226\351\241\265\345\233\276\347\211\2071.png" "b/static/img/\351\246\226\351\241\265\345\233\276\347\211\2071.png" new file mode 100644 index 0000000..864f380 --- /dev/null +++ "b/static/img/\351\246\226\351\241\265\345\233\276\347\211\2071.png" Binary files differ -- Gitblit v1.9.3