¶Ô±ÈÐÂÎļþ |
| | |
| | | # just a flag |
| | | ENV = 'development' |
| | | |
| | | # base api |
| | | VUE_APP_BASE_API = '/' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | # just a flag |
| | | ENV = 'production' |
| | | |
| | | # base api |
| | | #VUE_APP_BASE_API = 'http://10.103.11.236:8085' #æ£å¼åå¸ç¨è¿ä¸ª 11ç½æ®µ |
| | | # VUE_APP_BASE_API = 'http://10.103.9.200:8085' #æ£å¼åå¸ç¨è¿ä¸ª 9ç½æ®µ |
| | | #VUE_APP_BASE_API = 'http://192.168.137.200:8085' #æµè¯ç¯å¢ç¨è¿ä¸ª |
| | | |
| | | VUE_APP_BASE_API = 'http://localhost:6099' |
| | | # VUE_APP_BASE_API = '/' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | module.exports = { |
| | | root: true, |
| | | env: { |
| | | node: true |
| | | }, |
| | | extends: ['plugin:vue/essential', 'eslint:recommended', '@vue/prettier'], |
| | | parserOptions: { |
| | | parser: 'babel-eslint' |
| | | }, |
| | | rules: { |
| | | 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', |
| | | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', |
| | | semi: 'off', |
| | | 'no-unused-vars': [2, { vars: 'all', args: 'none' }], |
| | | quotes: 'off', |
| | | 'no-dupe-keys': 'off' |
| | | }, |
| | | overrides: [ |
| | | { |
| | | files: ['**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)'], |
| | | env: { |
| | | jest: true |
| | | } |
| | | } |
| | | ] |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | .DS_Store |
| | | node_modules |
| | | /dist |
| | | .history |
| | | |
| | | # local env files |
| | | .env.local |
| | | .env.*.local |
| | | |
| | | # Log files |
| | | npm-debug.log* |
| | | yarn-debug.log* |
| | | yarn-error.log* |
| | | pnpm-debug.log* |
| | | |
| | | # Editor directories and files |
| | | .idea |
| | | .vscode |
| | | *.suo |
| | | *.ntvs* |
| | | *.njsproj |
| | | *.sln |
| | | *.sw? |
¶Ô±ÈÐÂÎļþ |
| | |
| | | module.exports = { |
| | | trailingComma: 'none', |
| | | tabWidth: 2, |
| | | semi: true, |
| | | singleQuote: true, |
| | | printWidth: 120, |
| | | arrowParens: 'avoid' |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | module.exports = { |
| | | presets: [ |
| | | '@vue/cli-plugin-babel/preset' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "compilerOptions": { |
| | | "baseUrl": "./", |
| | | "paths": { |
| | | "@/*": ["src/*"] |
| | | } |
| | | }, |
| | | "exclude": ["node_modules", "dist"] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "name": "wbtoubiao", |
| | | "version": "0.1.0", |
| | | "private": true, |
| | | "scripts": { |
| | | "serve": "vue-cli-service serve", |
| | | "build": "vue-cli-service build", |
| | | "lint": "vue-cli-service lint", |
| | | "start": "npm run serve" |
| | | }, |
| | | "dependencies": { |
| | | "@microsoft/signalr": "^5.0.5", |
| | | "axios": "^0.21.1", |
| | | "compression-webpack-plugin": "^5.0.1", |
| | | "core-js": "^3.6.5", |
| | | "dayjs": "^1.11.1", |
| | | "echarts": "^5.1.2", |
| | | "el-table-infinite-scroll": "^1.0.10", |
| | | "element-ui": "^2.15.8", |
| | | "file-saver": "^2.0.5", |
| | | "jquery": "^3.6.0", |
| | | "js-cookie": "^2.2.1", |
| | | "nprogress": "^0.2.0", |
| | | "qs": "^6.5.2", |
| | | "screenfull": "^5.1.0", |
| | | "vue": "^2.6.11", |
| | | "vue-count-to": "^1.0.13", |
| | | "vue-router": "^3.2.0", |
| | | "vuedraggable": "^2.24.3", |
| | | "vuex": "^3.4.0", |
| | | "xlsx": "^0.17.0" |
| | | }, |
| | | "devDependencies": { |
| | | "@vue/cli-plugin-babel": "~4.5.0", |
| | | "@vue/cli-plugin-eslint": "~4.5.0", |
| | | "@vue/cli-plugin-router": "~4.5.0", |
| | | "@vue/cli-plugin-vuex": "~4.5.0", |
| | | "@vue/cli-service": "~4.5.0", |
| | | "@vue/eslint-config-prettier": "^6.0.0", |
| | | "babel-eslint": "^10.1.0", |
| | | "eslint": "^6.7.2", |
| | | "eslint-plugin-prettier": "^3.3.1", |
| | | "eslint-plugin-vue": "^6.2.2", |
| | | "node-sass": "^4.12.0", |
| | | "prettier": "^2.2.1", |
| | | "sass-loader": "^8.0.2", |
| | | "script-loader": "^0.7.2", |
| | | "svg-sprite-loader": "^6.0.5", |
| | | "vue-template-compiler": "^2.6.11", |
| | | "webpack": "^4.46.0" |
| | | }, |
| | | "eslintConfig": { |
| | | "root": true, |
| | | "env": { |
| | | "node": true |
| | | }, |
| | | "extends": [ |
| | | "plugin:vue/essential", |
| | | "eslint:recommended", |
| | | "@vue/prettier" |
| | | ], |
| | | "parserOptions": { |
| | | "parser": "babel-eslint" |
| | | }, |
| | | "rules": {} |
| | | }, |
| | | "browserslist": [ |
| | | "> 1%", |
| | | "last 2 versions", |
| | | "not dead" |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!DOCTYPE html> |
| | | <html lang=""> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
| | | <link rel="icon" href="<%= BASE_URL %>favicon.ico"> |
| | | <!-- <title><%= webpackConfig.name %></title> --> |
| | | <title><%= htmlWebpackPlugin.options.title %></title> |
| | | </head> |
| | | <body> |
| | | |
| | | <div id="app"></div> |
| | | <!-- <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %> |
| | | <script type="text/javascript" src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script> |
| | | <% } %> --> |
| | | <!-- built files will be auto injected --> |
| | | </body> |
| | | </html> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div id="app" @click="clicked"> |
| | | <router-view /> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { getStorage, setStorage, clearStorage } from '@/utils/sessionStorage'; |
| | | export default { |
| | | name: 'App', |
| | | data() { |
| | | return { |
| | | lTime: new Date().getTime(), // æå䏿¬¡ç¹å»çæ¶é´ |
| | | ctTime: new Date().getTime(), //å½åæ¶é´ |
| | | tOut: 10 * 60 * 1000 //è¶
æ¶æ¶é´10min |
| | | }; |
| | | }, |
| | | mounted() { |
| | | // window.setInterval(this.tTime, 1000); |
| | | }, |
| | | |
| | | methods: { |
| | | clicked() { |
| | | // this.lTime = new Date().getTime(); //å½çé¢è¢«ç¹å»æ´æ°ç¹å»æ¶é´ |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss"></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- --> |
| | | <template> |
| | | <div id='appmain'> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | //è¿éå¯ä»¥å¯¼å
¥å
¶ä»æä»¶ï¼æ¯å¦ï¼ç»ä»¶ï¼å·¥å
·jsï¼ç¬¬ä¸æ¹æä»¶jsï¼jsonæä»¶ï¼å¾çæä»¶ççï¼ |
| | | //ä¾å¦ï¼import ãç»ä»¶åç§°ã from 'ãç»ä»¶è·¯å¾ã'; |
| | | |
| | | export default { |
| | | //nameæ¾å
¥æ¨¡æ¿å,æ¹ä¾¿å¨å
¶ä»å°æ¹å¼ç¨ |
| | | name: '', |
| | | //importå¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: {}, |
| | | data() { |
| | | //è¿éåæ¾æ°æ® |
| | | return { |
| | | |
| | | }; |
| | | }, |
| | | //çå¬å±æ§ 类似äºdataæ¦å¿µ |
| | | computed: { |
| | | |
| | | }, |
| | | //çå½å¨æ - åå»ºå®æï¼å¯ä»¥è®¿é®å½åthiså®ä¾ï¼ |
| | | created() { |
| | | |
| | | }, |
| | | //çå½å¨æ - æè½½å®æï¼å¯ä»¥è®¿é®DOMå
ç´ ï¼ |
| | | mounted() { |
| | | |
| | | }, |
| | | //æ¹æ³éå |
| | | methods: { |
| | | |
| | | }, |
| | | //çæ§dataä¸çæ°æ®åå |
| | | watch: { |
| | | |
| | | }, |
| | | //妿页颿keep-aliveç¼ååè½ï¼è¿ä¸ªå½æ°ä¼è§¦å |
| | | activated() { |
| | | |
| | | }, |
| | | } |
| | | </script> |
| | | <style lang='scss' scoped> |
| | | /* @import url(); å¼å
¥å
Œ
±cssç±» */ |
| | | |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- --> |
| | | <template> |
| | | <div class="sidebarItem"> |
| | | <template v-if="!itemRoute.children"> |
| | | <el-menu-item :index="itemRoute.path"> |
| | | <item :icon="itemRoute.meta.icon" :title="itemRoute.meta.title" /> |
| | | </el-menu-item> |
| | | </template> |
| | | |
| | | <el-submenu v-else ref="subMenu" :index="itemRoute.path" popper-append-to-body> |
| | | <template slot="title"> |
| | | <item :icon="itemRoute.meta.icon" :title="itemRoute.meta.title" /> |
| | | </template> |
| | | <sidebar-item v-for="item in itemRoute.children" :key="item.path" :itemRoute="item" /> |
| | | </el-submenu> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | //è¿éå¯ä»¥å¯¼å
¥å
¶ä»æä»¶ï¼æ¯å¦ï¼ç»ä»¶ï¼å·¥å
·jsï¼ç¬¬ä¸æ¹æä»¶jsï¼jsonæä»¶ï¼å¾çæä»¶ççï¼ |
| | | //ä¾å¦ï¼import ãç»ä»¶åç§°ã from 'ãç»ä»¶è·¯å¾ã'; |
| | | import item from './item'; |
| | | export default { |
| | | //nameæ¾å
¥æ¨¡æ¿å,æ¹ä¾¿å¨å
¶ä»å°æ¹å¼ç¨ |
| | | name: 'SidebarItem', |
| | | props: ['itemRoute'], |
| | | //importå¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { item }, |
| | | data() { |
| | | //è¿éåæ¾æ°æ® |
| | | return {}; |
| | | }, |
| | | //çå¬å±æ§ 类似äºdataæ¦å¿µ |
| | | computed: {}, |
| | | //çå½å¨æ - åå»ºå®æï¼å¯ä»¥è®¿é®å½åthiså®ä¾ï¼ |
| | | created() {}, |
| | | //çå½å¨æ - æè½½å®æï¼å¯ä»¥è®¿é®DOMå
ç´ ï¼ |
| | | mounted() {}, |
| | | //æ¹æ³éå |
| | | methods: {}, |
| | | //çæ§dataä¸çæ°æ®åå |
| | | watch: {}, |
| | | //妿页颿keep-aliveç¼ååè½ï¼è¿ä¸ªå½æ°ä¼è§¦å |
| | | activated() {} |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | /* @import url(); å¼å
¥å
Œ
±cssç±» */ |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- --> |
| | | <template> |
| | | <div> |
| | | <el-scrollbar wrap-class="scrollbar-wrapper"> |
| | | <div class="heard pointer" @click="homeclick"> |
| | | <img :class="{ isimg: isCollapse }" class="heard-img" src="../../../assets/heard/heard.jpg" alt="" /> |
| | | </div> |
| | | <el-menu |
| | | :default-active="activeMenu" |
| | | :background-color="variables.menuBg" |
| | | :text-color="variables.menuText" |
| | | :unique-opened="true" |
| | | :active-text-color="variables.menuActiveText" |
| | | :collapse-transition="false" |
| | | :collapse="isCollapse" |
| | | mode="vertical" |
| | | router |
| | | > |
| | | <sidebar-item v-for="route in routes" :key="route.path" :itemRoute="route" /> |
| | | </el-menu> |
| | | </el-scrollbar> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | //è¿éå¯ä»¥å¯¼å
¥å
¶ä»æä»¶ï¼æ¯å¦ï¼ç»ä»¶ï¼å·¥å
·jsï¼ç¬¬ä¸æ¹æä»¶jsï¼jsonæä»¶ï¼å¾çæä»¶ççï¼ |
| | | //ä¾å¦ï¼import ãç»ä»¶åç§°ã from 'ãç»ä»¶è·¯å¾ã'; |
| | | import { mapGetters } from 'vuex'; |
| | | import variables from '@/styles/variables.scss'; |
| | | import { getStorage, setStorage } from '@/utils/sessionStorage'; |
| | | import SidebarItem from './SidebarItem'; |
| | | |
| | | export default { |
| | | //nameæ¾å
¥æ¨¡æ¿å,æ¹ä¾¿å¨å
¶ä»å°æ¹å¼ç¨ |
| | | name: '', |
| | | //importå¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { SidebarItem }, |
| | | data() { |
| | | //è¿éåæ¾æ°æ® |
| | | return {}; |
| | | }, |
| | | //çå¬å±æ§ 类似äºdataæ¦å¿µ |
| | | computed: { |
| | | ...mapGetters(['sidebar']), |
| | | variables() { |
| | | return variables; |
| | | }, |
| | | routes() { |
| | | let baseRoute = this.$store.state.permission.routes; |
| | | if (baseRoute.length > 13) { |
| | | return baseRoute[13].children; |
| | | } |
| | | }, |
| | | activeMenu() { |
| | | const route = this.$route; |
| | | const { meta, path } = route; |
| | | console.log(route); |
| | | if (meta.activeMenu) { |
| | | return meta.activeMenu; |
| | | } |
| | | |
| | | return path; |
| | | }, |
| | | // activeMenu() { |
| | | |
| | | // return this.$route.matched[1].path; |
| | | // }, |
| | | isCollapse() { |
| | | return this.sidebar; |
| | | } |
| | | }, |
| | | //çå½å¨æ - åå»ºå®æï¼å¯ä»¥è®¿é®å½åthiså®ä¾ï¼ |
| | | created() {}, |
| | | //çå½å¨æ - æè½½å®æï¼å¯ä»¥è®¿é®DOMå
ç´ ï¼ |
| | | mounted() {}, |
| | | //æ¹æ³éå |
| | | methods: { |
| | | //跳转é¦é¡µ |
| | | homeclick() { |
| | | // const { href } = this.$router.resolve({ |
| | | // path: '/home' |
| | | // }); |
| | | // window.open(href, '_blank'); |
| | | } |
| | | }, |
| | | //çæ§dataä¸çæ°æ®åå |
| | | watch: {}, |
| | | //妿页颿keep-aliveç¼ååè½ï¼è¿ä¸ªå½æ°ä¼è§¦å |
| | | activated() {} |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | /* @import url(); å¼å
¥å
Œ
±cssç±» */ |
| | | .heard { |
| | | text-align: center; |
| | | padding: 20px 0px; |
| | | background-color: #3a405a; |
| | | border-bottom: 1px solid rgb(72, 94, 122); |
| | | .heard-img { |
| | | width: 60px; |
| | | height: 60px; |
| | | border-radius: 30px; |
| | | transition: all 1s ease 0s; |
| | | } |
| | | .isimg { |
| | | width: 24px; |
| | | height: 24px; |
| | | border-radius: 15px; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <script> |
| | | export default { |
| | | name: 'MenuItem', |
| | | functional: true, |
| | | props: { |
| | | icon: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | title: { |
| | | type: String, |
| | | default: '' |
| | | } |
| | | }, |
| | | render(h, context) { |
| | | const { icon, title } = context.props; |
| | | const vnodes = []; |
| | | |
| | | if (icon) { |
| | | if (icon.includes('el-icon')) { |
| | | // vnodes.push(<i class={[icon, 'sub-el-icon']} />); |
| | | vnodes.push(<i class={icon} />); |
| | | } else { |
| | | vnodes.push(<svg-icon icon-class={icon} />); |
| | | } |
| | | } |
| | | |
| | | if (title) { |
| | | vnodes.push(<span slot="title">{title}</span>); |
| | | } |
| | | return vnodes; |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .sub-el-icon { |
| | | color: currentColor; |
| | | width: 1em; |
| | | height: 1em; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <el-scrollbar ref="scrollContainer" :vertical="false" class="scroll-container" @wheel.native.prevent="handleScroll"> |
| | | <slot /> |
| | | </el-scrollbar> |
| | | </template> |
| | | |
| | | <script> |
| | | const tagAndTagSpacing = 4 // tagAndTagSpacing |
| | | |
| | | export default { |
| | | name: 'ScrollPane', |
| | | data() { |
| | | return { |
| | | left: 0 |
| | | } |
| | | }, |
| | | computed: { |
| | | scrollWrapper() { |
| | | return this.$refs.scrollContainer.$refs.wrap |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.scrollWrapper.addEventListener('scroll', this.emitScroll, true) |
| | | }, |
| | | beforeDestroy() { |
| | | this.scrollWrapper.removeEventListener('scroll', this.emitScroll) |
| | | }, |
| | | methods: { |
| | | handleScroll(e) { |
| | | const eventDelta = e.wheelDelta || -e.deltaY * 40 |
| | | const $scrollWrapper = this.scrollWrapper |
| | | $scrollWrapper.scrollLeft = $scrollWrapper.scrollLeft + eventDelta / 4 |
| | | }, |
| | | emitScroll() { |
| | | this.$emit('scroll') |
| | | }, |
| | | moveToTarget(currentTag) { |
| | | const $container = this.$refs.scrollContainer.$el |
| | | const $containerWidth = $container.offsetWidth |
| | | const $scrollWrapper = this.scrollWrapper |
| | | const tagList = this.$parent.$refs.tag |
| | | |
| | | let firstTag = null |
| | | let lastTag = null |
| | | |
| | | // find first tag and last tag |
| | | if (tagList.length > 0) { |
| | | firstTag = tagList[0] |
| | | lastTag = tagList[tagList.length - 1] |
| | | } |
| | | |
| | | if (firstTag === currentTag) { |
| | | $scrollWrapper.scrollLeft = 0 |
| | | } else if (lastTag === currentTag) { |
| | | $scrollWrapper.scrollLeft = $scrollWrapper.scrollWidth - $containerWidth |
| | | } else { |
| | | // find preTag and nextTag |
| | | const currentIndex = tagList.findIndex(item => item === currentTag) |
| | | const prevTag = tagList[currentIndex - 1] |
| | | const nextTag = tagList[currentIndex + 1] |
| | | |
| | | // the tag's offsetLeft after of nextTag |
| | | const afterNextTagOffsetLeft = nextTag.$el.offsetLeft + nextTag.$el.offsetWidth + tagAndTagSpacing |
| | | |
| | | // the tag's offsetLeft before of prevTag |
| | | const beforePrevTagOffsetLeft = prevTag.$el.offsetLeft - tagAndTagSpacing |
| | | |
| | | if (afterNextTagOffsetLeft > $scrollWrapper.scrollLeft + $containerWidth) { |
| | | $scrollWrapper.scrollLeft = afterNextTagOffsetLeft - $containerWidth |
| | | } else if (beforePrevTagOffsetLeft < $scrollWrapper.scrollLeft) { |
| | | $scrollWrapper.scrollLeft = beforePrevTagOffsetLeft |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .scroll-container { |
| | | white-space: nowrap; |
| | | position: relative; |
| | | overflow: hidden; |
| | | width: 100%; |
| | | ::v-deep { |
| | | .el-scrollbar__bar { |
| | | bottom: 0px; |
| | | } |
| | | .el-scrollbar__wrap { |
| | | height: 49px; |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div id="tags-view-container" class="tags-view-container"> |
| | | <scroll-pane ref="scrollPane" class="tags-view-wrapper" @scroll="handleScroll"> |
| | | <router-link |
| | | v-for="tag in visitedViews" |
| | | ref="tag" |
| | | :key="tag.path" |
| | | :class="isActive(tag) ? 'active' : ''" |
| | | :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }" |
| | | tag="span" |
| | | class="tags-view-item" |
| | | @click.middle.native="!isAffix(tag) ? closeSelectedTag(tag) : ''" |
| | | @contextmenu.prevent.native="openMenu(tag, $event)" |
| | | > |
| | | {{ tag.title }} |
| | | <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" /> |
| | | </router-link> |
| | | </scroll-pane> |
| | | <ul v-show="visible" :style="{ left: left + 'px', top: top + 'px' }" class="contextmenu"> |
| | | <li @click="refreshSelectedTag(selectedTag)">å·æ°</li> |
| | | <li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">å
³é</li> |
| | | <li @click="closeOthersTags">å
³éå
¶å®</li> |
| | | <li @click="closeAllTags(selectedTag)">å
¨é¨å
³é</li> |
| | | </ul> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ScrollPane from './ScrollPane'; |
| | | import path from 'path'; |
| | | |
| | | export default { |
| | | components: { ScrollPane }, |
| | | data() { |
| | | return { |
| | | visible: false, |
| | | top: 0, |
| | | left: 0, |
| | | selectedTag: {}, |
| | | affixTags: [] |
| | | }; |
| | | }, |
| | | computed: { |
| | | visitedViews() { |
| | | return this.$store.state.tagsView.visitedViews; |
| | | }, |
| | | routes() { |
| | | return this.$store.state.permission.routes; |
| | | } |
| | | }, |
| | | watch: { |
| | | $route() { |
| | | this.addTags(); |
| | | this.moveToCurrentTag(); |
| | | }, |
| | | visible(value) { |
| | | if (value) { |
| | | document.body.addEventListener('click', this.closeMenu); |
| | | } else { |
| | | document.body.removeEventListener('click', this.closeMenu); |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.initTags(); |
| | | this.addTags(); |
| | | }, |
| | | methods: { |
| | | isActive(route) { |
| | | return route.path === this.$route.path; |
| | | }, |
| | | isAffix(tag) { |
| | | return tag.meta && tag.meta.affix; |
| | | }, |
| | | filterAffixTags(routes, basePath = '/') { |
| | | let tags = []; |
| | | routes.forEach(route => { |
| | | if (route.meta && route.meta.affix) { |
| | | const tagPath = path.resolve(basePath, route.path); |
| | | tags.push({ |
| | | fullPath: tagPath, |
| | | path: tagPath, |
| | | name: route.name, |
| | | meta: { ...route.meta } |
| | | }); |
| | | } |
| | | if (route.children) { |
| | | const tempTags = this.filterAffixTags(route.children, route.path); |
| | | if (tempTags.length >= 1) { |
| | | tags = [...tags, ...tempTags]; |
| | | } |
| | | } |
| | | }); |
| | | return tags; |
| | | }, |
| | | initTags() { |
| | | const affixTags = (this.affixTags = this.filterAffixTags(this.routes)); |
| | | |
| | | for (const tag of affixTags) { |
| | | // Must have tag name |
| | | if (tag.name) { |
| | | this.$store.dispatch('tagsView/addVisitedView', tag); |
| | | } |
| | | } |
| | | }, |
| | | addTags() { |
| | | const { name } = this.$route; |
| | | if (name) { |
| | | this.$store.dispatch('tagsView/addView', this.$route); |
| | | } |
| | | return false; |
| | | }, |
| | | moveToCurrentTag() { |
| | | const tags = this.$refs.tag; |
| | | this.$nextTick(() => { |
| | | for (const tag of tags) { |
| | | if (tag.to.path === this.$route.path) { |
| | | this.$refs.scrollPane.moveToTarget(tag); |
| | | // when query is different then update |
| | | if (tag.to.fullPath !== this.$route.fullPath) { |
| | | this.$store.dispatch('tagsView/updateVisitedView', this.$route); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | refreshSelectedTag(view) { |
| | | this.$store.dispatch('tagsView/delCachedView', view).then(() => { |
| | | const { fullPath } = view; |
| | | this.$nextTick(() => { |
| | | this.$router.replace({ |
| | | path: fullPath |
| | | }); |
| | | }); |
| | | }); |
| | | }, |
| | | closeSelectedTag(view) { |
| | | this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => { |
| | | if (this.isActive(view)) { |
| | | this.toLastView(visitedViews, view); |
| | | } |
| | | }); |
| | | }, |
| | | closeOthersTags() { |
| | | this.$router.push(this.selectedTag); |
| | | this.$store.dispatch('tagsView/delOthersViews', this.selectedTag).then(() => { |
| | | this.moveToCurrentTag(); |
| | | }); |
| | | }, |
| | | closeAllTags(view) { |
| | | this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => { |
| | | if (this.affixTags.some(tag => tag.path === view.path)) { |
| | | return; |
| | | } |
| | | this.toLastView(visitedViews, view); |
| | | }); |
| | | }, |
| | | toLastView(visitedViews, view) { |
| | | const latestView = visitedViews.slice(-1)[0]; |
| | | if (latestView) { |
| | | this.$router.push(latestView.fullPath); |
| | | } else { |
| | | // now the default is to redirect to the home page if there is no tags-view, |
| | | // you can adjust it according to your needs. |
| | | if (view.name === 'Didproject') { |
| | | // to reload home page |
| | | this.$router.replace({ path: '/Layout' }); |
| | | // this.$router.replace({ path: '/redirect' + view.fullPath }); |
| | | } else { |
| | | this.$router.push('/'); |
| | | } |
| | | } |
| | | }, |
| | | openMenu(tag, e) { |
| | | const menuMinWidth = 105; |
| | | const offsetLeft = this.$el.getBoundingClientRect().left; // container margin left |
| | | const offsetWidth = this.$el.offsetWidth; // container width |
| | | const maxLeft = offsetWidth - menuMinWidth; // left boundary |
| | | const left = e.clientX - offsetLeft + 15; // 15: margin right |
| | | |
| | | if (left > maxLeft) { |
| | | this.left = maxLeft; |
| | | } else { |
| | | this.left = left; |
| | | } |
| | | |
| | | this.top = e.clientY; |
| | | this.visible = true; |
| | | this.selectedTag = tag; |
| | | }, |
| | | closeMenu() { |
| | | this.visible = false; |
| | | }, |
| | | handleScroll() { |
| | | this.closeMenu(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .tags-view-container { |
| | | height: 34px; |
| | | width: 100%; |
| | | background: #fff; |
| | | border-bottom: 1px solid #d8dce5; |
| | | box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 3px 0 rgba(0, 0, 0, 0.04); |
| | | .tags-view-wrapper { |
| | | .tags-view-item { |
| | | display: inline-block; |
| | | position: relative; |
| | | cursor: pointer; |
| | | height: 26px; |
| | | line-height: 26px; |
| | | border: 1px solid #d8dce5; |
| | | color: #495060; |
| | | background: #fff; |
| | | padding: 0 8px; |
| | | font-size: 12px; |
| | | margin-left: 5px; |
| | | margin-top: 4px; |
| | | &:first-of-type { |
| | | margin-left: 15px; |
| | | } |
| | | &:last-of-type { |
| | | margin-right: 15px; |
| | | } |
| | | &.active { |
| | | background-color: #42b983; |
| | | color: #fff; |
| | | border-color: #42b983; |
| | | &::before { |
| | | content: ''; |
| | | background: #fff; |
| | | display: inline-block; |
| | | width: 8px; |
| | | height: 8px; |
| | | border-radius: 50%; |
| | | position: relative; |
| | | margin-right: 2px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .contextmenu { |
| | | margin: 0; |
| | | background: #fff; |
| | | z-index: 3000; |
| | | position: absolute; |
| | | list-style-type: none; |
| | | padding: 5px 0; |
| | | border-radius: 4px; |
| | | font-size: 12px; |
| | | font-weight: 400; |
| | | color: #333; |
| | | box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3); |
| | | li { |
| | | margin: 0; |
| | | padding: 7px 16px; |
| | | cursor: pointer; |
| | | &:hover { |
| | | background: #eee; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | | |
| | | <style lang="scss"> |
| | | //reset element css of el-icon-close |
| | | .tags-view-wrapper { |
| | | .tags-view-item { |
| | | .el-icon-close { |
| | | width: 16px; |
| | | height: 16px; |
| | | vertical-align: 2px; |
| | | border-radius: 50%; |
| | | text-align: center; |
| | | transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); |
| | | transform-origin: 100% 50%; |
| | | &:before { |
| | | transform: scale(0.6); |
| | | display: inline-block; |
| | | vertical-align: -3px; |
| | | } |
| | | &:hover { |
| | | background-color: #b4bccc; |
| | | color: #fff; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | export { default as NavTab } from './navbar.vue' |
| | | export {default as sidebar} from './Sidebar/index.vue' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- --> |
| | | <template> |
| | | <div class="navtab"> |
| | | <div class="flex heard-title align-center justify-between"> |
| | | <div class="flex align-end"> |
| | | <svg-icon |
| | | style="font-size: 20px" |
| | | class="svgicon margin-right pointer" |
| | | @click="toggleSideBar" |
| | | iconClass="align-right" |
| | | classNames="alignSvg" |
| | | :class="{ isActive: isCollapse }" |
| | | /> |
| | | <p class="title">æºè½åç«ä½åºç®¡çç³»ç»</p> |
| | | </div> |
| | | |
| | | <div class="technical"> |
| | | <el-dropdown class="right-menu"> |
| | | <div class="avatar-wrapper flex align-center"> |
| | | <img src="../../assets/heard/heard.jpg" class="user-avatar" /> |
| | | <span class="margin-left pointer text-overflow">{{ userinfo.userName }}</span> |
| | | </div> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item> {{ userinfo.deptName }} </el-dropdown-item> |
| | | <el-dropdown-item divided @click.native="logout"> |
| | | <p>éåºç»å½</p> |
| | | </el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </div> |
| | | </div> |
| | | <div class="Breadcrumb"> |
| | | <tags-view /> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | //è¿éå¯ä»¥å¯¼å
¥å
¶ä»æä»¶ï¼æ¯å¦ï¼ç»ä»¶ï¼å·¥å
·jsï¼ç¬¬ä¸æ¹æä»¶jsï¼jsonæä»¶ï¼å¾çæä»¶ççï¼ |
| | | //ä¾å¦ï¼import ãç»ä»¶åç§°ã from 'ãç»ä»¶è·¯å¾ã'; |
| | | import { mapGetters } from 'vuex'; |
| | | import TagsView from './TagsView/index'; |
| | | import { getCache } from '@/utils/sessionStorage'; |
| | | import ResizeMixin from '@/mixins/layout'; |
| | | export default { |
| | | //nameæ¾å
¥æ¨¡æ¿å,æ¹ä¾¿å¨å
¶ä»å°æ¹å¼ç¨ |
| | | name: '', |
| | | //importå¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { TagsView }, |
| | | mixins: [ResizeMixin], |
| | | data() { |
| | | //è¿éåæ¾æ°æ® |
| | | return { |
| | | userinfo: getCache('userInfo') |
| | | }; |
| | | }, |
| | | //çå¬å±æ§ 类似äºdataæ¦å¿µ |
| | | computed: { |
| | | ...mapGetters(['sidebar']), |
| | | isCollapse() { |
| | | return this.sidebar; |
| | | } |
| | | }, |
| | | //çå½å¨æ - åå»ºå®æï¼å¯ä»¥è®¿é®å½åthiså®ä¾ï¼ |
| | | created() {}, |
| | | //çå½å¨æ - æè½½å®æï¼å¯ä»¥è®¿é®DOMå
ç´ ï¼ |
| | | mounted() {}, |
| | | //æ¹æ³éå |
| | | methods: { |
| | | toggleSideBar() { |
| | | this.$store.dispatch('setting/togglesidebar'); |
| | | }, |
| | | async logout() { |
| | | await this.$store.dispatch('user/logout'); |
| | | this.$store.dispatch('permission/generateRoutes', []); |
| | | this.$router.push({ path: '/login' }); |
| | | } |
| | | }, |
| | | //çæ§dataä¸çæ°æ®åå |
| | | watch: {}, |
| | | //妿页颿keep-aliveç¼ååè½ï¼è¿ä¸ªå½æ°ä¼è§¦å |
| | | activated() {} |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | /* @import url(); å¼å
¥å
Œ
±cssç±» */ |
| | | .navtab { |
| | | width: 100%; |
| | | height: 80px; |
| | | border-bottom: 1px solid #d6e2e9; |
| | | box-shadow: 0 0 4px #345; |
| | | .isActive { |
| | | transform: rotate(180deg); |
| | | } |
| | | .Breadcrumb { |
| | | display: flex; |
| | | align-items: center; |
| | | .svgicon { |
| | | padding: 0 15px; |
| | | } |
| | | } |
| | | .technical { |
| | | display: flex; |
| | | align-items: center; |
| | | width: 11%; |
| | | justify-content: flex-end; |
| | | .right-menu { |
| | | margin-right: 15px; |
| | | .avatar-wrapper { |
| | | margin: auto; |
| | | display: flex; |
| | | .user-avatar { |
| | | cursor: pointer; |
| | | width: 24px; |
| | | height: 24px; |
| | | border-radius: 10px; |
| | | } |
| | | } |
| | | } |
| | | .full { |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | .heard-title { |
| | | height: 50px; |
| | | padding-left: 10px; |
| | | background-color: rgb(255, 255, 255); |
| | | border-radius: 0px !important; |
| | | .title { |
| | | // padding: 13px 10px 10px; |
| | | font-size: 20px; |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- --> |
| | | <template> |
| | | <div class="app-wrapper" :class="{ hidcontainer: isCollapse }"> |
| | | <sidebar class="sidebar-container" /> |
| | | <div class="main-container"> |
| | | <nav-tab /> |
| | | <!-- <right-panel v-if="showSettings"> |
| | | <settings /> |
| | | </right-panel> --> |
| | | <div class="main"> |
| | | <transition name="fade-transform" mode="out-in"> |
| | | <router-view /> |
| | | </transition> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | //è¿éå¯ä»¥å¯¼å
¥å
¶ä»æä»¶ï¼æ¯å¦ï¼ç»ä»¶ï¼å·¥å
·jsï¼ç¬¬ä¸æ¹æä»¶jsï¼jsonæä»¶ï¼å¾çæä»¶ççï¼ |
| | | //ä¾å¦ï¼import ãç»ä»¶åç§°ã from 'ãç»ä»¶è·¯å¾ã'; |
| | | import { NavTab, sidebar } from './components'; |
| | | import { mapGetters } from 'vuex'; |
| | | import { getStorage, setStorage } from '@/utils/sessionStorage'; |
| | | // import sidebar from './components/Sidebar/index' |
| | | // import ResizeMixin from './mixin/ResizeHandler'; |
| | | export default { |
| | | //nameæ¾å
¥æ¨¡æ¿å,æ¹ä¾¿å¨å
¶ä»å°æ¹å¼ç¨ |
| | | name: '', |
| | | //importå¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { sidebar, NavTab }, |
| | | data() { |
| | | //è¿éåæ¾æ°æ® |
| | | return {}; |
| | | }, |
| | | //çå¬å±æ§ 类似äºdataæ¦å¿µ |
| | | computed: { |
| | | ...mapGetters(['sidebar']), |
| | | isCollapse() { |
| | | return this.sidebar; |
| | | }, |
| | | visitedViews() { |
| | | return this.$store.state.tagsView.visitedViews; |
| | | } |
| | | }, |
| | | //çå½å¨æ - åå»ºå®æï¼å¯ä»¥è®¿é®å½åthiså®ä¾ï¼ |
| | | created() {}, |
| | | //çå½å¨æ - æè½½å®æï¼å¯ä»¥è®¿é®DOMå
ç´ ï¼ |
| | | mounted() {}, |
| | | //æ¹æ³éå |
| | | methods: {}, |
| | | //çæ§dataä¸çæ°æ®åå |
| | | watch: {}, |
| | | //妿页颿keep-aliveç¼ååè½ï¼è¿ä¸ªå½æ°ä¼è§¦å |
| | | activated() {}, |
| | | beforeRouteLeave: function (to, from, next) { |
| | | console.log(this.$vnode); |
| | | if (to.name == 'Login' || to.name == 'login') { |
| | | if (this.$vnode && this.$vnode.data.keepAlive) { |
| | | if (this.$vnode.parent && this.$vnode.parent.componentInstance && this.$vnode.parent.componentInstance.cache) { |
| | | if (this.$vnode.componentOptions) { |
| | | var key = |
| | | this.$vnode.key == null |
| | | ? this.$vnode.componentOptions.Ctor.cid + |
| | | (this.$vnode.componentOptions.tag ? `::${this.$vnode.componentOptions.tag}` : '') |
| | | : this.$vnode.key; |
| | | var cache = this.$vnode.parent.componentInstance.cache; |
| | | var keys = this.$vnode.parent.componentInstance.keys; |
| | | if (cache[key]) { |
| | | if (keys.length) { |
| | | var index = keys.indexOf(key); |
| | | if (index > -1) { |
| | | keys.splice(index, 1); |
| | | } |
| | | } |
| | | delete cache[key]; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {}); |
| | | } |
| | | |
| | | next(); |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .app-wrapper { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow: hidden; |
| | | .is-open { |
| | | width: calc(100% - 45px); |
| | | } |
| | | .main { |
| | | width: 98%; |
| | | height: calc(100% - 100px); |
| | | padding: 1%; |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios'; |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description 仿¥åºå
¥åºæ°æ® |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetHomeNumData(param) { |
| | | return axios.post('/SummaryStatistics/GetHomeNumData', qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description åç±»ååºä½ä½¿ç¨ç»è®¡ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetHomePieData(data) { |
| | | return axios.post('/SummaryStatistics/GetHomePieData', qs.stringify(data)); |
| | | } |
| | | |
| | | /** |
| | | * @description è·åé¶ä»¶çåºå
¥åºæ°é |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetHomeBarItemData(param) { |
| | | return axios.post('/SummaryStatistics/GetHomeBarItemData', qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description è·åå¨å
·çåºå
¥åºæ°é |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetHomeBarContainerData(param) { |
| | | return axios.post('/SummaryStatistics/GetHomeBarContainerData', qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description ç«åºæ»è§åå¶ä»¶æ»è§ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetStorageOverviewData(param) { |
| | | return axios.post('/SummaryStatistics/GetStorageOverviewData', qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description 仿¥ååºä½å¯¼åº |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetHomeNumDataByDate(param) { |
| | | return axios.post('/SummaryStatistics/GetHomeNumDataByDate', qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description è¦ç¤ºä¿¡æ¯ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetWarnings() { |
| | | return axios.post('/ItemStorage/SearchViewIndex'); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢ç线管ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function UserSearch(data) { |
| | | // return axios.post('/User/Search',qs.stringify(data) ); |
| | | // } |
| | | |
| | | export function ProductionLineSearch(data,param) { |
| | | return axios.post('/ProductionLine/Search?page='+data,qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description å é¤ç线 |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ProductionLineDelete(data) { |
| | | return axios.post('/ProductionLine/Delete',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description æ°å¢ç¼è¾ç线 |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ProductionLineAddOrUpdate(data) { |
| | | return axios.post('/ProductionLine/AddOrUpdate',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios'; |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢å åæºä»»å¡è®°å½ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function SrmTaskSearch(data, param) { |
| | | return axios.post('/SrmRecord/Search?page=' + data, qs.stringify(param)); |
| | | } |
| | | /** |
| | | * @description 导åºå åæºä»»å¡è®°å½ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function SearchAll(param) { |
| | | return axios.post('/SrmRecord/SearchAll', qs.stringify(param)); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢ç线管ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | |
| | | export function ProductionLineSearch(data,param) { |
| | | return axios.post('/ProductionLine/Search?page='+data,qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description å é¤ç线 |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ProductionLineDelete(data) { |
| | | return axios.post('/ProductionLine/Delete',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description æ°å¢ç¼è¾ç线 |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ProductionLineAddOrUpdate(data) { |
| | | return axios.post('/ProductionLine/AddOrUpdate',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢ç¨æ· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function DeptSearch(data) { |
| | | // return axios.post('/Dept/Search',qs.stringify(data) ); |
| | | // } |
| | | |
| | | export function DeptSearch(data,param) { |
| | | return axios.post('/Dept/Search?page='+data,qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description å é¤ç¨æ· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function DeptDelete(data) { |
| | | return axios.post('/Dept/Delete',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description æ°å¢ç¼è¾ç¨æ· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function DeptAddOrUpdate(data) { |
| | | return axios.post('/Dept/AddOrUpdate',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢ç»ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function UserSearch(data) { |
| | | // return axios.post('/User/Search',qs.stringify(data) ); |
| | | // } |
| | | export function ContainerVsItemSearch(data,param) { |
| | | return axios.post('/ContainerVsItem/Search?page='+data,qs.stringify(param)); |
| | | } |
| | | /** |
| | | * @description å é¤ç»ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ContainerVsItemDelete(data) { |
| | | return axios.post('/ContainerVsItem/DeleteOne',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description æ°å¢ç»ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ContainerVsItemAdd(data) { |
| | | return axios.post('/ContainerVsItem/Add',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description 夿¡è®°å½æ°å¢ç»ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ContainerVsItemAddAll(data) { |
| | | return axios.post('/ContainerVsItem/AddOrUpdateAll',qs.stringify(data) ); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * @description ä¿®æ¹ç»ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ContainerVsItemUpdate(data) { |
| | | return axios.post('/ContainerVsItem/Update',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description è·åç»çç¼å· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetCode(data) { |
| | | return axios.post('/ContainerVsItem/GetCode',qs.stringify(data) ); |
| | | } |
| | | |
| | | /** |
| | | * @description å²åå
¥åºè®¡åå
³è |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function BindCviCode(data) { |
| | | return axios.post('/ContainerVsItem/BindCviCode',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios'; |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢é¶ä»¶ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function UserSearch(data) { |
| | | // return axios.post('/User/Search',qs.stringify(data) ); |
| | | // } |
| | | |
| | | export function itemSearch(data, param) { |
| | | return axios.post('/Item/Search?page=' + data, qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description 导åºå
¨é¨é¶ä»¶ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function UserSearch(data) { |
| | | // return axios.post('/User/Search',qs.stringify(data) ); |
| | | // } |
| | | |
| | | export function GetAllItem(data, param) { |
| | | return axios.post('/Item/GetAllItem', qs.stringify(param)); |
| | | } |
| | | /** |
| | | * @description å é¤é¶ä»¶ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ItemDelete(data) { |
| | | return axios.post('/Item/Delete', qs.stringify(data)); |
| | | } |
| | | /** |
| | | * @description æ°å¢é¶ä»¶ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ItemAddOrUpdate(data) { |
| | | return axios.post('/Item/AddOrUpdate', qs.stringify(data)); |
| | | } |
| | | /** |
| | | * @description 导å
¥é¶ä»¶çåºç¡åä»·åæå¤§æå°åºåéãè¶
ææ¶é´ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ImportItemInfo(data) { |
| | | return axios.post('/Item/ImportItemInfo', qs.stringify(data)); |
| | | } |
| | | |
| | | /** |
| | | * @description æç´¢ä¸ä¸éæ¯å¦å¼å¯ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function SearchStorageEnable() { |
| | | return axios.post('/Item/SearchStorageEnable'); |
| | | } |
| | | |
| | | /** |
| | | * @description å¯ç¨/å
³éä¸ä¸é夿 |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function UpdateStorageEnable(data) { |
| | | return axios.post('/Item/UpdateStorageEnable', qs.stringify(data)); |
| | | } |
| | | |
| | | /** |
| | | * @description 设置åºå®¹ä¸çº¿ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function UpdateMinStorage(data) { |
| | | return axios.post('/Item/UpdateMinStorage', qs.stringify(data)); |
| | | } |
| | | |
| | | /** |
| | | * @description 设置åºå®¹ä¸çº¿ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function UpdateMaxStorage(data) { |
| | | return axios.post('/Item/UpdateMaxStorage', qs.stringify(data)); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios'; |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢å åæºä»»å¡ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function SrmTaskSearch(data, param) { |
| | | return axios.post('/SrmTask/Search?page=' + data, qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description æç´¢RGVä»»å¡ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function RgvTaskSearch(data, param) { |
| | | return axios.post('/RgvTask/Search?page=' + data, qs.stringify(param)); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢å车 |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function CarSearch(data,param) { |
| | | return axios.post('/Car/Search?page='+data,qs.stringify(param)); |
| | | } |
| | | /** |
| | | * @description å é¤å车 |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function CarDelete(data) { |
| | | return axios.post('/Car/Delete',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description æ°å¢ä¿®æ¹å车 |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function CarAddOrUpdate(data) { |
| | | return axios.post('/Car/AddOrUpdate',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios'; |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢åè½¦ä»»å¡ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function CarTaskSearch(data, param) { |
| | | return axios.post('/CarTask/Search?page=' + data, qs.stringify(param)); |
| | | } |
| | | /** |
| | | * @description å é¤åè½¦ä»»å¡ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function CarTaskDelete(data) { |
| | | return axios.post('/CarTask/Delete', qs.stringify(data)); |
| | | } |
| | | /** |
| | | * @description æ°å¢ä¿®æ¹åè½¦ä»»å¡ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function CarTaskAddOrUpdate(data) { |
| | | return axios.post('/CarTask/AddOrUpdate', qs.stringify(data)); |
| | | } |
| | | /** |
| | | * @description è·åå车任å¡å· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function CarTaskGetCode(data) { |
| | | return axios.post('/CarTask/GetCode', qs.stringify(data)); |
| | | } |
| | | |
| | | /** |
| | | * @description è·ååè½¦å¸æº |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetCarUser(data) { |
| | | return axios.post('/CarTask/GetCarUser', qs.stringify(data)); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢å
¥åºç±»å |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function InTypeSearch(data,param) { |
| | | return axios.post('/InType/Search?page='+data,qs.stringify(param)); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description è·åç¼å· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function PlaceVsContainerGetCode(data,param) { |
| | | return axios.post('/PlaceVsContainer/GetCode',qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description æç´¢åºå管ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function PlaceVsContainer(data,param) { |
| | | return axios.post('/PlaceVsContainer/Search?page='+data,qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description å é¤åºå |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function PlaceVsContainerDelete(data) { |
| | | return axios.post('/PlaceVsContainer/Delete',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description æ°å¢ç¼è¾åºå |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function PlaceAddOrUpdate(data) { |
| | | return axios.post('/PlaceVsContainer/AddOrUpdate',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description æ¥æ¾åºä½ç±»å |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ContainerTypeSearch(data) { |
| | | return axios.post('/Container/GetContainerType',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios'; |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢ä¸»ä»»å¡ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function TaskSearch(data, param) { |
| | | return axios.post('/Task/Search?page=' + data, qs.stringify(param)); |
| | | } |
| | | /** |
| | | * @description å
¨é¨å¯¼åº |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function GetAllMainTask(data) { |
| | | return axios.post('/Task/GetAllMainTask', qs.stringify(data)); |
| | | } |
| | | |
| | | /** |
| | | * @description å¤çä¸»ä»»å¡ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function TaskDeleteErrorTask(data) { |
| | | return axios.post('/Task/DeleteErrorTask', qs.stringify(data)); |
| | | } |
| | | /** |
| | | * @description å é¤ä¸»ä»»å¡ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function TaskDelete(data) { |
| | | return axios.post('/Task/Delete', qs.stringify(data)); |
| | | } |
| | | /** |
| | | * @description æ°å¢ä¿®æ¹ä¸»ä»»å¡ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function TaskAddOrUpdate(data) { |
| | | return axios.post('/Task/AddOrUpdate', qs.stringify(data)); |
| | | } |
| | | /** |
| | | * @description æé«ä¼å
级 |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function UpTaskLevel(data) { |
| | | return axios.post('/Task/UpTaskLevel', qs.stringify(data)); |
| | | } |
| | | |
| | | /** |
| | | * @description 强å¶ä¼å
|
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function MustTask(data) { |
| | | return axios.post('/Task/MustTask', qs.stringify(data)); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢ç¨æ· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function UserSearch(data) { |
| | | // return axios.post('/User/Search',qs.stringify(data) ); |
| | | // } |
| | | |
| | | export function UserSearch(data,param) { |
| | | return axios.post('/User/Search?page='+data,qs.stringify(param) ); |
| | | } |
| | | |
| | | /** |
| | | * @description å é¤ç¨æ· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function UserDelete(data) { |
| | | return axios.post('/User/Delete',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description æ°å¢ç¼è¾ç¨æ· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function AddOrUpdate(data) { |
| | | return axios.post('/User/AddOrUpdate',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | |
| | | /** |
| | | * @description æç´¢ç©æåºå |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function ItemStorage(data,param) { |
| | | return axios.post('/ItemStorage/Search?page='+data,qs.stringify(param)); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢åºåºç®¡ç计å |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function UserSearch(data) { |
| | | // return axios.post('/User/Search',qs.stringify(data) ); |
| | | // } |
| | | export function OutOrderSearch(data,param) { |
| | | return axios.post('/OutOrder/Search?page='+data,qs.stringify(param)); |
| | | } |
| | | /** |
| | | * @description è·åå
¥åºç¼å· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function OutOrderGetCode(data) { |
| | | return axios.post('/OutOrder/GetCode',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description å é¤å
¥åºè®¡å |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function OutOrderDelete(data) { |
| | | return axios.post('/OutOrder/Delete',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description æ°å¢ä¿®æ¹å
¥åº |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function OutOrderAddOrUpdate(data) { |
| | | return axios.post('/OutOrder/AddOrUpdate',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description åºåºåä¸å |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function CheckOutOrder(data) { |
| | | return axios.post('OutOrder/CheckOutOrder',qs.stringify(data) ); |
| | | } |
| | | |
| | | export function GetForkliftWorkers(data) { |
| | | return axios.post('User/Search?page=1', data); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios'; |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢ç©æåºå |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function GetInOutCountByHour(param) { |
| | | return axios.post('/SummaryStatistics/GetInOutCountByHour', qs.stringify(param)); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios'; |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢å¨å
·ç®¡ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function UserSearch(data) { |
| | | // return axios.post('/User/Search',qs.stringify(data) ); |
| | | // } |
| | | |
| | | export function ContainerSearch(data, param) { |
| | | return axios.post('/Container/Search?page=' + data, qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description æç´¢å¨å
·ç®¡ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function UserSearch(data) { |
| | | // return axios.post('/User/Search',qs.stringify(data) ); |
| | | // } |
| | | |
| | | export function GetAllContainer(data, param) { |
| | | return axios.post('/Container/GetAllContainer', qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description æ¥æ¾å¨å
·è§æ ¼ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | */ |
| | | export function PalletSearch(data, param) { |
| | | return axios.post('/Pallet/Search?page=' + data, qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description å é¤å¨å
· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ContainerDelete(data) { |
| | | return axios.post('/Container/Delete', qs.stringify(data)); |
| | | } |
| | | /** |
| | | * @description æ°å¢ç¼è¾å¨å
· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ContainerAddOrUpdate(data) { |
| | | return axios.post('/Container/AddOrUpdate', qs.stringify(data)); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢è´§ä½ç®¡ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function PlaceSearch(data,param) { |
| | | return axios.post('/Place/Search?page='+data,qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description æ ¹æ®ä»»å¡ç±»åè·åå¯ç¨çåºä½ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function PlaceGetPlace(param) { |
| | | return axios.post('/Place/GetPlace',qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description å é¤è´§ä½ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ContainerDelete(data) { |
| | | return axios.post('/Container/Delete',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description æ°å¢ç¼è¾è´§ä½ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function PlaceAddOrUpdate(data) { |
| | | return axios.post('/Place/AddOrUpdate',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢å
¥åºç®¡ç计å |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function UserSearch(data) { |
| | | // return axios.post('/User/Search',qs.stringify(data) ); |
| | | // } |
| | | export function InOrderSearch(data,param) { |
| | | return axios.post('/InOrder/Search?page='+data,qs.stringify(param)); |
| | | } |
| | | /** |
| | | * @description è·åå
¥åºç¼å· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function InOrderGetCode(data) { |
| | | return axios.post('/InOrder/GetCode',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description å é¤å
¥åºè®¡å |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function InOrderDelete(data) { |
| | | return axios.post('/InOrder/Delete',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description æ°å¢ä¿®æ¹å
¥åº |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function InOrderAddOrUpdate(data) { |
| | | return axios.post('/InOrder/AddOrUpdate',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description å²åå
¥åºè®¡å导å
¥ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function ImportInOrder(data) { |
| | | return axios.post('/InOrder/ImportInOrder',qs.stringify(data) ); |
| | | } |
| | | |
| | | /** |
| | | * @description ä¿®æ¹çº¿ä¸äº¤ä»æ°é |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function UpdateUnlineNum(data) { |
| | | return axios.post('/InOrder/UpdateUnlineNum',qs.stringify(data) ); |
| | | } |
| | | |
| | | /** |
| | | * @description æäº¤å®¡æ ¸ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function InOrderSend(data) { |
| | | return axios.post('/InOrder/Send',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description å®¡æ ¸éè¿ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function InOrderCheck(data) { |
| | | return axios.post('/InOrder/Check',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description å®¡æ ¸é©³å |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function InOrderReject(data) { |
| | | return axios.post('/InOrder/Reject',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | /** |
| | | * @description ç¨æ·ç»å½ |
| | | * @param {string} username |
| | | * @param {string} password |
| | | * @returns {string} token |
| | | * qs. |
| | | * */ |
| | | // export function login(data) { |
| | | // return axios.post('user/login?userName='+data.userName+'&password='+data.password ); |
| | | // } |
| | | export function login(data) { |
| | | return axios.post('user/login',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | |
| | | /** |
| | | * @description ä»»å¡èæåæ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetTaskBeatAnalysis(data) { |
| | | return axios.post('/SummaryStatistics/GetTaskBeatAnalysis',qs.stringify(data) ); |
| | | } |
| | | |
| | | /** |
| | | * @description åºå
¥åºä»»å¡å¹³åæ¶é¿ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetInOutAverageTime(data) { |
| | | return axios.post('/SummaryStatistics/GetInOutAverageTime',qs.stringify(data) ); |
| | | } |
| | | |
| | | /** |
| | | * @description åºååç±»ç»è®¡ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetStockClassificationData(data) { |
| | | return axios.post('/SummaryStatistics/GetStockClassificationData',qs.stringify(data) ); |
| | | } |
| | | |
| | | /** |
| | | * @description è´§æ ¼å©ç¨ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetStorageVailability(data) { |
| | | return axios.post('/SummaryStatistics/GetStorageVailability',qs.stringify(data) ); |
| | | } |
| | | |
| | | /** |
| | | * @description å¶ä»¶å¨è½¬æ¶é´ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetPartTurnover(data) { |
| | | return axios.post('/SummaryStatistics/GetPartTurnover',qs.stringify(data) ); |
| | | } |
| | | |
| | | /** |
| | | * @description 设å¤å¯å¨ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetDevMovable(data) { |
| | | return axios.post('/SummaryStatistics/GetDevMovable',qs.stringify(data) ); |
| | | } |
| | | |
| | | /** |
| | | * @description 设å¤å©ç¨ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetDevAvailability(data) { |
| | | return axios.post('/SummaryStatistics/GetDevAvailability',qs.stringify(data) ); |
| | | } |
| | | |
| | | /** |
| | | * @description å¨å¶åèµéåæ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetStorageCapitalAnalysis(data) { |
| | | return axios.post('/SummaryStatistics/GetStorageCapitalAnalysis',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢ææèå |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function DeptSearch(data) { |
| | | // return axios.post('/Dept/Search',qs.stringify(data) ); |
| | | // } |
| | | |
| | | export function GetUserRoleAllPermission(param) { |
| | | return axios.post('/Permission/GetUserRoleAllPermission',qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description æç´¢æé |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function DeptSearch(data) { |
| | | // return axios.post('/Dept/Search',qs.stringify(data) ); |
| | | // } |
| | | |
| | | export function SearchPermission(param) { |
| | | return axios.post('/Permission/SearchPermission',qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description æç´¢è§è²æ¥ææé |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function SearchRoleVsPermission(data) { |
| | | return axios.post('/Permission/SearchRoleVsPermission',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description ä¿®æ¹è§è²æé |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function AddOrUpdateRoleVsPermission(data) { |
| | | return axios.post('/Permission/AddOrUpdateRoleVsPermission',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢ç¨æ· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function UserSearch(data) { |
| | | // return axios.post('/User/Search',qs.stringify(data) ); |
| | | // } |
| | | |
| | | export function RoleSearch(data,param) { |
| | | return axios.post('/Role/Search?page='+data,qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description å é¤ç¨æ· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function RoleDelete(data) { |
| | | return axios.post('/Role/Delete',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description æ°å¢ç¼è¾ç¨æ· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function RoleAddOrUpdate(data) { |
| | | return axios.post('/Role/AddOrUpdate',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢è´§ä½ç®¡ç |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function UserSearch(data) { |
| | | // return axios.post('/User/Search',qs.stringify(data) ); |
| | | // } |
| | | |
| | | export function DeviceSearch(data,param) { |
| | | return axios.post('/Device/Search?page='+data,qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description å é¤è´§ä½ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | // export function ContainerDelete(data) { |
| | | // return axios.post('/Container/Delete',qs.stringify(data) ); |
| | | // } |
| | | /** |
| | | * @description æ°å¢ç¼è¾è´§ä½ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function DeviceAddOrUpdate(data) { |
| | | return axios.post('/Device/AddOrUpdate',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios'; |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description åºå
¥åºç»è®¡ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function GetEnterNum(param) { |
| | | return axios.post('/Task/GetEnterNum', qs.stringify(param)); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢ä»»å¡è®°å½ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function TaskRecodeSearch(data,param) { |
| | | return axios.post('/TaskRecode/Search?page='+data,qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description å é¤ä»»å¡ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function TaskRecodeDelete(data) { |
| | | return axios.post('/TaskRecode/Delete',qs.stringify(data) ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios' |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description è·ååç§ç¶æçåºä½æ°é |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function GetAllStatusPlaceCount(param) { |
| | | return axios.post('/Place/GetAllStatusPlaceCount',qs.stringify(param)); |
| | | } |
| | | |
| | | /** |
| | | * @description è·åæå®å··éåºçææåºä½ä¿¡æ¯ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetAllPlaceInfo(data) { |
| | | return axios.post('/Place/GetAllPlaceInfo',qs.stringify(data) ); |
| | | } |
| | | /** |
| | | * @description è·ååºä½éçæçæè
ç©æä¿¡æ¯ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetPVCVIInfo(data) { |
| | | return axios.post('/Place/GetPVCVIInfo',qs.stringify(data) ); |
| | | } |
| | | |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from '../utils/axios'; |
| | | import qs from 'qs'; |
| | | |
| | | /** |
| | | * @description æç´¢æ¥è¦ä¿¡æ¯ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | |
| | | export function AlertSearch(data, param) { |
| | | return axios.post('/Alert/Search?page=' + data, qs.stringify(param)); |
| | | } |
| | | /** |
| | | * @description è·åç¼å· |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function AlertGetCode(data) { |
| | | return axios.post('/Alert/GetCode', qs.stringify(data)); |
| | | } |
| | | /** |
| | | * @description å 餿¥è¦ä¿¡æ¯ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function AlertDelete(data) { |
| | | return axios.post('/Alert/Delete', qs.stringify(data)); |
| | | } |
| | | /** |
| | | * @description æ°å¢ä¿®æ¹æ¥è¦ä¿¡æ¯ |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function CarAddOrUpdate(data) { |
| | | return axios.post('/Alert/AddOrUpdate', qs.stringify(data)); |
| | | } |
| | | |
| | | /** |
| | | * @description 导åºå
¨é¨æ°æ® |
| | | * @param {string} |
| | | * @param {string} |
| | | * @returns {string} |
| | | * qs. |
| | | * */ |
| | | export function GetAllAlarmInfo(data) { |
| | | return axios.post('/Alert/GetAllAlarmInfo', qs.stringify(data)); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <svg :class="svgClass" aria-hidden="true" v-on="$listeners"> |
| | | <use :xlink:href="iconName" /> |
| | | </svg> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'SvgIcon', |
| | | props: { |
| | | iconClass: { |
| | | type: String, |
| | | required: true |
| | | }, |
| | | className: { |
| | | type: String, |
| | | default: '' |
| | | } |
| | | }, |
| | | computed: { |
| | | iconName() { |
| | | return `#icon-${this.iconClass}` |
| | | }, |
| | | svgClass() { |
| | | if (this.className) { |
| | | return 'svg-icon ' + this.className |
| | | } else { |
| | | return 'svg-icon' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .svg-icon { |
| | | width: 1em; |
| | | height: 1em; |
| | | vertical-align: -0.15em; |
| | | fill: currentColor; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .svg-external-icon { |
| | | background-color: currentColor; |
| | | mask-size: cover!important; |
| | | display: inline-block; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* eslint-disable */ |
| | | /* * |
| | | * @Author: jianglei |
| | | * @Date: 2017-10-12 12:06:49 |
| | | */ |
| | | "use strict"; |
| | | import Vue from "vue"; |
| | | export default function treeToArray(data, expandAll, parent = null, level = null) { |
| | | let tmp = []; |
| | | Array.from(data).forEach(function(record) { |
| | | if (record._expanded === undefined) { |
| | | Vue.set(record, "_expanded", expandAll); |
| | | } |
| | | let _level = 1; |
| | | if (level !== undefined && level !== null) { |
| | | _level = level + 1; |
| | | } |
| | | Vue.set(record, "_level", _level); |
| | | // 妿æç¶å
ç´ |
| | | if (parent) { |
| | | Vue.set(record, "parent", parent); |
| | | } |
| | | tmp.push(record); |
| | | if (record.children && record.children.length > 0 && record._expanded) { |
| | | const children = treeToArray(record.children, expandAll, record, _level); |
| | | tmp = tmp.concat(children); |
| | | } |
| | | }); |
| | | return tmp; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <el-table |
| | | :data="formatData" |
| | | :row-style="showRow" |
| | | v-bind="$attrs" |
| | | :class="'abc-' + columns.length" |
| | | highlight-current-row |
| | | size="mini" |
| | | > |
| | | <el-table-column v-if="columns.length === 0" :label="treeColumnLabel" width="280"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox |
| | | v-model="scope.row.isSelected" |
| | | @change=" |
| | | isSelected => { |
| | | rowSelected(isSelected, scope.row); |
| | | } |
| | | " |
| | | ></el-checkbox> |
| | | <span v-for="space in scope.row._level" :key="space" class="ms-tree-space" /> |
| | | <span v-if="iconShow(0, scope.row)" class="tree-ctrl" @click="toggleExpanded(scope.$index)"> |
| | | <i v-if="!scope.row._expanded" class="el-icon-plus" /> |
| | | <i v-else class="el-icon-minus" /> |
| | | </span> |
| | | {{ scope.row.menuName }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-for="(column, index) in columns" |
| | | v-else |
| | | :key="column.value" |
| | | :label="column.text" |
| | | :width="column.width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-for="space in scope.row._level" v-if="index === 0" :key="space" class="ms-tree-space" /> |
| | | <span v-if="iconShow(index, scope.row)" class="tree-ctrl" @click="toggleExpanded(scope.$index)"> |
| | | <i v-if="!scope.row._expanded" class="el-icon-plus" /> |
| | | <i v-else class="el-icon-minus" /> |
| | | </span> |
| | | {{ scope.row[column.value] }} |
| | | </template> |
| | | </el-table-column> |
| | | <slot /> |
| | | </el-table> |
| | | </template> |
| | | |
| | | <script> |
| | | import treeToArray from './eval'; |
| | | export default { |
| | | name: 'TreeTable', |
| | | props: { |
| | | /* eslint-disable */ |
| | | data: { |
| | | type: [Array, Object], |
| | | required: true |
| | | }, |
| | | // æ 导èªå头åç§° |
| | | treeColumnLabel: { |
| | | type: String, |
| | | default: '导èªç±»å«' |
| | | }, |
| | | columns: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | evalFunc: Function, |
| | | evalArgs: Array, |
| | | expandAll: { |
| | | type: Boolean, |
| | | default: false |
| | | } |
| | | }, |
| | | computed: { |
| | | // æ ¼å¼åæ°æ®æº |
| | | formatData: function () { |
| | | let tmp; |
| | | if (!Array.isArray(this.data)) { |
| | | tmp = [this.data]; |
| | | } else { |
| | | tmp = this.data; |
| | | } |
| | | const func = this.evalFunc || treeToArray; |
| | | const args = this.evalArgs ? Array.concat([tmp, this.expandAll], this.evalArgs) : [tmp, this.expandAll]; |
| | | return func.apply(null, args); |
| | | } |
| | | }, |
| | | methods: { |
| | | showRow: function (row) { |
| | | const show = row.row.parent ? row.row.parent._expanded && row.row.parent._show : true; |
| | | row.row._show = show; |
| | | return show ? 'animation:treeTableShow 1s;-webkit-animation:treeTableShow 1s;' : 'display:none;'; |
| | | }, |
| | | // 忢ä¸çº§æ¯å¦å±å¼ |
| | | toggleExpanded: function (trIndex) { |
| | | const record = this.formatData[trIndex]; |
| | | record._expanded = !record._expanded; |
| | | }, |
| | | // 徿 æ¾ç¤º |
| | | iconShow(index, record) { |
| | | return index === 0 && record.children && record.children.length > 0; |
| | | }, |
| | | // è¡åé¢å¤éæ¡éä¸äºä»¶ |
| | | rowSelected(isSelected, row) { |
| | | this.$emit('row-selected', isSelected, row); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | <style rel="stylesheet/css"> |
| | | @keyframes treeTableShow { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | @-webkit-keyframes treeTableShow { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | </style> |
| | | |
| | | <style lang="scss" rel="stylesheet/scss" scoped> |
| | | $color-blue: #2196f3; |
| | | $space-width: 18px; |
| | | .ms-tree-space { |
| | | position: relative; |
| | | top: 1px; |
| | | display: inline-block; |
| | | font-style: normal; |
| | | font-weight: 400; |
| | | line-height: 1; |
| | | width: $space-width; |
| | | height: 14px; |
| | | &::before { |
| | | content: ''; |
| | | } |
| | | } |
| | | .processContainer { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | table td { |
| | | line-height: 26px; |
| | | } |
| | | |
| | | .tree-ctrl { |
| | | position: relative; |
| | | cursor: pointer; |
| | | color: $color-blue; |
| | | margin-left: -$space-width; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | ## åå¨åé¢ |
| | | æ¤ç»ä»¶ä»
æä¾ä¸ä¸ªå建TreeTableçè§£å³æè·¯ |
| | | |
| | | ## prop说æ |
| | | #### *data* |
| | | **å¿
å¡«** |
| | | |
| | | åå§æ°æ®,è¦æ±æ¯ä¸ä¸ªæ°ç»æè
对象 |
| | | ```javascript |
| | | [{ |
| | | key1: value1, |
| | | key2: value2, |
| | | children: [{ |
| | | key1: value1 |
| | | }, |
| | | { |
| | | key1: value1 |
| | | }] |
| | | }, |
| | | { |
| | | key1: value1 |
| | | }] |
| | | ``` |
| | | æè
|
| | | ```javascript |
| | | { |
| | | key1: value1, |
| | | key2: value2, |
| | | children: [{ |
| | | key1: value1 |
| | | }, |
| | | { |
| | | key1: value1 |
| | | }] |
| | | } |
| | | ``` |
| | | |
| | | #### columns |
| | | å屿§,è¦æ±æ¯ä¸ä¸ªæ°ç» |
| | | |
| | | 1. text: æ¾ç¤ºå¨è¡¨å¤´çæå |
| | | 2. value: 对åºdataçkeyãtreeTableå°æ¾ç¤ºç¸åºçvalue |
| | | 3. width: æ¯åç宽度ï¼ä¸ºä¸ä¸ªæ°å(å¯é) |
| | | |
| | | å¦æä½ æ³è¦æ¯ä¸ªåæ®µé½æèªå®ä¹çæ ·å¼æè
åµå¥å
¶ä»ç»ä»¶ï¼columnså¯ä¸æä¾ï¼ç´æ¥åå¨el-table䏿 ·åå³å¯ï¼å¦ææ²¡æèªå®ä¹å
å®¹ï¼æä¾columnså°æ´å çä¾¿æ·æ¹ä¾¿ |
| | | |
| | | å¦æä½ æå ä¸ªåæ®µæ¯éè¦èªå®ä¹çï¼å 个ä¸éè¦ï¼é£ä¹å¯ä»¥å°ä¸éè¦èªå®ä¹çåæ®µæ¾å
¥columnsï¼å°éè¦èªå®ä¹çå
容æ¾å
¥å°slotä¸ï¼è¯¦æ
è§åæ |
| | | ```javascript |
| | | [{ |
| | | value:string, |
| | | text:string, |
| | | width:number |
| | | },{ |
| | | value:string, |
| | | text:string, |
| | | width:number |
| | | }] |
| | | ``` |
| | | |
| | | #### expandAll |
| | | æ¯å¦é»è®¤å
¨é¨å±å¼ï¼booleanå¼ï¼é»è®¤ä¸ºfalse |
| | | |
| | | #### evalFunc |
| | | è§£æå½æ°ï¼functionï¼éå¿
é¡» |
| | | |
| | | 妿䏿ä¾ï¼å°ä½¿ç¨é»è®¤ç[evalFunc](./eval.js) |
| | | |
| | | 妿æä¾äºevalFunc,é£ä¹ä¼ç¨æä¾çevalFuncå»è§£ædataï¼å¹¶è¿åtreeTable渲ææéè¦çå¼ãå¦ä½ç¼åä¸ä¸ªevalFuncï¼è¯·åè[*eval.js*](https://github.com/PanJiaChen/vue-element-admin/blob/master/src/components/TreeTable/eval.js)æ[*customEval.js*](https://github.com/PanJiaChen/vue-element-admin/blob/master/src/views/example/table/treeTable/customEval.js) |
| | | |
| | | #### evalArgs |
| | | è§£æå½æ°çåæ°ï¼æ¯ä¸ä¸ªæ°ç» |
| | | |
| | | **请注æï¼èªå®ä¹çè§£æå½æ°åæ°ç¬¬ä¸ä¸ªä¸ºthis.dataï¼ç¬¬äºä¸ªåæ°ä¸ºï¼ this.expandAll,ä½ ä¸éè¦å¨evalArgså¡«åãä¸å®è®°ä½ï¼è¿ä¸¤ä¸ªåæ°æ¯å¼ºå¶æ§çï¼å¹¶ä¸ä½ç½®ä¸å¯é¢ å** *this.data为éè¦è§£æçæ°æ®ï¼this.expandAll为æ¯å¦é»è®¤å±å¼* |
| | | |
| | | å¦ä½ çè§£æå½æ°éè¦çåæ°ä¸º`(this.data, this.expandAll,1,2,3,4)`ï¼é£ä¹ä½ åªéè¦å°`[1,2,3,4]`èµå¼ç»`evalArgs`å°±å¯ä»¥äº |
| | | |
| | | å¦æä½ çè§£æå½æ°åæ°åªæ`(this.data, this.expandAll)`,é£ä¹å°±å¯ä»¥ä¸ç¨å¡«åevalArgsäº |
| | | |
| | | å
·ä½å¯åè[*customEval.js*](https://github.com/PanJiaChen/vue-element-admin/blob/master/src/views/example/table/treeTable/customEval.js)ç彿°åæ°å[customTreeTable](https://github.com/PanJiaChen/vue-element-admin/blob/master/src/views/example/table/treeTable/customTreeTable.vue)ç`evalArgs`屿§å¼ |
| | | |
| | | ## slot |
| | | è¿æ¯ä¸ä¸ªèªå®ä¹åçææ§½ã |
| | | |
| | | é»è®¤æ
åµä¸ï¼treeTableåªæä¸è¡è¡å±ç¤ºæ°æ®çåè½ã使¯ä¸è¬æ
åµä¸ï¼æä»¬ä¼è¦ç»è¡å ä¸ä¸ä¸ªæä½æé®æè
æ ¹æ®å½è¡æ°æ®å±ç¤ºä¸åçæ ·å¼ï¼è¿æ¶æä»¬å°±éè¦èªå®ä¹åäºã请åè[customTreeTable](https://github.com/PanJiaChen/vue-element-admin/blob/master/src/views/example/table/treeTable/customTreeTable.vue)ï¼[å®ä¾ææ](http://panjiachen.github.io/vue-element-admin/#/example/table/custom-tree-table) |
| | | |
| | | `slot`å`columns屿§`å¯åæ¶åå¨,columnséé¢çæ°æ®åä¼å¨slotèªå®ä¹åç左边å±ç¤º |
| | | |
| | | ## å
¶ä» |
| | | 妿æå
¶ä»çéæ±ï¼è¯·åè[el-table](http://element-cn.eleme.io/#/en-US/component/table)çapièªè¡ä¿®æ¹index.vue |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * Created by taozh on 2017/5/6. |
| | | * taozh1982@gmail.com |
| | | */ |
| | | var EleResize = { |
| | | _handleResize: function (e) { |
| | | var ele = e.target || e.srcElement; |
| | | var trigger = ele.__resizeTrigger__; |
| | | if (trigger) { |
| | | var handlers = trigger.__z_resizeListeners; |
| | | if (handlers) { |
| | | var size = handlers.length; |
| | | for (var i = 0; i < size; i++) { |
| | | var h = handlers[i]; |
| | | var handler = h.handler; |
| | | var context = h.context; |
| | | handler.apply(context, [e]); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | _removeHandler: function (ele, handler, context) { |
| | | var handlers = ele.__z_resizeListeners; |
| | | if (handlers) { |
| | | var size = handlers.length; |
| | | for (var i = 0; i < size; i++) { |
| | | var h = handlers[i]; |
| | | if (h.handler === handler && h.context === context) { |
| | | handlers.splice(i, 1); |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | _createResizeTrigger: function (ele) { |
| | | var obj = document.createElement('object'); |
| | | obj.setAttribute('style', |
| | | 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden;opacity: 0; pointer-events: none; z-index: -1;'); |
| | | obj.onload = EleResize._handleObjectLoad; |
| | | obj.type = 'text/html'; |
| | | ele.appendChild(obj); |
| | | obj.data = 'about:blank'; |
| | | return obj; |
| | | }, |
| | | _handleObjectLoad: function (evt) { |
| | | this.contentDocument.defaultView.__resizeTrigger__ = this.__resizeElement__; |
| | | this.contentDocument.defaultView.addEventListener('resize', EleResize._handleResize); |
| | | } |
| | | }; |
| | | if (document.attachEvent) {//ie9-10 |
| | | EleResize.on = function (ele, handler, context) { |
| | | var handlers = ele.__z_resizeListeners; |
| | | if (!handlers) { |
| | | handlers = []; |
| | | ele.__z_resizeListeners = handlers; |
| | | ele.__resizeTrigger__ = ele; |
| | | ele.attachEvent('onresize', EleResize._handleResize); |
| | | } |
| | | handlers.push({ |
| | | handler: handler, |
| | | context: context |
| | | }); |
| | | }; |
| | | EleResize.off = function (ele, handler, context) { |
| | | var handlers = ele.__z_resizeListeners; |
| | | if (handlers) { |
| | | EleResize._removeHandler(ele, handler, context); |
| | | if (handlers.length === 0) { |
| | | ele.detachEvent('onresize', EleResize._handleResize); |
| | | delete ele.__z_resizeListeners; |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | EleResize.on = function (ele, handler, context) { |
| | | var handlers = ele.__z_resizeListeners; |
| | | if (!handlers) { |
| | | handlers = []; |
| | | ele.__z_resizeListeners = handlers; |
| | | |
| | | if (getComputedStyle(ele, null).position === 'static') { |
| | | ele.style.position = 'relative'; |
| | | } |
| | | var obj = EleResize._createResizeTrigger(ele); |
| | | ele.__resizeTrigger__ = obj; |
| | | obj.__resizeElement__ = ele; |
| | | } |
| | | handlers.push({ |
| | | handler: handler, |
| | | context: context |
| | | }); |
| | | }; |
| | | EleResize.off = function (ele, handler, context) { |
| | | var handlers = ele.__z_resizeListeners; |
| | | if (handlers) { |
| | | EleResize._removeHandler(ele, handler, context); |
| | | if (handlers.length === 0) { |
| | | var trigger = ele.__resizeTrigger__; |
| | | if (trigger) { |
| | | trigger.contentDocument.defaultView.removeEventListener('resize', EleResize._handleResize); |
| | | ele.removeChild(trigger); |
| | | delete ele.__resizeTrigger__; |
| | | } |
| | | delete ele.__z_resizeListeners; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | export default EleResize |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="auto-scroll-compontent" :style="{ width, height }"> |
| | | <div class="auto-scroll-outer" ref="frame" :class="[dir === 'vertical' ? 'vertical-outer' : 'horizontal-outer']"> |
| | | <div |
| | | class="auto-scroll-wrapper" |
| | | ref="wrapper" |
| | | :key="refreshKey" |
| | | :class="[dir === 'vertical' ? 'vertical-wrapper' : 'horizontal-wrapper']" |
| | | :style="{ |
| | | top: moveTop + 'px', |
| | | marginLeft: moveLeft + 'px', |
| | | transition: transition |
| | | }" |
| | | > |
| | | <slot></slot> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import eleResize from './eleResize.js'; |
| | | export default { |
| | | name: 'autoScrollCompontent', |
| | | props: { |
| | | dir: { |
| | | type: String, |
| | | default: 'vertical' /* æ¹åå¼ï¼æ°´å¹³-horizontal ç«-vertical */ |
| | | }, |
| | | width: { |
| | | type: String, |
| | | default: '100%' |
| | | }, |
| | | height: { |
| | | type: String, |
| | | default: '100%' |
| | | }, |
| | | stepSpeed: { |
| | | type: Number, |
| | | default: 500 /* ç§»å¨é度ï¼åä½ ms/100px */ |
| | | }, |
| | | wait: { |
| | | type: Number, |
| | | default: 3000 /* 忬¡å¨ç»ç»æåççå¾
æ¶é´ï¼åä½ ms */ |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | $frame: null, |
| | | refreshKey: 0, |
| | | outerWidth: 0, |
| | | outerHeight: 0, |
| | | wrapperWidth: 0, |
| | | wrapperHeight: 0, |
| | | moveDistance: 0, |
| | | moveTop: 0, |
| | | moveLeft: 0, |
| | | transition: 'all 0', |
| | | interval: null, |
| | | roundTime: 0 /* ä¸ä¸ªæ»å¨å¨æéè¦çæ¶é´ */ |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.init(); |
| | | }, |
| | | beforeDestroy() { |
| | | this.clearInterval(); |
| | | this.destroyEleResize(); |
| | | }, |
| | | methods: { |
| | | init() { |
| | | this.moveTop = 0; |
| | | this.moveLeft = 0; |
| | | this.callSize(); |
| | | this.createAnimation(); |
| | | this.createEleResize(); |
| | | }, |
| | | /* å建div宽é«ååçå¬å¨ */ |
| | | createEleResize() { |
| | | this.$frame = this.$refs.frame; |
| | | eleResize.on(this.$frame, this.eleListener); |
| | | }, |
| | | /* div宽é«çå¬å¨çå¬äºä»¶ */ |
| | | eleListener() { |
| | | this.moveTop = 0; |
| | | this.moveLeft = 0; |
| | | this.callSize(); |
| | | this.clearInterval(); |
| | | this.createAnimation(); |
| | | }, |
| | | /* 宽é«è®¡ç® */ |
| | | callSize() { |
| | | if (this.dir === 'vertical') { |
| | | this.outerHeight = this.$refs.frame.offsetHeight; |
| | | this.wrapperHeight = this.$refs.wrapper.offsetHeight; |
| | | if (this.wrapperHeight > this.outerHeight) { |
| | | this.moveDistance = this.wrapperHeight - this.outerHeight; |
| | | this.roundTime = Math.floor((this.moveDistance / 100) * this.stepSpeed); |
| | | this.transition = 'top ' + this.roundTime + 'ms linear'; |
| | | } |
| | | } else { |
| | | this.outerWidth = this.$refs.frame.offsetWidth; |
| | | this.wrapperWidth = this.$refs.wrapper.scrollWidth; |
| | | if (this.wrapperWidth > this.outerWidth) { |
| | | this.moveDistance = this.wrapperWidth - this.outerWidth; |
| | | this.roundTime = Math.floor((this.moveDistance / 100) * this.stepSpeed); |
| | | this.transition = 'margin-left ' + this.roundTime + 'ms linear'; |
| | | } |
| | | } |
| | | }, |
| | | /* å建å¨ç»è®¡æ¶å¨ */ |
| | | createAnimation() { |
| | | if (this.roundTime) { |
| | | if (this.dir === 'vertical') { |
| | | this.animationVer(); |
| | | this.interval = window.setInterval(this.animationVer, this.roundTime + this.wait); |
| | | } else { |
| | | this.animationHor(); |
| | | this.interval = window.setInterval(this.animationHor, this.roundTime + this.wait); |
| | | } |
| | | } |
| | | }, |
| | | /* çºµåæ»å¨å¼åå */ |
| | | animationVer() { |
| | | if (this.moveTop === 0) { |
| | | this.moveTop = -this.moveDistance; |
| | | } else { |
| | | this.moveTop = 0; |
| | | } |
| | | }, |
| | | /* æ¨ªåæ»å¨å¼åå */ |
| | | animationHor() { |
| | | if (this.moveLeft === 0) { |
| | | this.moveLeft = -this.moveDistance; |
| | | } else { |
| | | this.moveLeft = 0; |
| | | } |
| | | }, |
| | | /* 计æ¶å¨æ¸
æ¥ */ |
| | | clearInterval() { |
| | | try { |
| | | window.clearInterval(this.interval); |
| | | this.interval = null; |
| | | } catch (e) { |
| | | //TODO handle the exception |
| | | } |
| | | }, |
| | | /* div宽é«ååäºä»¶ç§»é¤ */ |
| | | destroyEleResize() { |
| | | try { |
| | | eleResize.off(this.$frame, this.eleListener); |
| | | } catch (e) { |
| | | //TODO handle the exception |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .auto-scroll-compontent { |
| | | .auto-scroll-outer { |
| | | overflow: hidden; |
| | | width: 100%; |
| | | height: 100%; |
| | | &.vertical-outer { |
| | | position: relative; |
| | | } |
| | | &.horizontal-outer { |
| | | } |
| | | } |
| | | .auto-scroll-wrapper { |
| | | &.vertical-wrapper { |
| | | position: absolute; |
| | | width: 100%; |
| | | height: auto; |
| | | left: 0; |
| | | } |
| | | &.horizontal-wrapper { |
| | | display: flex; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | | <style lang="scss"> |
| | | .auto-scroll-compontent { |
| | | .auto-scroll-wrapper { |
| | | &.horizontal-wrapper { |
| | | & > * { |
| | | flex-shrink: 0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="addchoose height overflow"> |
| | | <div class="centent-form overflowy-auto"> |
| | | <el-form |
| | | class="margin-auto width90" |
| | | ref="registerForm" |
| | | :model="registerForm" |
| | | size="mini" |
| | | :rules="rules" |
| | | label-position="left" |
| | | label-width="100px" |
| | | > |
| | | <el-form-item label="é¶ä»¶ç¼å·:" prop="itemName"> |
| | | <el-input v-model="registerForm.itemName" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="é¶ä»¶åç§°:" prop="enable"> |
| | | <el-input v-model="registerForm.itemDes" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="é:" prop="creatorid"> |
| | | <el-input type="number" v-model="registerForm.weight" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç±»å:" prop="creatorid"> |
| | | <el-input v-model="registerForm.palletType" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å个å
¬å·®:" prop="creatorid"> |
| | | <el-input v-model="registerForm.weightDifference" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å¯ç¨:" prop="creatorid"> |
| | | <el-select v-model="registerForm.enable" clearable placeholder="è¯·éæ©"> |
| | | <el-option v-for="item in enableList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ç产ç线:" prop="creatorid"> |
| | | <!-- <el-input v-model="registerForm.createLine" clearable></el-input> --> |
| | | <el-select v-model="registerForm.createLine" clearable placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="(item, index) in createLineList" |
| | | :key="'productionLineName' + index" |
| | | :label="item.productionLineName" |
| | | :value="item.productionLineName" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="è£
ç®±æ°é:" prop="creatorid"> |
| | | <el-input v-model="registerForm.maxNum" type="number" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åä»·:" prop="creatorid"> |
| | | <el-input v-model="registerForm.price" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åä½:" prop="creatorid"> |
| | | <el-input v-model="registerForm.unit" clearable></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="addchoose-button text-right margin-right15 margin-top2"> |
| | | <el-button type="primary" size="mini" class="form-buttom" @click="submitForm('registerForm')">æäº¤</el-button> |
| | | <el-button type="primary" size="mini" class="form-buttom" @click="$emit('cancel')">åæ¶</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { ItemAddOrUpdate } from '@/api/enterchoose'; |
| | | import { ProductionLineSearch } from '@/api/ProductionLine'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | registerForm: {}, |
| | | containerTypeList: [ |
| | | { |
| | | label: 'P71-2222', |
| | | value: 'P71-2222' |
| | | }, |
| | | { |
| | | label: 'P71-3333', |
| | | value: 'P71-3333' |
| | | } |
| | | ], |
| | | statusList: [ |
| | | { |
| | | label: 0, |
| | | value: 0 |
| | | }, |
| | | { |
| | | label: 1, |
| | | value: 1 |
| | | } |
| | | ], |
| | | enableList: [ |
| | | { |
| | | label: 'å¯ç¨', |
| | | value: 1 |
| | | }, |
| | | { |
| | | label: 'ç¦ç¨', |
| | | value: 0 |
| | | } |
| | | ], |
| | | createLineList: [], |
| | | |
| | | rules: { |
| | | itemName: { required: true, message: '请è¾é¶ä»¶ç¼å·', trigger: 'change' } |
| | | } |
| | | }; |
| | | }, |
| | | props: { |
| | | // rowitem: { |
| | | // type: Object, |
| | | // default: {} |
| | | // } |
| | | }, |
| | | mounted() { |
| | | // if (JSON.stringify(this.rowitem) != '{}') { |
| | | // this.registerForm = this.rowitem; |
| | | // } |
| | | this.ProductionLineSearch(); |
| | | }, |
| | | methods: { |
| | | //ç线 |
| | | ProductionLineSearch() { |
| | | ProductionLineSearch('1&onePageNum=999').then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data || []; |
| | | this.createLineList = data; |
| | | } |
| | | }); |
| | | }, |
| | | submitForm(registerForm) { |
| | | this.$refs[registerForm].validate(valid => { |
| | | if (valid) { |
| | | ItemAddOrUpdate(this.registerForm).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æäº¤æå' |
| | | }); |
| | | this.$emit('addsubmit'); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'æäº¤å¤±è´¥' |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | watch: {} |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .addchoose { |
| | | width: 98%; |
| | | padding: 1%; |
| | | .show-pwd { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 3px; |
| | | font-size: 16px; |
| | | color: #889aa4; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | .centent-form { |
| | | height: 92%; |
| | | width: 100%; |
| | | margin: auto; |
| | | } |
| | | .addchoose-button { |
| | | } |
| | | ::v-deep .el-form-item__content { |
| | | width: 60%; |
| | | } |
| | | ::v-deep .el-select { |
| | | width: 100%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="choose height overflow"> |
| | | <div class="width overflow height92"> |
| | | <div class="chose-height"> |
| | | <div class="flex margintopbot justify-between"> |
| | | <div class="width50 flex align-center"> |
| | | <label class="width40 textalign">é¶ä»¶ç¼å·ï¼</label> |
| | | <el-input size="mini" |
| | | clearable |
| | | v-model="iqnuer.itemName" |
| | | class="width60"> </el-input> |
| | | </div> |
| | | <div class="width50 flex align-center"> |
| | | <label class="width40 textalign">é¶ä»¶åç§°ï¼</label> |
| | | <el-input size="mini" |
| | | clearable |
| | | v-model="iqnuer.itemDes" |
| | | class="width60"> </el-input> |
| | | </div> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | @click="itemSearch">æ¥è¯¢</el-button> |
| | | </div> |
| | | <div class="flex width justify-between"></div> |
| | | </div> |
| | | <div class="width chose-tebleheight margin-top2 overflow"> |
| | | <table-container height="91%" |
| | | :wipelist="wipelist" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :operation="false" |
| | | :currentPage="page" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | :setshow="false" |
| | | :delShow="true" |
| | | :selectionShow="true" |
| | | @del="del" |
| | | @handleSelectionChange="handleSelectionChange" |
| | | @CurrentChange="CurrentChange" /> |
| | | </div> |
| | | </div> |
| | | <div class="choose-button text-right margin-right15 margin-top2"> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | class="form-buttom" |
| | | @click="submitForm">ç¡®è®¤éæ©</el-button> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | class="form-buttom" |
| | | @click="$emit('cancel')">åæ¶</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal } from '@/components/index'; |
| | | import { itemSearch, ItemDelete } from '@/api/enterchoose'; |
| | | const { edterchoose } = require('@/components/tableContainer/tableHead'); |
| | | export default { |
| | | data () { |
| | | return { |
| | | iqnuer: {}, |
| | | inOrderCodelist: [ |
| | | { |
| | | label: 'æ ', |
| | | value: '' |
| | | } |
| | | ], |
| | | tableData: [], |
| | | handlelist: [], //å¾éæ°æ® |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20 |
| | | }; |
| | | }, |
| | | props: { |
| | | wipelist: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | inOrderCodeShow: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | choice: { |
| | | type: Boolean, |
| | | default: true |
| | | } |
| | | }, |
| | | components: { TableContainer }, |
| | | computed: { |
| | | tableHead () { |
| | | return edterchoose; |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.itemSearch(); |
| | | }, |
| | | methods: { |
| | | //æ¥è¯¢ |
| | | itemSearch () { |
| | | itemSearch(this.page + '&onePageNum=' + this.pageSize, this.iqnuer).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach(item => { |
| | | item.image = process.env.IMAGE_URL + item.image; |
| | | }); |
| | | this.tableData = data; |
| | | this.totle = res.num; |
| | | } |
| | | }); |
| | | }, |
| | | CurrentChange (e) { |
| | | this.page = e; |
| | | this.itemSearch(); |
| | | }, |
| | | //å¾é |
| | | handleSelectionChange (e) { |
| | | console.log(e); |
| | | this.handlelist = e; |
| | | }, |
| | | submitForm () { |
| | | if (this.choice) { |
| | | if (this.handlelist.length == 1) { |
| | | this.$emit('chooseClick', this.handlelist, this.iqnuer.inOrderCode); |
| | | } else if (this.handlelist.length == 0) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请å¾é䏿¡æ°æ®' |
| | | }); |
| | | } else if (this.handlelist.length > 1) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'åªè½å¾é䏿¡æ°æ®' |
| | | }); |
| | | } |
| | | } else { |
| | | this.$emit('chooseClick', this.handlelist, this.iqnuer.inOrderCode); |
| | | } |
| | | }, |
| | | //å é¤ |
| | | del (row) { |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥æ°æ®, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | const { itemName } = { ...row }; |
| | | ItemDelete({ itemName }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'å 餿å' |
| | | }); |
| | | this.itemSearch(); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'å é¤å¤±è´¥' |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | watch: {} |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .choose { |
| | | width: 98%; |
| | | padding: 1%; |
| | | .chose-height { |
| | | height: 40px; |
| | | } |
| | | .chose-tebleheight { |
| | | height: calc(100% - 60px); |
| | | } |
| | | .show-pwd { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 3px; |
| | | font-size: 16px; |
| | | color: #889aa4; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | .centent-form { |
| | | height: 92%; |
| | | width: 100%; |
| | | margin: auto; |
| | | } |
| | | .choose-button { |
| | | } |
| | | ::v-deep .el-form-item__content { |
| | | width: 60%; |
| | | } |
| | | ::v-deep .el-select { |
| | | // width: 100%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- éæ©å
³èå®å·¥å
¥åºé¶ä»¶ä»»å¡ --> |
| | | <template> |
| | | <div class="chooseRelevanceFinishedPart height overflow"> |
| | | <div class="width overflow height92"> |
| | | <div class="chose-height"> |
| | | <div class="flex margintopbot justify-between"> |
| | | <div class="width50 flex align-center"> |
| | | <label class="width40 textalign">é¶ä»¶ç¼å·ï¼</label> |
| | | <el-input size="mini" |
| | | disabled |
| | | clearable |
| | | v-model="iqnuer.itemName" |
| | | class="width60"> </el-input> |
| | | </div> |
| | | <div class="width50 flex align-center"> |
| | | <label class="width40 textalign">é¶ä»¶åç§°ï¼</label> |
| | | <el-input size="mini" |
| | | clearable |
| | | disabled |
| | | v-model="iqnuer.itemDes" |
| | | class="width60"> </el-input> |
| | | </div> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | @click="itemSearch">æ¥è¯¢</el-button> |
| | | </div> |
| | | <div class="flex width justify-between"></div> |
| | | </div> |
| | | <div class="width chose-tebleheight margin-top2 overflow"> |
| | | <table-container height="91%" |
| | | :wipelist="wipelist" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :operation="false" |
| | | :currentPage="page" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | :setshow="false" |
| | | :delShow="true" |
| | | :selectionShow="true" |
| | | @del="del" |
| | | @handleSelectionChange="handleSelectionChange" |
| | | @CurrentChange="CurrentChange" /> |
| | | </div> |
| | | </div> |
| | | <div class="chooseRelevanceFinishedPart-button text-right margin-right15 margin-top2"> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | class="form-buttom" |
| | | @click="submitForm">ç¡®è®¤éæ©</el-button> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | class="form-buttom" |
| | | @click="$emit('cancel')">åæ¶</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal } from '@/components/index'; |
| | | import { ItemDelete } from '@/api/enterchoose'; |
| | | import { ContainerVsItemSearch } from '@/api/enter'; |
| | | //const { edterchoose } = require('@/components/tableContainer/tableHead'); |
| | | //æ¾ç¤ºè¡¨å¤´ |
| | | const chooseRelevanceFinishedPartHeader = [{ |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶æ°', |
| | | columnName: 'itemNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 90 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶éé', |
| | | columnName: 'itemWeight', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶ç±»å', |
| | | columnName: 'itemType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶å
¬å·®', |
| | | columnName: 'itemWeightDifference', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·ç¼å·', |
| | | columnName: 'containerName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
፱Ȍ', |
| | | columnName: 'containerType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | // { |
| | | // columnDescription: 'æçç¶æ', |
| | | // columnName: 'containerStatus', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | { |
| | | columnDescription: 'å¨å
·éé', |
| | | columnName: 'containerWeight', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·å
¬å·®', |
| | | columnName: 'containerWeightDifference', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | // { |
| | | // columnDescription: 'å
¥åºè®¡å', |
| | | // columnName: 'inOrderCode', |
| | | // sortable: true, |
| | | // wipe: true, |
| | | // width: 130 |
| | | // }, |
| | | { |
| | | columnDescription: 'åºåºè®¡å', |
| | | columnName: 'outOrderCode', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 130 |
| | | }, |
| | | { |
| | | columnDescription: 'æ´æ°æ¶é´', |
| | | columnName: 'updateTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'éè¿ä¿®', |
| | | columnName: 'isBad', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 90 |
| | | }, |
| | | { |
| | | columnDescription: 'è¿ä¿®è½¦é´', |
| | | columnName: 'badByFactory', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ç产ç线', |
| | | columnName: 'createLine', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å建人', |
| | | columnName: 'createUser', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | // { |
| | | // columnDescription: 'å¯ç¨', |
| | | // columnName: 'enable', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | ]; |
| | | export default { |
| | | data () { |
| | | return { |
| | | iqnuer: { |
| | | isSearchNoRelevanceInOrder: true, //è¡¨ç¤ºæ¯æ¥è¯¢æªå
³èå²åç产计åçä»»å¡ |
| | | itemName: this.pItemName, |
| | | itemDes: this.pItemDes |
| | | }, |
| | | inOrderCodelist: [ |
| | | { |
| | | label: 'æ ', |
| | | value: '' |
| | | } |
| | | ], |
| | | tableData: [], |
| | | handlelist: [], //å¾éæ°æ® |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20 |
| | | }; |
| | | }, |
| | | props: { |
| | | wipelist: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | inOrderCodeShow: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | choice: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | pItemName: { |
| | | type: String |
| | | }, |
| | | pItemDes: { |
| | | type: String |
| | | } |
| | | }, |
| | | components: { TableContainer }, |
| | | computed: { |
| | | tableHead () { |
| | | return chooseRelevanceFinishedPartHeader; |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.itemSearch(); |
| | | }, |
| | | methods: { |
| | | //æ¥è¯¢-å·²ç»å®å·¥å
¥åºçä»»å¡ |
| | | itemSearch () { |
| | | ContainerVsItemSearch(this.page + '&onePageNum=' + this.pageSize, this.iqnuer).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach(item => { |
| | | item.image = process.env.IMAGE_URL + item.image; |
| | | }); |
| | | this.tableData = data; |
| | | this.totle = res.num; |
| | | } |
| | | }); |
| | | }, |
| | | CurrentChange (e) { |
| | | this.page = e; |
| | | this.itemSearch(); |
| | | }, |
| | | //å¾é |
| | | handleSelectionChange (e) { |
| | | console.log(e); |
| | | this.handlelist = e; |
| | | }, |
| | | submitForm () { |
| | | if (this.choice) { |
| | | if (this.handlelist.length > 0) { |
| | | this.$emit('submitForm', this.handlelist, this.iqnuer.inOrderCode); |
| | | } else if (this.handlelist.length == 0) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请å¾éè³å°ä¸æ¡æ°æ®' |
| | | }); |
| | | } |
| | | // else if (this.handlelist.length > 1) { |
| | | // this.$message({ |
| | | // type: 'warning', |
| | | // message: 'åªè½å¾é䏿¡æ°æ®' |
| | | // }); |
| | | // } |
| | | } else { |
| | | this.$emit('submitForm', this.handlelist, this.iqnuer.inOrderCode); |
| | | } |
| | | }, |
| | | //å é¤ |
| | | del (row) { |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥æ°æ®, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | const { itemName } = { ...row }; |
| | | ItemDelete({ itemName }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'å 餿å' |
| | | }); |
| | | this.itemSearch(); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'å é¤å¤±è´¥' |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | watch: {} |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .chooseRelevanceFinishedPart { |
| | | width: 98%; |
| | | padding: 1%; |
| | | .chose-height { |
| | | height: 40px; |
| | | } |
| | | .chose-tebleheight { |
| | | height: calc(100% - 60px); |
| | | } |
| | | .show-pwd { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 3px; |
| | | font-size: 16px; |
| | | color: #889aa4; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | .centent-form { |
| | | height: 92%; |
| | | width: 100%; |
| | | margin: auto; |
| | | } |
| | | .chooseRelevanceFinishedPart-button { |
| | | } |
| | | ::v-deep .el-form-item__content { |
| | | width: 60%; |
| | | } |
| | | ::v-deep .el-select { |
| | | // width: 100%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!--éæ©ç¨æ·--> |
| | | <template> |
| | | <div class="choose height overflow"> |
| | | <div class="width overflow height92"> |
| | | <div class="chose-height"> |
| | | <div class="flex margintopbot justify-between"> |
| | | <div class="width50 flex align-center"> |
| | | <label class="width40 textalign">ç»å½åï¼</label> |
| | | <el-input size="mini" |
| | | clearable |
| | | v-model="iqnuer.itemName" |
| | | class="width60"> </el-input> |
| | | </div> |
| | | <div class="width50 flex align-center"> |
| | | <label class="width40 textalign">çå®å§åï¼</label> |
| | | <el-input size="mini" |
| | | clearable |
| | | v-model="iqnuer.itemDes" |
| | | class="width60"> </el-input> |
| | | </div> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | @click="itemSearch">æ¥è¯¢</el-button> |
| | | </div> |
| | | <div class="flex width justify-between"></div> |
| | | </div> |
| | | <div class="width chose-tebleheight margin-top2 overflow"> |
| | | <table-container height="91%" |
| | | :wipelist="wipelist" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :operation="false" |
| | | :currentPage="page" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | :setshow="false" |
| | | :delShow="true" |
| | | :selectionShow="true" |
| | | @del="del" |
| | | @handleSelectionChange="handleSelectionChange" |
| | | @CurrentChange="CurrentChange" /> |
| | | </div> |
| | | </div> |
| | | <div class="choose-button text-right margin-right15 margin-top2"> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | class="form-buttom" |
| | | @click="submitForm">ç¡®è®¤éæ©</el-button> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | class="form-buttom" |
| | | @click="$emit('cancel')">åæ¶</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal } from '@/components/index'; |
| | | import { itemSearch, ItemDelete } from '@/api/enterchoose'; |
| | | import { UserSearch, UserDelete } from '@/api/manage'; |
| | | const { manage } = require('@/components/tableContainer/tableHead'); |
| | | export default { |
| | | data () { |
| | | return { |
| | | iqnuer: { |
| | | IsWeldingAuditGroup: true |
| | | }, |
| | | inOrderCodelist: [ |
| | | { |
| | | label: 'æ ', |
| | | value: '' |
| | | } |
| | | ], |
| | | tableData: [], |
| | | handlelist: [], //å¾éæ°æ® |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20 |
| | | }; |
| | | }, |
| | | props: { |
| | | wipelist: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | inOrderCodeShow: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | choice: { |
| | | type: Boolean, |
| | | default: true |
| | | } |
| | | }, |
| | | components: { TableContainer }, |
| | | computed: { |
| | | tableHead () { |
| | | return manage; |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.itemSearch(); |
| | | }, |
| | | methods: { |
| | | //æ¥è¯¢ |
| | | itemSearch () { |
| | | UserSearch(this.page + '&onePageNum=' + this.pageSize, this.iqnuer).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | this.tableData = data; |
| | | this.totle = res.num; |
| | | } |
| | | }); |
| | | }, |
| | | CurrentChange (e) { |
| | | this.page = e; |
| | | this.itemSearch(); |
| | | }, |
| | | //å¾é |
| | | handleSelectionChange (e) { |
| | | console.log(e); |
| | | this.handlelist = e; |
| | | }, |
| | | submitForm () { |
| | | if (this.choice) { |
| | | if (this.handlelist.length == 1) { |
| | | this.$emit('submitForm', this.handlelist, this.iqnuer.inOrderCode); |
| | | } else if (this.handlelist.length == 0) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请å¾é䏿¡æ°æ®' |
| | | }); |
| | | } else if (this.handlelist.length > 1) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'åªè½å¾é䏿¡æ°æ®' |
| | | }); |
| | | } |
| | | } else { |
| | | this.$emit('submitForm', this.handlelist, this.iqnuer.inOrderCode); |
| | | } |
| | | }, |
| | | //å é¤ |
| | | del (row) { |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥æ°æ®, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | const { itemName } = { ...row }; |
| | | ItemDelete({ itemName }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'å 餿å' |
| | | }); |
| | | this.itemSearch(); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'å é¤å¤±è´¥' |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | watch: {} |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .choose { |
| | | width: 98%; |
| | | padding: 1%; |
| | | .chose-height { |
| | | height: 40px; |
| | | } |
| | | .chose-tebleheight { |
| | | height: calc(100% - 60px); |
| | | } |
| | | .show-pwd { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 3px; |
| | | font-size: 16px; |
| | | color: #889aa4; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | .centent-form { |
| | | height: 92%; |
| | | width: 100%; |
| | | margin: auto; |
| | | } |
| | | .choose-button { |
| | | } |
| | | ::v-deep .el-form-item__content { |
| | | width: 60%; |
| | | } |
| | | ::v-deep .el-select { |
| | | // width: 100%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | export { default as TableContainer } from './tableContainer/index.vue' |
| | | export { default as Modal } from './modal/index.vue' |
| | | export { default as Choose } from './choose/choose.vue' |
| | | export { default as AddChoose } from './choose/addchoose.vue' |
| | | export { default as chooseRelevanceFinishedPart } from './chooseRelevanceFinishedPart/index.vue' |
| | | export { default as chooseUser } from './chooseUser/index.vue' |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- :style="modabg ? 'background:unset; position: absolute;' : ''"--> |
| | | <template> |
| | | <div id="deta-modal"> |
| | | <!-- <draggable element="ul" v-model="list"> --> |
| | | <div class="box-modal borderR8" |
| | | :style="modalStyle"> |
| | | <div class="title-modal"> |
| | | <p class="p-title"> |
| | | <slot name="title"></slot> |
| | | </p> |
| | | <i class="el-icon-close pointer fontSize1_2" |
| | | @click="$emit('cancel')"></i> |
| | | </div> |
| | | <div class="centent-modal"> |
| | | <!-- <el-scrollbar wrap-class="scrollbar-wrapper" style="height:100%"> --> |
| | | <slot name="centent"></slot> |
| | | <!-- </el-scrollbar> --> |
| | | </div> |
| | | </div> |
| | | <!-- </draggable> --> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { number } from 'echarts'; |
| | | //è¿éå¯ä»¥å¯¼å
¥å
¶ä»æä»¶ï¼æ¯å¦ï¼ç»ä»¶ï¼å·¥å
·jsï¼ç¬¬ä¸æ¹æä»¶jsï¼jsonæä»¶ï¼å¾çæä»¶ççï¼ |
| | | //ä¾å¦ï¼import ãç»ä»¶åç§°ã from 'ãç»ä»¶è·¯å¾ã'; |
| | | import draggable from 'vuedraggable'; |
| | | export default { |
| | | data () { |
| | | //è¿éåæ¾æ°æ® |
| | | return { |
| | | ismodal: false, |
| | | list: [{ name: '1' }] |
| | | }; |
| | | }, |
| | | props: { |
| | | modabg: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | modalStyle: { |
| | | type: Object, |
| | | default: { |
| | | width: '45%' //设置é»è®¤ç宽度,åå
æ¯ 40% ãEditBy shaocx,2022-11-10ã |
| | | } |
| | | } |
| | | }, |
| | | components: { draggable }, |
| | | //æ¹æ³éå |
| | | methods: { |
| | | cancel () { |
| | | this.$emit('cancel'); |
| | | } |
| | | }, |
| | | //çæ§dataä¸çæ°æ®åå |
| | | watch: {}, |
| | | //妿页颿keep-aliveç¼ååè½ï¼è¿ä¸ªå½æ°ä¼è§¦å |
| | | activated () { } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | #deta-modal { |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | background: rgba(0, 0, 0, 0.3); |
| | | // transition: all 0.3s; |
| | | z-index: 999; |
| | | .box-modal { |
| | | position: absolute; |
| | | top: 50%; |
| | | left: 50%; |
| | | width: 40%; |
| | | height: 85%; |
| | | border-radius: 6px; |
| | | transform: translate(-50%, -50%); |
| | | background: #fff; |
| | | box-shadow: 0 0 4px #345; |
| | | // transition: all 0.5s; |
| | | overflow: hidden; |
| | | .title-modal { |
| | | padding: 10px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | border-bottom: 1px solid #e6eaf1; |
| | | background: #f5f7fa; |
| | | .p-title { |
| | | font-size: 20px; |
| | | padding-left: 5px; |
| | | } |
| | | .fontSize1_2 { |
| | | font-size: 20px; |
| | | margin-right: 15px; |
| | | &:hover { |
| | | transition: all 0.3s; |
| | | transform: rotate(360deg); |
| | | } |
| | | } |
| | | } |
| | | .centent-modal { |
| | | width: 98%; |
| | | height: calc(100% - 62px); |
| | | padding: 1%; |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | // .el-scrollbar__view { |
| | | // height: 100%; |
| | | // } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div id="tableContainer" |
| | | class="scrollCss" |
| | | :key="number"> |
| | | <!-- @row-click="handleRowClick" v-el-table-infinite-scroll="load" |
| | | :infinite-scroll-disabled="infintedisabled" :style="{ height: $slots.default ? '91%' : '95%' }" --> |
| | | <el-table class="borderR8" |
| | | :data="tablelist" |
| | | v-loading="loading" |
| | | element-loading-text="æ¼å½å è½½ä¸" |
| | | element-loading-spinner="el-icon-loading" |
| | | highlight-current-row |
| | | :border="bordershow" |
| | | :show-summary="showSummary" |
| | | stripe |
| | | :cell-style="cellStyle" |
| | | height="100%" |
| | | style="height: calc(100% - 35px) !important" |
| | | :key="number" |
| | | @selection-change="handleSelectionChange" |
| | | @row-dblclick="rowdblclick" |
| | | @row-click="rowclick" |
| | | ref="tableCommon"> |
| | | <el-table-column v-if="selectionShow" |
| | | type="selection" |
| | | header-align="center" |
| | | align="center" |
| | | width="55"> |
| | | </el-table-column> |
| | | <el-table-column header-align="center" |
| | | type="index" |
| | | label="åºå·" |
| | | width="60" |
| | | v-if="containHead.length > 0"></el-table-column> |
| | | <template v-for="item in containHead"> |
| | | <el-table-column header-align="left" |
| | | align="left" |
| | | :label="item.columnDescription" |
| | | :prop="item.columnName" |
| | | :key="item.columnName" |
| | | :sortable="item.sortable" |
| | | v-if="item.wipe && wipelist.indexOf(item.columnName) == -1" |
| | | :min-width="fixWidth(item.columnDescription)" |
| | | :width="item.width ? item.width : ''"> |
| | | <template slot-scope="{ row }"> |
| | | <!-- v-if="item.columnName != 'maxNum' && item.coucolumnName != 'image'" --> |
| | | <p :style=" |
| | | item.columnName == 'stStatus' && row[item.columnName] == 'é¢è¦' |
| | | ? 'color: #f8b360' |
| | | : item.columnName == 'stStatus' && row[item.columnName] == 'è¶
æ' |
| | | ? 'color:#E36168' |
| | | : '' |
| | | " |
| | | v-if="plist.indexOf(item.columnName) == -1"> |
| | | {{ row[item.columnName] }} |
| | | </p> |
| | | <el-image v-if="item.columnName == 'image'" |
| | | style="width: 35px; height: 35px" |
| | | :src="row[item.columnName]" |
| | | :preview-src-list="[row[item.columnName]]"> |
| | | </el-image> |
| | | |
| | | <p class="" |
| | | v-if="item.columnName == 'inOrderCode' && !row.edit"> |
| | | {{ row[item.columnName] }} |
| | | </p> |
| | | <p class="" |
| | | v-if="item.columnName == 'maxNum' && !row.edit"> |
| | | {{ row[item.columnName] }} |
| | | </p> |
| | | <p class="" |
| | | v-if="item.columnName == 'doTime' && !row.edit">{{ row[item.columnName] }}</p> |
| | | <el-input oninput="value=value.replace(/[^\d.]/g,'')" |
| | | size="mini" |
| | | v-if="row.edit && item.columnName == 'maxNum'" |
| | | v-model="row.maxNum"></el-input> |
| | | <el-select v-if="row.edit && item.columnName == 'inOrderCode'" |
| | | v-model="row.inOrderCode" |
| | | placeholder="è¯·éæ©" |
| | | size="mini"> |
| | | <el-option v-for="(item, index) in inOrderCodeList" |
| | | :key="index + 'inOrderCode'" |
| | | :label="item.inOrderCode" |
| | | :value="item.inOrderCode"> |
| | | <span style="float: left">{{ item.inOrderCode }}</span> |
| | | <span style="float: right; color: #ff0000;font-weight:bold; font-size: 17px">{{ item.totalNum }}</span> |
| | | </el-option> |
| | | </el-select> |
| | | <el-date-picker style="width: 100%" |
| | | v-if="row.edit && item.columnName == 'doTime'" |
| | | v-model="row.doTime" |
| | | size="mini" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="éæ©æ¥ææ¶é´"> |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column> |
| | | </template> |
| | | |
| | | <el-table-column v-if="operation" |
| | | :width="operationwidth" |
| | | fixed="right" |
| | | align="center"> |
| | | <template slot="header" |
| | | slot-scope="scope"> |
| | | <span>æä½</span> |
| | | <span v-if="setshow" |
| | | class="set" |
| | | @click="modalShow = true">设置</span> |
| | | </template> |
| | | <template v-if="buttonshow" |
| | | slot-scope="scope"> |
| | | <el-button class="elbuttonsize" |
| | | v-if="mustFirstShow" |
| | | :disabled="scope.row.taskStatus == '宿' || scope.row.taskStatus == 'å¼å¸¸/åæ¶'" |
| | | :style=" |
| | | scope.row.taskStatus == '宿' || scope.row.taskStatus == 'å¼å¸¸/åæ¶' |
| | | ? 'color: #909399' |
| | | : 'color: #f8b360' |
| | | " |
| | | @click.native.prevent="$emit('mustFirst', scope.row)" |
| | | type="text"> |
| | | 强å¶ä¼å
|
| | | </el-button> |
| | | |
| | | <el-button class="elbuttonsize" |
| | | v-if="issuShow" |
| | | :disabled="scope.row.orderStatus != 'æªä¸å' && scope.row.orderStatus != 'æ°å»º'" |
| | | :style=" |
| | | scope.row.orderStatus == 'æªä¸å' || scope.row.orderStatus == 'æ°å»º' ? 'color: #f8b360' : 'color: #909399' |
| | | " |
| | | @click.native.prevent="$emit('issu', scope.row)" |
| | | type="text"> |
| | | ä¸å |
| | | </el-button> |
| | | <!-- å®å·¥åè¾å
¥é¡µé¢ --> |
| | | <el-button class="elbuttonsize" |
| | | v-if="relevanceShow" |
| | | :style=" |
| | | 'color: #426ab3' |
| | | " |
| | | @click.native.prevent="$emit('relevance', scope.row)" |
| | | type="text"> |
| | | å
³è |
| | | </el-button> |
| | | <el-button class="elbuttonsize" |
| | | v-if="weldingAuditShow" |
| | | :style=" |
| | | 'color: #426ab3' |
| | | " |
| | | @click.native.prevent="$emit('weldingAudit', scope.row)" |
| | | type="text"> |
| | | æäº¤å®¡æ ¸ |
| | | </el-button> |
| | | <el-button class="elbuttonsize" |
| | | v-if="unlineCommitShow" |
| | | :style=" |
| | | 'color: #426ab3' |
| | | " |
| | | @click.native.prevent="$emit('unlineCommit', scope.row)" |
| | | type="text"> |
| | | 线ä¸äº¤ä» |
| | | </el-button> |
| | | <el-button class="elbuttonsize" |
| | | v-if="editShow" |
| | | style="color: #f8b360" |
| | | @click.native.prevent="edit(scope.row)" |
| | | type="text"> |
| | | {{ scope.row.edit == true ? 'ä¿å' : scope.row.edit == false ? 'ç¼è¾' : 'ç¼è¾' }} |
| | | </el-button> |
| | | |
| | | <el-button class="elbuttonsize" |
| | | v-if="maintask" |
| | | :disabled="scope.row.taskStatus == '宿' || scope.row.taskStatus == 'å¼å¸¸/åæ¶'" |
| | | :style=" |
| | | scope.row.taskStatus == '宿' || scope.row.taskStatus == 'å¼å¸¸/åæ¶' |
| | | ? 'color: #909399' |
| | | : 'color: #f8b360' |
| | | " |
| | | @click.native.prevent="$emit('abnormal', scope.row)" |
| | | type="text"> |
| | | å¼å¸¸å¤ç |
| | | </el-button> |
| | | <el-button class="elbuttonsize" |
| | | v-if="delShow" |
| | | style="color: #f8b360" |
| | | @click.native.prevent="del(scope.row)" |
| | | type="text"> |
| | | å é¤ |
| | | </el-button> |
| | | <el-button class="elbuttonsize" |
| | | v-if="viewShow" |
| | | style="color: #7fb80e" |
| | | @click.native.prevent="view(scope.row)" |
| | | type="text"> |
| | | æ¥ç |
| | | </el-button> |
| | | <el-button v-if="passShow" |
| | | size="mini" |
| | | type="text" |
| | | :style=" |
| | | 'color:#1d953f' |
| | | " |
| | | @click.native.prevent="$emit('passCommit', scope.row)"> |
| | | éè¿ |
| | | </el-button> |
| | | <el-button v-if="rejectShow" |
| | | type="text" |
| | | size="mini" |
| | | :style=" |
| | | 'color: #d71345' |
| | | " |
| | | @click.native.prevent="$emit('rejectCommit', scope.row)"> |
| | | 驳å |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <el-pagination v-if="paginationshow" |
| | | class="elpagin" |
| | | background |
| | | small |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | :page-sizes="[5, 15, , 20, , 50, 100, 200, 300, 400, 1000]" |
| | | :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="totle"> |
| | | </el-pagination> |
| | | <transition name="modal"> |
| | | <modal v-if="modalShow" |
| | | :modabg="true" |
| | | @cancel="modalShow = false"> |
| | | <p slot="title">åæ°è®¾ç½®</p> |
| | | <div class="height" |
| | | slot="centent"> |
| | | <div class="width height overflow"> |
| | | <p class="width modal-title">ç¹å»å³ä¾§å¼å
³å¯ä»¥è®¾ç½®å段æ¯å¦æ¾ç¤º</p> |
| | | <div class="modal-item margintopbot flex align-center justify-between"> |
| | | <p>åæ®µå</p> |
| | | <p> |
| | | <span>æ¾ç¤ºæåº</span> |
| | | <span class="margin-left">åæ®µæ¾ç¤º</span> |
| | | </p> |
| | | </div> |
| | | <div class="applyheight overflowy-auto"> |
| | | <draggable v-model="containHead" |
| | | :move="fielSetMove" |
| | | class="draggable-main" |
| | | tag="ul" |
| | | ghost-class="ghost" |
| | | chosen-class="chosen" |
| | | filter=".forbid" |
| | | animation="300" |
| | | @start="startDrag" |
| | | @end="endDrag"> |
| | | <template v-for="item in containHead"> |
| | | <div :key="item.columnName" |
| | | class="modal-item margintopbot flex align-center justify-between"> |
| | | <p>{{ item.columnDescription }}</p> |
| | | <p> |
| | | <span> |
| | | <el-switch v-model="item.sortable" |
| | | :active-value="true" |
| | | :inactive-value="false"> </el-switch> |
| | | </span> |
| | | <span class="margin-left"> |
| | | <el-switch v-model="item.wipe" |
| | | :active-value="true" |
| | | :inactive-value="false"> </el-switch> |
| | | </span> |
| | | </p> |
| | | </div> |
| | | </template> |
| | | </draggable> |
| | | </div> |
| | | <div class="text-right margin-top2"> |
| | | <el-button type="primary" |
| | | size="mini">ç¡®å®</el-button> |
| | | <el-button size="mini">åæ¶</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import elTableInfiniteScroll from 'el-table-infinite-scroll'; |
| | | import draggable from 'vuedraggable'; |
| | | import Modal from '../modal/index'; |
| | | import { getimestampDate } from '@/utils/date'; |
| | | |
| | | export default { |
| | | directives: { |
| | | 'el-table-infinite-scroll': elTableInfiniteScroll |
| | | }, |
| | | name: 'tableCommon', |
| | | props: { |
| | | //è¡æ ·å¼ |
| | | cellStyle: { |
| | | type: Function |
| | | }, |
| | | tableHead: Array, |
| | | height: String, |
| | | tableData: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | totle: { |
| | | type: [String, Number], |
| | | default: '0' |
| | | }, |
| | | loading: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | paginationshow: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | //æ¥ç |
| | | viewShow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | bordershow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | passShow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | rejectShow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | showSummary: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | selectionShow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | operation: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | buttonshow: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | weldingAuditShow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | unlineCommitShow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | mustFirstShow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | editShow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | delShow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | issuShow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | inputshow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | relevanceShow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | wipelist: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | maintask: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | setshow: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | operationwidth: { |
| | | type: [Number, String], |
| | | default: 120 |
| | | }, |
| | | currentPage: { |
| | | type: [Number, String], |
| | | defaults: 1 |
| | | }, |
| | | pageSize: { |
| | | type: [Number, String], |
| | | defaults: 20 |
| | | }, |
| | | naxnumShow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | inOrderCodeList: { |
| | | type: Array, |
| | | default: () => [] |
| | | } |
| | | }, |
| | | components: { Modal, draggable }, |
| | | data () { |
| | | const that = this; |
| | | return { |
| | | number: Math.random() * 100, |
| | | tablelist: [], |
| | | containHead: [], |
| | | // currentPage: 1, |
| | | modalShow: false, |
| | | plist: ['doTime', 'maxNum', 'image', 'inOrderCode'], |
| | | rowedit: false |
| | | }; |
| | | }, |
| | | mounted () { |
| | | this.containHead = this.tableHead; |
| | | this.conversion(JSON.stringify(this.tableData)); |
| | | }, |
| | | methods: { |
| | | //䏿å è½½ |
| | | load () { }, |
| | | fixWidth (val) { |
| | | let length = 0; |
| | | if (val.indexOf('(') != -1) { |
| | | length = val.length * 16 + 10; |
| | | } else { |
| | | length = val.length * 25 + 10; |
| | | } |
| | | length = val == 'ç产计ååå·' || val == 'åºåºè®¡ååå·' ? 130 : length; |
| | | if (length < 100) { |
| | | length = 90; |
| | | } |
| | | return length; |
| | | }, |
| | | //å页 |
| | | handleCurrentChange (e) { |
| | | this.$emit('CurrentChange', e); |
| | | }, |
| | | handleSizeChange (e) { |
| | | this.$emit('SizeChange', e); |
| | | }, |
| | | //çé |
| | | conversion (nl) { |
| | | this.tablelist = JSON.parse(nl); |
| | | this.tablelist.filter(item => { |
| | | item.enable = item.enable == 1 ? 'æ¯' : item.enable == 0 ? 'å¦' : item.enable; |
| | | item.isLock = item.isLock == 1 ? 'æ¯' : item.isLock == 0 ? 'å¦' : item.isLock; |
| | | item.isBad = item.isBad == 1 ? 'æ¯' : item.isBad == 0 ? 'å¦' : item.isBad; |
| | | item.isWork = item.isWork == 1 ? 'æ¯' : item.isWork == 0 ? 'å¦' : item.isWork; |
| | | item.isErp = item.isErp == 1 ? 'æ¯' : item.isErp == 0 ? 'å¦' : item.isErp; |
| | | |
| | | item.isFull = item.isFull == 1 ? 'æ¯' : item.isFull == 0 ? 'å¦' : item.isFull; |
| | | item.isDestination = item.isDestination == 1 ? 'æ¯' : item.isDestination == 0 ? 'å¦' : item.isDestination; |
| | | item.isError = item.isError == 1 ? 'æ¯' : item.isError == 0 ? 'å¦' : item.isError; |
| | | item.isMainOut = item.isMainOut == 1 ? 'æ¯' : item.isMainOut == 0 ? 'å¦' : item.isMainOut; |
| | | |
| | | item.taskType == 1 ? 'å
¥åº' : item.taskType == 2 ? 'åºåº' : item.taskType == 3 ? 'ç§»åº' : item.taskType; |
| | | item.doTime = item.doTime ? getimestampDate(item.doTime) : ''; |
| | | item.updateTime = item.updateTime ? getimestampDate(item.updateTime) : ''; |
| | | item.createTime = item.createTime ? getimestampDate(item.createTime) : ''; |
| | | item.taskCreateTime = item.taskCreateTime ? getimestampDate(item.taskCreateTime) : ''; |
| | | item.finishTime = item.finishTime ? getimestampDate(item.finishTime) : ''; |
| | | item.CheckTime = item.CheckTime ? getimestampDate(item.CheckTime) : '';//å®¡æ ¸æ¶é´ |
| | | item.SendTime = item.SendTime ? getimestampDate(item.SendTime) : '';//æäº¤å®¡æ ¸æ¶é´ |
| | | |
| | | if (item.IsWeldingAuditGroup != undefined) { |
| | | item.IsWeldingAuditGroupText = item.IsWeldingAuditGroup ? 'æ¯' : item.IsWeldingAuditGroup == false ? 'å¦' : item.IsWeldingAuditGroup; |
| | | } |
| | | |
| | | // |
| | | }); |
| | | }, |
| | | //ææ½å¼å§ |
| | | startDrag (e) { }, |
| | | //ææ½ç»æ |
| | | endDrag (e) { |
| | | this.number = Math.random() * 100; |
| | | }, |
| | | //ç¼è¾ |
| | | edit (row) { |
| | | let rowobj = { ...row }; |
| | | rowobj.enable = rowobj.enable == 'æ¯' ? 1 : rowobj.enable == 'å¦' ? 0 : rowobj.enable; |
| | | rowobj.isLock = rowobj.isLock == 'æ¯' ? 1 : rowobj.isLock == 'å¦' ? 0 : rowobj.isLock; |
| | | rowobj.isBad = rowobj.isBad == 'æ¯' ? 1 : rowobj.isBad == 'å¦' ? 0 : rowobj.isBad; |
| | | rowobj.isWork = rowobj.isWork == 1 ? 'æ¯' : rowobj.isWork == 0 ? 'å¦' : rowobj.isWork; |
| | | rowobj.isErp = rowobj.isErp == 1 ? 'æ¯' : rowobj.isErp == 0 ? 'å¦' : rowobj.isErp; |
| | | rowobj.isFull = rowobj.isFull == 'æ¯' ? 1 : rowobj.isFull == 'å¦' ? 0 : rowobj.isFull; |
| | | rowobj.isDestination = rowobj.isDestination == 1 ? 'æ¯' : rowobj.isDestination == 0 ? 'å¦' : rowobj.isDestination; |
| | | rowobj.isError = rowobj.isError == 'æ¯' ? 1 : rowobj.isError == 'å¦' ? 0 : rowobj.isError; |
| | | rowobj.taskType = |
| | | rowobj.taskType == 'å
¥åº' ? 1 : rowobj.taskType == 'åºåº' ? 2 : rowobj.taskType == 'ç§»åº' ? 3 : rowobj.taskType; |
| | | rowobj.isMainOut = rowobj.isMainOut == 1 ? 'æ¯' : rowobj.isMainOut == 0 ? 'å¦' : rowobj.isMainOut; |
| | | console.log(this.inputshow); |
| | | if (this.inputshow) { |
| | | this.rowdblclick(row); |
| | | } else { |
| | | this.$emit('edit', rowobj); |
| | | } |
| | | }, |
| | | //æ¥ç |
| | | view (row) { |
| | | let rowobj = { ...row }; |
| | | rowobj.enable = rowobj.enable == 'æ¯' ? 1 : rowobj.enable == 'å¦' ? 0 : rowobj.enable; |
| | | rowobj.isLock = rowobj.isLock == 'æ¯' ? 1 : rowobj.isLock == 'å¦' ? 0 : rowobj.isLock; |
| | | rowobj.isBad = rowobj.isBad == 'æ¯' ? 1 : rowobj.isBad == 'å¦' ? 0 : rowobj.isBad; |
| | | rowobj.isWork = rowobj.isWork == 1 ? 'æ¯' : rowobj.isWork == 0 ? 'å¦' : rowobj.isWork; |
| | | rowobj.isErp = rowobj.isErp == 1 ? 'æ¯' : rowobj.isErp == 0 ? 'å¦' : rowobj.isErp; |
| | | rowobj.isFull = rowobj.isFull == 'æ¯' ? 1 : rowobj.isFull == 'å¦' ? 0 : rowobj.isFull; |
| | | rowobj.isDestination = rowobj.isDestination == 1 ? 'æ¯' : rowobj.isDestination == 0 ? 'å¦' : rowobj.isDestination; |
| | | rowobj.isError = rowobj.isError == 'æ¯' ? 1 : rowobj.isError == 'å¦' ? 0 : rowobj.isError; |
| | | rowobj.taskType = |
| | | rowobj.taskType == 'å
¥åº' ? 1 : rowobj.taskType == 'åºåº' ? 2 : rowobj.taskType == 'ç§»åº' ? 3 : rowobj.taskType; |
| | | rowobj.isMainOut = rowobj.isMainOut == 1 ? 'æ¯' : rowobj.isMainOut == 0 ? 'å¦' : rowobj.isMainOut; |
| | | console.log(this.inputshow); |
| | | if (this.inputshow) { |
| | | this.rowdblclick(row); |
| | | } else { |
| | | this.$emit('view', rowobj); |
| | | } |
| | | }, |
| | | //å é¤ |
| | | del (row) { |
| | | let rowobj = { ...row }; |
| | | rowobj.enable = rowobj.enable == 'æ¯' ? 1 : rowobj.enable == 'å¦' ? 0 : rowobj.enable; |
| | | rowobj.isLock = rowobj.isLock == 'æ¯' ? 1 : rowobj.isLock == 'å¦' ? 0 : rowobj.isLock; |
| | | rowobj.isBad = rowobj.isBad == 'æ¯' ? 1 : rowobj.isBad == 'å¦' ? 0 : rowobj.isBad; |
| | | this.$emit('del', rowobj); |
| | | }, |
| | | //å¾é |
| | | handleSelectionChange (e) { |
| | | this.$emit('handleSelectionChange', e); |
| | | }, |
| | | //åå»è¡ |
| | | rowdblclick (item) { |
| | | item.edit = !item.edit; |
| | | this.$emit('itemchange', this.tablelist, item); |
| | | }, |
| | | //åæºè¡ |
| | | rowclick (row) { |
| | | this.$emit('rowchange', row); |
| | | }, |
| | | tableRowClassName ({ row, rowIndex }) { |
| | | this.$emit('tableRowClassName', row, rowIndex); |
| | | }, |
| | | fielSetMove () { } |
| | | }, |
| | | watch: { |
| | | tableData: { |
| | | handler (nl, ol) { |
| | | this.number = Math.random() * 1000; |
| | | this.conversion(JSON.stringify(nl)); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | #tableContainer { |
| | | position: relative; |
| | | z-index: 6; |
| | | height: 100%; |
| | | .widthscope { |
| | | width: 200px; |
| | | } |
| | | .elbuttonsize { |
| | | font-size: 0.8rem; |
| | | } |
| | | .set { |
| | | color: #0465a8; |
| | | cursor: pointer; |
| | | display: inline-block; |
| | | margin-left: 20px; |
| | | } |
| | | .modal-title { |
| | | background-color: #f0f9eb; |
| | | color: #67c23a; |
| | | font-size: 14px; |
| | | padding: 4px 10px; |
| | | border-radius: 4px; |
| | | } |
| | | .modal-item { |
| | | border: 1px solid #f8f8f8; |
| | | padding: 4px 10px; |
| | | background-color: #f3f3f3; |
| | | font-size: 14px; |
| | | } |
| | | .draggable-main { |
| | | margin: 0; |
| | | padding: 0; |
| | | cursor: pointer; |
| | | .drag { |
| | | border: 1px dotted rgb(44, 104, 163); |
| | | background-color: #409eff; |
| | | } |
| | | |
| | | .chosen { |
| | | background-color: #409eff; |
| | | color: #fff; |
| | | } |
| | | |
| | | .ghost { |
| | | background-color: #409eff; |
| | | } |
| | | } |
| | | ::v-deep { |
| | | .el-table__fixed-right { |
| | | right: 1px !important; |
| | | } |
| | | .el-table--border td { |
| | | // border-right: none !important; |
| | | } |
| | | } |
| | | ::v-deep .el-table { |
| | | height: calc(100% - 35px) !important; |
| | | } |
| | | |
| | | ::v-deep .el-button + .el-button { |
| | | margin-left: 5px; |
| | | } |
| | | ::v-deep .el-table__empty-text { |
| | | position: absolute; |
| | | top: 50%; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | } |
| | | ::v-deep .el-table td, |
| | | .el-table th { |
| | | padding: 4px 0; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | const manage = [{ |
| | | columnDescription: 'ç»å½å', |
| | | columnName: 'userName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'çå®å§å', |
| | | columnName: 'userTrueName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¨é¨', |
| | | columnName: 'deptName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æå±è§è²', |
| | | columnName: 'roleName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å¯ç¨ç¶æ', |
| | | columnName: 'enable', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦çè£
å®¡æ ¸ç»', |
| | | columnName: 'IsWeldingAuditGroupText', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å建人', |
| | | columnName: 'creatorId', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ä¿®æ¹æ¶é´', |
| | | columnName: 'updateTime', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const dept = [{ |
| | | columnDescription: 'é¨é¨åç§°', |
| | | columnName: 'deptName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | |
| | | { |
| | | columnDescription: 'é¨é¨æè¿°', |
| | | columnName: 'deptDes', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦å¯ç¨', |
| | | columnName: 'enable', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ´æ°æ¶é´', |
| | | columnName: 'updateTime', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const role = [{ |
| | | columnDescription: 'è§è²åç§°', |
| | | columnName: 'roleName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦å¯ç¨', |
| | | columnName: 'enable', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å建人', |
| | | columnName: 'userName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ä¿®æ¹æ¶é´', |
| | | columnName: 'updateTime', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const storage = [{ |
| | | columnDescription: 'ä»åºç¼ç ', |
| | | columnName: 'storageCode', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ä»åºåç§°', |
| | | columnName: 'storageName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦å¯ç¨', |
| | | columnName: 'enable', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å
¬å¸åç§°', |
| | | columnName: 'shipperCompanyName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ä»åºå°å', |
| | | columnName: 'shipperAddress', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å建æ¶é´', |
| | | columnName: 'createDate', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const position = [{ |
| | | columnDescription: 'åºä½åç§°', |
| | | columnName: 'place', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'åºä½ç±»å', |
| | | columnName: 'placeType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'åºä½è§æ ¼', |
| | | columnName: 'specification', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 200 |
| | | }, |
| | | // { |
| | | // columnDescription: 'æè´§', |
| | | // columnName: 'isFull', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | { |
| | | columnDescription: 'éå®', |
| | | columnName: 'isLock', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ææ°', |
| | | columnName: 'row', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'åæ°', |
| | | columnName: 'col', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '屿°', |
| | | columnName: 'layer', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å··é(å åæº)å·', |
| | | columnName: 'srmId', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¿', |
| | | columnName: 'length', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '宽', |
| | | columnName: 'width', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é«', |
| | | columnName: 'height', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const palte = [{ |
| | | columnDescription: 'å¨å
·ç¼å·', |
| | | columnName: 'containerName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·è§æ ¼', |
| | | columnName: 'containerType', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | // { |
| | | // columnDescription: 'ç¶æ', |
| | | // columnName: 'status', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | { |
| | | columnDescription: 'é', |
| | | columnName: 'weight', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¿', |
| | | columnName: 'length', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '宽', |
| | | columnName: 'width', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é«', |
| | | columnName: 'height', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å
¬å·®', |
| | | columnName: 'weightDifference', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'è§æ ¼ç¼å·', |
| | | columnName: 'palletCode', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'è§æ ¼æè¿°', |
| | | columnName: 'palletType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 180 |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦éå®', |
| | | columnName: 'isLock', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | // { |
| | | // columnDescription: 'æ¯å¦å¯ç¨', |
| | | // columnName: 'enable', |
| | | // sortable: true, |
| | | // wipe: true |
| | | // } |
| | | ]; |
| | | const stacker = [{ |
| | | columnDescription: '设å¤å', |
| | | columnName: 'deviceName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '设å¤ç±»å', |
| | | columnName: 'deviceType', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '设å¤ç¼å·', |
| | | columnName: 'deviceId', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦éå®', |
| | | columnName: 'isLock', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | //å²åç产计å表头 |
| | | const quotation = [{ |
| | | columnDescription: 'ç产计ååå·', |
| | | columnName: 'inOrderCode', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 200 |
| | | }, |
| | | { |
| | | columnDescription: 'ç产类å', |
| | | columnName: 'orderType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | |
| | | { |
| | | columnDescription: '订åç¶æ', |
| | | columnName: 'orderStatus', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 200 |
| | | }, |
| | | { |
| | | columnDescription: 'è®¡åæ°é', |
| | | columnName: 'totalNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: '已宿æ°é', |
| | | columnName: 'doneNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'æäº¤äºº', |
| | | columnName: 'senderName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æäº¤æ¶é´', |
| | | columnName: 'SendTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'å®¡æ ¸äºº', |
| | | columnName: 'checkerName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å®¡æ ¸ç»æ', |
| | | columnName: 'CheckResult', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å®¡æ ¸æ¶é´', |
| | | columnName: 'CheckTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'å®¡æ ¸è¯´æ', |
| | | columnName: 'CheckRemark', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: '夿³¨', |
| | | columnName: 'deviceName5', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å建人', |
| | | columnName: 'createName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å建æ¶é´', |
| | | columnName: 'createTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, { |
| | | columnDescription: 'ä¿®æ¹äºº', |
| | | columnName: 'updateName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ä¿®æ¹æ¶é´', |
| | | columnName: 'updateTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | } |
| | | ]; |
| | | const quotationedit = [{ |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'è®¡åæ°é', |
| | | columnName: 'maxNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ç产ç线', |
| | | columnName: 'createLine', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'è®¡åæ¥æ', |
| | | columnName: 'doTime', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å¾ç', |
| | | columnName: 'image', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | //éç¾åå
³èå®å·¥æ°è¡¨å |
| | | const quotaion_relevanceEdit = [{ |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'å
¥åºæ°é', |
| | | columnName: 'itemNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ç产ç线', |
| | | columnName: 'createLine', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å
¥åºæ¥æ', |
| | | columnName: 'updateTime', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const enter = [{ |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶éé', |
| | | columnName: 'itemWeight', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶ç±»å', |
| | | columnName: 'itemType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶å
¬å·®', |
| | | columnName: 'itemWeightDifference', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·ç¼å·', |
| | | columnName: 'containerName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
፱Ȍ', |
| | | columnName: 'containerType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | // { |
| | | // columnDescription: 'æçç¶æ', |
| | | // columnName: 'containerStatus', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | { |
| | | columnDescription: 'å¨å
·éé', |
| | | columnName: 'containerWeight', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·å
¬å·®', |
| | | columnName: 'containerWeightDifference', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å
¥åºè®¡å', |
| | | columnName: 'inOrderCode', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 130 |
| | | }, |
| | | { |
| | | columnDescription: 'åºåºè®¡å', |
| | | columnName: 'outOrderCode', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 130 |
| | | }, |
| | | { |
| | | columnDescription: 'æ´æ°æ¶é´', |
| | | columnName: 'updateTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶æ°', |
| | | columnName: 'itemNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 90 |
| | | }, |
| | | { |
| | | columnDescription: 'éè¿ä¿®', |
| | | columnName: 'isBad', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 90 |
| | | }, |
| | | { |
| | | columnDescription: 'è¿ä¿®è½¦é´', |
| | | columnName: 'badByFactory', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ç产ç线', |
| | | columnName: 'createLine', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å建人', |
| | | columnName: 'createUser', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | // { |
| | | // columnDescription: 'å¯ç¨', |
| | | // columnName: 'enable', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | ]; |
| | | const enterEdit = [{ |
| | | columnDescription: 'ç产计ååå·', |
| | | columnName: 'inOrderCode', |
| | | width: 180, |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ä¸çº¿æ°é', |
| | | columnName: 'maxNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | edit: false |
| | | }, |
| | | { |
| | | columnDescription: 'åä½éé', |
| | | columnName: 'weight', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | // { |
| | | // columnDescription: 'å¾ç', |
| | | // columnName: 'image', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | // { |
| | | // columnDescription: 'çäº§æ¥æ', |
| | | // columnName: 'deviceName6', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | ]; |
| | | const edterchoose = [ |
| | | // { |
| | | // columnDescription: 'ç产计ååå·', |
| | | // columnName: 'inOrderCode', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | { |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶æè¿°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 180 |
| | | }, |
| | | { |
| | | columnDescription: 'åä½', |
| | | columnName: 'unit', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 80 |
| | | }, |
| | | { |
| | | columnDescription: 'åä»·', |
| | | columnName: 'price', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 80 |
| | | }, |
| | | { |
| | | columnDescription: 'éé', |
| | | columnName: 'weight', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 80 |
| | | }, |
| | | { |
| | | columnDescription: 'å个å
¬å·®', |
| | | columnName: 'weightDifference', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ç
§ç', |
| | | columnName: 'image', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ç产ç线', |
| | | columnName: 'createLine', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'è£
ç®±æ°é', |
| | | columnName: 'maxNum', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'åºå®¹æå¤§é', |
| | | columnName: 'maxStorage', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'åºå®¹æå°é', |
| | | columnName: 'minStorage', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'è¶
ææ¶é´', |
| | | columnName: 'overDueTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦éå®', |
| | | columnName: 'isLock', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æéå¨å
·è§æ ¼', |
| | | columnName: 'useContainerType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 130 |
| | | } |
| | | ]; |
| | | const plant = [{ |
| | | columnDescription: 'åºåºè®¡ååå·', |
| | | columnName: 'outOrderCode', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 200 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 200 |
| | | }, |
| | | { |
| | | columnDescription: 'åºåºç±»å', |
| | | columnName: 'orderType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: '订åç¶æ', |
| | | columnName: 'orderStatus', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å计æ°é', |
| | | columnName: 'totalOutNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'åºåºå£', |
| | | columnName: 'tranLine', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 90 |
| | | }, |
| | | { |
| | | columnDescription: 'ç®æ ç线', |
| | | columnName: 'productionLineName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å·²åºåºæ°é', |
| | | columnName: 'checkOutNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 115 |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦æ¥èªERP', |
| | | columnName: 'isErp', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 130 |
| | | }, |
| | | { |
| | | columnDescription: 'å建æ¶é´', |
| | | columnName: 'doTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'å建人', |
| | | columnName: 'userName', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const plantEdit = [ |
| | | // { |
| | | // columnDescription: 'åºåºè®¡ååå·', |
| | | // columnName: 'outOrderCode', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | { |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'è®¡åæ°é', |
| | | columnName: 'maxNum', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'è®¡åæ¥æ', |
| | | columnName: 'doTime', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const cassline = [{ |
| | | columnDescription: 'ç线ç¼å·', |
| | | columnName: 'productionCode', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ç线åç§°', |
| | | columnName: 'productionName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'è½å¦ä½ä¸ºç®çå° ', |
| | | columnName: 'isDestination', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const inventory = [{ |
| | | columnDescription: 'åºä½å·', |
| | | columnName: 'place', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·ç¼å·', |
| | | columnName: 'containerName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·è§æ ¼', |
| | | columnName: 'palletType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 220 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶æ°', |
| | | columnName: 'itemNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 90 |
| | | }, |
| | | { |
| | | columnDescription: 'å
¥åºç±»å', |
| | | columnName: 'taskType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ä»·æ ¼', |
| | | columnName: 'price', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 80 |
| | | }, |
| | | { |
| | | columnDescription: 'åä½', |
| | | columnName: 'unit', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 80 |
| | | }, |
| | | { |
| | | columnDescription: 'æ´æ°æ¶é´', |
| | | columnName: 'updateTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'ç¶æ', |
| | | columnName: 'status', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 80 |
| | | }, |
| | | { |
| | | columnDescription: 'è¶
ææ¥æ', |
| | | columnName: 'dueTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦è¿ä¿®', |
| | | columnName: 'isBad', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'è¿ä¿®ç±»å', |
| | | columnName: 'badByFactory', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦ç©ºç', |
| | | columnName: 'isEmptyContainer', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'åºé¾', |
| | | columnName: 'stAge', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 80 |
| | | }, |
| | | { |
| | | columnDescription: 'åºé¾ç¶æ', |
| | | columnName: 'stStatus', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | } |
| | | // { |
| | | // columnDescription: 'å¯ç¨', |
| | | // columnName: 'enable', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | ]; |
| | | const intype = [{ |
| | | columnDescription: 'å
¥åºç±»åå', |
| | | columnName: 'inType', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å
¥åºç®æ ä»åº', |
| | | columnName: 'storeName', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const forklift = [{ |
| | | columnDescription: 'å车å', |
| | | columnName: 'carName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å车å·', |
| | | columnName: 'carCode', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '驾驶å/ç»´æ¤å', |
| | | columnName: 'userName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | // { |
| | | // columnDescription: 'æ§è¡ä»»å¡å', |
| | | // columnName: 'carTaskName', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | // { |
| | | // columnDescription: 'ç¶æ', |
| | | // columnName: 'status', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | { |
| | | columnDescription: 'æ¯å¦å·¥ä½', |
| | | columnName: 'isWork', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const forklifttasks = [{ |
| | | columnDescription: 'ä»»å¡ç¼å·', |
| | | columnName: 'carTaskName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 180 |
| | | }, |
| | | { |
| | | columnDescription: 'ç®çå°', |
| | | columnName: 'toDestination', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'åè´§å°', |
| | | columnName: 'fromDestination', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·ç¼å·', |
| | | columnName: 'containerName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '订åç¶æ', |
| | | columnName: 'taskStatus', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¢ç¨äºº', |
| | | columnName: 'userName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å建æ¶é´', |
| | | columnName: 'createTime', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ´æ°æ¶é´', |
| | | columnName: 'updateTime', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const taskrecord = [{ |
| | | columnDescription: 'ä»»å¡ID', |
| | | columnName: 'taskId', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 90 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 115 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 135 |
| | | }, |
| | | { |
| | | columnDescription: 'èµ·å§ä½', |
| | | columnName: 'sourcePlace', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 90 |
| | | }, |
| | | { |
| | | columnDescription: 'ç®æ ä½', |
| | | columnName: 'toPlace', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 90 |
| | | }, |
| | | { |
| | | columnDescription: 'ä»»å¡ç±»å', |
| | | columnName: 'taskType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ä»»å¡ç¶æ', |
| | | columnName: 'taskStatus', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ä»»å¡å建æ¶é´', |
| | | columnName: 'taskCreateTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·ç¼å·', |
| | | columnName: 'containerName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦ä¸»è¦é¶ä»¶', |
| | | columnName: 'isMainOut', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 130 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶æ°é', |
| | | columnName: 'itemCount', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | // { |
| | | // columnDescription: 'å¯ç¨', |
| | | // columnName: 'enable', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | // }, |
| | | { |
| | | columnDescription: '计ååå·', |
| | | columnName: 'outOrderCode', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 140 |
| | | }, |
| | | { |
| | | columnDescription: 'å建人', |
| | | columnName: 'createUser', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 90 |
| | | }, |
| | | { |
| | | columnDescription: 'å¼å§æ¶é´', |
| | | columnName: 'doTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'ç»ææ¶é´', |
| | | columnName: 'finishTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | } |
| | | ]; |
| | | const warning = [{ |
| | | columnDescription: 'æ
éåç§°', |
| | | columnName: 'alertName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ
éæè¿°', |
| | | columnName: 'alertDes', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ
é设å¤', |
| | | columnName: 'deviceName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ
éç¼å·', |
| | | columnName: 'alertCode', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å建æ¶é´', |
| | | columnName: 'createTime', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ç»ææ¶é´', |
| | | columnName: 'finishTime', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const maintask = [{ |
| | | columnDescription: 'ä»»å¡å·', |
| | | columnName: 'id', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 90 |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·ç¼å·', |
| | | columnName: 'containerName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·è§æ ¼', |
| | | columnName: 'palletType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 180 |
| | | }, |
| | | |
| | | { |
| | | columnDescription: 'èµ·å§ä½', |
| | | columnName: 'sourcePlace', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ç®æ ä½', |
| | | columnName: 'toPlace', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ä»»å¡ç±»å', |
| | | columnName: 'taskType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ä»»å¡ç¶æ', |
| | | columnName: 'taskStatus', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'åºåºåå·', |
| | | columnName: 'outOrderCode', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'å建人åç§°', |
| | | columnName: 'userName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'ä»»å¡ä¼å
级', |
| | | columnName: 'taskLevel', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦æ
é', |
| | | columnName: 'isError', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦ä¸è½¬', |
| | | columnName: 'isExchange', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æå¨ä½ç½®', |
| | | columnName: 'localDevice', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ç§°éæ°æ®', |
| | | columnName: 'lastWeight', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | // columnDescription: 'æ
é设å¤id', |
| | | // columnName: 'errorDeviceId', |
| | | // sortable: true, |
| | | // wipe:true, |
| | | }, |
| | | |
| | | { |
| | | columnDescription: 'æ æ³ä¸ååå ', |
| | | columnName: 'canNotDo', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 200 |
| | | }, |
| | | |
| | | { |
| | | columnDescription: 'å建æ¶é´', |
| | | columnName: 'createTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 160 |
| | | }, |
| | | { |
| | | columnDescription: 'å¼å§æ¶é´', |
| | | columnName: 'doTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 160 |
| | | }, |
| | | { |
| | | columnDescription: 'ç»ææ¶é´', |
| | | columnName: 'finishTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 160 |
| | | }, |
| | | { |
| | | columnDescription: 'å©ä½æ¶é´', |
| | | columnName: 'needTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | } |
| | | ]; |
| | | const viewdata = [{ |
| | | columnDescription: 'åºä½å·', |
| | | columnName: 'place', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·ç¼å·', |
| | | columnName: 'containerName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶æ°', |
| | | columnName: 'itemNum', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦è¿ä¿®', |
| | | columnName: 'isBad', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'è¿ä¿®ç±»å', |
| | | columnName: 'badByFactory', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ä»·æ ¼', |
| | | columnName: 'price', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | |
| | | { |
| | | columnDescription: 'åä½', |
| | | columnName: 'unit', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ´æ°æ¶é´', |
| | | columnName: 'updateTime', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ç¶æ', |
| | | columnName: 'status', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦æå¨å
·', |
| | | columnName: 'isFull', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ç¼å·', |
| | | columnName: 'pvcCode', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '产线', |
| | | columnName: 'createLine', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å
¥åºç±»å', |
| | | columnName: 'inType', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·è§æ ¼', |
| | | columnName: 'palletType', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const materials = [{ |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 140 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'åºåæ°é', |
| | | columnName: 'itemNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æå°åºå®¹', |
| | | columnName: 'minStorage', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æå¤§åºå®¹', |
| | | columnName: 'maxStorage', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å ç¨åºä½æ°', |
| | | columnName: 'placeCount', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: '产线', |
| | | columnName: 'createLine', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'åä»·', |
| | | columnName: 'price', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 80 |
| | | }, |
| | | { |
| | | columnDescription: 'åä½', |
| | | columnName: 'unit', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 80 |
| | | }, |
| | | { |
| | | columnDescription: 'éé', |
| | | columnName: 'weight', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 80 |
| | | }, |
| | | { |
| | | columnDescription: 'è£
ç®±æ°é', |
| | | columnName: 'maxNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æç¨å¨å
·è§æ ¼', |
| | | columnName: 'useContainerType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 130 |
| | | }, |
| | | { |
| | | columnDescription: 'å
¬å·®', |
| | | columnName: 'weightDifference', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 80 |
| | | }, |
| | | { |
| | | columnDescription: 'åºå', |
| | | columnName: 'storageName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 80 |
| | | }, |
| | | { |
| | | columnDescription: 'æ»ä»·', |
| | | columnName: 'totalCost', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 80 |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦è¶
åºå', |
| | | columnName: 'isOverDay', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | } |
| | | ]; |
| | | const rgvtask = [{ |
| | | columnDescription: '主任å¡', |
| | | columnName: 'mainTask', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ç®æ ä½ç½®', |
| | | columnName: 'toPlace', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'èµ·å§ä½ç½®', |
| | | columnName: 'sourcePlace', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ä»»å¡ç±»å', |
| | | columnName: 'taskType', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'RGVç¼å·', |
| | | columnName: 'useRgvId', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | |
| | | { |
| | | columnDescription: 'æ¯å¦å®æ', |
| | | columnName: 'hasFinished', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '设å¤åç§°', |
| | | columnName: 'devName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'åä»»å¡å·', |
| | | columnName: 'preTask', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦å·²å¼å§æ§è¡', |
| | | columnName: 'isReleased', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'èµ·å§æ¶é´', |
| | | columnName: 'doTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: '宿æ¶é´', |
| | | columnName: 'finishTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | } |
| | | ]; |
| | | const piler = [{ |
| | | columnDescription: '主任å¡', |
| | | columnName: 'mainTask', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ç®æ ä½ç½®', |
| | | columnName: 'toPlace', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'èµ·å§ä½ç½®', |
| | | columnName: 'sourcePlace', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦å®æ', |
| | | columnName: 'hasFinished', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: '设å¤åç§°', |
| | | columnName: 'devName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æ¯å¦å¼å§æ§è¡', |
| | | columnName: 'isReleased', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 130 |
| | | }, |
| | | { |
| | | columnDescription: 'ä»»å¡ç±»å', |
| | | columnName: 'taskType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·è§æ ¼ç±»å', |
| | | columnName: 'palletType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 130 |
| | | }, |
| | | { |
| | | columnDescription: 'å åæºå·', |
| | | columnName: 'useSrmId', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'èµ·å§æ¶é´', |
| | | columnName: 'doTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'æªæ¢æ¶é´', |
| | | columnName: 'finishTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | } |
| | | ]; |
| | | const avroRecord = [{ |
| | | columnDescription: 'èµ·å§åºä½', |
| | | columnName: 'sourcePlace', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'ç®æ åºä½', |
| | | columnName: 'toPlace', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å··éå·', |
| | | columnName: 'useSrmId', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '主任å¡å·', |
| | | columnName: 'fastherTaskId', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å¨å
·å·', |
| | | columnName: 'containerName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶æ°é', |
| | | columnName: 'itemCount', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | |
| | | { |
| | | columnDescription: '已宿', |
| | | columnName: 'hasFinished', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å建æ¶é´', |
| | | columnName: 'createTime', |
| | | sortable: true, |
| | | wipe: true |
| | | } |
| | | ]; |
| | | const statistics = [{ |
| | | columnDescription: 'å计', |
| | | columnName: 'allNum', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'æ¶é´', |
| | | columnName: 'time', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'åºåºä»»å¡ç»è®¡', |
| | | sortable: true, |
| | | wipe: true, |
| | | children: [{ |
| | | columnDescription: 'åºåºæ»æ°', |
| | | columnName: 'outNum', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '1å·å£', |
| | | columnName: 'out_one_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '2å·å£', |
| | | columnName: 'out_two_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '3å·å£', |
| | | columnName: 'out_three_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '4å·å£', |
| | | columnName: 'out_four_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '5å·å£', |
| | | columnName: 'out_five_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '6å·å£', |
| | | columnName: 'out_six_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '7å·å£', |
| | | columnName: 'out_seven_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '8å·å£', |
| | | columnName: 'out_eight_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'åºåºç»è¿ä¸è½¬å°', |
| | | columnName: 'outExchange', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | } |
| | | ] |
| | | }, |
| | | |
| | | { |
| | | columnDescription: 'å
¥åºä»»å¡ç»è®¡', |
| | | sortable: true, |
| | | wipe: true, |
| | | children: [{ |
| | | columnDescription: 'å
¥åºæ»æ°', |
| | | columnName: 'inNum', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '1å·å£', |
| | | columnName: 'in_one_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '2å·å£', |
| | | columnName: 'in_two_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '3å·å£', |
| | | columnName: 'in_three_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '4å·å£', |
| | | columnName: 'in_four_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '5å·å£', |
| | | columnName: 'in_five_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: '7å·å£', |
| | | columnName: 'in_seven_mark', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å
¥åºç»è¿ä¸è½¬å°', |
| | | columnName: 'inExchange', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | } |
| | | ] |
| | | } |
| | | ]; |
| | | const Didproject = [{ |
| | | columnDescription: 'æ¶é´', |
| | | columnName: 'time' |
| | | }, |
| | | |
| | | { |
| | | columnDescription: 'å
¥åºé¶ä»¶æ°', |
| | | columnName: 'in_part' |
| | | }, |
| | | { |
| | | columnDescription: 'åºåºé¶ä»¶æ°', |
| | | columnName: 'out_part' |
| | | }, |
| | | { |
| | | columnDescription: 'å
¥åºå¨å
·æ°', |
| | | columnName: 'in_appliance' |
| | | }, |
| | | { |
| | | columnDescription: 'åºåºå¨å
·æ°', |
| | | columnName: 'out_appliance' |
| | | }, |
| | | { |
| | | columnDescription: 'è¶
æé¶ä»¶æ°é', |
| | | columnName: 'exceed_part' |
| | | }, |
| | | { |
| | | columnDescription: 'åºä½æ»æ°', |
| | | columnName: 'stortage_num' |
| | | }, |
| | | { |
| | | columnDescription: 'æè´§åºä½', |
| | | columnName: 'available_stortage' |
| | | }, |
| | | { |
| | | columnDescription: '带件å¨å
·', |
| | | columnName: 'take_appliance' |
| | | }, |
| | | { |
| | | columnDescription: '空å¨å
·æ°', |
| | | columnName: 'empty_appliance' |
| | | }, |
| | | { |
| | | columnDescription: 'å¶ä»¶æ»æ°', |
| | | columnName: 'workpiece_num' |
| | | } |
| | | ]; |
| | | module.exports = { |
| | | quotaion_relevanceEdit, |
| | | manage, |
| | | dept, |
| | | role, |
| | | storage, |
| | | position, |
| | | palte, |
| | | stacker, |
| | | quotation, |
| | | quotationedit, |
| | | enter, |
| | | enterEdit, |
| | | edterchoose, |
| | | plant, |
| | | plantEdit, |
| | | cassline, |
| | | inventory, |
| | | intype, |
| | | forklift, |
| | | forklifttasks, |
| | | taskrecord, |
| | | warning, |
| | | maintask, |
| | | viewdata, |
| | | materials, |
| | | rgvtask, |
| | | piler, |
| | | avroRecord, |
| | | statistics, |
| | | Didproject |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div id="gloal-title">{{ title }}</div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | props: { |
| | | title: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #gloal-title { |
| | | // position: absolute; |
| | | // left: 10px; |
| | | // top: 0; |
| | | margin-left: 10px; |
| | | padding-left: 10px; |
| | | font-size: 20px; |
| | | border-left: 4px solid #409eff; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import Vue from 'vue' |
| | | import SvgIcon from '@/components/SvgIcon'// svg component |
| | | |
| | | // register globally |
| | | Vue.component('svg-icon', SvgIcon) |
| | | |
| | | const req = require.context('./svg', false, /\.svg$/) |
| | | const requireAll = requireContext => requireContext.keys().map(requireContext) |
| | | requireAll(req) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M121.718 73.272v9.953c3.957-7.584 6.199-16.05 6.199-24.995C127.917 26.079 99.273 0 63.958 0 28.644 0 0 26.079 0 58.23c0 .403.028.806.028 1.21l22.97-25.953h13.34l-19.76 27.187h6.42V53.77l13.728-19.477v49.361H22.998V73.272H2.158c5.951 20.284 23.608 36.208 45.998 41.399-1.44 3.3-5.618 11.263-12.565 12.674-8.607 1.764 23.358.428 46.163-13.178 17.519-4.611 31.938-15.849 39.77-30.513h-13.506V73.272H85.02V59.464l22.998-25.977h13.008l-19.429 27.187h6.421v-7.433l13.727-19.402v39.433h-.027zm-78.24 2.822a10.516 10.516 0 0 1-.996-4.535V44.548c0-1.613.332-3.124.996-4.535a11.66 11.66 0 0 1 2.713-3.68c1.134-1.032 2.49-1.864 4.04-2.468 1.55-.605 3.21-.908 4.982-.908h11.292c1.77 0 3.431.303 4.981.908 1.522.604 2.85 1.41 3.986 2.418l-12.26 16.303v-2.898a1.96 1.96 0 0 0-.665-1.512c-.443-.403-.996-.604-1.66-.604-.665 0-1.218.201-1.661.604a1.96 1.96 0 0 0-.664 1.512v9.071L44.364 77.606a10.556 10.556 0 0 1-.886-1.512zm35.73-4.535c0 1.613-.332 3.124-.997 4.535a11.66 11.66 0 0 1-2.712 3.68c-1.134 1.032-2.49 1.864-4.04 2.469-1.55.604-3.21.907-4.982.907H55.185c-1.77 0-3.431-.303-4.981-.907-1.55-.605-2.906-1.437-4.041-2.47a12.49 12.49 0 0 1-1.384-1.512l13.727-18.217v6.375c0 .605.222 1.109.665 1.512.442.403.996.604 1.66.604.664 0 1.218-.201 1.66-.604a1.96 1.96 0 0 0 .665-1.512V53.87L75.97 36.838c.913.932 1.66 1.99 2.214 3.175.664 1.41.996 2.922.996 4.535v27.011h.028z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg t="1595485877113" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28328" width="32" height="32"><path d="M278.935873 315.505767L66.741054 503.436974l212.194819 187.931206zM78.371952 122.398678h878.886994v111.315248H78.371952zM356.659049 345.028151h600.599897v111.314225H356.659049zM356.659049 567.657624h600.599897v111.315248H356.659049zM78.371952 790.287097h878.886994v111.314225H78.371952z" fill="#345" p-id="28329"></path></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M127.88 73.143c0 1.412-.506 2.635-1.518 3.669-1.011 1.033-2.209 1.55-3.592 1.55h-17.887c0 9.296-1.783 17.178-5.35 23.645l16.609 17.044c1.011 1.034 1.517 2.257 1.517 3.67 0 1.412-.506 2.635-1.517 3.668-.958 1.033-2.155 1.55-3.593 1.55-1.438 0-2.635-.517-3.593-1.55l-15.811-16.063a15.49 15.49 0 0 1-1.196 1.06c-.532.434-1.65 1.208-3.353 2.322a50.104 50.104 0 0 1-5.192 2.974c-1.758.87-3.94 1.658-6.546 2.364-2.607.706-5.189 1.06-7.748 1.06V47.044H58.89v73.062c-2.716 0-5.417-.367-8.106-1.102-2.688-.734-5.003-1.631-6.945-2.692a66.769 66.769 0 0 1-5.268-3.179c-1.571-1.057-2.73-1.94-3.476-2.65L33.9 109.34l-14.611 16.877c-1.066 1.14-2.344 1.711-3.833 1.711-1.277 0-2.422-.434-3.434-1.304-1.012-.978-1.557-2.187-1.635-3.627-.079-1.44.333-2.705 1.236-3.794l16.129-18.51c-3.087-6.197-4.63-13.644-4.63-22.342H5.235c-1.383 0-2.58-.517-3.592-1.55S.125 74.545.125 73.132c0-1.412.506-2.635 1.518-3.668 1.012-1.034 2.21-1.55 3.592-1.55h17.887V43.939L9.308 29.833c-1.012-1.033-1.517-2.256-1.517-3.669 0-1.412.505-2.635 1.517-3.668 1.012-1.034 2.21-1.55 3.593-1.55s2.58.516 3.593 1.55l13.813 14.106h67.396l13.814-14.106c1.012-1.034 2.21-1.55 3.592-1.55 1.384 0 2.581.516 3.593 1.55 1.012 1.033 1.518 2.256 1.518 3.668 0 1.413-.506 2.636-1.518 3.67l-13.814 14.105v23.975h17.887c1.383 0 2.58.516 3.593 1.55 1.011 1.033 1.517 2.256 1.517 3.668l-.005.01zM89.552 26.175H38.448c0-7.23 2.489-13.386 7.466-18.469C50.892 2.623 56.92.082 64 .082c7.08 0 13.108 2.541 18.086 7.624 4.977 5.083 7.466 11.24 7.466 18.469z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 54.857h36.571V128H0V54.857zM91.429 27.43H128V128H91.429V27.429zM45.714 0h36.572v128H45.714V0z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M54.857 118.857h64V73.143H89.143c-1.902 0-3.52-.668-4.855-2.002-1.335-1.335-2.002-2.954-2.002-4.855V36.57H54.857v82.286zM73.143 16v-4.571a2.2 2.2 0 0 0-.677-1.61 2.198 2.198 0 0 0-1.609-.676H20.571c-.621 0-1.158.225-1.609.676a2.198 2.198 0 0 0-.676 1.61V16a2.2 2.2 0 0 0 .676 1.61c.451.45.988.676 1.61.676h50.285c.622 0 1.158-.226 1.61-.677.45-.45.676-.987.676-1.609zm18.286 48h21.357L91.43 42.642V64zM128 73.143v48c0 1.902-.667 3.52-2.002 4.855-1.335 1.335-2.953 2.002-4.855 2.002H52.57c-1.901 0-3.52-.667-4.854-2.002-1.335-1.335-2.003-2.953-2.003-4.855v-11.429H6.857c-1.902 0-3.52-.667-4.855-2.002C.667 106.377 0 104.759 0 102.857v-96c0-1.902.667-3.52 2.002-4.855C3.337.667 4.955 0 6.857 0h77.714c1.902 0 3.52.667 4.855 2.002 1.335 1.335 2.003 2.953 2.003 4.855V30.29c1 .622 1.856 1.29 2.569 2.003l29.147 29.147c1.335 1.335 2.478 3.145 3.429 5.43.95 2.287 1.426 4.383 1.426 6.291v-.018z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h54.857v54.857H0V0zm0 73.143h54.857V128H0V73.143zm73.143 0H128V128H73.143V73.143zm27.428-18.286C115.72 54.857 128 42.577 128 27.43 128 12.28 115.72 0 100.571 0 85.423 0 73.143 12.28 73.143 27.429c0 15.148 12.28 27.428 27.428 27.428z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="100" xmlns="http://www.w3.org/2000/svg"><path d="M27.429 63.638c0-2.508-.893-4.65-2.679-6.424-1.786-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.465 2.662-1.785 1.774-2.678 3.916-2.678 6.424 0 2.508.893 4.65 2.678 6.424 1.786 1.775 3.94 2.662 6.465 2.662 2.524 0 4.678-.887 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm13.714-31.801c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM71.714 65.98l7.215-27.116c.285-1.23.107-2.378-.536-3.443-.643-1.064-1.56-1.762-2.75-2.094-1.19-.33-2.333-.177-3.429.462-1.095.639-1.81 1.573-2.143 2.804l-7.214 27.116c-2.857.237-5.405 1.266-7.643 3.088-2.238 1.822-3.738 4.152-4.5 6.992-.952 3.644-.476 7.098 1.429 10.364 1.905 3.265 4.69 5.37 8.357 6.317 3.667.947 7.143.474 10.429-1.42 3.285-1.892 5.404-4.66 6.357-8.305.762-2.84.619-5.607-.429-8.305-1.047-2.697-2.762-4.85-5.143-6.46zm47.143-2.342c0-2.508-.893-4.65-2.678-6.424-1.786-1.775-3.94-2.662-6.465-2.662-2.524 0-4.678.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.786 1.775 3.94 2.662 6.464 2.662 2.524 0 4.679-.887 6.465-2.662 1.785-1.775 2.678-3.916 2.678-6.424zm-45.714-45.43c0-2.509-.893-4.65-2.679-6.425C68.68 10.01 66.524 9.122 64 9.122c-2.524 0-4.679.887-6.464 2.661-1.786 1.775-2.679 3.916-2.679 6.425 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm32 13.629c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM128 63.638c0 12.351-3.357 23.78-10.071 34.286-.905 1.372-2.19 2.058-3.858 2.058H13.93c-1.667 0-2.953-.686-3.858-2.058C3.357 87.465 0 76.037 0 63.638c0-8.613 1.69-16.847 5.071-24.703C8.452 31.08 13 24.312 18.714 18.634c5.715-5.68 12.524-10.199 20.429-13.559C47.048 1.715 55.333.035 64 .035c8.667 0 16.952 1.68 24.857 5.04 7.905 3.36 14.714 7.88 20.429 13.559 5.714 5.678 10.262 12.446 13.643 20.301 3.38 7.856 5.071 16.09 5.071 24.703z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M71.984 44.815H115.9L71.984 9.642v35.173zM16.094.05h63.875l47.906 38.37v76.74c0 3.392-1.682 6.645-4.677 9.044-2.995 2.399-7.056 3.746-11.292 3.746H16.094c-4.236 0-8.297-1.347-11.292-3.746-2.995-2.399-4.677-5.652-4.677-9.044V12.84C.125 5.742 7.23.05 16.094.05zm71.86 102.32V89.58h-71.86v12.79h71.86zm23.952-25.58V64H16.094v12.79h95.812z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M73.137 29.08h-9.209 29.7L63.886.093 34.373 29.08h20.49v27.035H27.238v17.948h27.625v27.133h18.274V74.063h27.41V56.115h-27.41V29.08zm-9.245 98.827l27.518-26.711H36.59l27.302 26.71zM.042 64.982l27.196 27.029V38.167L.042 64.982zm100.505-26.815V92.01l27.41-27.029-27.41-26.815z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M106.133 67.2a4.797 4.797 0 0 0-4.8 4.8c0 .187.014.36.027.533h-.027V118.4H9.6V26.667h50.133c2.654 0 4.8-2.147 4.8-4.8 0-2.654-2.146-4.8-4.8-4.8H9.6a9.594 9.594 0 0 0-9.6 9.6V118.4c0 5.307 4.293 9.6 9.6 9.6h91.733c5.307 0 9.6-4.293 9.6-9.6V72.533h-.026c.013-.173.026-.346.026-.533 0-2.653-2.146-4.8-4.8-4.8z"/><path d="M125.16 13.373L114.587 2.8c-3.747-3.747-9.854-3.72-13.6.027l-52.96 52.96a4.264 4.264 0 0 0-.907 1.36L33.813 88.533c-.746 1.76-.226 3.534.907 4.68 1.133 1.147 2.92 1.667 4.693.92l31.4-13.293c.507-.213.96-.52 1.36-.907l52.96-52.96c3.747-3.746 3.774-9.853.027-13.6zM66.107 72.4l-18.32 7.76 7.76-18.32L92.72 24.667l10.56 10.56L66.107 72.4zm52.226-52.227l-8.266 8.267-10.56-10.56 8.266-8.267.027-.026 10.56 10.56-.027.026z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M88.883 119.565c-7.284 0-19.434 2.495-21.333 8.25v.127c-4.232.13-5.222 0-7.108 0-1.895-5.76-14.045-8.256-21.333-8.256H0V0h42.523c9.179 0 17.109 5.47 21.47 13.551C68.352 5.475 76.295 0 85.478 0H128v119.57l-39.113-.005h-.004zM60.442 24.763c0-9.651-8.978-16.507-17.777-16.507H7.108V111.43H39.11c7.054-.14 18.177.082 21.333 6.12v-4.628c-.134-5.722-.004-13.522 0-13.832V27.413l.004-2.655-.004.005zm60.442-16.517h-35.55c-8.802 0-17.78 6.856-17.78 16.493v74.259c.004.32.138 8.115 0 13.813v4.627c3.155-6.022 14.279-6.26 21.333-6.114h32V8.25l-.003-.005z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="96" xmlns="http://www.w3.org/2000/svg"><path d="M64.125 56.975L120.188.912A12.476 12.476 0 0 0 115.5 0h-103c-1.588 0-3.113.3-4.513.838l56.138 56.137z"/><path d="M64.125 68.287l-62.3-62.3A12.42 12.42 0 0 0 0 12.5v71C0 90.4 5.6 96 12.5 96h103c6.9 0 12.5-5.6 12.5-12.5v-71a12.47 12.47 0 0 0-1.737-6.35L64.125 68.287z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M78.208 16.576v8.384h38.72v5.376h-38.72v8.704h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.512h38.72v5.376h-38.72v11.136H128v-94.72H78.208zM0 114.368L72.128 128V0L0 13.632v100.736z"/><path d="M28.672 82.56h-11.2l14.784-23.488-14.08-22.592h11.52l8.192 14.976 8.448-14.976h11.136l-14.08 22.208L58.368 82.56H46.656l-8.768-15.68z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M49.217 41.329l-.136-35.24c-.06-2.715-2.302-4.345-5.022-4.405h-3.65c-2.712-.06-4.866 2.303-4.806 5.016l.152 19.164-24.151-23.79a6.698 6.698 0 0 0-9.499 0 6.76 6.76 0 0 0 0 9.526l23.93 23.713-18.345.074c-2.712-.069-5.228 1.813-5.64 5.02v3.462c.069 2.721 2.31 4.97 5.022 5.03l35.028-.207c.052.005.087.025.133.025l2.457.054a4.626 4.626 0 0 0 3.436-1.38c.88-.874 1.205-2.096 1.169-3.462l-.262-2.465c0-.048.182-.081.182-.136h.002zm52.523 51.212l18.32-.073c2.713.06 5.224-1.609 5.64-4.815v-3.462c-.068-2.722-2.317-4.97-5.021-5.04l-34.58.21c-.053 0-.086-.021-.138-.021l-2.451-.06a4.64 4.64 0 0 0-3.445 1.381c-.885.868-1.201 2.094-1.174 3.46l.27 2.46c.005.06-.177.095-.177.141l.141 34.697c.069 2.713 2.31 4.338 5.022 4.397l3.45.006c2.705.062 4.867-2.31 4.8-5.026l-.153-18.752 24.151 23.946a6.69 6.69 0 0 0 9.494 0 6.747 6.747 0 0 0 0-9.523L101.74 92.54v.001zM48.125 80.662a4.636 4.636 0 0 0-3.437-1.382l-2.457.06c-.05 0-.082.022-.137.022l-35.025-.21c-2.712.07-4.957 2.318-5.022 5.04v3.462c.409 3.206 2.925 4.874 5.633 4.814l18.554.06-24.132 23.928c-2.62 2.626-2.62 6.89 0 9.524a6.694 6.694 0 0 0 9.496 0l24.155-23.79-.155 18.866c-.06 2.722 2.094 5.093 4.801 5.025h3.65c2.72-.069 4.962-1.685 5.022-4.406l.141-34.956c0-.05-.182-.082-.182-.136l.262-2.46c.03-1.366-.286-2.592-1.166-3.46h-.001zM80.08 47.397a4.62 4.62 0 0 0 3.443 1.374l2.45-.054c.055 0 .088-.02.143-.028l35.08.21c2.712-.062 4.953-2.312 5.021-5.033l.009-3.463c-.417-3.211-2.937-5.084-5.64-5.025l-18.615-.073 23.917-23.715c2.63-2.623 2.63-6.879.008-9.513a6.691 6.691 0 0 0-9.494 0L92.251 26.016l.155-19.312c.065-2.713-2.097-5.085-4.802-5.025h-3.45c-2.713.069-4.954 1.693-5.022 4.406l-.139 35.247c0 .054.18.088.18.136l-.267 2.465c-.028 1.366.288 2.588 1.174 3.463v.001z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="64" xmlns="http://www.w3.org/2000/svg"><path d="M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M38.47 52L52 38.462l-23.648-23.67L43.209 0H.035L0 43.137l14.757-14.865L38.47 52zm74.773 47.726L89.526 76 76 89.536l23.648 23.672L84.795 128h43.174L128 84.863l-14.757 14.863zM89.538 52l23.668-23.648L128 43.207V.038L84.866 0 99.73 14.76 76 38.472 89.538 52zM38.46 76L14.792 99.651 0 84.794v43.173l43.137.033-14.865-14.757L52 89.53 38.46 76z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M1.482 70.131l36.204 16.18 69.932-65.485-61.38 70.594 46.435 18.735c1.119.425 2.397-.17 2.797-1.363v-.085L127.998.047 1.322 65.874c-1.12.597-1.519 1.959-1.04 3.151.32.511.72.937 1.2 1.107zm44.676 57.821L64.22 107.26l-18.062-7.834v28.527z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1624246657816" class="icon" viewBox="0 0 1228 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2010" xmlns:xlink="http://www.w3.org/1999/xlink" width="38.375" height="32"><defs><style type="text/css"></style></defs><path d="M1016.88888897 63.99999999a28.444444 28.444444 0 0 0-28.444445 28.444444v187.164445H248.88888897V92.44444399a28.444444 28.444444 0 0 0-56.888889 0v796.444445a28.444444 28.444444 0 0 0 56.888889 0v-63.431111h739.555555V888.88888899a28.444444 28.444444 0 0 0 56.888889 0V92.44444399a28.444444 28.444444 0 0 0-28.444444-28.444444z m-28.444445 704.568889H248.88888897v-187.733333h739.555555z m0-244.622222H248.88888897V336.49777799h739.555555z" p-id="2011"></path></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1621487598758" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2368" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M566.55497187 51.95428531a77.02857187 77.02857187 0 0 0-103.47428625 0L44.68068594 449.16571437a38.5828575 38.5828575 0 0 0 51.67999969 57.32571375l6.65142843-6.33142781V914.74285719A77.16571406 77.16571406 0 0 0 180.2235425 992h224.64V759.65714281a54.33142875 54.33142875 0 0 1 54.37714313-54.40000031h105.69142875a54.35428594 54.35428594 0 0 1 54.40000031 54.40000031V992h229.94285719a77.23428563 77.23428563 0 0 0 77.23428562-77.25714281V505.21142844c17.14285687 15.52000031 41.4628575 14.33142844 55.74857063-1.55428594a38.5828575 38.5828575 0 0 0-2.78857125-54.51428531L566.55497187 51.9771425z" fill="#ffffff" p-id="2369"></path></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M115.147.062a13 13 0 0 1 4.94.945c1.55.63 2.907 1.526 4.069 2.688a13.148 13.148 0 0 1 2.761 4.069c.678 1.55 1.017 3.245 1.017 5.086v102.3c0 3.681-1.187 6.733-3.56 9.155-2.373 2.422-5.352 3.633-8.937 3.633H12.992c-3.875 0-7-1.26-9.373-3.779-2.373-2.518-3.56-5.667-3.56-9.445V12.704c0-3.39 1.163-6.345 3.488-8.863C5.872 1.32 8.972.062 12.847.062h102.3zM81.434 109.047c1.744 0 3.003-.412 3.778-1.235.775-.824 1.163-1.914 1.163-3.27 0-1.26-.388-2.325-1.163-3.197-.775-.872-2.034-1.307-3.778-1.307H72.57c.097-.194.145-.485.145-.872V27.09h9.01c1.743 0 2.954-.436 3.633-1.308.678-.872 1.017-1.938 1.017-3.197 0-1.26-.34-2.325-1.017-3.197-.679-.872-1.89-1.308-3.633-1.308H46.268c-1.743 0-2.954.436-3.632 1.308-.678.872-1.018 1.938-1.018 3.197 0 1.26.34 2.325 1.018 3.197.678.872 1.889 1.308 3.632 1.308h8.138v72.075c0 .193.024.339.073.436.048.096.072.242.072.436H46.56c-1.744 0-3.003.435-3.778 1.307-.775.872-1.163 1.938-1.163 3.197 0 1.356.388 2.446 1.163 3.27.775.823 2.034 1.235 3.778 1.235h34.875z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1623139027497" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4941" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M258.701056 193.045226l512.00016 0 0 63.99952L258.701056 257.044746 258.701056 193.045226zM256.993602 321.671065l511.99916 0 0 63.99952L256.993602 385.670585 256.993602 321.671065zM256.993602 449.663108l131.31098 0 0 64.00052L256.993602 513.663628 256.993602 449.663108zM256.993602 577.665147l57.948456 0 0 64.00052-57.948456 0L256.993602 577.665147zM898.701256 0 130.701016 0C95.356326 0 66.702495 28.653831 66.702495 64.00052l0 895.998281c0 35.34469 28.653831 63.99952 63.99952 63.99952l299.403191-0.327895 0-63.99952-299.403191 0.327895L130.702015 64.00052l768.00024 0 0 611.622281 63.99952 0L962.701775 64.00052C962.700776 28.653831 934.041947 0 898.701256 0L898.701256 0z" p-id="4942" ></path><path d="M962.700776 998.077615c-4.265635-63.979527-29.857446-375.345889-362.549984-392.40643l0-98.101607c0-4.265635 0-17.06154-8.53027-29.857446s-25.591811-12.795905-46.917986-4.265635l-4.265635 0-187.672945 204.734485c-4.265635 4.265635-21.326176 25.591811-21.326176 46.917986 0 25.591811 21.326176 46.917986 25.591811 46.917986l187.672945 213.264755c4.265635 4.265635 17.06154 17.06154 29.857446 17.06154 12.795905 0 21.326176-8.53027 25.591811-17.06154 4.265635-8.53027 4.265635-17.06154 4.265635-29.857446L604.417426 831.731846c55.449256 0 208.99912 8.53027 302.836092 174.877039 6.536908 14.430382 17.06154 17.06154 25.591811 17.06154l8.53027 0 6.380958-1.880398C960.551464 1017.524392 962.700776 1002.34325 962.700776 998.077615L962.700776 998.077615zM617.212332 789.078495c-21.326176 0-34.122081 0-34.122081 0l-21.326176 4.265635 0 145.019594L391.151671 742.160509c-4.265635-4.265635-12.795905-12.795905-12.795905-17.06154 0-4.265635 4.265635-12.795905 8.53027-17.06154l166.346769-179.142674 0 123.693418 21.326176 0c238.856566 0 311.366363 162.081134 332.692538 272.978647C809.149912 801.8744 676.926224 789.078495 617.212332 789.078495L617.212332 789.078495z" p-id="4943" ></path></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1621487711672" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4691" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M258.701056 193.045226l512.00016 0 0 63.99952L258.701056 257.044746 258.701056 193.045226zM256.993602 321.671065l511.99916 0 0 63.99952L256.993602 385.670585 256.993602 321.671065zM256.993602 449.663108l131.31098 0 0 64.00052L256.993602 513.663628 256.993602 449.663108zM256.993602 577.665147l57.948456 0 0 64.00052-57.948456 0L256.993602 577.665147zM898.701256 0 130.701016 0C95.356326 0 66.702495 28.653831 66.702495 64.00052l0 895.998281c0 35.34469 28.653831 63.99952 63.99952 63.99952l299.403191-0.327895 0-63.99952-299.403191 0.327895L130.702015 64.00052l768.00024 0 0 611.622281 63.99952 0L962.701775 64.00052C962.700776 28.653831 934.041947 0 898.701256 0L898.701256 0z" p-id="4692"></path><path d="M962.700776 998.077615c-4.265635-63.979527-29.857446-375.345889-362.549984-392.40643l0-98.101607c0-4.265635 0-17.06154-8.53027-29.857446s-25.591811-12.795905-46.917986-4.265635l-4.265635 0-187.672945 204.734485c-4.265635 4.265635-21.326176 25.591811-21.326176 46.917986 0 25.591811 21.326176 46.917986 25.591811 46.917986l187.672945 213.264755c4.265635 4.265635 17.06154 17.06154 29.857446 17.06154 12.795905 0 21.326176-8.53027 25.591811-17.06154 4.265635-8.53027 4.265635-17.06154 4.265635-29.857446L604.417426 831.731846c55.449256 0 208.99912 8.53027 302.836092 174.877039 6.536908 14.430382 17.06154 17.06154 25.591811 17.06154l8.53027 0 6.380958-1.880398C960.551464 1017.524392 962.700776 1002.34325 962.700776 998.077615L962.700776 998.077615zM617.212332 789.078495c-21.326176 0-34.122081 0-34.122081 0l-21.326176 4.265635 0 145.019594L391.151671 742.160509c-4.265635-4.265635-12.795905-12.795905-12.795905-17.06154 0-4.265635 4.265635-12.795905 8.53027-17.06154l166.346769-179.142674 0 123.693418 21.326176 0c238.856566 0 311.366363 162.081134 332.692538 272.978647C809.149912 801.8744 676.926224 789.078495 617.212332 789.078495L617.212332 789.078495z" p-id="4693"></path></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M83.287 103.01c-1.57-3.84-6.778-10.414-15.447-19.548-2.327-2.444-2.182-4.306-1.338-9.862v-.64c.553-3.81 1.513-6.05 14.313-8.087 6.516-1.018 8.203 1.57 10.589 5.178l.785 1.193a12.625 12.625 0 0 0 6.43 5.207c1.134.524 2.53 1.164 4.421 2.24 4.596 2.53 4.596 5.41 4.596 11.753v.727a26.91 26.91 0 0 1-5.178 17.454 59.055 59.055 0 0 1-19.025 11.026c3.49-6.546.814-14.313 0-16.553l-.146-.087zM64 5.12a58.502 58.502 0 0 1 25.484 5.818 54.313 54.313 0 0 0-12.859 10.327c-.93 1.28-1.716 2.473-2.472 3.579-2.444 3.694-3.637 5.352-5.818 5.614a25.105 25.105 0 0 1-4.219 0c-4.276-.29-10.094-.64-11.956 4.422-1.193 3.23-1.396 11.956 2.444 16.495.66 1.077.778 2.4.32 3.578a7.01 7.01 0 0 1-2.066 3.229 18.938 18.938 0 0 1-2.909-2.91 18.91 18.91 0 0 0-8.32-6.603c-1.25-.349-2.647-.64-3.985-.93-3.782-.786-8.03-1.688-9.019-3.812a14.895 14.895 0 0 1-.727-5.818 21.935 21.935 0 0 0-1.396-9.25 8.873 8.873 0 0 0-5.557-4.946A58.705 58.705 0 0 1 64 5.12zM0 64c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M84.742 36.8c2.398 7.2 5.595 12.8 11.19 18.4 4.795-4.8 7.992-11.2 10.39-18.4h-21.58zm-52.748 40h20.78l-10.39-28-10.39 28z"/><path d="M111.916 0H16.009C7.218 0 .025 7.2.025 16v96c0 8.8 7.193 16 15.984 16h95.907c8.791 0 15.984-7.2 15.984-16V16c0-8.8-6.394-16-15.984-16zM72.754 103.2c-1.598 1.6-3.197 1.6-4.795 1.6-.8 0-2.398 0-3.197-.8-.8-.8-1.599 0-1.599-.8s-.799-1.6-1.598-3.2c-.8-1.6-.8-2.4-1.599-4l-3.196-8.8H28.797L25.6 96c-1.598 3.2-2.398 5.6-3.197 7.2-.8 1.6-2.398 1.6-4.795 1.6-1.599 0-3.197-.8-4.796-1.6-1.598-1.6-2.397-2.4-2.397-4 0-.8 0-1.6.799-3.2.8-1.6.8-2.4 1.598-4l17.583-44.8c.8-1.6.8-3.2 1.599-4.8.799-1.6 1.598-3.2 2.397-4 .8-.8 1.599-2.4 3.197-3.2 1.599-.8 3.197-.8 4.796-.8 1.598 0 3.196 0 4.795.8 1.598.8 2.398 1.6 3.197 3.2.799.8 1.598 2.4 2.397 4 .8 1.6 1.599 3.2 2.398 5.6l17.583 44c1.598 3.2 2.398 5.6 2.398 7.2-.8.8-1.599 2.4-2.398 4zM116.711 72c-8.791-3.2-15.185-7.2-20.78-12-5.594 5.6-12.787 9.6-21.579 12l-2.397-4c8.791-2.4 15.984-5.6 21.579-11.2C87.939 51.2 83.144 44 81.545 36h-7.992v-3.2h21.58c-1.6-2.4-3.198-5.6-4.796-8l2.397-.8c1.599 2.4 3.997 5.6 5.595 8.8h19.98v4h-7.992c-2.397 8-6.393 15.2-11.189 20 5.595 4.8 11.988 8.8 20.78 11.2l-3.197 4z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z"/><path d="M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z"/><path d="M127.893 37.982h-12.375V12.375H88.706V0h39.187z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M1.585 12.087c0 6.616 3.974 11.98 8.877 11.98 4.902 0 8.877-5.364 8.877-11.98 0-6.616-3.975-11.98-8.877-11.98-4.903 0-8.877 5.364-8.877 11.98zM125.86.107H35.613c-1.268 0-2.114 1.426-2.114 2.852v18.255c0 1.712 1.057 2.853 2.114 2.853h90.247c1.268 0 2.114-1.426 2.114-2.853V2.96c0-1.711-1.057-2.852-2.114-2.852zM.106 62.86c0 6.615 3.974 11.979 8.876 11.979 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zM124.17 50.88H33.921c-1.268 0-2.114 1.425-2.114 2.851v18.256c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852V53.73c0-1.426-.846-2.852-2.114-2.852zM.106 115.913c0 6.616 3.974 11.98 8.876 11.98 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zm124.064-11.98H33.921c-1.268 0-2.114 1.426-2.114 2.853v18.255c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852v-18.255c0-1.427-.846-2.853-2.114-2.853z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M119.88 49.674h-7.987V39.52C111.893 17.738 90.45.08 63.996.08 37.543.08 16.1 17.738 16.1 39.52v10.154H8.113c-4.408 0-7.987 2.94-7.987 6.577v65.13c0 3.637 3.57 6.577 7.987 6.577H119.88c4.407 0 7.987-2.94 7.987-6.577v-65.13c-.008-3.636-3.58-6.577-7.987-6.577zm-23.953 0H32.065V39.52c0-14.524 14.301-26.295 31.931-26.295 17.63 0 31.932 11.777 31.932 26.295v10.153z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg t="1595484202945" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12292" width="32" height="32"><path d="M483.2 4.16c180.544-3.072 279.36 58.304 376.512 136.448 28.864 23.168 45.184 58.432 71.744 83.648l-0.96 1.92-102.656 52.864C774.4 184.768 584.96 82.56 422.4 128.64a462.72 462.72 0 0 0-117.568 49.792l-60.8-64.768c-6.528-6.528-20.48-15.488-15.936-23.872l40.832-24.896c30.4-15.936 62.08-29.248 94.72-39.808 26.24-8.96 55.616-12.608 84.608-17.92L483.2 4.16z m-26.944 1015.808c-57.856 0.832-114.304-23.104-155.456-42.88-140.544-67.456-231.296-172.928-280.96-331.584-46.144-147.712 5.184-317.184 65.792-408.32 15.552-23.424 30.848-51.84 52.8-68.736h1.984l77.696 82.688-3.968 3.968-28.864 37.824a477.376 477.376 0 0 0-53.76 117.504c-10.944 35.328-18.56 89.856-11.008 133.504 5.44 31.552 5.12 56.96 13.952 83.648 35.84 108.16 101.376 181.888 192.256 235.008 24.192 14.08 54.144 24.192 82.688 32.832l46.848 9.984v114.56z m112.576 0l1.024-116.544c47.552 0.128 96.32-23.936 128.512-42.88 108.608-63.744 174.528-148.16 204.16-291.712 8.576-41.408 5.12-102.144-4.928-138.432l-14.976-51.84 102.656-52.736c12.16 31.36 20.48 65.728 28.864 101.568 13.888 59.584 7.616 148.416-6.976 200.192-44.16 156.928-122.368 263.424-252.032 333.632-49.472 26.752-114.048 57.92-186.304 58.752z m180.352-673.28c110.976-2.816 79.552 158.208-21.952 115.584l-139.52 100.544c0.576 42.944-42.752 77.696-86.656 57.792-36.48-16.576-26.496-29.44-37.824-53.76l-164.416-57.792c-37.248 48.064-127.232-7.104-98.56-69.76 26.88-58.816 120.32-44.672 118.528 32.896l157.44 55.808a60.16 60.16 0 0 1 97.6-4.032l125.504-92.608c-15.808-57.6 22.784-81.92 49.856-84.608z m-266.048 2.048c32.896-6.016 62.528 11.264 71.744 47.808a54.72 54.72 0 0 1-1.984 33.792c1.472 0.512 58.112 34.752 60.8 41.856l-32.896 23.872-51.84-34.816c-26.112 19.84-48.384 11.392-70.72-1.024l-33.92 28.928-42.752-14.976c17.92-16.256 54.272-47.808 53.76-48.768-11.968-48.832 27.904-71.232 47.808-76.672z m269.056 80.64c22.016 7.296 36.864-28.864 13.952-40.832-30.912-10.24-44.16 30.848-14.016 40.832z m-500.16 13.952c25.6-6.336 37.184 39.168 7.04 41.856-26.24 2.304-34.176-35.2-7.04-41.856z m430.4 73.728l51.84 34.816c12.928-3.584 24.512-13.696 44.8-9.984 40.64 7.488 70.592 58.624 40.832 98.56-26.88 36.16-89.856 28.224-106.624-11.904-5.632-13.504 0-37.12-4.928-46.784l-58.816-39.872v-0.96l32.896-23.872z m-367.616 15.872l41.856 16-7.04 7.936-38.784 33.856c24.512 79.36-63.04 118.976-104.64 64.704-29.504-38.4-5.376-92.032 36.864-100.608 16.896-3.392 29.44 3.584 40.832 6.016l30.912-27.904z m205.248 9.984c-26.432 9.472-16.448 48.32 10.88 41.856 27.456-6.464 15.488-51.328-10.88-41.856z" fill="#1890FF" p-id="12293"></path></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 20.967v59.59c0 11.59 8.537 20.966 19.075 20.966h28.613l1 26.477L76.8 101.523h32.125c10.538 0 19.075-9.377 19.075-20.966v-59.59C128 9.377 119.463 0 108.925 0h-89.85C8.538 0 0 9.377 0 20.967zm82.325 33.1c0-5.524 4.013-9.935 9.037-9.935 5.026 0 9.038 4.41 9.038 9.934 0 5.524-4.025 9.934-9.038 9.934-5.024 0-9.037-4.41-9.037-9.934zm-27.613 0c0-5.524 4.013-9.935 9.038-9.935s9.037 4.41 9.037 9.934c0 5.524-4.025 9.934-9.037 9.934-5.025 0-9.038-4.41-9.038-9.934zm-27.1 0c0-5.524 4.013-9.935 9.038-9.935s9.038 4.41 9.038 9.934c0 5.524-4.026 9.934-9.05 9.934-5.013 0-9.025-4.41-9.025-9.934z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M54.122 127.892v-28.68H7.513V87.274h46.609v-12.4H7.513v-12.86h38.003L.099 0h22.6l32.556 45.07c3.617 5.144 6.44 9.611 8.487 13.385 1.788-3.05 4.89-7.779 9.301-14.186L103.93 0h24.01L82.385 62.013h38.34v12.862h-46.41v12.4h46.41v11.937h-46.41v28.68H54.123z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M.002 9.2c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-5.043-3.58-9.132-7.997-9.132S.002 4.157.002 9.2zM31.997.066h95.981V18.33H31.997V.066zm0 45.669c0 5.044 3.58 9.132 7.998 9.132 4.417 0 7.997-4.088 7.997-9.132 0-3.263-1.524-6.278-3.998-7.91-2.475-1.63-5.524-1.63-7.998 0-2.475 1.632-4 4.647-4 7.91zM63.992 36.6h63.986v18.265H63.992V36.6zm-31.995 82.2c0 5.043 3.58 9.132 7.998 9.132 4.417 0 7.997-4.089 7.997-9.132 0-5.044-3.58-9.133-7.997-9.133s-7.998 4.089-7.998 9.133zm31.995-9.131h63.986v18.265H63.992V109.67zm0-27.404c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-3.263-1.524-6.277-3.998-7.909-2.475-1.631-5.524-1.631-7.998 0-2.475 1.632-4 4.646-4 7.91zm31.995-9.13h31.991V91.4H95.987V73.135z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1623138991555" class="icon" viewBox="0 0 1189 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3253" width="37.15625" height="32" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M702.776889 539.932444l178.716444-137.955555a17.237333 17.237333 0 0 0 0-27.306667l-178.716444-137.955555a17.237333 17.237333 0 0 0-27.761778 13.653333V329.955556c-168.96 18.005333-293.205333 142.592-278.869333 281.742222 45.795556-89.685333 151.04-156.16 278.528-162.133334l0.341333 0.312889v76.430223a17.237333 17.237333 0 0 0 27.761778 13.653333zM98.816 168.504889H461.937778v56.888889H98.816zM98.816 362.609778h246.613333v56.888889h-246.613333zM98.816 556.743111h165.973333v56.888889H98.816z" p-id="3254"></path><path d="M838.769778 636.017778L835.555556 824.888889H56.888889V56.888889h778.296889v85.646222a26.481778 26.481778 0 0 0 0.768 3.754667h55.381333a26.481778 26.481778 0 0 0 0.739556-3.754667V34.844444A34.816 34.816 0 0 0 857.372444 0H34.702222A34.816 34.816 0 0 0 0 34.844444v812.088889A34.816 34.816 0 0 0 34.702222 881.777778h822.698667a34.702222 34.702222 0 0 0 34.702222-34.360889l3.584-211.399111z" p-id="3255"></path></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1621487819085" class="icon" viewBox="0 0 1189 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5547" xmlns:xlink="http://www.w3.org/1999/xlink" width="232.2265625" height="200"><defs><style type="text/css"></style></defs><path d="M702.776889 539.932444l178.716444-137.955555a17.237333 17.237333 0 0 0 0-27.306667l-178.716444-137.955555a17.237333 17.237333 0 0 0-27.761778 13.653333V329.955556c-168.96 18.005333-293.205333 142.592-278.869333 281.742222 45.795556-89.685333 151.04-156.16 278.528-162.133334l0.341333 0.312889v76.430223a17.237333 17.237333 0 0 0 27.761778 13.653333zM98.816 168.504889H461.937778v56.888889H98.816zM98.816 362.609778h246.613333v56.888889h-246.613333zM98.816 556.743111h165.973333v56.888889H98.816z" p-id="5548"></path><path d="M838.769778 636.017778L835.555556 824.888889H56.888889V56.888889h778.296889v85.646222a26.481778 26.481778 0 0 0 0.768 3.754667h55.381333a26.481778 26.481778 0 0 0 0.739556-3.754667V34.844444A34.816 34.816 0 0 0 857.372444 0H34.702222A34.816 34.816 0 0 0 0 34.844444v812.088889A34.816 34.816 0 0 0 34.702222 881.777778h822.698667a34.702222 34.702222 0 0 0 34.702222-34.360889l3.584-211.399111z" p-id="5549"></path></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><path d="M869.073 277.307H657.111V65.344l211.962 211.963zm-238.232 26.27V65.344l-476.498-.054v416.957h714.73v-178.67H630.841zm-335.836 360.57c-5.07-3.064-10.944-5.133-17.61-6.201-6.67-1.064-13.603-1.6-20.81-1.6h-48.821v85.641h48.822c7.206 0 14.14-.532 20.81-1.6 6.665-1.065 12.54-3.133 17.609-6.202 5.064-3.063 9.134-7.406 12.208-13.007 3.065-5.602 4.6-12.937 4.6-22.011 0-9.07-1.535-16.408-4.6-22.01-3.074-5.603-7.144-9.94-12.208-13.01zM35.82 541.805v416.904h952.358V541.805H35.821zm331.421 191.179c-3.6 11.071-9.343 20.879-17.209 29.413-7.874 8.542-18.078 15.408-30.617 20.61-12.544 5.206-27.747 7.807-45.621 7.807h-66.036v102.45h-62.831V607.517h128.867c17.874 0 33.077 2.6 45.62 7.802 12.541 5.207 22.745 12.076 30.618 20.615 7.866 8.538 13.604 18.277 17.21 29.212 3.6 10.943 5.401 22.278 5.401 34.018 0 11.477-1.8 22.752-5.402 33.819zM644.9 806.417c-5.343 17.61-13.408 32.818-24.212 45.627-10.807 12.803-24.283 22.879-40.423 30.213-16.146 7.343-35.155 11.007-57.03 11.007h-123.26V607.518h123.26c18.41 0 35.552 2.941 51.428 8.808 15.873 5.869 29.618 14.671 41.22 26.412 11.608 11.744 20.674 26.411 27.217 44.02 6.535 17.61 9.803 38.288 9.803 62.035 0 20.81-2.67 40.02-8.003 57.624zm245.362-146.07h-138.07v66.03h119.66v48.829h-119.66v118.058h-62.83V607.518h200.9v52.829h-.001zm-318.2 25.611c-6.402-8.266-14.877-14.604-25.412-19.01-10.544-4.402-23.551-6.602-39.019-6.602h-44.825v180.088h56.029c9.07 0 17.872-1.463 26.415-4.401 8.535-2.932 16.14-7.802 22.812-14.609 6.665-6.8 12.007-15.667 16.007-26.61 4.003-10.94 6.003-24.275 6.003-40.021 0-14.408-1.4-27.416-4.202-39.019-2.8-11.607-7.406-21.542-13.808-29.816zm0 0"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M104.185 95.254c8.161 7.574 13.145 17.441 13.145 28.28 0 1.508-.098 2.998-.285 4.466h-10.784c.238-1.465.403-2.948.403-4.465 0-8.983-4.36-17.115-11.419-23.216C86 104.66 75.355 107.162 64 107.162c-11.344 0-21.98-2.495-31.22-6.83-7.064 6.099-11.444 14.218-11.444 23.203 0 1.517.165 3 .403 4.465H10.955a35.444 35.444 0 0 1-.285-4.465c0-10.838 4.974-20.713 13.127-28.291C9.294 85.42.003 70.417.003 53.58.003 23.99 28.656.001 64 .001s63.997 23.988 63.997 53.58c0 16.842-9.299 31.85-23.812 41.673zM64 36.867c-29.454 0-53.33-10.077-53.33 15.342 0 25.418 23.876 46.023 53.33 46.023 29.454 0 53.33-20.605 53.33-46.023 0-25.419-23.876-15.342-53.33-15.342zm24.888 25.644c-3.927 0-7.111-2.665-7.111-5.953 0-3.288 3.184-5.954 7.11-5.954 3.928 0 7.111 2.666 7.111 5.954s-3.183 5.953-7.11 5.953zm-3.556 16.372c0 4.11-9.55 7.442-21.332 7.442-11.781 0-21.332-3.332-21.332-7.442 0-1.06.656-2.064 1.8-2.976 3.295 2.626 10.79 4.465 19.532 4.465 8.743 0 16.237-1.84 19.531-4.465 1.145.912 1.801 1.916 1.801 2.976zm-46.22-16.372c-3.927 0-7.11-2.665-7.11-5.953 0-3.288 3.183-5.954 7.11-5.954 3.927 0 7.111 2.666 7.111 5.954s-3.184 5.953-7.11 5.953z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M95.648 118.762c0 5.035-3.563 9.121-7.979 9.121H7.98c-4.416 0-7.979-4.086-7.979-9.121C0 100.519 15.408 83.47 31.152 76.75c-9.099-6.43-15.216-17.863-15.216-30.987v-9.128c0-20.16 14.293-36.518 31.893-36.518s31.894 16.358 31.894 36.518v9.122c0 13.137-6.123 24.556-15.216 30.993 15.738 6.726 31.141 23.769 31.141 42.012z"/><path d="M106.032 118.252h15.867c3.376 0 6.101-3.125 6.101-6.972 0-13.957-11.787-26.984-23.819-32.123 6.955-4.919 11.638-13.66 11.638-23.704v-6.985c0-15.416-10.928-27.926-24.39-27.926-1.674 0-3.306.193-4.89.561 1.936 4.713 3.018 9.974 3.018 15.526v9.121c0 13.137-3.056 23.111-11.066 30.993 14.842 4.41 27.312 23.42 27.541 41.509z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M18.448 57.545l-.244-.744-.198-.968-.132-.53v-2.181l.236-.859.24-.908.317-.953.428-1.06.561-1.103.794-1.104v-.773l.077-.724.123-.984.34-1.106.313-1.194.25-.548.289-.511.371-.569.405-.423v-2.73l.234-1.407.236-1.633.42-1.955.577-2.035.43-1.118.426-1.217.468-1.135.559-1.216.57-1.332.655-1.247.737-1.331.929-1.33.43-.762.457-.624.995-1.406 1.025-1.403 1.163-1.444 1.246-1.405 1.352-1.384 1.41-1.423 1.708-1.536 1.083-.934 1.322-1.008 1.34-.89 1.448-.855 1.392-.76 1.57-.63 1.667-.775 1.657-.532 1.653-.552 1.787-.548 1.785-.417 1.876-.347L59.128.68l1.879-.245 1.876-.252 2.002-.106h5.912l1.97.243 1.981.231 2.019.207 1.874.441 1.979.413 1.857.475 2.035.53 1.862.646 1.782.738 1.904.78 1.736.853 1.689.95 1.655 1.044 1.425.971.662.548.693.401 1.323 1.1 1.115 1.064 1.112 1.1 1.083 1.214.894 1.178 1.064 1.217.74 1.306.752 1.162.798 1.352.661 1.175 1.113 2.489.546 1.286.428 1.192.428 1.294.384 1.217.267 1.047.347 1.231.607 2.198.388 1.924.253 1.861.217 1.497.342 2.28.077.362.274.41.737 1.18.473.8.42.832.534.892.472 1.07.307 1.093.334 1.2.252 1.232.115.605.106.746v.648l-.106.643v.8l-.192.774-.35 1.5-.403.76-.299.852v.213l.142.264.4.623 1.746 2.53 1.377 1.9.66 1.267.889 1.389.774 1.52.893 1.627.894 1.828 1.006 2.069.567 1.268.518 1.239.447 1.307.44 1.175.336 1.235.342 1.16.432 2.261.343 2.31.235 2.05v2.891l-.158 1.025-.226 1.768-.308 1.59-.48 1.44-.18.588-.336.707-.28.493-.375.607-.33.383-.42.494-.375.4-.401.34-.48.207-.432.207-.355.114h-.543l-.346-.114-.66-.32-.302-.212-.317-.223-.347-.304-.35-.342-.579-.63-.684-.89-.539-.917-.538-.734-.526-.855-.741-1.517-.833-1.579-.098-.055h-.138l-.338.247-.196.415-.326.516-.567 1.533-.856 2.182-1.096 2.626-.824 1.308-.864 1.366-1.027 1.536-1.09 1.503-.557.68-.676.743-1.555 1.497.136.135.21.214.777.446 3.235 1.524 1.41.779 1.347.756 1.332.953 1.187.982.574.443.432.511.445.593.367.643.198.533.242.64.105.554.115.647-.115.433v.44l-.105.454-.242.415-.092.325-.22.394-.587.784-.543.627-.42.47-.35.348-.893.638-1.01.556-1.077.532-1.155.511-1.287.495-.693.207-.608.167-1.496.342-1.545.325-1.552.323-1.689.27-1.74.072-1.785.21h-5.539l-1.998-.114-1.86-.168-2.005-.27-1.99-.209-2.095-.286-2.03-.495-1.981-.374-1.968-.552-2.019-.707-1.98-.585-1.044-.342-.927-.323-.586-.223-.582-.12h-1.647l-1.904-.131-.962-.096-1.24-.135-.795.705-1.085.665-1.471.701-1.628.875-.99.475-1.033.376-2.281.914-1.24.305-1.3.343-1.803.344-1.13.086-1.193.1-1.246.135-1.45.053h-5.926l-3.346-.053-3.25-.321-1.644-.23-1.589-.23-1.546-.227-1.547-.305-1.442-.456-1.434-.325-1.294-.51-1.223-.474-1.142-.533-.99-.583-.984-.71-.336-.343-.44-.415-.334-.362-.3-.417-.278-.415-.215-.42-.311-.89-.109-.46-.138-.51v-.473l.138-.533v-.53l.109-.53v-1.069l.052-.564.259-.647.215-.646.39-.779.286-.3.236-.348.615-.738.49-.38.464-.266.428-.338.676-.21.543-.324.676-.341.77-.227.775-.231.897-.192.85-.11 1.008-.13 1.093-.081.284-.092h.063l.137-.115v-.13l-.2-.266-.58-.27-1.45-1.231-.975-.761-1.127-.967-1.136-1.082-1.181-1.382-1.36-1.558-.508-.843-.672-.87-.58-1.007-.522-1.1-.704-1.047-.459-1.194-.547-1.192-.546-1.33-.397-1.273-.378-1.575-.112-.057h-.115l-.059-.113h-.14l-.23.113-.114.057-.158.264-.057.321-.119.286-.206.477-.664 1.157-.345.701-.546.612-.58.736-.641.816-.677.724-.795.701-.734.658-.814.524-.89.546-.855.325-1.008.247-.99.095h-.233l-.228-.095-.18-.384-.29-.188-.38-.912-.237-.493-.255-.707-.21-.734-.113-.724-.313-1.648-.12-.972v-3.185l.12-2.379.196-1.214.23-1.252.21-1.347.374-1.254.42-1.443.431-1.407.578-1.448.545-1.38.754-1.4.699-1.52.855-1.425 1.006-1.538 1.023-1.382 1.069-1.538.891-1.071 1.142-1.227 1.202-1.237.56-.59.678-.662.985-.836 1.012-.853 1.647-1.446 1.242-.889z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1623139100922" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6811" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M846.5 990h-669c-40.3 0-73-32.7-73-73V107c0-40.3 32.7-73 73-73h669c40.3 0 73 32.7 73 73v810c0 40.3-32.7 73-73 73z m-669-900c-9.4 0-17 7.6-17 17v810c0 9.4 7.6 17 17 17h669c9.4 0 17-7.6 17-17V107c0-9.4-7.6-17-17-17h-669z" p-id="6812"></path><path d="M316.2 356.7h192v56h-192zM316.6 228.8h256v56h-256zM225 62.9h56v898.2h-56zM726 897.1h-50c-40.3 0-73-32.7-73-73V357.5l98-98 98 98v466.6c0 40.2-32.7 73-73 73z m-67-516.4v443.4c0 9.4 7.6 17 17 17h50c9.4 0 17-7.6 17-17V380.7l-42-42-42 42z" p-id="6813"></path></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M124.884 109.812L94.256 79.166c-.357-.357-.757-.629-1.129-.914a50.366 50.366 0 0 0 8.186-27.59C101.327 22.689 78.656 0 50.67 0 22.685 0 0 22.688 0 50.663c0 27.989 22.685 50.663 50.656 50.663 10.186 0 19.643-3.03 27.6-8.201.286.385.557.771.9 1.114l30.628 30.632a10.633 10.633 0 0 0 7.543 3.129c2.728 0 5.457-1.043 7.543-3.115 4.171-4.157 4.171-10.915.014-15.073M50.671 85.338C31.557 85.338 16 69.78 16 50.663c0-19.102 15.557-34.661 34.67-34.661 19.115 0 34.657 15.559 34.657 34.675 0 19.102-15.557 34.661-34.656 34.661"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M42.913 101.36c1.642 0 3.198.332 4.667.996a12.28 12.28 0 0 1 3.89 2.772c1.123 1.184 1.987 2.582 2.592 4.193.605 1.612.908 3.318.908 5.118 0 1.8-.303 3.507-.908 5.118-.605 1.611-1.469 3.01-2.593 4.194a13.3 13.3 0 0 1-3.889 2.843 10.582 10.582 0 0 1-4.667 1.066c-1.729 0-3.306-.355-4.732-1.066a13.604 13.604 0 0 1-3.825-2.843c-1.123-1.185-1.988-2.583-2.593-4.194a14.437 14.437 0 0 1-.907-5.118c0-1.8.302-3.506.907-5.118.605-1.61 1.47-3.009 2.593-4.193a12.515 12.515 0 0 1 3.825-2.772c1.426-.664 3.003-.996 4.732-.996zm53.932.285c1.643 0 3.22.331 4.733.995a11.386 11.386 0 0 1 3.889 2.772c1.08 1.185 1.945 2.583 2.593 4.194.648 1.61.972 3.317.972 5.118 0 1.8-.324 3.506-.972 5.117-.648 1.611-1.513 3.01-2.593 4.194a12.253 12.253 0 0 1-3.89 2.843 11 11 0 0 1-4.732 1.066 10.58 10.58 0 0 1-4.667-1.066 12.478 12.478 0 0 1-3.824-2.843c-1.08-1.185-1.945-2.583-2.593-4.194a13.581 13.581 0 0 1-.973-5.117c0-1.801.325-3.507.973-5.118.648-1.611 1.512-3.01 2.593-4.194a11.559 11.559 0 0 1 3.824-2.772 11.212 11.212 0 0 1 4.667-.995zm21.781-80.747c2.42 0 4.3.355 5.64 1.066 1.34.71 2.29 1.587 2.852 2.63a6.427 6.427 0 0 1 .778 3.34c-.044 1.185-.195 2.204-.454 3.057-.26.853-.8 2.606-1.62 5.26a589.268 589.268 0 0 1-2.788 8.743 1236.373 1236.373 0 0 0-3.047 9.453c-.994 3.128-1.75 5.592-2.269 7.393-1.123 3.79-2.55 6.42-4.278 7.89-1.728 1.469-3.846 2.203-6.352 2.203H39.023l1.945 12.795h65.342c4.148 0 6.223 1.943 6.223 5.828 0 1.896-.41 3.53-1.232 4.905-.821 1.374-2.442 2.061-4.862 2.061H38.505c-1.729 0-3.176-.426-4.343-1.28-1.167-.852-2.14-1.966-2.917-3.34a21.277 21.277 0 0 1-1.88-4.478 44.128 44.128 0 0 1-1.102-4.55c-.087-.568-.324-1.942-.713-4.122-.39-2.18-.865-4.904-1.426-8.174l-1.88-10.947c-.692-4.027-1.383-8.079-2.075-12.154-1.642-9.572-3.5-20.234-5.574-31.986H6.87c-1.296 0-2.377-.356-3.24-1.067a9.024 9.024 0 0 1-2.14-2.558 10.416 10.416 0 0 1-1.167-3.2C.108 8.53 0 7.488 0 6.54c0-1.896.583-3.46 1.75-4.69C2.917.615 4.494 0 6.482 0h13.095c1.728 0 3.111.284 4.148.853 1.037.569 1.858 1.28 2.463 2.132a8.548 8.548 0 0 1 1.297 2.701c.26.948.475 1.754.648 2.417.173.758.346 1.825.519 3.199.173 1.374.345 2.772.518 4.193.26 1.706.519 3.507.778 5.403h88.678z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 54.857h54.796v18.286H36.531V128H18.265V73.143H0V54.857zm127.857-36.571H91.935V128H72.456V18.286H36.534V0h91.326l-.003 18.286z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M31.652 93.206h33.401c1.44 2.418 3.077 4.663 4.93 6.692h-38.33v-6.692zm0-10.586h28.914a44.8 44.8 0 0 1-1.264-6.688h-27.65v6.688zm0-17.27H59.39c.288-2.286.714-4.532 1.34-6.687H31.65v6.687h.003zm53.913 44.84v5.85c0 2.798-2.095 5.075-4.667 5.075h-70.07c-2.576 0-4.663-2.277-4.663-5.075V31.26l23.22-20.96v22.25H17.16v6.688h18.39V6.688h45.348c2.576 0 4.667 2.277 4.667 5.066v20.009c1.987-.675 4.053-1.128 6.17-1.445v-18.56C91.738 5.28 86.874 0 80.902 0H31.15L0 28.118v87.917c0 6.48 4.859 11.759 10.832 11.759h70.07c5.974 0 10.837-5.27 10.837-11.759v-4.41c-2.117-.312-4.183-.765-6.17-1.435h-.004zM23.279 58.667h-7.96v6.688h7.96v-6.688zm-7.956 41.23h7.96v-6.691h-7.96v6.692zm7.956-23.96h-7.96v6.687h7.96v-6.688zm89.718-15.042l-4.896-4.07-12.447 17.613-11.19-9.305-3.762 5.311 16.091 13.38 16.204-22.929zM128 70.978c0-18.632-13.97-33.782-31.147-33.782-17.168 0-31.135 15.155-31.135 33.782 0 18.628 13.97 33.783 31.135 33.783 17.172 0 31.143-15.15 31.143-33.783H128zm-6.17 0c0 14.933-11.203 27.1-24.981 27.1-13.77 0-24.987-12.158-24.987-27.1 0-14.941 11.195-27.099 24.987-27.099 13.778 0 24.982 12.158 24.982 27.1z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M70.66 4.328l14.01 29.693c1.088 2.29 3.177 3.882 5.603 4.25l31.347 4.76c6.087.926 8.528 8.756 4.117 13.247L103.05 79.395c-1.75 1.78-2.544 4.352-2.132 6.867l5.352 32.641c1.043 6.337-5.33 11.182-10.778 8.19l-28.039-15.409a7.13 7.13 0 0 0-6.91 0l-28.039 15.41c-5.448 2.99-11.821-1.854-10.777-8.19l5.352-32.642c.415-2.515-.387-5.088-2.136-6.867L2.264 56.278C-2.146 51.787.286 43.957 6.38 43.031l31.343-4.76c2.419-.368 4.51-1.96 5.595-4.25L57.334 4.328c2.728-5.77 10.605-5.77 13.325 0z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1621487921042" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8725" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M747.08 489.45A212.73 212.73 0 1 0 534.27 276.7c0 45.56-0.34 182.31-0.35 183.68l-0.07 27.62 28.06 0.26c1.29-0.02 129.76 1.19 185.17 1.19zM590.78 276.7c0-86.67 70.12-157.18 156.3-157.18S903.39 190 903.39 276.7s-70.12 157.18-156.31 157.18c-39.22 0-115.39-0.61-156.58-1 0.1-42.66 0.28-123.22 0.28-156.18zM277.06 534.11a212.71 212.71 0 1 0 212.82 212.75c0-45.56 0.34-182.31 0.34-183.68l0.07-27.59-28.06-0.26c-1.28-0.02-129.75-1.22-185.17-1.22z m156.3 212.75c0 86.64-70.12 157.13-156.3 157.13S120.81 833.5 120.81 746.86s70.1-157.18 156.25-157.18c39.22 0 115.4 0.61 156.58 1-0.1 42.66-0.27 123.22-0.27 156.18zM489.88 276.7A212.81 212.81 0 0 0 126.4 126.46a212.74 212.74 0 0 0 150.66 363c55.42 0 183.88-1.2 185.18-1.21l28.06-0.26-0.07-27.59c-0.01-1.4-0.35-138.15-0.35-183.7zM277.06 433.88c-86.16 0-156.25-70.51-156.25-157.18s70.1-157.18 156.25-157.18S433.37 190 433.37 276.7c0 33 0.18 113.52 0.28 156.22-41.19 0.35-117.37 0.96-156.59 0.96zM747.08 534.11c-55.41 0-183.88 1.2-185.18 1.21l-28.06 0.26 0.07 27.59c0 1.38 0.35 138.13 0.35 183.68a212.84 212.84 0 1 0 212.82-212.74z m0 369.88c-86.19 0-156.3-70.49-156.3-157.13 0-33-0.18-113.52-0.28-156.22 41.19-0.35 117.36-1 156.58-1 86.19 0 156.31 70.51 156.31 157.18S833.27 904 747.08 904z" p-id="8726"></path></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1621487976998" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10630" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M446.475758 660.107444C442.182118 660.107444 437.789395 659.281744 433.561811 657.465204 371.832486 631.240975 331.934666 570.865798 331.934666 503.620797 331.934666 411.538743 406.610966 336.59822 498.428796 336.59822 590.246626 336.59822 664.922926 411.538743 664.922926 503.620797 664.922926 569.874958 626.907702 630.118023 568.051813 657.101897 551.43873 664.698336 531.853129 657.465204 524.223661 640.852122 516.66025 624.272068 523.926409 604.653438 540.506464 597.056999 575.945504 580.807225 598.866933 544.113121 598.866933 503.620797 598.866933 447.935595 553.816746 402.654212 498.428796 402.654212 443.040846 402.654212 397.990659 447.935595 397.990659 503.620797 397.990659 544.311289 422.101097 580.840253 459.422733 596.660663 476.200955 603.827738 484.02859 623.215172 476.894543 639.993394 471.544007 652.544033 459.323649 660.107444 446.475758 660.107444" p-id="10631"></path><path d="M542.851451 996.708967 454.039169 996.708967C408.724758 996.708967 371.865514 959.849723 371.865514 914.56834L371.865514 821.561502C363.245207 818.985318 353.435892 815.847658 344.088969 812.577887L293.622191 863.011637C262.608902 894.057954 208.476016 894.057954 177.462727 863.011637L114.643478 800.225416C82.606322 768.18826 82.606322 716.070081 114.61045 684.032925L138.985112 659.691291C151.899058 646.777345 172.772752 646.777345 185.686698 659.691291 198.600645 672.605238 198.600645 693.478932 185.686698 706.392878L161.345065 730.734512C155.069746 737.042859 155.069746 747.215482 161.345065 753.523829L224.164314 816.31005C228.259786 820.405522 233.048845 821.033054 235.525945 821.033054 238.036073 821.033054 242.792104 820.405522 246.887576 816.31005L312.778429 750.452226C322.686828 740.510799 337.747594 737.934615 350.463372 744.044794 365.788363 751.410037 401.029235 761.41752 413.282622 764.654264 427.81494 768.452484 437.921507 781.564598 437.921507 796.559308L437.921507 914.56834C437.921507 923.419843 445.154638 930.652974 454.039169 930.652974L542.851451 930.652974C551.735982 930.652974 558.936086 923.419843 558.936086 914.56834L558.936086 796.559308C558.936086 780.70587 570.23166 767.065308 585.820875 764.125816 606.463372 760.228512 626.841646 753.457773 646.427248 744.044794 659.143027 737.934615 674.170765 740.510799 684.079164 750.452226L749.970017 816.31005C754.098516 820.405522 758.854548 821.033054 761.331648 821.033054 763.808747 821.033054 768.597807 820.405522 772.726306 816.31005L835.545555 753.523829C841.787847 747.215482 841.787847 737.042859 835.512527 730.734512L769.654703 664.876687C759.746304 654.968288 757.17012 639.841466 763.247271 627.191743 772.66025 607.672197 779.43099 587.293923 783.328293 566.651426 786.267785 551.029183 799.908347 539.733609 815.761786 539.733609L914.647607 539.733609C923.532138 539.733609 930.765269 532.500477 930.765269 523.648974L930.765269 434.803664C930.765269 425.952161 923.532138 418.71903 914.647607 418.71903L815.761786 418.71903C799.908347 418.71903 786.267785 407.423455 783.328293 391.834241 779.43099 371.257799 772.66025 350.846497 763.247271 331.260895 757.17012 318.611173 759.746304 303.48435 769.654703 293.575951L835.545555 227.718127C841.787847 221.409779 841.787847 211.237156 835.512527 204.928809L772.726306 142.142588C768.597807 138.047117 763.808747 137.419585 761.331648 137.419585 758.854548 137.419585 754.098516 138.047117 749.970017 142.142588L684.079164 208.000413C674.170765 217.94184 659.143027 220.518023 646.427248 214.407844 626.841646 204.994865 606.463372 198.224126 585.820875 194.326822 570.23166 191.387331 558.936086 177.746768 558.936086 161.89333L558.936086 82.130719C558.936086 73.246188 551.735982 66.046084 542.851451 66.046084L454.039169 66.046084C445.154638 66.046084 437.921507 73.246188 437.921507 82.130719L437.921507 161.89333C437.921507 177.317404 427.220436 190.759799 412.126642 194.095626 397.495239 197.398426 369.025106 205.490285 350.463372 214.407844 337.747594 220.518023 322.686828 217.94184 312.778429 208.000413L246.920604 142.142588C242.792104 138.047117 238.036073 137.419585 235.525945 137.419585 233.048845 137.419585 228.259786 138.047117 224.164314 142.142588L161.345065 204.928809C155.069746 211.237156 155.069746 221.409779 161.345065 227.718127L227.20289 293.575951C236.913121 303.286182 239.621417 317.950613 233.973629 330.468223 227.665282 344.505122 217.162379 372.810115 213.562327 391.834241 210.622836 407.423455 196.982273 418.71903 181.095807 418.71903L82.209986 418.71903C73.358483 418.71903 66.125352 425.952161 66.125352 434.803664L66.125352 523.648974C66.125352 532.500477 73.358483 539.733609 82.209986 539.733609L111.935183 539.733609C130.166637 539.733609 144.963179 554.497123 144.963179 572.761605 144.963179 591.026087 130.166637 605.789601 111.935183 605.789601L82.209986 605.789601C36.928603 605.789601 0.069359 568.930357 0.069359 523.648974L0.069359 434.803664C0.069359 389.522281 36.928603 352.663037 82.209986 352.663037L155.433054 352.663037C158.405573 342.820694 161.807457 333.176519 165.011173 324.75438L114.643478 274.419714C82.606322 242.382557 82.606322 190.264379 114.61045 158.227222L177.462727 95.441001C208.476016 64.394685 262.608902 64.394685 293.622191 95.441001L343.857773 145.643556C353.336808 142.10956 363.047039 139.004928 371.865514 136.395717L371.865514 82.130719C371.865514 36.849336 408.724758-0.009908 454.039169-0.009908L542.851451-0.009908C588.165862-0.009908 624.992078 36.849336 624.992078 82.130719L624.992078 135.834241C634.537169 138.542536 643.983176 141.713224 653.297071 145.41236L703.26843 95.441001C734.24869 64.394685 788.414605 64.394685 819.427893 95.441001L882.247142 158.227222C914.251271 190.264379 914.251271 242.382557 882.247142 274.419714L832.275784 324.391072C835.941891 333.704967 839.112579 343.150974 841.853903 352.663037L914.647607 352.663037C959.962018 352.663037 996.821262 389.522281 996.821262 434.803664L996.821262 523.648974C996.821262 568.930357 959.962018 605.789601 914.647607 605.789601L841.853903 605.789601C839.112579 615.301664 835.941891 624.747671 832.275784 634.094594L882.247142 684.032925C914.251271 716.070081 914.251271 768.18826 882.247142 800.225416L819.427893 863.011637C788.414605 894.057954 734.281718 894.057954 703.235402 863.011637L653.297071 813.040279C643.983176 816.739414 634.537169 819.910102 624.992078 822.618398L624.992078 914.56834C624.992078 959.849723 588.165862 996.708967 542.851451 996.708967" p-id="10632"></path></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M78.921.052H49.08c-1.865 0-3.198 1.599-3.198 3.464v6.661c0 1.865 1.6 3.464 3.198 3.464h29.84c1.865 0 3.198-1.599 3.198-3.464V3.516C82.385 1.65 80.786.052 78.92.052zm45.563 0H94.642c-1.865 0-3.464 1.599-3.464 3.464v6.661c0 1.865 1.599 3.464 3.464 3.464h29.842c1.865-.266 3.464-1.599 3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464zm0 22.382H40.02c-1.866 0-3.464-1.599-3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464H3.516C1.65.052.052 1.651.052 3.516V124.75c0 1.598 1.599 3.197 3.464 3.197h120.968c1.865 0 3.464-1.599 3.464-3.464V25.898c0-1.865-1.599-3.464-3.464-3.464z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z"/><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M125.5 36.984L95.336 2.83C93.735 1.018 91.565 0 89.3 0c-2.263 0-4.433 1.018-6.033 2.83l-3.786 4.286c-1.6 1.812-3.77 2.83-6.032 2.831H54.553c-2.263 0-4.434-1.018-6.033-2.83L44.734 2.83C43.134 1.018 40.964 0 38.701 0c-2.263 0-4.434 1.018-6.034 2.83L2.5 36.984C.9 38.796 0 41.254 0 43.815c0 2.562.899 5.02 2.5 6.831L14.565 64.31c2.178 2.468 5.367 3.403 8.33 2.444 1.35-.435 2.709.592 2.709 2.18v49.407c0 5.313 3.84 9.66 8.532 9.66h59.726c4.693 0 8.532-4.347 8.532-9.66V68.934c0-1.59 1.36-2.616 2.71-2.181 2.962.96 6.15.024 8.329-2.444L125.5 50.646c1.6-1.811 2.499-4.269 2.499-6.83 0-2.563-.899-5.02-2.5-6.832z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1623139067675" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5837" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M908.629333 743.765333H257.877333c-19.285333 0-37.376-7.509333-50.858666-21.162666-13.482667-13.653333-20.992-31.573333-20.821334-50.858667l2.389334-479.232c0-19.114667-6.656-31.914667-39.765334-37.205333h-0.170666l-95.573334-16.384c-9.216-1.536-15.530667-10.410667-13.994666-19.626667 1.536-9.216 10.410667-15.530667 19.626666-13.994667l95.402667 16.384c45.397333 7.168 68.437333 31.061333 68.437333 70.997334L220.16 672.085333c0 10.069333 3.754667 19.456 10.922667 26.453334 7.168 7.168 16.554667 11.093333 26.624 11.093333h650.752c9.386667 0 17.066667 7.68 17.066666 17.066667s-7.509333 17.066667-16.896 17.066666z" p-id="5838"></path><path d="M859.989333 645.802667l-602.624-1.877334c-18.944-0.170667-36.693333-7.509333-50.005333-20.992-13.312-13.482667-20.48-31.232-20.48-50.176l1.877333-353.962666L870.570667 269.653333c30.890667 1.194667 55.125333 26.282667 55.125333 57.173334V580.266667c0 36.181333-29.525333 65.536-65.706667 65.536zM257.706667 609.792l602.453333 1.877333c17.408 0 31.573333-14.165333 31.573333-31.402666V326.826667c0-12.458667-9.898667-22.698667-22.357333-23.04h-0.682667l-645.632-48.128-1.536 317.44c0 9.728 3.754667 18.944 10.581334 25.941333 6.485333 6.826667 15.701333 10.752 25.6 10.752z" p-id="5839"></path><path d="M324.096 800.085333m-63.658667 0a63.658667 63.658667 0 1 0 127.317334 0 63.658667 63.658667 0 1 0-127.317334 0Z" p-id="5840"></path><path d="M324.096 880.810667c-44.544 0-80.725333-36.181333-80.725333-80.725334s36.181333-80.725333 80.725333-80.725333c44.544 0 80.725333 36.181333 80.725333 80.725333s-36.181333 80.725333-80.725333 80.725334z m0-127.317334c-25.770667 0-46.592 20.821333-46.592 46.592s20.821333 46.592 46.592 46.592 46.592-20.821333 46.592-46.592-20.821333-46.592-46.592-46.592z" p-id="5841"></path><path d="M812.714667 800.085333m-63.658667 0a63.658667 63.658667 0 1 0 127.317333 0 63.658667 63.658667 0 1 0-127.317333 0Z" p-id="5842"></path><path d="M812.714667 880.810667c-44.544 0-80.725333-36.181333-80.725334-80.725334s36.181333-80.725333 80.725334-80.725333 80.725333 36.181333 80.725333 80.725333-36.181333 80.725333-80.725333 80.725334z m0-127.317334c-25.770667 0-46.592 20.821333-46.592 46.592s20.821333 46.592 46.592 46.592 46.592-20.821333 46.592-46.592-20.821333-46.592-46.592-46.592z" p-id="5843"></path><path d="M710.314667 417.962667H362.496c-9.386667 0-17.066667-7.68-17.066667-17.066667s7.68-17.066667 17.066667-17.066667h347.818667c9.386667 0 17.066667 7.68 17.066666 17.066667s-7.68 17.066667-17.066666 17.066667zM710.314667 516.096H362.496c-9.386667 0-17.066667-7.68-17.066667-17.066667s7.68-17.066667 17.066667-17.066666h347.818667c9.386667 0 17.066667 7.68 17.066666 17.066666s-7.68 17.066667-17.066666 17.066667z" p-id="5844"></path></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M44.8 0h79.543C126.78 0 128 1.422 128 4.267v23.466c0 2.845-1.219 4.267-3.657 4.267H44.8c-2.438 0-3.657-1.422-3.657-4.267V4.267C41.143 1.422 42.362 0 44.8 0zm22.857 48h56.686c2.438 0 3.657 1.422 3.657 4.267v23.466c0 2.845-1.219 4.267-3.657 4.267H67.657C65.22 80 64 78.578 64 75.733V52.267C64 49.422 65.219 48 67.657 48zm0 48h56.686c2.438 0 3.657 1.422 3.657 4.267v23.466c0 2.845-1.219 4.267-3.657 4.267H67.657C65.22 128 64 126.578 64 123.733v-23.466C64 97.422 65.219 96 67.657 96zM50.286 68.267c2.02 0 3.657-1.91 3.657-4.267 0-2.356-1.638-4.267-3.657-4.267H17.37V32h6.4c2.02 0 3.658-1.91 3.658-4.267V4.267C27.429 1.91 25.79 0 23.77 0H3.657C1.637 0 0 1.91 0 4.267v23.466C0 30.09 1.637 32 3.657 32h6.4v80c0 2.356 1.638 4.267 3.657 4.267h36.572c2.02 0 3.657-1.91 3.657-4.267 0-2.356-1.638-4.267-3.657-4.267H17.37V68.267h32.915z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M126.713 90.023c.858.985 1.287 2.134 1.287 3.447v29.553c0 1.423-.429 2.6-1.287 3.53-.858.93-1.907 1.395-3.146 1.395H97.824c-1.145 0-2.146-.465-3.004-1.395-.858-.93-1.287-2.107-1.287-3.53V93.47c0-.875.19-1.696.572-2.462.382-.766.906-1.368 1.573-1.806a3.84 3.84 0 0 1 2.146-.657h9.725V69.007a3.84 3.84 0 0 0-.43-1.806 3.569 3.569 0 0 0-1.143-1.313 2.714 2.714 0 0 0-1.573-.492h-36.47v23.149h9.725c1.144 0 2.145.492 3.004 1.478.858.985 1.287 2.134 1.287 3.447v29.553c0 .876-.191 1.696-.573 2.463-.38.766-.905 1.368-1.573 1.806a3.84 3.84 0 0 1-2.145.656H51.915a3.84 3.84 0 0 1-2.145-.656c-.668-.438-1.216-1.04-1.645-1.806a4.96 4.96 0 0 1-.644-2.463V93.47c0-1.313.43-2.462 1.288-3.447.858-.986 1.907-1.478 3.146-1.478h9.582v-23.15h-37.9c-.953 0-1.74.356-2.359 1.068-.62.711-.93 1.56-.93 2.544v19.538h9.726c1.239 0 2.264.492 3.074 1.478.81.985 1.216 2.134 1.216 3.447v29.553c0 1.423-.405 2.6-1.216 3.53-.81.93-1.835 1.395-3.074 1.395H4.29c-.476 0-.93-.082-1.358-.246a4.1 4.1 0 0 1-1.144-.657 4.658 4.658 0 0 1-.93-1.067 5.186 5.186 0 0 1-.643-1.395 5.566 5.566 0 0 1-.215-1.56V93.47c0-.437.048-.875.143-1.313a3.95 3.95 0 0 1 .429-1.15c.19-.328.429-.656.715-.984.286-.329.572-.602.858-.821.286-.22.62-.383 1.001-.493.382-.11.763-.164 1.144-.164h9.726V61.619c0-.985.31-1.833.93-2.544.619-.712 1.358-1.068 2.216-1.068h44.335V39.62h-9.582c-1.24 0-2.288-.492-3.146-1.477a5.09 5.09 0 0 1-1.287-3.448V5.14c0-1.423.429-2.627 1.287-3.612.858-.985 1.907-1.477 3.146-1.477h25.743c.763 0 1.478.246 2.145.739a5.17 5.17 0 0 1 1.573 1.888c.382.766.573 1.587.573 2.462v29.553c0 1.313-.43 2.463-1.287 3.448-.859.985-1.86 1.477-3.004 1.477h-9.725v18.389h42.762c.954 0 1.74.355 2.36 1.067.62.711.93 1.56.93 2.545v26.925h9.582c1.239 0 2.288.492 3.146 1.478z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="130" height="130" xmlns="http://www.w3.org/2000/svg"><path d="M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z" stroke="#979797"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="110" xmlns="http://www.w3.org/2000/svg"><path d="M86.635 33.334c1.467 0 2.917.113 4.358.283C87.078 14.392 67.58.111 45.321.111 20.44.111.055 17.987.055 40.687c0 13.104 6.781 23.863 18.115 32.209l-4.527 14.352 15.82-8.364c5.666 1.182 10.207 2.395 15.858 2.395 1.42 0 2.829-.073 4.227-.189-.886-3.19-1.398-6.53-1.398-9.996 0-20.845 16.98-37.76 38.485-37.76zm-24.34-12.936c3.407 0 5.665 2.363 5.665 5.954 0 3.576-2.258 5.97-5.666 5.97-3.392 0-6.795-2.395-6.795-5.97 0-3.591 3.403-5.954 6.795-5.954zM30.616 32.323c-3.393 0-6.818-2.395-6.818-5.971 0-3.591 3.425-5.954 6.818-5.954 3.392 0 5.65 2.363 5.65 5.954 0 3.576-2.258 5.97-5.65 5.97z"/><path d="M127.945 70.52c0-19.075-18.108-34.623-38.448-34.623-21.537 0-38.5 15.548-38.5 34.623 0 19.108 16.963 34.622 38.5 34.622 4.508 0 9.058-1.2 13.584-2.395l12.414 7.167-3.404-11.923c9.087-7.184 15.854-16.712 15.854-27.471zm-50.928-5.97c-2.254 0-4.53-2.362-4.53-4.773 0-2.378 2.276-4.771 4.53-4.771 3.422 0 5.665 2.393 5.665 4.771 0 2.41-2.243 4.773-5.665 4.773zm24.897 0c-2.24 0-4.498-2.362-4.498-4.773 0-2.378 2.258-4.771 4.498-4.771 3.392 0 5.665 2.393 5.665 4.771 0 2.41-2.273 4.773-5.665 4.773z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M78.527 116.793c.178.008.348.024.527.024h40.233c4.711-.005 8.53-3.677 8.534-8.21V18.895c-.004-4.532-3.823-8.204-8.534-8.209H79.054c-.179 0-.353.016-.527.024V0L0 10.082v107.406l78.527 10.342v-11.037zm0-101.362c.174-.024.348-.052.527-.052h40.233c2.018 0 3.659 1.578 3.659 3.52v89.713c-.003 1.942-1.64 3.517-3.659 3.519H79.054c-.179 0-.353-.028-.527-.052V15.431zM30.262 75.757l-18.721-.46V72.37l11.3-16.673v-.148l-10.266.164v-4.51l17.504-.44v3.264L18.696 70.76v.144l11.566.176v4.678zm9.419.231l-5.823-.144V50.671l5.823-.144v25.461zm22.255-11.632c-2.168 1.922-5.353 2.76-9.02 2.736-.702.004-1.402-.04-2.097-.131v9.303l-5.997-.148V50.743c1.852-.352 4.473-.647 8.218-.743 3.838-.096 6.608.539 8.48 1.913 1.807 1.306 3.032 3.5 3.032 6.112s-.926 4.833-2.612 6.331h-.004zM53.36 54.45c-.856-.01-1.71.083-2.541.275v7.682c.523.116 1.167.152 2.06.152 3.301-.004 5.36-1.614 5.36-4.314 0-2.425-1.772-3.843-4.875-3.791l-.004-.004zm39.847-37.066h9.564v3.795h-9.564v-3.795zm-9.568 5.68h9.564v3.8h-9.564v-3.8zm9.568 6.216h9.564v3.799h-9.564V29.28zm0 12h9.564v3.794h-9.564V41.28zm-9.568-6.096h9.564v3.795h-9.564v-3.795zm9.472 47.064c2.512 0 4.921-.96 6.697-2.67 1.776-1.708 2.773-4.026 2.772-6.442l-1.748-15.263c0-5.033-2.492-9.112-7.725-9.112-5.232 0-7.72 4.079-7.72 9.112l-1.752 15.263c-.001 2.417.996 4.735 2.773 6.444 1.777 1.71 4.187 2.669 6.7 2.668h.003zm-3.135-16.75h6.27v12.743h-6.27V65.5z"/></svg> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import Vue from 'vue'; |
| | | import App from './App.vue'; |
| | | import router from './router'; |
| | | import store from './store'; |
| | | import Element from 'element-ui'; |
| | | import 'element-ui/lib/theme-chalk/index.css'; |
| | | import '@/styles/index.scss'; |
| | | import './icons'; |
| | | import './permission'; // è·¯ç±å¯¼èªå®å« |
| | | /** |
| | | * è§£å³è·¯ç±å°åæ¥é使£å¸¸è¿è¡ |
| | | * æ¤å¤çæ¹æ¡åªé对äºvue-router 3.0以ä¸çæ¬ |
| | | */ |
| | | import Router from 'vue-router'; |
| | | |
| | | const originalPush = Router.prototype.push; |
| | | Router.prototype.push = function push(location) { |
| | | return originalPush.call(this, location).catch(err => err); |
| | | }; |
| | | // import $ from "jquery"; |
| | | Vue.config.productionTip = false; |
| | | Vue.use(Element); |
| | | |
| | | //å è½½å¨ç» |
| | | import Vab from './utils/vab'; |
| | | Vue.use(Vab); |
| | | // Vue.use(Element, { |
| | | // size: Cookies.get('size') || 'medium', // set element-ui default size |
| | | // locale: enLang // å¦æä½¿ç¨ä¸æï¼æ é设置ï¼è¯·å é¤ |
| | | // }) |
| | | new Vue({ |
| | | router, |
| | | store, |
| | | render: h => h(App) |
| | | }).$mount('#app'); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import store from '@/store'; |
| | | |
| | | const { body } = document; |
| | | const WIDTH = 992; |
| | | |
| | | export default { |
| | | beforeMount() { |
| | | window.addEventListener('resize', this.$_resizeHandler); |
| | | }, |
| | | beforeDestroy() { |
| | | window.removeEventListener('resize', this.$_resizeHandler); |
| | | }, |
| | | mounted() { |
| | | const isMobile = this.$_isMobile(); |
| | | if (isMobile) { |
| | | store.dispatch('setting/togglesidebar', false); |
| | | } |
| | | }, |
| | | |
| | | methods: { |
| | | $_isMobile() { |
| | | |
| | | const rect = body.getBoundingClientRect(); |
| | | return rect.width - 1 < WIDTH; |
| | | }, |
| | | $_resizeHandler() { |
| | | const isMobile = this.$_isMobile(); |
| | | if (isMobile) { |
| | | store.dispatch('setting/togglesidebar', false); |
| | | } |
| | | } |
| | | } |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import { |
| | | debounce |
| | | } from '@/utils/debounce'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | myChart: null, |
| | | resizeHandler: null |
| | | }; |
| | | }, |
| | | computed: { |
| | | open() { |
| | | console.log(this.$store.state.setting.opened); |
| | | return this.$store.state.setting.opened; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.resizeHandler = debounce(() => { |
| | | if (this.myChart) { |
| | | this.myChart.resize(); |
| | | } |
| | | }, 100); |
| | | this.initResizeEvent(); |
| | | }, |
| | | |
| | | methods: { |
| | | //çå¬resize |
| | | initResizeEvent() { |
| | | window.addEventListener('resize', this.resizeHandler); |
| | | }, |
| | | //ç§»é¤resize |
| | | destroyResizeEvent() { |
| | | window.removeEventListener('resize', this.resizeHandler); |
| | | } |
| | | }, |
| | | |
| | | beforeDestroy() { |
| | | this.destroyResizeEvent(); |
| | | if (!this.myChart) { |
| | | return; |
| | | } |
| | | this.myChart.dispose(); |
| | | this.myChart.off('click'); |
| | | this.myChart = null; |
| | | }, |
| | | |
| | | activated() { |
| | | this.initResizeEvent(); |
| | | if (this.myChart) { |
| | | this.myChart.resize(); |
| | | } |
| | | }, |
| | | |
| | | deactivated() { |
| | | this.destroyResizeEvent(); |
| | | }, |
| | | watch: { |
| | | open() { |
| | | if (this.myChart) { |
| | | console.log(123); |
| | | this.myChart.resize(); |
| | | } |
| | | } |
| | | } |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import router from './router'; |
| | | import store from './store'; |
| | | import qs from 'qs'; |
| | | import axios from '@/utils/axios'; |
| | | import { |
| | | asyncRoutes, |
| | | baseRoute |
| | | } from '@/router'; |
| | | import NProgress from 'nprogress'; // progress bar |
| | | import 'nprogress/nprogress.css'; // progress bar style |
| | | import { |
| | | getCache, |
| | | setCache |
| | | } from '@/utils/sessionStorage'; |
| | | import getPageTitle from '@/utils/getPageTitle'; |
| | | const _import = require('./router/_import_production'); // è·åç»ä»¶çæ¹æ³ |
| | | const _mainImport = require('./router/_import_development'); |
| | | |
| | | import Layout from '@/Layout'; |
| | | |
| | | let getRouter = ''; // ç¨æ¥è·ååå°æ¿å°çè·¯ç± |
| | | NProgress.configure({ |
| | | showSpinner: false |
| | | }); // NProgress Configuration |
| | | let _this = this; |
| | | router.beforeEach(async (to, from, next) => { |
| | | document.title = to.meta.title + ' - æºè½åç«ä½åºç®¡çç³»ç»'; |
| | | NProgress.start(); |
| | | const isLogin = getCache('userInfo'); |
| | | if (to.path == '/Login') { |
| | | getRouter = ''; |
| | | |
| | | next(); |
| | | } else { |
| | | if (!JSON.stringify(isLogin)) { |
| | | getRouter = ''; |
| | | next('/Login'); |
| | | NProgress.done(); |
| | | } else { |
| | | if (store.state.permission.addRoutes.length > 0) { |
| | | NProgress.done(); |
| | | next(); |
| | | } else { |
| | | axios |
| | | .post( |
| | | '/Permission/GetUserRolePermission', |
| | | qs.stringify({ |
| | | roleName: isLogin.roleName, |
| | | type: 1 |
| | | }) |
| | | ) |
| | | .then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data || []; |
| | | let Didproject = null; |
| | | data.filter((item, index) => { |
| | | if (item.name == 'Didproject') { |
| | | Didproject = item; |
| | | Didproject.meta.affix = true; |
| | | return data.splice(index, 1); |
| | | } |
| | | }); |
| | | data.unshift(Didproject); |
| | | let baserouter = routerchildren(res.data); |
| | | |
| | | let layer = [{ |
| | | path: '/', |
| | | redirect: '/Didproject', |
| | | children: baserouter |
| | | }]; |
| | | |
| | | getRouter = layer; |
| | | routerGo(to, next); // æ§è¡è·¯ç±è·³è½¬æ¹æ³ |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // router. |
| | | //è¿æ»¤è·¯ç±ä¸çchildren |
| | | function routerchildren(basrouter) { |
| | | basrouter.filter(item => { |
| | | if (item.children == null) { |
| | | delete item.children; |
| | | } else if (item.children.length > 0) { |
| | | routerchildren(item.children); |
| | | } |
| | | return true; |
| | | }); |
| | | return basrouter; |
| | | } |
| | | |
| | | function routerGo(to, next) { |
| | | getRouter = filterAsyncRouter(getRouter); // è¿æ»¤è·¯ç± |
| | | |
| | | console.log(getRouter); |
| | | |
| | | setCache('baserouter', getRouter); |
| | | console.log(getRouter); |
| | | global.addRoutes = getRouter; // å°è·¯ç±æ°æ®ä¼ éç»å
¨å±åéï¼åä¾§è¾¹æ è忏²æå·¥ä½ |
| | | store.dispatch('permission/generateRoutes', getRouter); |
| | | router.addRoutes(getRouter); // å¨ææ·»å è·¯ç± |
| | | |
| | | next({ |
| | | ...to, |
| | | replace: true |
| | | }); |
| | | } |
| | | |
| | | function filterAsyncRouter(asyncRouterMap) { |
| | | // éååå°ä¼ æ¥çè·¯ç±å符串ï¼è½¬æ¢ä¸ºç»ä»¶å¯¹è±¡ |
| | | asyncRouterMap.forEach(route => { |
| | | if (route.path) { |
| | | if (route.path == '/') { |
| | | route.component = _mainImport('Layout'); |
| | | } else { |
| | | route.component = _import(route.path); |
| | | } |
| | | } else { |
| | | route.path = '/test'; |
| | | } |
| | | if (route.children && route.children.length > 0) { |
| | | route.children = filterAsyncRouter(route.children); |
| | | } |
| | | }); |
| | | |
| | | return asyncRouterMap; |
| | | } |
| | | router.afterEach(() => { |
| | | // finish progress bar |
| | | NProgress.done(); |
| | | }); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | const VueCDN = 'https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.min.js'; |
| | | const AxiosCDN = 'https://cdn.bootcdn.net/ajax/libs/axios/0.21.0/axios.min.js'; |
| | | const VueRouterCDN = 'https://cdn.bootcdn.net/ajax/libs/vue-router/3.2.0/vue-router.min.js'; |
| | | const VuexCDN = 'https://cdn.bootcdn.net/ajax/libs/vuex/3.5.1/vuex.min.js'; |
| | | |
| | | module.exports = { |
| | | VueCDN, |
| | | AxiosCDN, |
| | | VueRouterCDN, |
| | | VuexCDN |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // const salineLand = 'http://59.110.28.240:6080/arcgis/rest/services/YJD/YBSFQDK_2018_1_1/MapServer'; |
| | | |
| | | module.exports = { |
| | | // salineLand |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // module.exports = file => () => import('@' + file ) |
| | | module.exports = file => () => import(/* webpackChunkName: "chunkName" */ `@/${file}` ) |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // module.exports = file => () => import('@/views' + file + '/index.vue') |
| | | module.exports = file => () => import(/* webpackChunkName: "chunkName" */ `@/views${file}/index.vue`) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import Vue from 'vue'; |
| | | import VueRouter from 'vue-router'; |
| | | import BasRoute from './modules/base'; |
| | | import Layout from '@/Layout'; |
| | | Vue.use(VueRouter); |
| | | |
| | | export const baseRoute = [{ |
| | | name: 'login', |
| | | path: '/login', |
| | | meta: { |
| | | title: 'ç»å½' |
| | | }, |
| | | component: () => import('@/views/login/index') |
| | | }, |
| | | { |
| | | name: 'home', |
| | | path: '/home', |
| | | component: () => import('@/views/Home/index') |
| | | }, |
| | | { |
| | | name: 'taskbeat', |
| | | path: '/taskbeat', |
| | | meta: { |
| | | title: 'ä»»å¡èæ' |
| | | }, |
| | | component: () => import('@/views/dataview/taskbeat.vue') |
| | | }, |
| | | { |
| | | name: 'classified', |
| | | path: '/classified', |
| | | meta: { |
| | | title: 'åç±»ç»è®¡' |
| | | }, |
| | | component: () => import('@/views/dataview/classified.vue') |
| | | }, |
| | | { |
| | | name: 'movablerate', |
| | | path: '/movablerate', |
| | | meta: { |
| | | title: '设å¤å¯å¨' |
| | | }, |
| | | component: () => import('@/views/dataview/movablerate.vue') |
| | | }, |
| | | { |
| | | name: 'product', |
| | | path: '/product', |
| | | meta: { |
| | | title: 'å¨å¶åèµé' |
| | | }, |
| | | component: () => import('@/views/dataview/product.vue') |
| | | }, |
| | | { |
| | | name: 'rateequipment', |
| | | path: '/rateequipment', |
| | | meta: { |
| | | title: '设å¤å©ç¨ç' |
| | | }, |
| | | component: () => import('@/views/dataview/rateequipment.vue') |
| | | }, |
| | | { |
| | | name: 'tasktime', |
| | | path: '/tasktime', |
| | | meta: { |
| | | title: '平忶é¿' |
| | | }, |
| | | component: () => import('@/views/dataview/tasktime.vue') |
| | | }, |
| | | { |
| | | name: 'turnover', |
| | | path: '/turnover', |
| | | meta: { |
| | | title: 'å¶ä»¶å¨è½¬' |
| | | }, |
| | | component: () => import('@/views/dataview/turnover.vue') |
| | | }, |
| | | { |
| | | name: 'warehouse', |
| | | path: '/warehouse', |
| | | meta: { |
| | | title: 'è´§æ ¼å©ç¨ç' |
| | | }, |
| | | component: () => import('@/views/dataview/warehouse.vue') |
| | | }, |
| | | { |
| | | name: 'statelibrary', |
| | | path: '/statelibrary', |
| | | meta: { |
| | | title: 'ç«åºæ»è§' |
| | | }, |
| | | component: () => import('@/views/dataview/statelibrary.vue') |
| | | }, |
| | | { |
| | | name: 'workpiece', |
| | | path: '/workpiece', |
| | | meta: { |
| | | title: 'å¶ä»¶æ»è§' |
| | | }, |
| | | component: () => import('@/views/dataview/workpiece.vue') |
| | | }, |
| | | { |
| | | name: 'output', |
| | | path: '/output', |
| | | meta: { |
| | | title: 'é¶ä»¶åºå
¥åº' |
| | | }, |
| | | component: () => import('@/views/dataview/output.vue') |
| | | } |
| | | ]; |
| | | |
| | | export const asyncRoutes = [{ |
| | | path: '/', |
| | | component: Layout, |
| | | redirect: '/Didproject', |
| | | children: BasRoute |
| | | }]; |
| | | // const router = new VueRouter({ |
| | | // // base: process.env.BASE_URL, |
| | | // routes:baseRoute |
| | | // }); |
| | | // const router = new VueRouter({ |
| | | // // base: process.env.BASE_URL, |
| | | // routes:baseRoute |
| | | // }); |
| | | const createRouter = function () { |
| | | return new VueRouter({ |
| | | routes: baseRoute |
| | | }); |
| | | }; |
| | | const router = createRouter(); |
| | | export function resetRouter() { |
| | | router.matcher = createRouter().matcher; |
| | | } |
| | | //éå®åæ¶æ¥éï¼ç¨è¿ä¸ªä¸è®©ä»æ¥é |
| | | const originalPush = VueRouter.prototype.push; |
| | | VueRouter.prototype.push = function push(location, onResolve, onReject) { |
| | | if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject); |
| | | return originalPush.call(this, location).catch(err => err); |
| | | }; |
| | | |
| | | export default router; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import { role } from '@/components/tableContainer/tableHead' |
| | | |
| | | const baseRoute=[ |
| | | { |
| | | path:'/Didproject', |
| | | name:'Didproject', |
| | | meta:{ |
| | | title:'é¦é¡µ', |
| | | icon:'homePage', |
| | | roles: [], |
| | | affix: true |
| | | }, |
| | | component:()=>import('@/views/Didproject/index') |
| | | }, |
| | | { |
| | | path: '/inbound', |
| | | name: 'inbound', |
| | | meta: { |
| | | title: 'å
¥åº', |
| | | icon: 'inbound', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/inbound/index'), |
| | | children: [ |
| | | { |
| | | path: '/inbound/purchase', |
| | | name: 'purchase', |
| | | meta: { |
| | | title: 'å
¥åºç®¡ç', |
| | | icon: '', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/inbound/purchase/index'), |
| | | children: [ |
| | | { |
| | | path: '/inbound/purchase/quotation', |
| | | name: 'quotation', |
| | | meta: { |
| | | title: 'å²åç产计å', |
| | | icon: '', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/inbound/purchase/quotation/index'), |
| | | }, |
| | | { |
| | | path: '/inbound/purchase/enter', |
| | | name: 'enter', |
| | | meta: { |
| | | title: 'ç»çå
¥åº', |
| | | icon: '', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/inbound/purchase/enter/index'), |
| | | }, |
| | | { |
| | | path: '/inbound/purchase/intype', |
| | | name: 'intype', |
| | | meta: { |
| | | title: 'å
¥åºç±»å', |
| | | icon: '', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/inbound/purchase/intype/index'), |
| | | }, |
| | | ] |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path: '/outbound', |
| | | name: 'outbound', |
| | | meta: { |
| | | title: 'åºåº', |
| | | icon: 'inbound', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/outbound/index'), |
| | | children: [ |
| | | { |
| | | path: '/outbound/regulator', |
| | | name: 'regulator', |
| | | meta: { |
| | | title: 'åºåºç®¡ç', |
| | | icon: '', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/outbound/regulator/index'), |
| | | children: [ |
| | | { |
| | | path: '/outbound/regulator/plant', |
| | | name: 'plant', |
| | | meta: { |
| | | title: 'åºåºè®¡å', |
| | | icon: '', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/outbound/regulator/plant/index'), |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path:'/task', |
| | | name:'task', |
| | | meta:{ |
| | | title:'ä»»å¡', |
| | | icon:'storage', |
| | | roles: [], |
| | | }, |
| | | component: () => import('@/views/task/index'), |
| | | children: [ |
| | | |
| | | { |
| | | path:'/task/maintask', |
| | | name:'maintask', |
| | | meta:{ |
| | | title:'主任å¡', |
| | | icon:'', |
| | | roles: [] |
| | | }, |
| | | component: () => import('@/views/task/maintask/index'), |
| | | |
| | | }, |
| | | { |
| | | path: '/task/forklifttasks', |
| | | name:'forklifttasks', |
| | | meta:{ |
| | | title:'å车任å¡', |
| | | icon:'', |
| | | roles: [], |
| | | }, |
| | | component:()=>import('@/views/task/forklifttasks/index') |
| | | |
| | | }, |
| | | { |
| | | path: '/task/taskrecord', |
| | | name:'taskrecord', |
| | | meta:{ |
| | | title:'ä»»å¡è®°å½', |
| | | icon:'', |
| | | roles: [], |
| | | }, |
| | | component:()=>import('@/views/task/taskrecord/index') |
| | | |
| | | }, |
| | | { |
| | | path: '/task/taskdocuments', |
| | | name:'taskdocuments', |
| | | meta:{ |
| | | title:'ä»»å¡åæ®', |
| | | icon:'', |
| | | roles: [], |
| | | }, |
| | | component:()=>import('@/views/task/taskdocuments/index') |
| | | |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | path:'/storage', |
| | | name:'storage', |
| | | meta:{ |
| | | title:'ä»å¨', |
| | | icon:'storage', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/storage/index'), |
| | | children: [ |
| | | { |
| | | path:'/storage/setting', |
| | | name:'user', |
| | | meta:{ |
| | | title:'åºç¡è®¾ç½®', |
| | | icon:'', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/storage/setting/index'), |
| | | children: [ |
| | | |
| | | { |
| | | path:'/storage/setting/position', |
| | | name:'position', |
| | | meta:{ |
| | | title:'åºä½ç®¡ç', |
| | | icon:'', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/storage/setting/position/index'), |
| | | }, |
| | | { |
| | | path:'/storage/setting/palte', |
| | | name:'palte', |
| | | meta:{ |
| | | title:'å¨å
·ç®¡ç', |
| | | icon:'', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/storage/setting/palte/index'), |
| | | }, |
| | | // { |
| | | // path:'/storage/setting/storage-area', |
| | | // name:'storage-area', |
| | | // meta:{ |
| | | // title:'åºåºç®¡ç', |
| | | // icon:'', |
| | | // roles:[] |
| | | // }, |
| | | // component: () => import('@/views/storage/setting/storage-area/index'), |
| | | // }, |
| | | { |
| | | path:'/storage/setting/choose', |
| | | name:'choose', |
| | | meta:{ |
| | | title:'é¶ä»¶ç®¡ç', |
| | | icon:'', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/storage/setting/choose/index'), |
| | | }, |
| | | { |
| | | path:'/storage/setting/cass-line', |
| | | name:'cass-line', |
| | | meta:{ |
| | | title:'ç线管ç', |
| | | icon:'', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/storage/setting/cass-line/index'), |
| | | }, |
| | | { |
| | | path:'/storage/setting/forklift', |
| | | name:'forklift', |
| | | meta:{ |
| | | title:'å车管ç', |
| | | icon:'', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/storage/setting/forklift/index'), |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | path:'/storage/base', |
| | | name:'base', |
| | | meta:{ |
| | | title:'åºåç¶åµ', |
| | | icon:'', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/storage/base/index'), |
| | | children: [ |
| | | { |
| | | path:'/storage/base/inventory', |
| | | name:'inventory', |
| | | meta:{ |
| | | title:'åºå管ç', |
| | | icon:'', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/storage/base/inventory/index'), |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path: '/basicInfo', |
| | | name: 'basicInfo', |
| | | meta: { |
| | | title: "设å¤", |
| | | icon:'storage', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/basicInfo/index'), |
| | | children: [ |
| | | { |
| | | path: '/basicInfo/base', |
| | | name: 'base', |
| | | meta: { |
| | | title: '设å¤ç®¡ç', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/basicInfo/base/index'), |
| | | children: [ |
| | | { |
| | | path: '/basicInfo/base/stacker', |
| | | name: 'stacker', |
| | | meta: { |
| | | title: '设å¤', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/basicInfo/base/stacker/index') |
| | | |
| | | }, |
| | | { |
| | | path: '/basicInfo/base/warning', |
| | | name: 'warning', |
| | | meta: { |
| | | title: 'æ¥è¦ä¿¡æ¯', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/basicInfo/base/warning/index') |
| | | |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | path:'/System', |
| | | name:'System', |
| | | meta:{ |
| | | title:'ç³»ç»', |
| | | icon:'sys', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/system/index'), |
| | | children: [ |
| | | { |
| | | path:'/System/user', |
| | | name:'user', |
| | | meta:{ |
| | | title:'ç¨æ·åæé', |
| | | icon:'', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/system/user/index'), |
| | | children: [ |
| | | { |
| | | path:'/System/user/manage', |
| | | name:'manage', |
| | | meta:{ |
| | | title:'ç¨æ·ç®¡ç', |
| | | icon:'', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/system/user/manage/index'), |
| | | }, |
| | | { |
| | | path:'/System/user/dept', |
| | | name:'dept', |
| | | meta:{ |
| | | title:'é¨é¨ç®¡ç', |
| | | icon:'', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/system/user/dept/index'), |
| | | }, |
| | | { |
| | | path:'/System/user/role', |
| | | name:'role', |
| | | meta:{ |
| | | title:'è§è²ç®¡ç', |
| | | icon:'', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/system/user/role/index'), |
| | | }, |
| | | { |
| | | path:'/System/user/roleAuth', |
| | | name:'roleAuth', |
| | | meta:{ |
| | | title:'è§è²æé设置', |
| | | icon:'', |
| | | roles:[] |
| | | }, |
| | | component: () => import('@/views/system/user/roleAuth/index'), |
| | | }, |
| | | ] |
| | | } |
| | | ] |
| | | |
| | | }, |
| | | |
| | | |
| | | |
| | | ] |
| | | export default baseRoute |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * @Author : gy |
| | | * @Date : 2020-06-27 20:27:39 |
| | | * @LastEditors : gy |
| | | * @LastEditTime : 2020-06-27 20:49:59 |
| | | * @FilePath : /code/src/settings.js |
| | | * @Description : é¡µé¢æè¿° |
| | | */ |
| | | module.exports = { |
| | | title: 'æºè½åç«ä½åºç®¡çç³»ç»', |
| | | |
| | | /** |
| | | * @type {boolean} true | false |
| | | * @description Whether show the settings right-panel |
| | | */ |
| | | showSettings: false, |
| | | |
| | | /** |
| | | * @type {boolean} true | false |
| | | * @description Whether need tagsView |
| | | */ |
| | | tagsView: false, |
| | | |
| | | /** |
| | | * @type {boolean} true | false |
| | | * @description Whether fix the header |
| | | */ |
| | | fixedHeader: false, |
| | | |
| | | /** |
| | | * @type {boolean} true | false |
| | | * @description Whether show the logo in sidebar |
| | | */ |
| | | sidebarLogo: false, |
| | | |
| | | /** |
| | | * @type {string | array} 'production' | ['production', 'development'] |
| | | * @description Need show err logs component. |
| | | * The default is only used in the production env |
| | | * If you want to also use it in dev, you can pass ['production', 'development'] |
| | | */ |
| | | errorLog: 'production' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | const getters = { |
| | | token: state => state.user.token, |
| | | sidebar: state => state.setting.opened, |
| | | visitedViews: state => state.tagsView.visitedViews, |
| | | cachedViews: state => state.tagsView.cachedViews, |
| | | } |
| | | export default getters |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import Vue from "vue"; |
| | | import Vuex from "vuex"; |
| | | import getters from './getters' |
| | | |
| | | Vue.use(Vuex); |
| | | |
| | | // https://webpack.js.org/guides/dependency-management/#requirecontext |
| | | const modulesFiles = require.context('./modules', true, /\.js$/) |
| | | |
| | | // you do not need `import app from './modules/app'` |
| | | // it will auto require all vuex module from modules file |
| | | const modules = modulesFiles.keys().reduce((modules, modulePath) => { |
| | | // set './app.js' => 'app' |
| | | const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1') |
| | | const value = modulesFiles(modulePath) |
| | | modules[moduleName] = value.default |
| | | return modules |
| | | }, {}) |
| | | |
| | | |
| | | const store = new Vuex.Store({ |
| | | modules, |
| | | getters |
| | | }) |
| | | |
| | | export default store |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import { asyncRoutes, baseRoute } from '@/router' |
| | | import { getCache,setCache } from '@/utils/sessionStorage'; |
| | | function hasPermission(roles, route) { |
| | | if (route.meta && route.meta.roles) { |
| | | return roles.some(role => route.meta.roles.includes(role)) |
| | | } else { |
| | | return true |
| | | } |
| | | } |
| | | |
| | | export function filterAsyncRoutes(routes, roles) { |
| | | const res = [] |
| | | |
| | | routes.forEach(route => { |
| | | const tmp = { ...route } |
| | | if (hasPermission(roles, tmp)) { |
| | | if (tmp.children) { |
| | | tmp.children = filterAsyncRoutes(tmp.children, roles) |
| | | } |
| | | res.push(tmp) |
| | | } |
| | | }) |
| | | |
| | | return res |
| | | } |
| | | |
| | | const state = { |
| | | routes: [], |
| | | addRoutes: [] |
| | | } |
| | | |
| | | const mutations = { |
| | | SET_ROUTES: (state, routes) => { |
| | | state.addRoutes = routes |
| | | state.routes = baseRoute.concat(routes) |
| | | } |
| | | } |
| | | |
| | | const actions = { |
| | | generateRoutes({ commit }, roles) { |
| | | |
| | | |
| | | commit('SET_ROUTES', roles) |
| | | |
| | | } |
| | | } |
| | | |
| | | export default { |
| | | namespaced: true, |
| | | state, |
| | | mutations, |
| | | actions |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import {getCache,setCache} from '@/utils/sessionStorage' |
| | | const state ={ |
| | | opened:getCache('SIDEBAR_OPENED')?JSON.parse(getCache('SIDEBAR_OPENED')):false |
| | | } |
| | | const mutations={ |
| | | TOGGLE_SIDEBAR:state=>{ |
| | | state.opened =!state.opened |
| | | setCache('SIDEBAR_OPENED',state.opened) |
| | | } |
| | | } |
| | | const actions={ |
| | | togglesidebar({ commit }) { |
| | | |
| | | commit('TOGGLE_SIDEBAR') |
| | | } |
| | | } |
| | | export default{ |
| | | namespaced: true, |
| | | state, |
| | | mutations, |
| | | actions |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | const state = { |
| | | visitedViews: [], |
| | | cachedViews: [] |
| | | }; |
| | | |
| | | const mutations = { |
| | | ADD_VISITED_VIEW: (state, view) => { |
| | | if (state.visitedViews.some(v => v.path === view.path)) return; |
| | | state.visitedViews.push( |
| | | Object.assign({}, view, { |
| | | title: view.meta.title || 'no-name' |
| | | }) |
| | | ); |
| | | }, |
| | | ADD_CACHED_VIEW: (state, view) => { |
| | | if (state.cachedViews.includes(view.name)) return; |
| | | if (!view.meta.noCache) { |
| | | state.cachedViews.push(view.name); |
| | | } |
| | | }, |
| | | |
| | | DEL_VISITED_VIEW: (state, view) => { |
| | | for (const [i, v] of state.visitedViews.entries()) { |
| | | if (v.path === view.path) { |
| | | state.visitedViews.splice(i, 1); |
| | | break; |
| | | } |
| | | } |
| | | }, |
| | | DEL_CACHED_VIEW: (state, view) => { |
| | | const index = state.cachedViews.indexOf(view.name); |
| | | index > -1 && state.cachedViews.splice(index, 1); |
| | | }, |
| | | |
| | | DEL_OTHERS_VISITED_VIEWS: (state, view) => { |
| | | state.visitedViews = state.visitedViews.filter(v => { |
| | | return v.meta.affix || v.path === view.path; |
| | | }); |
| | | }, |
| | | DEL_OTHERS_CACHED_VIEWS: (state, view) => { |
| | | const index = state.cachedViews.indexOf(view.name); |
| | | if (index > -1) { |
| | | state.cachedViews = state.cachedViews.slice(index, index + 1); |
| | | } else { |
| | | // if index = -1, there is no cached tags |
| | | state.cachedViews = []; |
| | | } |
| | | }, |
| | | |
| | | DEL_ALL_VISITED_VIEWS: state => { |
| | | // keep affix tags |
| | | const affixTags = state.visitedViews.filter(tag => tag.meta.affix); |
| | | state.visitedViews = affixTags; |
| | | }, |
| | | DEL_ALL_CACHED_VIEWS: state => { |
| | | state.cachedViews = []; |
| | | }, |
| | | |
| | | UPDATE_VISITED_VIEW: (state, view) => { |
| | | for (let v of state.visitedViews) { |
| | | if (v.path === view.path) { |
| | | v = Object.assign(v, view); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | const actions = { |
| | | addView({ |
| | | dispatch |
| | | }, view) { |
| | | dispatch('addVisitedView', view); |
| | | dispatch('addCachedView', view); |
| | | }, |
| | | addVisitedView({ |
| | | commit |
| | | }, view) { |
| | | commit('ADD_VISITED_VIEW', view); |
| | | }, |
| | | addCachedView({ |
| | | commit |
| | | }, view) { |
| | | commit('ADD_CACHED_VIEW', view); |
| | | }, |
| | | |
| | | delView({ |
| | | dispatch, |
| | | state |
| | | }, view) { |
| | | return new Promise(resolve => { |
| | | dispatch('delVisitedView', view); |
| | | dispatch('delCachedView', view); |
| | | resolve({ |
| | | visitedViews: [...state.visitedViews], |
| | | cachedViews: [...state.cachedViews] |
| | | }); |
| | | }); |
| | | }, |
| | | delVisitedView({ |
| | | commit, |
| | | state |
| | | }, view) { |
| | | return new Promise(resolve => { |
| | | commit('DEL_VISITED_VIEW', view); |
| | | resolve([...state.visitedViews]); |
| | | }); |
| | | }, |
| | | delCachedView({ |
| | | commit, |
| | | state |
| | | }, view) { |
| | | return new Promise(resolve => { |
| | | commit('DEL_CACHED_VIEW', view); |
| | | resolve([...state.cachedViews]); |
| | | }); |
| | | }, |
| | | |
| | | delOthersViews({ |
| | | dispatch, |
| | | state |
| | | }, view) { |
| | | return new Promise(resolve => { |
| | | dispatch('delOthersVisitedViews', view); |
| | | dispatch('delOthersCachedViews', view); |
| | | resolve({ |
| | | visitedViews: [...state.visitedViews], |
| | | cachedViews: [...state.cachedViews] |
| | | }); |
| | | }); |
| | | }, |
| | | delOthersVisitedViews({ |
| | | commit, |
| | | state |
| | | }, view) { |
| | | return new Promise(resolve => { |
| | | commit('DEL_OTHERS_VISITED_VIEWS', view); |
| | | resolve([...state.visitedViews]); |
| | | }); |
| | | }, |
| | | delOthersCachedViews({ |
| | | commit, |
| | | state |
| | | }, view) { |
| | | return new Promise(resolve => { |
| | | commit('DEL_OTHERS_CACHED_VIEWS', view); |
| | | resolve([...state.cachedViews]); |
| | | }); |
| | | }, |
| | | |
| | | delAllViews({ |
| | | dispatch, |
| | | state |
| | | }, view) { |
| | | return new Promise(resolve => { |
| | | dispatch('delAllVisitedViews', view); |
| | | dispatch('delAllCachedViews', view); |
| | | resolve({ |
| | | visitedViews: [...state.visitedViews], |
| | | cachedViews: [...state.cachedViews] |
| | | }); |
| | | }); |
| | | }, |
| | | delAllVisitedViews({ |
| | | commit, |
| | | state |
| | | }) { |
| | | return new Promise(resolve => { |
| | | commit('DEL_ALL_VISITED_VIEWS'); |
| | | resolve([...state.visitedViews]); |
| | | }); |
| | | }, |
| | | delAllCachedViews({ |
| | | commit, |
| | | state |
| | | }) { |
| | | return new Promise(resolve => { |
| | | commit('DEL_ALL_CACHED_VIEWS'); |
| | | resolve([...state.cachedViews]); |
| | | }); |
| | | }, |
| | | |
| | | updateVisitedView({ |
| | | commit |
| | | }, view) { |
| | | commit('UPDATE_VISITED_VIEW', view); |
| | | } |
| | | }; |
| | | |
| | | export default { |
| | | namespaced: true, |
| | | state, |
| | | mutations, |
| | | actions |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import { login } from '@/api/register' |
| | | import {resetRouter } from '@/router'; |
| | | import { getCache, setCache, removeAll } from '@/utils/sessionStorage' |
| | | // import { reject, resolve } from 'core-js/fn/promise' |
| | | import baserouter from '@/router/modules/base' |
| | | |
| | | const state = { |
| | | token: getCache(), |
| | | name: '', |
| | | avatar: '', |
| | | introduction: '', |
| | | roles: [] |
| | | } |
| | | |
| | | const mutations={ |
| | | SET_TOKEN: (state, token) => { |
| | | state.token = token |
| | | }, |
| | | } |
| | | |
| | | const actions={ |
| | | login({},userInfo){ |
| | | const {username,password}=userInfo |
| | | return new Promise((resolve, reject) => { |
| | | login({ userName: username, password: password }).then(res=>{ |
| | | |
| | | // setCache('baserouter',baserouter) |
| | | resolve(res) |
| | | }) |
| | | |
| | | }) |
| | | }, |
| | | logout(){ |
| | | return new Promise((resolve,reject)=>{ |
| | | removeAll() |
| | | resetRouter(); |
| | | resolve() |
| | | }) |
| | | } |
| | | } |
| | | export default { |
| | | namespaced: true, |
| | | state, |
| | | mutations, |
| | | actions |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | .el-menu { |
| | | // background-color: unset !important; |
| | | border-right: unset !important; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | @import './variables.scss'; |
| | | @import './sidebar.scss'; |
| | | @import './elemen-ui.scss'; |
| | | @import './transition.scss'; |
| | | @import './innner-circles.scss'; |
| | | |
| | | body { |
| | | height: 100%; |
| | | margin: 0; |
| | | -moz-osx-font-smoothing: grayscale; |
| | | -webkit-font-smoothing: antialiased; |
| | | text-rendering: optimizeLegibility; |
| | | font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | html { |
| | | height: 100%; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | #app { |
| | | height: 100%; |
| | | } |
| | | |
| | | @font-face { |
| | | font-family: time_new_Roma; |
| | | src: url(../assets//css/TimesNewRomanPSMT24163565.ttf); |
| | | } |
| | | |
| | | p { |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | |
| | | .height { |
| | | height: 100%; |
| | | } |
| | | |
| | | .height80px { |
| | | height: 90px; |
| | | } |
| | | |
| | | .height97 { |
| | | height: 97% |
| | | } |
| | | |
| | | .height99 { |
| | | height: 99%; |
| | | } |
| | | |
| | | .height94 { |
| | | height: 94%; |
| | | } |
| | | |
| | | .height92 { |
| | | height: 92%; |
| | | } |
| | | |
| | | .height82 { |
| | | height: 82%; |
| | | } |
| | | |
| | | .height74 { |
| | | height: 74%; |
| | | } |
| | | |
| | | .height57 { |
| | | height: 57%; |
| | | } |
| | | |
| | | .height65 { |
| | | height: 65%; |
| | | } |
| | | |
| | | .height30 { |
| | | height: 30%; |
| | | } |
| | | |
| | | .height45 { |
| | | height: 45%; |
| | | } |
| | | |
| | | .height48 { |
| | | height: 48%; |
| | | } |
| | | |
| | | .height250 { |
| | | height: 250px; |
| | | } |
| | | |
| | | .height-calc { |
| | | height: calc(100% - 65px); |
| | | } |
| | | |
| | | .height-calc55 { |
| | | height: calc(100% - 55px); |
| | | } |
| | | |
| | | .height-calc40 { |
| | | height: calc(100% - 40px); |
| | | } |
| | | |
| | | .applyheight { |
| | | height: calc(100% - 120px); |
| | | } |
| | | |
| | | .height-calc90 { |
| | | height: calc(100% - 100px); |
| | | } |
| | | |
| | | .height-calc190 { |
| | | height: calc(100% - 190px); |
| | | } |
| | | |
| | | .height-calc280 { |
| | | height: calc(100% - 280px); |
| | | } |
| | | |
| | | .height-calc300 { |
| | | height: calc(100% - 300px); |
| | | |
| | | } |
| | | |
| | | .heightclacimport { |
| | | height: calc(100% - 27px) !important; |
| | | } |
| | | |
| | | .minheight { |
| | | min-height: 1rem; |
| | | } |
| | | |
| | | .width { |
| | | width: 100%; |
| | | } |
| | | |
| | | .width120 { |
| | | width: 120px; |
| | | } |
| | | |
| | | .width60 { |
| | | width: 60px; |
| | | } |
| | | |
| | | .width7rem { |
| | | width: 7rem; |
| | | } |
| | | |
| | | .width20 { |
| | | width: 20%; |
| | | } |
| | | |
| | | .width80 { |
| | | width: 80%; |
| | | } |
| | | |
| | | .width85 { |
| | | width: 85%; |
| | | } |
| | | |
| | | .widthimportant { |
| | | width: 100% !important; |
| | | } |
| | | |
| | | .width98 { |
| | | width: 98%; |
| | | } |
| | | |
| | | .width99 { |
| | | width: 99%; |
| | | } |
| | | |
| | | .width96 { |
| | | width: 96%; |
| | | } |
| | | |
| | | .width94 { |
| | | width: 94%; |
| | | } |
| | | |
| | | .width90 { |
| | | width: 90%; |
| | | } |
| | | |
| | | .width25 { |
| | | width: 25%; |
| | | } |
| | | |
| | | .width24 { |
| | | width: 24%; |
| | | } |
| | | |
| | | .width20 { |
| | | width: 20%; |
| | | } |
| | | |
| | | .width10 { |
| | | width: 10%; |
| | | } |
| | | |
| | | .width12 { |
| | | width: 12%; |
| | | } |
| | | |
| | | .width15 { |
| | | width: 15%; |
| | | } |
| | | |
| | | .width30 { |
| | | width: 30%; |
| | | } |
| | | |
| | | .width35 { |
| | | width: 35%; |
| | | } |
| | | |
| | | .width45 { |
| | | width: 45%; |
| | | } |
| | | |
| | | .width40 { |
| | | width: 40%; |
| | | } |
| | | |
| | | .width50 { |
| | | width: 50%; |
| | | } |
| | | |
| | | .width55 { |
| | | width: 55%; |
| | | } |
| | | |
| | | .width65 { |
| | | width: 65%; |
| | | } |
| | | |
| | | .width60 { |
| | | width: 60%; |
| | | } |
| | | |
| | | .width70 { |
| | | width: 70%; |
| | | } |
| | | |
| | | .width78 { |
| | | width: 78%; |
| | | } |
| | | |
| | | .inportantwidth70 { |
| | | width: 70% !important; |
| | | } |
| | | |
| | | .relative { |
| | | position: relative; |
| | | } |
| | | |
| | | .absolute { |
| | | position: absolute; |
| | | } |
| | | |
| | | .transformtopleft { |
| | | top: 50%; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | } |
| | | |
| | | .transformtopleft12 { |
| | | top: 12%; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | } |
| | | |
| | | .fixed { |
| | | position: fixed; |
| | | } |
| | | |
| | | .flex { |
| | | display: flex; |
| | | } |
| | | |
| | | .flex-sub { |
| | | flex: 1; |
| | | } |
| | | |
| | | .flex-auto { |
| | | flex: auto; |
| | | } |
| | | |
| | | .flex-direction { |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .flex-column-reverse { |
| | | flex-direction: column-reverse; |
| | | } |
| | | |
| | | .flex-wrap { |
| | | flex-wrap: wrap; |
| | | } |
| | | |
| | | .align-start { |
| | | align-items: flex-start; |
| | | } |
| | | |
| | | .align-baseline { |
| | | align-items: baseline; |
| | | } |
| | | |
| | | .align-end { |
| | | align-items: flex-end; |
| | | } |
| | | |
| | | .align-center { |
| | | align-items: center; |
| | | } |
| | | |
| | | .justify-start { |
| | | justify-content: flex-start; |
| | | } |
| | | |
| | | .justify-end { |
| | | justify-content: flex-end; |
| | | } |
| | | |
| | | .justify-center { |
| | | justify-content: center; |
| | | } |
| | | |
| | | .justify-between { |
| | | justify-content: space-between; |
| | | } |
| | | |
| | | .justify-around { |
| | | justify-content: space-around; |
| | | } |
| | | |
| | | .margin-auto { |
| | | margin: auto; |
| | | } |
| | | |
| | | .margin4auto { |
| | | margin: 4px auto; |
| | | } |
| | | |
| | | .margin50 { |
| | | margin: 0 25px 0 50px; |
| | | } |
| | | |
| | | .margin-top10px { |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .margin-top2 { |
| | | margin-top: 2%; |
| | | } |
| | | |
| | | .margin-top4 { |
| | | margin-top: 4%; |
| | | } |
| | | |
| | | .margin-top15 { |
| | | margin-top: 15%; |
| | | } |
| | | |
| | | .margin-bottom { |
| | | margin-bottom: 2%; |
| | | } |
| | | |
| | | .margin-left { |
| | | margin-left: 10px; |
| | | } |
| | | |
| | | .margin-right5px { |
| | | margin-right: 5px; |
| | | } |
| | | |
| | | .margin-right { |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | .margin-right15 { |
| | | margin-right: 15px; |
| | | } |
| | | |
| | | .margin-right40 { |
| | | margin-right: 40px; |
| | | } |
| | | |
| | | .margintopbot { |
| | | margin: 10px auto; |
| | | } |
| | | |
| | | .margin2 { |
| | | margin: 2% auto; |
| | | } |
| | | |
| | | .padding10 { |
| | | padding: 10px; |
| | | } |
| | | |
| | | .paddingtopbottom { |
| | | padding: 10px 0; |
| | | } |
| | | |
| | | .padding1016 { |
| | | padding: 10px 16px; |
| | | } |
| | | |
| | | .padding1020 { |
| | | padding: 10px 20px; |
| | | } |
| | | |
| | | .padding2010 { |
| | | padding: 20px 10px; |
| | | } |
| | | |
| | | .padding-top2 { |
| | | padding-top: 2px; |
| | | } |
| | | |
| | | .padding-top10 { |
| | | padding-top: 10px; |
| | | } |
| | | |
| | | .paddingbottom { |
| | | padding-bottom: 6px; |
| | | } |
| | | |
| | | .padding-right { |
| | | padding-right: 10px; |
| | | } |
| | | |
| | | .padding-left { |
| | | padding-left: 10px; |
| | | } |
| | | |
| | | .paddingleft1rem { |
| | | padding-left: 1rem; |
| | | } |
| | | |
| | | .overflow { |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .overflowauto { |
| | | overflow: auto; |
| | | } |
| | | |
| | | .overflowy-auto { |
| | | overflow: hidden; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .relative { |
| | | position: relative; |
| | | } |
| | | |
| | | .absolute { |
| | | position: absolute; |
| | | } |
| | | |
| | | .fixed { |
| | | position: fixed; |
| | | } |
| | | |
| | | // å页 |
| | | .elpagin { |
| | | text-align: left; |
| | | margin-top: 5px; |
| | | } |
| | | |
| | | .boxshadow { |
| | | box-shadow: 0px 5px 10px #eaedef; |
| | | } |
| | | |
| | | .boxshadow4 { |
| | | box-shadow: 0px 0px 4px #c2cbd4 |
| | | } |
| | | |
| | | .boxshadow69b0f7 { |
| | | box-shadow: 0px 0px 4px #3b5371 |
| | | } |
| | | |
| | | .borderbottom { |
| | | border-bottom: 1px solid #ebedef; |
| | | } |
| | | |
| | | .borderbottom345 { |
| | | border-bottom: 1px solid #c2cbd4; |
| | | } |
| | | |
| | | .border { |
| | | border: 1px solid #ebedef; |
| | | } |
| | | |
| | | .border2 { |
| | | border: 1px solid #91a2b3; |
| | | } |
| | | |
| | | .borderdashed { |
| | | border: 1px dashed #64a2e0; |
| | | } |
| | | |
| | | .borderradius { |
| | | border-radius: 4px; |
| | | } |
| | | |
| | | .background-fff { |
| | | background: #fff; |
| | | } |
| | | |
| | | .backgroundF2F2F2 { |
| | | background: #F2F2F2; |
| | | } |
| | | |
| | | .backgroundrgb { |
| | | background: rgb(7, 37, 73); |
| | | } |
| | | |
| | | .backgroundecf5ff { |
| | | background-color: #ecf5ff; |
| | | } |
| | | |
| | | .color-973BA5 { |
| | | color: #973BA5; |
| | | } |
| | | |
| | | .colorF56C6C { |
| | | color: #F56C6C; |
| | | } |
| | | |
| | | .colorfff { |
| | | color: #fff; |
| | | } |
| | | |
| | | .color409EFF { |
| | | color: #409EFF; |
| | | } |
| | | |
| | | .color636972 { |
| | | color: #636972; |
| | | } |
| | | |
| | | .color909399 { |
| | | color: #909399; |
| | | } |
| | | |
| | | .fontweight400 { |
| | | font-weight: 400; |
| | | } |
| | | |
| | | .fontweight600 { |
| | | font-weight: 600; |
| | | } |
| | | |
| | | .fontsize1_2rem { |
| | | font-size: 1.2rem; |
| | | } |
| | | |
| | | .fontsize14 { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .fontsize2rem { |
| | | font-size: 2rem; |
| | | } |
| | | |
| | | .fontsize4rem { |
| | | font-size: 4rem; |
| | | } |
| | | |
| | | .fontsize6rem { |
| | | font-size: 6rem; |
| | | } |
| | | |
| | | .fontsiez1rem { |
| | | font-size: 1rem; |
| | | } |
| | | |
| | | .fontsizeinitial { |
| | | font-size: initial; |
| | | } |
| | | |
| | | .text-center { |
| | | text-align: center; |
| | | } |
| | | |
| | | .text-right { |
| | | text-align: right; |
| | | } |
| | | |
| | | .textalign { |
| | | text-align: right; |
| | | } |
| | | |
| | | .textindex2 { |
| | | text-indent: 2rem; |
| | | } |
| | | |
| | | .global-content { |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .text-overflow { |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap |
| | | } |
| | | |
| | | .hover { |
| | | &:hover { |
| | | background-color: #ecf5ff; |
| | | } |
| | | |
| | | } |
| | | |
| | | .bottom7 { |
| | | bottom: 7px; |
| | | } |
| | | |
| | | .right { |
| | | right: 10px |
| | | } |
| | | |
| | | .zindex { |
| | | z-index: 10; |
| | | } |
| | | |
| | | .pointer { |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .search-bar{ |
| | | display: flex; |
| | | .form-view{ |
| | | flex-grow: 1; |
| | | } |
| | | .btn-view{ |
| | | flex-shrink: 0; |
| | | } |
| | | } |
| | | |
| | | .default-form-width{ |
| | | width: 220px; |
| | | } |
| | | |
| | | .subpage-style{ |
| | | box-sizing: border-box; |
| | | padding: 8px; |
| | | height: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | background-color: #ffffff; |
| | | .top-bar,.bottom-box{ |
| | | flex-shrink: 0; |
| | | } |
| | | .subpage-containter{ |
| | | flex-grow: 1; |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | .pagination-box { |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | padding-top: 4px; |
| | | } |
| | | .table-top-action-row,.table-top-action-sides-row{ |
| | | padding-bottom: 4px; |
| | | } |
| | | .table-top-action-sides-row{ |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | .project-table-list-box{ |
| | | display: flex; |
| | | flex-direction: column; |
| | | &>.table-top-action-row,&>.table-top-action-sides-row,&>.table-bottom-pagination{ |
| | | flex-shrink: 0; |
| | | } |
| | | &>.table-content{ |
| | | flex-grow: 1; |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | |
| | | .project-modal { |
| | | .el-dialog__header,.el-dialog__footer{ |
| | | padding: 10px; |
| | | } |
| | | .el-dialog__headerbtn{ |
| | | top: 12px; |
| | | right: 10px; |
| | | } |
| | | .el-dialog__header{ |
| | | border-bottom: 1px solid #efefef; |
| | | } |
| | | .el-dialog__footer { |
| | | border-top: 1px solid #efefef; |
| | | } |
| | | .el-dialog__body{ |
| | | padding: 0; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | .inner-circles-loader:not(:required) { |
| | | position: relative; |
| | | display: inline-block; |
| | | width: 50px; |
| | | height: 50px; |
| | | margin-bottom: 10px; |
| | | overflow: hidden; |
| | | text-indent: -9999px; |
| | | background: rgba(25, 165, 152, 0.5); |
| | | border-radius: 50%; |
| | | transform: translate3d(0, 0, 0); |
| | | } |
| | | |
| | | .inner-circles-loader:not(:required)::before, |
| | | .inner-circles-loader:not(:required)::after { |
| | | position: absolute; |
| | | top: 0; |
| | | display: inline-block; |
| | | width: 50px; |
| | | height: 50px; |
| | | content: ""; |
| | | border-radius: 50%; |
| | | } |
| | | |
| | | .inner-circles-loader:not(:required)::before { |
| | | left: 0; |
| | | background: #c7efcf; |
| | | transform-origin: 0 50%; |
| | | animation: inner-circles-loader 3s infinite; |
| | | } |
| | | |
| | | .inner-circles-loader:not(:required)::after { |
| | | right: 0; |
| | | background: #eef5db; |
| | | transform-origin: 100% 50%; |
| | | animation: inner-circles-loader 3s 0.2s reverse infinite; |
| | | } |
| | | |
| | | @keyframes inner-circles-loader { |
| | | 0% { |
| | | transform: rotate(0deg); |
| | | } |
| | | |
| | | 50% { |
| | | transform: rotate(360deg); |
| | | } |
| | | |
| | | 100% { |
| | | transform: rotate(0deg); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | @import './variables.scss'; |
| | | #app { |
| | | .main-container { |
| | | height: 100%; |
| | | transition: margin-left .28s; |
| | | margin-left: $sideBarWidth; |
| | | position: relative; |
| | | } |
| | | |
| | | .sidebar-container { |
| | | position: fixed; |
| | | height: 100%; |
| | | width: $sideBarWidth !important; |
| | | left: 0; |
| | | top: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | overflow: hidden; |
| | | background: $menuBg; |
| | | transition: all .28s; |
| | | |
| | | .scrollbar-wrapper { |
| | | overflow-x: hidden !important; |
| | | } |
| | | |
| | | .el-scrollbar { |
| | | height: 100%; |
| | | } |
| | | |
| | | .svg-icon { |
| | | margin-right: 16px; |
| | | } |
| | | } |
| | | |
| | | .hidcontainer { |
| | | .sidebar-container { |
| | | width: 54px !important; |
| | | transition: all .28s; |
| | | } |
| | | |
| | | .main-container { |
| | | margin-left: 54px; |
| | | } |
| | | |
| | | .svg-icon { |
| | | margin-right: 20px; |
| | | } |
| | | } |
| | | ::-webkit-scrollbar { |
| | | width:5px; |
| | | height:10px; |
| | | |
| | | } |
| | | |
| | | /*å¤å±è½¨éãå¯ä»¥ç¨display:none让å
¶ä¸æ¾ç¤ºï¼ä¹å¯ä»¥æ·»å èæ¯å¾çï¼é¢è²æ¹åæ¾ç¤ºææ*/ |
| | | ::-webkit-scrollbar-track { |
| | | width: 6px; |
| | | background-color:#eee; |
| | | -webkit-border-radius: 2em; |
| | | -moz-border-radius: 2em; |
| | | border-radius:2em; |
| | | |
| | | } |
| | | |
| | | /*æ»å¨æ¡ç设置*/ |
| | | |
| | | ::-webkit-scrollbar-thumb { |
| | | background-color:#cccccc; |
| | | background-clip:padding-box; |
| | | min-height:28px; |
| | | -webkit-border-radius: 2em; |
| | | -moz-border-radius: 2em; |
| | | border-radius:2em; |
| | | |
| | | } |
| | | /*æ»å¨æ¡ç§»ä¸å»çèæ¯*/ |
| | | |
| | | ::-webkit-scrollbar-thumb:hover { |
| | | background-color:#c5cfe4; |
| | | |
| | | } |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* fade-transform */ |
| | | .fade-transform-leave-active, |
| | | .fade-transform-enter-active { |
| | | transition: all .5s; |
| | | } |
| | | |
| | | .fade-transform-enter { |
| | | opacity: 0; |
| | | transform: translateX(-30px); |
| | | } |
| | | |
| | | .fade-transform-leave-to { |
| | | opacity: 0; |
| | | transform: translateX(30px); |
| | | } |
| | | |
| | | /* modal */ |
| | | .modal-leave-active, |
| | | .modal-enter-active { |
| | | transition: all .5s; |
| | | } |
| | | |
| | | .modal-enter { |
| | | opacity: 0; |
| | | transform: translateY(-100%); |
| | | } |
| | | |
| | | .modal-leave-to { |
| | | opacity: 0; |
| | | transform: translateY(100%); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // base color |
| | | $blue:#324157; |
| | | $light-blue:#3A71A8; |
| | | $red:#C03639; |
| | | $pink: #E65D6E; |
| | | $green: #30B08F; |
| | | $tiffany: #4AB7BD; |
| | | $yellow:#FEC171; |
| | | $panGreen: #30B08F; |
| | | |
| | | // sidebar |
| | | $menuText:#bfcbd9; |
| | | $menuActiveText:#409EFF; |
| | | $subMenuActiveText:#f4f4f5; // https://github.com/ElemeFE/element/issues/12951 |
| | | |
| | | $menuBg:#3a405a; |
| | | $menuHover:#263445; |
| | | |
| | | $subMenuBg:#1f2d3d; |
| | | $subMenuHover:#001528; |
| | | |
| | | $sideBarWidth: 180px; |
| | | |
| | | // the :export directive is the magic sauce for webpack |
| | | // https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass |
| | | :export { |
| | | menuText: $menuText; |
| | | menuActiveText: $menuActiveText; |
| | | subMenuActiveText: $subMenuActiveText; |
| | | menuBg: $menuBg; |
| | | menuHover: $menuHover; |
| | | subMenuBg: $subMenuBg; |
| | | subMenuHover: $subMenuHover; |
| | | sideBarWidth: $sideBarWidth; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import Cookies from 'js-cookie' |
| | | |
| | | const TokenKey = 'Admin-Token' |
| | | |
| | | export function getToken() { |
| | | return Cookies.get(TokenKey) |
| | | } |
| | | |
| | | export function setToken(token) { |
| | | return Cookies.set(TokenKey, token) |
| | | } |
| | | |
| | | export function removeToken() { |
| | | return Cookies.remove(TokenKey) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from './request' |
| | | import qs from 'qs'; |
| | | let axios={} |
| | | /** |
| | | * getæ¹æ³ï¼å¯¹åºgetè¯·æ± |
| | | * @param {String} url [请æ±çurlå°å] |
| | | * @param {Object} params [è¯·æ±æ¶æºå¸¦çåæ°] |
| | | */ |
| | | axios.get = function (url, params = null) { |
| | | return new Promise((resolve, reject) => { |
| | | request |
| | | .get(url, { params }) |
| | | .then(res => { |
| | | resolve(res.data); |
| | | }) |
| | | .catch(e => { |
| | | reject(e); |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * postæ¹æ³ï¼å¯¹åºpostè¯·æ± |
| | | * @param {String} url [请æ±çurlå°å] |
| | | * @param {Object} params [è¯·æ±æ¶æºå¸¦çåæ°] |
| | | */ |
| | | |
| | | axios.post = function (url, params) { |
| | | return new Promise((resolve, reject) => { |
| | | request |
| | | .post(url, params) |
| | | .then(res => { |
| | | resolve(res.data); |
| | | }) |
| | | .catch(e => { |
| | | reject(e); |
| | | }); |
| | | }); |
| | | }; |
| | | |
| | | /** |
| | | * putæ¹æ³ |
| | | * @param {*} url |
| | | * @param {*} params |
| | | * @returns |
| | | */ |
| | | |
| | | axios.put = function (url, params) { |
| | | return new Promise((resolve, reject) => { |
| | | request |
| | | .put(url, params) |
| | | .then(res => { |
| | | resolve(res.data); |
| | | }) |
| | | .catch(e => { |
| | | reject(e); |
| | | }); |
| | | }); |
| | | }; |
| | | |
| | | export default axios |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import dayjs from 'dayjs' |
| | | /** |
| | | * @description è·åå¹´ææ¥ æ¶åç§ |
| | | * @returns {string} yyyy-MM-dd hh:mm:ss |
| | | */ |
| | | export function getDate(option) { |
| | | const date = new Date(); |
| | | let str = date.getFullYear() + '-' + addZero(date.getMonth() + 1) + '-' + addZero(date.getDate()); |
| | | |
| | | if (option && option.full) { |
| | | str += ' ' + addZero(date.getHours()) + ':' + addZero(date.getMinutes()) + ':' + addZero(date.getSeconds()); |
| | | } |
| | | return str; |
| | | } |
| | | /** |
| | | * @description è·åå¹´ææ¥ æ¶åç§ |
| | | * @returns {string} yyyy-MM-dd hh:mm:ss |
| | | */ |
| | | export function getymdhms(option) { |
| | | const date = new Date(); |
| | | let str = |
| | | date.getFullYear() + |
| | | '-' + |
| | | addZero(date.getMonth() + 1) + |
| | | '-' + |
| | | addZero(date.getDate()) + |
| | | ' ' + |
| | | addZero(date.getHours()) + |
| | | ':' + |
| | | addZero(date.getMinutes()) + |
| | | ':' + |
| | | addZero(date.getSeconds()); |
| | | return str; |
| | | } |
| | | /** |
| | | * @description æ ¹æ®æ¶é´æ³è·åå¹´ææ¥ |
| | | * @param {*} date |
| | | * @param {*} num |
| | | * @returns |
| | | */ |
| | | export function getimestampDate(option) { |
| | | let res = 'Invalid Date' |
| | | try{ |
| | | res = dayjs(option).format('YYYY-MM-DD HH:mm:ss') |
| | | }catch(e){ |
| | | //TODO handle the exception |
| | | } |
| | | return res; |
| | | } |
| | | |
| | | /** |
| | | * @description è·åæå®æ¥æç¸énum天 |
| | | * @param {String} date |
| | | * @param {String} num |
| | | * @returns {string} yyyy-MM-dd |
| | | */ |
| | | export function getAroundDay(date, num) { |
| | | var time = date ? new Date(date) : new Date(); |
| | | time.setDate(time.getDate() + num); |
| | | return time.getFullYear() + '-' + addZero(time.getMonth() + 1) + '-' + addZero(time.getDate()); |
| | | } |
| | | |
| | | /** |
| | | * @description è·åä¸ä¸ªæ1å· |
| | | * @param {String} date |
| | | * @param {String} num |
| | | * @returns {string} yyyy-MM-dd |
| | | */ |
| | | export function getLastMonth(date, num) { |
| | | const time = new Date(); |
| | | time.setTime(new Date(new Date().getFullYear(), new Date().getMonth() - 1, 1)); |
| | | return time.getFullYear() + '-' + addZero(time.getMonth() + 1) + '-' + addZero(time.getDate()); |
| | | } |
| | | /** |
| | | * @description è·å ä»å¤©å·¦å³å å¤©çæ¶é´ |
| | | * @param {*} AddDayCount |
| | | * @returns {string} yyyy-MM-dd |
| | | */ |
| | | |
| | | // |
| | | export function GetDateStr(AddDayCount) { |
| | | var dd = new Date(); |
| | | dd.setDate(dd.getDate() + AddDayCount); //è·åAddDayCount天åçæ¥æ |
| | | var y = dd.getFullYear(); |
| | | var m = dd.getMonth() + 1; //è·åå½åæä»½çæ¥æ |
| | | if (m < 10) { |
| | | m = '0' + m; |
| | | } |
| | | var d = dd.getDate(); |
| | | if (d < 10) { |
| | | d = '0' + d; |
| | | } |
| | | return y + '-' + m + '-' + d; |
| | | } |
| | | /** |
| | | * @description è·å ä»å¤©å·¦å³å 天çå°æ¶åéç§ |
| | | * @param {*} AddDayCount |
| | | * @returns |
| | | */ |
| | | export function GetTimeStr(AddDayCount) { |
| | | var dd = new Date(); |
| | | dd.setDate(dd.getDate() + AddDayCount); //è·åAddDayCount天åçæ¥æ |
| | | let hours = dd.getHours(); |
| | | if (hours < 10) { |
| | | hours = '0' + hours; |
| | | } |
| | | let min = dd.getMinutes(); |
| | | if (min < 10) { |
| | | min = '0' + min; |
| | | } |
| | | let soc = dd.getSeconds(); |
| | | if (soc < 10) { |
| | | soc = '0' + soc; |
| | | } |
| | | return hours + ':' + min + ':' + soc; |
| | | } |
| | | |
| | | export function CoutDown(StartTime, EndTime) { |
| | | let lefttime = parseInt((EndTime - StartTime) / 1000); |
| | | let d = parseInt(lefttime / (24 * 60 * 60)); |
| | | let h = parseInt((lefttime / (60 * 60)) % 24); |
| | | let m = parseInt((lefttime / 60) % 60); |
| | | let s = parseInt(lefttime % 60); |
| | | d = addZero(d); |
| | | h = addZero(h); |
| | | m = addZero(m); |
| | | s = addZero(s); |
| | | return { |
| | | day: d, |
| | | hours: h, |
| | | minute: m, |
| | | second: s |
| | | }; |
| | | } |
| | | export function coumdata(dataTime) { |
| | | // let lefttime = parseInt((EndTime - StartTime) / 1000); |
| | | |
| | | let d = parseInt(dataTime / (24 * 60 * 60)); |
| | | let h = parseInt((dataTime / (60 * 60)) % 24); |
| | | let m = parseInt((dataTime / 60) % 60); |
| | | let s = parseInt(dataTime % 60); |
| | | d = addZero(d); |
| | | h = addZero(h); |
| | | m = addZero(m); |
| | | s = addZero(s); |
| | | return { |
| | | day: d, |
| | | hours: h, |
| | | minute: m, |
| | | second: s |
| | | }; |
| | | } |
| | | |
| | | const addZero = function (date) { |
| | | return date > 9 ? date : '0' + date; |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * 彿°é²æ |
| | | * @param {Function} func |
| | | * @param {number} delay |
| | | * @param {boolean} immediate |
| | | * @return {*} |
| | | */ |
| | | |
| | | export function debounce(func, delay, immediate = false) { |
| | | let timer, |
| | | context = this; |
| | | return (...args) => { |
| | | if (immediate) { |
| | | func.apply(context, args); |
| | | immediate = false; |
| | | return; |
| | | } |
| | | clearTimeout(timer); |
| | | timer = setTimeout(() => { |
| | | func.apply(context, args); |
| | | }, delay); |
| | | }; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | |
| | | export function exportTableList(tHeader, filterVal, list, name) { |
| | | const data = formatJson(filterVal, list); |
| | | exportExecel(tHeader, data, name); |
| | | } |
| | | function exportExecel(header, data, name) { |
| | | require.ensure([], () => { |
| | | const { export_json_to_excel } = require('@/vendor/Export2Excel'); |
| | | |
| | | export_json_to_excel(header, data, name + 'å表excel'); |
| | | }); |
| | | } |
| | | function formatJson(filterVal, jsonData) { |
| | | return jsonData.map(v => filterVal.map(j => v[j])); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | export default function getPageTitle(pageTitle) { |
| | | debugger; |
| | | if (pageTitle) { |
| | | return `${pageTitle}-${title}`; |
| | | } |
| | | return title; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * Created by PanJiaChen on 16/11/18. |
| | | */ |
| | | |
| | | /** |
| | | * Parse the time to string |
| | | * @param {(Object|string|number)} time |
| | | * @param {string} cFormat |
| | | * @returns {string | null} |
| | | */ |
| | | export function parseTime(time, cFormat) { |
| | | if (arguments.length === 0 || !time) { |
| | | return null |
| | | } |
| | | const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}' |
| | | let date |
| | | if (typeof time === 'object') { |
| | | date = time |
| | | } else { |
| | | if ((typeof time === 'string')) { |
| | | if ((/^[0-9]+$/.test(time))) { |
| | | // support "1548221490638" |
| | | time = parseInt(time) |
| | | } else { |
| | | // support safari |
| | | // https://stackoverflow.com/questions/4310953/invalid-date-in-safari |
| | | time = time.replace(new RegExp(/-/gm), '/') |
| | | } |
| | | } |
| | | |
| | | if ((typeof time === 'number') && (time.toString().length === 10)) { |
| | | time = time * 1000 |
| | | } |
| | | date = new Date(time) |
| | | } |
| | | const formatObj = { |
| | | y: date.getFullYear(), |
| | | m: date.getMonth() + 1, |
| | | d: date.getDate(), |
| | | h: date.getHours(), |
| | | i: date.getMinutes(), |
| | | s: date.getSeconds(), |
| | | a: date.getDay() |
| | | } |
| | | const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => { |
| | | const value = formatObj[key] |
| | | // Note: getDay() returns 0 on Sunday |
| | | if (key === 'a') { return ['æ¥', 'ä¸', 'äº', 'ä¸', 'å', 'äº', 'å
'][value ] } |
| | | return value.toString().padStart(2, '0') |
| | | }) |
| | | return time_str |
| | | } |
| | | |
| | | /** |
| | | * @param {number} time |
| | | * @param {string} option |
| | | * @returns {string} |
| | | */ |
| | | export function formatTime(time, option) { |
| | | if (('' + time).length === 10) { |
| | | time = parseInt(time) * 1000 |
| | | } else { |
| | | time = +time |
| | | } |
| | | const d = new Date(time) |
| | | const now = Date.now() |
| | | |
| | | const diff = (now - d) / 1000 |
| | | |
| | | if (diff < 30) { |
| | | return 'åå' |
| | | } else if (diff < 3600) { |
| | | // less 1 hour |
| | | return Math.ceil(diff / 60) + 'åéå' |
| | | } else if (diff < 3600 * 24) { |
| | | return Math.ceil(diff / 3600) + 'å°æ¶å' |
| | | } else if (diff < 3600 * 24 * 2) { |
| | | return '1天å' |
| | | } |
| | | if (option) { |
| | | return parseTime(time, option) |
| | | } else { |
| | | return ( |
| | | d.getMonth() + |
| | | 1 + |
| | | 'æ' + |
| | | d.getDate() + |
| | | 'æ¥' + |
| | | d.getHours() + |
| | | 'æ¶' + |
| | | d.getMinutes() + |
| | | 'å' |
| | | ) |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @param {string} url |
| | | * @returns {Object} |
| | | */ |
| | | export function getQueryObject(url) { |
| | | url = url == null ? window.location.href : url |
| | | const search = url.substring(url.lastIndexOf('?') + 1) |
| | | const obj = {} |
| | | const reg = /([^?&=]+)=([^?&=]*)/g |
| | | search.replace(reg, (rs, $1, $2) => { |
| | | const name = decodeURIComponent($1) |
| | | let val = decodeURIComponent($2) |
| | | val = String(val) |
| | | obj[name] = val |
| | | return rs |
| | | }) |
| | | return obj |
| | | } |
| | | |
| | | /** |
| | | * @param {string} input value |
| | | * @returns {number} output value |
| | | */ |
| | | export function byteLength(str) { |
| | | // returns the byte length of an utf8 string |
| | | let s = str.length |
| | | for (var i = str.length - 1; i >= 0; i--) { |
| | | const code = str.charCodeAt(i) |
| | | if (code > 0x7f && code <= 0x7ff) s++ |
| | | else if (code > 0x7ff && code <= 0xffff) s += 2 |
| | | if (code >= 0xDC00 && code <= 0xDFFF) i-- |
| | | } |
| | | return s |
| | | } |
| | | |
| | | /** |
| | | * @param {Array} actual |
| | | * @returns {Array} |
| | | */ |
| | | export function cleanArray(actual) { |
| | | const newArray = [] |
| | | for (let i = 0; i < actual.length; i++) { |
| | | if (actual[i]) { |
| | | newArray.push(actual[i]) |
| | | } |
| | | } |
| | | return newArray |
| | | } |
| | | |
| | | /** |
| | | * @param {Object} json |
| | | * @returns {Array} |
| | | */ |
| | | export function param(json) { |
| | | if (!json) return '' |
| | | return cleanArray( |
| | | Object.keys(json).map(key => { |
| | | if (json[key] === undefined) return '' |
| | | return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]) |
| | | }) |
| | | ).join('&') |
| | | } |
| | | |
| | | /** |
| | | * @param {string} url |
| | | * @returns {Object} |
| | | */ |
| | | export function param2Obj(url) { |
| | | const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ') |
| | | if (!search) { |
| | | return {} |
| | | } |
| | | const obj = {} |
| | | const searchArr = search.split('&') |
| | | searchArr.forEach(v => { |
| | | const index = v.indexOf('=') |
| | | if (index !== -1) { |
| | | const name = v.substring(0, index) |
| | | const val = v.substring(index + 1, v.length) |
| | | obj[name] = val |
| | | } |
| | | }) |
| | | return obj |
| | | } |
| | | |
| | | /** |
| | | * @param {string} val |
| | | * @returns {string} |
| | | */ |
| | | export function html2Text(val) { |
| | | const div = document.createElement('div') |
| | | div.innerHTML = val |
| | | return div.textContent || div.innerText |
| | | } |
| | | |
| | | /** |
| | | * Merges two objects, giving the last one precedence |
| | | * @param {Object} target |
| | | * @param {(Object|Array)} source |
| | | * @returns {Object} |
| | | */ |
| | | export function objectMerge(target, source) { |
| | | if (typeof target !== 'object') { |
| | | target = {} |
| | | } |
| | | if (Array.isArray(source)) { |
| | | return source.slice() |
| | | } |
| | | Object.keys(source).forEach(property => { |
| | | const sourceProperty = source[property] |
| | | if (typeof sourceProperty === 'object') { |
| | | target[property] = objectMerge(target[property], sourceProperty) |
| | | } else { |
| | | target[property] = sourceProperty |
| | | } |
| | | }) |
| | | return target |
| | | } |
| | | |
| | | /** |
| | | * @param {HTMLElement} element |
| | | * @param {string} className |
| | | */ |
| | | export function toggleClass(element, className) { |
| | | if (!element || !className) { |
| | | return |
| | | } |
| | | let classString = element.className |
| | | const nameIndex = classString.indexOf(className) |
| | | if (nameIndex === -1) { |
| | | classString += '' + className |
| | | } else { |
| | | classString = |
| | | classString.substr(0, nameIndex) + |
| | | classString.substr(nameIndex + className.length) |
| | | } |
| | | element.className = classString |
| | | } |
| | | |
| | | /** |
| | | * @param {string} type |
| | | * @returns {Date} |
| | | */ |
| | | export function getTime(type) { |
| | | if (type === 'start') { |
| | | return new Date().getTime() - 3600 * 1000 * 24 * 90 |
| | | } else { |
| | | return new Date(new Date().toDateString()) |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @param {Function} func |
| | | * @param {number} wait |
| | | * @param {boolean} immediate |
| | | * @return {*} |
| | | */ |
| | | export function debounce(func, wait, immediate) { |
| | | let timeout, args, context, timestamp, result |
| | | |
| | | const later = function() { |
| | | // æ®ä¸ä¸æ¬¡è§¦åæ¶é´é´é |
| | | const last = +new Date() - timestamp |
| | | |
| | | // 䏿¬¡è¢«å
è£
彿°è¢«è°ç¨æ¶é´é´é last å°äºè®¾å®æ¶é´é´é wait |
| | | if (last < wait && last > 0) { |
| | | timeout = setTimeout(later, wait - last) |
| | | } else { |
| | | timeout = null |
| | | // å¦æè®¾å®ä¸ºimmediate===trueï¼å 为å¼å§è¾¹çå·²ç»è°ç¨è¿äºæ¤å¤æ éè°ç¨ |
| | | if (!immediate) { |
| | | result = func.apply(context, args) |
| | | if (!timeout) context = args = null |
| | | } |
| | | } |
| | | } |
| | | |
| | | return function(...args) { |
| | | context = this |
| | | timestamp = +new Date() |
| | | const callNow = immediate && !timeout |
| | | // 妿延æ¶ä¸åå¨ï¼éæ°è®¾å®å»¶æ¶ |
| | | if (!timeout) timeout = setTimeout(later, wait) |
| | | if (callNow) { |
| | | result = func.apply(context, args) |
| | | context = args = null |
| | | } |
| | | |
| | | return result |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * This is just a simple version of deep copy |
| | | * Has a lot of edge cases bug |
| | | * If you want to use a perfect deep copy, use lodash's _.cloneDeep |
| | | * @param {Object} source |
| | | * @returns {Object} |
| | | */ |
| | | export function deepClone(source) { |
| | | if (!source && typeof source !== 'object') { |
| | | throw new Error('error arguments', 'deepClone') |
| | | } |
| | | const targetObj = source.constructor === Array ? [] : {} |
| | | Object.keys(source).forEach(keys => { |
| | | if (source[keys] && typeof source[keys] === 'object') { |
| | | targetObj[keys] = deepClone(source[keys]) |
| | | } else { |
| | | targetObj[keys] = source[keys] |
| | | } |
| | | }) |
| | | return targetObj |
| | | } |
| | | |
| | | /** |
| | | * @param {Array} arr |
| | | * @returns {Array} |
| | | */ |
| | | export function uniqueArr(arr) { |
| | | return Array.from(new Set(arr)) |
| | | } |
| | | |
| | | /** |
| | | * @returns {string} |
| | | */ |
| | | export function createUniqueString() { |
| | | const timestamp = +new Date() + '' |
| | | const randomNum = parseInt((1 + Math.random()) * 65536) + '' |
| | | return (+(randomNum + timestamp)).toString(32) |
| | | } |
| | | |
| | | /** |
| | | * Check if an element has a class |
| | | * @param {HTMLElement} elm |
| | | * @param {string} cls |
| | | * @returns {boolean} |
| | | */ |
| | | export function hasClass(ele, cls) { |
| | | return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')) |
| | | } |
| | | |
| | | /** |
| | | * Add class to element |
| | | * @param {HTMLElement} elm |
| | | * @param {string} cls |
| | | */ |
| | | export function addClass(ele, cls) { |
| | | if (!hasClass(ele, cls)) ele.className += ' ' + cls |
| | | } |
| | | |
| | | /** |
| | | * Remove class from element |
| | | * @param {HTMLElement} elm |
| | | * @param {string} cls |
| | | */ |
| | | export function removeClass(ele, cls) { |
| | | if (hasClass(ele, cls)) { |
| | | const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)') |
| | | ele.className = ele.className.replace(reg, ' ') |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | const MoneyTest = /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/; |
| | | // é颿·»å ååä½ |
| | | const comdify = function (n) { |
| | | if(!n) return n; |
| | | let str = n.split('.'); |
| | | let re = /\d{1,3}(?=(\d{3})+$)/g; |
| | | let n1 = str[0].replace(re, "$&,"); |
| | | return str.length > 1 && str[1] ? `${n1}.${str[1]}` : `${n1}.00`; |
| | | }; |
| | | //å»é¤ååä½ä¸çâï¼' |
| | | const delcommafy = function (num){ |
| | | if(!num) return num; |
| | | num = num.toString(); |
| | | num = num.replace(/,/gi, ''); |
| | | return num; |
| | | }; |
| | | const valdateFn = function (rule,val,cb) { |
| | | setTimeout(() => { |
| | | if(val) { |
| | | let inputVal = delcommafy(val); |
| | | if (rule.test(inputVal)) { |
| | | cb() |
| | | } else { |
| | | cb('åªè½æ¯æ°åéé¢,æå¤ä¸¤ä½å°æ°') |
| | | } |
| | | } |
| | | cb() |
| | | }) |
| | | } |
| | | // éªè¯é颿°åå¯ä»¥ä¸ºè´æ° |
| | | const moneyValid = function (rule,val,cb) { |
| | | valdateFn(/((^-?[1-9]\d*)|^-?0)(\.\d{0,2}){0,1}$/,val,cb); |
| | | }; |
| | | // éªè¯é颿°åä¸å¯ä»¥ä¸ºè´æ° |
| | | const moneyNValid = function (rule,val,cb) { |
| | | valdateFn(MoneyTest,val,cb); |
| | | }; |
| | | // è·åè¾å
¥æ¡çå¼ |
| | | export function getInputValue (el) { |
| | | let inputVal = el || ''; |
| | | return comdify(delcommafy(inputVal)); |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import axios from 'axios'; |
| | | import Vue from 'vue'; |
| | | import { |
| | | MessageBox, |
| | | Message |
| | | } from 'element-ui'; |
| | | import Loading from './vab'; |
| | | import store from '@/store'; |
| | | import qs from 'qs'; |
| | | import { |
| | | getStorage, |
| | | setStorage |
| | | } from '@/utils/sessionStorage'; |
| | | |
| | | const service = axios.create({ |
| | | baseURL: process.env.VUE_APP_BASE_API, // api ç base_url process.env.VUE_APP_BASE_API |
| | | timeout: 50000 // 请æ±è¶
æ¶æ¶é´ |
| | | }); |
| | | //è¯·æ± |
| | | service.interceptors.request.use(config => { |
| | | return config; |
| | | |
| | | error => { |
| | | console.log(error); |
| | | return Promise.reject(error); |
| | | }; |
| | | }); |
| | | |
| | | // //ååº |
| | | service.interceptors.response.use( |
| | | response => { |
| | | const res = response.data; |
| | | |
| | | if (response.status === 200) { |
| | | return Promise.resolve(response); |
| | | } else { |
| | | Message.error('æ¥å£è¯·æ±é误'); |
| | | |
| | | return Promise.reject(response); |
| | | } |
| | | }, |
| | | error => { |
| | | if (error.response) { |
| | | switch (error.response.status) { |
| | | case 401: |
| | | MessageBox.confirm('ç»å½ç¶æå·²è¿æï¼æ¨å¯ä»¥ç»§ç»çå¨è¯¥é¡µé¢ï¼æè
éæ°ç»å½', 'ç³»ç»æç¤º', { |
| | | confirmButtonText: 'éæ°ç»å½', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | store.dispatch('user/logout').then(() => { |
| | | window.location.href = '/'; |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | if (!getStorage('accessToken')) { |
| | | store.dispatch('user/logout').then(() => { |
| | | window.location.href = '/'; |
| | | }); |
| | | } |
| | | }); |
| | | break; |
| | | case 404: |
| | | Message({ |
| | | message: '徿±æï¼èµæºæªæ¾å°!', |
| | | type: 'error' |
| | | }); |
| | | break; |
| | | case 500: |
| | | Message({ |
| | | message: 'ç½ç»é误ï¼è¯·ç¨ååè¯!', |
| | | type: 'error' |
| | | }); |
| | | break; |
| | | case 503: |
| | | Message({ |
| | | message: 'ç³»ç»é误ï¼è¯·ç¨ååè¯!', |
| | | type: 'error' |
| | | }); |
| | | break; |
| | | case 504: |
| | | Message({ |
| | | message: 'ç½ç»è¶
æ¶ï¼è¯·ç¨ååè¯!', |
| | | type: 'error' |
| | | }); |
| | | break; |
| | | } |
| | | |
| | | Vue.prototype.$Loading(); |
| | | return Promise.reject(error); |
| | | } |
| | | } |
| | | ); |
| | | |
| | | export default service; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * 设置sessionStorage |
| | | * @param {string} key |
| | | * @param {any} value |
| | | */ |
| | | export function setCache(key, value) { |
| | | if (value == undefined || value == null) { |
| | | window.sessionStorage.setItem(key, value); |
| | | } else { |
| | | window.sessionStorage.setItem(key, JSON.stringify(value)); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è·åsessionStorage |
| | | * @param {string} key |
| | | * @returns {any} |
| | | */ |
| | | export function getCache(key) { |
| | | if (window.sessionStorage.getItem(key) == 'undefined' || window.sessionStorage.getItem(key) == null) { |
| | | return undefined; |
| | | } |
| | | return JSON.parse(window.sessionStorage.getItem(key)); |
| | | } |
| | | |
| | | /** |
| | | * æ¸
餿å®sessionStorage |
| | | * @param {string} key |
| | | */ |
| | | export function removeCache(key) { |
| | | return window.sessionStorage.removeItem(key); |
| | | } |
| | | |
| | | /** |
| | | * æ¸
餿æsessionStorage |
| | | */ |
| | | export function removeAll(key) { |
| | | return window.sessionStorage.clear(); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | export function throttle(fun, delay) { |
| | | let last, deferTimer; |
| | | return function (args) { |
| | | let that = this; |
| | | let _args = arguments; |
| | | let now = +new Date(); |
| | | if (last && now < last + delay) { |
| | | clearTimeout(deferTimer); |
| | | deferTimer = setTimeout(() => { |
| | | last = now; |
| | | fun.apply(that, _args); |
| | | }, delay); |
| | | } else { |
| | | last = now; |
| | | fun.apply(that, _args); |
| | | } |
| | | }; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import { Loading } from "element-ui"; |
| | | const install =(Vue,opts={})=>{ |
| | | Vue.prototype.$Loading=(lodi=false)=>{ |
| | | let loading= Loading.service({ |
| | | lock: true, |
| | | text: 'æ£å¨å è½½', |
| | | spinner: "inner-circles-loader", |
| | | background: "rgba(0,0,0,0.4)", |
| | | }); |
| | | if (lodi==true) { |
| | | Loading.service({ |
| | | lock: true, |
| | | text: 'æ£å¨å è½½', |
| | | spinner: "inner-circles-loader", |
| | | background: "rgba(0,0,0,0.4)", |
| | | }); |
| | | }else{ |
| | | loading.close() |
| | | } |
| | | |
| | | } |
| | | } |
| | | export default install |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * Created by PanJiaChen on 16/11/18. |
| | | */ |
| | | |
| | | /** |
| | | * @param {string} path |
| | | * @returns {Boolean} |
| | | */ |
| | | export function isExternal(path) { |
| | | return /^(https?:|mailto:|tel:)/.test(path) |
| | | } |
| | | |
| | | /** |
| | | * @param {string} str |
| | | * @returns {Boolean} |
| | | */ |
| | | export function validUsername(str) { |
| | | const valid_map = ['admin', 'editor'] |
| | | return valid_map.indexOf(str.trim()) >= 0 |
| | | } |
| | | |
| | | /** |
| | | * @param {string} url |
| | | * @returns {Boolean} |
| | | */ |
| | | export function validURL(url) { |
| | | const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ |
| | | return reg.test(url) |
| | | } |
| | | |
| | | /** |
| | | * @param {string} str |
| | | * @returns {Boolean} |
| | | */ |
| | | export function validLowerCase(str) { |
| | | const reg = /^[a-z]+$/ |
| | | return reg.test(str) |
| | | } |
| | | |
| | | /** |
| | | * @param {string} str |
| | | * @returns {Boolean} |
| | | */ |
| | | export function validUpperCase(str) { |
| | | const reg = /^[A-Z]+$/ |
| | | return reg.test(str) |
| | | } |
| | | |
| | | /** |
| | | * @param {string} str |
| | | * @returns {Boolean} |
| | | */ |
| | | export function validAlphabets(str) { |
| | | const reg = /^[A-Za-z]+$/ |
| | | return reg.test(str) |
| | | } |
| | | |
| | | /** |
| | | * @param {string} email |
| | | * @returns {Boolean} |
| | | */ |
| | | export function validEmail(email) { |
| | | const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ |
| | | return reg.test(email) |
| | | } |
| | | |
| | | /** |
| | | * @param {string} str |
| | | * @returns {Boolean} |
| | | */ |
| | | export function isString(str) { |
| | | if (typeof str === 'string' || str instanceof String) { |
| | | return true |
| | | } |
| | | return false |
| | | } |
| | | |
| | | /** |
| | | * @param {Array} arg |
| | | * @returns {Boolean} |
| | | */ |
| | | export function isArray(arg) { |
| | | if (typeof Array.isArray === 'undefined') { |
| | | return Object.prototype.toString.call(arg) === '[object Array]' |
| | | } |
| | | return Array.isArray(arg) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | (function (view) { |
| | | "use strict"; |
| | | |
| | | view.URL = view.URL || view.webkitURL; |
| | | |
| | | if (view.Blob && view.URL) { |
| | | try { |
| | | new Blob; |
| | | return; |
| | | } catch (e) {} |
| | | } |
| | | |
| | | // Internally we use a BlobBuilder implementation to base Blob off of |
| | | // in order to support older browsers that only have BlobBuilder |
| | | var BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || (function(view) { |
| | | var |
| | | get_class = function(object) { |
| | | return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1]; |
| | | } |
| | | , FakeBlobBuilder = function BlobBuilder() { |
| | | this.data = []; |
| | | } |
| | | , FakeBlob = function Blob(data, type, encoding) { |
| | | this.data = data; |
| | | this.size = data.length; |
| | | this.type = type; |
| | | this.encoding = encoding; |
| | | } |
| | | , FBB_proto = FakeBlobBuilder.prototype |
| | | , FB_proto = FakeBlob.prototype |
| | | , FileReaderSync = view.FileReaderSync |
| | | , FileException = function(type) { |
| | | this.code = this[this.name = type]; |
| | | } |
| | | , file_ex_codes = ( |
| | | "NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR " |
| | | + "NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR" |
| | | ).split(" ") |
| | | , file_ex_code = file_ex_codes.length |
| | | , real_URL = view.URL || view.webkitURL || view |
| | | , real_create_object_URL = real_URL.createObjectURL |
| | | , real_revoke_object_URL = real_URL.revokeObjectURL |
| | | , URL = real_URL |
| | | , btoa = view.btoa |
| | | , atob = view.atob |
| | | |
| | | , ArrayBuffer = view.ArrayBuffer |
| | | , Uint8Array = view.Uint8Array |
| | | ; |
| | | FakeBlob.fake = FB_proto.fake = true; |
| | | while (file_ex_code--) { |
| | | FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1; |
| | | } |
| | | if (!real_URL.createObjectURL) { |
| | | URL = view.URL = {}; |
| | | } |
| | | URL.createObjectURL = function(blob) { |
| | | var |
| | | type = blob.type |
| | | , data_URI_header |
| | | ; |
| | | if (type === null) { |
| | | type = "application/octet-stream"; |
| | | } |
| | | if (blob instanceof FakeBlob) { |
| | | data_URI_header = "data:" + type; |
| | | if (blob.encoding === "base64") { |
| | | return data_URI_header + ";base64," + blob.data; |
| | | } else if (blob.encoding === "URI") { |
| | | return data_URI_header + "," + decodeURIComponent(blob.data); |
| | | } if (btoa) { |
| | | return data_URI_header + ";base64," + btoa(blob.data); |
| | | } else { |
| | | return data_URI_header + "," + encodeURIComponent(blob.data); |
| | | } |
| | | } else if (real_create_object_URL) { |
| | | return real_create_object_URL.call(real_URL, blob); |
| | | } |
| | | }; |
| | | URL.revokeObjectURL = function(object_URL) { |
| | | if (object_URL.substring(0, 5) !== "data:" && real_revoke_object_URL) { |
| | | real_revoke_object_URL.call(real_URL, object_URL); |
| | | } |
| | | }; |
| | | FBB_proto.append = function(data/*, endings*/) { |
| | | var bb = this.data; |
| | | // decode data to a binary string |
| | | if (Uint8Array && (data instanceof ArrayBuffer || data instanceof Uint8Array)) { |
| | | var |
| | | str = "" |
| | | , buf = new Uint8Array(data) |
| | | , i = 0 |
| | | , buf_len = buf.length |
| | | ; |
| | | for (; i < buf_len; i++) { |
| | | str += String.fromCharCode(buf[i]); |
| | | } |
| | | bb.push(str); |
| | | } else if (get_class(data) === "Blob" || get_class(data) === "File") { |
| | | if (FileReaderSync) { |
| | | var fr = new FileReaderSync; |
| | | bb.push(fr.readAsBinaryString(data)); |
| | | } else { |
| | | // async FileReader won't work as BlobBuilder is sync |
| | | throw new FileException("NOT_READABLE_ERR"); |
| | | } |
| | | } else if (data instanceof FakeBlob) { |
| | | if (data.encoding === "base64" && atob) { |
| | | bb.push(atob(data.data)); |
| | | } else if (data.encoding === "URI") { |
| | | bb.push(decodeURIComponent(data.data)); |
| | | } else if (data.encoding === "raw") { |
| | | bb.push(data.data); |
| | | } |
| | | } else { |
| | | if (typeof data !== "string") { |
| | | data += ""; // convert unsupported types to strings |
| | | } |
| | | // decode UTF-16 to binary string |
| | | bb.push(unescape(encodeURIComponent(data))); |
| | | } |
| | | }; |
| | | FBB_proto.getBlob = function(type) { |
| | | if (!arguments.length) { |
| | | type = null; |
| | | } |
| | | return new FakeBlob(this.data.join(""), type, "raw"); |
| | | }; |
| | | FBB_proto.toString = function() { |
| | | return "[object BlobBuilder]"; |
| | | }; |
| | | FB_proto.slice = function(start, end, type) { |
| | | var args = arguments.length; |
| | | if (args < 3) { |
| | | type = null; |
| | | } |
| | | return new FakeBlob( |
| | | this.data.slice(start, args > 1 ? end : this.data.length) |
| | | , type |
| | | , this.encoding |
| | | ); |
| | | }; |
| | | FB_proto.toString = function() { |
| | | return "[object Blob]"; |
| | | }; |
| | | FB_proto.close = function() { |
| | | this.size = this.data.length = 0; |
| | | }; |
| | | return FakeBlobBuilder; |
| | | }(view)); |
| | | |
| | | view.Blob = function Blob(blobParts, options) { |
| | | var type = options ? (options.type || "") : ""; |
| | | var builder = new BlobBuilder(); |
| | | if (blobParts) { |
| | | for (var i = 0, len = blobParts.length; i < len; i++) { |
| | | builder.append(blobParts[i]); |
| | | } |
| | | } |
| | | return builder.getBlob(type); |
| | | }; |
| | | }(typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content || this)); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* eslint-disable */ |
| | | require('script-loader!file-saver'); |
| | | require('./Blob.js'); |
| | | require('script-loader!xlsx/dist/xlsx.core.min'); |
| | | function generateArray(table) { |
| | | var out = []; |
| | | var rows = table.querySelectorAll('tr'); |
| | | var ranges = []; |
| | | for (var R = 0; R < rows.length; ++R) { |
| | | var outRow = []; |
| | | var row = rows[R]; |
| | | var columns = row.querySelectorAll('td'); |
| | | for (var C = 0; C < columns.length; ++C) { |
| | | var cell = columns[C]; |
| | | var colspan = cell.getAttribute('colspan'); |
| | | var rowspan = cell.getAttribute('rowspan'); |
| | | var cellValue = cell.innerText; |
| | | if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue; |
| | | |
| | | //Skip ranges |
| | | ranges.forEach(function (range) { |
| | | if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) { |
| | | for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null); |
| | | } |
| | | }); |
| | | |
| | | //Handle Row Span |
| | | if (rowspan || colspan) { |
| | | rowspan = rowspan || 1; |
| | | colspan = colspan || 1; |
| | | ranges.push({s: {r: R, c: outRow.length}, e: {r: R + rowspan - 1, c: outRow.length + colspan - 1}}); |
| | | } |
| | | ; |
| | | |
| | | //Handle Value |
| | | outRow.push(cellValue !== "" ? cellValue : null); |
| | | |
| | | //Handle Colspan |
| | | if (colspan) for (var k = 0; k < colspan - 1; ++k) outRow.push(null); |
| | | } |
| | | out.push(outRow); |
| | | } |
| | | return [out, ranges]; |
| | | }; |
| | | |
| | | function datenum(v, date1904) { |
| | | if (date1904) v += 1462; |
| | | var epoch = Date.parse(v); |
| | | return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); |
| | | } |
| | | |
| | | function sheet_from_array_of_arrays(data, opts) { |
| | | var ws = {}; |
| | | var range = {s: {c: 10000000, r: 10000000}, e: {c: 0, r: 0}}; |
| | | for (var R = 0; R != data.length; ++R) { |
| | | for (var C = 0; C != data[R].length; ++C) { |
| | | if (range.s.r > R) range.s.r = R; |
| | | if (range.s.c > C) range.s.c = C; |
| | | if (range.e.r < R) range.e.r = R; |
| | | if (range.e.c < C) range.e.c = C; |
| | | var cell = {v: data[R][C]}; |
| | | if (cell.v == null) continue; |
| | | var cell_ref = XLSX.utils.encode_cell({c: C, r: R}); |
| | | |
| | | if (typeof cell.v === 'number') cell.t = 'n'; |
| | | else if (typeof cell.v === 'boolean') cell.t = 'b'; |
| | | else if (cell.v instanceof Date) { |
| | | cell.t = 'n'; |
| | | cell.z = XLSX.SSF._table[14]; |
| | | cell.v = datenum(cell.v); |
| | | } |
| | | else cell.t = 's'; |
| | | |
| | | ws[cell_ref] = cell; |
| | | } |
| | | } |
| | | if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range); |
| | | return ws; |
| | | } |
| | | |
| | | function Workbook() { |
| | | if (!(this instanceof Workbook)) return new Workbook(); |
| | | this.SheetNames = []; |
| | | this.Sheets = {}; |
| | | } |
| | | |
| | | function s2ab(s) { |
| | | var buf = new ArrayBuffer(s.length); |
| | | var view = new Uint8Array(buf); |
| | | for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; |
| | | return buf; |
| | | } |
| | | |
| | | export function export_table_to_excel(id) { |
| | | var theTable = document.getElementById(id); |
| | | var oo = generateArray(theTable); |
| | | var ranges = oo[1]; |
| | | |
| | | /* original data */ |
| | | var data = oo[0]; |
| | | var ws_name = "SheetJS"; |
| | | |
| | | var wb = new Workbook(), ws = sheet_from_array_of_arrays(data); |
| | | |
| | | /* add ranges to worksheet */ |
| | | // ws['!cols'] = ['apple', 'banan']; |
| | | ws['!merges'] = ranges; |
| | | |
| | | /* add worksheet to workbook */ |
| | | wb.SheetNames.push(ws_name); |
| | | wb.Sheets[ws_name] = ws; |
| | | |
| | | var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'}); |
| | | |
| | | saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), "test.xlsx") |
| | | } |
| | | |
| | | function formatJson(jsonData) { |
| | | // console.log(jsonData) |
| | | } |
| | | export function export_json_to_excel(th, jsonData, defaultTitle) { |
| | | |
| | | /* original data */ |
| | | |
| | | var data = jsonData; |
| | | data.unshift(th); |
| | | var ws_name = "SheetJS"; |
| | | |
| | | var wb = new Workbook(), ws = sheet_from_array_of_arrays(data); |
| | | |
| | | |
| | | /* add worksheet to workbook */ |
| | | wb.SheetNames.push(ws_name); |
| | | wb.Sheets[ws_name] = ws; |
| | | |
| | | var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'}); |
| | | var title = defaultTitle || 'å表' |
| | | saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), title + ".xlsx") |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="width99 padding-top2 margintopbot flex justify-between align-center"> |
| | | <div |
| | | class="didproject-title flex justify-around align-center border borderradius overflow pointer" |
| | | v-for="(item, index) in titlelist" |
| | | :key="index" |
| | | > |
| | | <div class="height width35 flex align-center justify-center overflow padding10"> |
| | | <svg-icon class="fontsize4rem text-center" :style="'color:' + item.color" :icon-class="item.icon" /> |
| | | </div> |
| | | <div class="heigth width55 padding10 overflow"> |
| | | <p class="fontsiez1rem">{{ item.titel }}</p> |
| | | |
| | | <p class="text-center fontsize2rem fontweight600 color409EFF margin-top15"> |
| | | <countTo :startVal="startVal" :endVal="item.mun" :duration="3000"></countTo> |
| | | </p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import countTo from 'vue-count-to'; |
| | | import { GetStorageOverviewData } from '@/api/Didproject'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | startVal: 0, |
| | | titlelist: [ |
| | | { |
| | | icon: 'documentation', |
| | | titel: 'åºä½æ»æ°', |
| | | mun: 0, |
| | | color: '#40C9C6' |
| | | }, |
| | | { |
| | | icon: 'storage', |
| | | titel: 'æè´§åºä½', |
| | | mun: 0, |
| | | color: '#F4516C' |
| | | }, |
| | | { |
| | | icon: 'him', |
| | | titel: '带件å¨å
·', |
| | | mun: 0, |
| | | color: '#36A3F7' |
| | | }, |
| | | { |
| | | icon: 'clipboard', |
| | | titel: '空å¨å
·æ°', |
| | | mun: 0, |
| | | color: '#34BFA3' |
| | | }, |
| | | { |
| | | icon: 'table', |
| | | titel: 'å¶ä»¶æ»æ°', |
| | | mun: 1, |
| | | color: '#ffc637' |
| | | } |
| | | ], |
| | | cleartime: null |
| | | }; |
| | | }, |
| | | components: { countTo }, |
| | | mounted() { |
| | | this.GetStorageOverviewData(); |
| | | this.cleartime = setInterval(() => { |
| | | this.GetStorageOverviewData(); |
| | | }, 60000); |
| | | }, |
| | | methods: { |
| | | //ç«åºæ»è§åå¶ä»¶æ»è§ |
| | | GetStorageOverviewData() { |
| | | // no ç¼å·ï¼title æ é¢ï¼value æ°é |
| | | GetStorageOverviewData().then(res => { |
| | | let data = res.data || []; |
| | | this.titlelist.forEach(item => { |
| | | data.forEach(element => { |
| | | if (item.titel == element.titel) { |
| | | item.mun = element.value; |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | | if (this.cleartime) { |
| | | clearInterval(this.cleartime); |
| | | this.cleartime = null; |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .didproject-title { |
| | | width: 18%; |
| | | padding: 0 0; |
| | | box-shadow: 0 0 4px #c1c9d0; |
| | | background: #f0f2f5; |
| | | transition: all 0.3s; |
| | | &:hover { |
| | | box-shadow: 0 0 4px #99b7e2; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="flex align-center justify-end"> |
| | | <div id="topinquer" class="flex align-center"> |
| | | <div class="flex align-center margin-right15"> |
| | | <label>æå±ä»åºï¼</label> |
| | | <el-select v-model="iqnuer.enable" size="mini" clearable placeholder="è¯·éæ©"> |
| | | <el-option v-for="item in enableList" :key="item.value" :label="item.label" :value="item.value"> </el-option> |
| | | </el-select> |
| | | </div> |
| | | <el-button type="primary" size="mini">æ¥è¯¢</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | iqnuer: {}, |
| | | enableList: [] |
| | | }; |
| | | }, |
| | | props: {} |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #topinquer { |
| | | ::v-deep .el-select { |
| | | // width: 100px; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="width99 padding-top2 margintopbot flex justify-between align-center"> |
| | | <div |
| | | class="didproject-title flex justify-around align-center border borderradius overflow pointer" |
| | | v-for="(item, index) in titlelist" |
| | | :key="index" |
| | | > |
| | | <div class="height width35 flex align-center justify-center overflow padding10"> |
| | | <svg-icon class="fontsize4rem text-center" :style="'color:' + item.color" :icon-class="item.icon" /> |
| | | </div> |
| | | <div class="heigth width55 padding10 overflow"> |
| | | <p class="fontsiez1rem">{{ item.titel }}</p> |
| | | |
| | | <p class="text-center fontsize2rem fontweight600 color409EFF margin-top15"> |
| | | <countTo :startVal="startVal" :endVal="item.mun" :duration="3000"></countTo> |
| | | </p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import countTo from 'vue-count-to'; |
| | | import { GetHomeNumData, GetHomeBarItemData } from '@/api/Didproject'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | startVal: 0, |
| | | titlelist: [ |
| | | { |
| | | icon: 'in-storage', |
| | | titel: '仿¥å
¥åºé¶ä»¶æ°', |
| | | mun: 0, |
| | | color: '#40C9C6' |
| | | }, |
| | | { |
| | | icon: 'skill', |
| | | titel: '仿¥åºåºé¶ä»¶æ°', |
| | | mun: 0, |
| | | color: '#F4516C' |
| | | }, |
| | | { |
| | | icon: 'example', |
| | | titel: '仿¥å
¥åºå¨å
·æ°', |
| | | mun: 0, |
| | | color: '#36A3F7' |
| | | }, |
| | | { |
| | | icon: 'trade', |
| | | titel: '仿¥åºåºå¨å
·æ°', |
| | | mun: 0, |
| | | color: '#34BFA3' |
| | | }, |
| | | { |
| | | icon: 'record-chart', |
| | | titel: 'è¶
æé¶ä»¶æ°é', |
| | | mun: 1, |
| | | color: '#ffc637' |
| | | } |
| | | ], |
| | | cleartime: null |
| | | }; |
| | | }, |
| | | components: { countTo }, |
| | | mounted() { |
| | | this.GetHomeNumData(); |
| | | this.cleartime = setInterval(() => { |
| | | this.GetHomeNumData(); |
| | | }, 60000); |
| | | }, |
| | | methods: { |
| | | //仿¥åºå
¥åºæ°æ® |
| | | GetHomeNumData() { |
| | | if (this.cleartime) { |
| | | clearInterval(this.cleartime); |
| | | this.cleartime = null; |
| | | } |
| | | // no ç¼å·ï¼title æ é¢ï¼value æ°é |
| | | GetHomeNumData().then(res => { |
| | | let data = res.data || []; |
| | | this.titlelist.forEach(item => { |
| | | data.forEach(element => { |
| | | if (item.titel == element.titel) { |
| | | item.mun = element.value; |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | | if (this.cleartime) { |
| | | clearInterval(this.cleartime); |
| | | this.cleartime = null; |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .didproject-title { |
| | | width: 18%; |
| | | padding: 0px 0; |
| | | box-shadow: 0 0 4px #c1c9d0; |
| | | background: #f0f2f5; |
| | | transition: all 0.3s; |
| | | &:hover { |
| | | box-shadow: 0 0 4px #99b7e2; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="chart-wrapper" ref="didline"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | import resize from '@/mixins/resize'; |
| | | const echarts = require('echarts'); |
| | | export default { |
| | | name: 'placePie', |
| | | props: { |
| | | titleechart: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | linelist: { |
| | | type: Object, |
| | | default: () => {} |
| | | }, |
| | | colorList: { |
| | | type: Array, |
| | | default: () => [] |
| | | } |
| | | }, |
| | | mixins: [resize], |
| | | data() { |
| | | return {}; |
| | | }, |
| | | mounted() { |
| | | this.initEchart(); |
| | | }, |
| | | methods: { |
| | | initEchart() { |
| | | const colorList = ['#ffc637', '#fc7293', '#8477e9', '#2599f0', '#31c3ea', '#17d8b9', '#e8bdf3']; |
| | | let _this = this; |
| | | let serieslist = []; |
| | | |
| | | let data = this.linelist.data; |
| | | if (data) { |
| | | data.forEach((item, index) => { |
| | | serieslist.push({ |
| | | name: item.name, |
| | | type: 'bar', |
| | | data: item.xdata, |
| | | barWidth: 15, |
| | | barGap: 1, //æ±é´è·ç¦» |
| | | label: { |
| | | //å¾å½¢ä¸çææ¬æ ç¾ |
| | | normal: { |
| | | show: true, |
| | | position: 'top', |
| | | textStyle: { |
| | | color: '#a8aab0', |
| | | fontStyle: 'normal', |
| | | fontFamily: '微软é
é»', |
| | | fontSize: 14 |
| | | } |
| | | } |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | show: true, |
| | | color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ |
| | | { |
| | | offset: 0, |
| | | color: this.colorList[index] |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: this.colorList[index] |
| | | } |
| | | ]), |
| | | barBorderRadius: 50, |
| | | borderWidth: 0 |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | this.myChart = echarts.init(this.$refs.didline); |
| | | this.myChart.setOption( |
| | | { |
| | | title: { |
| | | text: this.linelist && this.linelist.data ? this.titleechart : 'ææ æ°æ®', |
| | | textStyle: { |
| | | fontSize: 22 |
| | | }, |
| | | subtextStyle: { |
| | | fontSize: 22, |
| | | fontWeight: 'bold' |
| | | }, |
| | | left: '45%', |
| | | x: 'center', |
| | | y: 0, |
| | | itemGap: 10 |
| | | }, |
| | | tooltip: { |
| | | //æç¤ºæ¡ç»ä»¶ |
| | | trigger: 'axis', |
| | | // formatter: '{b}<br />{a0}: {c0}<br />{a1}: {c1}', |
| | | axisPointer: { |
| | | type: 'shadow', |
| | | label: { |
| | | backgroundColor: '#6a7985' |
| | | } |
| | | }, |
| | | textStyle: { |
| | | // color: '#fff', |
| | | fontStyle: 'normal', |
| | | fontFamily: '微软é
é»', |
| | | fontSize: 12 |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '1%', |
| | | right: '1%', |
| | | bottom: '1%', |
| | | top: '15%', |
| | | // padding:'0 0 10 0', |
| | | containLabel: true |
| | | }, |
| | | legend: { |
| | | //å¾ä¾ç»ä»¶ï¼é¢è²ååå |
| | | right: '1%', |
| | | top: '0%', |
| | | itemGap: 16, |
| | | itemWidth: 18, |
| | | itemHeight: 10, |
| | | data: this.linelist.legend, |
| | | textStyle: { |
| | | color: '#a8aab0', |
| | | fontStyle: 'normal', |
| | | fontFamily: '微软é
é»', |
| | | fontSize: 12 |
| | | } |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | // boundaryGap: true,//åæ è½´ä¸¤è¾¹çç½ |
| | | data: this.linelist.xdata, |
| | | // data: Axdata, |
| | | axisLabel: { |
| | | interval: 0, //设置为 1ï¼è¡¨ç¤ºãéä¸ä¸ªæ ç¾æ¾ç¤ºä¸ä¸ªæ ç¾ã |
| | | margin: 10, |
| | | textStyle: { |
| | | fontSize: 12 |
| | | } |
| | | }, |
| | | axisLine: { show: true, lineStyle: { color: '#636972', width: 2 } }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { color: '#2b3442', width: 1 } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | } |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'value', |
| | | splitNumber: 5, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 12 |
| | | } |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#636972', |
| | | width: 1 |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: '#636972' |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | dataZoom: [ |
| | | { |
| | | type: 'inside', |
| | | startValue: 0, |
| | | endValue: 10 |
| | | } |
| | | ], |
| | | series: serieslist |
| | | }, |
| | | true |
| | | ); |
| | | |
| | | // this.myChart.getZr().on('click', function (res) { |
| | | // const { href } = _this.$router.resolve({ |
| | | // path: '/output' |
| | | // }); |
| | | // window.open(href, '_blank'); |
| | | // }); |
| | | } |
| | | }, |
| | | watch: { |
| | | linelist: { |
| | | handler() { |
| | | this.initEchart(); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="main-home-notice el-alert--warning is-light" v-if="visible" @click.stop="onClose"> |
| | | <div class="left-icon"><i class="el-icon-warning"></i></div> |
| | | <div class="notice-view"> |
| | | <auto-scroll :step-speed="4000" dir="horizontal"> |
| | | <div class="notice-item" v-for="(item, index) in notices" :key="'notice-item-' + index"> |
| | | {{ index + 1 }}ãé¶ä»¶å·ï¼{{item.itemName}}ï¼é¶ä»¶åç§°ï¼{{item.itemDes}}ï¼è¶
éãç®ååºå<span class="blue-f">{{item.itemNum}}</span>ä»¶ï¼ä¸é<span class="red-f">{{item.minStorage}}</span>ä»¶ï¼ä¸é<span class="red-f">{{item.maxStorage}}</span>ä»¶ã |
| | | </div> |
| | | </auto-scroll> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import AutoScroll from '@/components/autoscroll/index.vue'; |
| | | export default { |
| | | name: 'mainHomeNotice', |
| | | components: { AutoScroll }, |
| | | props: { |
| | | notices: { |
| | | type: Array, |
| | | default: function () { |
| | | return []; |
| | | } |
| | | }, |
| | | visible: { |
| | | type: Boolean, |
| | | default: false |
| | | } |
| | | }, |
| | | methods: { |
| | | onClose() { |
| | | this.$emit('update:visible', false); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .main-home-notice { |
| | | $leftWidth: 36px; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | z-index: 20; |
| | | font-size: 20px; |
| | | height: 40px; |
| | | padding-left: $leftWidth; |
| | | cursor: default; |
| | | .left-icon { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | height: 100%; |
| | | width: $leftWidth; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | .notice-view { |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | .notice-item { |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-right: 20px; |
| | | &:last-child { |
| | | margin-right: 0; |
| | | } |
| | | .blue-f{ |
| | | color:#409eff; |
| | | } |
| | | .red-f{ |
| | | color:#ff0000; |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="chart-wrapper" ref="placePie"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | import resize from '@/mixins/resize'; |
| | | const echarts = require('echarts'); |
| | | export default { |
| | | name: 'placePie', |
| | | props: { |
| | | chartData: { |
| | | type: Object |
| | | } |
| | | }, |
| | | mixins: [resize], |
| | | data() { |
| | | return {}; |
| | | }, |
| | | mounted() { |
| | | this.initEchart(); |
| | | }, |
| | | methods: { |
| | | initEchart() { |
| | | let _this = this; |
| | | const colorList = ['#8477e9', '#ffc637', '#fc7293', '#2599f0', '#31c3ea', '#17d8b9', '#e8bdf3']; |
| | | this.myChart = echarts.init(this.$refs.placePie); |
| | | this.myChart.setOption( |
| | | { |
| | | color: colorList, |
| | | title: { |
| | | text: 'åºä½ç±»åï¼' + this.chartData.titel, |
| | | top: '0%', |
| | | left: '10%', |
| | | textAlign: 'left', |
| | | textStyle: { |
| | | fontSize: 14, |
| | | fontWeight: '400' |
| | | } |
| | | }, |
| | | tooltip: { |
| | | trigger: 'item', |
| | | formatter: '{a} <br/>{b} : {c}<br/>', |
| | | // + 'å æ¯ï¼' + '{d}' + '%' |
| | | |
| | | position: function (pos, params, dom, rect, size) { |
| | | var obj = { bottom: '10%' }; |
| | | obj[['left', 'right'][+(pos[0] < size.viewSize[0] / 2)]] = 5; |
| | | return obj; |
| | | } |
| | | }, |
| | | |
| | | legend: { |
| | | show: this.chartData.list.length > 0, |
| | | bottom: '10%', //å»¶Yè½´å±
ä¸ |
| | | right: '0', |
| | | type: 'scroll', |
| | | align: 'right', |
| | | orient: 'vertival', |
| | | itemHeight: 11, |
| | | itemWidth: 11, |
| | | pageTextStyle: { |
| | | color: '#556677' |
| | | }, |
| | | pageIconColor: '#556677', |
| | | |
| | | color: '#556677', |
| | | fontSize: 14, |
| | | data: this.chartData.list.map(item => item.name) |
| | | }, |
| | | series: [ |
| | | { |
| | | name: this.chartData.titel, |
| | | type: 'pie', |
| | | radius: ['65%', '80%'], |
| | | center: ['50%', '50%'], |
| | | data: this.chartData.list, |
| | | // roseType: 'radius', //area |
| | | label: { |
| | | show: true, |
| | | position: 'center', |
| | | |
| | | fontSize: 14, |
| | | color: '#556677', |
| | | |
| | | formatter: function (params) { |
| | | let sum = _this.chartData.list[0].value + _this.chartData.list[1].value; |
| | | let val_1 = _this.chartData.list[0].value / sum; |
| | | val_1 = JSON.stringify(val_1) != 'null' ? JSON.stringify(val_1 * 100).slice(0, 5) : 0; |
| | | let val_2 = _this.chartData.list[1].value / sum; |
| | | val_2 = JSON.stringify(val_2) != 'null' ? JSON.stringify(val_2 * 100).slice(0, 5) : 0; |
| | | return ( |
| | | _this.chartData.list[0].name + |
| | | ':' + |
| | | _this.chartData.list[0].value + |
| | | // val_1 + |
| | | // '%' + |
| | | '\n\n' + |
| | | _this.chartData.list[1].name + |
| | | ':' + |
| | | _this.chartData.list[1].value + |
| | | // val_2 + |
| | | // '%' + |
| | | '\n\n使ç¨ç:' + |
| | | _this.chartData.placeRate |
| | | ); |
| | | } |
| | | }, |
| | | labelLine: { |
| | | show: false, |
| | | length: 10, |
| | | length2: 5, |
| | | smooth: false |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | | true |
| | | ); |
| | | } |
| | | }, |
| | | watch: { |
| | | chartData: { |
| | | handler() { |
| | | this.initEchart(); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div id="Didproject" class="global-content"> |
| | | <div class="width height overflowy-auto"> |
| | | <div class="height250 overflow"> |
| | | <div class="flex justify-end align-centent"> |
| | | <el-date-picker |
| | | v-model="daterange" |
| | | size="mini" |
| | | type="daterange" |
| | | value-format="yyyy-MM-dd" |
| | | range-separator="è³" |
| | | :clearable="false" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ" |
| | | > |
| | | </el-date-picker> |
| | | <el-button class="margin-left margin-right" type="primary" size="mini" @click="derive">导åº</el-button> |
| | | </div> |
| | | <did-nav /> |
| | | <classify /> |
| | | </div> |
| | | <!-- height-calc280 --> |
| | | <div class="width margin-top10px overflowy-auto"> |
| | | <div class="margintopbot paddingtopbottom width overflow"> |
| | | <p class="fontsize2rem text-center">è´§ä½ä½¿ç¨å®æ¶å¾</p> |
| | | <div class="flex flex-wrap"> |
| | | <div |
| | | class="did-echarts margin-top10px margin-right width30" |
| | | v-for="(item, index) in chartData" |
| | | :key="index + 'pieechart'" |
| | | > |
| | | <pie-echarts class="width height" :chartData="item" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="margintopbot width overflow"> |
| | | <p class="fontsize2rem text-center">é¶ä»¶åºå
¥åºç»è®¡</p> |
| | | <div class="width margintopbot flex justify-end"> |
| | | <el-date-picker |
| | | v-model="datatime" |
| | | size="mini" |
| | | type="datetimerange" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ" |
| | | > |
| | | </el-date-picker> |
| | | <el-button class="margin-left margin-right" type="primary" size="mini" @click="goodsinquer">æ¥è¯¢</el-button> |
| | | <el-button class="margin-left margin-right" type="primary" size="mini" @click="linkTo">跳转</el-button> |
| | | </div> |
| | | <div class="width98 margintopbot echart-height"> |
| | | <line-echart |
| | | titleechart="é¶ä»¶æ°éç»è®¡" |
| | | :linelist="BarItemlinelist" |
| | | :colorList="barcolorList" |
| | | class="width height" |
| | | /> |
| | | </div> |
| | | <div class="width98 margintopbot echart-height"> |
| | | <line-echart |
| | | titleechart="å¨å
·åºå
¥åºç»è®¡" |
| | | :linelist="Containerlinelist" |
| | | :colorList="concolorList" |
| | | class="width height" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <top-notice :visible.sync="noticeVisible" :notices="noticeData"></top-notice> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import DidInquer from './components/didinquer'; |
| | | import DidNav from './components/didnav'; |
| | | import Classify from './components/classify.vue'; |
| | | import PieEcharts from './components/pieEcharts'; |
| | | import LineEchart from './components/lineEcharts'; |
| | | import { |
| | | GetHomePieData, |
| | | GetHomeBarItemData, |
| | | GetHomeBarContainerData, |
| | | GetHomeNumDataByDate, |
| | | GetWarnings |
| | | } from '@/api/Didproject'; |
| | | import { getDate, GetDateStr, GetTimeStr, getimestampDate, getymdhms } from '@/utils/date'; |
| | | const { Didproject } = require('@/components/tableContainer/tableHead'); |
| | | import { exportTableList } from '@/utils/excel'; |
| | | import TopNotice from './components/notice.vue'; |
| | | // import { SearchPermission, AddOrUpdateRoleVsPermission, GetUserRoleAllPermission } from '@/api/role-auth'; |
| | | export default { |
| | | components: { DidInquer, DidNav, PieEcharts, LineEchart, Classify, TopNotice }, |
| | | data() { |
| | | return { |
| | | daterange: [GetDateStr(0), GetDateStr(0)], |
| | | datatime: [GetDateStr(-15) + ' 00:00:00', getDate() + ' ' + GetTimeStr(0)], |
| | | chartData: [], |
| | | BarItemlinelist: {}, //é¶ä»¶åºå
¥æ°é |
| | | Containerlinelist: {}, //åºå
¥åºæ°é |
| | | clearIntervaltime: null, |
| | | BarItemlineshow: false, |
| | | Containerline: false, |
| | | barcolorList: ['#ffc637', '#fc7293', '#8477e9', '#2599f0', '#31c3ea', '#17d8b9', '#e8bdf3'], |
| | | concolorList: ['#31c3ea', '#17d8b9', '#2599f0', '#e8bdf3', '#ffc637', '#fc7293', '#8477e9'], |
| | | noticeVisible: false, |
| | | noticeData: [] |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.getWarnings(() => { |
| | | this.GetHomePieData(); |
| | | this.GetHomeBarItemData(); |
| | | this.GetHomeBarContainerData(); |
| | | this.clearIntervaltime = setInterval(() => { |
| | | this.GetHomePieData(); |
| | | }, 60000); |
| | | }); |
| | | }, |
| | | methods: { |
| | | //æ¶é´æ¥è¯¢ |
| | | goodsinquer() { |
| | | this.GetHomeBarItemData(); |
| | | this.GetHomeBarContainerData(); |
| | | }, |
| | | //åç±»ååºä½ä½¿ç¨ç»è®¡ |
| | | GetHomePieData() { |
| | | //placeType åºä½ç±»åï¼placeTotalNum æ»åºä½æ°ï¼placeFullNum å·²ç¨åºä½æ°ï¼placeRate 使ç¨çï¼ |
| | | GetHomePieData().then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | let pielist = []; |
| | | data.forEach((element, index) => { |
| | | pielist.push({ titel: '', placeRate: '', list: [] }); |
| | | |
| | | for (let i in element) { |
| | | if (i == 'placeVal' || i == 'placeOtherVal') { |
| | | pielist[index].list.push({ |
| | | name: |
| | | i == 'placeOtherVal' |
| | | ? 'æªç¨åºä½æ°' |
| | | : i == 'placeVal' |
| | | ? 'å·²ç¨åºä½æ°' |
| | | : i == 'placeRate' |
| | | ? '使ç¨ç' |
| | | : i, |
| | | value: element[i] |
| | | }); |
| | | } else if (i == 'placeType') { |
| | | pielist[index].titel = element[i]; |
| | | } else if (i == 'placeRate') { |
| | | pielist[index].placeRate = element[i]; |
| | | } |
| | | } |
| | | }); |
| | | this.chartData = pielist; |
| | | console.log(this.chartData); |
| | | } |
| | | }); |
| | | }, |
| | | //è·åé¶ä»¶çåºå
¥åºæ°é |
| | | GetHomeBarItemData() { |
| | | let time = { |
| | | startTime: this.datatime ? this.datatime[0] : '', |
| | | endTime: this.datatime ? this.datatime[1] : '' |
| | | }; |
| | | this.BarItemlineshow = false; |
| | | GetHomeBarItemData(time).then(res => { |
| | | this.BarItemlinelist = res.data; |
| | | this.BarItemlineshow = true; |
| | | }); |
| | | }, |
| | | //è·åå¨å
·çåºå
¥åºæ°é |
| | | GetHomeBarContainerData() { |
| | | let time = { |
| | | startTime: this.datatime ? this.datatime[0] : '', |
| | | endTime: this.datatime ? this.datatime[1] : '' |
| | | }; |
| | | this.$Loading(true); |
| | | this.Containerline = false; |
| | | GetHomeBarContainerData(time).then(res => { |
| | | this.Containerlinelist = res.data; |
| | | this.Containerline = true; |
| | | this.$Loading(); |
| | | }); |
| | | }, |
| | | //è·³è½¬å¤§å± |
| | | linkTo() { |
| | | const { href } = this.$router.resolve({ |
| | | path: '/output' |
| | | }); |
| | | window.open(href, '_blank'); |
| | | }, |
| | | //å¯¼åº |
| | | derive() { |
| | | let tabledata = []; |
| | | let tHeader = []; |
| | | let filterVal = []; |
| | | Didproject.forEach(item => { |
| | | tHeader.push(item.columnDescription); |
| | | filterVal.push(item.columnName); |
| | | }); |
| | | this.$Loading(true); |
| | | GetHomeNumDataByDate({ stDate: this.daterange[0], edDate: this.daterange[1] }).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach((element, index) => { |
| | | tabledata.push({ |
| | | time: getimestampDate(element.time) |
| | | }); |
| | | element.homeNumDataEntityList.forEach(item => { |
| | | Didproject.forEach(vl => { |
| | | if (item.titel == vl.columnDescription) { |
| | | tabledata[index][vl.columnName] = item.value; |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | exportTableList(tHeader, filterVal, tabledata, 'åºåæ°æ®' + getymdhms()); |
| | | this.$Loading(false); |
| | | } |
| | | }); |
| | | }, |
| | | getWarnings(callback) { |
| | | GetWarnings() |
| | | .then(d => { |
| | | if (d.code === 0) { |
| | | this.noticeData = d.data || []; |
| | | this.noticeVisible = true; |
| | | callback(true); |
| | | } else { |
| | | callback(false); |
| | | } |
| | | console.log('kklkljj', d); |
| | | }) |
| | | .catch(() => { |
| | | callback(false); |
| | | }); |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | | if (this.clearIntervaltime) { |
| | | clearInterval(this.clearIntervaltime); |
| | | this.clearIntervaltime = null; |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | #Didproject { |
| | | position: relative; |
| | | .did-echarts { |
| | | height: 200px; |
| | | } |
| | | .echart-height { |
| | | height: 300px; |
| | | margin: 1% auto 2%; |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="width"> |
| | | <p class="colorfff fontsiez1rem padding10">{{ navobj.titel }}</p> |
| | | <div class="width flex justify-around"> |
| | | <div |
| | | class="colorfff borderdashed borderradius padding1016" |
| | | v-for="(item, index) in navobj.list" |
| | | :key="index + 'navobj'" |
| | | > |
| | | <p class="margin4auto">{{ item.titel }}</p> |
| | | <count-to :startVal="0" :endVal="item.value" :duration="3000"></count-to> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import countTo from 'vue-count-to'; |
| | | import { GetStorageOverviewData } from '@/api/Didproject'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | startVal: 0, |
| | | cleartime: null |
| | | }; |
| | | }, |
| | | props: { |
| | | navobj: { |
| | | type: Object, |
| | | default: () => {} |
| | | } |
| | | }, |
| | | components: { countTo }, |
| | | mounted() { |
| | | this.GetStorageOverviewData(); |
| | | this.cleartime = setInterval(() => { |
| | | this.GetStorageOverviewData(); |
| | | }, 60000); |
| | | }, |
| | | methods: { |
| | | //ç«åºæ»è§åå¶ä»¶æ»è§ |
| | | GetStorageOverviewData() { |
| | | // no ç¼å·ï¼title æ é¢ï¼value æ°é |
| | | GetStorageOverviewData().then(res => { |
| | | let data = res.data || []; |
| | | this.navobj.list.forEach(item => { |
| | | data.forEach(element => { |
| | | if (item.titel == element.titel) { |
| | | item.value = element.value; |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | | if (this.cleartime) { |
| | | clearInterval(this.cleartime); |
| | | this.cleartime = null; |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="chart-wrapper" ref="sourmeterLine"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | import resize from '@/mixins/resize'; |
| | | const echarts = require('echarts'); |
| | | export default { |
| | | name: 'sourmeterLine', |
| | | props: { |
| | | chartData: { |
| | | type: Object, |
| | | default: () => {} |
| | | }, |
| | | colorList: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | colors: { |
| | | type: String, |
| | | default: '#636972' |
| | | }, |
| | | yTotals:{ |
| | | type:Number, |
| | | default:-1 |
| | | } |
| | | }, |
| | | mixins: [resize], |
| | | data() { |
| | | return {}; |
| | | }, |
| | | mounted() { |
| | | this.initEchart(); |
| | | }, |
| | | methods: { |
| | | initEchart() { |
| | | // åºäºåå¤å¥½çdomï¼åå§åechartså®ä¾ |
| | | let serieslist = []; |
| | | let data = this.chartData.data; |
| | | if (data) { |
| | | data.forEach((element, index) => { |
| | | let nObj = { |
| | | name: element.name, |
| | | type: index == 0 ? 'line' : 'bar', |
| | | smooth: true, |
| | | yAxisIndex: index, |
| | | // symbol: index == 1 ? 'circle' : '', |
| | | symbolSize: 12, |
| | | // ä¿®æ¹çæ¯çº¿çé¢è² |
| | | lineStyle: { |
| | | color: { |
| | | type: 'linear', |
| | | x: 0, |
| | | y: 1, |
| | | x2: 0, |
| | | y2: 0, |
| | | // 0% å¤çé¢è² // 100% å¤çé¢è² |
| | | colorStops: [ |
| | | { offset: 0, color: '#66d4fa' }, |
| | | { offset: 0.25, color: '#66d4fa' }, |
| | | { offset: 0.75, color: '#66d4fa' }, |
| | | { offset: 1, color: '#66d4fa' } |
| | | ], |
| | | global: false // 缺ç为 false |
| | | }, |
| | | width: 10 |
| | | }, |
| | | //ä¿®æ¹æ±ç¶å¾é¢è² |
| | | itemStyle: { |
| | | normal: { |
| | | // barBorderRadius: 5, |
| | | color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ |
| | | { offset: 0, color: '#00CA69' }, |
| | | { offset: 1, color: '#3EACE5' } |
| | | ]) |
| | | } |
| | | }, |
| | | areaStyle: { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient( |
| | | 0, |
| | | 0, |
| | | 0, |
| | | 1, |
| | | [ |
| | | { |
| | | offset: 0, |
| | | color: 'rgba(236, 99, 123, 0)' |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: 'rgba(102, 212, 250,.0)' |
| | | } |
| | | ], |
| | | false |
| | | ), |
| | | shadowColor: '#636972', |
| | | shadowBlur: 1 |
| | | } |
| | | }, |
| | | data: element.xdata |
| | | } |
| | | console.log('nObj',nObj) |
| | | serieslist.push(nObj); |
| | | }); |
| | | } |
| | | this.myChart = echarts.init(this.$refs.sourmeterLine); |
| | | let splitNumber = 5; // å岿®µ |
| | | |
| | | let thisOpt = { |
| | | title: { |
| | | show: true, |
| | | text: 'ä»»å¡èæåæ', |
| | | x: 'center', |
| | | y: '0%', |
| | | textAlign: null, //æ°´å¹³å¯¹é½æ¹å¼ï¼é»è®¤æ ¹æ®x设置èªå¨è°æ´ï¼å¯éä¸ºï¼ left' | 'right' | 'center |
| | | textStyle: { |
| | | //主æ é¢ææ¬æ ·å¼{"fontSize": 18,"fontWeight": "bolder",} |
| | | color: this.colors, |
| | | fontWeight: 'normal', |
| | | fontSize: 50, |
| | | fontFamily: 'time_new_Roma' |
| | | } |
| | | }, |
| | | |
| | | color: this.colorList, |
| | | legend: { |
| | | right: '0%', |
| | | top: '0%', |
| | | textStyle: { |
| | | color: this.colors, |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | textStyle: { |
| | | fontSize: 36 |
| | | }, |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | }, |
| | | formatter: '{b}<br />{a0}: {c0}%<br />{a1}: {c1}' |
| | | }, |
| | | grid: { |
| | | left: '1%', |
| | | right: '1%', |
| | | bottom: '1%', |
| | | top: '15%', |
| | | // padding:'0 0 10 0', |
| | | containLabel: true |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | axisLabel: { |
| | | interval: 0, //设置为 1ï¼è¡¨ç¤ºãéä¸ä¸ªæ ç¾æ¾ç¤ºä¸ä¸ªæ ç¾ã |
| | | textStyle: { |
| | | fontSize: 36 |
| | | }, |
| | | width:100, |
| | | overflow:'truncate' |
| | | }, |
| | | axisLine: { show: true, lineStyle: { color: this.colors, width: 10 } }, |
| | | splitLine: {show: false}, |
| | | data: this.chartData.xdata |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'value', |
| | | splitNumber: splitNumber, |
| | | position: 'left', |
| | | // min: function (value) { |
| | | // return value.min - 10; |
| | | // }, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 36 |
| | | }, |
| | | formatter: '{value}%' |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | type: 'value', |
| | | splitNumber: splitNumber, |
| | | position: 'right', |
| | | |
| | | min: function (value) { |
| | | let max = value.max; |
| | | let min = value.min; |
| | | |
| | | let minimum = max - ((max - min) * 3) / 2; |
| | | if (minimum > 0) { |
| | | return minimum; |
| | | } else { |
| | | return 0; |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 36 |
| | | }, |
| | | formatter: '{value}' |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | dataZoom: [ |
| | | { |
| | | type: 'inside', |
| | | startValue: 0, |
| | | endValue: 7 |
| | | } |
| | | ], |
| | | series: serieslist |
| | | } |
| | | console.log('serieslist',serieslist) |
| | | thisOpt.dataZoom[0].endValue = thisOpt.xAxis[0].data.length - 1; |
| | | thisOpt.yAxis[0].max = 100 |
| | | if (this.yTotals>0) { |
| | | thisOpt.yAxis[1].max = this.yTotals |
| | | } |
| | | console.log(thisOpt) |
| | | |
| | | |
| | | this.myChart.setOption( |
| | | thisOpt, |
| | | true |
| | | ); |
| | | } |
| | | }, |
| | | watch: { |
| | | chartData: { |
| | | handler() { |
| | | this.initEchart(); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="chart-wrapper" ref="movablerateLine"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | import resize from '@/mixins/resize'; |
| | | const echarts = require('echarts'); |
| | | export default { |
| | | name: 'movablerateLine', |
| | | props: { |
| | | echarttitle: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | chartData: { |
| | | type: Object, |
| | | default: () => {} |
| | | }, |
| | | colorList: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | colors: { |
| | | type: String, |
| | | default: '#636972' |
| | | } |
| | | }, |
| | | mixins: [resize], |
| | | data() { |
| | | return {}; |
| | | }, |
| | | mounted() { |
| | | this.initEchart(); |
| | | }, |
| | | methods: { |
| | | initEchart() { |
| | | // åºäºåå¤å¥½çdomï¼åå§åechartså®ä¾ |
| | | let serieslist = []; |
| | | let data = this.chartData.data; |
| | | if (data) { |
| | | data.forEach((element, index) => { |
| | | serieslist.push({ |
| | | name: element.name, |
| | | type: 'line', |
| | | smooth: false, //true:åæ»ï¼false:æç° |
| | | barMaxWidth: 30, |
| | | // ä¿®æ¹çæ¯çº¿çé¢è² |
| | | lineStyle: { |
| | | width: 10, |
| | | color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ |
| | | { |
| | | offset: 0, |
| | | color: this.colorList[index] |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: this.colorList[index] |
| | | } |
| | | ]) |
| | | // shadowColor: 'rgba(0,0,0, 0.3)', |
| | | // shadowBlur: 10, |
| | | // shadowOffsetY: 20 |
| | | }, |
| | | |
| | | data: element.xdata |
| | | // label: { |
| | | // show: true, |
| | | // position: 'top', |
| | | // distance: 10, |
| | | // fontSize: 18, |
| | | // color: this.colors |
| | | // } |
| | | }); |
| | | }); |
| | | } |
| | | this.myChart = echarts.init(this.$refs.movablerateLine); |
| | | this.myChart.setOption( |
| | | { |
| | | title: { |
| | | show: true, |
| | | text: this.echarttitle, |
| | | x: 'center', |
| | | y: '0%', |
| | | textAlign: null, //æ°´å¹³å¯¹é½æ¹å¼ï¼é»è®¤æ ¹æ®x设置èªå¨è°æ´ï¼å¯éä¸ºï¼ left' | 'right' | 'center |
| | | textStyle: { |
| | | //主æ é¢ææ¬æ ·å¼{"fontSize": 18,"fontWeight": "bolder",} |
| | | color: this.colors, |
| | | fontWeight: 'normal', |
| | | fontSize: 50 |
| | | } |
| | | }, |
| | | |
| | | color: this.colorList, |
| | | legend: { |
| | | right: 10, |
| | | top: '15%', |
| | | textStyle: { |
| | | color: this.colors, |
| | | fontSize: 24 |
| | | } |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | position: function (pos, params, dom, rect, size) { |
| | | var obj = { bottom: '5%' }; |
| | | obj[['left', 'right'][+(pos[0] < size.viewSize[0] / 2)]] = 5; |
| | | return obj; |
| | | }, |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | }, |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '1%', |
| | | right: '4%', |
| | | bottom: '1%', |
| | | top: '30%', |
| | | // padding:'0 0 10 0', |
| | | containLabel: true |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | axisLabel: { |
| | | interval: 0, //设置为 1ï¼è¡¨ç¤ºãéä¸ä¸ªæ ç¾æ¾ç¤ºä¸ä¸ªæ ç¾ã |
| | | margin: 10, |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | axisLine: { show: true, lineStyle: { color: this.colors, width: 10 } }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { color: this.colors, width: 1 } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | data: this.chartData.xdata |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'value', |
| | | splitNumber: 5, |
| | | min: function (value) { |
| | | let max = value.max; |
| | | let min = value.min; |
| | | let minimum = max - ((max - min) * 3) / 2; |
| | | |
| | | if (minimum > 0) { |
| | | return minimum; |
| | | } else { |
| | | return 0; |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 36 |
| | | }, |
| | | formatter: '{value} %' |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | dataZoom: [ |
| | | { |
| | | type: 'inside', |
| | | startValue: 10, |
| | | endValue: 20 |
| | | } |
| | | ], |
| | | series: serieslist |
| | | }, |
| | | true |
| | | ); |
| | | } |
| | | }, |
| | | watch: { |
| | | chartData: { |
| | | handler() { |
| | | this.initEchart(); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="chart-wrapper" ref="product"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | import resize from '@/mixins/resize'; |
| | | const echarts = require('echarts'); |
| | | export default { |
| | | name: 'product', |
| | | props: { |
| | | echarttitle: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | chartData: { |
| | | type: Object, |
| | | default: () => {} |
| | | }, |
| | | colors: { |
| | | type: String, |
| | | default: '#636972' |
| | | }, |
| | | colorList: { |
| | | type: Array, |
| | | default: () => [] |
| | | } |
| | | }, |
| | | mixins: [resize], |
| | | data() { |
| | | return {}; |
| | | }, |
| | | mounted() { |
| | | this.initEchart(); |
| | | }, |
| | | methods: { |
| | | initEchart() { |
| | | // åºäºåå¤å¥½çdomï¼åå§åechartså®ä¾ |
| | | let serieslist = []; |
| | | let data = this.chartData.data; |
| | | if (data) { |
| | | data.forEach((element, index) => { |
| | | serieslist.push({ |
| | | name: element.name, |
| | | type: 'line', |
| | | smooth: true, |
| | | barMaxWidth: 30, |
| | | // ä¿®æ¹çæ¯çº¿çé¢è² |
| | | lineStyle: { |
| | | width: 10, |
| | | color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [ |
| | | { |
| | | offset: 0, |
| | | color: this.colorList[index] |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: this.colorList[index] |
| | | } |
| | | ]) |
| | | // shadowColor: 'rgba(0,0,0, 0.3)', |
| | | // shadowBlur: 10, |
| | | // shadowOffsetY: 20 |
| | | }, |
| | | |
| | | data: element.xdata |
| | | // label: { |
| | | // show: true, |
| | | // position: 'top', |
| | | // distance: 10, |
| | | // fontSize: 18, |
| | | // color: this.colors |
| | | // } |
| | | }); |
| | | }); |
| | | } |
| | | this.myChart = echarts.init(this.$refs.product); |
| | | this.myChart.setOption( |
| | | { |
| | | title: { |
| | | show: true, |
| | | text: 'å¨å¶åèµéåæ', |
| | | x: 'center', |
| | | y: '0%', |
| | | textAlign: null, //æ°´å¹³å¯¹é½æ¹å¼ï¼é»è®¤æ ¹æ®x设置èªå¨è°æ´ï¼å¯éä¸ºï¼ left' | 'right' | 'center |
| | | textStyle: { |
| | | //主æ é¢ææ¬æ ·å¼{"fontSize": 18,"fontWeight": "bolder",} |
| | | color: this.colors, |
| | | fontWeight: 'normal', |
| | | fontSize: 50 |
| | | } |
| | | }, |
| | | |
| | | color: this.colorList, |
| | | legend: { |
| | | right: '1%', |
| | | top: '10%', |
| | | textStyle: { |
| | | fontSize: 36, |
| | | color: this.colors |
| | | } |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | }, |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '2%', |
| | | right: '1%', |
| | | bottom: '2%', |
| | | top: '20%', |
| | | // padding:'0 0 10 0', |
| | | containLabel: true |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | axisLabel: { |
| | | interval: 0, //设置为 1ï¼è¡¨ç¤ºãéä¸ä¸ªæ ç¾æ¾ç¤ºä¸ä¸ªæ ç¾ã |
| | | margin: 10, |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | axisLine: { show: true, lineStyle: { color: this.colors, width: 10 } }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { color: this.colors, width: 1 } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | data: this.chartData.xdata |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | name: 'éé¢ï¼ç¾ä¸å
ï¼', |
| | | nameTextStyle: { fontSize: 36 }, |
| | | type: 'value', |
| | | splitNumber: 5, |
| | | min: function (value) { |
| | | let max = value.max; |
| | | let min = value.min; |
| | | let minimum = max - ((max - min) * 3) / 2; |
| | | if (minimum > 0) { |
| | | return minimum; |
| | | } else { |
| | | return 0; |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | dataZoom: [ |
| | | { |
| | | type: 'inside', |
| | | startValue: 10, |
| | | endValue: 20 |
| | | } |
| | | ], |
| | | series: serieslist |
| | | }, |
| | | true |
| | | ); |
| | | } |
| | | }, |
| | | watch: { |
| | | chartData: { |
| | | handler() { |
| | | this.initEchart(); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="chart-wrapper" ref="movablerateLine"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | import resize from '@/mixins/resize'; |
| | | const echarts = require('echarts'); |
| | | export default { |
| | | name: 'movablerateLine', |
| | | props: { |
| | | echarttitle: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | chartData: { |
| | | type: Object, |
| | | default: () => {} |
| | | }, |
| | | colors: { |
| | | type: String, |
| | | default: '#636972' |
| | | }, |
| | | colorList: { |
| | | type: Array, |
| | | default: () => [] |
| | | } |
| | | }, |
| | | mixins: [resize], |
| | | data() { |
| | | return {}; |
| | | }, |
| | | mounted() { |
| | | this.initEchart(); |
| | | }, |
| | | methods: { |
| | | initEchart() { |
| | | // åºäºåå¤å¥½çdomï¼åå§åechartså®ä¾ |
| | | let serieslist = []; |
| | | let data = this.chartData.data; |
| | | if (data) { |
| | | data.forEach((element, index) => { |
| | | serieslist.push({ |
| | | name: element.name, |
| | | type: 'line', |
| | | smooth: false, |
| | | barMaxWidth: 30, |
| | | // ä¿®æ¹çæ¯çº¿çé¢è² |
| | | lineStyle: { |
| | | width: 10, |
| | | color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ |
| | | { |
| | | offset: 0, |
| | | color: this.colorList[index] |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: this.colorList[index] |
| | | } |
| | | ]) |
| | | // shadowColor: 'rgba(0,0,0, 0.3)', |
| | | // shadowBlur: 10, |
| | | // shadowOffsetY: 20 |
| | | }, |
| | | data: element.xdata |
| | | // label: { |
| | | // show: true, |
| | | // position: 'top', |
| | | // distance: 10, |
| | | // fontSize: 18, |
| | | // color: this.colors |
| | | // } |
| | | }); |
| | | }); |
| | | } |
| | | this.myChart = echarts.init(this.$refs.movablerateLine); |
| | | this.myChart.setOption( |
| | | { |
| | | title: { |
| | | show: true, |
| | | text: this.echarttitle, |
| | | x: 'center', |
| | | y: '0%', |
| | | textAlign: null, //æ°´å¹³å¯¹é½æ¹å¼ï¼é»è®¤æ ¹æ®x设置èªå¨è°æ´ï¼å¯éä¸ºï¼ left' | 'right' | 'center |
| | | textStyle: { |
| | | //主æ é¢ææ¬æ ·å¼{"fontSize": 18,"fontWeight": "bolder",} |
| | | color: this.colors, |
| | | fontWeight: 'normal', |
| | | fontSize: 50 |
| | | } |
| | | }, |
| | | |
| | | color: this.colorList, |
| | | legend: { |
| | | right: 10, |
| | | top: '15%', |
| | | textStyle: { |
| | | color: this.colors, |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | position: function (pos, params, dom, rect, size) { |
| | | var obj = { bottom: '5%' }; |
| | | obj[['left', 'right'][+(pos[0] < size.viewSize[0] / 2)]] = 5; |
| | | return obj; |
| | | }, |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | }, |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '1%', |
| | | right: '4%', |
| | | bottom: '1%', |
| | | top: '30%', |
| | | // padding:'0 0 10 0', |
| | | containLabel: true |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | axisLabel: { |
| | | interval: 0, //设置为 1ï¼è¡¨ç¤ºãéä¸ä¸ªæ ç¾æ¾ç¤ºä¸ä¸ªæ ç¾ã |
| | | margin: 10, |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | axisLine: { show: true, lineStyle: { color: this.colors, width: 10 } }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { color: this.colors, width: 10 } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | data: this.chartData.xdata |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'value', |
| | | splitNumber: 5, |
| | | min: function (value) { |
| | | let max = value.max; |
| | | let min = value.min; |
| | | let minimum = max - ((max - min) * 3) / 2; |
| | | if (minimum > 0) { |
| | | return minimum; |
| | | } else { |
| | | return 0; |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 36 |
| | | }, |
| | | formatter: '{value} %' |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | dataZoom: [ |
| | | { |
| | | type: 'inside', |
| | | startValue: 1, |
| | | endValue: 20 |
| | | } |
| | | ], |
| | | series: serieslist |
| | | }, |
| | | true |
| | | ); |
| | | } |
| | | }, |
| | | watch: { |
| | | chartData: { |
| | | handler() { |
| | | this.initEchart(); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="chart-wrapper" ref="sourcePie"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | import resize from '@/mixins/resize'; |
| | | const echarts = require('echarts'); |
| | | export default { |
| | | name: 'sourcePie', |
| | | props: { |
| | | chartData: { |
| | | type: Object |
| | | }, |
| | | titleechart: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | colors: { |
| | | type: String, |
| | | default: '#636972' |
| | | } |
| | | }, |
| | | mixins: [resize], |
| | | data() { |
| | | return {}; |
| | | }, |
| | | mounted() { |
| | | this.initEchart(); |
| | | }, |
| | | methods: { |
| | | initEchart() { |
| | | var colorList = ['#569ada', '#f47b2a', '#a1a1a1', '#ffc61f', '#3a6cc6', '#6cae3f', '#1e5c94']; |
| | | // åºäºåå¤å¥½çdomï¼åå§åechartså®ä¾ |
| | | let seriesData = []; |
| | | if (this.chartData.data) { |
| | | this.chartData.data.forEach(element => { |
| | | seriesData.push({ |
| | | name: element.name, |
| | | value: element.data |
| | | }); |
| | | }); |
| | | } |
| | | this.myChart = echarts.init(this.$refs.sourcePie); |
| | | this.myChart.setOption( |
| | | { |
| | | title: { |
| | | show: true, //æ¾ç¤ºçç¥ï¼é»è®¤å¼true,å¯é为ï¼trueï¼æ¾ç¤ºï¼ | falseï¼éèï¼ |
| | | text: this.titleechart, //主æ 颿æ¬ï¼'\n'æå®æ¢è¡ |
| | | x: 'center', //æ°´å¹³å®æ¾ä½ç½®ï¼é»è®¤ä¸º'left'ï¼å¯é为ï¼'center' | 'left' | 'right' | {number}ï¼xåæ ï¼åä½pxï¼ |
| | | y: '2%', //åç´å®æ¾ä½ç½®ï¼é»è®¤ä¸ºtopï¼å¯é为ï¼'top' | 'bottom' | 'center' | {number}ï¼yåæ ï¼åä½pxï¼ |
| | | textAlign: null, //æ°´å¹³å¯¹é½æ¹å¼ï¼é»è®¤æ ¹æ®x设置èªå¨è°æ´ï¼å¯éä¸ºï¼ left' | 'right' | 'center |
| | | textStyle: { |
| | | //主æ é¢ææ¬æ ·å¼{"fontSize": 18,"fontWeight": "bolder",} |
| | | color: this.colors, |
| | | fontWeight: 'normal', |
| | | fontSize: 50 |
| | | } |
| | | }, |
| | | |
| | | tooltip: { |
| | | trigger: 'item', |
| | | borderWidth: 1, |
| | | padding: 5, |
| | | formatter: function (parms) { |
| | | var str = parms.marker + '' + parms.data.name + '</br>' + 'å æ¯ï¼' + parms.percent + '%'; |
| | | return str; |
| | | } |
| | | }, |
| | | legend: [ |
| | | { |
| | | type: 'plain', |
| | | bottom: '12%', |
| | | itemGap: 20, |
| | | textStyle: { |
| | | fontSize: 24, |
| | | color: this.colors |
| | | }, |
| | | data: this.chartData.legend |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | type: 'pie', |
| | | center: ['50%', '40%'], |
| | | radius: ['35%', '50%'], |
| | | label: { |
| | | show: true, |
| | | position: 'outside', |
| | | textStyle: { |
| | | fontSize: 28, |
| | | color: this.colors |
| | | } |
| | | }, |
| | | labelLine: { |
| | | show: true, |
| | | normal: { |
| | | length: 20, |
| | | length2: 30, |
| | | lineStyle: { |
| | | width: 1 |
| | | } |
| | | } |
| | | }, |
| | | data: seriesData |
| | | } |
| | | ] |
| | | }, |
| | | true |
| | | ); |
| | | } |
| | | }, |
| | | watch: { |
| | | chartData: { |
| | | handler() { |
| | | this.initEchart(); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="chart-wrapper" ref="tasktimeecharts"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | import resize from '@/mixins/resize'; |
| | | const echarts = require('echarts'); |
| | | export default { |
| | | name: 'tasktimeecharts', |
| | | props: { |
| | | chartData: { |
| | | type: Object, |
| | | default: () => {} |
| | | }, |
| | | colorList: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | colors: { |
| | | type: String, |
| | | default: '#636972' |
| | | } |
| | | }, |
| | | mixins: [resize], |
| | | data() { |
| | | return {}; |
| | | }, |
| | | mounted() { |
| | | this.initEchart(); |
| | | }, |
| | | methods: { |
| | | initEchart() { |
| | | // åºäºåå¤å¥½çdomï¼åå§åechartså®ä¾ |
| | | let serieslist = []; |
| | | let data = this.chartData.data; |
| | | if (data) { |
| | | data.forEach((element, index) => { |
| | | serieslist.push({ |
| | | name: element.name, |
| | | type: 'line', |
| | | smooth: true, |
| | | // ä¿®æ¹çæ¯çº¿çé¢è² |
| | | lineStyle: { |
| | | width: 10 |
| | | }, |
| | | // areaStyle: { |
| | | // normal: { |
| | | // barBorderRadius: [5, 5, 0, 0], |
| | | // color: new echarts.graphic.LinearGradient( |
| | | // 0, |
| | | // 0, |
| | | // 0, |
| | | // 1, |
| | | // [ |
| | | // { |
| | | // offset: 0, |
| | | // color: this.colorList[index] |
| | | // // color: 'rgba(236, 99, 123, .5)' |
| | | // }, |
| | | |
| | | // { |
| | | // offset: 1, |
| | | // color: 'rgba(102, 212, 250,0)' |
| | | // } |
| | | // ], |
| | | // false |
| | | // ), |
| | | |
| | | // shadowColor: '#636972', |
| | | // shadowBlur: 1 |
| | | // } |
| | | // }, |
| | | data: element.xdata |
| | | // label: { |
| | | // show: true, |
| | | // position: 'top', |
| | | // distance: 10, |
| | | // fontSize: 18, |
| | | // color: this.colors |
| | | // } |
| | | }); |
| | | }); |
| | | } |
| | | this.myChart = echarts.init(this.$refs.tasktimeecharts); |
| | | this.myChart.setOption( |
| | | { |
| | | title: { |
| | | show: true, |
| | | text: 'åºå
¥åºä»»å¡å¹³åæ¶é¿(åé)', |
| | | x: 'center', |
| | | y: '2%', |
| | | textAlign: null, //æ°´å¹³å¯¹é½æ¹å¼ï¼é»è®¤æ ¹æ®x设置èªå¨è°æ´ï¼å¯éä¸ºï¼ left' | 'right' | 'center |
| | | textStyle: { |
| | | //主æ é¢ææ¬æ ·å¼{"fontSize": 18,"fontWeight": "bolder",} |
| | | color: this.colors, |
| | | fontWeight: 'normal', |
| | | fontSize: 50 |
| | | } |
| | | }, |
| | | |
| | | // color: this.colorList, |
| | | legend: { |
| | | right: '1%', |
| | | top: '10%', |
| | | textStyle: { |
| | | color: this.colors, |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | // formatter: '{b0}: {c0}<br />{b1}: {c1}<br />{b2}: {c2}', |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | }, |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '2%', |
| | | right: '1%', |
| | | bottom: '1%', |
| | | top: '20%', |
| | | // padding:'0 0 10 0', |
| | | containLabel: true |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | axisLabel: { |
| | | interval: 0, //设置为 1ï¼è¡¨ç¤ºãéä¸ä¸ªæ ç¾æ¾ç¤ºä¸ä¸ªæ ç¾ã |
| | | margin: 10, |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | axisLine: { show: true, lineStyle: { color: this.colors, width: 10 } }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { color: this.colors, width: 1 } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | data: this.chartData.xdata |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | name: 'æ¶é´ï¼åéï¼', |
| | | nameTextStyle: { fontSize: 24 }, |
| | | type: 'value', |
| | | splitNumber: 5, |
| | | min: function (value) { |
| | | let max = value.max; |
| | | let min = value.min; |
| | | let minimum = max - ((max - min) * 3) / 2; |
| | | if (minimum > 0) { |
| | | return minimum; |
| | | } else { |
| | | return 0; |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | dataZoom: [ |
| | | { |
| | | type: 'inside', |
| | | startValue: 10, |
| | | endValue: 20 |
| | | } |
| | | ], |
| | | series: serieslist |
| | | }, |
| | | true |
| | | ); |
| | | } |
| | | }, |
| | | watch: { |
| | | chartData: { |
| | | handler() { |
| | | this.initEchart(); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="chart-wrapper" ref="turnoverLine"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | import resize from '@/mixins/resize'; |
| | | const echarts = require('echarts'); |
| | | export default { |
| | | name: 'turnoverLine', |
| | | props: { |
| | | chartData: { |
| | | type: Object, |
| | | default: () => {} |
| | | }, |
| | | colorList: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | colors: { |
| | | type: String, |
| | | default: '#636972' |
| | | } |
| | | }, |
| | | mixins: [resize], |
| | | data() { |
| | | return {}; |
| | | }, |
| | | mounted() { |
| | | this.initEchart(); |
| | | }, |
| | | methods: { |
| | | initEchart() { |
| | | // åºäºåå¤å¥½çdomï¼åå§åechartså®ä¾ |
| | | let serieslist = []; |
| | | let data = this.chartData.data; |
| | | if (data) { |
| | | data.forEach((element, index) => { |
| | | serieslist.push({ |
| | | name: element.name, |
| | | type: 'bar', |
| | | showBackground: false, |
| | | barBorderRadius: 30, |
| | | yAxisIndex: 0, |
| | | barMaxWidth: 30, |
| | | itemStyle: { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient( |
| | | 0, |
| | | 1, |
| | | 1, |
| | | 0, |
| | | [ |
| | | { |
| | | offset: 0, |
| | | color: this.colorList[index] |
| | | }, |
| | | |
| | | { |
| | | offset: 1, |
| | | color: this.colorList[index] |
| | | } |
| | | ], |
| | | false |
| | | ), |
| | | barBorderRadius: 10 |
| | | }, |
| | | barBorderRadius: 4 |
| | | }, |
| | | |
| | | data: element.xdata, |
| | | label: { |
| | | show: true, |
| | | position: 'top', |
| | | distance: 10, |
| | | fontSize: 36, |
| | | color: this.colors |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | this.myChart = echarts.init(this.$refs.turnoverLine); |
| | | this.myChart.setOption( |
| | | { |
| | | title: { |
| | | show: true, |
| | | text: data ? 'å¶ä»¶å¨è½¬æ¶é´' : 'ææ æ°æ®', |
| | | x: 'center', |
| | | y: data ? '2%' : 'center', |
| | | textAlign: null, //æ°´å¹³å¯¹é½æ¹å¼ï¼é»è®¤æ ¹æ®x设置èªå¨è°æ´ï¼å¯éä¸ºï¼ left' | 'right' | 'center |
| | | textStyle: { |
| | | //主æ é¢ææ¬æ ·å¼{"fontSize": 18,"fontWeight": "bolder",} |
| | | color: this.colors, |
| | | fontWeight: 'normal', |
| | | fontSize: 50 |
| | | } |
| | | }, |
| | | |
| | | color: this.colorList, |
| | | legend: { |
| | | right: '1%', |
| | | top: '10%', |
| | | textStyle: { |
| | | color: this.colors, |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | }, |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '5%', |
| | | right: '1%', |
| | | bottom: '1%', |
| | | top: '20%', |
| | | // padding:'0 0 10 0', |
| | | containLabel: true |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | axisLabel: { |
| | | interval: 0, //设置为 1ï¼è¡¨ç¤ºãéä¸ä¸ªæ ç¾æ¾ç¤ºä¸ä¸ªæ ç¾ã |
| | | margin: 10, |
| | | textStyle: { |
| | | fontSize: 16 |
| | | } |
| | | }, |
| | | axisLine: { show: true, lineStyle: { color: this.colors, width: 10 } }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { color: this.colors, width: 10 } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | data: this.chartData.xdata |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | name: 'å¨è½¬å¤©æ°(天)', |
| | | nameTextStyle: { fontSize: 28 }, |
| | | type: 'value', |
| | | splitNumber: 5, |
| | | min: function (value) { |
| | | let max = value.max; |
| | | let min = value.min; |
| | | let minimum = max - ((max - min) * 3) / 2; |
| | | if (minimum > 0) { |
| | | return minimum; |
| | | } else { |
| | | return 0; |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | dataZoom: [ |
| | | { |
| | | type: 'inside', |
| | | startValue: 10, |
| | | endValue: 20 |
| | | } |
| | | ], |
| | | series: serieslist |
| | | }, |
| | | true |
| | | ); |
| | | } |
| | | }, |
| | | watch: { |
| | | chartData: { |
| | | handler() { |
| | | this.initEchart(); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="chart-wrapper" ref="warehouseLine"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | import resize from '@/mixins/resize'; |
| | | const echarts = require('echarts'); |
| | | export default { |
| | | name: 'warehouseLine', |
| | | props: { |
| | | chartData: { |
| | | type: Object, |
| | | default: () => {} |
| | | }, |
| | | colorList: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | colors: { |
| | | type: String, |
| | | default: '#636972' |
| | | } |
| | | }, |
| | | mixins: [resize], |
| | | data() { |
| | | return {}; |
| | | }, |
| | | mounted() { |
| | | this.initEchart(); |
| | | }, |
| | | methods: { |
| | | initEchart() { |
| | | // åºäºåå¤å¥½çdomï¼åå§åechartså®ä¾ |
| | | let serieslist = []; |
| | | let data = this.chartData.data; |
| | | if (data) { |
| | | // data.forEach(element => { |
| | | serieslist.push( |
| | | { |
| | | name: data[0].name, |
| | | type: 'bar', |
| | | showBackground: false, |
| | | barBorderRadius: 30, |
| | | yAxisIndex: 0, |
| | | barMaxWidth: 30, |
| | | itemStyle: { |
| | | normal: { |
| | | color: new echarts.graphic.LinearGradient( |
| | | 0, |
| | | 1, |
| | | 1, |
| | | 0, |
| | | [ |
| | | { |
| | | offset: 0, |
| | | color: '#A71A2B' |
| | | }, |
| | | |
| | | { |
| | | offset: 1, |
| | | color: '#A71A2B' |
| | | } |
| | | ], |
| | | false |
| | | ), |
| | | barBorderRadius: 10 |
| | | }, |
| | | // color: '#A71A2B', |
| | | barBorderRadius: 4 |
| | | }, |
| | | |
| | | data: data[0].xdata, |
| | | label: { |
| | | show: true, |
| | | position: 'top', |
| | | distance: 10, |
| | | fontSize: 18, |
| | | color: this.colors |
| | | } |
| | | } |
| | | // { |
| | | // name: data[1].name, |
| | | // type: 'line', |
| | | // smooth: true, |
| | | // barMaxWidth: 30, |
| | | // // ä¿®æ¹çæ¯çº¿çé¢è² |
| | | // lineStyle: { |
| | | // color: { |
| | | // type: 'linear', |
| | | // x: 0, |
| | | // y: 1, |
| | | // x2: 0, |
| | | // y2: 0, |
| | | // // 0% å¤çé¢è² // 100% å¤çé¢è² |
| | | // colorStops: [ |
| | | // { offset: 0, color: '#f8d470' }, |
| | | // { offset: 0.25, color: '#f8d470' }, |
| | | // { offset: 0.75, color: '#f8d470' }, |
| | | // { offset: 1, color: '#f8d470' } |
| | | // ], |
| | | // global: false // 缺ç为 false |
| | | // }, |
| | | // width: 10 |
| | | // }, |
| | | |
| | | // data: data[1].xdata |
| | | // } |
| | | ); |
| | | } |
| | | this.myChart = echarts.init(this.$refs.warehouseLine); |
| | | this.myChart.setOption( |
| | | { |
| | | title: { |
| | | show: true, |
| | | text: 'è´§æ ¼å©ç¨ç', |
| | | x: 'center', |
| | | y: '2%', |
| | | textAlign: null, //æ°´å¹³å¯¹é½æ¹å¼ï¼é»è®¤æ ¹æ®x设置èªå¨è°æ´ï¼å¯éä¸ºï¼ left' | 'right' | 'center |
| | | textStyle: { |
| | | //主æ é¢ææ¬æ ·å¼{"fontSize": 18,"fontWeight": "bolder",} |
| | | color: this.colors, |
| | | fontWeight: 'normal', |
| | | fontSize: 50 |
| | | } |
| | | }, |
| | | |
| | | color: this.colorList, |
| | | legend: { |
| | | right: '1%', |
| | | top: '10%', |
| | | textStyle: { |
| | | color: this.colors, |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | }, |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '1%', |
| | | right: '1%', |
| | | bottom: '1%', |
| | | top: '20%', |
| | | // padding:'0 0 10 0', |
| | | containLabel: true |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | axisLabel: { |
| | | interval: 0, //设置为 1ï¼è¡¨ç¤ºãéä¸ä¸ªæ ç¾æ¾ç¤ºä¸ä¸ªæ ç¾ã |
| | | margin: 10, |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | axisLine: { show: true, lineStyle: { color: this.colors, width: 10 } }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { color: this.colors, width: 10 } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | data: this.chartData.xdata |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'value', |
| | | splitNumber: 5, |
| | | min: function (value) { |
| | | let max = value.max; |
| | | let min = value.min; |
| | | let minimum = max - ((max - min) * 3) / 2; |
| | | if (minimum > 0) { |
| | | return minimum; |
| | | } else { |
| | | return 0; |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 36 |
| | | }, |
| | | formatter: '{value} %' |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: this.colors, |
| | | wdith: 10 |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | dataZoom: [ |
| | | { |
| | | type: 'inside', |
| | | startValue: 10, |
| | | endValue: 20 |
| | | } |
| | | ], |
| | | series: serieslist |
| | | }, |
| | | true |
| | | ); |
| | | } |
| | | }, |
| | | watch: { |
| | | chartData: { |
| | | handler() { |
| | | this.initEchart(); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div id="Homes" class="global-content"> |
| | | <div class="box-top flex justify-between overflow"> |
| | | <div class="top-left"> |
| | | <left-top :navobj="topleftobj" /> |
| | | <div class="width flex align-center applyheight margin2"> |
| | | <class-echart titleechart="é¶ä»¶æ¥æºåå¸" colors="#fff" :chartData="chartData" class="width height" /> |
| | | <class-echart titleechart="å¨å
·æ¥æºåå¸" colors="#fff" :chartData="applianceData" class="width height" /> |
| | | </div> |
| | | </div> |
| | | <div class="top-centent"> |
| | | <p class="colorfff padding10 fontsize2rem text-center pointer" @click="clickFullscreen"> |
| | | æºè½åå²åç«ä½åºæ°æ®ä¸å¿ |
| | | </p> |
| | | </div> |
| | | <div class="top-right"> |
| | | <div class="width height48 overflow margin-top10px"> |
| | | <movablerate-echart |
| | | colors="#fff" |
| | | class="width height" |
| | | echarttitle="å åæº" |
| | | :chartData="movalData" |
| | | :colorList="colorList" |
| | | /> |
| | | </div> |
| | | <div class="width height48 overflow margin-top10px"> |
| | | <movablerate-echart |
| | | colors="#fff" |
| | | class="width height" |
| | | echarttitle="RGV" |
| | | :chartData="rgvdata" |
| | | :colorList="colorList" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="box-bottom flex justify-between overflow"> |
| | | <div class="height width25"> |
| | | <tasktime-echart class="width height" colors="#fff" :chartData="tasktimeData" :colorList="colorList" /> |
| | | </div> |
| | | <div class="height width25"> |
| | | <task-echart class="width height" colors="#fff" :chartData="taskData" :colorList="taskcolorList" /> |
| | | </div> |
| | | <div class="height width25"> |
| | | <warehouse-echart class="width height" colors="#fff" :chartData="wareData" :colorList="taskcolorList" /> |
| | | </div> |
| | | <div class="height width25"> |
| | | <turnover-echart class="width height" colors="#fff" :chartData="turnoverData" :colorList="taskcolorList" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import screenfull from 'screenfull'; |
| | | import { GetDateStr } from '@/utils/date'; |
| | | import LeftTop from './components/lefttop.vue'; |
| | | import ClassEchart from './components/sourceEchart.vue'; //å¶ä»¶åç±» |
| | | import TaskEchart from './components/meterEchart.vue'; //ä»»å¡èæåæ |
| | | import MovablerateEchart from './components/movablerateechart.vue'; //设å¤å¯å¨ |
| | | import TasktimeEchart from './components/tasktimeecharts.vue'; //å¹³åæ¶é¿ |
| | | import WarehouseEchart from './components/warehouseechart.vue'; //è´§æ ¼å©ç¨ç |
| | | import TurnoverEchart from './components/turnoverEchart.vue'; //å¶ä»¶å¨è½¬ |
| | | import { |
| | | GetStockClassificationData, |
| | | GetInOutAverageTime, |
| | | GetTaskBeatAnalysis, |
| | | GetPartTurnover, |
| | | GetStorageVailability, |
| | | GetDevMovable |
| | | } from '@/api/reportforms'; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | topleftobj: { |
| | | titel: 'ç«åºæ»è§', |
| | | list: [ |
| | | { |
| | | titel: 'åºä½æ»æ°', |
| | | value: 0 |
| | | }, |
| | | { |
| | | titel: 'æè´§åºä½', |
| | | value: 0 |
| | | }, |
| | | { |
| | | titel: '带件å¨å
·', |
| | | value: 0 |
| | | }, |
| | | { |
| | | titel: '空å¨å
·æ°', |
| | | value: 0 |
| | | }, |
| | | { |
| | | titel: 'å¶ä»¶æ»æ°', |
| | | value: 0 |
| | | } |
| | | ] |
| | | }, |
| | | toprightobj: { |
| | | titel: 'å¶ä»¶æ»è§', |
| | | list: [ |
| | | { |
| | | titel: 'å¶ä»¶æ»æ°', |
| | | value: 100 |
| | | }, |
| | | { |
| | | titel: 'å¶ä»¶ç§ç±»', |
| | | value: 100 |
| | | }, |
| | | { |
| | | titel: '仿¥å
¥åº', |
| | | value: 100 |
| | | }, |
| | | { |
| | | titel: '仿¥åºåº', |
| | | value: 100 |
| | | } |
| | | ] |
| | | }, |
| | | pickertime: [GetDateStr(-15), GetDateStr(0)], |
| | | chartData: {}, |
| | | applianceData: {}, |
| | | tasktimeData: {}, |
| | | taskData: {}, |
| | | turnoverData: {}, |
| | | wareData: {}, |
| | | movalData: {}, |
| | | rgvdata: {}, |
| | | taskcolorList: ['#0090FF', '#36CE9E', '#FFC005', '#FF515A', '#8B5CFF', '#00CA69'], |
| | | colorList: [ |
| | | '#0090FF', |
| | | '#36CE9E', |
| | | '#FFC005', |
| | | '#FF515A', |
| | | '#8B5CFF', |
| | | '#00CA69', |
| | | '#F3A43B', |
| | | '#D7504B', |
| | | '#C6E579', |
| | | '#F0805A', |
| | | '#26C0C0', |
| | | '#660077', |
| | | '#FFCCCC', |
| | | '#550088', |
| | | '#FFFFBB', |
| | | '#99FFFF', |
| | | '#CC00CC', |
| | | '#CC00CC', |
| | | '#C63300', |
| | | '#9955FF', |
| | | '#66FF66', |
| | | '#B5C334', |
| | | '#FCCE10', |
| | | '#27727B', |
| | | '#FE8463', |
| | | '#FAD860', |
| | | '#F3A43B', |
| | | '#D7504B', |
| | | '#C6E579', |
| | | '#F0805A', |
| | | '#26C0C0', |
| | | '#660077', |
| | | '#FFCCCC', |
| | | '#550088', |
| | | '#FFAA33', |
| | | '#CC00CC', |
| | | '#FF77FF', |
| | | '#C63300', |
| | | '#F4E001', |
| | | '#66FF66' |
| | | ] |
| | | }; |
| | | }, |
| | | components: { LeftTop, ClassEchart, MovablerateEchart, TasktimeEchart, TaskEchart, TurnoverEchart, WarehouseEchart }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.clickFullscreen(); |
| | | }); |
| | | this.GetStockClassificationData(); |
| | | this.applianceDataficationData(); |
| | | this.GetInOutAverageTime(); |
| | | this.GetTaskBeatAnalysis(); |
| | | this.GetPartTurnover(); |
| | | this.GetStorageVailability(); |
| | | this.GetDevMovable(); |
| | | this.GetRGVDevMovable(); |
| | | }, |
| | | methods: { |
| | | clickFullscreen() { |
| | | screenfull.toggle(); |
| | | }, |
| | | //é¶ä»¶æ¥æº |
| | | GetStockClassificationData() { |
| | | GetStockClassificationData({ type: 1 }).then(res => { |
| | | this.chartData = res; |
| | | }); |
| | | }, |
| | | //å¨å
·æ¥æº |
| | | applianceDataficationData() { |
| | | GetStockClassificationData({ type: 2 }).then(res => { |
| | | this.applianceData = res; |
| | | }); |
| | | }, |
| | | //å¹³åæ¶é¿ |
| | | GetInOutAverageTime() { |
| | | let startTime = this.pickertime ? this.pickertime[0] : ''; |
| | | let endTime = this.pickertime ? this.pickertime[1] : ''; |
| | | GetInOutAverageTime({ startTime: startTime, endTime: endTime }).then(res => { |
| | | this.tasktimeData = res; |
| | | }); |
| | | }, |
| | | //ä»»å¡èæ |
| | | GetTaskBeatAnalysis() { |
| | | GetTaskBeatAnalysis({ startTime: this.pickertime }).then(res => { |
| | | this.taskData = res; |
| | | }); |
| | | }, |
| | | //è´§æ ¼å©ç¨ç |
| | | GetStorageVailability() { |
| | | let objtimes = { |
| | | startTime: this.pickertime ? this.pickertime[0] : '', |
| | | endTime: this.pickertime ? this.pickertime[1] : '' |
| | | }; |
| | | GetStorageVailability(objtimes).then(res => { |
| | | this.wareData = res; |
| | | }); |
| | | }, |
| | | //å¶ä»¶å¨è½¬Â·1 |
| | | GetPartTurnover() { |
| | | let intimers = { |
| | | year: '', |
| | | month: '', |
| | | stWeek: '', |
| | | edWeek: '' |
| | | }; |
| | | GetPartTurnover(intimers).then(res => { |
| | | this.turnoverData = res; |
| | | }); |
| | | }, |
| | | //å åæº |
| | | GetDevMovable() { |
| | | let objtimes = { |
| | | startTime: this.pickertime ? this.pickertime[0] : '', |
| | | endTime: this.pickertime ? this.pickertime[1] : '', |
| | | type: 1 |
| | | }; |
| | | GetDevMovable(objtimes).then(res => { |
| | | this.movalData = res; |
| | | }); |
| | | }, |
| | | //RGV |
| | | GetRGVDevMovable() { |
| | | let objtimes = { |
| | | startTime: this.pickertime ? this.pickertime[0] : '', |
| | | endTime: this.pickertime ? this.pickertime[1] : '', |
| | | type: 2 |
| | | }; |
| | | GetDevMovable(objtimes).then(res => { |
| | | this.rgvdata = res; |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #Homes { |
| | | background-color: #1c456b; |
| | | // background: url('../../assets/home/homebg1.jpg') no-repeat; |
| | | // background-size: 100% 100%; |
| | | overflow: hidden; |
| | | .box-top { |
| | | width: 100%; |
| | | height: 64%; |
| | | .top-left { |
| | | width: 28%; |
| | | height: 100%; |
| | | } |
| | | .top-centent { |
| | | width: 42%; |
| | | height: 100%; |
| | | } |
| | | .top-right { |
| | | width: 28%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | .box-bottom { |
| | | width: 100%; |
| | | height: 34%; |
| | | margin-top: 10px; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <router-view /> |
| | | </template> |
| | | |
| | | <script> |
| | | export default {}; |
| | | </script> |
| | | |
| | | <style></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- 设å¤ç®¡ç --> |
| | | <div id="stacker" class="global-content"> |
| | | <!-- çé --> |
| | | <base-inquer :dele="false" byfilter="设å¤å" :filterList="filterList" @addmodal="addmodal" @inquer="inquer" /> |
| | | <!-- table --> |
| | | <div class="table"> |
| | | <table-container |
| | | :wipelist="wipelist" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :editShow="true" |
| | | :delShow="false" |
| | | :currentPage="page" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | @edit="edit" |
| | | @del="del" |
| | | @CurrentChange="CurrentChange" |
| | | @SizeChange="SizeChange" |
| | | /> |
| | | </div> |
| | | |
| | | <transition name="modal"> |
| | | <modal v-if="addmodalShow" :modabg="true" @cancel="addmodalShow = false"> |
| | | <p slot="title">设å¤ç®¡ç-{{ title }}</p> |
| | | <div class="height" slot="centent"> |
| | | <stacker-edit @cancel="addmodalShow = false" :rowitem="rowitem" @addsubmit="addsubmit" /> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal } from '@/components/index'; |
| | | import baseInquer from '../../components/baseinquer'; |
| | | import stackerEdit from '../../components/stackerEdit'; |
| | | const { stacker } = require('@/components/tableContainer/tableHead'); |
| | | import { DeviceSearch, UserDelete } from '@/api/stacker'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | title: '', |
| | | tableData: [], |
| | | modalShow: false, |
| | | addmodalShow: false, |
| | | wipelist: [], |
| | | inuqerobg: {}, |
| | | filterList: [ |
| | | { |
| | | value: '设å¤å', |
| | | label: '设å¤å' |
| | | }, |
| | | { |
| | | value: '设å¤ç±»å', |
| | | label: '设å¤ç±»å' |
| | | } |
| | | ], |
| | | rowitem: {}, |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20 |
| | | }; |
| | | }, |
| | | components: { TableContainer, baseInquer, Modal, stackerEdit }, |
| | | computed: { |
| | | tableHead() { |
| | | return stacker; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.DeviceSearch(); |
| | | }, |
| | | methods: { |
| | | //æ¥è¯¢ |
| | | inquer(e) { |
| | | this.inuqerobg = e; |
| | | this.DeviceSearch(); |
| | | }, |
| | | //æç´¢ç¨æ· |
| | | DeviceSearch() { |
| | | this.$Loading(true); |
| | | const { 设å¤å: deviceName, 设å¤ç±»å: deviceType } = this.inuqerobg; |
| | | DeviceSearch(this.page + '&onePageNum=' + this.pageSize, { deviceName, deviceType }).then(res => { |
| | | if (res.code == 0) { |
| | | this.tableData = res.data; |
| | | this.totle = res.num; |
| | | } |
| | | this.$Loading(); |
| | | }); |
| | | }, |
| | | CurrentChange(e) { |
| | | console.log(e); |
| | | this.page = e; |
| | | this.DeviceSearch(); |
| | | }, |
| | | //é¡µæ° |
| | | SizeChange(e) { |
| | | this.pageSize = e; |
| | | this.DeviceSearch(); |
| | | }, |
| | | //ç¼è¾ |
| | | edit(row) { |
| | | this.addmodalShow = true; |
| | | this.rowitem = { ...row }; |
| | | this.title = 'ç¼è¾'; |
| | | }, |
| | | //å é¤ |
| | | del(row) { |
| | | console.log(row); |
| | | const { USERNAME } = { ...row }; |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | // UserDelete({ userName: USERNAME }).then(res => { |
| | | // this.$message({ |
| | | // type: 'success', |
| | | // message: 'å 餿å!' |
| | | // }); |
| | | // this.DeviceSearch(); |
| | | // }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | //æ°å»º |
| | | addmodal() { |
| | | this.rowitem = {}; |
| | | this.addmodalShow = true; |
| | | this.title = 'æ°å»º'; |
| | | }, |
| | | //æ°å¢ä¿®æ¹å |
| | | addsubmit() { |
| | | this.addmodalShow = false; |
| | | this.modalShow = false; |
| | | this.DeviceSearch(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #stacker { |
| | | .table { |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | height: calc(100% - 40px); |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- æ¥è¦ä¿¡æ¯ --> |
| | | <div id="warning" class="global-content"> |
| | | <!-- çé --> |
| | | <base-inquer |
| | | :add="false" |
| | | :dele="false" |
| | | :allderive="true" |
| | | byfilter="æ
éåç§°" |
| | | :filterList="filterList" |
| | | @addmodal="addmodal" |
| | | @inquer="inquer" |
| | | @allderive="allderive" |
| | | /> |
| | | <!-- table --> |
| | | <div class="table"> |
| | | <table-container |
| | | :wipelist="wipelist" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :editShow="true" |
| | | :delShow="true" |
| | | :currentPage="page" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | @edit="edit" |
| | | @del="del" |
| | | @CurrentChange="CurrentChange" |
| | | @SizeChange="SizeChange" |
| | | /> |
| | | </div> |
| | | |
| | | <transition name="modal"> |
| | | <modal v-if="addmodalShow" :modabg="true" @cancel="addmodalShow = false"> |
| | | <p slot="title">è®¾å¤æ¥è¦ä¿¡æ¯-{{ title }}</p> |
| | | <div class="height" slot="centent"> |
| | | <warning-edit @cancel="addmodalShow = false" :rowitem="rowitem" @addsubmit="addsubmit" /> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal } from '@/components/index'; |
| | | import baseInquer from '../../components/baseinquer'; |
| | | import warningEdit from '../../components/warningEdit'; |
| | | const { warning } = require('@/components/tableContainer/tableHead'); |
| | | import { getimestampDate, getymdhms } from '@/utils/date'; |
| | | import { AlertSearch, AlertDelete, GetAllAlarmInfo } from '@/api/warning'; |
| | | import { exportTableList } from '@/utils/excel'; |
| | | import XLSX from 'xlsx'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | title: '', |
| | | tableData: [], |
| | | modalShow: false, |
| | | addmodalShow: false, |
| | | wipelist: [], |
| | | inuqerobg: {}, |
| | | filterList: [ |
| | | { |
| | | value: 'æ
éåç§°', |
| | | label: 'æ
éåç§°' |
| | | }, |
| | | { |
| | | value: 'æ
éæè¿°', |
| | | label: 'æ
éæè¿°' |
| | | }, |
| | | { |
| | | value: 'æ
é设å¤', |
| | | label: 'æ
é设å¤' |
| | | }, |
| | | { |
| | | value: 'æ
éç¼å·', |
| | | label: 'æ
éç¼å·' |
| | | } |
| | | ], |
| | | rowitem: {}, |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20 |
| | | }; |
| | | }, |
| | | components: { TableContainer, baseInquer, Modal, warningEdit }, |
| | | computed: { |
| | | tableHead() { |
| | | return warning; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.AlertSearch(); |
| | | }, |
| | | methods: { |
| | | //æ¥è¯¢ |
| | | inquer(e) { |
| | | this.inuqerobg = e; |
| | | this.AlertSearch(); |
| | | }, |
| | | |
| | | //æç´¢æ¥è¦ä¿¡æ¯ |
| | | AlertSearch() { |
| | | this.$Loading(true); |
| | | const { æ
éåç§°: alertName, æ
éæè¿°: alertDes, æ
é设å¤: deviceName, æ
éç¼å·: alertCode } = this.inuqerobg; |
| | | AlertSearch(this.page + '&onePageNum=' + this.pageSize, { alertName, alertDes, deviceName, alertCode }).then( |
| | | res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach(item => { |
| | | item.finishTime = item.finishTime ? getimestampDate(item.finishTime) : ''; |
| | | |
| | | item.createTime = item.createTime ? getimestampDate(item.createTime) : ''; |
| | | }); |
| | | console.log(data); |
| | | this.tableData = data; |
| | | this.totle = res.num; |
| | | } |
| | | this.$Loading(); |
| | | } |
| | | ); |
| | | }, |
| | | CurrentChange(e) { |
| | | console.log(e); |
| | | this.page = e; |
| | | this.AlertSearch(); |
| | | }, |
| | | //é¡µæ° |
| | | SizeChange(e) { |
| | | this.pageSize = e; |
| | | this.AlertSearch(); |
| | | }, |
| | | //ç¼è¾ |
| | | edit(row) { |
| | | this.addmodalShow = true; |
| | | this.rowitem = { ...row }; |
| | | this.title = 'ç¼è¾'; |
| | | }, |
| | | //å é¤ |
| | | del(row) { |
| | | console.log(row); |
| | | const { USERNAME } = { ...row }; |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | // AlertDelete({ userName: USERNAME }).then(res => { |
| | | // this.$message({ |
| | | // type: 'success', |
| | | // message: 'å 餿å!' |
| | | // }); |
| | | // this.AlertSearch(); |
| | | // }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | //æ°å»º |
| | | addmodal() { |
| | | this.rowitem = {}; |
| | | this.addmodalShow = true; |
| | | this.title = 'æ°å»º'; |
| | | }, |
| | | //æ°å¢ä¿®æ¹å |
| | | addsubmit() { |
| | | this.addmodalShow = false; |
| | | this.modalShow = false; |
| | | this.AlertSearch(); |
| | | }, |
| | | //å
¨é¨å¯¼åº |
| | | allderive() { |
| | | const { æ
éåç§°: alertName, æ
éæè¿°: alertDes, æ
é设å¤: deviceName, æ
éç¼å·: alertCode } = this.inuqerobg; |
| | | this.$Loading(true); |
| | | GetAllAlarmInfo({ alertName, alertDes, deviceName, alertCode }).then(res => { |
| | | let tHeader = []; |
| | | let filterVal = []; |
| | | this.tableHead.forEach(item => { |
| | | tHeader.push(item.columnDescription); |
| | | filterVal.push(item.columnName); |
| | | }); |
| | | exportTableList(tHeader, filterVal, res, 'æ¥è¦ä¿¡æ¯' + getymdhms()); |
| | | this.$Loading(); |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #warning { |
| | | .table { |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | height: calc(100% - 40px); |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div id="base" class="flex align-center justify-between"> |
| | | <div class=""> |
| | | <el-button-group> |
| | | <el-button v-if="add" type="primary" size="mini" icon="el-icon-plus" @click="$emit('addmodal')">æ°å»º</el-button> |
| | | <el-button v-if="dele" type="primary" size="mini" icon="el-icon-delete">å é¤</el-button> |
| | | <el-button |
| | | v-if="derive" |
| | | style="margin-left: 10px" |
| | | type="primary" |
| | | size="mini" |
| | | icon="el-icon-download" |
| | | @click="$emit('derive')" |
| | | >导åº</el-button |
| | | > |
| | | <el-button |
| | | v-if="allderive" |
| | | style="margin-left: 10px" |
| | | type="primary" |
| | | size="mini" |
| | | icon="el-icon-download" |
| | | @click="$emit('allderive')" |
| | | >å
¨é¨å¯¼åº</el-button |
| | | > |
| | | </el-button-group> |
| | | </div> |
| | | <div class="width80 flex align-center justify-end"> |
| | | <div class="flex width align-center justify-end margin-right"> |
| | | <div v-if="basetimeshow" id="basetimeer" class="flex align-center margin-right width35"> |
| | | <label style="width: 6rem" class="textalign color909399 fontsizeinitial">èµ·æ¢æ¶é´ï¼</label> |
| | | <el-date-picker |
| | | size="mini" |
| | | v-model="timepick" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetimerange" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ" |
| | | > |
| | | </el-date-picker> |
| | | </div> |
| | | <div v-if="taskshow" id="basetimeer" class="flex align-center margin-right width35"> |
| | | <label style="width: 6rem" class="textalign color909399 fontsizeinitial">ä»»å¡ç±»åï¼</label> |
| | | <el-select v-model="inquers.taskType" slot="prepend"> |
| | | <el-option |
| | | v-for="(item, index) in taskList" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | :key="index" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <el-input id="baseinquer" size="mini" clearable v-model="inquers[filter]" class="width30"> |
| | | <el-select @change="selchange" v-model="filter" slot="prepend"> |
| | | <el-option |
| | | v-for="(item, index) in filterList" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | :key="index" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-input> |
| | | </div> |
| | | <el-button type="primary" size="mini" @click="inquer">æ¥è¯¢</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | inquers: { timepick: null, taskType: 'å
¨é¨' }, |
| | | timepick: null, |
| | | applytime: [], |
| | | taskList: [ |
| | | { |
| | | label: 'å
¨é¨', |
| | | value: 'å
¨é¨' |
| | | }, |
| | | { |
| | | label: 'ç§»åº', |
| | | value: 'ç§»åº' |
| | | } |
| | | ], |
| | | filter: '', |
| | | visible: false, |
| | | value1: '' |
| | | }; |
| | | }, |
| | | props: { |
| | | advanced: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | basetimeshow: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | add: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | dele: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | derive: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | allderive: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | byfilter: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | filterList: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | taskshow: { |
| | | type: Boolean, |
| | | default: false |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.filter = this.byfilter; |
| | | }, |
| | | methods: { |
| | | inquer() { |
| | | this.inquers.timepick = this.timepick; |
| | | this.$emit('inquer', this.inquers); |
| | | }, |
| | | selchange() { |
| | | this.inquers = { timepick: null, taskType: 'å
¨é¨' }; |
| | | } |
| | | }, |
| | | watch: { |
| | | byfilter: { |
| | | handler(nvl, ovl) { |
| | | this.filter = nvl; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #base { |
| | | ::v-deep .el-input-group__append, |
| | | ::v-deep .el-input-group__prepend { |
| | | width: 60px; |
| | | } |
| | | ::v-deep .el-date-editor--datetimerange.el-input, |
| | | .el-date-editor--datetimerange.el-input__inner { |
| | | width: 74%; |
| | | } |
| | | } |
| | | #baseinquer { |
| | | ::v-deep .el-select { |
| | | width: 100px; |
| | | } |
| | | } |
| | | #basetimeer { |
| | | ::v-deep .el-range-editor.el-input__inner { |
| | | padding: 3px; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="storageEdit height overflow"> |
| | | <div class="centent-form overflowy-auto"> |
| | | <el-form |
| | | class="margin-auto width90" |
| | | ref="registerForm" |
| | | :model="registerForm" |
| | | size="mini" |
| | | :rules="rules" |
| | | label-position="left" |
| | | label-width="120px" |
| | | > |
| | | <el-form-item label="设å¤å:" prop="deviceName"> |
| | | <el-input v-model="registerForm.deviceName" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="设å¤ç±»å:" prop="placeType"> |
| | | <el-input v-model="registerForm.deviceType" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="设å¤å·:" prop="isFull"> |
| | | <el-input v-model="registerForm.deviceId" clearable></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="éå®:" prop="isLock"> |
| | | <el-input v-model="registerForm.isLock" clearable></el-input> |
| | | </el-form-item> --> |
| | | </el-form> |
| | | </div> |
| | | <div class="palteEdit-button text-right margin-right15 margin-top2"> |
| | | <el-button type="primary" size="mini" class="form-buttom" @click="submitForm('registerForm')">æäº¤</el-button> |
| | | <el-button type="primary" size="mini" class="form-buttom" @click="$emit('cancel')">åæ¶</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { DeviceAddOrUpdate } from '@/api/stacker'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | registerForm: {}, |
| | | usernameList: [], |
| | | rules: { |
| | | deviceName: { required: true, message: '请è¾è®¾å¤å', trigger: 'change' }, |
| | | deptDes: { required: true, message: '请è¾å
¥é¨é¨æè¿°', trigger: 'change' }, |
| | | enable: { required: true, message: 'è¯·éæ©æ¯å¦å¯ç¨', trigger: 'change' } |
| | | } |
| | | }; |
| | | }, |
| | | props: { |
| | | rowitem: { |
| | | type: Object, |
| | | default: {} |
| | | } |
| | | }, |
| | | mounted() { |
| | | if (JSON.stringify(this.rowitem) != '{}') { |
| | | this.registerForm = this.rowitem; |
| | | } |
| | | }, |
| | | methods: { |
| | | submitForm(registerForm) { |
| | | this.$refs[registerForm].validate(valid => { |
| | | if (valid) { |
| | | DeviceAddOrUpdate(this.registerForm).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æäº¤æå' |
| | | }); |
| | | this.$emit('addsubmit'); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'æäº¤å¤±è´¥' |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | watch: {} |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .storageEdit { |
| | | width: 98%; |
| | | padding: 1%; |
| | | .show-pwd { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 3px; |
| | | font-size: 16px; |
| | | color: #889aa4; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | .centent-form { |
| | | height: 92%; |
| | | width: 100%; |
| | | margin: auto; |
| | | } |
| | | .storageEdit-button { |
| | | } |
| | | ::v-deep .el-form-item__content { |
| | | width: 60%; |
| | | } |
| | | ::v-deep .el-select { |
| | | width: 100%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="warningEdit height overflow"> |
| | | <div class="centent-form overflowy-auto"> |
| | | <el-form |
| | | class="margin-auto width90" |
| | | ref="registerForm" |
| | | :model="registerForm" |
| | | size="mini" |
| | | label-position="left" |
| | | label-width="120px" |
| | | > |
| | | <el-form-item label="æ
éç¼å·:" prop="alertCode"> |
| | | <el-input disabled v-model="registerForm.alertCode" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ
é设å¤:" prop="placeType"> |
| | | <!-- <el-input v-model="registerForm.deviceName" clearable></el-input> --> |
| | | <el-select size="mini" clearable v-model="registerForm.deviceName" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="(item, index) in deviceNameList" |
| | | :key="'deviceName' + index" |
| | | :label="item.deviceName" |
| | | :value="item.deviceName" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ
éåç§°:" prop="isFull"> |
| | | <el-input v-model="registerForm.alertName" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ
éæè¿°:" prop="isFull"> |
| | | <el-input |
| | | type="textarea" |
| | | :autosize="{ minRows: 2, maxRows: 6 }" |
| | | v-model="registerForm.alertDes" |
| | | clearable |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="éå®:" prop="isLock"> |
| | | <el-input v-model="registerForm.isLock" clearable></el-input> |
| | | </el-form-item> --> |
| | | </el-form> |
| | | </div> |
| | | <div class="palteEdit-button text-right margin-right15 margin-top2"> |
| | | <el-button type="primary" size="mini" class="form-buttom" @click="submitForm('registerForm')">æäº¤</el-button> |
| | | <el-button type="primary" size="mini" class="form-buttom" @click="$emit('cancel')">åæ¶</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { CarAddOrUpdate, AlertGetCode } from '@/api/warning'; |
| | | import { DeviceSearch } from '@/api/stacker'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | registerForm: { |
| | | alertCode: '' |
| | | }, |
| | | deviceNameList: [] |
| | | }; |
| | | }, |
| | | props: { |
| | | rowitem: { |
| | | type: Object, |
| | | default: {} |
| | | } |
| | | }, |
| | | mounted() { |
| | | if (JSON.stringify(this.rowitem) != '{}') { |
| | | this.registerForm = this.rowitem; |
| | | } else { |
| | | this.AlertGetCode(); |
| | | } |
| | | this.DeviceSearch(); |
| | | }, |
| | | methods: { |
| | | //è·åç¼å· |
| | | AlertGetCode() { |
| | | AlertGetCode().then(res => { |
| | | this.registerForm.alertCode = res; |
| | | }); |
| | | }, |
| | | //è·åè®¾å¤ |
| | | DeviceSearch() { |
| | | DeviceSearch('1&onePageNum=999').then(res => { |
| | | if (res.code == 0) { |
| | | this.deviceNameList = res.data || []; |
| | | } |
| | | }); |
| | | }, |
| | | submitForm(registerForm) { |
| | | this.$refs[registerForm].validate(valid => { |
| | | if (valid) { |
| | | CarAddOrUpdate(this.registerForm).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æäº¤æå' |
| | | }); |
| | | this.$emit('addsubmit'); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'æäº¤å¤±è´¥' |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | watch: {} |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .warningEdit { |
| | | width: 98%; |
| | | padding: 1%; |
| | | .show-pwd { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 3px; |
| | | font-size: 16px; |
| | | color: #889aa4; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | .centent-form { |
| | | height: 92%; |
| | | width: 100%; |
| | | margin: auto; |
| | | } |
| | | .warningEdit-button { |
| | | } |
| | | ::v-deep .el-form-item__content { |
| | | width: 60%; |
| | | } |
| | | ::v-deep .el-select { |
| | | width: 100%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- å åæºä»»å¡ --> |
| | | <div id="piler" class="global-content"> |
| | | <!-- çé --> |
| | | <base-inquer |
| | | :add="false" |
| | | :dele="false" |
| | | :derive="true" |
| | | :taskshow="true" |
| | | :basetimeshow="true" |
| | | byfilter="é¶ä»¶å·" |
| | | :filterList="filterList" |
| | | @addmodal="addmodal" |
| | | @inquer="inquer" |
| | | @derive="derive" |
| | | /> |
| | | <!-- table --> |
| | | <div class="table"> |
| | | <table-container |
| | | :wipelist="wipelist" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :editShow="true" |
| | | :delShow="true" |
| | | :operation="false" |
| | | :currentPage="page" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | @edit="edit" |
| | | @del="del" |
| | | @CurrentChange="CurrentChange" |
| | | @SizeChange="SizeChange" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer } from '@/components/index'; |
| | | import baseInquer from '../../components/baseinquer'; |
| | | const { avroRecord } = require('@/components/tableContainer/tableHead'); |
| | | import { getimestampDate, getymdhms } from '@/utils/date'; |
| | | import { SrmTaskSearch, SearchAll } from '@/api/avroRecord'; |
| | | import { exportTableList } from '@/utils/excel'; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | title: '', |
| | | tableData: [], |
| | | modalShow: false, |
| | | addmodalShow: false, |
| | | wipelist: [], |
| | | inuqerobg: { taskType: 'å
¨é¨' }, |
| | | filterList: [ |
| | | { |
| | | value: 'é¶ä»¶å·', |
| | | label: 'é¶ä»¶å·' |
| | | } |
| | | ], |
| | | rowitem: {}, |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20 |
| | | }; |
| | | }, |
| | | components: { TableContainer, baseInquer }, |
| | | computed: { |
| | | tableHead() { |
| | | return avroRecord; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.SrmTaskSearch(); |
| | | }, |
| | | methods: { |
| | | //æ¥è¯¢ |
| | | inquer(e) { |
| | | this.inuqerobg = e; |
| | | this.page = 1; |
| | | this.SrmTaskSearch(); |
| | | }, |
| | | //å¯¼åº |
| | | derive() { |
| | | let tHeader = []; |
| | | let filterVal = []; |
| | | this.tableHead.forEach(item => { |
| | | tHeader.push(item.columnDescription); |
| | | filterVal.push(item.columnName); |
| | | }); |
| | | this.$Loading(true); |
| | | const { é¶ä»¶å·: itemName, taskType } = this.inuqerobg; |
| | | SearchAll({ |
| | | itemName, |
| | | taskType, |
| | | createTimeStart: this.inuqerobg.timepick ? this.inuqerobg.timepick[0] : '', |
| | | createTimeEnd: this.inuqerobg.timepick ? this.inuqerobg.timepick[1] : '' |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach(item => { |
| | | item.isReleased = item.isReleased == 1 ? 'æ¯' : item.isReleased == 0 ? 'å¦' : item.isReleased; |
| | | item.hasFinished = item.hasFinished == 1 ? 'æ¯' : item.hasFinished == 0 ? 'å¦' : item.hasFinished; |
| | | item.doTime = item.doTime ? getimestampDate(item.doTime) : ''; |
| | | item.finishTime = item.finishTime ? getimestampDate(item.finishTime) : ''; |
| | | }); |
| | | exportTableList(tHeader, filterVal, data, 'å åæºä»»å¡' + getymdhms()); |
| | | } |
| | | this.$Loading(); |
| | | }); |
| | | }, |
| | | //æç´¢æ¥è¦ä¿¡æ¯ |
| | | SrmTaskSearch() { |
| | | this.$Loading(true); |
| | | const { é¶ä»¶å·: itemName, taskType } = this.inuqerobg; |
| | | SrmTaskSearch(this.page + '&onePageNum=' + this.pageSize, { |
| | | itemName, |
| | | taskType, |
| | | createTimeStart: this.inuqerobg.timepick ? this.inuqerobg.timepick[0] : '', |
| | | createTimeEnd: this.inuqerobg.timepick ? this.inuqerobg.timepick[1] : '' |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach(item => { |
| | | item.isReleased = item.isReleased == 1 ? 'æ¯' : item.isReleased == 0 ? 'å¦' : item.isReleased; |
| | | item.hasFinished = item.hasFinished == 1 ? 'æ¯' : item.hasFinished == 0 ? 'å¦' : item.hasFinished; |
| | | item.doTime = item.doTime ? getimestampDate(item.doTime) : ''; |
| | | item.finishTime = item.finishTime ? getimestampDate(item.finishTime) : ''; |
| | | }); |
| | | this.tableData = res.data; |
| | | this.totle = res.num; |
| | | } |
| | | this.$Loading(); |
| | | }); |
| | | }, |
| | | CurrentChange(e) { |
| | | console.log(e); |
| | | this.page = e; |
| | | this.SrmTaskSearch(); |
| | | }, |
| | | //é¡µæ° |
| | | SizeChange(e) { |
| | | this.pageSize = e; |
| | | this.SrmTaskSearch(); |
| | | }, |
| | | //ç¼è¾ |
| | | edit(row) { |
| | | this.addmodalShow = true; |
| | | this.rowitem = { ...row }; |
| | | this.title = 'ç¼è¾'; |
| | | }, |
| | | //å é¤ |
| | | del(row) { |
| | | console.log(row); |
| | | const { USERNAME } = { ...row }; |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | // AlertDelete({ userName: USERNAME }).then(res => { |
| | | // this.$message({ |
| | | // type: 'success', |
| | | // message: 'å 餿å!' |
| | | // }); |
| | | // this.SrmTaskSearch(); |
| | | // }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | //æ°å»º |
| | | addmodal() { |
| | | this.rowitem = {}; |
| | | this.addmodalShow = true; |
| | | this.title = 'æ°å»º'; |
| | | }, |
| | | //æ°å¢ä¿®æ¹å |
| | | addsubmit() { |
| | | this.addmodalShow = false; |
| | | this.modalShow = false; |
| | | this.SrmTaskSearch(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #piler { |
| | | .table { |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | height: calc(100% - 40px); |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <router-view /> |
| | | </template> |
| | | |
| | | <script> |
| | | export default {}; |
| | | </script> |
| | | |
| | | <style></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- å åæºä»»å¡ --> |
| | | <div id="piler" class="global-content"> |
| | | <!-- çé --> |
| | | <base-inquer |
| | | :add="false" |
| | | :dele="false" |
| | | :derive="true" |
| | | :basetimeshow="true" |
| | | byfilter="设å¤åç§°" |
| | | :filterList="filterList" |
| | | @addmodal="addmodal" |
| | | @inquer="inquer" |
| | | @derive="derive" |
| | | /> |
| | | <!-- table --> |
| | | <div class="table"> |
| | | <table-container |
| | | :wipelist="wipelist" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :editShow="true" |
| | | :delShow="true" |
| | | :operation="false" |
| | | :currentPage="page" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | @edit="edit" |
| | | @del="del" |
| | | @CurrentChange="CurrentChange" |
| | | @SizeChange="SizeChange" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer } from '@/components/index'; |
| | | import baseInquer from '../../components/baseinquer'; |
| | | const { piler } = require('@/components/tableContainer/tableHead'); |
| | | import { getimestampDate, getymdhms } from '@/utils/date'; |
| | | import { SrmTaskSearch } from '@/api/equipmenttask'; |
| | | import { exportTableList } from '@/utils/excel'; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | title: '', |
| | | tableData: [], |
| | | modalShow: false, |
| | | addmodalShow: false, |
| | | wipelist: [], |
| | | inuqerobg: {}, |
| | | filterList: [ |
| | | { |
| | | value: '设å¤åç§°', |
| | | label: '设å¤åç§°' |
| | | }, |
| | | { |
| | | value: 'ä»»å¡ç±»å', |
| | | label: 'ä»»å¡ç±»å' |
| | | }, |
| | | { |
| | | value: 'å¨å
·è§æ ¼ç±»å', |
| | | label: 'å¨å
·è§æ ¼ç±»å' |
| | | }, |
| | | { |
| | | value: 'ç®æ ä½ç½®', |
| | | label: 'ç®æ ä½ç½®' |
| | | }, |
| | | { |
| | | value: 'èµ·å§ä½ç½®', |
| | | label: 'èµ·å§ä½ç½®' |
| | | } |
| | | ], |
| | | rowitem: {}, |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20 |
| | | }; |
| | | }, |
| | | components: { TableContainer, baseInquer }, |
| | | computed: { |
| | | tableHead() { |
| | | return piler; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.SrmTaskSearch(); |
| | | }, |
| | | methods: { |
| | | //æ¥è¯¢ |
| | | inquer(e) { |
| | | console.log(e); |
| | | this.inuqerobg = e; |
| | | this.page = 1; |
| | | this.SrmTaskSearch(); |
| | | }, |
| | | //å¯¼åº |
| | | derive() { |
| | | let tHeader = []; |
| | | let filterVal = []; |
| | | this.tableHead.forEach(item => { |
| | | tHeader.push(item.columnDescription); |
| | | filterVal.push(item.columnName); |
| | | }); |
| | | this.$Loading(true); |
| | | const { |
| | | 设å¤åç§°: devName, |
| | | ä»»å¡ç±»å: taskType, |
| | | å¨å
·è§æ ¼ç±»å: palletType, |
| | | ç®æ ä½ç½®: toPlace, |
| | | èµ·å§ä½ç½®: sourcePlace |
| | | } = this.inuqerobg; |
| | | SrmTaskSearch('1&onePageNum=99999999', { |
| | | devName, |
| | | taskType, |
| | | palletType, |
| | | toPlace, |
| | | sourcePlace, |
| | | createTimeStart: this.inuqerobg.timepick ? this.inuqerobg.timepick[0] : '', |
| | | createTimeEnd: this.inuqerobg.timepick ? this.inuqerobg.timepick[1] : '' |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach(item => { |
| | | item.isReleased = item.isReleased == 1 ? 'æ¯' : item.isReleased == 0 ? 'å¦' : item.isReleased; |
| | | item.hasFinished = item.hasFinished == 1 ? 'æ¯' : item.hasFinished == 0 ? 'å¦' : item.hasFinished; |
| | | item.doTime = item.doTime ? getimestampDate(item.doTime) : ''; |
| | | item.finishTime = item.finishTime ? getimestampDate(item.finishTime) : ''; |
| | | }); |
| | | exportTableList(tHeader, filterVal, data, 'å åæºä»»å¡' + getymdhms()); |
| | | } |
| | | this.$Loading(); |
| | | }); |
| | | }, |
| | | //æç´¢æ¥è¦ä¿¡æ¯ |
| | | SrmTaskSearch() { |
| | | this.$Loading(true); |
| | | const { |
| | | 设å¤åç§°: devName, |
| | | ä»»å¡ç±»å: taskType, |
| | | å¨å
·è§æ ¼ç±»å: palletType, |
| | | ç®æ ä½ç½®: toPlace, |
| | | èµ·å§ä½ç½®: sourcePlace |
| | | } = this.inuqerobg; |
| | | SrmTaskSearch(this.page + '&onePageNum=' + this.pageSize, { |
| | | devName, |
| | | taskType, |
| | | palletType, |
| | | toPlace, |
| | | sourcePlace, |
| | | createTimeStart: this.inuqerobg.timepick ? this.inuqerobg.timepick[0] : '', |
| | | createTimeEnd: this.inuqerobg.timepick ? this.inuqerobg.timepick[1] : '' |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach(item => { |
| | | item.isReleased = item.isReleased == 1 ? 'æ¯' : item.isReleased == 0 ? 'å¦' : item.isReleased; |
| | | item.hasFinished = item.hasFinished == 1 ? 'æ¯' : item.hasFinished == 0 ? 'å¦' : item.hasFinished; |
| | | item.doTime = item.doTime ? getimestampDate(item.doTime) : ''; |
| | | item.finishTime = item.finishTime ? getimestampDate(item.finishTime) : ''; |
| | | }); |
| | | this.tableData = res.data; |
| | | this.totle = res.num; |
| | | } |
| | | this.$Loading(); |
| | | }); |
| | | }, |
| | | CurrentChange(e) { |
| | | console.log(e); |
| | | this.page = e; |
| | | this.SrmTaskSearch(); |
| | | }, |
| | | //é¡µæ° |
| | | SizeChange(e) { |
| | | this.pageSize = e; |
| | | this.SrmTaskSearch(); |
| | | }, |
| | | //ç¼è¾ |
| | | edit(row) { |
| | | this.addmodalShow = true; |
| | | this.rowitem = { ...row }; |
| | | this.title = 'ç¼è¾'; |
| | | }, |
| | | //å é¤ |
| | | del(row) { |
| | | console.log(row); |
| | | const { USERNAME } = { ...row }; |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | // AlertDelete({ userName: USERNAME }).then(res => { |
| | | // this.$message({ |
| | | // type: 'success', |
| | | // message: 'å 餿å!' |
| | | // }); |
| | | // this.SrmTaskSearch(); |
| | | // }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | //æ°å»º |
| | | addmodal() { |
| | | this.rowitem = {}; |
| | | this.addmodalShow = true; |
| | | this.title = 'æ°å»º'; |
| | | }, |
| | | //æ°å¢ä¿®æ¹å |
| | | addsubmit() { |
| | | this.addmodalShow = false; |
| | | this.modalShow = false; |
| | | this.SrmTaskSearch(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #piler { |
| | | .table { |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | height: calc(100% - 40px); |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- RGVä»»å¡ --> |
| | | <div id="rgvtask" class="global-content"> |
| | | <!-- çé --> |
| | | <base-inquer |
| | | :add="false" |
| | | :dele="false" |
| | | :derive="true" |
| | | :basetimeshow="true" |
| | | byfilter="设å¤åç§°" |
| | | :filterList="filterList" |
| | | @addmodal="addmodal" |
| | | @inquer="inquer" |
| | | @derive="derive" |
| | | /> |
| | | <!-- table --> |
| | | <div class="table"> |
| | | <table-container |
| | | :wipelist="wipelist" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :editShow="true" |
| | | :delShow="true" |
| | | :operation="false" |
| | | :currentPage="page" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | @edit="edit" |
| | | @del="del" |
| | | @CurrentChange="CurrentChange" |
| | | @SizeChange="SizeChange" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer } from '@/components/index'; |
| | | import baseInquer from '../../components/baseinquer'; |
| | | const { rgvtask } = require('@/components/tableContainer/tableHead'); |
| | | import { getimestampDate, getymdhms } from '@/utils/date'; |
| | | import { RgvTaskSearch } from '@/api/equipmenttask'; |
| | | import { exportTableList } from '@/utils/excel'; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | title: '', |
| | | tableData: [], |
| | | modalShow: false, |
| | | addmodalShow: false, |
| | | wipelist: [], |
| | | inuqerobg: {}, |
| | | filterList: [ |
| | | { |
| | | value: '设å¤åç§°', |
| | | label: '设å¤åç§°' |
| | | }, |
| | | { |
| | | value: 'ç®æ ä½ç½®', |
| | | label: 'ç®æ ä½ç½®' |
| | | }, |
| | | { |
| | | value: 'èµ·å§ä½ç½®', |
| | | label: 'èµ·å§ä½ç½®' |
| | | }, |
| | | { |
| | | value: 'ä»»å¡ç±»å', |
| | | label: 'ä»»å¡ç±»å' |
| | | } |
| | | ], |
| | | rowitem: {}, |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20 |
| | | }; |
| | | }, |
| | | components: { TableContainer, baseInquer }, |
| | | computed: { |
| | | tableHead() { |
| | | return rgvtask; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.RgvTaskSearch(); |
| | | }, |
| | | methods: { |
| | | //æ¥è¯¢ |
| | | inquer(e) { |
| | | this.page = 1; |
| | | this.inuqerobg = e; |
| | | this.RgvTaskSearch(); |
| | | }, |
| | | //å¯¼åº |
| | | derive() { |
| | | let tHeader = []; |
| | | let filterVal = []; |
| | | this.tableHead.forEach(item => { |
| | | tHeader.push(item.columnDescription); |
| | | filterVal.push(item.columnName); |
| | | }); |
| | | this.$Loading(true); |
| | | const { 设å¤åç§°: devName, ç®æ ä½ç½®: toPlace, èµ·å§ä½ç½®: sourcePlace, ä»»å¡ç±»å: taskType } = this.inuqerobg; |
| | | RgvTaskSearch('1&onePageNum=99999999', { |
| | | devName, |
| | | toPlace, |
| | | sourcePlace, |
| | | taskType, |
| | | createTimeStart: this.inuqerobg.timepick ? this.inuqerobg.timepick[0] : '', |
| | | createTimeEnd: this.inuqerobg.timepick ? this.inuqerobg.timepick[1] : '' |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach(item => { |
| | | item.isReleased = item.isReleased == 1 ? 'æ¯' : item.isReleased == 0 ? 'å¦' : item.isReleased; |
| | | item.hasFinished = item.hasFinished == 1 ? 'æ¯' : item.hasFinished == 0 ? 'å¦' : item.hasFinished; |
| | | item.doTime = item.doTime ? getimestampDate(item.doTime) : ''; |
| | | item.finishTime = item.finishTime ? getimestampDate(item.finishTime) : ''; |
| | | }); |
| | | exportTableList(tHeader, filterVal, data, 'RGVä»»å¡' + getymdhms()); |
| | | } |
| | | this.$Loading(); |
| | | }); |
| | | }, |
| | | //æç´¢æ¥è¦ä¿¡æ¯ |
| | | RgvTaskSearch() { |
| | | this.$Loading(true); |
| | | const { 设å¤åç§°: devName, ç®æ ä½ç½®: toPlace, èµ·å§ä½ç½®: sourcePlace, ä»»å¡ç±»å: taskType } = this.inuqerobg; |
| | | RgvTaskSearch(this.page + '&onePageNum=' + this.pageSize, { |
| | | devName, |
| | | toPlace, |
| | | sourcePlace, |
| | | taskType, |
| | | createTimeStart: this.inuqerobg.timepick ? this.inuqerobg.timepick[0] : '', |
| | | createTimeEnd: this.inuqerobg.timepick ? this.inuqerobg.timepick[1] : '' |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach(item => { |
| | | item.isReleased = item.isReleased == 1 ? 'æ¯' : item.isReleased == 0 ? 'å¦' : item.isReleased; |
| | | item.hasFinished = item.hasFinished == 1 ? 'æ¯' : item.hasFinished == 0 ? 'å¦' : item.hasFinished; |
| | | item.doTime = item.doTime ? getimestampDate(item.doTime) : ''; |
| | | item.finishTime = item.finishTime ? getimestampDate(item.finishTime) : ''; |
| | | }); |
| | | this.tableData = res.data; |
| | | this.totle = res.num; |
| | | } |
| | | this.$Loading(); |
| | | }); |
| | | }, |
| | | CurrentChange(e) { |
| | | console.log(e); |
| | | this.page = e; |
| | | this.RgvTaskSearch(); |
| | | }, |
| | | //é¡µæ° |
| | | SizeChange(e) { |
| | | this.pageSize = e; |
| | | this.RgvTaskSearch(); |
| | | }, |
| | | //ç¼è¾ |
| | | edit(row) { |
| | | this.addmodalShow = true; |
| | | this.rowitem = { ...row }; |
| | | this.title = 'ç¼è¾'; |
| | | }, |
| | | //å é¤ |
| | | del(row) { |
| | | console.log(row); |
| | | const { USERNAME } = { ...row }; |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | // AlertDelete({ userName: USERNAME }).then(res => { |
| | | // this.$message({ |
| | | // type: 'success', |
| | | // message: 'å 餿å!' |
| | | // }); |
| | | // this.RgvTaskSearch(); |
| | | // }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | //æ°å»º |
| | | addmodal() { |
| | | this.rowitem = {}; |
| | | this.addmodalShow = true; |
| | | this.title = 'æ°å»º'; |
| | | }, |
| | | //æ°å¢ä¿®æ¹å |
| | | addsubmit() { |
| | | this.addmodalShow = false; |
| | | this.modalShow = false; |
| | | this.RgvTaskSearch(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #rgvtask { |
| | | .table { |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | height: calc(100% - 40px); |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <keep-alive> |
| | | <router-view /> |
| | | </keep-alive> |
| | | </template> |
| | | |
| | | <script> |
| | | export default {}; |
| | | </script> |
| | | |
| | | <style></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- åç±»ç»è®¡ --> |
| | | <div id="classified" class="global-content backgroundrgb"> |
| | | <div class="width80 height margin-auto overflow flex"> |
| | | <div class="width50 height overflow"> |
| | | <classified-echart titleechart="é¶ä»¶æ¥æºåå¸" colors="#fff" :chartData="chartData" class="width height" /> |
| | | </div> |
| | | <div class="width50 height overflow"> |
| | | <classified-echart titleechart="å¨å
·æ¥æºåå¸" colors="#fff" :chartData="applianceData" class="width height" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { GetStockClassificationData } from '@/api/reportforms'; |
| | | import classifiedEchart from '@/views/Home/components/sourceEchart.vue'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | chartData: {}, |
| | | applianceData: {} |
| | | }; |
| | | }, |
| | | components: { classifiedEchart }, |
| | | computed: {}, |
| | | mounted() { |
| | | this.GetStockClassificationData(); |
| | | this.applianceDataficationData(); |
| | | }, |
| | | methods: { |
| | | //é¶ä»¶æ¥æº |
| | | GetStockClassificationData() { |
| | | GetStockClassificationData({ type: 1 }).then(res => { |
| | | this.chartData = res; |
| | | }); |
| | | }, |
| | | //å¨å
·æ¥æº |
| | | applianceDataficationData() { |
| | | GetStockClassificationData({ type: 2 }).then(res => { |
| | | this.applianceData = res; |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="chart-wrapper" ref="outputline"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | import resize from '@/mixins/resize'; |
| | | const echarts = require('echarts'); |
| | | export default { |
| | | name: 'placePie', |
| | | props: { |
| | | titleechart: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | linelist: { |
| | | type: Object, |
| | | default: () => {} |
| | | }, |
| | | colorList: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | colors: { |
| | | type: String, |
| | | default: '#636972' |
| | | } |
| | | }, |
| | | mixins: [resize], |
| | | data() { |
| | | return {}; |
| | | }, |
| | | mounted() { |
| | | this.initEchart(); |
| | | }, |
| | | methods: { |
| | | initEchart() { |
| | | let serieslist = []; |
| | | |
| | | let data = this.linelist.data; |
| | | if (data) { |
| | | data.forEach((item, index) => { |
| | | serieslist.push({ |
| | | name: item.name, |
| | | type: 'bar', |
| | | smooth: true, |
| | | data: item.xdata, |
| | | // ä¿®æ¹çæ¯çº¿çé¢è² |
| | | lineStyle: { |
| | | width: 10 |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | this.myChart = echarts.init(this.$refs.outputline); |
| | | this.myChart.setOption( |
| | | { |
| | | title: { |
| | | text: this.linelist && this.linelist.data ? this.titleechart : 'ææ æ°æ®', |
| | | |
| | | textStyle: { |
| | | color: this.colors, |
| | | fontWeight: 'normal', |
| | | fontSize: 50 |
| | | }, |
| | | |
| | | left: '45%', |
| | | x: 'center', |
| | | y: 0, |
| | | itemGap: 10 |
| | | }, |
| | | |
| | | tooltip: { |
| | | //æç¤ºæ¡ç»ä»¶ |
| | | trigger: 'axis', |
| | | // formatter: '{b0}: {c0}<br />{b1}: {c1}', |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | }, |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '1%', |
| | | right: '1%', |
| | | bottom: '1%', |
| | | top: '27%', |
| | | // padding:'0 0 10 0', |
| | | containLabel: true |
| | | }, |
| | | legend: { |
| | | //å¾ä¾ç»ä»¶ï¼é¢è²ååå |
| | | right: '1%', |
| | | top: '15%', |
| | | itemGap: 16, |
| | | itemWidth: 18, |
| | | itemHeight: 10, |
| | | data: this.linelist.legend, |
| | | textStyle: { |
| | | fontStyle: 'normal', |
| | | fontFamily: '微软é
é»', |
| | | color: this.colors, |
| | | fontSize: 28 |
| | | } |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | // boundaryGap: true,//åæ è½´ä¸¤è¾¹çç½ |
| | | data: this.linelist.xdata, |
| | | // data: Axdata, |
| | | axisLabel: { |
| | | interval: 0, //设置为 1ï¼è¡¨ç¤ºãéä¸ä¸ªæ ç¾æ¾ç¤ºä¸ä¸ªæ ç¾ã |
| | | margin: 10, |
| | | textStyle: { |
| | | fontSize: 28 |
| | | } |
| | | }, |
| | | axisLine: { show: true, lineStyle: { color: this.colors, width: 10 } }, |
| | | splitLine: { |
| | | show: false, |
| | | lineStyle: { color: this.colors, width: 10 } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | } |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'value', |
| | | splitNumber: 5, |
| | | axisLabel: { |
| | | textStyle: { |
| | | fontSize: 36 |
| | | } |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | }, |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | color: this.colors, |
| | | width: 10 |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | dataZoom: [ |
| | | { |
| | | type: 'inside', |
| | | startValue: 10, |
| | | endValue: 15 |
| | | } |
| | | ], |
| | | series: serieslist |
| | | }, |
| | | true |
| | | ); |
| | | } |
| | | }, |
| | | watch: { |
| | | linelist: { |
| | | handler() { |
| | | this.initEchart(); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- 设å¤å¯å¨ç --> |
| | | <div id="movablerate" class="global-content backgroundrgb"> |
| | | <div class="width80 height margin-auto overflow"> |
| | | <div class="width margintopbot flex align-center justify-end"> |
| | | <label class="color909399 fontsiez1rem">æ¥è¯¢æ¥æï¼</label> |
| | | <el-date-picker |
| | | class="margin-right" |
| | | v-model="pickertime" |
| | | size="mini" |
| | | type="daterange" |
| | | value-format="yyyy-MM-dd" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ" |
| | | > |
| | | </el-date-picker> |
| | | <el-button class="margin-right" type="primary" size="mini" @click="inquer">æ¥è¯¢</el-button> |
| | | </div> |
| | | <div class="height-calc overflowy-auto"> |
| | | <div class="width height48 overflow margin-top10px"> |
| | | <movablerate-echart |
| | | class="width height" |
| | | colors="#fff" |
| | | echarttitle="å åæº-设å¤å¯å¨ç" |
| | | :chartData="chartData" |
| | | :colorList="colorList" |
| | | /> |
| | | </div> |
| | | <div class="width height48 overflow margin-top10px"> |
| | | <movablerate-echart |
| | | class="width height" |
| | | colors="#fff" |
| | | echarttitle="RGV-设å¤å¯å¨ç" |
| | | :chartData="rgvdata" |
| | | :colorList="colorList" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { GetDevMovable } from '@/api/reportforms'; |
| | | import { GetDateStr } from '@/utils/date'; |
| | | import MovablerateEchart from '@/views/Home/components/movablerateechart.vue'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | pickertime: [GetDateStr(-15), GetDateStr(0)], |
| | | chartData: {}, |
| | | rgvdata: {}, |
| | | colorList: [ |
| | | '#0090FF', |
| | | '#36CE9E', |
| | | '#FFC005', |
| | | '#FF515A', |
| | | '#8B5CFF', |
| | | '#00CA69', |
| | | '#F3A43B', |
| | | '#D7504B', |
| | | '#C6E579', |
| | | '#F0805A', |
| | | '#26C0C0', |
| | | '#660077', |
| | | '#FFCCCC', |
| | | '#550088', |
| | | '#FFFFBB', |
| | | '#99FFFF', |
| | | '#CC00CC', |
| | | '#CC00CC', |
| | | '#C63300', |
| | | '#9955FF', |
| | | '#66FF66', |
| | | '#B5C334', |
| | | '#FCCE10', |
| | | '#27727B', |
| | | '#FE8463', |
| | | '#FAD860', |
| | | '#F3A43B', |
| | | '#D7504B', |
| | | '#C6E579', |
| | | '#F0805A', |
| | | '#26C0C0', |
| | | '#660077', |
| | | '#FFCCCC', |
| | | '#550088', |
| | | '#FFAA33', |
| | | '#CC00CC', |
| | | '#FF77FF', |
| | | '#C63300', |
| | | '#F4E001', |
| | | '#66FF66' |
| | | ] |
| | | }; |
| | | }, |
| | | components: { MovablerateEchart }, |
| | | computed: {}, |
| | | mounted() { |
| | | this.GetDevMovable(); |
| | | this.GetRGVDevMovable(); |
| | | }, |
| | | methods: { |
| | | inquer() { |
| | | this.GetDevMovable(); |
| | | this.GetRGVDevMovable(); |
| | | }, |
| | | //å åæº |
| | | GetDevMovable() { |
| | | let objtimes = { |
| | | startTime: this.pickertime ? this.pickertime[0] : '', |
| | | endTime: this.pickertime ? this.pickertime[1] : '', |
| | | type: 1 |
| | | }; |
| | | GetDevMovable(objtimes).then(res => { |
| | | this.chartData = res; |
| | | }); |
| | | }, |
| | | //RGV |
| | | GetRGVDevMovable() { |
| | | let objtimes = { |
| | | startTime: this.pickertime ? this.pickertime[0] : '', |
| | | endTime: this.pickertime ? this.pickertime[1] : '', |
| | | type: 2 |
| | | }; |
| | | GetDevMovable(objtimes).then(res => { |
| | | this.rgvdata = res; |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- åç±»ç»è®¡ --> |
| | | <div id="Ouptput" class="global-content backgroundrgb"> |
| | | <div class="width80 height margin-auto overflow"> |
| | | <div class="margintopbot height width overflow"> |
| | | <!-- <p class="fontsize2rem text-center">é¶ä»¶åºå
¥åºç»è®¡</p> --> |
| | | <div class="width margintopbot flex justify-end"> |
| | | <el-date-picker |
| | | v-model="datatime" |
| | | size="mini" |
| | | type="datetimerange" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ" |
| | | > |
| | | </el-date-picker> |
| | | <!-- <el-date-picker |
| | | size="mini" |
| | | v-model="datatime" |
| | | type="date" |
| | | :clearable="false" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="éæ©æ¥æ" |
| | | > |
| | | </el-date-picker> --> |
| | | <el-button class="margin-left margin-right" type="primary" size="mini" @click="goodsinquer">æ¥è¯¢</el-button> |
| | | </div> |
| | | <!-- <div class="width98 height82 margintopbot echart-height"> |
| | | <line-echart |
| | | titleechart="åºå
¥åºä»»å¡" |
| | | :linelist="BarItemlinelist" |
| | | :colorList="barcolorList" |
| | | class="width height" |
| | | colors="#fff" |
| | | /> |
| | | </div> --> |
| | | <div class="width98 height45 margintopbot echart-height"> |
| | | <line-echart |
| | | titleechart="é¶ä»¶æ°éç»è®¡" |
| | | :linelist="BarItemlinelist" |
| | | :colorList="barcolorList" |
| | | colors="#fff" |
| | | class="width height" |
| | | /> |
| | | </div> |
| | | <div class="width98 height45 margintopbot echart-height"> |
| | | <line-echart |
| | | titleechart="å¨å
·åºå
¥åºç»è®¡" |
| | | :linelist="Containerlinelist" |
| | | :colorList="concolorList" |
| | | colors="#fff" |
| | | class="width height" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { GetInOutCountByHour } from '@/api/output'; |
| | | import { GetHomeBarItemData, GetHomeBarContainerData } from '@/api/Didproject'; |
| | | import LineEchart from './components/lineEcharts.vue'; |
| | | import { getDate, GetDateStr, GetTimeStr } from '@/utils/date'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | datatime: [GetDateStr(-15) + ' 00:00:00', getDate() + ' ' + GetTimeStr(0)], |
| | | BarItemlinelist: {}, //é¶ä»¶åºå
¥æ°é |
| | | Containerlinelist: {}, //åºå
¥åºæ°é |
| | | barcolorList: ['#ffc637', '#fc7293', '#8477e9', '#2599f0', '#31c3ea', '#17d8b9', '#e8bdf3'], |
| | | concolorList: ['#31c3ea', '#17d8b9', '#2599f0', '#e8bdf3', '#ffc637', '#fc7293', '#8477e9'] |
| | | }; |
| | | }, |
| | | components: { LineEchart }, |
| | | computed: {}, |
| | | mounted() { |
| | | this.GetHomeBarItemData(); |
| | | this.GetHomeBarContainerData(); |
| | | }, |
| | | methods: { |
| | | //æ¶é´æ¥è¯¢ |
| | | goodsinquer() { |
| | | this.GetHomeBarItemData(); |
| | | this.GetHomeBarContainerData(); |
| | | }, |
| | | //è·åé¶ä»¶çåºå
¥åºæ°é |
| | | GetHomeBarItemData() { |
| | | let time = { |
| | | startTime: this.datatime ? this.datatime[0] : '', |
| | | endTime: this.datatime ? this.datatime[1] : '' |
| | | }; |
| | | this.BarItemlineshow = false; |
| | | GetHomeBarItemData(time).then(res => { |
| | | this.BarItemlinelist = res.data; |
| | | this.BarItemlineshow = true; |
| | | }); |
| | | }, |
| | | //è·åå¨å
·çåºå
¥åºæ°é |
| | | GetHomeBarContainerData() { |
| | | let time = { |
| | | startTime: this.datatime ? this.datatime[0] : '', |
| | | endTime: this.datatime ? this.datatime[1] : '' |
| | | }; |
| | | this.$Loading(true); |
| | | this.Containerline = false; |
| | | GetHomeBarContainerData(time).then(res => { |
| | | this.Containerlinelist = res.data; |
| | | this.Containerline = true; |
| | | this.$Loading(); |
| | | }); |
| | | } |
| | | //è·åé¶ä»¶çåºå
¥åºæ°é |
| | | // GetInOutCountByHour() { |
| | | // let time = { |
| | | // startTime: this.datatime + ' 00:00:00', |
| | | // endTime: this.datatime + ' 23:59:59' |
| | | // }; |
| | | |
| | | // GetInOutCountByHour(time).then(res => { |
| | | // // this.BarItemlinelist = res.data; |
| | | // }); |
| | | // } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- å¨å¶åèµéåæ --> |
| | | <div id="product" class="global-content backgroundrgb"> |
| | | <div class="width80 height margin-auto overflow"> |
| | | <div class="width margintopbot flex align-center justify-end"> |
| | | <label class="color909399 fontsiez1rem">æ¥è¯¢æ¥æï¼</label> |
| | | <el-date-picker |
| | | class="margin-right" |
| | | v-model="pickertime" |
| | | size="mini" |
| | | type="daterange" |
| | | value-format="yyyy-MM-dd" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ" |
| | | > |
| | | </el-date-picker> |
| | | <el-button class="margin-right" type="primary" size="mini" @click="inquer">æ¥è¯¢</el-button> |
| | | </div> |
| | | <div class="width height-calc90 overflow margin-top2"> |
| | | <product-echart class="width height" colors="#fff" :chartData="chartData" :colorList="colorList" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { GetStorageCapitalAnalysis } from '@/api/reportforms'; |
| | | import { GetDateStr } from '@/utils/date'; |
| | | import resize from '@/mixins/resize'; |
| | | import ProductEchart from '@/views/Home/components/product.vue'; |
| | | const echarts = require('echarts'); |
| | | export default { |
| | | data() { |
| | | return { |
| | | pickertime: [GetDateStr(-15), GetDateStr(0)], |
| | | chartData: {}, |
| | | rgvdata: {}, |
| | | colorList: ['#9effff', '#9E87FF', '#73DD39', '#73DDFF', '#fe9a', '#fe9a8b', '#F3A43B'] |
| | | }; |
| | | }, |
| | | mixins: [resize], |
| | | components: { ProductEchart }, |
| | | computed: {}, |
| | | mounted() { |
| | | this.GetStorageCapitalAnalysis(); |
| | | }, |
| | | methods: { |
| | | inquer() { |
| | | this.GetStorageCapitalAnalysis(); |
| | | }, |
| | | //å åæº |
| | | GetStorageCapitalAnalysis() { |
| | | let objtimes = { |
| | | startTime: this.pickertime ? this.pickertime[0] : '', |
| | | endTime: this.pickertime ? this.pickertime[1] : '' |
| | | }; |
| | | GetStorageCapitalAnalysis(objtimes).then(res => { |
| | | this.chartData = res; |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- 设å¤å©ç¨ç --> |
| | | <div id="rateequipment" class="global-content backgroundrgb"> |
| | | <div class="width90 height margin-auto overflow"> |
| | | <div class="width margintopbot flex align-center justify-end"> |
| | | <label class="color909399 fontsiez1rem">æ¥è¯¢æ¥æï¼</label> |
| | | <el-date-picker |
| | | class="margin-right" |
| | | v-model="pickertime" |
| | | size="mini" |
| | | type="daterange" |
| | | value-format="yyyy-MM-dd" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ" |
| | | > |
| | | </el-date-picker> |
| | | <el-button class="margin-right" type="primary" size="mini" @click="inquer">æ¥è¯¢</el-button> |
| | | </div> |
| | | <div class="height-calc overflowy-auto"> |
| | | <div class="width height48 overflow margin-top10px"> |
| | | <rateequipment-echart |
| | | class="width height" |
| | | colors="#fff" |
| | | echarttitle="å åæº-设å¤å©ç¨ç" |
| | | :chartData="chartData" |
| | | :colorList="colorList" |
| | | /> |
| | | </div> |
| | | <div class="width height48 overflow margin-top10px"> |
| | | <rateequipment-echart |
| | | class="width height" |
| | | colors="#fff" |
| | | echarttitle="RGV-设å¤å©ç¨ç" |
| | | :chartData="rgvdata" |
| | | :colorList="colorList" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { GetDevAvailability } from '@/api/reportforms'; |
| | | import { GetDateStr } from '@/utils/date'; |
| | | import resize from '@/mixins/resize'; |
| | | import RateequipmentEchart from '@/views/Home/components/rateequipment.vue'; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | pickertime: [GetDateStr(-15), GetDateStr(0)], |
| | | chartData: {}, |
| | | rgvdata: {}, |
| | | colorList: [ |
| | | '#0090FF', |
| | | '#36CE9E', |
| | | '#FFC005', |
| | | '#FF515A', |
| | | '#8B5CFF', |
| | | '#00CA69', |
| | | '#F3A43B', |
| | | '#D7504B', |
| | | '#C6E579', |
| | | '#F0805A', |
| | | '#26C0C0', |
| | | '#660077', |
| | | '#FFCCCC', |
| | | '#550088', |
| | | '#FFFFBB', |
| | | '#99FFFF', |
| | | '#CC00CC', |
| | | '#CC00CC', |
| | | '#C63300', |
| | | '#9955FF', |
| | | '#66FF66', |
| | | '#B5C334', |
| | | '#FCCE10', |
| | | '#27727B', |
| | | '#FE8463', |
| | | '#FAD860', |
| | | '#F3A43B', |
| | | '#D7504B', |
| | | '#C6E579', |
| | | '#F0805A', |
| | | '#26C0C0', |
| | | '#660077', |
| | | '#FFCCCC', |
| | | '#550088', |
| | | '#FFAA33', |
| | | '#CC00CC', |
| | | '#FF77FF', |
| | | '#C63300', |
| | | '#F4E001', |
| | | '#66FF66' |
| | | ] |
| | | }; |
| | | }, |
| | | mixins: [resize], |
| | | components: { RateequipmentEchart }, |
| | | computed: {}, |
| | | mounted() { |
| | | this.GetDevAvailability(); |
| | | this.GetRGVDevMovable(); |
| | | }, |
| | | methods: { |
| | | inquer() { |
| | | this.GetDevAvailability(); |
| | | this.GetRGVDevMovable(); |
| | | }, |
| | | //å åæº |
| | | GetDevAvailability() { |
| | | let objtimes = { |
| | | startTime: this.pickertime ? this.pickertime[0] : '', |
| | | endTime: this.pickertime ? this.pickertime[1] : '', |
| | | type: 1 |
| | | }; |
| | | GetDevAvailability(objtimes).then(res => { |
| | | this.chartData = res; |
| | | }); |
| | | }, |
| | | //RGV |
| | | GetRGVDevMovable() { |
| | | let objtimes = { |
| | | startTime: this.pickertime ? this.pickertime[0] : '', |
| | | endTime: this.pickertime ? this.pickertime[1] : '', |
| | | type: 2 |
| | | }; |
| | | GetDevAvailability(objtimes).then(res => { |
| | | this.rgvdata = res; |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #rateequipment { |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- ç«åºæ»è§ --> |
| | | <div id="statelibrary" class="global-content backgroundrgb"> |
| | | <h3 class="text-center colorfff fontsize2rem absolute transformtopleft12" style="font-size: 80px">ç«åºæ»è§</h3> |
| | | <div |
| | | class=" |
| | | width80 |
| | | padding10 |
| | | borderradius |
| | | margintopbot |
| | | absolute |
| | | transformtopleft |
| | | flex flex-wrap |
| | | justify-around |
| | | align-center |
| | | " |
| | | > |
| | | <div |
| | | class="didproject-title width45 flex justify-around align-center borderdashed borderradius overflow pointer" |
| | | v-for="(item, index) in titlelist" |
| | | :style="'margin-top:' + item.margin" |
| | | :key="index" |
| | | > |
| | | <div class="heigth padding10 overflow"> |
| | | <p class="text-center fontweight600 colorfff margin-top15" style="font-size: 50px"> |
| | | <countTo :startVal="startVal" :endVal="item.mun" :duration="3000"></countTo> |
| | | </p> |
| | | <p class="color409EFF" style="font-size: 50px">{{ item.titel }}</p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import countTo from 'vue-count-to'; |
| | | import { GetStorageOverviewData } from '@/api/Didproject'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | startVal: 0, |
| | | titlelist: [ |
| | | { |
| | | titel: 'åºä½æ»æ°', |
| | | mun: 0, |
| | | color: '#40C9C6' |
| | | }, |
| | | { |
| | | titel: 'æè´§åºä½', |
| | | mun: 0, |
| | | color: '#F4516C' |
| | | }, |
| | | { |
| | | titel: '带件å¨å
·', |
| | | mun: 0, |
| | | color: '#36A3F7', |
| | | margin: '1%' |
| | | }, |
| | | { |
| | | titel: '空å¨å
·æ°', |
| | | mun: 0, |
| | | color: '#34BFA3', |
| | | margin: '1%' |
| | | } |
| | | // { |
| | | // titel: 'å¶ä»¶æ»æ°', |
| | | // mun: 1, |
| | | // color: '#ffc637' |
| | | // } |
| | | ], |
| | | cleartime: null |
| | | }; |
| | | }, |
| | | components: { countTo }, |
| | | computed: {}, |
| | | mounted() { |
| | | this.GetStorageOverviewData(); |
| | | this.cleartime = setInterval(() => { |
| | | this.GetStorageOverviewData(); |
| | | }, 60000); |
| | | }, |
| | | methods: { |
| | | //跳转 |
| | | linkto() { |
| | | const { href } = this.$router.resolve({ |
| | | path: '/statelibrary' |
| | | }); |
| | | window.open(href, '_blank'); |
| | | }, |
| | | //ç«åºæ»è§åå¶ä»¶æ»è§ |
| | | GetStorageOverviewData() { |
| | | // no ç¼å·ï¼title æ é¢ï¼value æ°é |
| | | GetStorageOverviewData().then(res => { |
| | | let data = res.data || []; |
| | | this.titlelist.forEach(item => { |
| | | data.forEach(element => { |
| | | if (item.titel == element.titel) { |
| | | item.mun = element.value; |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | | if (this.cleartime) { |
| | | clearInterval(this.cleartime); |
| | | this.cleartime = null; |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #statelibrary { |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- ä»»å¡èæ --> |
| | | <div id="Taskbeat" class="global-content backgroundrgb"> |
| | | <div class="width80 height margin-auto overflow"> |
| | | <div class="width margintopbot flex align-center justify-end"> |
| | | <label class="colorfff fontsiez1rem">æ¥è¯¢æ¥æï¼</label> |
| | | <el-date-picker |
| | | class="margin-right" |
| | | size="mini" |
| | | value-format="yyyy-MM-dd" |
| | | v-model="pickertime" |
| | | type="date" |
| | | placeholder="éæ©æ¥æ" |
| | | > |
| | | </el-date-picker> |
| | | <el-button class="margin-right" type="primary" size="mini" @click="inquer">æ¥è¯¢</el-button> |
| | | </div> |
| | | <div class="width height-calc90 overflow margin-top2"> |
| | | <task-echart class="width height" colors="#fff" :chartData="chartData" :colorList="colorList" :yTotals="yMax" /> |
| | | <!-- <div class="width height" ref="taskbeatEcharts"></div> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { GetTaskBeatAnalysis } from '@/api/reportforms'; |
| | | import { GetDateStr } from '@/utils/date'; |
| | | import TaskEchart from '@/views/Home/components/meterEchart.vue'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | pickertime: GetDateStr(-1), |
| | | chartData: {}, |
| | | yMax:-1, |
| | | colorList: ['#0090FF', '#36CE9E', '#FFC005', '#FF515A', '#8B5CFF', '#00CA69'] |
| | | }; |
| | | }, |
| | | components: { TaskEchart }, |
| | | computed: {}, |
| | | mounted() { |
| | | this.GetTaskBeatAnalysis(); |
| | | }, |
| | | methods: { |
| | | inquer() { |
| | | this.GetTaskBeatAnalysis(); |
| | | }, |
| | | |
| | | GetTaskBeatAnalysis() { |
| | | GetTaskBeatAnalysis({ startTime: this.pickertime }).then(res => { |
| | | this.yMax = res.maxNum |
| | | let stepTotal = 0; |
| | | res.data[1].xdata = res.data[1].xdata.map((mapObj,mapIndex)=>{ |
| | | stepTotal = stepTotal + Number(mapObj); |
| | | let rateVal = (this.yMax>0?Number((stepTotal/this.yMax*100).toFixed(2)):0) |
| | | res.data[0].xdata[mapIndex] = rateVal |
| | | return mapObj |
| | | }) |
| | | this.chartData = res; |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #Taskbeat { |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- ä»»å¡å¹³åæ¶é¿--> |
| | | <div id="tasktime" class="global-content backgroundrgb"> |
| | | <div class="width80 height margin-auto overflow"> |
| | | <div class="width margintopbot flex align-center justify-end"> |
| | | <label class="colorfff fontsiez1rem">æ¥è¯¢æ¥æï¼</label> |
| | | <el-date-picker |
| | | class="margin-right" |
| | | v-model="pickertime" |
| | | size="mini" |
| | | type="daterange" |
| | | value-format="yyyy-MM-dd" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ" |
| | | > |
| | | </el-date-picker> |
| | | <el-button class="margin-right" type="primary" size="mini" @click="inquer">æ¥è¯¢</el-button> |
| | | </div> |
| | | <div class="width height-calc90 overflow margin-top2"> |
| | | <tasktime-echart class="width height" colors="#fff" :chartData="chartData" :colorList="colorList" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { GetInOutAverageTime } from '@/api/reportforms'; |
| | | import { GetDateStr } from '@/utils/date'; |
| | | import TasktimeEchart from '@/views/Home/components/tasktimeecharts.vue'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | pickertime: [GetDateStr(-15), GetDateStr(0)], |
| | | chartData: {}, |
| | | colorList: [ |
| | | '#0090FF', |
| | | '#36CE9E', |
| | | '#FFC005', |
| | | '#FF515A', |
| | | '#8B5CFF', |
| | | '#00CA69', |
| | | '#F3A43B', |
| | | '#D7504B', |
| | | '#C6E579', |
| | | '#F0805A', |
| | | '#26C0C0', |
| | | '#660077', |
| | | '#FFCCCC', |
| | | '#550088', |
| | | '#FFFFBB', |
| | | '#99FFFF', |
| | | '#CC00CC', |
| | | '#CC00CC', |
| | | '#C63300', |
| | | '#9955FF', |
| | | '#66FF66', |
| | | '#B5C334', |
| | | '#FCCE10', |
| | | '#27727B', |
| | | '#FE8463', |
| | | '#FAD860', |
| | | '#F3A43B', |
| | | '#D7504B', |
| | | '#C6E579', |
| | | '#F0805A', |
| | | '#26C0C0', |
| | | '#660077', |
| | | '#FFCCCC', |
| | | '#550088', |
| | | '#FFAA33', |
| | | '#CC00CC', |
| | | '#FF77FF', |
| | | '#C63300', |
| | | '#F4E001', |
| | | '#66FF66' |
| | | ] |
| | | }; |
| | | }, |
| | | components: { TasktimeEchart }, |
| | | computed: {}, |
| | | mounted() { |
| | | this.GetInOutAverageTime(); |
| | | }, |
| | | methods: { |
| | | inquer() { |
| | | this.GetInOutAverageTime(); |
| | | }, |
| | | GetInOutAverageTime() { |
| | | console.log(this.pickertime); |
| | | let startTime = this.pickertime ? this.pickertime[0] : ''; |
| | | let endTime = this.pickertime ? this.pickertime[1] : ''; |
| | | GetInOutAverageTime({ startTime: startTime, endTime: endTime }).then(res => { |
| | | this.chartData = res; |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #tasktime { |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- å¶ä»¶å¨è½¬ --> |
| | | <div id="turnover" class="global-content backgroundrgb"> |
| | | <div class="width80 height margin-auto overflow"> |
| | | <div class="width margintopbot flex align-center justify-end"> |
| | | <div class="flex width12 align-center margin-right15 justify-end"> |
| | | <label class="colorfff fontsiez1rem">å¹´ï¼</label> |
| | | <el-date-picker v-model="intimers.year" size="mini" value-format="yyyy" type="year" placeholder="鿩年"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="flex width20 margin-right15 align-center justify-end"> |
| | | <label class="colorfff fontsiez1rem">æï¼</label> |
| | | <el-date-picker |
| | | v-model="intimers.month" |
| | | type="monthrange" |
| | | size="mini" |
| | | value-format="MM" |
| | | format="MM" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æä»½" |
| | | end-placeholder="ç»ææä»½" |
| | | > |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="flex width15 align-center margin-right15 justify-end"> |
| | | <label class="colorfff width40 fontsiez1rem">å¼å§å¨ï¼</label> |
| | | <el-select style="width: 55%" v-model="intimers.stWeek" size="mini" clearable placeholder="è¯·éæ©å¨"> |
| | | <el-option |
| | | v-for="(item, index) in startweeklist" |
| | | :key="index + 'startweek'" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="flex width15 align-center margin-right15 justify-end"> |
| | | <label class="colorfff width40 fontsiez1rem">ç»æå¨ï¼</label> |
| | | <el-select style="width: 55%" v-model="intimers.edWeek" size="mini" clearable placeholder="è¯·éæ©å¨"> |
| | | <el-option |
| | | v-for="(item, index) in endweeklist" |
| | | :key="index + 'endtweek'" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <el-button class="margin-right" type="primary" size="mini" @click="inquer">æ¥è¯¢</el-button> |
| | | </div> |
| | | <div class="width height-calc90 overflow margin-top2"> |
| | | <turnover-echart class="width height" colors="#fff" :chartData="chartData" :colorList="colorList" /> |
| | | <!-- <div class="width height" ref="taskbeatEcharts"></div> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { GetPartTurnover } from '@/api/reportforms'; |
| | | import TurnoverEchart from '@/views/Home/components/turnoverEchart.vue'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | intimers: { |
| | | year: '', |
| | | month: null, |
| | | stWeek: '', |
| | | edWeek: '' |
| | | }, |
| | | startweeklist: [ |
| | | { |
| | | label: '第ä¸å¨', |
| | | value: 1 |
| | | }, |
| | | { |
| | | label: '第äºå¨', |
| | | value: 2 |
| | | }, |
| | | { |
| | | label: '第ä¸å¨', |
| | | value: 3 |
| | | }, |
| | | { |
| | | label: '第åå¨', |
| | | value: 4 |
| | | } |
| | | ], |
| | | endweeklist: [ |
| | | { |
| | | label: '第ä¸å¨', |
| | | value: 1 |
| | | }, |
| | | { |
| | | label: '第äºå¨', |
| | | value: 2 |
| | | }, |
| | | { |
| | | label: '第ä¸å¨', |
| | | value: 3 |
| | | }, |
| | | { |
| | | label: '第åå¨', |
| | | value: 4 |
| | | } |
| | | ], |
| | | chartData: {}, |
| | | colorList: ['#0090FF', '#36CE9E', '#FFC005', '#FF515A', '#8B5CFF', '#00CA69'] |
| | | }; |
| | | }, |
| | | components: { TurnoverEchart }, |
| | | computed: {}, |
| | | mounted() { |
| | | this.GetPartTurnover(); |
| | | }, |
| | | methods: { |
| | | inquer() { |
| | | this.GetPartTurnover(); |
| | | }, |
| | | GetPartTurnover() { |
| | | const { year, stWeek, edWeek } = this.intimers; |
| | | let stMonth = this.intimers.month ? this.intimers.month[0] : ''; |
| | | let edMonth = this.intimers.month ? this.intimers.month[1] : ''; |
| | | GetPartTurnover({ year, stWeek, edWeek, stMonth: stMonth, edMonth: edMonth }).then(res => { |
| | | this.chartData = res; |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #turnover { |
| | | ::v-deep .el-input__inner { |
| | | // width: 80%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- è´§æ ¼å©ç¨ç --> |
| | | <div id="warehouse" class="global-content backgroundrgb"> |
| | | <div class="width80 height margin-auto overflow"> |
| | | <div class="width margintopbot flex align-center justify-end"> |
| | | <label class="colorfff fontsiez1rem">æ¥è¯¢æ¥æï¼</label> |
| | | <el-date-picker |
| | | class="margin-right" |
| | | v-model="pickertime" |
| | | size="mini" |
| | | type="daterange" |
| | | value-format="yyyy-MM-dd" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ" |
| | | > |
| | | </el-date-picker> |
| | | <el-button class="margin-right" type="primary" size="mini" @click="inquer">æ¥è¯¢</el-button> |
| | | </div> |
| | | <div class="width height-calc90 overflow margin-top2"> |
| | | <warehouse-echart class="width height" colors="#fff" :chartData="chartData" :colorList="colorList" /> |
| | | <!-- <div class="width height" ref="taskbeatEcharts"></div> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { GetStorageVailability } from '@/api/reportforms'; |
| | | import { GetDateStr } from '@/utils/date'; |
| | | import WarehouseEchart from '@/views/Home/components/warehouseechart.vue'; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | pickertime: [GetDateStr(-15), GetDateStr(0)], |
| | | chartData: {}, |
| | | colorList: ['#0090FF', '#36CE9E', '#FFC005', '#FF515A', '#8B5CFF', '#00CA69'] |
| | | }; |
| | | }, |
| | | components: { WarehouseEchart }, |
| | | computed: {}, |
| | | mounted() { |
| | | this.GetStorageVailability(); |
| | | }, |
| | | methods: { |
| | | inquer() { |
| | | this.GetStorageVailability(); |
| | | }, |
| | | GetStorageVailability() { |
| | | let objtimes = { |
| | | startTime: this.pickertime ? this.pickertime[0] : '', |
| | | endTime: this.pickertime ? this.pickertime[1] : '' |
| | | }; |
| | | GetStorageVailability(objtimes).then(res => { |
| | | this.chartData = res; |
| | | }); |
| | | }, |
| | | //echarts |
| | | init(res) { |
| | | // this.myChart = echarts.init(this.$refs.taskbeatEcharts); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #warehouse { |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- å¶ä»¶æ»è§ --> |
| | | <div id="workpiece" class="global-content backgroundrgb"> |
| | | <h3 class="text-center fontsize2rem colorfff absolute transformtopleft12" style="font-size: 80px">å¶ä»¶æ»è§</h3> |
| | | <div |
| | | class=" |
| | | width80 |
| | | padding10 |
| | | borderradius |
| | | margintopbot |
| | | absolute |
| | | transformtopleft |
| | | flex |
| | | justify-around |
| | | flex-wrap |
| | | align-center |
| | | " |
| | | > |
| | | <div |
| | | class="didproject-title width45 flex justify-around align-center borderdashed borderradius overflow pointer" |
| | | v-for="(item, index) in titlelist" |
| | | :key="index" |
| | | :style="'margin-top:' + item.margin" |
| | | > |
| | | <div class="heigth padding10 overflow"> |
| | | <p class="text-center fontsize2rem colorfff fontweight600 margin-top15" style="font-size: 50px"> |
| | | <countTo :startVal="startVal" :endVal="item.mun" :duration="3000"></countTo> |
| | | </p> |
| | | <p class="fontsize1_2rem color409EFF" style="font-size: 50px">{{ item.titel }}</p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import countTo from 'vue-count-to'; |
| | | import { GetHomeNumData } from '@/api/Didproject'; |
| | | import { GetStorageOverviewData } from '@/api/Didproject'; |
| | | import { ItemStorage } from '@/api/materials'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | startVal: 0, |
| | | titlelist: [ |
| | | { |
| | | titel: 'å¶ä»¶æ»æ°', |
| | | name: 'å¶ä»¶æ»æ°', |
| | | mun: 0, |
| | | color: '#ffc637' |
| | | }, |
| | | { |
| | | titel: 'å¶ä»¶ç§ç±»', |
| | | name: 'å¶ä»¶ç§ç±»', |
| | | mun: 0, |
| | | color: '#40C9C6' |
| | | }, |
| | | { |
| | | titel: '仿¥å
¥åº', |
| | | name: '仿¥å
¥åºé¶ä»¶æ°', |
| | | mun: 0, |
| | | color: '#F4516C', |
| | | margin: '1%' |
| | | }, |
| | | { |
| | | titel: '仿¥åºåº', |
| | | name: '仿¥åºåºé¶ä»¶æ°', |
| | | mun: 0, |
| | | color: '#36A3F7', |
| | | margin: '1%' |
| | | } |
| | | ], |
| | | cleartime: null, |
| | | list: [] |
| | | }; |
| | | }, |
| | | components: { countTo }, |
| | | computed: {}, |
| | | mounted() { |
| | | this.GetHomeNumData(); |
| | | this.cleartime = setInterval(() => { |
| | | this.GetHomeNumData(); |
| | | }, 60000); |
| | | }, |
| | | methods: { |
| | | //跳转 |
| | | linkto() { |
| | | const { href } = this.$router.resolve({ |
| | | path: '/workpiece' |
| | | }); |
| | | window.open(href, '_blank'); |
| | | }, |
| | | //仿¥åºå
¥åºæ°æ® |
| | | GetHomeNumData() { |
| | | // no ç¼å·ï¼title æ é¢ï¼value æ°é |
| | | GetHomeNumData().then(res => { |
| | | let data = res.data || []; |
| | | this.list = data; |
| | | this.GetStorageOverviewData(data); |
| | | }); |
| | | }, |
| | | GetStorageOverviewData() { |
| | | GetStorageOverviewData().then(res => { |
| | | let data = res.data || []; |
| | | this.list = this.list.concat(data); |
| | | console.log(this.list); |
| | | this.ItemStorage(); |
| | | }); |
| | | }, |
| | | ItemStorage() { |
| | | ItemStorage('1&onePageNum=1').then(res => { |
| | | if (res.code == 0) { |
| | | this.list.push({ |
| | | titel: 'å¶ä»¶ç§ç±»', |
| | | name: 'å¶ä»¶ç§ç±»', |
| | | value: res.num |
| | | }); |
| | | this.titlelist.forEach(item => { |
| | | this.list.forEach(element => { |
| | | if (item.name == element.titel) { |
| | | item.mun = element.value; |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | console.log(this.list); |
| | | }); |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | | if (this.cleartime) { |
| | | clearInterval(this.cleartime); |
| | | this.cleartime = null; |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #workpiece { |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="enterEdit height overflow"> |
| | | <div class="width overflow height92"> |
| | | <div class="width edter-height"> |
| | | <div class="flex margintopbot justify-between"> |
| | | <div class="width45 flex align-center"> |
| | | <label class="width40 textalign">ç»çåå·ï¼</label> |
| | | <el-input size="mini" disabled clearable v-model="iqnuer.cviCode" class="width60"> </el-input> |
| | | </div> |
| | | <div class="width45 flex align-center"> |
| | | <label class="width40 textalign">å
¥åºç±»åï¼</label> |
| | | |
| | | <el-select class="width60" size="mini" filterable clearable v-model="iqnuer.inType" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="(item, index) in inTypeList" |
| | | :key="'inType' + index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div class="flex margintopbot justify-between"> |
| | | <div class="width45 flex align-center"> |
| | | <label class="width40 textalign">å¶ä»¶ç¶æï¼</label> |
| | | |
| | | <el-select |
| | | class="width60" |
| | | size="mini" |
| | | clearable |
| | | v-model="iqnuer.isBad" |
| | | placeholder="è¯·éæ©" |
| | | @change="isbadchange" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in isBadList" |
| | | :key="'isbad' + index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="width45 flex align-center"> |
| | | <label class="width40 textalign">å¨å
·ç¼å·ï¼</label> |
| | | <!-- <el-input size="mini" clearable v-model="iqnuer.containerName" class="width60"> </el-input> --> |
| | | |
| | | <el-select |
| | | class="width60" |
| | | size="mini" |
| | | filterable |
| | | remote |
| | | reserve-keyword |
| | | :remote-method="remoteMethod" |
| | | :loading="remoloading" |
| | | clearable |
| | | @change="containerNamechange" |
| | | v-model="iqnuer.containerName" |
| | | placeholder="请è¾å
¥å
³é®è¯" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in containerNamelist" |
| | | :key="'badByFactory' + index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div class="flex margintopbot justify-between"> |
| | | <div class="width45 flex align-center"> |
| | | <label class="width40 textalign">è¿ä¿®ç±»åï¼</label> |
| | | |
| | | <el-select class="width60" size="mini" clearable v-model="iqnuer.badByFactory" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="(item, index) in badByFactorylist" |
| | | :key="'badByFactory' + index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="width45 flex align-center"> |
| | | <label class="width40 textalign">å¨å
·ç±»åï¼</label> |
| | | <el-input size="mini" disabled clearable v-model="iqnuer.containerType" class="width60"> </el-input> |
| | | </div> |
| | | </div> |
| | | <div class="flex margintopbot justify-between"> |
| | | <div class="width45 flex align-center"> |
| | | <label class="width40 textalign">å计æ°éï¼</label> |
| | | <el-input size="mini" disabled v-model="iqnuer.itemNum" class="width60"> </el-input> |
| | | </div> |
| | | <div class="width45 flex align-center"> |
| | | <label class="width40 textalign">å计ééï¼</label> |
| | | <el-input size="mini" disabled v-model="iqnuer.totalWeight" class="width60"> </el-input> |
| | | </div> |
| | | </div> |
| | | <div class="flex margintopbot justify-between"> |
| | | <div class="width45 flex align-center"> |
| | | <label class="width40 textalign">å¨æç§°éï¼</label> |
| | | <el-input size="mini" disabled v-model="iqnuer.getWeight" class="width60"> </el-input> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-button-group> |
| | | <el-button type="primary" size="mini" icon="el-icon-plus" @click="$emit('partclick')">æ·»å é¶ä»¶</el-button> |
| | | <el-button type="primary" size="mini" icon="el-icon-delete" @click="deltable">å é¤</el-button> |
| | | </el-button-group> |
| | | </div> |
| | | <div class="width enter-tebleheight overflow"> |
| | | <table-container |
| | | height="88%" |
| | | :wipelist="wipelist" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :inOrderCodeList="inOrderCodeList" |
| | | :setshow="false" |
| | | :operation="true" |
| | | :editShow="true" |
| | | :naxnumShow="true" |
| | | :selectionShow="true" |
| | | :inputshow="true" |
| | | :roweditshow="roweditshow" |
| | | :currentPage="page" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | :operationwidth="80" |
| | | @handleSelectionChange="handleSelectionChange" |
| | | @CurrentChange="CurrentChange" |
| | | @itemchange="itemchange" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="enterEdit-button text-right margin-right15 margin-top2"> |
| | | <el-button type="primary" size="mini" class="form-buttom" :loading="savloading" @click="submitForm" |
| | | >ä¿å</el-button |
| | | > |
| | | <el-button type="primary" size="mini" class="form-buttom" @click="$emit('cancel')">åæ¶</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal } from '@/components/index'; |
| | | import { getCache, setCache } from '@/utils/sessionStorage'; |
| | | import { GetDateStr, GetTimeStr, getDate } from '@/utils/date'; |
| | | const { enterEdit } = require('@/components/tableContainer/tableHead'); |
| | | import { ContainerSearch } from '@/api/palte'; |
| | | import { itemSearch } from '@/api/enterchoose'; |
| | | import { InOrderSearch } from '@/api/quotation'; |
| | | import { |
| | | ContainerVsItemSearch, |
| | | ContainerVsItemAdd, |
| | | ContainerVsItemUpdate, |
| | | ContainerVsItemAddAll, |
| | | GetCode |
| | | } from '@/api/enter'; |
| | | import { ProductionLineSearch } from '@/api/cass-line'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | userinfo: getCache('userInfo'), |
| | | iqnuer: { |
| | | cviCode: null, |
| | | // itemName: null, |
| | | isFinish: 0, |
| | | containerName: null, |
| | | itemNum: null, |
| | | isBad: null, |
| | | badByFactory: null, |
| | | createLine: null, |
| | | inType: null, |
| | | itemList: null |
| | | }, |
| | | remoloading: false, |
| | | itemList: [], |
| | | inTypeList: [ |
| | | { |
| | | label: 'å³å¢¨å
¥åº', |
| | | value: 'å³å¢¨å
¥åº' |
| | | }, |
| | | { |
| | | label: 'ææ²§å
¥åº', |
| | | value: 'ææ²§å
¥åº' |
| | | }, |
| | | { |
| | | label: '使ååº', |
| | | value: '使ååº' |
| | | }, |
| | | { |
| | | label: 'EUç®±å
¥ç«ä½åº', |
| | | value: 'EUç®±å
¥ç«ä½åº' |
| | | } |
| | | ], |
| | | isBadList: [ |
| | | { |
| | | label: 'è¿ä¿®', |
| | | value: '1' |
| | | }, |
| | | { |
| | | label: 'ä¸è¿ä¿®', |
| | | value: '0' |
| | | } |
| | | ], |
| | | inOrderCodeList: [], //计ååå· |
| | | createLineList: [], |
| | | containerNamelist: [], //å¨å
·ç¼å· |
| | | badByFactorylist: [], |
| | | wipelist: [], |
| | | tableData: [], |
| | | page: 1, |
| | | totle: 0, |
| | | pageSize: 20, |
| | | Selection: [], //å¾éæ°æ® |
| | | storagelist: [], //åæ°æ® |
| | | roweditshow: false, |
| | | savloading: false |
| | | }; |
| | | }, |
| | | props: { |
| | | rowitem: { |
| | | type: Object, |
| | | default: () => {} |
| | | }, |
| | | chooselist: { |
| | | type: Array, |
| | | default: () => [] |
| | | } |
| | | }, |
| | | components: { TableContainer }, |
| | | computed: { |
| | | tableHead() { |
| | | return enterEdit; |
| | | } |
| | | }, |
| | | mounted() { |
| | | console.log(this.userinfo.userName); |
| | | if (JSON.stringify(this.rowitem) != '{}') { |
| | | console.log(this.rowitem); |
| | | this.iqnuer = this.rowitem; |
| | | this.iqnuer.isBad = this.iqnuer.isBad == 1 ? 'è¿ä¿®' : this.iqnuer.isBad == 0 ? 'ä¸è¿ä¿®' : this.iqnuer.isBad; |
| | | this.ContainerVsItemSearch(); |
| | | } else { |
| | | this.GetCode(); |
| | | } |
| | | this.containerNamelist = []; |
| | | this.ContainerSearch({ containerName: '' }); |
| | | // this.ProductionLineSearch(); |
| | | }, |
| | | methods: { |
| | | //ç»çç¼å· |
| | | GetCode() { |
| | | GetCode().then(res => { |
| | | this.iqnuer.cviCode = res; |
| | | }); |
| | | }, |
| | | //ç产计ååå· |
| | | InOrderSearch(row) { |
| | | const { itemName } = row; |
| | | InOrderSearch('1&onePageNum=999', { itemName }).then(res => { |
| | | if (res.code == 0) { |
| | | this.inOrderCodeList = res.data; |
| | | } |
| | | }); |
| | | }, |
| | | remoteMethod(query) { |
| | | if (query !== '') { |
| | | this.remoloading = true; |
| | | setTimeout(() => { |
| | | this.remoloading = false; |
| | | this.ContainerSearch({ containerName: query }); |
| | | }, 200); |
| | | } |
| | | }, |
| | | //ç线 |
| | | // ProductionLineSearch() { |
| | | // ProductionLineSearch('1&onePageNum=999', { isDestination: 0 }).then(res => { |
| | | // if (res.code == 0) { |
| | | // this.createLineList = res.data.filter(item => { |
| | | // if (item.productionName.indexOf('åºå£') == -1) { |
| | | // return item; |
| | | // } |
| | | // }); |
| | | // } |
| | | // }); |
| | | // }, |
| | | //å¨å
·ç¼å· |
| | | ContainerSearch(query) { |
| | | const { containerName } = query; |
| | | this.containerNamelist = []; |
| | | ContainerSearch('1&onePageNum=999', { containerName }).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data || []; |
| | | data.forEach(element => { |
| | | this.containerNamelist.push({ |
| | | label: element.containerName, |
| | | value: element.containerName, |
| | | containerType: element.containerType |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | //å¨å
፱Ȍ |
| | | containerNamechange(e) { |
| | | this.containerNamelist.forEach(element => { |
| | | if (e == element.value) { |
| | | this.iqnuer.containerType = element.containerType; |
| | | } |
| | | }); |
| | | }, |
| | | //ç¼è¾æ¶è·åé¶ä»¶åè¡¨æ°æ® |
| | | ContainerVsItemSearch() { |
| | | ContainerVsItemSearch(this.page, { containerName: this.rowitem.containerName }).then(res => { |
| | | if (res.code == 0) { |
| | | this.storgage(res.data); |
| | | this.totle = res.num; |
| | | } |
| | | }); |
| | | }, |
| | | //å页 |
| | | CurrentChange(e) { |
| | | this.page = e; |
| | | this.ContainerVsItemSearch(); |
| | | }, |
| | | submitForm() { |
| | | console.log(this.iqnuer); |
| | | if (this.roweditshow) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请å
ä¿å' |
| | | }); |
| | | } else { |
| | | if (this.storagelist.length == 0) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请添å é¶ä»¶' |
| | | }); |
| | | } else { |
| | | this.iqnuer.isBad = this.iqnuer.isBad == 'è¿ä¿®' ? 1 : this.iqnuer.isBad == 'ä¸è¿ä¿®' ? 0 : this.iqnuer.isBad; |
| | | this.iqnuer.itemList = JSON.stringify(this.itemList); |
| | | const { cviCode, inType, itemList, containerName, isBad, badByFactory } = this.iqnuer; |
| | | |
| | | if (this.iqnuer.isBad != null && this.iqnuer.inType != null && this.iqnuer.itemList != null) { |
| | | this.savloading = true; |
| | | // createUser:this.userinfo.userName |
| | | ContainerVsItemAddAll({ |
| | | cviCode, |
| | | inType, |
| | | itemList, |
| | | containerName, |
| | | isBad, |
| | | badByFactory, |
| | | createUser: this.userinfo.userName |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æ·»å æå' |
| | | }); |
| | | this.$emit('cancel'); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.msg |
| | | }); |
| | | } |
| | | this.savloading = false; |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | //è¿ä¿®ç±»å |
| | | isbadchange(e) { |
| | | console.log(e); |
| | | this.iqnuer.badByFactory = ''; |
| | | if (e == 1) { |
| | | this.badByFactorylist = [ |
| | | { |
| | | label: 'çè£
è¿ä¿®', |
| | | value: 'çè£
è¿ä¿®' |
| | | }, |
| | | { |
| | | label: 'å²åè¿ä¿®', |
| | | value: 'å²åè¿ä¿®' |
| | | } |
| | | ]; |
| | | } else { |
| | | this.badByFactorylist = []; |
| | | } |
| | | }, |
| | | //è¿æ»¤åå¨ |
| | | storgage(lists) { |
| | | let list = [...lists]; |
| | | list.forEach(element => { |
| | | this.storagelist.push(element); |
| | | // this.storagelist = lists; |
| | | // this.iqnuer.itemName = this.storagelist[0].itemName; |
| | | // if (JSON.stringify(this.rowitem) == '{}') { |
| | | // this.iqnuer.itemNum = 0; |
| | | // } |
| | | }); |
| | | this.itemList = []; |
| | | this.filtration(); |
| | | }, |
| | | filtration(lists) { |
| | | let list = [...this.storagelist]; |
| | | let weight = ''; |
| | | let getWeight = ''; |
| | | list.forEach(element => { |
| | | element.edit = false; |
| | | if (element.weight) { |
| | | weight = element.weight; |
| | | } |
| | | if (JSON.stringify(this.rowitem) == '{}') { |
| | | if (element.maxNum) { |
| | | this.iqnuer.itemNum += parseInt(element.maxNum); |
| | | } |
| | | element.itemNum = element.maxNum; |
| | | } else { |
| | | element.maxNum = this.iqnuer.itemNum; |
| | | } |
| | | this.itemList.push({ |
| | | itemName: element.itemName, |
| | | inOrderCode: element.inOrderCode, |
| | | itemNum: element.maxNum |
| | | }); |
| | | }); |
| | | if (weight && this.iqnuer.itemNum) { |
| | | getWeight += weight * parseInt(this.iqnuer.itemNum); |
| | | } |
| | | this.iqnuer.totalWeight = getWeight; |
| | | this.tableData = list; |
| | | }, |
| | | |
| | | //å¾étable |
| | | handleSelectionChange(e) { |
| | | console.log(e); |
| | | this.Selection = e; |
| | | }, |
| | | |
| | | //æ°é |
| | | itemchange(e, item) { |
| | | this.itemList = []; |
| | | this.InOrderSearch(item); |
| | | this.roweditshow = !this.roweditshow; |
| | | this.iqnuer.itemNum = 0; |
| | | let weight = ''; |
| | | let getWeight = ''; |
| | | e.forEach(element => { |
| | | // element.edit = false; |
| | | this.itemList.push({ |
| | | itemName: element.itemName, |
| | | inOrderCode: element.inOrderCode, |
| | | itemNum: element.maxNum |
| | | }); |
| | | if (element.weight) { |
| | | weight = element.weight; |
| | | } |
| | | if (element.maxNum) { |
| | | this.iqnuer.itemNum += parseInt(element.maxNum); |
| | | } |
| | | element.itemNum = element.maxNum; |
| | | }); |
| | | if (weight && this.iqnuer.itemNum) { |
| | | getWeight += weight * parseInt(this.iqnuer.itemNum); |
| | | } |
| | | this.iqnuer.totalWeight = getWeight; |
| | | this.storagelist = e; |
| | | console.log(this.tableData); |
| | | // this.chooselist.forEach(item => { |
| | | // if (item.itemName == e.itemName) { |
| | | // item.maxNum = e.itemNum; |
| | | // } |
| | | // }); |
| | | }, |
| | | //å é¤è¡¨æ ¼æ°æ® |
| | | deltable() { |
| | | this.Selection.forEach(element => { |
| | | let index = this.tableData.findIndex(item => item.itemName == element.itemName); |
| | | let storgindex = this.storagelist.findIndex(item => item.itemName == element.itemName); |
| | | this.tableData.splice(index, 1); |
| | | this.storagelist.splice(storgindex, 1); |
| | | }); |
| | | this.itemList = []; |
| | | this.storagelist.forEach(element => { |
| | | this.itemList.push({ |
| | | itemName: element.itemName, |
| | | inOrderCode: element.inOrderCode, |
| | | itemNum: element.maxNum |
| | | }); |
| | | }); |
| | | // this.storgage(this.storagelist); |
| | | } |
| | | }, |
| | | watch: { |
| | | chooselist: { |
| | | handler(nvl, ovl) { |
| | | this.storgage(nvl); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .enterEdit { |
| | | width: 98%; |
| | | padding: 1%; |
| | | .edter-height { |
| | | height: 220px; |
| | | } |
| | | .enter-tebleheight { |
| | | height: calc(100% - 240px); |
| | | } |
| | | .show-pwd { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 3px; |
| | | font-size: 16px; |
| | | color: #889aa4; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | .centent-form { |
| | | height: 92%; |
| | | width: 100%; |
| | | margin: auto; |
| | | } |
| | | .enterEdit-button { |
| | | } |
| | | ::v-deep .el-form-item__content { |
| | | width: 60%; |
| | | } |
| | | ::v-deep .el-select { |
| | | // width: 100%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="quotationEdit height overflow"> |
| | | <div class="width overflow height92"> |
| | | <div> |
| | | <div class="flex margintopbot justify-between"> |
| | | <div class="width50 flex align-center"> |
| | | <label class="width40 textalign">é¶ä»¶ç¼å·ï¼</label> |
| | | <el-input size="mini" clearable v-model="iqnuer.itemName" class="width60"> </el-input> |
| | | </div> |
| | | <div class="width50 flex align-center"> |
| | | <label class="width40 textalign">é¶ä»¶åç§°ï¼</label> |
| | | <el-input size="mini" clearable v-model="iqnuer.itemDes" class="width60"> </el-input> |
| | | </div> |
| | | </div> |
| | | <div class="flex width justify-between"> |
| | | <div class="width50 flex align-center"> |
| | | <label class="width40 textalign">计ååå·ï¼</label> |
| | | <el-select class="width60" size="mini" clearable v-model="iqnuer.inOrderCode" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="(item, index) in inOrderCodelist" |
| | | :key="'inOrderCode' + index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div> |
| | | <el-button type="primary" size="mini" @click="$emit('partclick')">æ¥è¯¢</el-button> |
| | | <el-button type="primary" size="mini" @click="$emit('addchoose')">æ°å¢</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="width height82 overflow"> |
| | | <table-container |
| | | height="91%" |
| | | :wipelist="wipelist" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :operation="false" |
| | | :selectionShow="true" |
| | | :totle="totle" |
| | | @handleSelectionChange="handleSelectionChange" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="quotationEdit-button text-right margin-right15 margin-top2"> |
| | | <el-button type="primary" size="mini" class="form-buttom" @click="submitForm">ç¡®è®¤éæ©</el-button> |
| | | <el-button type="primary" size="mini" class="form-buttom" @click="$emit('cancel')">åæ¶</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal } from '@/components/index'; |
| | | import { itemSearch } from '@/api/enterchoose'; |
| | | const { edterchoose } = require('@/components/tableContainer/tableHead'); |
| | | export default { |
| | | data() { |
| | | return { |
| | | iqnuer: {}, |
| | | inOrderCodelist: [ |
| | | { |
| | | label: 'æ ', |
| | | value: '' |
| | | } |
| | | ], |
| | | wipelist: [], |
| | | tableData: [], |
| | | handlelist: [], //å¾éæ°æ® |
| | | totle: 0, |
| | | page: 1 |
| | | }; |
| | | }, |
| | | props: {}, |
| | | components: { TableContainer }, |
| | | computed: { |
| | | tableHead() { |
| | | return edterchoose; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.itemSearch(); |
| | | }, |
| | | methods: { |
| | | //æ¥è¯¢ |
| | | itemSearch() { |
| | | this.$Loading(true); |
| | | itemSearch(this.page).then(res => { |
| | | if (res.code == 0) { |
| | | this.tableData = res.data; |
| | | this.totle = res.num; |
| | | } |
| | | this.$Loading(); |
| | | }); |
| | | }, |
| | | //å¾é |
| | | handleSelectionChange(e) { |
| | | console.log(e); |
| | | this.handlelist = e; |
| | | }, |
| | | submitForm() { |
| | | if (this.handlelist.length == 1) { |
| | | this.$emit('chooseClick', this.handlelist, this.iqnuer.inOrderCode); |
| | | } else if (this.handlelist.length == 0) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请å¾é䏿¡æ°æ®' |
| | | }); |
| | | } else if (this.handlelist.length > 1) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'åªè½å¾é䏿¡æ°æ®' |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | watch: {} |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .quotationEdit { |
| | | width: 98%; |
| | | padding: 1%; |
| | | .show-pwd { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 3px; |
| | | font-size: 16px; |
| | | color: #889aa4; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | .centent-form { |
| | | height: 92%; |
| | | width: 100%; |
| | | margin: auto; |
| | | } |
| | | .quotationEdit-button { |
| | | } |
| | | ::v-deep .el-form-item__content { |
| | | width: 60%; |
| | | } |
| | | ::v-deep .el-select { |
| | | // width: 100%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="flex align-center justify-between"> |
| | | <div class=""> |
| | | <el-button-group> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | v-if="add" |
| | | icon="el-icon-plus" |
| | | @click="$emit('addmodal')">æ°å»º</el-button> |
| | | <el-button v-if="dele" |
| | | type="primary" |
| | | size="mini" |
| | | icon="el-icon-delete" |
| | | @click="$emit('deladd')">å é¤</el-button> |
| | | </el-button-group> |
| | | <el-button-group class="margin-left"> |
| | | <div class="flex"> |
| | | <el-upload class="upload-demo" |
| | | ref="upload" |
| | | action="" |
| | | accept=".xls,.xlsx" |
| | | :show-file-list="false" |
| | | :http-request="httprequest"> |
| | | <el-button v-if="imexcel" |
| | | style="margin-left: 10px" |
| | | icon="el-icon-upload2" |
| | | size="mini" |
| | | type="success">导å
¥</el-button> |
| | | </el-upload> |
| | | <el-button v-if="derive" |
| | | style="margin-left: 10px" |
| | | type="primary" |
| | | size="mini" |
| | | icon="el-icon-download" |
| | | @click="$emit('derive')">导åº</el-button> |
| | | </div> |
| | | </el-button-group> |
| | | <el-button class="margin-left" |
| | | v-if="refresh" |
| | | :loading="loading" |
| | | size="mini" |
| | | icon="el-icon-refresh" |
| | | @click="$emit('refresh')">å·æ°</el-button> |
| | | </div> |
| | | <div id="topinquer" |
| | | class="flex align-center justify-end"> |
| | | <div v-if="queryOrderStatusShow" |
| | | class="flex align-center margin-right "> |
| | | <label class="color909399 fontsizeinitial width7rem">订åç¶æï¼</label> |
| | | <el-select v-model="iqnuer.OrderStatusId" |
| | | size="mini" |
| | | clearable> |
| | | <el-option v-for="(item, index) in orderStatusList" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | :key="index"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="flex align-center margin-right "> |
| | | <label class="color909399 fontsizeinitial width7rem">ç产类åï¼</label> |
| | | <el-select v-model="iqnuer.orderType" |
| | | size="mini" |
| | | clearable> |
| | | <el-option v-for="(item, index) in orderTypelist" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | :key="index"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div id="maindatetimeer" |
| | | v-if="datetimeshow" |
| | | class="flex align-center margin-right"> |
| | | <label class="textalign color909399 width7rem fontsizeinitial">èµ·æ¢æ¶é´ï¼</label> |
| | | <el-date-picker size="mini" |
| | | v-model="iqnuer.timepick" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetimerange" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="flex align-center margin-right"> |
| | | <el-input size="mini" |
| | | clearable |
| | | v-model="iqnuer[filter]" |
| | | class="input-with-select"> |
| | | <el-select @change="selchange" |
| | | v-model="filter" |
| | | slot="prepend"> |
| | | <el-option v-for="(item, index) in filterList" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | :key="index"></el-option> |
| | | </el-select> |
| | | </el-input> |
| | | </div> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | @click="inquer">æ¥è¯¢</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data () { |
| | | return { |
| | | orderTypelist: [ |
| | | { |
| | | label: 'å³å¢¨å
¥åº', |
| | | value: 'å³å¢¨å
¥åº' |
| | | }, |
| | | { |
| | | label: 'ææ²§å
¥åº', |
| | | value: 'ææ²§å
¥åº' |
| | | } |
| | | ], |
| | | orderStatusList: [ |
| | | { |
| | | label: 'æ°å»º', |
| | | value: 0 |
| | | }, |
| | | { |
| | | label: 'çè£
å®¡æ ¸ä¸', |
| | | value: 1 |
| | | }, |
| | | { |
| | | label: '驳å', |
| | | value: 3 |
| | | }, |
| | | { |
| | | label: 'å®å·¥', |
| | | value: 4 |
| | | } |
| | | ], |
| | | iqnuer: { |
| | | OrderStatusId: '' |
| | | }, |
| | | filter: '', |
| | | applytime: [], |
| | | fileList: [], |
| | | visible: false |
| | | }; |
| | | }, |
| | | props: { |
| | | queryOrderStatusShow: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | advanced: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | add: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | dele: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | refresh: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | tolead: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | derive: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | imexcel: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | loading: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | byfilter: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | filterList: { |
| | | type: Array, |
| | | default: () => [] |
| | | }, |
| | | datetimeshow: { |
| | | type: Boolean, |
| | | default: false |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.filter = this.byfilter; |
| | | }, |
| | | methods: { |
| | | inquer () { |
| | | //console.log(this.iqnuer.orderStatus) |
| | | this.$emit('inquer', this.iqnuer); |
| | | }, |
| | | selchange () { |
| | | this.iqnuer = {}; |
| | | }, |
| | | httprequest (file) { |
| | | console.log(file); |
| | | this.$emit('importfile', file); |
| | | }, |
| | | inrefclear () { |
| | | this.iqnuer = {}; |
| | | } |
| | | }, |
| | | watch: { |
| | | byfilter: { |
| | | handler (nvl, ovl) { |
| | | this.filter = nvl; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #topinquer { |
| | | ::v-deep .el-select { |
| | | width: 100px; |
| | | } |
| | | #maindatetimeer { |
| | | ::v-deep .el-range-editor.el-input__inner { |
| | | padding: 3px; |
| | | } |
| | | ::v-deep .el-date-editor--datetimerange.el-input, |
| | | .el-date-editor--datetimerange.el-input__inner { |
| | | width: 74%; |
| | | } |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="quotationEdit height overflow"> |
| | | <div class="width overflow height92"> |
| | | <div> |
| | | <div class="flex justify-between"> |
| | | <div class="width40 flex align-center"> |
| | | <label class="width40 textalign">é¶ä»¶ç¼å·ï¼</label> |
| | | <el-input size="mini" clearable v-model="iqnuer.center" class="width60"> </el-input> |
| | | </div> |
| | | <div class="width40 flex align-center"> |
| | | <label class="width40 textalign">é¶ä»¶åç§°ï¼</label> |
| | | <el-input size="mini" clearable v-model="iqnuer.center" class="width60"> </el-input> |
| | | </div> |
| | | <el-button type="primary" size="mini" @click="$emit('partclick')">æ¥è¯¢</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="width height94 overflow"> |
| | | <table-container |
| | | height="91%" |
| | | :wipelist="wipelist" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :selectionShow="true" |
| | | :operation="false" |
| | | :totle="totle" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="quotationEdit-button text-right margin-right15 margin-top2"> |
| | | <el-button type="primary" size="mini" class="form-buttom" @click="submitForm">ç¡®è®¤éæ©</el-button> |
| | | <el-button type="primary" size="mini" class="form-buttom" @click="$emit('cancel')">åæ¶</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal } from '@/components/index'; |
| | | const { partschoose } = require('@/components/tableContainer/tableHead'); |
| | | export default { |
| | | data() { |
| | | return { |
| | | iqnuer: {}, |
| | | |
| | | wipelist: [], |
| | | tableData: [ |
| | | { |
| | | deviceName1: 'å¼ ä¸' |
| | | } |
| | | ], |
| | | totle: 0 |
| | | }; |
| | | }, |
| | | props: { |
| | | rowitem: { |
| | | type: Object, |
| | | default: {} |
| | | } |
| | | }, |
| | | components: { TableContainer }, |
| | | computed: { |
| | | tableHead() { |
| | | return partschoose; |
| | | } |
| | | }, |
| | | mounted() { |
| | | if (JSON.stringify(this.rowitem) != '{}') { |
| | | this.registerForm = this.rowitem; |
| | | } |
| | | }, |
| | | methods: { |
| | | submitForm(registerForm) {} |
| | | }, |
| | | watch: {} |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .quotationEdit { |
| | | width: 98%; |
| | | padding: 1%; |
| | | .show-pwd { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 3px; |
| | | font-size: 16px; |
| | | color: #889aa4; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | .centent-form { |
| | | height: 92%; |
| | | width: 100%; |
| | | margin: auto; |
| | | } |
| | | .quotationEdit-button { |
| | | } |
| | | ::v-deep .el-form-item__content { |
| | | width: 60%; |
| | | } |
| | | ::v-deep .el-select { |
| | | // width: 100%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="quotationEdit height overflow"> |
| | | <div class="width overflow height92"> |
| | | <div class="quotationEdit-height"> |
| | | <div class="flex justify-between"> |
| | | <div class="width55 flex align-center"> |
| | | <label class="width40 textalign">ç产计ååå·ï¼</label> |
| | | <el-input size="mini" |
| | | disabled |
| | | v-model="iqnuer.inOrderCode" |
| | | class="width60"> </el-input> |
| | | </div> |
| | | <div class="width40 flex align-center"> |
| | | <label class="width40 textalign">ç产类åï¼</label> |
| | | <el-select class="width60" |
| | | size="mini" |
| | | clearable |
| | | :disabled="isReadOnly" |
| | | v-model="iqnuer.orderType" |
| | | placeholder="è¯·éæ©" |
| | | required="true"> |
| | | <el-option v-for="item in orderTypelist" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div class="flex justify-between margintopbot"> |
| | | <div class="width55 flex align-center"> |
| | | <label class="width40 textalign">夿³¨ï¼</label> |
| | | <el-input class="width60" |
| | | type="textarea" |
| | | clearable |
| | | :disabled="isReadOnly" |
| | | size="mini" |
| | | resize="none" |
| | | :autosize="{ minRows: 1, maxRows: 1 }" |
| | | placeholder="请è¾å
¥å
容" |
| | | v-model="iqnuer.textarea1"> |
| | | </el-input> |
| | | </div> |
| | | <div class="width40 flex align-center"> |
| | | <label class="width40 textalign">è®¡åæ°éï¼</label> |
| | | <el-input clearable |
| | | size="mini" |
| | | disabled |
| | | v-model="iqnuer.totalNum" |
| | | class="width60"> </el-input> |
| | | </div> |
| | | </div> |
| | | <el-button-group> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | :disabled="isReadOnly" |
| | | icon="el-icon-plus" |
| | | @click="$emit('partclick')">æ°å»º</el-button> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | :disabled="isReadOnly" |
| | | icon="el-icon-delete" |
| | | @click="delclick">å é¤</el-button> |
| | | </el-button-group> |
| | | </div> |
| | | <div class="width quotationEdit-tebleheight overflow"> |
| | | <table-container ref="tablecontainer" |
| | | height="91%" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :operation="true" |
| | | :editShow="true" |
| | | :setshow="false" |
| | | :naxnumShow="true" |
| | | :selectionShow="true" |
| | | :roweditshow="roweditshow" |
| | | :currentPage="page" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | :inputshow="true" |
| | | @edit="edit" |
| | | @handleSelectionChange="handleSelectionChange" |
| | | @itemchange="itemchange" |
| | | @CurrentChange="CurrentChange" /> |
| | | </div> |
| | | </div> |
| | | <div class="quotationEdit-button text-right margin-right15 margin-top2"> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | class="form-buttom" |
| | | :loading="savloading" |
| | | :disabled="isReadOnly" |
| | | @click="submitForm">ä¿å</el-button> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | class="form-buttom" |
| | | @click="$emit('cancel')">åæ¶</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal } from '@/components/index'; |
| | | import { getCache, setCache, removeToken } from '@/utils/sessionStorage'; |
| | | const { quotationedit } = require('@/components/tableContainer/tableHead'); |
| | | import { InOrderGetCode } from '@/api/quotation'; |
| | | import { getDate, GetTimeStr } from '@/utils/date'; |
| | | import { itemSearch } from '@/api/enterchoose'; |
| | | import { InOrderAddOrUpdate } from '@/api/quotation'; |
| | | export default { |
| | | data () { |
| | | return { |
| | | iqnuer: { |
| | | inOrderCode: '', //计ååå· |
| | | orderType: '', //计åç±»å |
| | | totalNum: '', //é¶ä»¶æ»æ° |
| | | doneNum: '', //å·²ä¸çº¿æ° æ°å¢ä¼ 0ï¼ç¼è¾ï¼åæ°æ®è¿å |
| | | userName: getCache('userInfo').userName, //å建人ç¼å· å½åç»éäººç¶æ |
| | | productionLineCode: '', //ï¼é¢çï¼ä¼ 空 |
| | | doTime: '', //æ§è¡æ¶é´ |
| | | itemName: '', //é¶ä»¶ç¼å·ä¼ ï¼å
¶å®é¶ä»¶ä¿¡æ¯å¯ä¸ä¼ |
| | | productionLineName: '' //ææ¶ä¼ ç©º |
| | | }, |
| | | orderTypelist: [ |
| | | { |
| | | label: 'å³å¢¨å
¥åº', |
| | | value: 'å³å¢¨å
¥åº' |
| | | }, |
| | | { |
| | | label: 'ææ²§å
¥åº', |
| | | value: 'ææ²§å
¥åº' |
| | | } |
| | | ], |
| | | tableData: [], |
| | | savloading: false, |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20, |
| | | roweditshow: false |
| | | }; |
| | | }, |
| | | props: { |
| | | //æ¯å¦åªè¯» |
| | | isReadOnly: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | rowitem: { |
| | | type: Object, |
| | | default: () => { } |
| | | }, |
| | | chooselist: { |
| | | type: Array, |
| | | default: () => [] |
| | | } |
| | | }, |
| | | components: { TableContainer }, |
| | | computed: { |
| | | tableHead () { |
| | | return quotationedit; |
| | | } |
| | | }, |
| | | mounted () { |
| | | if (JSON.stringify(this.rowitem) != '{}') { |
| | | this.iqnuer = this.rowitem; |
| | | this.itemSearch(); |
| | | } else { |
| | | this.iqnuer.doneNum = 0; |
| | | this.InOrderGetCode(); |
| | | } |
| | | }, |
| | | methods: { |
| | | //èªå¨çæåå· |
| | | InOrderGetCode () { |
| | | InOrderGetCode().then(res => { |
| | | this.iqnuer.inOrderCode = res; |
| | | }); |
| | | }, |
| | | //ç¼è¾æ¶è·åé¶ä»¶åè¡¨æ°æ® |
| | | itemSearch () { |
| | | itemSearch(this.page, { itemName: this.rowitem.itemName }).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach(item => { |
| | | item.image = process.env.IMAGE_URL + item.image; |
| | | }); |
| | | this.storgage(data); |
| | | this.totle = res.num; |
| | | } |
| | | }); |
| | | }, |
| | | //ç¼è¾ |
| | | edit (row) { }, |
| | | CurrentChange (e) { |
| | | this.page = e; |
| | | this.itemSearch(); |
| | | }, |
| | | submitForm () { |
| | | if (this.roweditshow) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请å
ä¿å' |
| | | }); |
| | | } else { |
| | | if (this.iqnuer.orderType == '') { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'è¯·éæ©ç产类å' |
| | | }); |
| | | } else { |
| | | this.savloading = true; |
| | | this.iqnuer.creatorId = getCache('userInfo').id; |
| | | InOrderAddOrUpdate(this.iqnuer).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æ·»å æå' |
| | | }); |
| | | this.$emit('cancel'); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.msg |
| | | }); |
| | | } |
| | | this.savloading = false; |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | //è¿æ»¤åå¨ |
| | | storgage (lists) { |
| | | let list = [...lists]; |
| | | // list.forEach(element => { |
| | | // this.storagelist.push(element); |
| | | this.storagelist = lists; |
| | | // }); |
| | | this.filtration(); |
| | | }, |
| | | filtration (lists) { |
| | | let list = [...this.storagelist]; |
| | | let getWeight = ''; |
| | | list.forEach(element => { |
| | | element.edit = false; |
| | | if (JSON.stringify(this.rowitem) != '{}') { |
| | | element.doTime = this.rowitem.doTime; |
| | | element.maxNum = this.rowitem.totalNum; |
| | | } else { |
| | | element.doTime = getDate() + ' ' + GetTimeStr(0); |
| | | if (element.maxNum) { |
| | | // this.iqnuer.totalNum += parseInt(element.maxNum); |
| | | this.iqnuer.totalNum = element.maxNum; |
| | | } else { |
| | | this.iqnuer.totalNum = 0; |
| | | } |
| | | } |
| | | |
| | | // element.itemNum = element.maxNum; |
| | | }); |
| | | const { doTime, itemName } = list[0]; |
| | | this.iqnuer.doTime = doTime; |
| | | this.iqnuer.itemName = itemName; |
| | | this.tableData = list; |
| | | }, |
| | | //æ°é |
| | | itemchange (e) { |
| | | console.log(e); |
| | | this.roweditshow = !this.roweditshow; |
| | | const { maxNum, doTime } = e[0]; |
| | | this.iqnuer.totalNum = maxNum; |
| | | this.iqnuer.doTime = doTime; |
| | | // this.storgage(e); |
| | | // this.iqnuer.itemNum = 0; |
| | | // e.forEach(element => { |
| | | // element.edit = false; |
| | | // if (element.weight) { |
| | | // weight = element.weight; |
| | | // } |
| | | // if (element.maxNum) { |
| | | // this.iqnuer.itemNum += parseInt(element.maxNum); |
| | | // } |
| | | // element.itemNum = element.maxNum; |
| | | // }); |
| | | }, |
| | | //å¾étable |
| | | handleSelectionChange (e) { |
| | | console.log(e); |
| | | this.Selection = e; |
| | | }, |
| | | //å é¤ |
| | | delclick () { |
| | | this.Selection.forEach(element => { |
| | | let index = this.tableData.findIndex(item => item.itemName == element.itemName); |
| | | let storgindex = this.storagelist.findIndex(item => item.itemName == element.itemName); |
| | | this.tableData.splice(index, 1); |
| | | this.storagelist.splice(storgindex, 1); |
| | | }); |
| | | this.iqnuer.totalNum = 0; |
| | | } |
| | | }, |
| | | watch: { |
| | | chooselist: { |
| | | handler (nvl, ovl) { |
| | | this.storgage(nvl); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .quotationEdit { |
| | | width: 98%; |
| | | padding: 1%; |
| | | .quotationEdit-height { |
| | | height: 120px; |
| | | } |
| | | .quotationEdit-tebleheight { |
| | | height: calc(100% - 125px); |
| | | } |
| | | .show-pwd { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 3px; |
| | | font-size: 16px; |
| | | color: #889aa4; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | .centent-form { |
| | | height: 92%; |
| | | width: 100%; |
| | | margin: auto; |
| | | } |
| | | .quotationEdit-button { |
| | | } |
| | | ::v-deep .el-form-item__content { |
| | | width: 60%; |
| | | } |
| | | ::v-deep .el-select { |
| | | // width: 100%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="quotaion_relevanceEdit height overflow"> |
| | | <div class="width overflow height92"> |
| | | <div class="quotaion_relevanceEdit-height"> |
| | | <div class="flex justify-between"> |
| | | <div class="width55 flex align-center"> |
| | | <label class="width40 textalign">ç产计ååå·ï¼</label> |
| | | <el-input size="mini" |
| | | disabled |
| | | v-model="iqnuer.inOrderCode" |
| | | class="width60"> </el-input> |
| | | </div> |
| | | <div class="width40 flex align-center"> |
| | | <label class="width40 textalign">ç产类åï¼</label> |
| | | <el-select class="width60" |
| | | size="mini" |
| | | clearable |
| | | disabled |
| | | v-model="iqnuer.orderType" |
| | | placeholder="è¯·éæ©" |
| | | required="true"> |
| | | <el-option v-for="item in orderTypelist" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div class="flex justify-between margintopbot"> |
| | | <div class="width55 flex align-center"> |
| | | <label class="width40 textalign">é¶ä»¶ç¼å·ï¼</label> |
| | | <el-input class="width60" |
| | | clearable |
| | | size="mini" |
| | | disabled |
| | | placeholder="请è¾å
¥å
容" |
| | | v-model="iqnuer.itemName"> |
| | | </el-input> |
| | | </div> |
| | | <div class="width40 flex align-center"> |
| | | <label class="width40 textalign">é¶ä»¶åç§°ï¼</label> |
| | | <el-input clearable |
| | | size="mini" |
| | | disabled |
| | | v-model="iqnuer.itemDes" |
| | | class="width60"> </el-input> |
| | | </div> |
| | | </div> |
| | | <div class="flex justify-between margintopbot"> |
| | | <div class="width55 flex align-center"> |
| | | <label class="width40 textalign">夿³¨ï¼</label> |
| | | <el-input class="width60" |
| | | type="textarea" |
| | | clearable |
| | | size="mini" |
| | | disabled |
| | | resize="none" |
| | | :autosize="{ minRows: 1, maxRows: 1 }" |
| | | placeholder="请è¾å
¥å
容" |
| | | v-model="iqnuer.textarea1"> |
| | | </el-input> |
| | | </div> |
| | | <div class="width40 flex align-center"> |
| | | <label class="width40 textalign">å计æ°éï¼</label> |
| | | <el-input clearable |
| | | size="mini" |
| | | disabled |
| | | v-model="iqnuer.totalNum" |
| | | class="width60"> </el-input> |
| | | </div> |
| | | </div> |
| | | <el-button-group> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | icon="el-icon-plus" |
| | | :disabled="isReadOnly" |
| | | @click="$emit('partclick')">æ°å»º</el-button> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | icon="el-icon-delete" |
| | | :disabled="isReadOnly" |
| | | @click="delclick">å é¤</el-button> |
| | | </el-button-group> |
| | | </div> |
| | | <div class="width quotaion_relevanceEdit-tebleheight overflow"> |
| | | <table-container ref="tablecontainer" |
| | | height="91%" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :operation="true" |
| | | :editShow="true" |
| | | :setshow="false" |
| | | :naxnumShow="true" |
| | | :selectionShow="true" |
| | | :roweditshow="roweditshow" |
| | | :currentPage="page" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | :inputshow="true" |
| | | :showSummary="true" |
| | | @edit="edit" |
| | | @handleSelectionChange="handleSelectionChange" |
| | | @itemchange="itemchange" |
| | | @CurrentChange="CurrentChange" /> |
| | | </div> |
| | | </div> |
| | | <div class="quotaion_relevanceEdit-button text-right margin-right15 margin-top2"> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | class="form-buttom" |
| | | :disabled="isReadOnly" |
| | | :loading="savloading" |
| | | @click="submitForm">ä¿å</el-button> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | class="form-buttom" |
| | | @click="$emit('cancel')">åæ¶</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal } from '@/components/index'; |
| | | import { getCache, setCache, removeToken } from '@/utils/sessionStorage'; |
| | | const { quotaion_relevanceEdit } = require('@/components/tableContainer/tableHead'); |
| | | import { InOrderGetCode } from '@/api/quotation'; |
| | | import { getDate, GetTimeStr } from '@/utils/date'; |
| | | import { itemSearch } from '@/api/enterchoose'; |
| | | import { ContainerVsItemSearch, BindCviCode } from '@/api/enter'; |
| | | import { InOrderAddOrUpdate } from '@/api/quotation'; |
| | | export default { |
| | | data () { |
| | | return { |
| | | iqnuer: { |
| | | inOrderCode: '', //计ååå· |
| | | orderType: '', //计åç±»å |
| | | totalNum: '', //é¶ä»¶æ»æ° |
| | | doneNum: '', //å·²ä¸çº¿æ° æ°å¢ä¼ 0ï¼ç¼è¾ï¼åæ°æ®è¿å |
| | | userName: getCache('userInfo').userName, //å建人ç¼å· å½åç»éäººç¶æ |
| | | productionLineCode: '', //ï¼é¢çï¼ä¼ 空 |
| | | doTime: '', //æ§è¡æ¶é´ |
| | | itemName: '', //é¶ä»¶ç¼å·ä¼ ï¼å
¶å®é¶ä»¶ä¿¡æ¯å¯ä¸ä¼ |
| | | productionLineName: '' //ææ¶ä¼ ç©º |
| | | }, |
| | | orderTypelist: [ |
| | | { |
| | | label: 'å³å¢¨å
¥åº', |
| | | value: 'å³å¢¨å
¥åº' |
| | | }, |
| | | { |
| | | label: 'ææ²§å
¥åº', |
| | | value: 'ææ²§å
¥åº' |
| | | } |
| | | ], |
| | | tableData: [],//åè¡¨æ°æ® |
| | | savloading: false, |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20, |
| | | roweditshow: false |
| | | }; |
| | | }, |
| | | props: { |
| | | //æ¯å¦åªè¯» |
| | | isReadOnly: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | rowitem: { |
| | | type: Object, |
| | | default: () => { } |
| | | }, |
| | | tableList: { |
| | | type: Array, |
| | | default: () => [] |
| | | } |
| | | }, |
| | | components: { TableContainer }, |
| | | computed: { |
| | | tableHead () { |
| | | return quotaion_relevanceEdit; |
| | | } |
| | | }, |
| | | mounted () { |
| | | if (JSON.stringify(this.rowitem) != '{}') { |
| | | this.iqnuer = this.rowitem; |
| | | this.itemSearch(); |
| | | } else { |
| | | this.iqnuer.doneNum = 0; |
| | | this.InOrderGetCode(); |
| | | } |
| | | }, |
| | | methods: { |
| | | //èªå¨çæåå· |
| | | InOrderGetCode () { |
| | | InOrderGetCode().then(res => { |
| | | this.iqnuer.inOrderCode = res; |
| | | }); |
| | | }, |
| | | //ç¼è¾æ¶è·åé¶ä»¶åè¡¨æ°æ® |
| | | itemSearch () { |
| | | ContainerVsItemSearch(this.page, { |
| | | itemName: this.rowitem.itemName, |
| | | cviCode: this.rowitem.inOrderCode //ä¼ é å²å计ååå· ãEditby shaocx,2022-11-1ã |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach(item => { |
| | | item.image = process.env.IMAGE_URL + item.image; |
| | | }); |
| | | this.storgage(data); |
| | | this.totle = res.num; |
| | | } |
| | | }); |
| | | }, |
| | | //ç¼è¾ |
| | | edit (row) { }, |
| | | CurrentChange (e) { |
| | | this.page = e; |
| | | this.itemSearch(); |
| | | }, |
| | | submitForm () { |
| | | if (this.roweditshow) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请å
ä¿å' |
| | | }); |
| | | } else { |
| | | if (this.iqnuer.orderType == '') { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'è¯·éæ©ç产类å' |
| | | }); |
| | | } else { |
| | | this.savloading = true; |
| | | let _cviIds = this.tableData.map(item => { |
| | | return item.id |
| | | }); |
| | | var postData = { |
| | | cviCode: this.iqnuer.inOrderCode, |
| | | creatorId: getCache('userInfo').id, |
| | | creatorName: getCache('userInfo').userName, |
| | | cviIds: [..._cviIds] |
| | | } |
| | | //this.iqnuer.creatorId = getCache('userInfo').id; |
| | | //this.iqnuer.creatorName = getCache('userInfo').userName; |
| | | BindCviCode(postData).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'ä¿åæå' |
| | | }); |
| | | this.$emit('cancel'); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.msg |
| | | }); |
| | | } |
| | | this.savloading = false; |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | //è¿æ»¤åå¨ |
| | | storgage (lists) { |
| | | let list = [...lists]; |
| | | // list.forEach(element => { |
| | | // this.storagelist.push(element); |
| | | this.storagelist = lists; |
| | | // }); |
| | | this.filtration(); |
| | | }, |
| | | filtration (lists) { |
| | | let list = [...this.storagelist]; |
| | | let getWeight = ''; |
| | | list.forEach(element => { |
| | | element.edit = false; |
| | | /* |
| | | if (JSON.stringify(this.rowitem) != '{}') { |
| | | element.doTime = this.rowitem.doTime; |
| | | element.maxNum = this.rowitem.totalNum; |
| | | } else { |
| | | element.doTime = getDate() + ' ' + GetTimeStr(0); |
| | | if (element.maxNum) { |
| | | // this.iqnuer.totalNum += parseInt(element.maxNum); |
| | | this.iqnuer.totalNum = element.maxNum; |
| | | } else { |
| | | this.iqnuer.totalNum = 0; |
| | | } |
| | | } |
| | | //*/ |
| | | // element.itemNum = element.maxNum; |
| | | }); |
| | | //const { doTime, itemName } = list[0]; |
| | | //this.iqnuer.doTime = doTime; |
| | | //this.iqnuer.itemName = itemName; |
| | | this.tableData = list; |
| | | }, |
| | | //æ°é |
| | | itemchange (e) { |
| | | console.log(e); |
| | | this.roweditshow = !this.roweditshow; |
| | | const { maxNum, doTime } = e[0]; |
| | | this.iqnuer.totalNum = maxNum; |
| | | this.iqnuer.doTime = doTime; |
| | | // this.storgage(e); |
| | | // this.iqnuer.itemNum = 0; |
| | | // e.forEach(element => { |
| | | // element.edit = false; |
| | | // if (element.weight) { |
| | | // weight = element.weight; |
| | | // } |
| | | // if (element.maxNum) { |
| | | // this.iqnuer.itemNum += parseInt(element.maxNum); |
| | | // } |
| | | // element.itemNum = element.maxNum; |
| | | // }); |
| | | }, |
| | | //å¾étable |
| | | handleSelectionChange (e) { |
| | | console.log(e); |
| | | this.Selection = e; |
| | | }, |
| | | //å é¤ |
| | | delclick () { |
| | | this.Selection.forEach(element => { |
| | | let index = this.tableData.findIndex(item => item.itemName == element.itemName); |
| | | let storgindex = this.storagelist.findIndex(item => item.itemName == element.itemName); |
| | | this.tableData.splice(index, 1); |
| | | this.storagelist.splice(storgindex, 1); |
| | | }); |
| | | this.iqnuer.totalNum = 0; |
| | | } |
| | | }, |
| | | watch: { |
| | | tableList: { |
| | | handler (nvl, ovl) { |
| | | this.storgage(nvl); |
| | | }, |
| | | deep: true |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .quotaion_relevanceEdit { |
| | | width: 98%; |
| | | padding: 1%; |
| | | .quotaion_relevanceEdit-height { |
| | | height: 180px; |
| | | } |
| | | .quotaion_relevanceEdit-tebleheight { |
| | | height: calc(100% - 180px); |
| | | } |
| | | .show-pwd { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 3px; |
| | | font-size: 16px; |
| | | color: #889aa4; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | .centent-form { |
| | | height: 92%; |
| | | width: 100%; |
| | | margin: auto; |
| | | } |
| | | .quotaion_relevanceEdit-button { |
| | | } |
| | | ::v-deep .el-form-item__content { |
| | | width: 60%; |
| | | } |
| | | ::v-deep .el-select { |
| | | // width: 100%; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <keep-alive> |
| | | <router-view /> |
| | | </keep-alive> |
| | | </template> |
| | | |
| | | <script> |
| | | export default {}; |
| | | </script> |
| | | |
| | | <style></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- 页é¢ï¼çè£
确认 --> |
| | | <template> |
| | | <!-- ä»åºä¿¡æ¯ --> |
| | | <div id="confirm_welding" |
| | | class="global-content"> |
| | | <!-- çé --> |
| | | <inbound-inuqer ref="inref" |
| | | byfilter="计ååå·" |
| | | :filterList="filterList" |
| | | :add="false" |
| | | :tolead="true" |
| | | :derive="true" |
| | | :imexcel="false" |
| | | :datetimeshow="true" |
| | | :queryOrderStatusShow="false" |
| | | @refresh="refresh" |
| | | @addmodal="addmodal" |
| | | @inquer="inquer" |
| | | @derive="derive" |
| | | @importfile="importfile" /> |
| | | <!-- <input type="file" accept=".xls,.xlsx" @change="readExcel($event)" /> --> |
| | | |
| | | <!-- table --> |
| | | <div class="table"> |
| | | <table-container :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :editShow="false" |
| | | :viewShow="false" |
| | | :weldingAuditShow="false" |
| | | :unlineCommitShow="false" |
| | | :passShow="true" |
| | | :rejectShow="true" |
| | | :relevanceShow="true" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | @edit="edit" |
| | | @view="view" |
| | | @relevance="relevance" |
| | | @weldingAudit="weldingAudit" |
| | | @passCommit="passCommit" |
| | | @rejectCommit="rejectCommit" |
| | | @SizeChange="SizeChange" |
| | | @CurrentChange="CurrentChange" /> |
| | | </div> |
| | | |
| | | <transition name="modal"> |
| | | <modal v-if="addmodalShow" |
| | | :modabg="true" |
| | | @cancel="addmodalShow = false"> |
| | | <p slot="title">å²åç产计åå-{{ title }}</p> |
| | | <div class="height" |
| | | slot="centent"> |
| | | <quotaion-edit @partclick="partShow = true" |
| | | :isReadOnly="partShow_readOnly" |
| | | @cancel=" |
| | | addmodalShow = false; |
| | | refresh(); |
| | | " |
| | | :chooselist="chooselist" |
| | | :rowitem="rowitem" |
| | | @addsubmit="addsubmit" /> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | <transition name="modal"> |
| | | <modal v-if="relevanceModalShow" |
| | | :modabg="true" |
| | | @cancel="relevanceModalShow = false"> |
| | | <p slot="title">å
³èå®å·¥å
¥åºé¶ä»¶-{{ relevanceModalShow_title }}</p> |
| | | <div class="height" |
| | | slot="centent"> |
| | | <quotaion_relevanceEdit ref="quotaion_relevanceEditMethod" |
| | | @partclick="clickAddForRelevanceFinishedPart" |
| | | @cancel=" |
| | | relevanceModalShow = false; |
| | | refresh(); |
| | | " |
| | | :tableList="relevanceFinishedPartList" |
| | | :chooseClick="chooseClick" |
| | | :rowitem="rowitem" |
| | | :isReadOnly="true" |
| | | @addsubmit="addsubmit" /> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | <transition name="modal"> |
| | | <modal v-if="partShow" |
| | | :modabg="true" |
| | | @cancel="partShow = false"> |
| | | <p slot="title">é¶ä»¶éæ©</p> |
| | | <div class="height" |
| | | slot="centent"> |
| | | <choose ref="partChoose" |
| | | :wipelist="wipelist" |
| | | @chooseClick="chooseClick" |
| | | @cancel="partShow = false" |
| | | @addchoose="addchooseShow = true" /> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | <transition name="modal"> |
| | | <modal v-if="relevanceFinishedPartShow" |
| | | :modabg="true" |
| | | @cancel="relevanceFinishedPartShow = false"> |
| | | <p slot="title">éæ©å
³èå®å·¥å
¥åºé¶ä»¶</p> |
| | | <div class="height" |
| | | slot="centent"> |
| | | <chooseRelevanceFinishedPart ref="relevanceFinishedPartMethod" |
| | | :wipelist="wipelist" |
| | | :pItemName="pItemName" |
| | | :pItemDes="pItemDes" |
| | | @submitForm="submitRelevanceFinishedPart" |
| | | @cancel="relevanceFinishedPartShow = false" |
| | | @addchoose="addchooseShow = true" /> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | <el-dialog title="审æ¹é©³å" |
| | | width="30%" |
| | | :visible.sync="rejectModalShow"> |
| | | <el-form :model="rejectForm" |
| | | label-width="100px"> |
| | | <el-form-item label="ç产计ååå·"> |
| | | <el-input disabled |
| | | v-model="rejectForm.inOrderCode"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="说æ"> |
| | | <el-input v-model="rejectForm.Remark"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" |
| | | class="dialog-footer"> |
| | | <el-button @click="rejectModalShow = false">å æ¶</el-button> |
| | | <el-button type="primary" |
| | | @click="do_rejectCommit">ç¡® å®</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal, Choose, AddChoose, chooseRelevanceFinishedPart } from '@/components/index';//è¿éå¼ç¨çæ¯ vueæä»¶çåå |
| | | import inboundInuqer from '../../components/inboundinuqer'; |
| | | import quotaionEdit from '../../components/quotaionEdit'; |
| | | import quotaion_relevanceEdit from '../../components/quotaion_relevanceEdit'; |
| | | import { getimestampDate, getymdhms } from '@/utils/date'; |
| | | import { exportTableList } from '@/utils/excel'; |
| | | //const { quotation } = require('@/components/tableContainer/tableHead'); |
| | | import { getCache, setCache, removeToken } from '@/utils/sessionStorage'; |
| | | import { InOrderSearch, InOrderDelete, ImportInOrder, InOrderSend, UpdateUnlineNum, InOrderCheck, InOrderReject } from '@/api/quotation'; |
| | | import XLSX from 'xlsx'; |
| | | import { Collapse } from 'element-ui'; |
| | | //å表æ¾ç¤ºåå
容 |
| | | const my_tableHead = [{ |
| | | columnDescription: 'ç产计ååå·', |
| | | columnName: 'inOrderCode', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 200 |
| | | }, |
| | | { |
| | | columnDescription: 'ç产类å', |
| | | columnName: 'orderType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | |
| | | { |
| | | columnDescription: '订åç¶æ', |
| | | columnName: 'orderStatus', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 200 |
| | | }, |
| | | { |
| | | columnDescription: '计åç产æ°é', |
| | | columnName: 'totalNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æ»å®å·¥æ°', |
| | | columnName: 'allFinishedNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'å
¥åºæ°é', |
| | | columnName: 'DoneNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: '线ä¸äº¤ä»æ°é', |
| | | columnName: 'unLineNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æäº¤äºº', |
| | | columnName: 'senderName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æäº¤æ¶é´', |
| | | columnName: 'SendTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'å®¡æ ¸äºº', |
| | | columnName: 'checkerName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å®¡æ ¸ç»æ', |
| | | columnName: 'CheckResult', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å®¡æ ¸æ¶é´', |
| | | columnName: 'CheckTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'å®¡æ ¸è¯´æ', |
| | | columnName: 'CheckRemark', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: '夿³¨', |
| | | columnName: 'deviceName5', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å建人', |
| | | columnName: 'createName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å建æ¶é´', |
| | | columnName: 'createTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, { |
| | | columnDescription: 'ä¿®æ¹äºº', |
| | | columnName: 'updateName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ä¿®æ¹æ¶é´', |
| | | columnName: 'updateTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | } |
| | | ]; |
| | | export default { |
| | | name: 'confirm_welding', |
| | | data () { |
| | | return { |
| | | partShow_readOnly: false, |
| | | rejectForm: { |
| | | inOrderCode: '', |
| | | Remark: '' |
| | | }, |
| | | rejectModalShow: false, |
| | | pItemName: '', |
| | | pItemDes: '', |
| | | relevanceModalShow_title: '', |
| | | title: '', |
| | | tableData: [], |
| | | modalShow: false, |
| | | addmodalShow: false, |
| | | relevanceModalShow: false, |
| | | relevanceFinishedPartShow: false, |
| | | partShow: false, |
| | | addchooseShow: false, |
| | | |
| | | chooselist: [], |
| | | relevanceFinishedPartList: [], |
| | | rowitem: {}, |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20, |
| | | wipelist: ['inOrderCode'], |
| | | inuqerobg: {}, |
| | | filterList: [ |
| | | { |
| | | value: '计ååå·', |
| | | label: '计ååå·' |
| | | } |
| | | ] |
| | | }; |
| | | }, |
| | | components: { TableContainer, inboundInuqer, Modal, quotaionEdit, Choose, AddChoose, quotaion_relevanceEdit, chooseRelevanceFinishedPart }, |
| | | computed: { |
| | | tableHead () { |
| | | return my_tableHead; |
| | | } |
| | | }, |
| | | created () { }, |
| | | mounted () { |
| | | this.InOrderSearch(); |
| | | console.log(getymdhms()); |
| | | }, |
| | | methods: { |
| | | clickAddForRelevanceFinishedPart () { |
| | | //è·åä¸ä¸ä¸ªçªä½çå
容 |
| | | let itemName = this.$refs.quotaion_relevanceEditMethod.iqnuer.itemName; |
| | | let itemDes = this.$refs.quotaion_relevanceEditMethod.iqnuer.itemDes; |
| | | this.pItemName = itemName; |
| | | this.pItemDes = itemDes; |
| | | this.relevanceFinishedPartShow = true |
| | | // setTimeout(() => { |
| | | // //console.log('relevanceFinishedPartMethod:' + this.$refs.relevanceFinishedPartMethod) |
| | | |
| | | // this.$refs.relevanceFinishedPartMethod.iqnuer.itemName = itemName; |
| | | // this.$refs.relevanceFinishedPartMethod.iqnuer.itemDes = itemDes; |
| | | // }, 0) |
| | | }, |
| | | //å·æ° |
| | | refresh () { |
| | | this.inuqerobg = {}; |
| | | this.$refs.inref.inrefclear(); |
| | | this.InOrderSearch(); |
| | | }, |
| | | //æ¥è¯¢ |
| | | inquer (e) { |
| | | this.page = 1; |
| | | this.inuqerobg = e; |
| | | this.InOrderSearch(); |
| | | }, |
| | | //å¯¼åº |
| | | derive () { |
| | | let tHeader = []; |
| | | let filterVal = []; |
| | | this.tableHead.forEach(item => { |
| | | tHeader.push(item.columnDescription); |
| | | filterVal.push(item.columnName); |
| | | }); |
| | | this.$Loading(true); |
| | | const { 计ååå·: inOrderCode } = this.inuqerobg; |
| | | //OrderStatusId: '1' è¡¨ç¤ºç¶ææ¯ çè£
å®¡æ ¸ä¸ |
| | | const orderType = this.inuqerobg.orderType; |
| | | InOrderSearch('1&onePageNum=99999999', { |
| | | inOrderCode, orderType, OrderStatusId: '1', CHECKERID: getCache('userInfo').id, |
| | | createTimeStart: this.inuqerobg.timepick ? this.inuqerobg.timepick[0] : '', |
| | | createTimeEnd: this.inuqerobg.timepick ? this.inuqerobg.timepick[1] : '' |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach(item => { |
| | | item.doTime = item.doTime ? getimestampDate(item.doTime) : ''; |
| | | item.updateTime = item.updateTime ? getimestampDate(item.updateTime) : ''; |
| | | }); |
| | | exportTableList(tHeader, filterVal, data, 'å²å计å' + getymdhms()); |
| | | } |
| | | this.$Loading(false); |
| | | }); |
| | | }, |
| | | //导å
¥ |
| | | importfile (e) { |
| | | this.readExcel(e); |
| | | }, |
| | | |
| | | //è·åç产计åå表 |
| | | InOrderSearch () { |
| | | this.$Loading(true); |
| | | const { 计ååå·: inOrderCode } = this.inuqerobg; |
| | | //OrderStatusId: '1' è¡¨ç¤ºç¶ææ¯ çè£
å®¡æ ¸ä¸ |
| | | const orderType = this.inuqerobg.orderType; |
| | | InOrderSearch(this.page + '&onePageNum=' + this.pageSize, { |
| | | inOrderCode, orderType, OrderStatusId: '1', CHECKERID: getCache('userInfo').id, |
| | | createTimeStart: this.inuqerobg.timepick ? this.inuqerobg.timepick[0] : '', |
| | | createTimeEnd: this.inuqerobg.timepick ? this.inuqerobg.timepick[1] : '' |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | this.tableData = res.data.filter(item => (item.doTime = getimestampDate(item.doTime))); |
| | | this.totle = res.num; |
| | | } |
| | | this.$Loading(); |
| | | }); |
| | | }, |
| | | //å页 |
| | | CurrentChange (e) { |
| | | console.log(e); |
| | | this.page = e; |
| | | this.InOrderSearch(); |
| | | }, |
| | | //é¡µæ° |
| | | SizeChange (e) { |
| | | this.pageSize = e; |
| | | this.InOrderSearch(); |
| | | }, |
| | | //ç¼è¾ |
| | | edit (row) { |
| | | this.title = 'ç¼è¾'; |
| | | this.partShow_readOnly = false; |
| | | this.addmodalShow = true; |
| | | this.rowitem = { ...row }; |
| | | }, |
| | | //æ¥ç |
| | | view (row) { |
| | | this.title = 'æ¥ç'; |
| | | this.partShow_readOnly = true; |
| | | this.addmodalShow = true; |
| | | this.rowitem = { ...row }; |
| | | }, |
| | | //å
³è |
| | | relevance (row) { |
| | | this.relevanceModalShow_title = 'å
³è'; |
| | | this.relevanceModalShow = true; |
| | | this.rowitem = { ...row }; |
| | | }, |
| | | //åéçè£
å®¡æ ¸ |
| | | weldingAudit (row) { |
| | | const { inOrderCode } = { ...row }; |
| | | //console.log(inOrderCode) |
| | | this.$confirm('ç¡®å®å°è®¡ååå·"' + inOrderCode + '"æäº¤çè£
å®¡æ ¸å?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | InOrderSend({ |
| | | InOrderCode: inOrderCode, |
| | | Remark: '' |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æäº¤æå' |
| | | }); |
| | | this.InOrderSearch(); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'æäº¤å¤±è´¥:' + res.msg |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶' |
| | | }); |
| | | }); |
| | | }, |
| | | //éè¿ |
| | | passCommit (row) { |
| | | const { inOrderCode } = { ...row }; |
| | | //console.log(inOrderCode) |
| | | this.$confirm('ç¡®å®å°è®¡ååå·"' + inOrderCode + '"å®¡æ ¸éè¿å?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | InOrderCheck({ |
| | | InOrderCode: inOrderCode, |
| | | Remark: '' |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æäº¤æå' |
| | | }); |
| | | this.InOrderSearch(); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'æäº¤å¤±è´¥:' + res.msg |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶' |
| | | }); |
| | | }); |
| | | }, |
| | | //å¼¹åº æç» |
| | | rejectCommit (row) { |
| | | this.rejectForm.inOrderCode = row.inOrderCode; |
| | | this.rejectForm.Remark = ''; |
| | | this.rejectModalShow = true |
| | | }, |
| | | //æç»æäº¤ |
| | | do_rejectCommit () { |
| | | this.$confirm('ç¡®å®å°è®¡ååå·"' + this.rejectForm.inOrderCode + '"驳åå?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | InOrderReject({ |
| | | InOrderCode: this.rejectForm.inOrderCode, |
| | | Remark: this.rejectForm.Remark |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æäº¤æå' |
| | | }); |
| | | this.rejectModalShow = false; |
| | | this.InOrderSearch(); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'æäº¤å¤±è´¥:' + res.msg |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶' |
| | | }); |
| | | }); |
| | | }, |
| | | //å é¤ |
| | | del (row) { |
| | | console.log(row); |
| | | const { inOrderCode } = { ...row }; |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥ç产计åä¿¡æ¯, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | InOrderDelete({ inOrderCode }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'å 餿å' |
| | | }); |
| | | this.InOrderSearch(); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'å é¤å¤±è´¥' |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | //æ°å»º |
| | | addmodal () { |
| | | this.rowitem = {}; |
| | | this.addmodalShow = true; |
| | | this.title = 'æ°å»º'; |
| | | }, |
| | | //æ°å¢ä¿®æ¹å |
| | | addsubmit () { |
| | | this.addmodalShow = false; |
| | | this.modalShow = false; |
| | | this.UserSearch(); |
| | | }, |
| | | //é¶ä»¶å¾éæ°æ® |
| | | chooseClick (e) { |
| | | //alert(e) |
| | | if (e.length > 0) { |
| | | this.chooselist = [...e]; |
| | | this.partShow = false; |
| | | } else { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '请å¾é' |
| | | }); |
| | | } |
| | | }, |
| | | //å®å·¥é¶ä»¶å¾éæ°æ® |
| | | submitRelevanceFinishedPart (e) { |
| | | //alert(e) |
| | | //debugger |
| | | //alert(this.$refs.quotaion_relevanceEditMethod.tableData.length); |
| | | var oldDataList = this.$refs.quotaion_relevanceEditMethod.tableData; |
| | | if (e.length > 0) { |
| | | //å¤çï¼ç¸åçå°±ä¸åç»§ç»æ·»å ï¼æ²¡æç就添å |
| | | var checkList = [...e]; |
| | | for (let i in checkList) { |
| | | debugger |
| | | //alert(checkList[i].id); |
| | | var result = oldDataList.find(x => x.id == checkList[i].id); |
| | | //alert(result) |
| | | if (result == undefined) { |
| | | //alert('å¡«å
¥') |
| | | //alert(this.relevanceFinishedPartList.length); |
| | | oldDataList.push(checkList[i]); |
| | | //console.log(checkList[i]) |
| | | //alert('å¡«å
¥11') |
| | | } |
| | | } |
| | | this.relevanceFinishedPartList = [...oldDataList]; |
| | | //alert(this.relevanceFinishedPartList.length); |
| | | this.relevanceFinishedPartShow = false; |
| | | } else { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '请å¾é' |
| | | }); |
| | | } |
| | | }, |
| | | //æ°å¢é¶ä»¶å |
| | | addchooseclick () { |
| | | this.addchooseShow = false; |
| | | this.$refs.partChoose.itemSearch(); |
| | | }, |
| | | readExcel (e) { |
| | | // 读åè¡¨æ ¼æä»¶ |
| | | let _this = this; |
| | | const files = e.file; |
| | | // debugger; |
| | | if (files.length <= 0) { |
| | | return false; |
| | | } else if (!/\.(xls|xlsx)$/.test(files.name.toLowerCase())) { |
| | | this.$message({ |
| | | message: 'ä¸ä¼ æ ¼å¼ä¸æ£ç¡®ï¼è¯·ä¸ä¼ xlsæè
xlsxæ ¼å¼', |
| | | type: 'warning' |
| | | }); |
| | | return false; |
| | | } else { |
| | | // æ´æ°è·åæä»¶å |
| | | console.log(files); |
| | | } |
| | | |
| | | const fileReader = new FileReader(); |
| | | fileReader.onload = ev => { |
| | | try { |
| | | const data = ev.target.result; |
| | | const workbook = XLSX.read(data, { |
| | | type: 'binary' |
| | | }); |
| | | const wsname = workbook.SheetNames[0]; //å第ä¸å¼ 表 |
| | | const ws = XLSX.utils.sheet_to_json(workbook.Sheets[wsname]); //çæjsonè¡¨æ ¼å
容 |
| | | console.log(ws); |
| | | let list = []; |
| | | |
| | | ws.forEach(item => { |
| | | list.push({ |
| | | itemCode: item['é¶ä»¶ç¼å·'], |
| | | inType: item['ç产类å'], |
| | | Desc: item['ç产ç线'], |
| | | createTime: item['çäº§æ¥æ'], |
| | | itemNum: item['ç产æ°é'] |
| | | }); |
| | | }); |
| | | _this.ImportInOrder(JSON.stringify(list)); |
| | | } catch (e) { |
| | | return false; |
| | | } |
| | | }; |
| | | fileReader.readAsBinaryString(files); |
| | | }, |
| | | //导å
¥æ¥å£ |
| | | ImportInOrder (list) { |
| | | ImportInOrder({ userName: getCache('userInfo').userName, items: list }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: '导å
¥æå' |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '导å
¥å¤±è´¥ï¼è¯·æç
§æ¨¡æ¿å¡«å
¥å
容' |
| | | }); |
| | | } |
| | | }); |
| | | this.InOrderSearch(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | //èµå¼id为input_finished_productçæ ·å¼ |
| | | #confirm_welding { |
| | | .table { |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | height: calc(100% - 40px); |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- ä»åºä¿¡æ¯ --> |
| | | <div id="enter" |
| | | class="global-content"> |
| | | <!-- çé --> |
| | | <inbound-inuqer ref="inref" |
| | | byfilter="é¶ä»¶ç¼å·" |
| | | :filterList="filterList" |
| | | :loading="loading" |
| | | :tolead="false" |
| | | :derive="false" |
| | | :imexcel="false" |
| | | :datetimeshow="true" |
| | | @refresh="refresh" |
| | | @addmodal="addmodal" |
| | | @inquer="inquer" /> |
| | | <!-- table --> |
| | | <div class="table"> |
| | | <table-container :wipelist="wipelist" |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :editShow="true" |
| | | :delShow="true" |
| | | :currentPage="page" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | @edit="edit" |
| | | @del="del" |
| | | @CurrentChange="CurrentChange" |
| | | @SizeChange="SizeChange" |
| | | @handleSelectionChange="handleSelectionChange" /> |
| | | </div> |
| | | |
| | | <transition name="modal"> |
| | | <modal v-if="addmodalShow" |
| | | :modabg="true" |
| | | @cancel="addmodalShow = false"> |
| | | <p slot="title">ç»ç-{{ title }}</p> |
| | | <div class="height" |
| | | slot="centent"> |
| | | <enter-edit @partclick="partShow = true" |
| | | @cancel=" |
| | | addmodalShow = false; |
| | | refresh(); |
| | | " |
| | | :rowitem="rowitem" |
| | | :chooselist="chooselist" |
| | | @addsubmit="addsubmit" /> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | <transition name="modal"> |
| | | <modal v-if="partShow" |
| | | :modabg="true" |
| | | @cancel="partShow = false"> |
| | | <p slot="title">é¶ä»¶å表</p> |
| | | <div class="height" |
| | | slot="centent"> |
| | | <choose ref="enterChoose" |
| | | :choice="false" |
| | | @chooseClick="chooseClick" |
| | | @cancel="partShow = false" |
| | | @addchoose="addchooseShow = true" /> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal, Choose, AddChoose } from '@/components/index'; |
| | | import inboundInuqer from '../../components/inboundinuqer'; |
| | | import enterEdit from '../../components/enterEdit'; |
| | | // import enterChoose from '../../components/choose'; |
| | | // import AddChoose from '../../components/addchoose'; |
| | | const { enter } = require('@/components/tableContainer/tableHead'); |
| | | import { ContainerVsItemSearch, ContainerVsItemDelete } from '@/api/enter'; |
| | | export default { |
| | | data () { |
| | | return { |
| | | title: '', |
| | | tableData: [], |
| | | modalShow: false, |
| | | addmodalShow: false, |
| | | partShow: false, |
| | | addchooseShow: false, |
| | | loading: false, |
| | | chooselist: [], //é¶ä»¶æ°æ® |
| | | wipelist: [], |
| | | handleSeleclist: [], //å¾éæ°æ® |
| | | rowitem: {}, |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20, |
| | | inuqerobg: {}, |
| | | filterList: [ |
| | | { |
| | | value: 'ç»çç¼å·', |
| | | label: 'ç»çç¼å·' |
| | | }, |
| | | { |
| | | value: 'é¶ä»¶ç¼å·', |
| | | label: 'é¶ä»¶ç¼å·' |
| | | }, |
| | | { |
| | | value: 'é¶ä»¶åç§°', |
| | | label: 'é¶ä»¶åç§°' |
| | | }, |
| | | { |
| | | value: 'å¨å
·ç¼å·', |
| | | label: 'å¨å
·ç¼å·' |
| | | }, |
| | | { |
| | | value: 'å¨å
፱Ȍ', |
| | | label: 'å¨å
፱Ȍ' |
| | | }, |
| | | { |
| | | value: 'å
¥åºè®¡å', |
| | | label: 'å
¥åºè®¡å' |
| | | }, |
| | | { |
| | | value: 'åºåºè®¡å', |
| | | label: 'åºåºè®¡å' |
| | | }, |
| | | { |
| | | value: 'è¿ä¿®è½¦é´', |
| | | label: 'è¿ä¿®è½¦é´' |
| | | }, |
| | | { |
| | | value: 'ç产ç线', |
| | | label: 'ç产ç线' |
| | | } |
| | | ] |
| | | }; |
| | | }, |
| | | components: { TableContainer, inboundInuqer, Modal, enterEdit, Choose, AddChoose }, |
| | | computed: { |
| | | tableHead () { |
| | | return enter; |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.ContainerVsItemSearch(); |
| | | }, |
| | | methods: { |
| | | //å·æ° |
| | | refresh () { |
| | | this.loading = true; |
| | | this.inuqerobg = {}; |
| | | this.$refs.inref.inrefclear(); |
| | | this.ContainerVsItemSearch(); |
| | | }, |
| | | //æ¥è¯¢ |
| | | inquer (e) { |
| | | this.inuqerobg = e; |
| | | this.page = 1; |
| | | this.ContainerVsItemSearch(); |
| | | }, |
| | | //æç´¢ç¨æ· |
| | | ContainerVsItemSearch () { |
| | | const { |
| | | ç»çç¼å·: cviCode, |
| | | é¶ä»¶ç¼å·: itemName, |
| | | é¶ä»¶åç§°: itemDes, |
| | | å¨å
·ç¼å·: containerName, |
| | | å¨å
፱Ȍ: containerType, |
| | | å
¥åºè®¡å: inOrderCode, |
| | | åºåºè®¡å: outOrderCode, |
| | | è¿ä¿®è½¦é´: badByFactory, |
| | | ç产ç线: createLine |
| | | } = this.inuqerobg; |
| | | this.$Loading(true); |
| | | ContainerVsItemSearch(this.page + '&onePageNum=' + this.pageSize, { |
| | | itemName, |
| | | itemDes, |
| | | containerName, |
| | | containerType, |
| | | inOrderCode, |
| | | outOrderCode, |
| | | badByFactory, |
| | | createLine, |
| | | cviCode, |
| | | createTimeStart: this.inuqerobg.timepick ? this.inuqerobg.timepick[0] : '', |
| | | createTimeEnd: this.inuqerobg.timepick ? this.inuqerobg.timepick[1] : '' |
| | | }).then(res => { |
| | | this.loading = false; |
| | | if (res.code == 0) { |
| | | this.tableData = res.data; |
| | | this.totle = res.num; |
| | | } |
| | | this.$Loading(); |
| | | }); |
| | | }, |
| | | CurrentChange (e) { |
| | | console.log(e); |
| | | this.page = e; |
| | | this.ContainerVsItemSearch(); |
| | | }, |
| | | //é¡µæ° |
| | | SizeChange (e) { |
| | | this.pageSize = e; |
| | | this.ContainerVsItemSearch(); |
| | | }, |
| | | //ç¼è¾ |
| | | edit (row) { |
| | | this.rowitem = { ...row }; |
| | | this.chooselist = []; //é¶ä»¶æ°æ® |
| | | this.addmodalShow = true; |
| | | this.title = 'ç¼è¾'; |
| | | }, |
| | | //å¾é |
| | | handleSelectionChange (e) { |
| | | this.handleSeleclist = e; |
| | | }, |
| | | //å é¤ |
| | | del (row) { |
| | | console.log(row); |
| | | const { id } = { ...row }; |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥ç»çä¿¡æ¯, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | ContainerVsItemDelete({ id }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'å 餿å' |
| | | }); |
| | | this.ContainerVsItemSearch(); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'å é¤å¤±è´¥' |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | //æ°å»º |
| | | addmodal () { |
| | | this.rowitem = {}; |
| | | this.chooselist = []; |
| | | this.addmodalShow = true; |
| | | this.title = 'æ°å»º'; |
| | | }, |
| | | //æ°å¢ä¿®æ¹å |
| | | addsubmit () { |
| | | this.addmodalShow = false; |
| | | this.modalShow = false; |
| | | this.ContainerVsItemSearch(); |
| | | }, |
| | | //é¶ä»¶å¾éæ°æ® |
| | | chooseClick (e) { |
| | | if (e.length > 0) { |
| | | this.chooselist = [...e]; |
| | | this.partShow = false; |
| | | } else { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '请å¾é' |
| | | }); |
| | | } |
| | | }, |
| | | //æ°å¢é¶ä»¶å |
| | | addchooseclick () { |
| | | this.addchooseShow = false; |
| | | this.$refs.enterChoose.itemSearch(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #enter { |
| | | .table { |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | height: calc(100% - 40px); |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <router-view /> |
| | | </template> |
| | | |
| | | <script> |
| | | export default {}; |
| | | </script> |
| | | |
| | | <style></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- ä»åºä¿¡æ¯ --> |
| | | <div id="input_finished_product" |
| | | class="global-content"> |
| | | <!-- çé --> |
| | | <inbound-inuqer ref="inref" |
| | | byfilter="计ååå·" |
| | | :filterList="filterList" |
| | | :add="false" |
| | | :tolead="true" |
| | | :derive="true" |
| | | :imexcel="false" |
| | | :datetimeshow="true" |
| | | @refresh="refresh" |
| | | @addmodal="addmodal" |
| | | @inquer="inquer" |
| | | @derive="derive" |
| | | @importfile="importfile" /> |
| | | <!-- <input type="file" accept=".xls,.xlsx" @change="readExcel($event)" /> --> |
| | | |
| | | <!-- table --> |
| | | <div class="table"> |
| | | <table-container :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :editShow="false" |
| | | :viewShow="true" |
| | | :weldingAuditShow="true" |
| | | :unlineCommitShow="true" |
| | | :relevanceShow="true" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | :cellStyle="cellStyle" |
| | | @edit="edit" |
| | | @del="del" |
| | | @view="view" |
| | | @relevance="relevance" |
| | | @weldingAudit="weldingAudit" |
| | | @unlineCommit="unlineCommit" |
| | | @SizeChange="SizeChange" |
| | | @CurrentChange="CurrentChange" /> |
| | | </div> |
| | | |
| | | <transition name="modal"> |
| | | <modal v-if="addmodalShow" |
| | | :modabg="true" |
| | | @cancel="addmodalShow = false"> |
| | | <p slot="title">å²åç产计åå-{{ title }}</p> |
| | | <div class="height" |
| | | slot="centent"> |
| | | <quotaion-edit @partclick="partShow = true" |
| | | :isReadOnly="partShow_readOnly" |
| | | @cancel=" |
| | | addmodalShow = false; |
| | | refresh(); |
| | | " |
| | | :chooselist="chooselist" |
| | | :rowitem="rowitem" |
| | | @addsubmit="addsubmit" /> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | <transition name="modal"> |
| | | <modal v-if="relevanceModalShow" |
| | | :modabg="true" |
| | | @cancel="relevanceModalShow = false"> |
| | | <p slot="title">å
³èå®å·¥å
¥åºé¶ä»¶-{{ relevanceModalShow_title }}</p> |
| | | <div class="height" |
| | | slot="centent"> |
| | | <quotaion_relevanceEdit ref="quotaion_relevanceEditMethod" |
| | | @partclick="clickAddForRelevanceFinishedPart" |
| | | @cancel=" |
| | | relevanceModalShow = false; |
| | | refresh(); |
| | | " |
| | | :tableList="relevanceFinishedPartList" |
| | | :chooseClick="chooseClick" |
| | | :rowitem="rowitem" |
| | | @addsubmit="addsubmit" /> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | <transition name="modal"> |
| | | <modal v-if="partShow" |
| | | :modabg="true" |
| | | @cancel="partShow = false"> |
| | | <p slot="title">é¶ä»¶éæ©</p> |
| | | <div class="height" |
| | | slot="centent"> |
| | | <choose ref="partChoose" |
| | | :wipelist="wipelist" |
| | | @chooseClick="chooseClick" |
| | | @cancel="partShow = false" |
| | | @addchoose="addchooseShow = true" /> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | <transition name="modal"> |
| | | <modal v-if="aduitUserShow" |
| | | :modabg="true" |
| | | @cancel="aduitUserShow = false"> |
| | | <p slot="title">éæ©å®¡æ ¸äºº</p> |
| | | <div class="height" |
| | | slot="centent"> |
| | | <chooseUser ref="userChoose" |
| | | :wipelist="wipelist" |
| | | @submitForm="do_weldingAudit" |
| | | @cancel="aduitUserShow = false" |
| | | @addchoose="addchooseShow = true" /> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | <transition name="modal"> |
| | | <modal v-if="relevanceFinishedPartShow" |
| | | :modabg="true" |
| | | @cancel="relevanceFinishedPartShow = false"> |
| | | <p slot="title">éæ©å
³èå®å·¥å
¥åºé¶ä»¶</p> |
| | | <div class="height" |
| | | slot="centent"> |
| | | <chooseRelevanceFinishedPart ref="relevanceFinishedPartMethod" |
| | | :wipelist="wipelist" |
| | | :pItemName="pItemName" |
| | | :pItemDes="pItemDes" |
| | | @submitForm="submitRelevanceFinishedPart" |
| | | @cancel="relevanceFinishedPartShow = false" |
| | | @addchoose="addchooseShow = true" /> |
| | | </div> |
| | | </modal> |
| | | </transition> |
| | | <el-dialog title="线ä¸äº¤ä»" |
| | | width="30%" |
| | | :visible.sync="unlineCommitModalShow"> |
| | | <el-form :model="unlineCommitForm" |
| | | label-width="100px"> |
| | | <el-form-item label="ç产计ååå·"> |
| | | <el-input disabled |
| | | v-model="unlineCommitForm.inOrderCode"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="线ä¸äº¤ä»æ°é"> |
| | | <el-input-number v-model="unlineCommitForm.qty" |
| | | :min="0"></el-input-number> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" |
| | | class="dialog-footer"> |
| | | <el-button @click="unlineCommitModalShow = false">å æ¶</el-button> |
| | | <el-button type="primary" |
| | | @click="onSubmitUnlineCommitForm">ç¡® å®</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal, Choose, AddChoose, chooseRelevanceFinishedPart, chooseUser } from '@/components/index';//è¿éå¼ç¨çæ¯ vueæä»¶çåå |
| | | import inboundInuqer from '../../components/inboundinuqer'; |
| | | import quotaionEdit from '../../components/quotaionEdit'; |
| | | import quotaion_relevanceEdit from '../../components/quotaion_relevanceEdit'; |
| | | import { getimestampDate, getymdhms } from '@/utils/date'; |
| | | import { exportTableList } from '@/utils/excel'; |
| | | //const { quotation } = require('@/components/tableContainer/tableHead'); |
| | | import { getCache, setCache, removeToken } from '@/utils/sessionStorage'; |
| | | import { InOrderSearch, InOrderDelete, ImportInOrder, InOrderSend, UpdateUnlineNum } from '@/api/quotation'; |
| | | import XLSX from 'xlsx'; |
| | | import { Collapse } from 'element-ui'; |
| | | //å表æ¾ç¤ºåå
容 |
| | | const my_tableHead = [{ |
| | | columnDescription: 'ç产计ååå·', |
| | | columnName: 'inOrderCode', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 200 |
| | | }, |
| | | { |
| | | columnDescription: 'ç产类å', |
| | | columnName: 'orderType', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | |
| | | { |
| | | columnDescription: '订åç¶æ', |
| | | columnName: 'orderStatus', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶ç¼å·', |
| | | columnName: 'itemName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, |
| | | { |
| | | columnDescription: 'é¶ä»¶åç§°', |
| | | columnName: 'itemDes', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 200 |
| | | }, |
| | | { |
| | | columnDescription: '计åç产æ°é', |
| | | columnName: 'totalNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æ»å®å·¥æ°', |
| | | columnName: 'allFinishedNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'å
¥åºæ°é', |
| | | columnName: 'DoneNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: '线ä¸äº¤ä»æ°é', |
| | | columnName: 'unLineNum', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æäº¤äºº', |
| | | columnName: 'senderName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'æäº¤æ¶é´', |
| | | columnName: 'SendTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'å®¡æ ¸äºº', |
| | | columnName: 'checkerName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å®¡æ ¸ç»æ', |
| | | columnName: 'CheckResult', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å®¡æ ¸æ¶é´', |
| | | columnName: 'CheckTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: 'å®¡æ ¸è¯´æ', |
| | | columnName: 'CheckRemark', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 120 |
| | | }, |
| | | { |
| | | columnDescription: '夿³¨', |
| | | columnName: 'deviceName5', |
| | | sortable: true, |
| | | wipe: true |
| | | }, |
| | | { |
| | | columnDescription: 'å建人', |
| | | columnName: 'createName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'å建æ¶é´', |
| | | columnName: 'createTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | }, { |
| | | columnDescription: 'ä¿®æ¹äºº', |
| | | columnName: 'updateName', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 100 |
| | | }, |
| | | { |
| | | columnDescription: 'ä¿®æ¹æ¶é´', |
| | | columnName: 'updateTime', |
| | | sortable: true, |
| | | wipe: true, |
| | | width: 150 |
| | | } |
| | | ]; |
| | | export default { |
| | | name: 'input_finished_product', |
| | | data () { |
| | | return { |
| | | curSelectInOrderCode: '',//å½åéæ©ç计ååå· |
| | | aduitUserShow: false, |
| | | partShow_readOnly: false, |
| | | unlineCommitForm: { |
| | | inOrderCode: '', |
| | | qty: 0 |
| | | }, |
| | | unlineCommitModalShow: false, |
| | | pItemName: '', |
| | | pItemDes: '', |
| | | relevanceModalShow_title: '', |
| | | title: '', |
| | | tableData: [], |
| | | modalShow: false, |
| | | addmodalShow: false, |
| | | relevanceModalShow: false, |
| | | relevanceFinishedPartShow: false, |
| | | partShow: false, |
| | | addchooseShow: false, |
| | | |
| | | chooselist: [], |
| | | relevanceFinishedPartList: [], |
| | | rowitem: {}, |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20, |
| | | wipelist: ['inOrderCode'], |
| | | inuqerobg: {}, |
| | | filterList: [ |
| | | { |
| | | value: '计ååå·', |
| | | label: '计ååå·' |
| | | } |
| | | ] |
| | | }; |
| | | }, |
| | | components: { TableContainer, inboundInuqer, Modal, quotaionEdit, Choose, AddChoose, quotaion_relevanceEdit, chooseRelevanceFinishedPart, chooseUser }, |
| | | computed: { |
| | | tableHead () { |
| | | return my_tableHead; |
| | | } |
| | | }, |
| | | created () { }, |
| | | mounted () { |
| | | this.InOrderSearch(); |
| | | console.log(getymdhms()); |
| | | }, |
| | | methods: { |
| | | cellStyle ({ row, rowIndex }) { |
| | | if (row.OrderStatusId === 3) {//3æ¯ é©³å |
| | | return 'background: #aa7798;color:white' |
| | | } |
| | | return '' |
| | | }, |
| | | clickAddForRelevanceFinishedPart () { |
| | | //è·åä¸ä¸ä¸ªçªä½çå
容 |
| | | let itemName = this.$refs.quotaion_relevanceEditMethod.iqnuer.itemName; |
| | | let itemDes = this.$refs.quotaion_relevanceEditMethod.iqnuer.itemDes; |
| | | this.pItemName = itemName; |
| | | this.pItemDes = itemDes; |
| | | this.relevanceFinishedPartShow = true |
| | | // setTimeout(() => { |
| | | // //console.log('relevanceFinishedPartMethod:' + this.$refs.relevanceFinishedPartMethod) |
| | | |
| | | // this.$refs.relevanceFinishedPartMethod.iqnuer.itemName = itemName; |
| | | // this.$refs.relevanceFinishedPartMethod.iqnuer.itemDes = itemDes; |
| | | // }, 0) |
| | | }, |
| | | //å·æ° |
| | | refresh () { |
| | | this.inuqerobg = {}; |
| | | this.$refs.inref.inrefclear(); |
| | | this.InOrderSearch(); |
| | | }, |
| | | //æ¥è¯¢ |
| | | inquer (e) { |
| | | this.page = 1; |
| | | this.inuqerobg = e; |
| | | this.InOrderSearch(); |
| | | }, |
| | | //å¯¼åº |
| | | derive () { |
| | | let tHeader = []; |
| | | let filterVal = []; |
| | | this.tableHead.forEach(item => { |
| | | tHeader.push(item.columnDescription); |
| | | filterVal.push(item.columnName); |
| | | }); |
| | | this.$Loading(true); |
| | | const { 计ååå·: inOrderCode } = this.inuqerobg; |
| | | const OrderStatusId = this.inuqerobg.OrderStatusId; |
| | | const orderType = this.inuqerobg.orderType; |
| | | InOrderSearch('1&onePageNum=99999999', { |
| | | inOrderCode, orderType, OrderStatusId, InOrderPageType: 'å®å·¥åè¾å
¥é¡µé¢', createTimeStart: this.inuqerobg.timepick ? this.inuqerobg.timepick[0] : '', |
| | | createTimeEnd: this.inuqerobg.timepick ? this.inuqerobg.timepick[1] : '' |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | let data = res.data; |
| | | data.forEach(item => { |
| | | item.doTime = item.doTime ? getimestampDate(item.doTime) : ''; |
| | | item.updateTime = item.updateTime ? getimestampDate(item.updateTime) : ''; |
| | | }); |
| | | exportTableList(tHeader, filterVal, data, 'å²å计å' + getymdhms()); |
| | | } |
| | | this.$Loading(false); |
| | | }); |
| | | }, |
| | | //导å
¥ |
| | | importfile (e) { |
| | | this.readExcel(e); |
| | | }, |
| | | |
| | | //è·åç产计åå表 |
| | | InOrderSearch () { |
| | | this.$Loading(true); |
| | | const { 计ååå·: inOrderCode } = this.inuqerobg; |
| | | const OrderStatusId = this.inuqerobg.OrderStatusId; |
| | | const orderType = this.inuqerobg.orderType; |
| | | InOrderSearch(this.page + '&onePageNum=' + this.pageSize, { |
| | | inOrderCode, orderType, OrderStatusId, InOrderPageType: 'å®å·¥åè¾å
¥é¡µé¢', |
| | | createTimeStart: this.inuqerobg.timepick ? this.inuqerobg.timepick[0] : '', |
| | | createTimeEnd: this.inuqerobg.timepick ? this.inuqerobg.timepick[1] : '' |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | this.tableData = res.data.filter(item => (item.doTime = getimestampDate(item.doTime))); |
| | | this.totle = res.num; |
| | | } |
| | | this.$Loading(); |
| | | }); |
| | | }, |
| | | //å页 |
| | | CurrentChange (e) { |
| | | console.log(e); |
| | | this.page = e; |
| | | this.InOrderSearch(); |
| | | }, |
| | | //é¡µæ° |
| | | SizeChange (e) { |
| | | this.pageSize = e; |
| | | this.InOrderSearch(); |
| | | }, |
| | | //ç¼è¾ |
| | | edit (row) { |
| | | this.title = 'ç¼è¾'; |
| | | this.partShow_readOnly = false; |
| | | this.addmodalShow = true; |
| | | this.rowitem = { ...row }; |
| | | }, |
| | | //æ¥ç |
| | | view (row) { |
| | | this.title = 'æ¥ç'; |
| | | this.partShow_readOnly = true; |
| | | this.addmodalShow = true; |
| | | this.rowitem = { ...row }; |
| | | }, |
| | | //å
³è |
| | | relevance (row) { |
| | | this.relevanceModalShow_title = 'å
³è'; |
| | | this.relevanceModalShow = true; |
| | | this.rowitem = { ...row }; |
| | | }, |
| | | //æåº çè£
å®¡æ ¸äºº |
| | | weldingAudit (row) { |
| | | const { inOrderCode } = { ...row }; |
| | | this.curSelectInOrderCode = inOrderCode; |
| | | this.aduitUserShow = true; |
| | | }, |
| | | //åéçè£
å®¡æ ¸ |
| | | do_weldingAudit (e) { |
| | | let userId = 0; |
| | | if (e.length > 0) { |
| | | var checkList = [...e]; |
| | | userId = checkList[0].id; |
| | | } else { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '请å¾é' |
| | | }); |
| | | } |
| | | //console.log(userId + ' ' + this.curSelectInOrderCode) |
| | | this.$confirm('ç¡®å®å°è®¡ååå·"' + this.curSelectInOrderCode + '"æäº¤çè£
å®¡æ ¸å?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | InOrderSend({ |
| | | InOrderCode: this.curSelectInOrderCode, |
| | | SendUserId: getCache('userInfo').id,//æäº¤å®¡æ ¸äºº |
| | | AuditUserId: userId,//å®¡æ ¸äºº |
| | | Remark: '' |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æäº¤æå' |
| | | }); |
| | | this.aduitUserShow = false; |
| | | this.InOrderSearch(); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'æäº¤å¤±è´¥:' + res.msg |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶' |
| | | }); |
| | | }); |
| | | }, |
| | | //å¼¹åº çº¿ä¸äº¤ä» |
| | | unlineCommit (row) { |
| | | this.unlineCommitForm.inOrderCode = row.inOrderCode; |
| | | this.unlineCommitForm.qty = row.unLineNum; |
| | | this.unlineCommitModalShow = true |
| | | }, |
| | | //线ä¸äº¤ä» |
| | | onSubmitUnlineCommitForm () { |
| | | this.$confirm('ç¡®å®å°è®¡ååå·"' + this.unlineCommitForm.inOrderCode + '"æäº¤çº¿ä¸äº¤ä»æ°éå?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | UpdateUnlineNum({ |
| | | InOrderCode: this.unlineCommitForm.inOrderCode, |
| | | Qty: this.unlineCommitForm.qty |
| | | }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æäº¤æå' |
| | | }); |
| | | this.unlineCommitModalShow = false; |
| | | this.InOrderSearch(); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'æäº¤å¤±è´¥:' + res.msg |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶' |
| | | }); |
| | | }); |
| | | }, |
| | | //å é¤ |
| | | del (row) { |
| | | console.log(row); |
| | | const { inOrderCode } = { ...row }; |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥ç产计åä¿¡æ¯, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | InOrderDelete({ inOrderCode }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'å 餿å' |
| | | }); |
| | | this.InOrderSearch(); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'å é¤å¤±è´¥' |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | //æ°å»º |
| | | addmodal () { |
| | | this.rowitem = {}; |
| | | this.addmodalShow = true; |
| | | this.title = 'æ°å»º'; |
| | | }, |
| | | //æ°å¢ä¿®æ¹å |
| | | addsubmit () { |
| | | this.addmodalShow = false; |
| | | this.modalShow = false; |
| | | this.UserSearch(); |
| | | }, |
| | | //é¶ä»¶å¾éæ°æ® |
| | | chooseClick (e) { |
| | | //alert(e) |
| | | if (e.length > 0) { |
| | | this.chooselist = [...e]; |
| | | this.partShow = false; |
| | | } else { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '请å¾é' |
| | | }); |
| | | } |
| | | }, |
| | | //å®å·¥é¶ä»¶å¾éæ°æ® |
| | | submitRelevanceFinishedPart (e) { |
| | | //alert(e) |
| | | //debugger |
| | | //alert(this.$refs.quotaion_relevanceEditMethod.tableData.length); |
| | | var oldDataList = this.$refs.quotaion_relevanceEditMethod.tableData; |
| | | if (e.length > 0) { |
| | | //å¤çï¼ç¸åçå°±ä¸åç»§ç»æ·»å ï¼æ²¡æç就添å |
| | | var checkList = [...e]; |
| | | for (let i in checkList) { |
| | | debugger |
| | | //alert(checkList[i].id); |
| | | var result = oldDataList.find(x => x.id == checkList[i].id); |
| | | //alert(result) |
| | | if (result == undefined) { |
| | | //alert('å¡«å
¥') |
| | | //alert(this.relevanceFinishedPartList.length); |
| | | oldDataList.push(checkList[i]); |
| | | //console.log(checkList[i]) |
| | | //alert('å¡«å
¥11') |
| | | } |
| | | } |
| | | this.relevanceFinishedPartList = [...oldDataList]; |
| | | //alert(this.relevanceFinishedPartList.length); |
| | | this.relevanceFinishedPartShow = false; |
| | | } else { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '请å¾é' |
| | | }); |
| | | } |
| | | }, |
| | | //æ°å¢é¶ä»¶å |
| | | addchooseclick () { |
| | | this.addchooseShow = false; |
| | | this.$refs.partChoose.itemSearch(); |
| | | }, |
| | | readExcel (e) { |
| | | // 读åè¡¨æ ¼æä»¶ |
| | | let _this = this; |
| | | const files = e.file; |
| | | // debugger; |
| | | if (files.length <= 0) { |
| | | return false; |
| | | } else if (!/\.(xls|xlsx)$/.test(files.name.toLowerCase())) { |
| | | this.$message({ |
| | | message: 'ä¸ä¼ æ ¼å¼ä¸æ£ç¡®ï¼è¯·ä¸ä¼ xlsæè
xlsxæ ¼å¼', |
| | | type: 'warning' |
| | | }); |
| | | return false; |
| | | } else { |
| | | // æ´æ°è·åæä»¶å |
| | | console.log(files); |
| | | } |
| | | |
| | | const fileReader = new FileReader(); |
| | | fileReader.onload = ev => { |
| | | try { |
| | | const data = ev.target.result; |
| | | const workbook = XLSX.read(data, { |
| | | type: 'binary' |
| | | }); |
| | | const wsname = workbook.SheetNames[0]; //å第ä¸å¼ 表 |
| | | const ws = XLSX.utils.sheet_to_json(workbook.Sheets[wsname]); //çæjsonè¡¨æ ¼å
容 |
| | | console.log(ws); |
| | | let list = []; |
| | | |
| | | ws.forEach(item => { |
| | | list.push({ |
| | | itemCode: item['é¶ä»¶ç¼å·'], |
| | | inType: item['ç产类å'], |
| | | Desc: item['ç产ç线'], |
| | | createTime: item['çäº§æ¥æ'], |
| | | itemNum: item['ç产æ°é'] |
| | | }); |
| | | }); |
| | | _this.ImportInOrder(JSON.stringify(list)); |
| | | } catch (e) { |
| | | return false; |
| | | } |
| | | }; |
| | | fileReader.readAsBinaryString(files); |
| | | }, |
| | | //导å
¥æ¥å£ |
| | | ImportInOrder (list) { |
| | | ImportInOrder({ userName: getCache('userInfo').userName, items: list }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: '导å
¥æå' |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '导å
¥å¤±è´¥ï¼è¯·æç
§æ¨¡æ¿å¡«å
¥å
容' |
| | | }); |
| | | } |
| | | }); |
| | | this.InOrderSearch(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | //èµå¼id为input_finished_productçæ ·å¼ |
| | | #input_finished_product { |
| | | .table { |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | height: calc(100% - 40px); |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- ä»åºä¿¡æ¯ --> |
| | | <div id="intype" class="global-content"> |
| | | <!-- çé --> |
| | | <inbound-inuqer |
| | | ref="inref" |
| | | byfilter="å
¥åºç±»å" |
| | | :filterList="filterList" |
| | | :tolead="false" |
| | | :derive="false" |
| | | @refresh="refresh" |
| | | @addmodal="addmodal" |
| | | @inquer="inquer" |
| | | /> |
| | | <!-- table --> |
| | | <div class="table"> |
| | | <table-container |
| | | :tableHead="tableHead" |
| | | :tableData="tableData" |
| | | :editShow="true" |
| | | :delShow="true" |
| | | :operation="false" |
| | | :pageSize="pageSize" |
| | | :totle="totle" |
| | | @edit="edit" |
| | | @del="del" |
| | | @CurrentChange="CurrentChange" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { TableContainer, Modal } from '@/components/index'; |
| | | import inboundInuqer from '../../components/inboundinuqer'; |
| | | const { intype } = require('@/components/tableContainer/tableHead'); |
| | | import { InTypeSearch } from '@/api/intype'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | title: '', |
| | | tableData: [], |
| | | modalShow: false, |
| | | addmodalShow: false, |
| | | partShow: false, |
| | | addchooseShow: false, |
| | | chooselist: [], |
| | | rowitem: {}, |
| | | totle: 0, |
| | | page: 1, |
| | | pageSize: 20, |
| | | wipelist: ['inOrderCode'], |
| | | inuqerobg: {}, |
| | | filterList: [ |
| | | { |
| | | value: 'å
¥åºç±»å', |
| | | label: 'å
¥åºç±»å' |
| | | }, |
| | | { |
| | | value: 'ç®æ ä»åº', |
| | | label: 'ç®æ ä»åºå' |
| | | } |
| | | ] |
| | | }; |
| | | }, |
| | | components: { TableContainer, inboundInuqer, Modal }, |
| | | computed: { |
| | | tableHead() { |
| | | return intype; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.InTypeSearch(); |
| | | }, |
| | | methods: { |
| | | //å·æ° |
| | | refresh() { |
| | | this.inuqerobg = {}; |
| | | this.$refs.inref.inrefclear(); |
| | | this.InTypeSearch(); |
| | | }, |
| | | //æ¥è¯¢ |
| | | inquer(e) { |
| | | console.log(e); |
| | | this.page = 1; |
| | | this.inuqerobg = e; |
| | | this.InTypeSearch(); |
| | | }, |
| | | //è·åç产计åå表 |
| | | InTypeSearch() { |
| | | this.$Loading(true); |
| | | const { 计ååå·: inOrderCode, ç产类å: orderType, 订åç¶æ: orderStatus } = this.inuqerobg; |
| | | InTypeSearch(this.page + '&onePageNum=' + this.pageSize, { inOrderCode, orderType, orderStatus }).then(res => { |
| | | if (res.code == 0) { |
| | | this.tableData = res.data; |
| | | this.totle = res.num; |
| | | } |
| | | this.$Loading(); |
| | | }); |
| | | }, |
| | | CurrentChange(e) { |
| | | console.log(e); |
| | | this.page = e; |
| | | this.InTypeSearch(); |
| | | }, |
| | | //ç¼è¾ |
| | | edit(row) { |
| | | this.addmodalShow = true; |
| | | this.rowitem = { ...row }; |
| | | this.title = 'ç¼è¾'; |
| | | }, |
| | | //å é¤ |
| | | del(row) { |
| | | console.log(row); |
| | | const { inOrderCode } = { ...row }; |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥ç产计åä¿¡æ¯, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | InOrderDelete({ inOrderCode }).then(res => { |
| | | if (res.code == 0) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'å 餿å' |
| | | }); |
| | | this.InTypeSearch(); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: 'å é¤å¤±è´¥' |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | //æ°å»º |
| | | addmodal() { |
| | | this.rowitem = {}; |
| | | this.addmodalShow = true; |
| | | this.title = 'æ°å»º'; |
| | | }, |
| | | //æ°å¢ä¿®æ¹å |
| | | addsubmit() { |
| | | this.addmodalShow = false; |
| | | this.modalShow = false; |
| | | this.UserSearch(); |
| | | }, |
| | | //é¶ä»¶å¾éæ°æ® |
| | | chooseClick(e) { |
| | | if (e.length > 0) { |
| | | this.chooselist = [...e]; |
| | | this.partShow = false; |
| | | } else { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '请å¾é' |
| | | }); |
| | | } |
| | | }, |
| | | //æ°å¢é¶ä»¶å |
| | | addchooseclick() { |
| | | this.addchooseShow = false; |
| | | this.$refs.partChoose.itemSearch(); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #intype { |
| | | .table { |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | height: calc(100% - 40px); |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | </style> |
qqjf-Web/src/views/inbound/purchase/quotation/index.vue
qqjf-Web/src/views/login/index.vue
qqjf-Web/src/views/outbound/components/outinquer.vue
qqjf-Web/src/views/outbound/components/plantEdit.vue
qqjf-Web/src/views/outbound/index.vue
qqjf-Web/src/views/outbound/regulator/index.vue
qqjf-Web/src/views/outbound/regulator/plant/index.vue
qqjf-Web/src/views/reportforms/Taskbeat/index.vue
qqjf-Web/src/views/reportforms/classified/index.vue
qqjf-Web/src/views/reportforms/index.vue
qqjf-Web/src/views/reportforms/movablerate/index.vue
qqjf-Web/src/views/reportforms/output/index.vue
qqjf-Web/src/views/reportforms/product/index.vue
qqjf-Web/src/views/reportforms/rateequipment/index.vue
qqjf-Web/src/views/reportforms/statelibrary/index.vue
qqjf-Web/src/views/reportforms/statistics/components/eltablecolumn.vue
qqjf-Web/src/views/reportforms/statistics/components/statisticsinquer.vue
qqjf-Web/src/views/reportforms/statistics/components/statisticstable.vue
qqjf-Web/src/views/reportforms/statistics/index.vue
qqjf-Web/src/views/reportforms/tasktime/index.vue
qqjf-Web/src/views/reportforms/turnover/index.vue
qqjf-Web/src/views/reportforms/warehouse/index.vue
qqjf-Web/src/views/reportforms/workpiece/index.vue
qqjf-Web/src/views/statistics/index.vue
qqjf-Web/src/views/storage/base/index.vue
qqjf-Web/src/views/storage/base/inventory/index.vue
qqjf-Web/src/views/storage/base/materials/index.vue
qqjf-Web/src/views/storage/base/viewdata/index.vue
qqjf-Web/src/views/storage/components/casslineEdit.vue
qqjf-Web/src/views/storage/components/chooseEdit.vue
qqjf-Web/src/views/storage/components/forkliftEdit.vue
qqjf-Web/src/views/storage/components/inventoryEdit.vue
qqjf-Web/src/views/storage/components/palteEdit.vue
qqjf-Web/src/views/storage/components/positionEdit.vue
qqjf-Web/src/views/storage/components/storage-inquer.vue
qqjf-Web/src/views/storage/components/storageEdit.vue
qqjf-Web/src/views/storage/components/viewdataInquer.vue
qqjf-Web/src/views/storage/components/viewdatainfo.vue
qqjf-Web/src/views/storage/index.vue
qqjf-Web/src/views/storage/setting/cass-line/index.vue
qqjf-Web/src/views/storage/setting/choose/components/limitModal.vue
qqjf-Web/src/views/storage/setting/choose/index.vue
qqjf-Web/src/views/storage/setting/forklift/index.vue
qqjf-Web/src/views/storage/setting/index.vue
qqjf-Web/src/views/storage/setting/palte/index.vue
qqjf-Web/src/views/storage/setting/position/index.vue
qqjf-Web/src/views/storage/setting/storage-area/index.vue
qqjf-Web/src/views/storage/setting/storage/index.vue
qqjf-Web/src/views/system/index.vue
qqjf-Web/src/views/system/user/components/deptEdit.vue
qqjf-Web/src/views/system/user/components/manageEdit.vue
qqjf-Web/src/views/system/user/components/roleEdIt.vue
qqjf-Web/src/views/system/user/components/topinquer.vue
qqjf-Web/src/views/system/user/dept/index.vue
qqjf-Web/src/views/system/user/index.vue
qqjf-Web/src/views/system/user/manage/index.vue
qqjf-Web/src/views/system/user/role/index.vue
qqjf-Web/src/views/system/user/roleAuth/index.vue
qqjf-Web/src/views/task/components/forklifttasksEdit.vue
qqjf-Web/src/views/task/components/maintask-inquer.vue
qqjf-Web/src/views/task/components/maintaskEdit.vue
qqjf-Web/src/views/task/forklifttasks/index.vue
qqjf-Web/src/views/task/index.vue
qqjf-Web/src/views/task/maintask/index.vue
qqjf-Web/src/views/task/taskdocuments/index.vue
qqjf-Web/src/views/task/taskrecord/index.vue
qqjf-Web/src/views/test/index.vue
qqjf-Web/vue.config.js |