删除文件 vue-cil
This commit is contained in:
parent
4185cde3aa
commit
d00b713042
23
vue-cil/.gitignore
vendored
23
vue-cil/.gitignore
vendored
@ -1,23 +0,0 @@
|
|||||||
.DS_Store
|
|
||||||
node_modules
|
|
||||||
/dist
|
|
||||||
|
|
||||||
|
|
||||||
# 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?
|
|
@ -1,36 +0,0 @@
|
|||||||
# vue脚手架
|
|
||||||
|
|
||||||
#### Description
|
|
||||||
vue脚手架,即拿即用
|
|
||||||
|
|
||||||
#### Software Architecture
|
|
||||||
Software architecture description
|
|
||||||
|
|
||||||
#### Installation
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### Instructions
|
|
||||||
|
|
||||||
1. xxxx
|
|
||||||
2. xxxx
|
|
||||||
3. xxxx
|
|
||||||
|
|
||||||
#### Contribution
|
|
||||||
|
|
||||||
1. Fork the repository
|
|
||||||
2. Create Feat_xxx branch
|
|
||||||
3. Commit your code
|
|
||||||
4. Create Pull Request
|
|
||||||
|
|
||||||
|
|
||||||
#### Gitee Feature
|
|
||||||
|
|
||||||
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
|
|
||||||
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
|
|
||||||
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
|
|
||||||
4. The most valuable open source project [GVP](https://gitee.com/gvp)
|
|
||||||
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
|
|
||||||
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
|
@ -1,19 +0,0 @@
|
|||||||
# vue-code
|
|
||||||
|
|
||||||
## Project setup
|
|
||||||
```
|
|
||||||
npm install
|
|
||||||
```
|
|
||||||
|
|
||||||
### Compiles and hot-reloads for development
|
|
||||||
```
|
|
||||||
npm run serve
|
|
||||||
```
|
|
||||||
|
|
||||||
### Compiles and minifies for production
|
|
||||||
```
|
|
||||||
npm run build
|
|
||||||
```
|
|
||||||
|
|
||||||
### Customize configuration
|
|
||||||
See [Configuration Reference](https://cli.vuejs.org/config/).
|
|
@ -1,5 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
presets: [
|
|
||||||
'@vue/cli-plugin-babel/preset'
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"target": "es5",
|
|
||||||
"module": "esnext",
|
|
||||||
"baseUrl": "./",
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"paths": {
|
|
||||||
"@/*": [
|
|
||||||
"src/*"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"lib": [
|
|
||||||
"esnext",
|
|
||||||
"dom",
|
|
||||||
"dom.iterable",
|
|
||||||
"scripthost"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
17712
vue-cil/package-lock.json
generated
17712
vue-cil/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,33 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "vue-code",
|
|
||||||
"version": "0.1.0",
|
|
||||||
"private": true,
|
|
||||||
"scripts": {
|
|
||||||
"serve": "vue-cli-service serve",
|
|
||||||
"build": "vue-cli-service build"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"axios": "^1.4.0",
|
|
||||||
"core-js": "^3.8.3",
|
|
||||||
"element-ui": "^2.15.13",
|
|
||||||
"js-cookie": "^3.0.5",
|
|
||||||
"vue": "^2.6.14",
|
|
||||||
"vue-axios": "^3.5.2",
|
|
||||||
"vue-router": "^3.5.1",
|
|
||||||
"vuex": "^3.6.2"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@vue/cli-plugin-babel": "~5.0.0",
|
|
||||||
"@vue/cli-plugin-router": "~5.0.0",
|
|
||||||
"@vue/cli-plugin-vuex": "~5.0.0",
|
|
||||||
"@vue/cli-service": "~5.0.0",
|
|
||||||
"sass": "^1.32.7",
|
|
||||||
"sass-loader": "^12.0.0",
|
|
||||||
"vue-template-compiler": "^2.6.14"
|
|
||||||
},
|
|
||||||
"browserslist": [
|
|
||||||
"> 1%",
|
|
||||||
"last 2 versions",
|
|
||||||
"not dead"
|
|
||||||
]
|
|
||||||
}
|
|
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB |
@ -1,17 +0,0 @@
|
|||||||
<!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><%= htmlWebpackPlugin.options.title %></title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<noscript>
|
|
||||||
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
|
||||||
</noscript>
|
|
||||||
<div id="app"></div>
|
|
||||||
<!-- built files will be auto injected -->
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,11 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div id="app">
|
|
||||||
<router-view />
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: 'App'
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -1,27 +0,0 @@
|
|||||||
import request from '@/utils/request'
|
|
||||||
|
|
||||||
export function login(data) {
|
|
||||||
return request({
|
|
||||||
url: 'http://127.0.0.1:9090/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc',
|
|
||||||
method: 'post',
|
|
||||||
data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function supplierLogin(data) {
|
|
||||||
return request({
|
|
||||||
url: 'http://1.14.142.111:9090/K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc',
|
|
||||||
method: 'post',
|
|
||||||
data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function save(data) {
|
|
||||||
return request({
|
|
||||||
url: 'http://1.14.142.111:9090/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc',
|
|
||||||
method: 'post',
|
|
||||||
data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
|||||||
import request from '@/utils/request'
|
|
||||||
|
|
||||||
export function getTenantCodeByUser(data) {
|
|
||||||
return request({
|
|
||||||
url: '/api/account/sysuserdetail/getTenantCodeByUser',
|
|
||||||
method: 'post',
|
|
||||||
params: data
|
|
||||||
})
|
|
||||||
}
|
|
Binary file not shown.
Before Width: | Height: | Size: 6.7 KiB |
@ -1,59 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="hello">
|
|
||||||
<h1>{{ msg }}</h1>
|
|
||||||
<p>
|
|
||||||
For a guide and recipes on how to configure / customize this project,<br>
|
|
||||||
check out the
|
|
||||||
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
|
|
||||||
</p>
|
|
||||||
<h3>Installed CLI Plugins</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
|
|
||||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-router" target="_blank" rel="noopener">router</a></li>
|
|
||||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-vuex" target="_blank" rel="noopener">vuex</a></li>
|
|
||||||
</ul>
|
|
||||||
<h3>Essential Links</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
|
|
||||||
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
|
|
||||||
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
|
|
||||||
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
|
|
||||||
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
|
|
||||||
</ul>
|
|
||||||
<h3>Ecosystem</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
|
|
||||||
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
|
|
||||||
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
|
|
||||||
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
|
|
||||||
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: 'HelloWorld',
|
|
||||||
props: {
|
|
||||||
msg: String
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
|
||||||
<style scoped lang="scss">
|
|
||||||
h3 {
|
|
||||||
margin: 40px 0 0;
|
|
||||||
}
|
|
||||||
ul {
|
|
||||||
list-style-type: none;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
li {
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0 10px;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #42b983;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,41 +0,0 @@
|
|||||||
import Vue from 'vue'
|
|
||||||
import VueAxios from 'vue-axios'
|
|
||||||
import App from './App.vue'
|
|
||||||
import router from './router'
|
|
||||||
import store from './store'
|
|
||||||
import axios from 'axios'
|
|
||||||
import Cookies from 'js-cookie'
|
|
||||||
import './styles/element-variables.scss'
|
|
||||||
import '@/styles/index.scss' // global css
|
|
||||||
// axios.defaults.withCredentials=true;//让ajazx携带cookie
|
|
||||||
|
|
||||||
import Element from 'element-ui'
|
|
||||||
|
|
||||||
// axios.interceptors.request.use(
|
|
||||||
// config => {
|
|
||||||
// // 在请求头中添加自定义的 Cookie
|
|
||||||
// config.headers.Cookie = '88899741hkhsdhfdksf'
|
|
||||||
// return config
|
|
||||||
// },
|
|
||||||
// error => {
|
|
||||||
// return Promise.reject(error)
|
|
||||||
// }
|
|
||||||
// )
|
|
||||||
//
|
|
||||||
// Vue.use(VueAxios, axios)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Vue.use(Element, {
|
|
||||||
size: Cookies.get('size') || 'small', // set element-ui default size
|
|
||||||
})
|
|
||||||
|
|
||||||
Vue.config.productionTip = false
|
|
||||||
Vue.prototype.$axios = axios
|
|
||||||
|
|
||||||
|
|
||||||
new Vue({
|
|
||||||
router,
|
|
||||||
store,
|
|
||||||
render: h => h(App)
|
|
||||||
}).$mount('#app')
|
|
@ -1,38 +0,0 @@
|
|||||||
|
|
||||||
import Vue from "vue";
|
|
||||||
import Router from "vue-router";
|
|
||||||
|
|
||||||
Vue.use(Router);
|
|
||||||
export const constantRoutes = [
|
|
||||||
{
|
|
||||||
path: '/',
|
|
||||||
component: () => import('@/views/login/login'),
|
|
||||||
name: 'SysUrl',
|
|
||||||
meta: { title: 'sysurl', icon: 'el-icon-set-up' }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: '/about',
|
|
||||||
component: () => import('@/views/AboutView'),
|
|
||||||
name: 'SysRole',
|
|
||||||
meta: { icon: 'el-icon-postcard' }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: '/master',
|
|
||||||
component: () => import('@/views/master/master'),
|
|
||||||
name: 'master',
|
|
||||||
meta: { icon: 'el-icon-postcard' }
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
const createRouter = () =>
|
|
||||||
new Router({
|
|
||||||
// mode: 'history', // require service support
|
|
||||||
scrollBehavior: () => ({ y: 0 }),
|
|
||||||
routes: constantRoutes,
|
|
||||||
});
|
|
||||||
|
|
||||||
const router = createRouter();
|
|
||||||
|
|
||||||
export default router;
|
|
@ -1,25 +0,0 @@
|
|||||||
import Layout from '@/layout'
|
|
||||||
|
|
||||||
const authorityRouter = {
|
|
||||||
path: '/authority',
|
|
||||||
component: Layout,
|
|
||||||
redirect: 'noRedirect',
|
|
||||||
alwaysShow: true,
|
|
||||||
name: 'authority',
|
|
||||||
meta: { title: 'authority', icon: 'lock' },
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: '/AboutView',
|
|
||||||
component: () => import('@/views/AboutView'),
|
|
||||||
name: 'SysRole',
|
|
||||||
meta: { icon: 'el-icon-postcard' }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: '/HomeView',
|
|
||||||
component: () => import('@/views/HomeView'),
|
|
||||||
name: 'SysUrl',
|
|
||||||
meta: { title: 'sysurl', icon: 'el-icon-set-up' }
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
||||||
export default authorityRouter
|
|
@ -1,19 +0,0 @@
|
|||||||
import Layout from '@/layout'
|
|
||||||
|
|
||||||
const loginRouter = {
|
|
||||||
path: '/login',
|
|
||||||
component: Layout,
|
|
||||||
redirect: 'noRedirect',
|
|
||||||
alwaysShow: true,
|
|
||||||
name: 'login',
|
|
||||||
meta: { title: 'authority', icon: 'lock' },
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: '/login',
|
|
||||||
component: () => import('@/views/login/login'),
|
|
||||||
name: 'login',
|
|
||||||
meta: { icon: 'el-icon-postcard' }
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
||||||
export default loginRouter
|
|
@ -1,19 +0,0 @@
|
|||||||
import Layout from '@/layout'
|
|
||||||
|
|
||||||
const masterRouter = {
|
|
||||||
path: '/master',
|
|
||||||
component: Layout,
|
|
||||||
redirect: 'noRedirect',
|
|
||||||
alwaysShow: true,
|
|
||||||
name: 'master',
|
|
||||||
meta: { title: 'authority', icon: 'lock' },
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: '/master',
|
|
||||||
component: () => import('@/views/master/master'),
|
|
||||||
name: 'master',
|
|
||||||
meta: { icon: 'el-icon-postcard' }
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
||||||
export default masterRouter
|
|
@ -1,5 +0,0 @@
|
|||||||
const getters = {
|
|
||||||
token: state => state.user.token,
|
|
||||||
cookie: state => state.user.cookie,
|
|
||||||
}
|
|
||||||
export default getters
|
|
@ -1,43 +0,0 @@
|
|||||||
// import Vue from 'vue'
|
|
||||||
// import Vuex from 'vuex'
|
|
||||||
|
|
||||||
// Vue.use(Vuex)
|
|
||||||
|
|
||||||
// export default new Vuex.Store({
|
|
||||||
// state: {
|
|
||||||
// },
|
|
||||||
// getters: {
|
|
||||||
// },
|
|
||||||
// mutations: {
|
|
||||||
// },
|
|
||||||
// actions: {
|
|
||||||
// },
|
|
||||||
// modules: {
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
|
|
||||||
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
|
|
@ -1,21 +0,0 @@
|
|||||||
import {getToken, setToken, removeToken, getCookie} from '@/utils/auth'
|
|
||||||
|
|
||||||
const state = {
|
|
||||||
token: getToken(),
|
|
||||||
cookie: getCookie(),
|
|
||||||
}
|
|
||||||
|
|
||||||
const mutations = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
const actions = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
export default {
|
|
||||||
namespaced: true,
|
|
||||||
state,
|
|
||||||
mutations,
|
|
||||||
actions
|
|
||||||
}
|
|
@ -1,106 +0,0 @@
|
|||||||
@import './variables.scss';
|
|
||||||
|
|
||||||
@mixin colorBtn($color) {
|
|
||||||
background: $color;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: $color;
|
|
||||||
|
|
||||||
&:before,
|
|
||||||
&:after {
|
|
||||||
background: $color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.blue-btn {
|
|
||||||
@include colorBtn($blue)
|
|
||||||
}
|
|
||||||
|
|
||||||
.light-blue-btn {
|
|
||||||
@include colorBtn($light-blue)
|
|
||||||
}
|
|
||||||
|
|
||||||
.red-btn {
|
|
||||||
@include colorBtn($red)
|
|
||||||
}
|
|
||||||
|
|
||||||
.pink-btn {
|
|
||||||
@include colorBtn($pink)
|
|
||||||
}
|
|
||||||
|
|
||||||
.green-btn {
|
|
||||||
@include colorBtn($green)
|
|
||||||
}
|
|
||||||
|
|
||||||
.tiffany-btn {
|
|
||||||
@include colorBtn($tiffany)
|
|
||||||
}
|
|
||||||
|
|
||||||
.yellow-btn {
|
|
||||||
@include colorBtn($yellow)
|
|
||||||
}
|
|
||||||
|
|
||||||
.pan-btn {
|
|
||||||
font-size: 14px;
|
|
||||||
color: #fff;
|
|
||||||
padding: 14px 36px;
|
|
||||||
border-radius: 8px;
|
|
||||||
border: none;
|
|
||||||
outline: none;
|
|
||||||
transition: 600ms ease all;
|
|
||||||
position: relative;
|
|
||||||
display: inline-block;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background: #fff;
|
|
||||||
|
|
||||||
&:before,
|
|
||||||
&:after {
|
|
||||||
width: 100%;
|
|
||||||
transition: 600ms ease all;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&:before,
|
|
||||||
&:after {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
height: 2px;
|
|
||||||
width: 0;
|
|
||||||
transition: 400ms ease all;
|
|
||||||
}
|
|
||||||
|
|
||||||
&::after {
|
|
||||||
right: inherit;
|
|
||||||
top: inherit;
|
|
||||||
left: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-button {
|
|
||||||
display: inline-block;
|
|
||||||
line-height: 1;
|
|
||||||
white-space: nowrap;
|
|
||||||
cursor: pointer;
|
|
||||||
background: #fff;
|
|
||||||
color: #fff;
|
|
||||||
-webkit-appearance: none;
|
|
||||||
text-align: center;
|
|
||||||
box-sizing: border-box;
|
|
||||||
outline: 0;
|
|
||||||
margin: 0;
|
|
||||||
padding: 10px 15px;
|
|
||||||
font-size: 14px;
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-icon-arrow {
|
|
||||||
cursor: pointer;
|
|
||||||
color: #1890ff;
|
|
||||||
padding-left: 10px;
|
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
@ -1,83 +0,0 @@
|
|||||||
// cover some element-ui styles
|
|
||||||
|
|
||||||
.el-breadcrumb__inner,
|
|
||||||
.el-breadcrumb__inner a {
|
|
||||||
font-weight: 400 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-upload {
|
|
||||||
input[type="file"] {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-upload__input {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cell {
|
|
||||||
.el-tag {
|
|
||||||
margin-right: 0px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.small-padding {
|
|
||||||
.cell {
|
|
||||||
padding-left: 5px;
|
|
||||||
padding-right: 5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.fixed-width {
|
|
||||||
.el-button--mini {
|
|
||||||
padding: 7px 10px;
|
|
||||||
min-width: 60px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.status-col {
|
|
||||||
.cell {
|
|
||||||
padding: 0 10px;
|
|
||||||
text-align: center;
|
|
||||||
|
|
||||||
.el-tag {
|
|
||||||
margin-right: 0px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-dialog {
|
|
||||||
transform: none;
|
|
||||||
left: 0;
|
|
||||||
position: relative;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
// refine element ui upload
|
|
||||||
.upload-container {
|
|
||||||
.el-upload {
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
.el-upload-dragger {
|
|
||||||
width: 100%;
|
|
||||||
height: 200px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// dropdown
|
|
||||||
.el-dropdown-menu {
|
|
||||||
a {
|
|
||||||
display: block
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// fix date-picker ui bug in filter-item
|
|
||||||
.el-range-editor.el-input__inner {
|
|
||||||
display: inline-flex !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
// to fix el-date-picker css style
|
|
||||||
.el-range-separator {
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
/**
|
|
||||||
* I think element-ui's default theme color is too light for long-term use.
|
|
||||||
* So I modified the default color and you can modify it to your liking.
|
|
||||||
**/
|
|
||||||
|
|
||||||
/* theme color */
|
|
||||||
$--color-primary: #1890ff;
|
|
||||||
$--color-success: #13ce66;
|
|
||||||
$--color-warning: #ffba00;
|
|
||||||
$--color-danger: #ff4949;
|
|
||||||
// $--color-info: #1E1E1E;
|
|
||||||
|
|
||||||
$--button-font-weight: 400;
|
|
||||||
|
|
||||||
// $--color-text-regular: #1f2d3d;
|
|
||||||
|
|
||||||
$--border-color-light: #dfe4ed;
|
|
||||||
$--border-color-lighter: #e6ebf5;
|
|
||||||
|
|
||||||
$--table-border: 1px solid #dfe6ec;
|
|
||||||
|
|
||||||
/* icon font path, required */
|
|
||||||
$--font-path: "~element-ui/lib/theme-chalk/fonts";
|
|
||||||
|
|
||||||
@import "~element-ui/packages/theme-chalk/src/index";
|
|
||||||
|
|
||||||
// the :export directive is the magic sauce for webpack
|
|
||||||
// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
|
|
||||||
:export {
|
|
||||||
theme: $--color-primary;
|
|
||||||
}
|
|
@ -1,271 +0,0 @@
|
|||||||
$selectedColor: #f6f7ff;
|
|
||||||
$lighterBlue: #409EFF;
|
|
||||||
|
|
||||||
.container {
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.components-list {
|
|
||||||
padding: 8px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
height: 100%;
|
|
||||||
.components-item {
|
|
||||||
display: inline-block;
|
|
||||||
width: 48%;
|
|
||||||
margin: 1%;
|
|
||||||
transition: transform 0ms !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.components-draggable {
|
|
||||||
padding-bottom: 20px;
|
|
||||||
}
|
|
||||||
.components-title {
|
|
||||||
font-size: 14px;
|
|
||||||
color: #222;
|
|
||||||
margin: 6px 2px;
|
|
||||||
.svg-icon {
|
|
||||||
color: #666;
|
|
||||||
font-size: 18px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.components-body {
|
|
||||||
padding: 8px 10px;
|
|
||||||
background: $selectedColor;
|
|
||||||
font-size: 12px;
|
|
||||||
cursor: move;
|
|
||||||
border: 1px dashed $selectedColor;
|
|
||||||
border-radius: 3px;
|
|
||||||
.svg-icon {
|
|
||||||
color: #777;
|
|
||||||
font-size: 15px;
|
|
||||||
}
|
|
||||||
&:hover {
|
|
||||||
border: 1px dashed #787be8;
|
|
||||||
color: #787be8;
|
|
||||||
.svg-icon {
|
|
||||||
color: #787be8;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.left-board {
|
|
||||||
width: 260px;
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
height: 100vh;
|
|
||||||
}
|
|
||||||
.left-scrollbar{
|
|
||||||
height: calc(100vh - 42px);
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.center-scrollbar {
|
|
||||||
height: calc(100vh - 42px);
|
|
||||||
overflow: hidden;
|
|
||||||
border-left: 1px solid #f1e8e8;
|
|
||||||
border-right: 1px solid #f1e8e8;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
.center-board {
|
|
||||||
height: 100vh;
|
|
||||||
width: auto;
|
|
||||||
margin: 0 350px 0 260px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
.empty-info {
|
|
||||||
position: absolute;
|
|
||||||
top: 46%;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 18px;
|
|
||||||
color: #ccb1ea;
|
|
||||||
letter-spacing: 4px;
|
|
||||||
}
|
|
||||||
.action-bar {
|
|
||||||
position: relative;
|
|
||||||
height: 42px;
|
|
||||||
text-align: right;
|
|
||||||
padding: 0 15px;
|
|
||||||
box-sizing: border-box;;
|
|
||||||
border: 1px solid #f1e8e8;
|
|
||||||
border-top: none;
|
|
||||||
border-left: none;
|
|
||||||
.delete-btn {
|
|
||||||
color: #F56C6C;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.logo-wrapper {
|
|
||||||
position: relative;
|
|
||||||
height: 42px;
|
|
||||||
background: #fff;
|
|
||||||
border-bottom: 1px solid #f1e8e8;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
.logo {
|
|
||||||
position: absolute;
|
|
||||||
left: 12px;
|
|
||||||
top: 6px;
|
|
||||||
line-height: 30px;
|
|
||||||
color: #00afff;
|
|
||||||
font-weight: 600;
|
|
||||||
font-size: 17px;
|
|
||||||
white-space: nowrap;
|
|
||||||
> img {
|
|
||||||
width: 30px;
|
|
||||||
height: 30px;
|
|
||||||
vertical-align: top;
|
|
||||||
}
|
|
||||||
.github {
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: sub;
|
|
||||||
margin-left: 15px;
|
|
||||||
> img {
|
|
||||||
height: 22px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.center-board-row {
|
|
||||||
padding: 12px 12px 15px 12px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
& > .el-form {
|
|
||||||
// 69 = 12+15+42
|
|
||||||
height: calc(100vh - 69px);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.drawing-board {
|
|
||||||
height: 100%;
|
|
||||||
position: relative;
|
|
||||||
.components-body {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
font-size: 0;
|
|
||||||
}
|
|
||||||
.sortable-ghost {
|
|
||||||
position: relative;
|
|
||||||
display: block;
|
|
||||||
overflow: hidden;
|
|
||||||
&::before {
|
|
||||||
content: " ";
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
height: 3px;
|
|
||||||
background: rgb(89, 89, 223);
|
|
||||||
z-index: 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.components-item.sortable-ghost {
|
|
||||||
width: 100%;
|
|
||||||
height: 60px;
|
|
||||||
background-color: $selectedColor;
|
|
||||||
}
|
|
||||||
.active-from-item {
|
|
||||||
& > .el-form-item {
|
|
||||||
background: $selectedColor;
|
|
||||||
border-radius: 6px;
|
|
||||||
}
|
|
||||||
& > .drawing-item-copy, & > .drawing-item-delete {
|
|
||||||
display: initial;
|
|
||||||
}
|
|
||||||
& > .component-name {
|
|
||||||
color: $lighterBlue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.el-form-item {
|
|
||||||
margin-bottom: 15px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.drawing-item {
|
|
||||||
position: relative;
|
|
||||||
cursor: move;
|
|
||||||
&.unfocus-bordered:not(.active-from-item) > div:first-child {
|
|
||||||
border: 1px dashed #ccc;
|
|
||||||
}
|
|
||||||
.el-form-item {
|
|
||||||
padding: 12px 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.drawing-row-item {
|
|
||||||
position: relative;
|
|
||||||
cursor: move;
|
|
||||||
box-sizing: border-box;
|
|
||||||
border: 1px dashed #ccc;
|
|
||||||
border-radius: 3px;
|
|
||||||
padding: 0 2px;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
.drawing-row-item {
|
|
||||||
margin-bottom: 2px;
|
|
||||||
}
|
|
||||||
.el-col {
|
|
||||||
margin-top: 22px;
|
|
||||||
}
|
|
||||||
.el-form-item {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
.drag-wrapper {
|
|
||||||
min-height: 80px;
|
|
||||||
}
|
|
||||||
&.active-from-item {
|
|
||||||
border: 1px dashed $lighterBlue;
|
|
||||||
}
|
|
||||||
.component-name {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
font-size: 12px;
|
|
||||||
color: #bbb;
|
|
||||||
display: inline-block;
|
|
||||||
padding: 0 6px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.drawing-item, .drawing-row-item {
|
|
||||||
&:hover {
|
|
||||||
& > .el-form-item {
|
|
||||||
background: $selectedColor;
|
|
||||||
border-radius: 6px;
|
|
||||||
}
|
|
||||||
& > .drawing-item-copy, & > .drawing-item-delete {
|
|
||||||
display: initial;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
& > .drawing-item-copy, & > .drawing-item-delete {
|
|
||||||
display: none;
|
|
||||||
position: absolute;
|
|
||||||
top: -10px;
|
|
||||||
width: 22px;
|
|
||||||
height: 22px;
|
|
||||||
line-height: 22px;
|
|
||||||
text-align: center;
|
|
||||||
border-radius: 50%;
|
|
||||||
font-size: 12px;
|
|
||||||
border: 1px solid;
|
|
||||||
cursor: pointer;
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
& > .drawing-item-copy {
|
|
||||||
right: 56px;
|
|
||||||
border-color: $lighterBlue;
|
|
||||||
color: $lighterBlue;
|
|
||||||
background: #fff;
|
|
||||||
&:hover {
|
|
||||||
background: $lighterBlue;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
& > .drawing-item-delete {
|
|
||||||
right: 24px;
|
|
||||||
border-color: #F56C6C;
|
|
||||||
color: #F56C6C;
|
|
||||||
background: #fff;
|
|
||||||
&:hover {
|
|
||||||
background: #F56C6C;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,527 +0,0 @@
|
|||||||
@import './variables.scss';
|
|
||||||
@import './mixin.scss';
|
|
||||||
@import './transition.scss';
|
|
||||||
@import './element-ui.scss';
|
|
||||||
@import './sidebar.scss';
|
|
||||||
@import './btn.scss';
|
|
||||||
|
|
||||||
body {
|
|
||||||
height: 100%;
|
|
||||||
-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;
|
|
||||||
}
|
|
||||||
|
|
||||||
label {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
height: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
#app {
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
*,
|
|
||||||
*:before,
|
|
||||||
*:after {
|
|
||||||
box-sizing: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.no-padding {
|
|
||||||
padding: 0px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.padding-content {
|
|
||||||
padding: 4px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:focus,
|
|
||||||
a:active {
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
a,
|
|
||||||
a:focus,
|
|
||||||
a:hover {
|
|
||||||
cursor: pointer;
|
|
||||||
color: inherit;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
div:focus {
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fr {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fl {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pr-5 {
|
|
||||||
padding-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-5 {
|
|
||||||
padding-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.block {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pointer {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inlineBlock {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clearfix {
|
|
||||||
&:after {
|
|
||||||
visibility: hidden;
|
|
||||||
display: block;
|
|
||||||
font-size: 0;
|
|
||||||
content: " ";
|
|
||||||
clear: both;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
aside {
|
|
||||||
background: #eef1f6;
|
|
||||||
padding: 8px 24px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
border-radius: 2px;
|
|
||||||
display: block;
|
|
||||||
line-height: 32px;
|
|
||||||
font-size: 16px;
|
|
||||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
|
|
||||||
color: #2c3e50;
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
-moz-osx-font-smoothing: grayscale;
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #337ab7;
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: rgb(32, 160, 255);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//main-container全局样式
|
|
||||||
.app-container {
|
|
||||||
padding: 20px;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
overflow-y: auto;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.components-container {
|
|
||||||
margin: 30px 50px;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pagination-container {
|
|
||||||
margin-top: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-center {
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.sub-navbar {
|
|
||||||
height: 50px;
|
|
||||||
line-height: 50px;
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
text-align: right;
|
|
||||||
padding-right: 20px;
|
|
||||||
transition: 600ms ease position;
|
|
||||||
background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%);
|
|
||||||
|
|
||||||
.subtitle {
|
|
||||||
font-size: 20px;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.draft {
|
|
||||||
background: #d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.deleted {
|
|
||||||
background: #d0d0d0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.link-type,
|
|
||||||
.link-type:focus {
|
|
||||||
color: #337ab7;
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: rgb(32, 160, 255);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.filter-container {
|
|
||||||
padding-bottom: 10px;
|
|
||||||
|
|
||||||
.filter-input {
|
|
||||||
width: 150px;
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.filter-item {
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: middle;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//refine vue-multiselect plugin
|
|
||||||
.multiselect {
|
|
||||||
line-height: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.multiselect--active {
|
|
||||||
z-index: 1000 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.center-tabs {
|
|
||||||
.el-tabs__header {
|
|
||||||
margin-bottom: 0!important;
|
|
||||||
}
|
|
||||||
.el-tabs__item {
|
|
||||||
width: 50%;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.el-tabs__nav {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-scrollbar {
|
|
||||||
width: 8px;
|
|
||||||
height: 8px;
|
|
||||||
}
|
|
||||||
::-webkit-scrollbar-thumb {
|
|
||||||
background-color: #C0D4F0;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// formgenerator
|
|
||||||
$editorTabsborderColor: #121315;
|
|
||||||
.editor-tabs {
|
|
||||||
background: $editorTabsborderColor;
|
|
||||||
.el-tabs__header {
|
|
||||||
margin: 0;
|
|
||||||
border-bottom-color: $editorTabsborderColor;
|
|
||||||
.el-tabs__nav {
|
|
||||||
border-color: $editorTabsborderColor;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.el-tabs__item {
|
|
||||||
height: 32px;
|
|
||||||
line-height: 32px;
|
|
||||||
color: #888a8e;
|
|
||||||
border-left: 1px solid $editorTabsborderColor!important;
|
|
||||||
background: #363636;
|
|
||||||
margin-right: 5px;
|
|
||||||
user-select: none;
|
|
||||||
}
|
|
||||||
.el-tabs__item.is-active {
|
|
||||||
background: #1e1e1e;
|
|
||||||
border-bottom-color: #1e1e1e!important;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
.el-icon-edit {
|
|
||||||
color: #f1fa8c;
|
|
||||||
}
|
|
||||||
.el-icon-document {
|
|
||||||
color: #a95812;
|
|
||||||
}
|
|
||||||
:focus.is-active.is-focus:not(:active) {
|
|
||||||
box-shadow: none;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.right-scrollbar {
|
|
||||||
.el-scrollbar__view {
|
|
||||||
padding: 12px 18px 15px 15px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.reg-item {
|
|
||||||
padding: 12px 6px;
|
|
||||||
background: #f8f8f8;
|
|
||||||
position: relative;
|
|
||||||
border-radius: 4px;
|
|
||||||
.close-btn {
|
|
||||||
position: absolute;
|
|
||||||
right: -6px;
|
|
||||||
top: -6px;
|
|
||||||
display: block;
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
line-height: 16px;
|
|
||||||
background: rgba(0, 0, 0, 0.2);
|
|
||||||
border-radius: 50%;
|
|
||||||
color: #fff;
|
|
||||||
text-align: center;
|
|
||||||
z-index: 1;
|
|
||||||
cursor: pointer;
|
|
||||||
font-size: 12px;
|
|
||||||
&:hover {
|
|
||||||
background: rgba(210, 23, 23, 0.5)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
& + .reg-item {
|
|
||||||
margin-top: 18px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.action-bar {
|
|
||||||
& .el-button+.el-button {
|
|
||||||
margin-left: 15px;
|
|
||||||
}
|
|
||||||
& i {
|
|
||||||
font-size: 20px;
|
|
||||||
vertical-align: middle;
|
|
||||||
position: relative;
|
|
||||||
top: -1px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-tree-node {
|
|
||||||
width: 100%;
|
|
||||||
font-size: 14px;
|
|
||||||
.node-operation {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
i[class*="el-icon"] + i[class*="el-icon"] {
|
|
||||||
margin-left: 6px;
|
|
||||||
}
|
|
||||||
.el-icon-plus {
|
|
||||||
color: #409EFF;
|
|
||||||
}
|
|
||||||
.el-icon-delete {
|
|
||||||
color: #157a0c;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
.popoverTo {
|
|
||||||
.el-popover__title {
|
|
||||||
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 弹窗和内弹窗
|
|
||||||
.pop-up,
|
|
||||||
.inner-pop-up,
|
|
||||||
.pop-up-height {
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
// 弹窗内边据
|
|
||||||
.el-dialog__body {
|
|
||||||
padding: 0px 20px;
|
|
||||||
}
|
|
||||||
.dataForm {
|
|
||||||
border-top: 1px solid #ccc;
|
|
||||||
padding: 20px 0;
|
|
||||||
}
|
|
||||||
// 弹窗里面的表单的外边距设置 el-dialog-bottom
|
|
||||||
.el-dialog-bottom {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
// 弹窗标题加粗 title 粘性定位固定在顶部
|
|
||||||
.el-dialog__header {
|
|
||||||
position: sticky;
|
|
||||||
top: 0;
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
box-shadow: 0 1px 2px 1px #f0f0f0;
|
|
||||||
z-index: 9999;
|
|
||||||
.el-dialog__title {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 限制弹窗的高度
|
|
||||||
.el-dialog {
|
|
||||||
max-height: calc(100% - 10vh ) !important;
|
|
||||||
// min-height: 20vh;
|
|
||||||
margin: auto !important;
|
|
||||||
overflow: auto;
|
|
||||||
position: relative;
|
|
||||||
// 个性化-固定在容器顶部
|
|
||||||
.content-fixed-top {
|
|
||||||
position: fixed;
|
|
||||||
padding-top: 10px;
|
|
||||||
margin-top: 2px;
|
|
||||||
z-index: 9999;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
// 个性化-中部
|
|
||||||
.content-fixed-conter {
|
|
||||||
padding-top: 50px;
|
|
||||||
}
|
|
||||||
// 个性化-固定底部
|
|
||||||
.content-fixed-bottom {
|
|
||||||
position: sticky;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: 9999;
|
|
||||||
background-color: #fff;
|
|
||||||
.pagination-container {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 25px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
.filter-container {
|
|
||||||
|
|
||||||
padding-bottom: 0px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
.pop-up-height {
|
|
||||||
.el-dialog {
|
|
||||||
height: calc(100% - 10vh ) !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 表单里面的input框 手动添加icon 图标
|
|
||||||
.icon_style {
|
|
||||||
|
|
||||||
.el-form-item__content{
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.icon {
|
|
||||||
width: calc(100% - 47px);
|
|
||||||
height: calc(100% - 2px);
|
|
||||||
color: #C0C4CC;
|
|
||||||
transform: translateY(-50%);
|
|
||||||
display: flex;
|
|
||||||
align-content: center;
|
|
||||||
justify-content: flex-end;
|
|
||||||
position: absolute ;
|
|
||||||
top: 50%;
|
|
||||||
left: 0;
|
|
||||||
.el-icon-circle-close{
|
|
||||||
line-height: inherit;
|
|
||||||
background-color: #fff;
|
|
||||||
padding: 0 8px;
|
|
||||||
&:hover {
|
|
||||||
color: #1890FF;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.el-input__suffix {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.app-sticky {
|
|
||||||
width: 100%;
|
|
||||||
height: calc(100vh - 84px);
|
|
||||||
overflow-y: auto;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 0 20px;
|
|
||||||
// 表格的导航栏 粘性定位国定
|
|
||||||
.positionStl {
|
|
||||||
position: sticky;
|
|
||||||
top: 0;
|
|
||||||
z-index: 20;
|
|
||||||
background-color: #fff;
|
|
||||||
padding-top: 10px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
|
|
||||||
.filter-container {
|
|
||||||
padding-bottom: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.pagination-container {
|
|
||||||
margin-top: 0;
|
|
||||||
padding: 10px 16px !important;
|
|
||||||
position: sticky;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: 20;
|
|
||||||
}
|
|
||||||
|
|
||||||
#screenfull-container {
|
|
||||||
height: calc( 100% - 94px - 52px );
|
|
||||||
.mainHeight {
|
|
||||||
height: calc( 100% - 23px )
|
|
||||||
}
|
|
||||||
#tableData {
|
|
||||||
tr td .cell {
|
|
||||||
line-height: initial !important;
|
|
||||||
// 超出两行 以省略号显示
|
|
||||||
overflow : hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
display: -webkit-box;
|
|
||||||
-webkit-line-clamp: 2; // 控制几行
|
|
||||||
-webkit-box-orient: vertical;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.el-button--small {
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// 黑色字体
|
|
||||||
.el-input.is-disabled .el-input__inner {
|
|
||||||
color: #000;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// 让input number类型的标签不产生上下加减的按钮
|
|
||||||
input::-webkit-outer-spin-button,
|
|
||||||
input::-webkit-inner-spin-button {
|
|
||||||
-webkit-appearance: none !important;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 自定义加载
|
|
||||||
.daoru .el-loading-mask .el-loading-spinner {
|
|
||||||
font-size: 50px;
|
|
||||||
.el-loading-text {
|
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// el-divider 组件的修改样式
|
|
||||||
.divider {
|
|
||||||
margin: 30px 0 !important;
|
|
||||||
.el-divider__text {
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 17px;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 加载中 .el-loading-spinner .circular
|
|
||||||
.el-loading-spinner .circular {
|
|
||||||
width: 70px;
|
|
||||||
height: 70px;
|
|
||||||
}
|
|
@ -1,100 +0,0 @@
|
|||||||
@mixin clearfix {
|
|
||||||
&:after {
|
|
||||||
content: "";
|
|
||||||
display: table;
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin scrollBar {
|
|
||||||
&::-webkit-scrollbar-track-piece {
|
|
||||||
background: #d3dce6;
|
|
||||||
}
|
|
||||||
|
|
||||||
&::-webkit-scrollbar {
|
|
||||||
width: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&::-webkit-scrollbar-thumb {
|
|
||||||
background: #99a9bf;
|
|
||||||
border-radius: 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin relative {
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin pct($pct) {
|
|
||||||
width: #{$pct};
|
|
||||||
position: relative;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin triangle($width, $height, $color, $direction) {
|
|
||||||
$width: $width/2;
|
|
||||||
$color-border-style: $height solid $color;
|
|
||||||
$transparent-border-style: $width solid transparent;
|
|
||||||
height: 0;
|
|
||||||
width: 0;
|
|
||||||
|
|
||||||
@if $direction==up {
|
|
||||||
border-bottom: $color-border-style;
|
|
||||||
border-left: $transparent-border-style;
|
|
||||||
border-right: $transparent-border-style;
|
|
||||||
}
|
|
||||||
|
|
||||||
@else if $direction==right {
|
|
||||||
border-left: $color-border-style;
|
|
||||||
border-top: $transparent-border-style;
|
|
||||||
border-bottom: $transparent-border-style;
|
|
||||||
}
|
|
||||||
|
|
||||||
@else if $direction==down {
|
|
||||||
border-top: $color-border-style;
|
|
||||||
border-left: $transparent-border-style;
|
|
||||||
border-right: $transparent-border-style;
|
|
||||||
}
|
|
||||||
|
|
||||||
@else if $direction==left {
|
|
||||||
border-right: $color-border-style;
|
|
||||||
border-top: $transparent-border-style;
|
|
||||||
border-bottom: $transparent-border-style;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin action-bar {
|
|
||||||
.action-bar {
|
|
||||||
height: 33px;
|
|
||||||
background: #f2fafb;
|
|
||||||
padding: 0 15px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
|
|
||||||
.bar-btn {
|
|
||||||
display: inline-block;
|
|
||||||
padding: 0 6px;
|
|
||||||
line-height: 32px;
|
|
||||||
color: #8285f5;
|
|
||||||
cursor: pointer;
|
|
||||||
font-size: 14px;
|
|
||||||
user-select: none;
|
|
||||||
& i {
|
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
||||||
&:hover {
|
|
||||||
color: #4348d4;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.bar-btn + .bar-btn {
|
|
||||||
margin-left: 8px;
|
|
||||||
}
|
|
||||||
.delete-btn {
|
|
||||||
color: #f56c6c;
|
|
||||||
&:hover {
|
|
||||||
color: #ea0b30;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,226 +0,0 @@
|
|||||||
#app {
|
|
||||||
|
|
||||||
.main-container {
|
|
||||||
min-height: 100%;
|
|
||||||
transition: margin-left .28s;
|
|
||||||
margin-left: $sideBarWidth;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-container {
|
|
||||||
transition: width 0.28s;
|
|
||||||
width: $sideBarWidth !important;
|
|
||||||
background-color: $menuBg;
|
|
||||||
height: 100%;
|
|
||||||
position: fixed;
|
|
||||||
font-size: 0px;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
z-index: 1001;
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
// reset element-ui css
|
|
||||||
.horizontal-collapse-transition {
|
|
||||||
transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scrollbar-wrapper {
|
|
||||||
overflow-x: hidden !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-scrollbar__bar.is-vertical {
|
|
||||||
right: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-scrollbar {
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.has-logo {
|
|
||||||
.el-scrollbar {
|
|
||||||
height: calc(100% - 50px);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.is-horizontal {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
display: inline-block;
|
|
||||||
width: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-icon {
|
|
||||||
margin-right: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sub-el-icon {
|
|
||||||
margin-right: 12px;
|
|
||||||
margin-left: -2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-menu {
|
|
||||||
border: none;
|
|
||||||
height: 100%;
|
|
||||||
width: 100% !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
// menu hover
|
|
||||||
.submenu-title-noDropdown,
|
|
||||||
.el-submenu__title {
|
|
||||||
&:hover {
|
|
||||||
background-color: $menuHover !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.is-active>.el-submenu__title {
|
|
||||||
color: $subMenuActiveText !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
& .nest-menu .el-submenu>.el-submenu__title,
|
|
||||||
& .el-submenu .el-menu-item {
|
|
||||||
min-width: $sideBarWidth !important;
|
|
||||||
background-color: $subMenuBg !important;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: $subMenuHover !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.hideSidebar {
|
|
||||||
.sidebar-container {
|
|
||||||
width: 54px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main-container {
|
|
||||||
margin-left: 54px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.submenu-title-noDropdown {
|
|
||||||
padding: 0 !important;
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
.el-tooltip {
|
|
||||||
padding: 0 !important;
|
|
||||||
|
|
||||||
.svg-icon {
|
|
||||||
margin-left: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sub-el-icon {
|
|
||||||
margin-left: 19px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-submenu {
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
&>.el-submenu__title {
|
|
||||||
padding: 0 !important;
|
|
||||||
|
|
||||||
.svg-icon {
|
|
||||||
margin-left: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sub-el-icon {
|
|
||||||
margin-left: 19px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-submenu__icon-arrow {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-menu--collapse {
|
|
||||||
.el-submenu {
|
|
||||||
&>.el-submenu__title {
|
|
||||||
&>span {
|
|
||||||
height: 0;
|
|
||||||
width: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
visibility: hidden;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-menu--collapse .el-menu .el-submenu {
|
|
||||||
min-width: $sideBarWidth !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
// mobile responsive
|
|
||||||
.mobile {
|
|
||||||
.main-container {
|
|
||||||
margin-left: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-container {
|
|
||||||
transition: transform .28s;
|
|
||||||
width: $sideBarWidth !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.hideSidebar {
|
|
||||||
.sidebar-container {
|
|
||||||
pointer-events: none;
|
|
||||||
transition-duration: 0.3s;
|
|
||||||
transform: translate3d(-$sideBarWidth, 0, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.withoutAnimation {
|
|
||||||
|
|
||||||
.main-container,
|
|
||||||
.sidebar-container {
|
|
||||||
transition: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// when menu collapsed
|
|
||||||
.el-menu--vertical {
|
|
||||||
&>.el-menu {
|
|
||||||
.svg-icon {
|
|
||||||
margin-right: 16px;
|
|
||||||
}
|
|
||||||
.sub-el-icon {
|
|
||||||
margin-right: 12px;
|
|
||||||
margin-left: -2px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.nest-menu .el-submenu>.el-submenu__title,
|
|
||||||
.el-menu-item {
|
|
||||||
&:hover {
|
|
||||||
// you can use $subMenuHover
|
|
||||||
background-color: $menuHover !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// the scroll bar appears when the subMenu is too long
|
|
||||||
>.el-menu--popup {
|
|
||||||
max-height: 100vh;
|
|
||||||
overflow-y: auto;
|
|
||||||
|
|
||||||
&::-webkit-scrollbar-track-piece {
|
|
||||||
background: #d3dce6;
|
|
||||||
}
|
|
||||||
|
|
||||||
&::-webkit-scrollbar {
|
|
||||||
width: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&::-webkit-scrollbar-thumb {
|
|
||||||
background: #99a9bf;
|
|
||||||
border-radius: 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,48 +0,0 @@
|
|||||||
// global transition css
|
|
||||||
|
|
||||||
/* fade */
|
|
||||||
.fade-enter-active,
|
|
||||||
.fade-leave-active {
|
|
||||||
transition: opacity 0.28s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fade-enter,
|
|
||||||
.fade-leave-active {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* breadcrumb transition */
|
|
||||||
.breadcrumb-enter-active,
|
|
||||||
.breadcrumb-leave-active {
|
|
||||||
transition: all .5s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.breadcrumb-enter,
|
|
||||||
.breadcrumb-leave-active {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateX(20px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.breadcrumb-move {
|
|
||||||
transition: all .5s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.breadcrumb-leave-active {
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
// 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;
|
|
||||||
|
|
||||||
$menuBg:#304156;
|
|
||||||
$menuHover:#263445;
|
|
||||||
|
|
||||||
$subMenuBg:#1f2d3d;
|
|
||||||
$subMenuHover:#001528;
|
|
||||||
|
|
||||||
$sideBarWidth: 210px;
|
|
||||||
|
|
||||||
// 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;
|
|
||||||
}
|
|
@ -1,33 +0,0 @@
|
|||||||
import Cookies from 'js-cookie'
|
|
||||||
|
|
||||||
const TokenKey = 'kdservice-sessionid'
|
|
||||||
|
|
||||||
export function getToken() {
|
|
||||||
// console.log('取出to'+Cookies.get(TokenKey))
|
|
||||||
return Cookies.get(TokenKey)
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setToken(token) {
|
|
||||||
// console.log('设置传入to'+token)
|
|
||||||
return Cookies.set(TokenKey, token)
|
|
||||||
}
|
|
||||||
|
|
||||||
export function removeToken() {
|
|
||||||
return Cookies.remove(TokenKey)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const CookieKey = 'cookie'
|
|
||||||
|
|
||||||
export function getCookie() {
|
|
||||||
return Cookies.get(CookieKey)
|
|
||||||
}
|
|
||||||
|
|
||||||
export function setCookie(cookie) {
|
|
||||||
return Cookies.set(CookieKey, cookie)
|
|
||||||
}
|
|
||||||
|
|
||||||
export function removeCookie() {
|
|
||||||
return Cookies.remove(CookieKey)
|
|
||||||
}
|
|
@ -1,61 +0,0 @@
|
|||||||
import axios from 'axios'
|
|
||||||
import { Message } from 'element-ui'
|
|
||||||
import store from '@/store'
|
|
||||||
import {getCookie, getToken} from '@/utils/auth'
|
|
||||||
|
|
||||||
// create an axios instance
|
|
||||||
const service = axios.create({
|
|
||||||
// baseURL: "http://1.14.142.111:9090", // url = base url + request url
|
|
||||||
// withCredentials: true, // send cookies when cross-domain requests
|
|
||||||
timeout: 5000, // request timeout
|
|
||||||
})
|
|
||||||
|
|
||||||
// request interceptor
|
|
||||||
service.interceptors.request.use(
|
|
||||||
config => {
|
|
||||||
// do something before request is sent
|
|
||||||
if (store.getters.token) {
|
|
||||||
// config.headers['Cookie'] = 'kdservice-sessionid=' + getToken()
|
|
||||||
// config.headers['kdservice'] = getToken()
|
|
||||||
}
|
|
||||||
config.headers['Cookie'] = 'kdservice-sessionid=' + getToken()
|
|
||||||
config.headers['Content-Type'] = 'application/json'
|
|
||||||
|
|
||||||
return config
|
|
||||||
},
|
|
||||||
error => {
|
|
||||||
// do something with request error
|
|
||||||
console.log(error) // for debug
|
|
||||||
return Promise.reject(error)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
// response interceptor
|
|
||||||
service.interceptors.response.use(
|
|
||||||
/**
|
|
||||||
* If you want to get http information such as headers or status
|
|
||||||
* Please return response => response
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine the request status by custom code
|
|
||||||
* Here is just an example
|
|
||||||
* You can also judge the status by HTTP Status Code
|
|
||||||
*/
|
|
||||||
response => {
|
|
||||||
const res = response.data
|
|
||||||
// if the custom code is not 200, it is judged as an error.
|
|
||||||
if (res.code && res.code !== 200) {
|
|
||||||
Message({
|
|
||||||
message: res.message || 'Error',
|
|
||||||
type: 'error',
|
|
||||||
duration: 5 * 1000
|
|
||||||
})
|
|
||||||
return Promise.reject(new Error(res.message || 'Error'))
|
|
||||||
} else {
|
|
||||||
return res
|
|
||||||
}
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
export default service
|
|
@ -1,5 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="about">
|
|
||||||
<h1>This is an about page</h1>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
@ -1,18 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="home">
|
|
||||||
<img alt="Vue logo" src="../assets/logo.png">
|
|
||||||
<HelloWorld msg="Welcome to Your Vue.js App"/>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
// @ is an alias to /src
|
|
||||||
import HelloWorld from '@/components/HelloWorld.vue'
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'HomeView',
|
|
||||||
components: {
|
|
||||||
HelloWorld
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -1,341 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="login-container">
|
|
||||||
<div class="login-form">
|
|
||||||
|
|
||||||
<div class="title-container">
|
|
||||||
<h3 class="title">
|
|
||||||
供应商验证
|
|
||||||
</h3>
|
|
||||||
<div class="desc"> </div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<el-tabs v-model="activeName" stretch>
|
|
||||||
<el-tab-pane label="供应商登录" name="first">
|
|
||||||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" autocomplete="on" label-position="left">
|
|
||||||
<el-form-item prop="Username">
|
|
||||||
<span class="svg-container">
|
|
||||||
<svg-icon icon-class="user" />
|
|
||||||
</span>
|
|
||||||
<el-input
|
|
||||||
ref="Username"
|
|
||||||
v-model="loginForm.Username"
|
|
||||||
placeholder="供应商名称"
|
|
||||||
name="Username"
|
|
||||||
type="text"
|
|
||||||
tabindex="2"
|
|
||||||
autocomplete="on"
|
|
||||||
style="width: 85%"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-tooltip content="Caps lock is On" placement="right" manual>
|
|
||||||
<el-form-item prop="Password">
|
|
||||||
<span class="svg-container">
|
|
||||||
<svg-icon icon-class="password" />
|
|
||||||
</span>
|
|
||||||
<el-input
|
|
||||||
key="passwordType"
|
|
||||||
ref="Password"
|
|
||||||
v-model="loginForm.Password"
|
|
||||||
placeholder="供应商编码"
|
|
||||||
name="Password"
|
|
||||||
tabindex="3"
|
|
||||||
autocomplete="on"
|
|
||||||
show-password
|
|
||||||
style="width: 85%"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-tooltip>
|
|
||||||
</el-form>
|
|
||||||
</el-tab-pane>
|
|
||||||
</el-tabs>
|
|
||||||
<div>
|
|
||||||
<el-button v-if="loginType" :loading="loading" type="primary" style="width:100%;margin-bottom:30px;" @click.native.prevent="loginSubmit()">
|
|
||||||
登录
|
|
||||||
</el-button>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<!-- <div class="forgotregister">-->
|
|
||||||
<!-- <router-link :to="{path: '/forgotpassword', query: { } }">-->
|
|
||||||
<!-- <span style="float: left">{{ $t('login.forgotPassword') }}</span>-->
|
|
||||||
<!-- </router-link>-->
|
|
||||||
|
|
||||||
<!-- </div>-->
|
|
||||||
</div>
|
|
||||||
<div class="globalFooter">
|
|
||||||
<div class="copyright">Copyright ©2022 珠海格致软件有限公司</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
import {login, supplierLogin} from "@/api/login";
|
|
||||||
import * as auth from "@/utils/auth.js"
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'Login',
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
loading : false,
|
|
||||||
activeName:'first',
|
|
||||||
loginType:false,
|
|
||||||
FBILLNO:'',
|
|
||||||
loginForm:{
|
|
||||||
Username:"",
|
|
||||||
Password:"",
|
|
||||||
},
|
|
||||||
loginRules: {
|
|
||||||
Username: [{ required: true, message: "请输入用户名", trigger: "blur" }],
|
|
||||||
Password: [{ required: true, message: "请输入密码", trigger: "blur" }],
|
|
||||||
},
|
|
||||||
data:{
|
|
||||||
FormId:"kafe2f22a0498441f9109c31cf5586da5",
|
|
||||||
FieldKeys:"FBILLNO,FSupplierId.FName",
|
|
||||||
FilterString:"",
|
|
||||||
OrderString:"",
|
|
||||||
TopRowCount:"0",
|
|
||||||
StartRow:"0",
|
|
||||||
Limit:100
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
watch: {
|
|
||||||
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.FBILLNO=this.$route.query.FBILLNO
|
|
||||||
if (this.$route.query.FBILLNO !== undefined){
|
|
||||||
this.loginType=true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
|
|
||||||
},
|
|
||||||
destroyed() {
|
|
||||||
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
loginSubmit(){
|
|
||||||
this.$refs.loginForm.validate(valid => {
|
|
||||||
if (valid) {
|
|
||||||
this.getToken()
|
|
||||||
let FilterString="FBILLNO like'%"+this.FBILLNO+"'";
|
|
||||||
this.data.FilterString=FilterString;
|
|
||||||
//供应商验证
|
|
||||||
// supplierLogin(this.data).then(res =>{
|
|
||||||
// console.log(res)
|
|
||||||
// })
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
getToken(){
|
|
||||||
let loginList={
|
|
||||||
acctID:"63e200975197e2",
|
|
||||||
Username:"王扶民",
|
|
||||||
Password:"888888",
|
|
||||||
Lcid:"2052",
|
|
||||||
}
|
|
||||||
//1、登录
|
|
||||||
login(loginList).then(res =>{
|
|
||||||
console.log('登陆返回'+res.KDSVCSessionId)
|
|
||||||
auth.setToken(res.KDSVCSessionId);
|
|
||||||
let FilterString="FBILLNO like'%"+this.FBILLNO+"'";
|
|
||||||
this.data.FilterString=FilterString;
|
|
||||||
//2、供应商验证
|
|
||||||
supplierLogin(this.data).then(res =>{
|
|
||||||
console.log(res)
|
|
||||||
})
|
|
||||||
let type=res.LoginResultType
|
|
||||||
})
|
|
||||||
},
|
|
||||||
handleWarning(response) {
|
|
||||||
this.$message({
|
|
||||||
message: response.message || response,
|
|
||||||
type: 'warning',
|
|
||||||
duration: 2000
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
handleSuccess(response) {
|
|
||||||
this.$message({
|
|
||||||
message: response.message || response,
|
|
||||||
type: 'success',
|
|
||||||
duration: 2000
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss">
|
|
||||||
|
|
||||||
$bg:#283443;
|
|
||||||
$light_gray:#fff;
|
|
||||||
$cursor: #fff;
|
|
||||||
|
|
||||||
@supports (-webkit-mask: none) and (not (cater-color: $cursor)) {
|
|
||||||
.login-container .el-input input {
|
|
||||||
color: $cursor;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* reset element-ui css */
|
|
||||||
.login-container {
|
|
||||||
.el-input {
|
|
||||||
display: inline-block;
|
|
||||||
height: 47px;
|
|
||||||
// width: 85%;
|
|
||||||
|
|
||||||
input {
|
|
||||||
background: transparent;
|
|
||||||
border: 0px;
|
|
||||||
-webkit-appearance: none;
|
|
||||||
border-radius: 0px;
|
|
||||||
padding: 12px 5px 12px 15px;
|
|
||||||
color: $light_gray;
|
|
||||||
height: 47px;
|
|
||||||
caret-color: $cursor;
|
|
||||||
|
|
||||||
&:-webkit-autofill {
|
|
||||||
box-shadow: 0 0 0px 1000px $bg inset !important;
|
|
||||||
-webkit-text-fill-color: $cursor !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-form-item {
|
|
||||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
||||||
background: rgba(0, 0, 0, 0.1);
|
|
||||||
border-radius: 5px;
|
|
||||||
color: #454545;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
$bg:#2d3a4b;
|
|
||||||
$dark_gray:#889aa4;
|
|
||||||
$light_gray:#eee;
|
|
||||||
|
|
||||||
::v-deep .el-tabs__item {
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
::v-deep .el-tabs__item.is-active {
|
|
||||||
color: #1890ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-container {
|
|
||||||
min-height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
background-color: $bg;
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
.login-form {
|
|
||||||
position: relative;
|
|
||||||
width: 520px;
|
|
||||||
max-width: 100%;
|
|
||||||
padding: 160px 35px 0;
|
|
||||||
margin: 0 auto;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tips {
|
|
||||||
font-size: 14px;
|
|
||||||
color: #fff;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
|
|
||||||
span {
|
|
||||||
&:first-of-type {
|
|
||||||
margin-right: 16px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-container {
|
|
||||||
padding: 6px 5px 6px 15px;
|
|
||||||
color: $dark_gray;
|
|
||||||
vertical-align: middle;
|
|
||||||
width: 30px;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title-container {
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
.title {
|
|
||||||
font-size: 26px;
|
|
||||||
color: $light_gray;
|
|
||||||
margin: 0px auto 40px auto;
|
|
||||||
text-align: center;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.desc {
|
|
||||||
margin-top: 0px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
color: white;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.set-language {
|
|
||||||
color: #fff;
|
|
||||||
position: absolute;
|
|
||||||
top: 3px;
|
|
||||||
font-size: 18px;
|
|
||||||
right: 0px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.show-pwd {
|
|
||||||
position: absolute;
|
|
||||||
right: 10px;
|
|
||||||
top: 7px;
|
|
||||||
font-size: 16px;
|
|
||||||
color: $dark_gray;
|
|
||||||
cursor: pointer;
|
|
||||||
user-select: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.globalFooter {
|
|
||||||
margin: 48px 0 24px 0;
|
|
||||||
padding: 0 16px;
|
|
||||||
text-align: center;
|
|
||||||
|
|
||||||
.links {
|
|
||||||
margin-bottom: 8px;
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: fade(#000, 45%);
|
|
||||||
transition: all 0.3s;
|
|
||||||
|
|
||||||
&:not(:last-child) {
|
|
||||||
margin-right: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: fade(#000, 65%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.copyright {
|
|
||||||
color: rgba(0,0,0,0.45);
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.forgotregister {
|
|
||||||
text-align: right;
|
|
||||||
font-size: 14px;
|
|
||||||
color: white;
|
|
||||||
|
|
||||||
.register {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,704 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="app-container">
|
|
||||||
<div div style="font-size:25px;text-align:left ; position:relative;">
|
|
||||||
<el-button v-if="view" type="primary" @click="save()">
|
|
||||||
{{ '保存' }}
|
|
||||||
</el-button>
|
|
||||||
<el-button v-if="view" type="primary">
|
|
||||||
{{ '提交' }}
|
|
||||||
</el-button>
|
|
||||||
</div>
|
|
||||||
<el-divider></el-divider>
|
|
||||||
<el-form ref="ContractSalaryForm" :rules="rules" :model="ruleFrom" :label-position="labelPosition" label-width="auto" style="width: 100%" :disabled="this.status==='9'">
|
|
||||||
<!-- 基础信息 -->
|
|
||||||
<div class="form-dataForm">
|
|
||||||
<el-row>基本信息</el-row>
|
|
||||||
</div>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label='报价单号' prop="FBILLNO">
|
|
||||||
<el-input v-model="ruleFrom.FBILLNO" readonly ></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label='询价名称' prop="FProjectName">
|
|
||||||
<el-input v-model="ruleFrom.FProjectName" readonly clearable></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="询价单号" prop="FSrcBillNo" >
|
|
||||||
<el-input v-model="ruleFrom.FSrcBillNo" readonly/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="供应商编码" prop="FSupplierId" >
|
|
||||||
<el-input maxlength="64" v-model="ruleFrom.FSupplierId" readonly></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="供应商名称" prop="FSupplierIdName">
|
|
||||||
<el-input maxlength="64" v-model="ruleFrom.FSupplierIdName" readonly></el-input>
|
|
||||||
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="开标日期" prop="FOpenDate">
|
|
||||||
<el-date-picker
|
|
||||||
style="width: 100%"
|
|
||||||
v-model="ruleFrom.FOpenDate"
|
|
||||||
type="date"
|
|
||||||
format="yyyy-MM-dd"
|
|
||||||
value-format="yyyy-MM-dd"
|
|
||||||
:disabled="true">
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label='报价状态' prop="FPriceStatus">
|
|
||||||
<el-input v-model="ruleFrom.FPriceStatus" readonly ></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label='报价日期' prop="FQuoteDate">
|
|
||||||
<el-input v-model="ruleFrom.FQuoteDate" readonly clearable></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="报价截至日期" prop="FExpiryDate" >
|
|
||||||
<el-input v-model="ruleFrom.FExpiryDate" readonly/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label='联系人' prop="FContact">
|
|
||||||
<el-input v-model="ruleFrom.FContact" clearable></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label='电话' prop="FPhone">
|
|
||||||
<el-input v-model="ruleFrom.FPhone" placeholder='请输入电话' clearable></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="邮箱" prop="FMail" >
|
|
||||||
<el-input v-model="ruleFrom.FMail" maxlength="64" placeholder="请输入邮箱" clearable/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label='币别' prop="FCurrId">
|
|
||||||
<el-input v-model="ruleFrom.FCurrId" readonly ></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="含税" prop="FIsIncludedTax" >
|
|
||||||
<el-switch v-model="ruleFrom.FIsIncludedTax" :active-value="1" :inactive-value="0" active-color="#13ce66" inactive-color="#ff4949" @change="priceInputView()">
|
|
||||||
</el-switch>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
|
|
||||||
<!-- 其他信息 -->
|
|
||||||
<el-collapse v-model="activeNames" >
|
|
||||||
<el-collapse-item title="其他信息" class="form-title" name="1">
|
|
||||||
<div class="form-content" v-if="activeNames=='1'">
|
|
||||||
<el-divider content-position="left"></el-divider>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label='采购组织' prop="FPurOrgId">
|
|
||||||
<el-input v-model="ruleFrom.FPurOrgId" :disabled="true"/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label='询价日期' prop="FDate">
|
|
||||||
<el-date-picker type="date" value-format="yyyy-MM-dd" format="yyyy年MM月dd日" v-model="ruleFrom.FDate" style="width: 100%;" :disabled="true"/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label='询价员' prop="FBuyer" >
|
|
||||||
<el-input v-model="ruleFrom.FBuyer" :disabled="true" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
|
||||||
</el-collapse-item>
|
|
||||||
</el-collapse>
|
|
||||||
|
|
||||||
</el-form>
|
|
||||||
<el-tabs type="border-card" style="margin-top: 50px">
|
|
||||||
<el-tab-pane label="明细信息">
|
|
||||||
<div>
|
|
||||||
<el-table
|
|
||||||
:key="tableKey"
|
|
||||||
:data="list"
|
|
||||||
border
|
|
||||||
fit
|
|
||||||
highlight-current-row
|
|
||||||
show-summary
|
|
||||||
max-height="500px"
|
|
||||||
style="width: 100%"
|
|
||||||
>
|
|
||||||
<el-table-column prop="FSEQ" label="序号" align="center" width="50" fixed="left"></el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="FMaterialId"
|
|
||||||
label="物料代码"
|
|
||||||
min-width="150"
|
|
||||||
fixed="left"
|
|
||||||
align="center">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="FName"
|
|
||||||
label="物料名称"
|
|
||||||
min-width="150"
|
|
||||||
align="center">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="FMaterialModel"
|
|
||||||
label="规格型号"
|
|
||||||
min-width="150"
|
|
||||||
align="center">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="FUnitID"
|
|
||||||
label="单位"
|
|
||||||
min-width="150"
|
|
||||||
align="center">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="FQty"
|
|
||||||
label="询价数量"
|
|
||||||
min-width="100"
|
|
||||||
align="center">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="FPrice"
|
|
||||||
label="单价"
|
|
||||||
min-width="100"
|
|
||||||
align="center">
|
|
||||||
<template slot-scope="scop">
|
|
||||||
<el-input type="number" v-model="scop.row.FPrice" v-show="!priceInput" @blur="yearPaymentAmtBlur(scop.row.yearPaymentAmt,scop.$index,'SalaryItemList1',scop.row.timesPerYear)" :disabled="status==='9'"></el-input>
|
|
||||||
<span v-show="priceInput">{{ scop.row.FPrice }}</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="FTaxRate"
|
|
||||||
label="税率%"
|
|
||||||
min-width="100"
|
|
||||||
align="center">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="FTaxPrice"
|
|
||||||
label="含税单价"
|
|
||||||
min-width="110"
|
|
||||||
align="center">
|
|
||||||
<template slot-scope="scop">
|
|
||||||
<el-input type="number" v-model="scop.row.FTaxPrice" v-show="priceInput" :disabled="status==='9'"></el-input>
|
|
||||||
<span v-show="!priceInput">{{ scop.row.FTaxPrice }}</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="FNote"
|
|
||||||
label="备注"
|
|
||||||
align="center"
|
|
||||||
width="240">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="FPayConditionId"
|
|
||||||
label="付款方式"
|
|
||||||
align="center"
|
|
||||||
width="240">
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
</div>
|
|
||||||
</el-tab-pane>
|
|
||||||
</el-tabs>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
|
|
||||||
import {save, supplierLogin} from "@/api/login";
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: "master",
|
|
||||||
components: {},
|
|
||||||
data() {
|
|
||||||
return{
|
|
||||||
labelPosition: 'right',
|
|
||||||
list: [],
|
|
||||||
data:{
|
|
||||||
FormId:"kafe2f22a0498441f9109c31cf5586da5",
|
|
||||||
FieldKeys:'',
|
|
||||||
FilterString:"FBILLNO like'%BJ23060004'",
|
|
||||||
OrderString:"",
|
|
||||||
TopRowCount:"0",
|
|
||||||
StartRow:"0",
|
|
||||||
Limit:100
|
|
||||||
},
|
|
||||||
FieldKeysMaster:'Fid,FSrcBillNo, FProjectName, FBILLNO , FDATE, FOpenDate, FExpiryDate,FQuoteDate, FBuyer, FSupplierId.FNumber,FSupplierId.FName, FPriceStatus, FContact ,FPhone ,FMail, FCurrId, FIsIncludedTax, FIsConfirm, FConfirmDate',
|
|
||||||
FieldKeysslave:'FEntity_FSEQ,FEntity_FEntryID, FMATERIALID.FNumber,FMaterialId.FName, FUnitID.FName, FQty, FPrice, FTaxRate, FTaxPrice, FPayConditionId, FNote',
|
|
||||||
tableKey: 0,
|
|
||||||
customerId:undefined,
|
|
||||||
status:undefined,
|
|
||||||
// 折叠信息激活状态
|
|
||||||
activeNames: '1',
|
|
||||||
staffIds:undefined,
|
|
||||||
useable:undefined,
|
|
||||||
//时间验证
|
|
||||||
TimeQuery: {
|
|
||||||
id:undefined,
|
|
||||||
contractId:undefined,
|
|
||||||
beginTime:undefined,
|
|
||||||
endTime:undefined
|
|
||||||
},
|
|
||||||
//组件的刷新
|
|
||||||
timer:'',
|
|
||||||
//工资项 选择
|
|
||||||
salaryItemName:'',
|
|
||||||
priceInput:false,
|
|
||||||
viewCustomerDialogFormVisible:false,
|
|
||||||
viewContractDialogFormVisible:false,
|
|
||||||
view:true,
|
|
||||||
//把列表存在的工资项传过去
|
|
||||||
SalaryItemList:[],
|
|
||||||
//工资项数据
|
|
||||||
SalaryItemList1: [{
|
|
||||||
FEntryID :'1',
|
|
||||||
FMaterialId:'1',
|
|
||||||
FMaterialName:'1',
|
|
||||||
FMaterialModel:'1',
|
|
||||||
FUnitID:'1',
|
|
||||||
FQty:'1',
|
|
||||||
FPrice:'1',
|
|
||||||
FTaxRate:'1',
|
|
||||||
FTaxPrice:'1',
|
|
||||||
FPayConditionId:'1',
|
|
||||||
FNote:'1',
|
|
||||||
}],
|
|
||||||
SalaryItemList2: [],
|
|
||||||
SalaryItemList3: [],
|
|
||||||
SalaryItemList4: [],
|
|
||||||
|
|
||||||
|
|
||||||
StaffJob: [],
|
|
||||||
tempStaffJob: [],
|
|
||||||
//多选
|
|
||||||
multipleSelection: [],
|
|
||||||
//病假方案
|
|
||||||
sickLeaveSolutionOptions: [],
|
|
||||||
listQuery: {
|
|
||||||
currentPage: 1,
|
|
||||||
pageSize: 10,
|
|
||||||
id:undefined,
|
|
||||||
type:undefined,
|
|
||||||
},
|
|
||||||
ruleFrom: {
|
|
||||||
|
|
||||||
},
|
|
||||||
saveFrom: {
|
|
||||||
Creator: "String",
|
|
||||||
NeedUpDateFields: [],
|
|
||||||
IsAutoSubmitAndAudit: true,
|
|
||||||
Model: {
|
|
||||||
FID: '',
|
|
||||||
//供应商确认
|
|
||||||
FIsConfirm: true,
|
|
||||||
//供应商确认时间
|
|
||||||
FConfirmDate: '',
|
|
||||||
//供应商提交时间
|
|
||||||
FQuoteDate: '',
|
|
||||||
//供应商信息明细表:FEntryID 分录ID,FQty 询价数量,FPrice 单价,FTaxRate 税率,FTaxPrice 含税单价
|
|
||||||
FEntity: []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
options: [{
|
|
||||||
value: 1,
|
|
||||||
label: '是'
|
|
||||||
}, {
|
|
||||||
value: 0,
|
|
||||||
label: '否'
|
|
||||||
}],
|
|
||||||
//在职员工组件
|
|
||||||
viewStaffJobDialogFormVisible: false,
|
|
||||||
//合同薪资方案薪资项 =》 工资项
|
|
||||||
viewSalaryItemDialogFormVisible: false,
|
|
||||||
//多选
|
|
||||||
SalaryItemSingleMulti: 'multi',
|
|
||||||
rules: {
|
|
||||||
contractName: [{required: true, message: '请选择服务合同', trigger: ['blur', 'change']}],
|
|
||||||
customerName: [{required: true, message: '请选择用工单位', trigger: ['blur', 'change']}],
|
|
||||||
solutionName: [{required: true, message: '请填写岗位名称', trigger: ['blur', 'change']}],
|
|
||||||
beginTime: [{required: true, message: '请填写生效起始时间', trigger: ['blur', 'change']}],
|
|
||||||
endTime: [{required: true, message: '请填写生效终止时间', trigger: ['blur', 'change']}],
|
|
||||||
},
|
|
||||||
// 自定义开始和结束时间验证 => 新增页面
|
|
||||||
pickerOptionsOne: {
|
|
||||||
disabledDate: time => {
|
|
||||||
// if 判断另一项为空时可以随便选择时间
|
|
||||||
if (this.ruleFrom.endTime) {
|
|
||||||
return time.getTime() > new Date(this.ruleFrom.endTime).getTime()
|
|
||||||
} else {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
pickerOptionsTwo: {
|
|
||||||
disabledDate: time => {
|
|
||||||
if (this.ruleFrom.beginTime) {
|
|
||||||
return time.getTime() < new Date(this.ruleFrom.beginTime).getTime()
|
|
||||||
} else {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.data.FilterString='FBILLNO like\'%' + this.$route.query.FBILLNO +'\''
|
|
||||||
this.ruleFromData();
|
|
||||||
this.listData();
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
monthlyTotal() {
|
|
||||||
return this.annualTotal()/12
|
|
||||||
},
|
|
||||||
annualTotal() {
|
|
||||||
// 年度的合计
|
|
||||||
let total = 0;
|
|
||||||
let arr1 = this.SalaryItemList1;
|
|
||||||
let arr2 = this.SalaryItemList2;
|
|
||||||
let arr3 = this.SalaryItemList3;
|
|
||||||
let arr4 = this.SalaryItemList4;
|
|
||||||
// console.log("annualTotal===>",arr1);
|
|
||||||
arr1.forEach( ele => {
|
|
||||||
if(ele.addSubtract == 1 || ele.addSubtract == 2) total += Number(ele.yearPaymentAmt)
|
|
||||||
})
|
|
||||||
arr2.forEach( ele => {
|
|
||||||
if(ele.addSubtract == 1 || ele.addSubtract == 2) total += Number(ele.yearPaymentAmt)
|
|
||||||
})
|
|
||||||
arr3.forEach( ele => {
|
|
||||||
if(ele.addSubtract == 1 || ele.addSubtract == 2) total += Number(ele.yearPaymentAmt)
|
|
||||||
})
|
|
||||||
arr4.forEach( ele => {
|
|
||||||
if(ele.addSubtract == 1 || ele.addSubtract == 2) total += Number(ele.yearPaymentAmt)
|
|
||||||
})
|
|
||||||
return total
|
|
||||||
},
|
|
||||||
monthlyWages() {
|
|
||||||
let total = 0;
|
|
||||||
let arr1 = this.SalaryItemList1;
|
|
||||||
let arr2 = this.SalaryItemList2;
|
|
||||||
let arr3 = this.SalaryItemList3;
|
|
||||||
let arr4 = this.SalaryItemList4;
|
|
||||||
// console.log("annualTotal===>",arr1);
|
|
||||||
arr1.forEach( ele => {
|
|
||||||
if(ele.addSubtract == 1 && ele.isTemp ===false) total += Number(ele.paymentAmt)
|
|
||||||
})
|
|
||||||
arr2.forEach( ele => {
|
|
||||||
if(ele.addSubtract == 1 && ele.isTemp ===false) total += Number(ele.paymentAmt)
|
|
||||||
})
|
|
||||||
arr3.forEach( ele => {
|
|
||||||
if(ele.addSubtract == 1 && ele.isTemp ===false) total += Number(ele.paymentAmt)
|
|
||||||
})
|
|
||||||
arr4.forEach( ele => {
|
|
||||||
if(ele.addSubtract == 1 && ele.isTemp ===false) total += Number(ele.paymentAmt)
|
|
||||||
})
|
|
||||||
return total
|
|
||||||
},
|
|
||||||
monthlyNet() {
|
|
||||||
let total = 0;
|
|
||||||
let newTotal = 0;
|
|
||||||
let arr1 = this.SalaryItemList1;
|
|
||||||
let arr2 = this.SalaryItemList2;
|
|
||||||
let arr3 = this.SalaryItemList3;
|
|
||||||
let arr4 = this.SalaryItemList4;
|
|
||||||
// console.log("annualTotal===>",arr1);
|
|
||||||
arr1.forEach( ele => {
|
|
||||||
if(ele.addSubtract == 0 && ele.isTemp ===false) total += Number(ele.paymentAmt)
|
|
||||||
})
|
|
||||||
arr2.forEach( ele => {
|
|
||||||
if(ele.addSubtract == 0 && ele.isTemp ===false) total += Number(ele.paymentAmt)
|
|
||||||
})
|
|
||||||
arr3.forEach( ele => {
|
|
||||||
if(ele.addSubtract == 0 && ele.isTemp ===false) total += Number(ele.paymentAmt)
|
|
||||||
})
|
|
||||||
arr4.forEach( ele => {
|
|
||||||
if(ele.addSubtract == 0 && ele.isTemp ===false) total += Number(ele.paymentAmt)
|
|
||||||
})
|
|
||||||
newTotal = this.monthlyWages - total
|
|
||||||
return newTotal
|
|
||||||
},
|
|
||||||
},
|
|
||||||
watch:{
|
|
||||||
annualTotal(newValue,lodValue) {
|
|
||||||
this.ruleFrom.annualTotal = Number(newValue).toFixed(2);
|
|
||||||
this.ruleFrom.monthlyTotal = Number(this.ruleFrom.annualTotal/12).toFixed(2);;
|
|
||||||
},
|
|
||||||
// 月度应发
|
|
||||||
monthlyWages(newValue,lodValue) {
|
|
||||||
this.ruleFrom.monthlyWages = Number(newValue).toFixed(2);
|
|
||||||
},
|
|
||||||
// 月度实发
|
|
||||||
monthlyNet(newValue,lodValue) {
|
|
||||||
this.ruleFrom.monthlyNet = Number(newValue).toFixed(2);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
methods:{
|
|
||||||
priceInputView(){
|
|
||||||
if (this.ruleFrom.FIsIncludedTax == 1){
|
|
||||||
this.priceInput=true;
|
|
||||||
}else {
|
|
||||||
this.priceInput=false;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
ruleFromData(){
|
|
||||||
this.data.FieldKeys=this.FieldKeysMaster
|
|
||||||
supplierLogin(this.data).then(res =>{
|
|
||||||
const obj = {
|
|
||||||
Fid: res[0][0],
|
|
||||||
FSrcBillNo: res[0][1],
|
|
||||||
FProjectName: res[0][2],
|
|
||||||
FBILLNO: res[0][3],
|
|
||||||
FDATE: res[0][4],
|
|
||||||
FOpenDate: res[0][5],
|
|
||||||
FExpiryDate: res[0][6],
|
|
||||||
FQuoteDate: res[0][7],
|
|
||||||
FBuyer: res[0][8],
|
|
||||||
FSupplierId: res[0][9],
|
|
||||||
FSupplierIdName: res[0][10],
|
|
||||||
FPriceStatus: res[0][11],
|
|
||||||
FContact: res[0][12],
|
|
||||||
FPhone: res[0][13],
|
|
||||||
FMail: res[0][14],
|
|
||||||
FCurrId: '人民币',
|
|
||||||
FIsIncludedTax: res[0][16],
|
|
||||||
FIsConfirm: res[0][17],
|
|
||||||
FConfirmDate: res[0][18],
|
|
||||||
|
|
||||||
}
|
|
||||||
this.ruleFrom=obj;
|
|
||||||
})
|
|
||||||
},
|
|
||||||
listData(){
|
|
||||||
this.data.FieldKeys=this.FieldKeysslave
|
|
||||||
supplierLogin(this.data).then(res =>{
|
|
||||||
for (let i=0;i<res.length;i++){
|
|
||||||
const obj = {
|
|
||||||
FSEQ : res[i][0],
|
|
||||||
FEntryID : res[i][1],
|
|
||||||
FMaterialId : res[i][2],
|
|
||||||
FName : res[i][3],
|
|
||||||
FUnitID : res[i][4],
|
|
||||||
FQty : res[i][5],
|
|
||||||
FPrice : res[i][6],
|
|
||||||
FTaxRate : res[i][7],
|
|
||||||
FTaxPrice : res[i][8],
|
|
||||||
FPayConditionId : res[i][9],
|
|
||||||
FNote : res[i][10],
|
|
||||||
}
|
|
||||||
this.list.push(obj);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
save(){
|
|
||||||
let Model={
|
|
||||||
FID: this.ruleFrom.Fid,
|
|
||||||
//供应商确认
|
|
||||||
FIsConfirm: true,
|
|
||||||
//供应商确认时间
|
|
||||||
FConfirmDate: new Date(),
|
|
||||||
//供应商提交时间
|
|
||||||
FQuoteDate: '',
|
|
||||||
//供应商信息明细表:FEntryID 分录ID,FQty 询价数量,FPrice 单价,FTaxRate 税率,FTaxPrice 含税单价
|
|
||||||
FEntity: []
|
|
||||||
}
|
|
||||||
for (let i=0;i<this.list.length;i++){
|
|
||||||
let data={}
|
|
||||||
data.FEntryID=this.list[i].FEntryID
|
|
||||||
data.FQty=this.list[i].FQty
|
|
||||||
data.FPrice=this.list[i].FPrice
|
|
||||||
data.FTaxRate=this.list[i].FTaxRate
|
|
||||||
data.FTaxPrice=this.list[i].FTaxPrice
|
|
||||||
Model.FEntity.push(data);
|
|
||||||
}
|
|
||||||
this.saveFrom.Model=Model
|
|
||||||
save(this.saveFrom).then(res=>{
|
|
||||||
this.$message({
|
|
||||||
message: message,
|
|
||||||
type: '添加成功',
|
|
||||||
duration: 2000
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
Obj(){
|
|
||||||
let data=[
|
|
||||||
[
|
|
||||||
1,
|
|
||||||
100011,
|
|
||||||
"1.01.001.0005",
|
|
||||||
"摄像头镜片",
|
|
||||||
"Pcs",
|
|
||||||
134.0000000000,
|
|
||||||
9.4827590000,
|
|
||||||
16.0000000000,
|
|
||||||
11.0000000000,
|
|
||||||
229310,
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
2,
|
|
||||||
100012,
|
|
||||||
"1.01.001.0057",
|
|
||||||
"侧板-50KW系列",
|
|
||||||
"Pcs",
|
|
||||||
156.0000000000,
|
|
||||||
10.3448280000,
|
|
||||||
16.0000000000,
|
|
||||||
12.0000000000,
|
|
||||||
229310,
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
3,
|
|
||||||
100013,
|
|
||||||
"1.01.001.0002",
|
|
||||||
"面壳",
|
|
||||||
"Pcs",
|
|
||||||
100.0000000000,
|
|
||||||
11.2068970000,
|
|
||||||
16.0000000000,
|
|
||||||
13.0000000000,
|
|
||||||
229310,
|
|
||||||
" "
|
|
||||||
]
|
|
||||||
]
|
|
||||||
console.log(data)
|
|
||||||
const template = {FSEQ:'', FEntryID:'', FMaterialId:'',FName:'', FUnitID:'',FQty:'',FPrice:'', FTaxRate:'', FTaxPrice:'',FPayConditionId:'', FNote:''};
|
|
||||||
for (let i=0;i<data.length;i++){
|
|
||||||
const obj = {
|
|
||||||
FSEQ : data[i][0],
|
|
||||||
FEntryID : data[i][1],
|
|
||||||
FMaterialId : data[i][2],
|
|
||||||
FName : data[i][3],
|
|
||||||
FUnitID : data[i][4],
|
|
||||||
FQty : data[i][5],
|
|
||||||
FPrice : data[i][6],
|
|
||||||
FTaxRate : data[i][7],
|
|
||||||
FTaxPrice : data[i][8],
|
|
||||||
FPayConditionId : data[i][9],
|
|
||||||
FNote : data[i][10],
|
|
||||||
}
|
|
||||||
this.list.push(obj);
|
|
||||||
}
|
|
||||||
console.log(this.list)
|
|
||||||
},
|
|
||||||
Obj1(){
|
|
||||||
let data=
|
|
||||||
[
|
|
||||||
[
|
|
||||||
100005,
|
|
||||||
"XJ23060001",
|
|
||||||
"测试密封报价",
|
|
||||||
"BJ23060004",
|
|
||||||
"2023-06-13T00:00:00",
|
|
||||||
"2023-06-28T00:00:00",
|
|
||||||
"2023-06-26T00:00:00",
|
|
||||||
null,
|
|
||||||
158053,
|
|
||||||
"VEN000011",
|
|
||||||
"美华公司",
|
|
||||||
"A",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
1,
|
|
||||||
true,
|
|
||||||
false,
|
|
||||||
null
|
|
||||||
]
|
|
||||||
]
|
|
||||||
FieldKeysMaster:'Fid,FSrcBillNo, FProjectName, FBILLNO , FDATE, FOpenDate, FExpiryDate,FQuoteDate, FBuyer, FSupplierId.FNumber,FSupplierId.FName, FPriceStatus, FContact ,' +
|
|
||||||
'FPhone ,FMail, FCurrId, FIsIncludedTax, FIsConfirm, FConfirmDate';
|
|
||||||
const obj = {
|
|
||||||
Fid: data[0][0],
|
|
||||||
FSrcBillNo: data[0][1],
|
|
||||||
FProjectName: data[0][2],
|
|
||||||
FBILLNO: data[0][3],
|
|
||||||
FDATE: data[0][4],
|
|
||||||
FOpenDate: data[0][5],
|
|
||||||
FExpiryDate: data[0][6],
|
|
||||||
FQuoteDate: data[0][7],
|
|
||||||
FBuyer: data[0][8],
|
|
||||||
FSupplierId: data[0][9],
|
|
||||||
FSupplierIdName: data[0][10],
|
|
||||||
FPriceStatus: data[0][11],
|
|
||||||
FContact: data[0][12],
|
|
||||||
FPhone: data[0][13],
|
|
||||||
FMail: data[0][14],
|
|
||||||
FCurrId: '人民币',
|
|
||||||
FIsIncludedTax: data[0][16],
|
|
||||||
FIsConfirm: data[0][17],
|
|
||||||
FConfirmDate: data[0][18],
|
|
||||||
|
|
||||||
}
|
|
||||||
this.ruleFrom=obj;
|
|
||||||
console.log(this.ruleFrom)
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<style scoped>
|
|
||||||
/* 设置表单的居中 */
|
|
||||||
.dataForm-style {
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
/* 设置基础信息标题的样式 */
|
|
||||||
.form-dataForm {
|
|
||||||
width: 100%;
|
|
||||||
height: 47px;
|
|
||||||
line-height: 47px;
|
|
||||||
font-size: 17px;
|
|
||||||
font-weight: 600;
|
|
||||||
margin: 15px 0;
|
|
||||||
border-bottom: 1px solid #e6ebf5;
|
|
||||||
/* border-bottom: 1px solid #0efc61; */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 去掉折叠上边框线 */
|
|
||||||
::v-deep .el-collapse {
|
|
||||||
border-top: 0;
|
|
||||||
}
|
|
||||||
/* 修改折叠标题样式 */
|
|
||||||
::v-deep .form-title .el-collapse-item__header {
|
|
||||||
font-size: 17px;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
/* 修改折叠标题样式 */
|
|
||||||
::v-deep .form-title .el-collapse-item__content {
|
|
||||||
border-bottom: 0;
|
|
||||||
}
|
|
||||||
/* 修改折叠标题箭头样式 */
|
|
||||||
::v-deep .form-title .el-collapse-item__header .el-collapse-item__arrow {
|
|
||||||
margin: 0 0 0 5px;
|
|
||||||
}
|
|
||||||
::v-deep .el-divider--horizontal {
|
|
||||||
margin: 10px 0;
|
|
||||||
}
|
|
||||||
/* 去掉数字输入框上下加减按钮 */
|
|
||||||
::v-deep input::-webkit-outer-spin-button,
|
|
||||||
::v-deep input::-webkit-inner-spin-button {
|
|
||||||
-webkit-appearance: none;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,12 +0,0 @@
|
|||||||
const { defineConfig } = require("@vue/cli-service");
|
|
||||||
const path = require('path')
|
|
||||||
function resolve(dir) {
|
|
||||||
return path.join(__dirname, dir)
|
|
||||||
}
|
|
||||||
module.exports = defineConfig({
|
|
||||||
transpileDependencies: true,
|
|
||||||
// devServer: {
|
|
||||||
// port: 'http://1.14.142.111:9090'
|
|
||||||
// }
|
|
||||||
|
|
||||||
});
|
|
Loading…
x
Reference in New Issue
Block a user