commit
1c3fafebaf
38 changed files with 20808 additions and 0 deletions
@ -0,0 +1,21 @@ |
|||||||
|
.DS_Store |
||||||
|
node_modules |
||||||
|
/dist |
||||||
|
|
||||||
|
# local env files |
||||||
|
.env.local |
||||||
|
.env.*.local |
||||||
|
|
||||||
|
# Log files |
||||||
|
npm-debug.log* |
||||||
|
yarn-debug.log* |
||||||
|
yarn-error.log* |
||||||
|
|
||||||
|
# Editor directories and files |
||||||
|
.idea |
||||||
|
.vscode |
||||||
|
*.suo |
||||||
|
*.ntvs* |
||||||
|
*.njsproj |
||||||
|
*.sln |
||||||
|
*.sw? |
@ -0,0 +1,30 @@ |
|||||||
|
# python_admin |
||||||
|
|
||||||
|
## 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/). |
||||||
|
|
||||||
|
- Home:判分点列表 |
||||||
|
- Main:判分点设置 |
||||||
|
+ Program:编程类 |
||||||
|
+ Transaction:交易类 |
||||||
|
+ Tool:工具类 |
||||||
|
+ Flow:流程类 |
||||||
|
- Catalog:目录树 |
||||||
|
+ Loan:贷款申请表 |
||||||
|
+ Process:业务编写页面 |
||||||
|
+ Set:业务已设置 |
@ -0,0 +1,5 @@ |
|||||||
|
module.exports = { |
||||||
|
presets: [ |
||||||
|
'@vue/cli-plugin-babel/preset' |
||||||
|
] |
||||||
|
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,37 @@ |
|||||||
|
{ |
||||||
|
"name": "python_admin", |
||||||
|
"version": "0.1.0", |
||||||
|
"private": true, |
||||||
|
"scripts": { |
||||||
|
"dev": "npm run serve", |
||||||
|
"serve": "vue-cli-service serve", |
||||||
|
"build": "vue-cli-service build" |
||||||
|
}, |
||||||
|
"dependencies": { |
||||||
|
"axios": "^0.19.2", |
||||||
|
"core-js": "^3.6.5", |
||||||
|
"element-ui": "^2.14.0", |
||||||
|
"lib-flexible": "^0.3.2", |
||||||
|
"postcss-px2rem": "^0.3.0", |
||||||
|
"postcss-pxtorem": "^5.1.1", |
||||||
|
"px2rem-loader": "^0.1.9", |
||||||
|
"quill": "^1.3.7", |
||||||
|
"vue": "^2.6.12", |
||||||
|
"vue-router": "^3.4.8" |
||||||
|
}, |
||||||
|
"devDependencies": { |
||||||
|
"@vue/cli-plugin-babel": "^4.5.8", |
||||||
|
"@vue/cli-plugin-router": "^4.5.8", |
||||||
|
"@vue/cli-plugin-vuex": "^4.5.8", |
||||||
|
"@vue/cli-service": "^4.5.8", |
||||||
|
"element-theme-chalk": "^2.14.0", |
||||||
|
"node-sass": "^4.14.1", |
||||||
|
"sass-loader": "^8.0.2", |
||||||
|
"vue-template-compiler": "^2.6.12", |
||||||
|
"vuex": "^3.5.1" |
||||||
|
}, |
||||||
|
"browserslist": [ |
||||||
|
"> 1%", |
||||||
|
"last 2 versions" |
||||||
|
] |
||||||
|
} |
After Width: | Height: | Size: 4.2 KiB |
@ -0,0 +1,17 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<html lang="en"> |
||||||
|
<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> |
@ -0,0 +1,38 @@ |
|||||||
|
<template> |
||||||
|
<div id="app"> |
||||||
|
<!-- <div id="nav"> |
||||||
|
<router-link to="/">Home</router-link> | |
||||||
|
<router-link to="/about">About</router-link> |
||||||
|
</div> --> |
||||||
|
<router-view /> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<style> |
||||||
|
#app { |
||||||
|
font-family: Avenir, Helvetica, Arial, sans-serif; |
||||||
|
-webkit-font-smoothing: antialiased; |
||||||
|
-moz-osx-font-smoothing: grayscale; |
||||||
|
/* text-align: center; */ |
||||||
|
color: #2c3e50; |
||||||
|
/* background-color: #f8f7f7; */ |
||||||
|
height: 100%; |
||||||
|
} |
||||||
|
body { |
||||||
|
margin: 0; |
||||||
|
background-color: #f8f7f7; |
||||||
|
} |
||||||
|
|
||||||
|
#nav { |
||||||
|
padding: 30px; |
||||||
|
} |
||||||
|
|
||||||
|
#nav a { |
||||||
|
font-weight: bold; |
||||||
|
color: #2c3e50; |
||||||
|
} |
||||||
|
|
||||||
|
#nav a.router-link-exact-active { |
||||||
|
color: #42b983; |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,8 @@ |
|||||||
|
/* 改变主题色变量 */ |
||||||
|
|
||||||
|
$--color-primary: #9278ff; |
||||||
|
|
||||||
|
/* 改变 icon 字体路径变量,必需 */ |
||||||
|
|
||||||
|
$--font-path: '~element-ui/lib/theme-chalk/fonts'; |
||||||
|
@import "~element-ui/packages/theme-chalk/src/index"; |
After Width: | Height: | Size: 6.7 KiB |
@ -0,0 +1,201 @@ |
|||||||
|
<template> |
||||||
|
<div class="quill" :class="[classes,readonly ? 'readonly' : '']"> |
||||||
|
<div :ref="toref" :style="styles" v-loading="loading"></div> |
||||||
|
|
||||||
|
<el-upload :action="this.api.fileupload" :before-upload="beforeUpload" :on-success="editorUploadSuccess" style="display: none"> |
||||||
|
<el-button class="editorUpload" ref="editorUpload" size="small" type="primary">点击上传</el-button> |
||||||
|
</el-upload> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import Quill from 'quill'; |
||||||
|
import 'quill/dist/quill.core.css'; |
||||||
|
import 'quill/dist/quill.snow.css'; |
||||||
|
import 'quill/dist/quill.bubble.css'; |
||||||
|
import toolbarOptions from './options' |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'quill', |
||||||
|
props: { |
||||||
|
toref: { |
||||||
|
type: String, |
||||||
|
default: 'editor' |
||||||
|
}, |
||||||
|
value: { |
||||||
|
type: String, |
||||||
|
default: '' |
||||||
|
}, |
||||||
|
readonly: { |
||||||
|
type: Boolean, |
||||||
|
default: false |
||||||
|
}, |
||||||
|
toTop: { |
||||||
|
type: Boolean, |
||||||
|
default: true |
||||||
|
}, |
||||||
|
border: { |
||||||
|
type: Boolean, |
||||||
|
default: false |
||||||
|
}, |
||||||
|
height: { |
||||||
|
type: Number |
||||||
|
}, |
||||||
|
minHeight: { |
||||||
|
type: Number |
||||||
|
} |
||||||
|
}, |
||||||
|
data () { |
||||||
|
let that = this |
||||||
|
return { |
||||||
|
Quill: null, |
||||||
|
currentValue: '', |
||||||
|
options: { |
||||||
|
theme: 'snow', |
||||||
|
bounds: document.body, |
||||||
|
debug: 'warn', |
||||||
|
modules: { |
||||||
|
toolbar: { |
||||||
|
container: this.readonly ? [] : toolbarOptions, |
||||||
|
// handlers: { |
||||||
|
// 'image' (value) { |
||||||
|
// console.log(22,value,that.Quill,that.toref,that.$refs) |
||||||
|
// if (value) { |
||||||
|
// that.qu = that.Quill |
||||||
|
// // 调用iview图片上传 |
||||||
|
// document.querySelector('.editorUpload').click() |
||||||
|
// } else { |
||||||
|
// this.Quill.format('image', false); |
||||||
|
// } |
||||||
|
// } |
||||||
|
// } |
||||||
|
} |
||||||
|
}, |
||||||
|
placeholder: '', |
||||||
|
readOnly: this.readonly |
||||||
|
}, |
||||||
|
loading: false, |
||||||
|
quillArr: [], |
||||||
|
qu: null |
||||||
|
} |
||||||
|
}, |
||||||
|
computed: { |
||||||
|
classes () { |
||||||
|
return [ |
||||||
|
{ |
||||||
|
'quill-no-border': !this.border |
||||||
|
} |
||||||
|
]; |
||||||
|
}, |
||||||
|
styles () { |
||||||
|
let style = {}; |
||||||
|
if (this.minHeight) { |
||||||
|
style.minHeight = `${this.minHeight}px`; |
||||||
|
} |
||||||
|
if (this.height) { |
||||||
|
style.height = `${this.height}px`; |
||||||
|
} |
||||||
|
return style; |
||||||
|
} |
||||||
|
}, |
||||||
|
watch: { |
||||||
|
value: { |
||||||
|
handler (val) { |
||||||
|
if (val !== this.currentValue) { |
||||||
|
this.currentValue = val; |
||||||
|
if (this.Quill) { |
||||||
|
this.Quill.pasteHTML(this.value); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
immediate: true |
||||||
|
} |
||||||
|
}, |
||||||
|
mounted () { |
||||||
|
// console.log(this.$refs.editorUpload.$el) |
||||||
|
this.init(); |
||||||
|
}, |
||||||
|
beforeDestroy () { |
||||||
|
// 在组件销毁后销毁实例 |
||||||
|
this.Quill = null; |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
init () { |
||||||
|
let toeval = "this.$refs."+this.toref |
||||||
|
const editor = eval(toeval) |
||||||
|
// 初始化编辑器 |
||||||
|
this.Quill = new Quill(editor, this.options); |
||||||
|
this.quillArr.push(this.Quill) |
||||||
|
console.log(22,this.toref,this.Quill,this.quillArr) |
||||||
|
|
||||||
|
// 默认值 |
||||||
|
this.Quill.pasteHTML(this.currentValue); |
||||||
|
if(this.toTop){ |
||||||
|
this.$nextTick(() => { |
||||||
|
window.scrollTo(0,0) |
||||||
|
}) |
||||||
|
} |
||||||
|
// 绑定事件 |
||||||
|
this.Quill.on('text-change', (delta, oldDelta, source) => { |
||||||
|
const html = this.$refs[this.toref].children[0].innerHTML; |
||||||
|
const text = this.Quill.getText(); |
||||||
|
const quill = this.Quill; |
||||||
|
// 更新内部的值 |
||||||
|
this.currentValue = html; |
||||||
|
// 发出事件 v-model |
||||||
|
this.$emit('input', html); |
||||||
|
// 发出事件 |
||||||
|
this.$emit('on-change', { html, text, quill }); |
||||||
|
}); |
||||||
|
// 将一些 quill 自带的事件传递出去 |
||||||
|
this.Quill.on('text-change', (delta, oldDelta, source) => { |
||||||
|
console.log(this.Quill) |
||||||
|
this.$emit('on-text-change', delta, oldDelta, source); |
||||||
|
}); |
||||||
|
this.Quill.on('selection-change', (range, oldRange, source) => { |
||||||
|
this.$emit('on-selection-change', range, oldRange, source); |
||||||
|
}); |
||||||
|
this.Quill.on('editor-change', (eventName, ...args) => { |
||||||
|
this.$emit('on-editor-change', eventName, ...args); |
||||||
|
}); |
||||||
|
}, |
||||||
|
beforeUpload(file){ |
||||||
|
console.log('上传前:',this.qu,this.toref,this.Quill,this.quillArr) |
||||||
|
this.loading = true |
||||||
|
}, |
||||||
|
editorUploadSuccess (res) { |
||||||
|
// 获取富文本组件实例 |
||||||
|
// let toeval = "this.$refs."+this.toref+'.quill' |
||||||
|
let toeval = 'this.$refs.editor2' |
||||||
|
// console.log("toeval",toeval); |
||||||
|
let quill = eval(toeval); |
||||||
|
// let quill = this.Quill |
||||||
|
// 如果上传成功 |
||||||
|
console.log(11,this.$refs) |
||||||
|
|
||||||
|
// if (res.data.filesResult.fileUrl) { |
||||||
|
// // 获取光标所在位置 |
||||||
|
// let length = quill.selection.savedRange.index; |
||||||
|
// // 插入图片,res为服务器返回的图片链接地址 |
||||||
|
// quill.insertEmbed(length, 'image', res.data.filesResult.fileUrl) |
||||||
|
// // 调整光标到最后 |
||||||
|
// quill.setSelection(length + 1) |
||||||
|
// } else { |
||||||
|
// this.$message.success('图片插入失败') |
||||||
|
// } |
||||||
|
this.loading = false |
||||||
|
}, |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
<style lang="scss" scoped> |
||||||
|
.quill-no-border{ |
||||||
|
.ql-toolbar.ql-snow{ |
||||||
|
border: none; |
||||||
|
border-bottom: 1px solid #e8eaec; |
||||||
|
} |
||||||
|
.ql-container.ql-snow{ |
||||||
|
border: none; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,15 @@ |
|||||||
|
export default [ |
||||||
|
['bold', 'italic', 'underline', 'strike'], |
||||||
|
['blockquote', 'code-block'], |
||||||
|
[{ 'header': 1 }, { 'header': 2 }], |
||||||
|
[{ 'list': 'ordered' }, { 'list': 'bullet' }], |
||||||
|
[{ 'script': 'sub' }, { 'script': 'super' }], |
||||||
|
[{ 'indent': '-1' }, { 'indent': '+1' }], |
||||||
|
[{ 'direction': 'rtl' }], |
||||||
|
[{ 'size': ['small', false, 'large', 'huge'] }], |
||||||
|
[{ 'color': [] }, { 'background': [] }], |
||||||
|
[{ 'font': [] }], |
||||||
|
[{ 'align': [] }], |
||||||
|
['clean'], |
||||||
|
['link', 'image', 'video'] |
||||||
|
] |
@ -0,0 +1,191 @@ |
|||||||
|
<template> |
||||||
|
<div class="quill" :class="[classes,readonly ? 'readonly' : '']"> |
||||||
|
<div :ref="toref" :style="styles" v-loading="loading"></div> |
||||||
|
|
||||||
|
<el-upload :action="this.api.fileupload" :before-upload="beforeUpload" :on-success="editorUploadSuccess" style="display: none"> |
||||||
|
<el-button class="editorUpload" size="small" type="primary">点击上传</el-button> |
||||||
|
</el-upload> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import Quill from 'quill'; |
||||||
|
import 'quill/dist/quill.core.css'; |
||||||
|
import 'quill/dist/quill.snow.css'; |
||||||
|
import 'quill/dist/quill.bubble.css'; |
||||||
|
import toolbarOptions from './options' |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'quill', |
||||||
|
props: { |
||||||
|
toref: { |
||||||
|
type: String, |
||||||
|
default: 'editor' |
||||||
|
}, |
||||||
|
value: { |
||||||
|
type: String, |
||||||
|
default: '' |
||||||
|
}, |
||||||
|
readonly: { |
||||||
|
type: Boolean, |
||||||
|
default: false |
||||||
|
}, |
||||||
|
toTop: { |
||||||
|
type: Boolean, |
||||||
|
default: true |
||||||
|
}, |
||||||
|
border: { |
||||||
|
type: Boolean, |
||||||
|
default: false |
||||||
|
}, |
||||||
|
height: { |
||||||
|
type: Number |
||||||
|
}, |
||||||
|
minHeight: { |
||||||
|
type: Number |
||||||
|
} |
||||||
|
}, |
||||||
|
data () { |
||||||
|
return { |
||||||
|
Quill: null, |
||||||
|
currentValue: '', |
||||||
|
options: { |
||||||
|
theme: 'snow', |
||||||
|
bounds: document.body, |
||||||
|
debug: 'warn', |
||||||
|
modules: { |
||||||
|
toolbar: { |
||||||
|
container: this.readonly ? [] : toolbarOptions, |
||||||
|
handlers: { |
||||||
|
'image': function (value) { |
||||||
|
if (value) { |
||||||
|
// 调用iview图片上传 |
||||||
|
document.querySelector('.editorUpload').click() |
||||||
|
} else { |
||||||
|
this.Quill.format('image', false); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
placeholder: '', |
||||||
|
readOnly: this.readonly |
||||||
|
}, |
||||||
|
loading: false |
||||||
|
} |
||||||
|
}, |
||||||
|
computed: { |
||||||
|
classes () { |
||||||
|
return [ |
||||||
|
{ |
||||||
|
'quill-no-border': !this.border |
||||||
|
} |
||||||
|
]; |
||||||
|
}, |
||||||
|
styles () { |
||||||
|
let style = {}; |
||||||
|
if (this.minHeight) { |
||||||
|
style.minHeight = `${this.minHeight}px`; |
||||||
|
} |
||||||
|
if (this.height) { |
||||||
|
style.height = `${this.height}px`; |
||||||
|
} |
||||||
|
return style; |
||||||
|
} |
||||||
|
}, |
||||||
|
watch: { |
||||||
|
value: { |
||||||
|
handler (val) { |
||||||
|
if (val !== this.currentValue) { |
||||||
|
this.currentValue = val; |
||||||
|
if (this.Quill) { |
||||||
|
this.Quill.pasteHTML(this.value); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
immediate: true |
||||||
|
} |
||||||
|
}, |
||||||
|
mounted () { |
||||||
|
this.init(); |
||||||
|
}, |
||||||
|
beforeDestroy () { |
||||||
|
// 在组件销毁后销毁实例 |
||||||
|
this.Quill = null; |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
init () { |
||||||
|
let toeval = "this.$refs."+this.toref |
||||||
|
const editor = eval(toeval) |
||||||
|
// 初始化编辑器 |
||||||
|
this.Quill = new Quill(editor, this.options); |
||||||
|
console.log(33,this.Quill) |
||||||
|
|
||||||
|
// 默认值 |
||||||
|
this.Quill.pasteHTML(this.currentValue); |
||||||
|
if(this.toTop){ |
||||||
|
this.$nextTick(() => { |
||||||
|
window.scrollTo(0,0) |
||||||
|
}) |
||||||
|
} |
||||||
|
// 绑定事件 |
||||||
|
this.Quill.on('text-change', (delta, oldDelta, source) => { |
||||||
|
const html = this.$refs[this.toref].children[0].innerHTML; |
||||||
|
const text = this.Quill.getText(); |
||||||
|
const quill = this.Quill; |
||||||
|
// 更新内部的值 |
||||||
|
this.currentValue = html; |
||||||
|
// 发出事件 v-model |
||||||
|
this.$emit('input', html); |
||||||
|
// 发出事件 |
||||||
|
this.$emit('on-change', { html, text, quill }); |
||||||
|
}); |
||||||
|
// 将一些 quill 自带的事件传递出去 |
||||||
|
this.Quill.on('text-change', (delta, oldDelta, source) => { |
||||||
|
this.$emit('on-text-change', delta, oldDelta, source); |
||||||
|
}); |
||||||
|
this.Quill.on('selection-change', (range, oldRange, source) => { |
||||||
|
this.$emit('on-selection-change', range, oldRange, source); |
||||||
|
}); |
||||||
|
this.Quill.on('editor-change', (eventName, ...args) => { |
||||||
|
this.$emit('on-editor-change', eventName, ...args); |
||||||
|
}); |
||||||
|
}, |
||||||
|
beforeUpload(file){ |
||||||
|
this.loading = true |
||||||
|
}, |
||||||
|
editorUploadSuccess (res) { |
||||||
|
// 获取富文本组件实例 |
||||||
|
let toeval = "this.$refs."+this.toref+'.quill' |
||||||
|
// console.log("toeval",toeval); |
||||||
|
// let quill = eval(toeval); |
||||||
|
let quill = this.Quill |
||||||
|
// 如果上传成功 |
||||||
|
console.log(11,toeval,this.toref,this.Quill,quill,quill.selection) |
||||||
|
|
||||||
|
if (res.data.filesResult.fileUrl) { |
||||||
|
// 获取光标所在位置 |
||||||
|
let length = quill.selection.savedRange.index; |
||||||
|
// 插入图片,res为服务器返回的图片链接地址 |
||||||
|
quill.insertEmbed(length, 'image', res.data.filesResult.fileUrl) |
||||||
|
// 调整光标到最后 |
||||||
|
quill.setSelection(length + 1) |
||||||
|
} else { |
||||||
|
this.$message.success('图片插入失败') |
||||||
|
} |
||||||
|
this.loading = false |
||||||
|
}, |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
<style lang="scss" scoped> |
||||||
|
.quill-no-border{ |
||||||
|
.ql-toolbar.ql-snow{ |
||||||
|
border: none; |
||||||
|
border-bottom: 1px solid #e8eaec; |
||||||
|
} |
||||||
|
.ql-container.ql-snow{ |
||||||
|
border: none; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,15 @@ |
|||||||
|
export default [ |
||||||
|
['bold', 'italic', 'underline', 'strike'], |
||||||
|
['blockquote', 'code-block'], |
||||||
|
[{ 'header': 1 }, { 'header': 2 }], |
||||||
|
[{ 'list': 'ordered' }, { 'list': 'bullet' }], |
||||||
|
[{ 'script': 'sub' }, { 'script': 'super' }], |
||||||
|
[{ 'indent': '-1' }, { 'indent': '+1' }], |
||||||
|
[{ 'direction': 'rtl' }], |
||||||
|
[{ 'size': ['small', false, 'large', 'huge'] }], |
||||||
|
[{ 'color': [] }, { 'background': [] }], |
||||||
|
[{ 'font': [] }], |
||||||
|
[{ 'align': [] }], |
||||||
|
['clean'], |
||||||
|
['link', 'image', 'video'] |
||||||
|
] |
@ -0,0 +1,40 @@ |
|||||||
|
import Vue from 'vue' |
||||||
|
import App from './App.vue' |
||||||
|
import router from './router' |
||||||
|
import store from './store' |
||||||
|
import ElementUI from 'element-ui' |
||||||
|
import './assets/element-variables.scss' |
||||||
|
import core from '../src/utils/core' |
||||||
|
import { |
||||||
|
post, |
||||||
|
get, |
||||||
|
del, |
||||||
|
put |
||||||
|
} from './utils/http'; |
||||||
|
import api from './utils/api'; |
||||||
|
import './util/rem' |
||||||
|
|
||||||
|
Vue.use(ElementUI); |
||||||
|
|
||||||
|
Vue.prototype.core=core |
||||||
|
Vue.prototype.api = api; |
||||||
|
Vue.prototype.$get = get; |
||||||
|
Vue.prototype.$post = post; |
||||||
|
Vue.prototype.$del = del; |
||||||
|
Vue.prototype.$put = put; |
||||||
|
|
||||||
|
Vue.config.productionTip = false |
||||||
|
|
||||||
|
router.beforeEach((to, from, next) => { |
||||||
|
if (to.meta.title) { |
||||||
|
document.title = to.meta.title |
||||||
|
} |
||||||
|
next() |
||||||
|
}) |
||||||
|
|
||||||
|
|
||||||
|
new Vue({ |
||||||
|
router, |
||||||
|
store, |
||||||
|
render: h => h(App) |
||||||
|
}).$mount('#app') |
@ -0,0 +1,93 @@ |
|||||||
|
import Vue from 'vue' |
||||||
|
import VueRouter from 'vue-router' |
||||||
|
|
||||||
|
Vue.use(VueRouter) |
||||||
|
|
||||||
|
const routes = [ |
||||||
|
{ |
||||||
|
path: '/', |
||||||
|
component: resolve => require(['../views/Home.vue'], resolve), |
||||||
|
meta: { |
||||||
|
title: '首页' |
||||||
|
}, |
||||||
|
}, { |
||||||
|
path: '/program', |
||||||
|
component: resolve => require(['../views/Program.vue'], resolve), |
||||||
|
meta: { |
||||||
|
title: '编程类' |
||||||
|
}, |
||||||
|
}, { |
||||||
|
path: '/transaction', |
||||||
|
component: resolve => require(['../views/Transaction.vue'], resolve), |
||||||
|
meta: { |
||||||
|
title: '交易类' |
||||||
|
}, |
||||||
|
}, { |
||||||
|
path: '/tool', |
||||||
|
component: resolve => require(['../views/Tool.vue'], resolve), |
||||||
|
meta: { |
||||||
|
title: '工具类' |
||||||
|
}, |
||||||
|
}, { |
||||||
|
path: '/flow', |
||||||
|
component: resolve => require(['../views/Flow.vue'], resolve), |
||||||
|
meta: { |
||||||
|
title: '流程类' |
||||||
|
}, |
||||||
|
}, { |
||||||
|
path: '/catalog', |
||||||
|
component: resolve => require(['../views/Catalog.vue'], resolve), |
||||||
|
meta: { |
||||||
|
title: '目录树' |
||||||
|
}, |
||||||
|
}, { |
||||||
|
path: '/loan', |
||||||
|
component: resolve => require(['../views/Loan.vue'], resolve), |
||||||
|
meta: { |
||||||
|
title: '贷款申请表' |
||||||
|
}, |
||||||
|
}, { |
||||||
|
path: '/process', |
||||||
|
component: resolve => require(['../components/Process.vue'], resolve), |
||||||
|
meta: { |
||||||
|
title: '业务编写页面' |
||||||
|
}, |
||||||
|
}, { |
||||||
|
path: '/set', |
||||||
|
component: resolve => require(['../components/Set.vue'], resolve), |
||||||
|
meta: { |
||||||
|
title: '业务已设置' |
||||||
|
}, |
||||||
|
}, |
||||||
|
|
||||||
|
// 科大川大
|
||||||
|
{ |
||||||
|
path: '/list', |
||||||
|
component: resolve => require(['../views/List.vue'], resolve), |
||||||
|
meta: { |
||||||
|
title: '编程类' |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
path: '/programOptions', |
||||||
|
component: resolve => require(['../views/ProgramOptions.vue'], resolve), |
||||||
|
meta: { |
||||||
|
title: '编程类' |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
path: '/programOption', |
||||||
|
component: resolve => require(['../views/ProgramOption.vue'], resolve), |
||||||
|
meta: { |
||||||
|
title: '编程类' |
||||||
|
}, |
||||||
|
}, |
||||||
|
] |
||||||
|
|
||||||
|
const router = new VueRouter({ |
||||||
|
mode: 'hash', |
||||||
|
base: process.env.BASE_URL, |
||||||
|
routes |
||||||
|
}) |
||||||
|
|
||||||
|
export default router |
@ -0,0 +1,3 @@ |
|||||||
|
export default { |
||||||
|
token: '' |
||||||
|
} |
@ -0,0 +1,22 @@ |
|||||||
|
export default { |
||||||
|
sethtnameAsync: (context, payload) => { |
||||||
|
console.log('hhh'); |
||||||
|
setTimeout(() => { |
||||||
|
console.log('hahha'); |
||||||
|
context.commit('sethtname', payload) |
||||||
|
}, 3000); |
||||||
|
console.log('lululu'); |
||||||
|
}, |
||||||
|
daAjax: (context, payload) => { |
||||||
|
//vuex是不能被vue实例的
|
||||||
|
let that = payload.that; |
||||||
|
let url = this.axios.urls.SYSTEM_USER_DOLOGIN; |
||||||
|
console.log(url); |
||||||
|
that.axios.post(url, {}).then((res) => { |
||||||
|
console.log('doAjax....'); |
||||||
|
console.log(res); |
||||||
|
}).catch((err) => { |
||||||
|
console.log(err); |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,5 @@ |
|||||||
|
export default { |
||||||
|
gethtname: (state) => { |
||||||
|
return state.htname; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,25 @@ |
|||||||
|
import Vue from 'vue' |
||||||
|
import Vuex from 'vuex' |
||||||
|
import state from './State' |
||||||
|
import mutations from './mutations' |
||||||
|
import actions from './actions' |
||||||
|
import getters from './getters' |
||||||
|
|
||||||
|
Vue.use(Vuex) |
||||||
|
|
||||||
|
export default new Vuex.Store({ |
||||||
|
// state: {
|
||||||
|
// schoolId: ''
|
||||||
|
// },
|
||||||
|
// mutations: {
|
||||||
|
// getData(state, res) {
|
||||||
|
// state.schoolId = res
|
||||||
|
// console.log(state.schoolId);
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
state, |
||||||
|
actions, |
||||||
|
getters, |
||||||
|
mutations, |
||||||
|
modules: {} |
||||||
|
}) |
@ -0,0 +1,8 @@ |
|||||||
|
export default { |
||||||
|
sethtname(state, payload) { |
||||||
|
state.htname = payload.htname; |
||||||
|
}, |
||||||
|
setToken(state, token) { |
||||||
|
state.token = token |
||||||
|
}, |
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
// rem等比适配配置文件
|
||||||
|
// 基准大小
|
||||||
|
const baseSize = 16 |
||||||
|
// 设置 rem 函数
|
||||||
|
function setRem () { |
||||||
|
// 当前页面宽度相对于 1920宽的缩放比例,可根据自己需要修改。
|
||||||
|
const scale = document.documentElement.clientWidth / 1920 |
||||||
|
// 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整)
|
||||||
|
document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px' |
||||||
|
} |
||||||
|
// 初始化
|
||||||
|
setRem() |
||||||
|
// 改变窗口大小时重新设置 rem
|
||||||
|
window.onresize = function () { |
||||||
|
setRem() |
||||||
|
} |
@ -0,0 +1,47 @@ |
|||||||
|
// let host = 'http://192.168.31.117:8080'
|
||||||
|
// let host1 = 'http://192.168.31.152:8080'
|
||||||
|
// let host2 = 'http://192.168.31.152:9000'//榕
|
||||||
|
let host = '' |
||||||
|
if(location.host.includes('liuwanr.cn')){ |
||||||
|
host = 'http://www.liuwanr.cn' |
||||||
|
}else{ |
||||||
|
host = 'http://www.occupationlab.com' |
||||||
|
} |
||||||
|
let host2 = 'http://116.63.168.79' |
||||||
|
let host1 = 'http://39.108.250.202:8080' |
||||||
|
let uploadURL = 'http://8.134.8.197:8001' |
||||||
|
export default { |
||||||
|
fileupload: `${uploadURL}/oss/manage/fileupload`, |
||||||
|
|
||||||
|
QueryPointOfJudgement: `${host}/judgment/pointOfJudgement/queryPointOfJudgement`, //判分点列表查询
|
||||||
|
DeletePointOfJudgement: `${host}/judgment/pointOfJudgement/deletePointOfJudgement`, //判分点列表删除
|
||||||
|
QueryPfdInformation: `${host}/judgment/pointOfJudgement/queryPfdInformation`, //判分点详细信息
|
||||||
|
UpdatePointOfJudgement: `${host}/judgment/pointOfJudgement/updatePointOfJudgement`, //编辑判分点基本信息
|
||||||
|
UpdatePointOfJudgementRule: `${host}/judgment/pointOfJudgement/updatePointOfJudgementRule`, //编辑判分点规则
|
||||||
|
AddPfdgzInformation: `${host}/judgment/pointOfJudgement/addPfdgzInformation`, //新增判分规则
|
||||||
|
AddPfdInformation: `${host}/judgment/pointOfJudgement/addPfdInformation`, //新增判分点基本信息
|
||||||
|
QueryPfdgzInformation: `${host}/judgment/pointOfJudgement/queryPfdgzInformation`, //判分点规则信息查询
|
||||||
|
QueryAddgz: `${host}/judgment/pointOfJudgement/queryAddgz`, //查询新增判分点规则新增的数据
|
||||||
|
DeletePointOfJudgementRule: `${host}/judgment/pointOfJudgement/deletePointOfJudgementRule`, //删除判分点规则
|
||||||
|
UpdateIsOpen: `${host}/judgment/pointOfJudgement/updateIsOpen`, //修改判分点状态
|
||||||
|
JudgmentPointNameRepetition: `${host}/judgment/pointOfJudgement/JudgmentPointNameRepetition`, |
||||||
|
|
||||||
|
// 科大
|
||||||
|
queryPoint: `${host2}/kdSys/queryPoint`, |
||||||
|
querySubject: `${host2}/kdSys/querySubject`, |
||||||
|
queryItem: `${host2}/kdSys/queryItem`, |
||||||
|
|
||||||
|
// 川大
|
||||||
|
firstLevel: `${host1}/sichuan/point/firstLevel`, |
||||||
|
secondaryLevel: `${host1}/sichuan/point/secondaryLevel`, |
||||||
|
thirdLevel: `${host1}/sichuan/point/thirdLevel`, |
||||||
|
|
||||||
|
queryListTrading: `${host2}/judgment/tradingJudgmentPoints/query`, |
||||||
|
deleteTrading: `${host2}/judgment/tradingJudgmentPoints/delete`, |
||||||
|
addTrading: `${host2}/judgment/tradingJudgmentPoints/add`, |
||||||
|
queryDetailsTrading: `${host2}/judgment/tradingJudgmentPoints/queryDetails`, |
||||||
|
updateTrading: `${host2}/judgment/tradingJudgmentPoints/update`, |
||||||
|
updateRuleTrading: `${host2}/judgment/tradingJudgmentPoints/updateRule`, |
||||||
|
deleteRuleTrading: `${host2}/judgment/tradingJudgmentPoints/deleteRule`, |
||||||
|
addRule: `${host2}/judgment/tradingJudgmentPoints/addRule`, |
||||||
|
} |
@ -0,0 +1,340 @@ |
|||||||
|
import axios from 'axios'; |
||||||
|
import QS from 'qs'; |
||||||
|
// import store from '../store/index'
|
||||||
|
import { Message } from 'element-ui' |
||||||
|
import router from '../router/index' |
||||||
|
import store from '@/store' |
||||||
|
|
||||||
|
// 环境的切换
|
||||||
|
// if (process.env.NODE_ENV == 'development') {
|
||||||
|
// axios.defaults.baseURL = '/api';
|
||||||
|
// } else if (process.env.NODE_ENV == 'debug') {
|
||||||
|
// axios.defaults.baseURL = '';
|
||||||
|
// } else if (process.env.NODE_ENV == 'production') {
|
||||||
|
// axios.defaults.baseURL = 'http://api.123dailu.com/';
|
||||||
|
// }
|
||||||
|
|
||||||
|
// 请求超时时间
|
||||||
|
axios.defaults.timeout = 30000; |
||||||
|
|
||||||
|
// post请求头
|
||||||
|
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'; |
||||||
|
|
||||||
|
// 请求拦截器
|
||||||
|
axios.interceptors.request.use(config => { |
||||||
|
// if (sessionStorage.getItem('token')) {
|
||||||
|
// 存在将token写入 request header
|
||||||
|
config.headers.token = store.state.token |
||||||
|
// }
|
||||||
|
return config; |
||||||
|
}, err => { |
||||||
|
Message.error({ |
||||||
|
message: '退出登陆', |
||||||
|
onClose: function () { |
||||||
|
router.push({name: 'login'}); |
||||||
|
} |
||||||
|
}) |
||||||
|
return Promise.reject(err); |
||||||
|
}) |
||||||
|
|
||||||
|
// 响应拦截器
|
||||||
|
// axios.interceptors.response.use(
|
||||||
|
// response => {
|
||||||
|
// consol.log(response.status)
|
||||||
|
// if (response.status === 200) {
|
||||||
|
// return Promise.resolve(response);
|
||||||
|
// } else {
|
||||||
|
// return Promise.reject(response);
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// // 服务器状态码不是200的情况
|
||||||
|
// error => {
|
||||||
|
// if (error.response.status) {
|
||||||
|
// switch (error.response.status) {
|
||||||
|
// // 401: 未登录
|
||||||
|
// // 未登录则跳转登录页面,并携带当前页面的路径
|
||||||
|
// // 在登录成功后返回当前页面,这一步需要在登录页操作。
|
||||||
|
// case 500:
|
||||||
|
// router.replace({
|
||||||
|
// path: '/login',
|
||||||
|
// // query: { redirect: router.currentRoute.fullPath }
|
||||||
|
// });
|
||||||
|
// break;
|
||||||
|
// // 403 token过期
|
||||||
|
// // 登录过期对用户进行提示
|
||||||
|
// // 清除本地token和清空vuex中token对象
|
||||||
|
// // 跳转登录页面
|
||||||
|
// case 403:
|
||||||
|
// // Toast({
|
||||||
|
// // message: '登录过期,请重新登录',
|
||||||
|
// // duration: 1000,
|
||||||
|
// // forbidClick: true
|
||||||
|
// // });
|
||||||
|
// // 清除token
|
||||||
|
// sessionStorage.removeItem('token');
|
||||||
|
// store.commit('loginSuccess', null);
|
||||||
|
// // 跳转登录页面,并将要浏览的页面fullPath传过去,登录成功后跳转需要访问的页面
|
||||||
|
// setTimeout(() => {
|
||||||
|
// router.replace({
|
||||||
|
// path: '/login',
|
||||||
|
// query: {
|
||||||
|
// redirect: router.currentRoute.fullPath
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// }, 1000);
|
||||||
|
// break;
|
||||||
|
// // 404请求不存在
|
||||||
|
// case 404:
|
||||||
|
// router.replace({
|
||||||
|
// path: '/404',
|
||||||
|
// });
|
||||||
|
// break;
|
||||||
|
// // 其他错误,直接抛出错误提示
|
||||||
|
// default:
|
||||||
|
// router.replace({
|
||||||
|
// path: '/500',
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// return Promise.reject(error.response);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// );
|
||||||
|
|
||||||
|
/** |
||||||
|
* get方法,对应get请求 |
||||||
|
*/ |
||||||
|
export function get(url, params){ |
||||||
|
return new Promise((resolve, reject) =>{ |
||||||
|
axios.get(url, { |
||||||
|
params: params |
||||||
|
}) |
||||||
|
.then(res => { |
||||||
|
if (res.data.status) { |
||||||
|
switch (res.data.status) { |
||||||
|
case 200: |
||||||
|
resolve(res.data); |
||||||
|
break; |
||||||
|
case 10000: |
||||||
|
resolve(res.data); |
||||||
|
break; |
||||||
|
case 500: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 404: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 403: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 401: |
||||||
|
Message.error("token失效,请重新登录"); |
||||||
|
sessionStorage.removeItem('token'); |
||||||
|
router.replace('/login') |
||||||
|
break; |
||||||
|
case 405: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 406: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
reject(res.data) |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
}) |
||||||
|
.catch(err => { |
||||||
|
reject(err.data) |
||||||
|
this.$message({ |
||||||
|
showClose: true, |
||||||
|
message: '请求失败,请刷新页面重新进行请求', |
||||||
|
type: 'error' |
||||||
|
}); |
||||||
|
}) |
||||||
|
}); |
||||||
|
} |
||||||
|
/** |
||||||
|
* post方法,对应post请求 |
||||||
|
*/ |
||||||
|
export function post(url, params) { |
||||||
|
return new Promise((resolve, reject) => { |
||||||
|
axios.post(url,params) |
||||||
|
.then(res => { |
||||||
|
if (res.data.status) { |
||||||
|
switch (res.data.status) { |
||||||
|
case 200: |
||||||
|
resolve(res.data); |
||||||
|
break; |
||||||
|
case 500: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 404: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 403: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 401: |
||||||
|
Message.error("token失效,请重新登录"); |
||||||
|
sessionStorage.removeItem('token'); |
||||||
|
router.replace('/login') |
||||||
|
break; |
||||||
|
case 405: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 406: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
}) |
||||||
|
.catch(err => { |
||||||
|
reject(err.data) |
||||||
|
this.$message({ |
||||||
|
showClose: true, |
||||||
|
message: '请求失败,请刷新页面重新进行请求', |
||||||
|
type: 'error' |
||||||
|
}); |
||||||
|
}) |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* delete方法,对应delete请求 |
||||||
|
*/ |
||||||
|
export function del(url, params){ |
||||||
|
return new Promise((resolve, reject) =>{ |
||||||
|
axios.delete(url, { |
||||||
|
params: params |
||||||
|
}) |
||||||
|
.then(res => { |
||||||
|
if (res.data.status) { |
||||||
|
switch (res.data.status) { |
||||||
|
case 200: |
||||||
|
resolve(res.data); |
||||||
|
break; |
||||||
|
case 500: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 404: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
router.replace({ |
||||||
|
path: '/404', |
||||||
|
}); |
||||||
|
break; |
||||||
|
case 403: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 401: |
||||||
|
Message.error("token失效,请重新登录"); |
||||||
|
sessionStorage.removeItem('token'); |
||||||
|
router.replace('/login') |
||||||
|
break; |
||||||
|
case 405: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 406: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
}) |
||||||
|
.catch(err => { |
||||||
|
reject(err.data) |
||||||
|
this.$message({ |
||||||
|
showClose: true, |
||||||
|
message: '请求失败,请刷新页面重新进行请求', |
||||||
|
type: 'error' |
||||||
|
}); |
||||||
|
}) |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* put修改 |
||||||
|
* @param {} url
|
||||||
|
* @param {*} params
|
||||||
|
*/ |
||||||
|
export function put(url, params){ |
||||||
|
return new Promise((resolve, reject) =>{ |
||||||
|
axios.put(url, params) |
||||||
|
.then(res => { |
||||||
|
if (res.data.status) { |
||||||
|
switch (res.data.status) { |
||||||
|
case 200: |
||||||
|
resolve(res.data); |
||||||
|
break; |
||||||
|
case 500: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 404: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 403: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 401: |
||||||
|
Message.error("token失效,请重新登录"); |
||||||
|
sessionStorage.removeItem('token'); |
||||||
|
router.replace('/login') |
||||||
|
break; |
||||||
|
case 405: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
case 406: |
||||||
|
this.$message.error( |
||||||
|
res.data.errmessage |
||||||
|
); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
}) |
||||||
|
.catch(err => { |
||||||
|
reject(err.data) |
||||||
|
this.$message({ |
||||||
|
showClose: true, |
||||||
|
message: '请求失败,请刷新页面重新进行请求', |
||||||
|
type: 'error' |
||||||
|
}); |
||||||
|
}) |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,254 @@ |
|||||||
|
<template> |
||||||
|
<div class="content"> |
||||||
|
<div class="flex"> |
||||||
|
<div class="left"> |
||||||
|
<div class="flex footer_h"> |
||||||
|
<i class="el-icon-collection-tag"></i> |
||||||
|
<p>目录树</p> |
||||||
|
</div> |
||||||
|
<div> |
||||||
|
<el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="right"> |
||||||
|
<div class="flex footer_h"> |
||||||
|
<i class="el-icon-collection-tag"></i> |
||||||
|
<p>授信审批-工单页面</p> |
||||||
|
</div> |
||||||
|
<div class="table"> |
||||||
|
<el-row> |
||||||
|
<el-col :span="24"> |
||||||
|
<el-card shadow="hover"> |
||||||
|
<el-table |
||||||
|
:data="tableData" |
||||||
|
height="360" |
||||||
|
:cell-style="rowClass" |
||||||
|
:header-cell-style="headClass" |
||||||
|
:stripe="true" |
||||||
|
header-align="center" |
||||||
|
> |
||||||
|
<el-table-column prop="id" type="index" label="序号" width="150" align="center"></el-table-column> |
||||||
|
<el-table-column prop="name" label="页面名称" align="center"></el-table-column> |
||||||
|
<el-table-column prop="operate" label="操作" width="100" align="center"> |
||||||
|
<template slot-scope="scope"> |
||||||
|
<el-radio v-model="scope.radio"></el-radio> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
</el-table> |
||||||
|
</el-card> |
||||||
|
</el-col> |
||||||
|
</el-row> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="bt"> |
||||||
|
<el-button type="primary" @click="confirm()">确认</el-button> |
||||||
|
<el-button @click="cancel()">取消</el-button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
data() { |
||||||
|
return { |
||||||
|
data: [ |
||||||
|
{ |
||||||
|
label: "贷款申请", |
||||||
|
children: [ |
||||||
|
{ |
||||||
|
label: "二级 1-1", |
||||||
|
children: [ |
||||||
|
{ |
||||||
|
label: "三级 1-1-1" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: "贷后管理", |
||||||
|
children: [ |
||||||
|
{ |
||||||
|
label: "二级 2-1", |
||||||
|
children: [ |
||||||
|
{ |
||||||
|
label: "三级 2-1-1" |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: "二级 2-2", |
||||||
|
children: [ |
||||||
|
{ |
||||||
|
label: "三级 2-2-1" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: "贷中管理", |
||||||
|
children: [ |
||||||
|
{ |
||||||
|
label: "授信审批" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
], |
||||||
|
defaultProps: { |
||||||
|
children: "children", |
||||||
|
label: "label" |
||||||
|
}, |
||||||
|
tableData: [ |
||||||
|
{ |
||||||
|
name: "贷款申请表" |
||||||
|
}, |
||||||
|
{ |
||||||
|
name: "授信审批表" |
||||||
|
}, |
||||||
|
{ |
||||||
|
name: "贷款申请表" |
||||||
|
}, |
||||||
|
{ |
||||||
|
name: "授信审批表" |
||||||
|
} |
||||||
|
], |
||||||
|
scope: [ |
||||||
|
{ |
||||||
|
radio: "1" |
||||||
|
}, |
||||||
|
{ |
||||||
|
radio: "2" |
||||||
|
} |
||||||
|
] |
||||||
|
}; |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
handleNodeClick(data) { |
||||||
|
console.log(data); |
||||||
|
}, |
||||||
|
cancel() { |
||||||
|
this.$router.push({ path: "/flow" }); |
||||||
|
}, |
||||||
|
confirm() { |
||||||
|
this.$router.push({ path: "/process" }); |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
//按钮 |
||||||
|
.bt { |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
/deep/ .el-button { |
||||||
|
width: 100px; |
||||||
|
margin: 0 30px; |
||||||
|
} |
||||||
|
// 右边表格 |
||||||
|
.right { |
||||||
|
width: 800px; |
||||||
|
height: 500px; |
||||||
|
margin: 20px 0; |
||||||
|
background-color: #ffffff; |
||||||
|
} |
||||||
|
.table { |
||||||
|
margin: 0 20px; |
||||||
|
} |
||||||
|
/deep/ .el-table--group::after, |
||||||
|
.el-table--border::after, |
||||||
|
.el-table::before { |
||||||
|
background-color: #ffffff; |
||||||
|
} |
||||||
|
// 滚动条的宽度 |
||||||
|
/deep/ ::-webkit-scrollbar { |
||||||
|
width: 6px; // 横向滚动条 |
||||||
|
height: 6px; // 纵向滚动条 必写 |
||||||
|
} |
||||||
|
// 滚动条的滑块 |
||||||
|
/deep/ ::-webkit-scrollbar-thumb { |
||||||
|
background-color: #9278ff; |
||||||
|
border-radius: 3px; |
||||||
|
-webkit-box-shadow: inset 0 0 5px #dddddd; |
||||||
|
} |
||||||
|
/deep/ ::-webkit-scrollbar-track { |
||||||
|
/*滚动条里面轨道*/ |
||||||
|
-webkit-box-shadow: inset 0 0 5px #dddddd; |
||||||
|
border-radius: 0; |
||||||
|
background: #dddddd; |
||||||
|
} |
||||||
|
/deep/ .el-row { |
||||||
|
padding: 0 20px; |
||||||
|
} |
||||||
|
/deep/ .el-card__body { |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
/deep/ .el-card { |
||||||
|
border: none; |
||||||
|
} |
||||||
|
/deep/ .el-table th { |
||||||
|
font-size: 16px; |
||||||
|
font-family: Microsoft YaHei; |
||||||
|
color: rgba(255, 255, 255, 1); |
||||||
|
background-color: #9278ff; |
||||||
|
} |
||||||
|
/deep/ .el-table__row { |
||||||
|
height: 80px; |
||||||
|
} |
||||||
|
/deep/ .el-table--striped .el-table__body tr.el-table__row--striped td { |
||||||
|
background-color: #f5f2ff; |
||||||
|
} |
||||||
|
// 左边 |
||||||
|
.left { |
||||||
|
width: 250px; |
||||||
|
height: 500px; |
||||||
|
margin: 20px 20px; |
||||||
|
background-color: #ffffff; |
||||||
|
} |
||||||
|
/deep/ .el-tree { |
||||||
|
width: 150px; |
||||||
|
height: 400px; |
||||||
|
background-color: #f5f2ff; |
||||||
|
margin: 0 50px; |
||||||
|
} |
||||||
|
/deep/ .el-tree-node:focus > .el-tree-node__content { |
||||||
|
background-color: #f5f2ff; |
||||||
|
} |
||||||
|
/deep/ .el-tree-node__content:hover { |
||||||
|
background-color: #f5f2ff; |
||||||
|
} |
||||||
|
/deep/ .el-tree-node__label:active { |
||||||
|
color: #9278ff; |
||||||
|
} |
||||||
|
// 第一部分 |
||||||
|
.footer_h { |
||||||
|
padding: 10px 0; |
||||||
|
margin: 0 15px; |
||||||
|
} |
||||||
|
.flex { |
||||||
|
display: flex; |
||||||
|
justify-content: flex-start; |
||||||
|
} |
||||||
|
.footer_h p { |
||||||
|
padding-left: 10px; |
||||||
|
line-height: 15px; |
||||||
|
font-weight: 600; |
||||||
|
} |
||||||
|
/deep/ [class*=" el-icon-"], |
||||||
|
[class^="el-icon-"] { |
||||||
|
line-height: 3; |
||||||
|
padding-left: 10px; |
||||||
|
color: #9278ff; |
||||||
|
} |
||||||
|
.content { |
||||||
|
width: 1110px; |
||||||
|
height: 650px; |
||||||
|
position: relative; |
||||||
|
margin: 0 auto; |
||||||
|
// display: flex; |
||||||
|
background-color: rgb(243, 235, 235); |
||||||
|
// background-color: red; |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,199 @@ |
|||||||
|
<template> |
||||||
|
<!-- 流程类 --> |
||||||
|
<div class="content"> |
||||||
|
<div class="header flex"> |
||||||
|
<i class="el-icon-arrow-left" @click="Back()" style="cursor:pointer"> |
||||||
|
<span>Back</span> |
||||||
|
</i> |
||||||
|
<p>判分点设置</p> |
||||||
|
<button class="button" @click="Savejump()">保存</button> |
||||||
|
</div> |
||||||
|
<div class="footer"> |
||||||
|
<div> |
||||||
|
<div class="flex footer_h"> |
||||||
|
<div class="black"></div> |
||||||
|
<p>基本信息</p> |
||||||
|
</div> |
||||||
|
<div class="flex footer_input"> |
||||||
|
<p>判分点名称</p> |
||||||
|
<el-input placeholder="请输入内容" v-model="input" clearable></el-input> |
||||||
|
</div> |
||||||
|
<div class="flex footer_inputs"> |
||||||
|
<p>实验要求</p> |
||||||
|
<textarea id="memo" style="outline:none;"></textarea> |
||||||
|
</div> |
||||||
|
<div class="flex footer_b"> |
||||||
|
<div class="black"></div> |
||||||
|
<p>判分规则</p> |
||||||
|
<button class="button">新增</button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div style=" background-color: #ffffff;height:600px"> |
||||||
|
<div class="form"> |
||||||
|
<p>业务页面</p> |
||||||
|
<div class="form_i" @click="iconJump()"> |
||||||
|
<i class="el-icon-plus" style="font-size:80px;font-weight:800;color: #cccccc;"></i> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
data() { |
||||||
|
return { |
||||||
|
input: "", |
||||||
|
textarea: "" |
||||||
|
}; |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
Savejump() { |
||||||
|
this.$router.push({ path: "/" }); |
||||||
|
}, |
||||||
|
Back() { |
||||||
|
this.$router.push({ path: "/" }); |
||||||
|
}, |
||||||
|
iconJump() { |
||||||
|
this.$router.push({ path: "/catalog" }); |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
// 表单 |
||||||
|
.form { |
||||||
|
margin: 0 15px; |
||||||
|
} |
||||||
|
.form p { |
||||||
|
height: 30px; |
||||||
|
background-color: #9278ff; |
||||||
|
text-align: center; |
||||||
|
margin: 0; |
||||||
|
line-height: 30px; |
||||||
|
} |
||||||
|
.form_i { |
||||||
|
height: 300px; |
||||||
|
background-color: #f5f2ff; |
||||||
|
margin-top: 15px; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
.footer_b p { |
||||||
|
// padding-right: 800px; |
||||||
|
margin: 0; |
||||||
|
padding-left: 10px; |
||||||
|
font-size: 12px; |
||||||
|
} |
||||||
|
.footer_b { |
||||||
|
padding: 10px 0; |
||||||
|
border-top: 1px dashed #cccccc; |
||||||
|
margin: 0 15px; |
||||||
|
height: 45px; |
||||||
|
line-height: 45px; |
||||||
|
} |
||||||
|
#memo { |
||||||
|
margin-left: 10px; |
||||||
|
height: 200px; |
||||||
|
width: 800px; |
||||||
|
resize: none; |
||||||
|
border: 1px solid #9278ff; |
||||||
|
font-size: 12px; |
||||||
|
border-radius: 5px; |
||||||
|
} |
||||||
|
/deep/ .el-input--suffix .el-input__inner { |
||||||
|
border: 1px solid #9278ff; |
||||||
|
} |
||||||
|
.footer_input p { |
||||||
|
font-size: 12px; |
||||||
|
padding-right: 20px; |
||||||
|
} |
||||||
|
.footer_input { |
||||||
|
padding: 30px 0 20px 80px; |
||||||
|
} |
||||||
|
.footer_inputs { |
||||||
|
padding: 30px 0 20px 80px; |
||||||
|
} |
||||||
|
.footer_inputs p { |
||||||
|
font-size: 12px; |
||||||
|
padding-right: 20px; |
||||||
|
} |
||||||
|
/deep/ .el-input { |
||||||
|
width: 30%; |
||||||
|
} |
||||||
|
.button { |
||||||
|
height: 30px; |
||||||
|
width: 80px; |
||||||
|
margin-top: 7px; |
||||||
|
border: none; |
||||||
|
background-color: #9278ff; |
||||||
|
color: #ffffff; |
||||||
|
border-radius: 20px; |
||||||
|
position: absolute; |
||||||
|
right: 30px; |
||||||
|
} |
||||||
|
.button:focus { |
||||||
|
outline: 0; |
||||||
|
} |
||||||
|
/deep/ [class*=" el-icon-"], |
||||||
|
[class^="el-icon-"] { |
||||||
|
line-height: 3; |
||||||
|
padding-left: 10px; |
||||||
|
} |
||||||
|
// .form /deep/ [class*=" el-icon-"], |
||||||
|
// [class^="el-icon-"] { |
||||||
|
// line-height: 3; |
||||||
|
// padding-left: 10px; |
||||||
|
// color: #cccccc; |
||||||
|
// } |
||||||
|
.header { |
||||||
|
background-color: #ffffff; |
||||||
|
height: 45px; |
||||||
|
line-height: 45px; |
||||||
|
font-size: 14px; |
||||||
|
font-weight: 600; |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
.header span { |
||||||
|
font-size: 14px; |
||||||
|
font-weight: 600; |
||||||
|
padding-left: 5px; |
||||||
|
} |
||||||
|
.header p { |
||||||
|
padding-left: 20px; |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
.footer_h { |
||||||
|
// padding: 10px 0; |
||||||
|
border-top: 1px dashed #cccccc; |
||||||
|
border-bottom: 1px dashed #cccccc; |
||||||
|
margin: 0 15px; |
||||||
|
height: 45px; |
||||||
|
line-height: 45px; |
||||||
|
} |
||||||
|
.flex { |
||||||
|
display: flex; |
||||||
|
justify-content: flex-start; |
||||||
|
} |
||||||
|
.footer { |
||||||
|
background-color: #ffffff; |
||||||
|
} |
||||||
|
.footer_h p { |
||||||
|
padding-left: 10px; |
||||||
|
font-size: 12px; |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
.black { |
||||||
|
width: 8px; |
||||||
|
height: 18px; |
||||||
|
background-color: #333; |
||||||
|
margin-top: 10px; |
||||||
|
} |
||||||
|
.content { |
||||||
|
background-color: #f2f6fc; |
||||||
|
position: relative; |
||||||
|
top: 10px; |
||||||
|
} |
||||||
|
</style> |
||||||
|
|
@ -0,0 +1,639 @@ |
|||||||
|
<template> |
||||||
|
<div class="content"> |
||||||
|
<!-- 贷款申请表 --> |
||||||
|
<div class="first"><i class="el-icon-error" |
||||||
|
style="font-size:26px;padding-right: 10px;"></i></div> |
||||||
|
<p class="center">贷款申请表</p> |
||||||
|
<div class="footer"> |
||||||
|
<!-- 申请人基本信息 --> |
||||||
|
<div> |
||||||
|
<div class="flex footer_one"> |
||||||
|
<div class="black"></div> |
||||||
|
<p>申请人基本信息</p> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>借款人姓名</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="input"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>性别</p> |
||||||
|
<el-select v-model="value" |
||||||
|
placeholder="请选择"> |
||||||
|
<el-option v-for="item in options" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value"> |
||||||
|
</el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>身份证号</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="input1"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex date"> |
||||||
|
<p>出生年月</p> |
||||||
|
<el-date-picker v-model="value1" |
||||||
|
type="date" |
||||||
|
placeholder="选择日期"> |
||||||
|
</el-date-picker> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>婚姻状况</p> |
||||||
|
<el-select v-model="value2" |
||||||
|
placeholder="请选择"> |
||||||
|
<el-option v-for="item in options1" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value"> |
||||||
|
</el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>教育程度</p> |
||||||
|
<el-select v-model="value3" |
||||||
|
placeholder="请选择"> |
||||||
|
<el-option v-for="item in options2" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value"> |
||||||
|
</el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>户籍所在地</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="input2"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>现住地址</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="input3"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>住宅电话</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="input4"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>手机号码</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="input5"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>生产经营类型</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="input6"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>家庭劳动力数量</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="input7"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>配偶姓名</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="input8"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>配偶身份证号</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="input9"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<!-- 贷款申请信息 --> |
||||||
|
<div> |
||||||
|
<div class="flex footer_one"> |
||||||
|
<div class="black"></div> |
||||||
|
<p>贷款申请信息</p> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>申请金额</p> |
||||||
|
<span class="left">大写</span> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
style="width:220px;" |
||||||
|
v-model="data"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>申请金额</p> |
||||||
|
<span class="left">小写</span> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
style="width:220px;" |
||||||
|
v-model="data1"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>贷款期限</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
style="width:220px;" |
||||||
|
v-model="data2"> |
||||||
|
</el-input> |
||||||
|
<span class="right_p20">月</span> |
||||||
|
</div> |
||||||
|
<div class="flex date"> |
||||||
|
<p>借款用途</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="data3"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>还款方式</p> |
||||||
|
<el-select v-model="value4" |
||||||
|
placeholder="请选择"> |
||||||
|
<el-option v-for="item in options3" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value"> |
||||||
|
</el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>首次还本月</p> |
||||||
|
<span class="left">第</span> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
style="width:210px;" |
||||||
|
v-model="data4"> |
||||||
|
</el-input> |
||||||
|
<span class="right">月</span> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>放(还)款账户户名</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="data5"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>账号</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="data6"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<!-- 保证人基本信息 --> |
||||||
|
<div> |
||||||
|
<div class="flex footer_one"> |
||||||
|
<div class="black"></div> |
||||||
|
<p>保证人基本信息</p> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>保证人姓名</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="bail"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>性别</p> |
||||||
|
<el-select v-model="value5" |
||||||
|
placeholder="请选择"> |
||||||
|
<el-option v-for="item in options" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value"> |
||||||
|
</el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>身份证号</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="bail1"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex date"> |
||||||
|
<p>出生年月</p> |
||||||
|
<el-date-picker v-model="value6" |
||||||
|
type="date" |
||||||
|
placeholder="选择日期"> |
||||||
|
</el-date-picker> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>婚姻状况</p> |
||||||
|
<el-select v-model="value7" |
||||||
|
placeholder="请选择"> |
||||||
|
<el-option v-for="item in options1" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value"> |
||||||
|
</el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>教育程度</p> |
||||||
|
<el-select v-model="value8" |
||||||
|
placeholder="请选择"> |
||||||
|
<el-option v-for="item in options2" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value"> |
||||||
|
</el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>户籍所在地</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="bail3"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>现住地址</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="bail4"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>联系电话</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="bail5"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>工作单位</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="bail6"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex input"> |
||||||
|
<div class="flex"> |
||||||
|
<p>月收入</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
style="width:220px;" |
||||||
|
v-model="bail7"> |
||||||
|
</el-input> |
||||||
|
<span class="right_p20">元</span> |
||||||
|
</div> |
||||||
|
<div class="flex"> |
||||||
|
<p>与申请人关系</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="bail8"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<!-- 借款人与保证人声明及承诺 --> |
||||||
|
<div> |
||||||
|
<div class="flex footer_one"> |
||||||
|
<div class="black"></div> |
||||||
|
<p>借款人与保证人声明及承诺</p> |
||||||
|
</div> |
||||||
|
<div class="box"> |
||||||
|
<p>1.我承诺以上所填信息完全属实,若由xx银行工作人员或其他人员代为填写,是经我授权并认可的,且按规定报送责行留存的资料复印件属实;</p> |
||||||
|
<p>2.我承认本申请表作为向责行申请贷款的依据,无论银行是否贷款,银行均有权保留此申请书及相关资料;</p> |
||||||
|
<p>3.经贵行审查,本申请不符合规定的条件而未予通过时,我没有异议;</p> |
||||||
|
<p>4.本人授权x x银行在本次业务过程中(从业务申请至业务终止),向中国人民银行个人信用信息基础数据库及信贷征信主管部门批准建立的其他个人信用数据库或有关单位、部门及个人查询并留存本人的信用信息,并将本人信用信息提供给上述个人信用数据库,查询获得的信用报告限用于中国人民银行颁布的《个人信用信息基础数据库管理暂行办法》规定用途范围内;</p> |
||||||
|
<p>5.保证人已明确知道,如果借款人不能及时偿还全部贷款本息时,保证人应当替其偿还;</p> |
||||||
|
<p>6.我们承诺,借款人与保证人家庭之间的经济相互独立,且无其他债权债务关系,贷款由借款人用于申请时指定的用途,不由保证人使用。</p> |
||||||
|
<div class="flex small_box" |
||||||
|
style="margin-top: 20px;"> |
||||||
|
<p>申请人签字</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="sign"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex small_box"> |
||||||
|
<p>申请人配偶(主要财产共有人)签字</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="sign1"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex small_box"> |
||||||
|
<p>保证人签字</p> |
||||||
|
<el-input placeholder="请输入内容" |
||||||
|
v-model="sign2"> |
||||||
|
</el-input> |
||||||
|
</div> |
||||||
|
<div class="flex date small_box" |
||||||
|
style="justify-content:flex-end;"> |
||||||
|
<p>日期</p> |
||||||
|
<el-date-picker v-model="value9" |
||||||
|
type="date" |
||||||
|
placeholder="选择日期"> |
||||||
|
</el-date-picker> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<!-- 业务审批 --> |
||||||
|
<div> |
||||||
|
<div class="flex footer_one"> |
||||||
|
<div class="black"></div> |
||||||
|
<p>业务审批</p> |
||||||
|
</div> |
||||||
|
<div class="box" |
||||||
|
style="height: 200px;"> |
||||||
|
<div class="flex small_box" |
||||||
|
style="margin-top: 50px;"> |
||||||
|
<p>申请人签字</p> |
||||||
|
<el-select v-model="sign3" |
||||||
|
placeholder="请选择"> |
||||||
|
<el-option v-for="item in options4" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value"> |
||||||
|
</el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div style="height:40px"></div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
data () { |
||||||
|
return { |
||||||
|
input: '', |
||||||
|
input1: '', |
||||||
|
input2: '', |
||||||
|
input3: '', |
||||||
|
input4: '', |
||||||
|
input5: '', |
||||||
|
input6: '', |
||||||
|
input7: '', |
||||||
|
input8: '', |
||||||
|
input9: '', |
||||||
|
value: '', |
||||||
|
value1: '', |
||||||
|
value2: '', |
||||||
|
value3: '', |
||||||
|
value4: '', |
||||||
|
value5: '', |
||||||
|
value6: '', |
||||||
|
value7: '', |
||||||
|
value8: '', |
||||||
|
value9: '', |
||||||
|
data: '', |
||||||
|
data1: '', |
||||||
|
data2: '', |
||||||
|
data3: '', |
||||||
|
data4: '', |
||||||
|
data5: '', |
||||||
|
data6: '', |
||||||
|
bail: '', |
||||||
|
bail1: '', |
||||||
|
bail2: '', |
||||||
|
bail3: '', |
||||||
|
bail4: '', |
||||||
|
bail5: '', |
||||||
|
bail6: '', |
||||||
|
bail7: '', |
||||||
|
bail8: '', |
||||||
|
sign: '', |
||||||
|
sign1: '', |
||||||
|
sign2: '', |
||||||
|
sign3: '', |
||||||
|
options: [{ |
||||||
|
value: '选项1', |
||||||
|
label: '男' |
||||||
|
}, { |
||||||
|
value: '选项2', |
||||||
|
label: '女' |
||||||
|
}], |
||||||
|
options1: [{ |
||||||
|
value: '选项1', |
||||||
|
label: '未婚' |
||||||
|
}, { |
||||||
|
value: '选项2', |
||||||
|
label: '已婚' |
||||||
|
}, { |
||||||
|
value: '选项3', |
||||||
|
label: '离婚' |
||||||
|
}], |
||||||
|
options2: [{ |
||||||
|
value: '选项1', |
||||||
|
label: '研究生及以上' |
||||||
|
}, { |
||||||
|
value: '选项2', |
||||||
|
label: '大学本科' |
||||||
|
}, { |
||||||
|
value: '选项3', |
||||||
|
label: '大专/高职' |
||||||
|
}, { |
||||||
|
value: '选项4', |
||||||
|
label: '初中及以下' |
||||||
|
}], |
||||||
|
options3: [{ |
||||||
|
value: '选项1', |
||||||
|
label: '一次性还本利息' |
||||||
|
}, { |
||||||
|
value: '选项2', |
||||||
|
label: '等额本息还款' |
||||||
|
}, { |
||||||
|
value: '选项3', |
||||||
|
label: '阶段性等额本息还款' |
||||||
|
}], |
||||||
|
options4: [{ |
||||||
|
value: '选项1', |
||||||
|
label: '同意' |
||||||
|
}, { |
||||||
|
value: '选项2', |
||||||
|
label: '不同意' |
||||||
|
}] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
.black { |
||||||
|
width: 8px; |
||||||
|
height: 18px; |
||||||
|
background-color: #333; |
||||||
|
margin-top: 10px; |
||||||
|
} |
||||||
|
// 盒子 |
||||||
|
.box { |
||||||
|
width: 800px; |
||||||
|
border: 1px solid #9278ff; |
||||||
|
padding: 20px; |
||||||
|
margin: 0 auto; |
||||||
|
} |
||||||
|
.box p { |
||||||
|
font-size: 14px; |
||||||
|
margin: 0; |
||||||
|
padding: 2px 0; |
||||||
|
} |
||||||
|
.small_box { |
||||||
|
margin-bottom: 15px; |
||||||
|
} |
||||||
|
.small_box p { |
||||||
|
width: 220px; |
||||||
|
padding-right: 20px; |
||||||
|
font-size: 14px; |
||||||
|
margin: 0; |
||||||
|
text-align: right; |
||||||
|
} |
||||||
|
// 单个字体 |
||||||
|
.left { |
||||||
|
padding-right: 10px; |
||||||
|
font-size: 14px; |
||||||
|
} |
||||||
|
.right { |
||||||
|
padding-left: 10px; |
||||||
|
font-size: 14px; |
||||||
|
} |
||||||
|
.right_p20 { |
||||||
|
padding-left: 20px; |
||||||
|
font-size: 14px; |
||||||
|
} |
||||||
|
|
||||||
|
// 日期时间框 |
||||||
|
.date /deep/ .el-input__icon { |
||||||
|
line-height: 2; |
||||||
|
} |
||||||
|
/deep/ .el-date-editor.el-input, |
||||||
|
.el-date-editor.el-input__inner { |
||||||
|
width: 190px; |
||||||
|
} |
||||||
|
// 下拉框 |
||||||
|
/deep/ .el-select .el-input .el-select__caret { |
||||||
|
line-height: 2; |
||||||
|
} |
||||||
|
|
||||||
|
/deep/ .el-select__caret:before { |
||||||
|
content: "\e78f"; |
||||||
|
font-size: 8px; |
||||||
|
padding: 1px; |
||||||
|
background-color: #9278ff; |
||||||
|
border-radius: 50%; |
||||||
|
color: #ffffff; |
||||||
|
} |
||||||
|
/deep/ .el-select .el-input__inner:hover { |
||||||
|
border: 1px solid #9278ff; |
||||||
|
} |
||||||
|
/deep/ .el-input--suffix .el-input__inner:focus, |
||||||
|
.el-input--suffix .el-input__inner:hover { |
||||||
|
border: 1px solid #9278ff; |
||||||
|
} |
||||||
|
// 输入框 |
||||||
|
/deep/ .el-input { |
||||||
|
width: 190px; |
||||||
|
text-align: right; |
||||||
|
} |
||||||
|
/deep/ .el-input__inner { |
||||||
|
height: 30px; |
||||||
|
padding-right: 0; |
||||||
|
} |
||||||
|
/deep/ .el-input__inner { |
||||||
|
border: 1px solid #9278ff; |
||||||
|
} |
||||||
|
/deep/ .el-input__inner:hover { |
||||||
|
border: 1px solid #9278ff; |
||||||
|
} |
||||||
|
/deep/ .el-table .cell { |
||||||
|
line-height: 1; |
||||||
|
} |
||||||
|
.input p { |
||||||
|
width: 120px; |
||||||
|
padding-right: 20px; |
||||||
|
padding-top: 3px; |
||||||
|
font-size: 14px; |
||||||
|
margin: 0; |
||||||
|
text-align: right; |
||||||
|
} |
||||||
|
.input { |
||||||
|
justify-content: space-around; |
||||||
|
margin-bottom: 15px; |
||||||
|
} |
||||||
|
.footer_one p { |
||||||
|
padding-left: 10px; |
||||||
|
font-size: 12px; |
||||||
|
font-weight: 600; |
||||||
|
} |
||||||
|
.footer_one { |
||||||
|
height: 40px; |
||||||
|
justify-content: flex-start; |
||||||
|
margin: 50px 0 10px 300px; |
||||||
|
} |
||||||
|
/deep/ [class*="el-icon-"], |
||||||
|
[class^="el-icon-"] { |
||||||
|
line-height: 3.5; |
||||||
|
color: #9278ff; |
||||||
|
} |
||||||
|
.flex { |
||||||
|
display: flex; |
||||||
|
} |
||||||
|
|
||||||
|
.center { |
||||||
|
height: 40px; |
||||||
|
line-height: 40px; |
||||||
|
// background-color: yellow; |
||||||
|
margin: 0; |
||||||
|
text-align: center; |
||||||
|
font-size: 16px; |
||||||
|
} |
||||||
|
|
||||||
|
.first { |
||||||
|
text-align: right; |
||||||
|
height: 40px; |
||||||
|
line-height: 40px; |
||||||
|
// background-color: red; |
||||||
|
} |
||||||
|
|
||||||
|
.content { |
||||||
|
background-color: #f2f6fc; |
||||||
|
position: relative; |
||||||
|
top: 10px; |
||||||
|
} |
||||||
|
|
||||||
|
// 滚动条的宽度 |
||||||
|
/deep/ ::-webkit-scrollbar { |
||||||
|
width: 6px; // 横向滚动条 |
||||||
|
height: 6px; // 纵向滚动条 必写 |
||||||
|
} |
||||||
|
// 滚动条的滑块 |
||||||
|
/deep/ ::-webkit-scrollbar-thumb { |
||||||
|
background-color: #9278ff; |
||||||
|
border-radius: 3px; |
||||||
|
-webkit-box-shadow: inset 0 0 5px #dddddd; |
||||||
|
} |
||||||
|
/deep/ ::-webkit-scrollbar-track { |
||||||
|
/*滚动条里面轨道*/ |
||||||
|
-webkit-box-shadow: inset 0 0 5px #dddddd; |
||||||
|
border-radius: 0; |
||||||
|
background: #dddddd; |
||||||
|
} |
||||||
|
</style> |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,521 @@ |
|||||||
|
<template> |
||||||
|
<!-- 交易类 --> |
||||||
|
<div class="content"> |
||||||
|
<div class="header flex"> |
||||||
|
<i class="el-icon-arrow-left" @click="Back()" style="cursor:pointer"> |
||||||
|
<span>Back</span> |
||||||
|
</i> |
||||||
|
<p>判分点设置</p> |
||||||
|
<button class="button" @click="Savejump()">保存</button> |
||||||
|
</div> |
||||||
|
<div class="footer"> |
||||||
|
<div> |
||||||
|
<div class="flex footer_h"> |
||||||
|
<div class="black"></div> |
||||||
|
<p>基本信息</p> |
||||||
|
</div> |
||||||
|
<div class="flex footer_input"> |
||||||
|
<p>判分点名称</p> |
||||||
|
<el-input placeholder="请输入内容" v-model="input" clearable></el-input> |
||||||
|
</div> |
||||||
|
<div class="flex footer_inputs"> |
||||||
|
<p>实验要求</p> |
||||||
|
<textarea id="memo" style="outline:none;"></textarea> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="flex footer_b"> |
||||||
|
<div class="black"></div> |
||||||
|
<p>判分规则</p> |
||||||
|
<button class="button">新增</button> |
||||||
|
</div> |
||||||
|
|
||||||
|
<el-row> |
||||||
|
<el-col :span="24"> |
||||||
|
<el-card shadow="hover"> |
||||||
|
<el-table |
||||||
|
:data="tableData" |
||||||
|
:stripe="true" |
||||||
|
:cell-style="rowClass" |
||||||
|
header-align="center" |
||||||
|
:header-cell-style="headClass" |
||||||
|
:row-class-name="tableRowClassName" |
||||||
|
> |
||||||
|
<el-table-column prop="id" type="index" label="序号" width="80"></el-table-column> |
||||||
|
<el-table-column label="流程判分正确答案"> |
||||||
|
<template slot-scope="scope"> |
||||||
|
<p class="p">操作一致性规则:用户完成的功能操作与下方设置的操作点一致</p> |
||||||
|
<div class="box"> |
||||||
|
<div class="flex box_p"> |
||||||
|
<p>一级栏目</p> |
||||||
|
<el-select v-model="value1" clearable placeholder="币币交易"> |
||||||
|
<el-option |
||||||
|
v-for="item in options1" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value" |
||||||
|
></el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
<div class="flex box_p"> |
||||||
|
<p>二级栏目</p> |
||||||
|
<el-select v-model="value2" clearable placeholder="限价交易"> |
||||||
|
<el-option |
||||||
|
v-for="item in options2" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value" |
||||||
|
></el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
<div class="flex box_p"> |
||||||
|
<p>操作按钮</p> |
||||||
|
<el-select v-model="value3" clearable placeholder="买入BTC"> |
||||||
|
<el-option |
||||||
|
v-for="item in options3" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value" |
||||||
|
></el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column label=" " width="150"> |
||||||
|
<template slot-scope="scope"> |
||||||
|
<div class="border"> |
||||||
|
<p v-show="scope.row.isQie" @click="getQie(scope.row)" style="cursor:pointer">且</p> |
||||||
|
<p v-show="!scope.row.isQie" @click="getHuo(scope.row)" style="cursor:pointer">或</p> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column label="交易结果正确答案"> |
||||||
|
<template slot-scope="scope"> |
||||||
|
<p class="p">交易结果一致性规则:用户交易结果需要与下面设置的交易结果指标要求一致</p> |
||||||
|
<div class="box"> |
||||||
|
<div class="flex box_p"> |
||||||
|
<p>指标类别</p> |
||||||
|
<el-select v-model="value4" clearable placeholder="交易结果指标"> |
||||||
|
<el-option |
||||||
|
v-for="item in values1" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value" |
||||||
|
></el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
<div class="flex box_p"> |
||||||
|
<p>交易指标</p> |
||||||
|
<el-select v-model="value5" clearable placeholder="BTC买入量"> |
||||||
|
<el-option |
||||||
|
v-for="item in values2" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value" |
||||||
|
></el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
<div class="flex box_p box_right" style="padding-left: 30px;"> |
||||||
|
<p>交易结果区间</p> |
||||||
|
<el-select v-model="value6" clearable placeholder="("> |
||||||
|
<el-option |
||||||
|
v-for="item in values3" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value" |
||||||
|
></el-option> |
||||||
|
</el-select> |
||||||
|
<el-input |
||||||
|
placeholder="100" |
||||||
|
style="width:80px;margin:8px 10px 0 10px;" |
||||||
|
v-model="input1" |
||||||
|
clearable |
||||||
|
></el-input> |
||||||
|
<el-input |
||||||
|
placeholder="100" |
||||||
|
v-model="input2" |
||||||
|
style="width:80px;margin:8px 10px 0 0;" |
||||||
|
clearable |
||||||
|
></el-input> |
||||||
|
<el-select v-model="value7" clearable placeholder=")"> |
||||||
|
<el-option |
||||||
|
v-for="item in values4" |
||||||
|
:key="item.value" |
||||||
|
:label="item.label" |
||||||
|
:value="item.value" |
||||||
|
></el-option> |
||||||
|
</el-select> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
<el-table-column label="操作" width="300"> |
||||||
|
<template slot-scope="scope"> |
||||||
|
<el-button size="mini" type="text" v-show="isShow" @click="handleEdit()">编辑</el-button> |
||||||
|
<el-button |
||||||
|
type="text" |
||||||
|
size="mini" |
||||||
|
v-show="!isShow" |
||||||
|
@click="addTab(scope.$index, scope.row)" |
||||||
|
>保存</el-button> |
||||||
|
<el-button |
||||||
|
size="mini" |
||||||
|
type="text" |
||||||
|
v-show="!isShow" |
||||||
|
@click="dialogFormVisible()" |
||||||
|
>取消</el-button> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
</el-table> |
||||||
|
</el-card> |
||||||
|
</el-col> |
||||||
|
</el-row> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
data() { |
||||||
|
return { |
||||||
|
input: "", |
||||||
|
textarea: "", |
||||||
|
tableData: [ |
||||||
|
{ |
||||||
|
qie: "且", |
||||||
|
huo: "或" |
||||||
|
} |
||||||
|
], |
||||||
|
options1: [ |
||||||
|
{ |
||||||
|
value: "选项1", |
||||||
|
label: "币币交易" |
||||||
|
}, |
||||||
|
{ |
||||||
|
value: "选项2", |
||||||
|
label: "网络交易" |
||||||
|
} |
||||||
|
], |
||||||
|
options2: [ |
||||||
|
{ |
||||||
|
value: "选项1", |
||||||
|
label: "限价交易" |
||||||
|
} |
||||||
|
], |
||||||
|
options3: [ |
||||||
|
{ |
||||||
|
value: "选项1", |
||||||
|
label: "买入BTC" |
||||||
|
} |
||||||
|
], |
||||||
|
values1: [ |
||||||
|
{ |
||||||
|
value: "选项1", |
||||||
|
label: "交易结果指标" |
||||||
|
}, |
||||||
|
{ |
||||||
|
value: "选项2", |
||||||
|
label: "交易过程指标" |
||||||
|
} |
||||||
|
], |
||||||
|
values2: [ |
||||||
|
{ |
||||||
|
value: "选项1", |
||||||
|
label: "BTC买入量" |
||||||
|
}, |
||||||
|
{ |
||||||
|
value: "选项2", |
||||||
|
label: "总资产收益率" |
||||||
|
} |
||||||
|
], |
||||||
|
values3: [ |
||||||
|
{ |
||||||
|
value: "选项1", |
||||||
|
label: "(" |
||||||
|
}, |
||||||
|
{ |
||||||
|
value: "选项2", |
||||||
|
label: "[" |
||||||
|
} |
||||||
|
], |
||||||
|
values4: [ |
||||||
|
{ |
||||||
|
value: "选项1", |
||||||
|
label: ")" |
||||||
|
}, |
||||||
|
{ |
||||||
|
value: "选项2", |
||||||
|
label: "]" |
||||||
|
} |
||||||
|
], |
||||||
|
value1: "", |
||||||
|
value2: "", |
||||||
|
value3: "", |
||||||
|
value4: "", |
||||||
|
value5: "", |
||||||
|
value6: "", |
||||||
|
value7: "", |
||||||
|
input1: "", |
||||||
|
input2: "", |
||||||
|
isShow: true, |
||||||
|
isQie: true |
||||||
|
}; |
||||||
|
}, |
||||||
|
|
||||||
|
methods: { |
||||||
|
Savejump() { |
||||||
|
this.$router.push({ path: "/" }); |
||||||
|
}, |
||||||
|
Back() { |
||||||
|
this.$router.push({ path: "/" }); |
||||||
|
}, |
||||||
|
getQie() { |
||||||
|
this.isQie = false; |
||||||
|
}, |
||||||
|
getHuo() { |
||||||
|
this.isQie = true; |
||||||
|
}, |
||||||
|
handleEdit() { |
||||||
|
this.isShow = false; |
||||||
|
}, |
||||||
|
addTab(tabName, targetName) { |
||||||
|
let newTabName = ++this.tabIndex + ""; |
||||||
|
this.editableTabs.push({ |
||||||
|
title: tabName, |
||||||
|
name: newTabName, |
||||||
|
content: "New Tab content" |
||||||
|
}); |
||||||
|
this.editableTabsValue = newTabName; |
||||||
|
this.dialogFormVisible = false; |
||||||
|
}, |
||||||
|
dialogFormVisible() { |
||||||
|
this.isShow = true; |
||||||
|
}, |
||||||
|
// 表头样式设置 |
||||||
|
headClass() { |
||||||
|
return "text-align: center;"; |
||||||
|
}, |
||||||
|
// 表格样式设置 |
||||||
|
rowClass() { |
||||||
|
return "text-align: center;"; |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
// 第二部分 |
||||||
|
//或 且的边框 |
||||||
|
.border { |
||||||
|
width: 50px; |
||||||
|
height: 50px; |
||||||
|
border: 1px solid #9278ff; |
||||||
|
border-radius: 50%; |
||||||
|
margin: auto; |
||||||
|
} |
||||||
|
// 表格盒子 |
||||||
|
.box { |
||||||
|
border: 1px solid #9278ff; |
||||||
|
width: 500px; |
||||||
|
margin: 0 auto; |
||||||
|
} |
||||||
|
.box /deep/ .el-input { |
||||||
|
width: 150px; |
||||||
|
} |
||||||
|
.box_right /deep/ .el-input { |
||||||
|
width: 51px; |
||||||
|
margin-right: 0; |
||||||
|
} |
||||||
|
.box /deep/ .el-input--suffix .el-input__inner { |
||||||
|
height: 25px; |
||||||
|
padding-right: 0; |
||||||
|
} |
||||||
|
.box /deep/ .el-input--suffix .el-input__inner { |
||||||
|
border: 1px solid #9278ff; |
||||||
|
} |
||||||
|
.box /deep/ .el-input--suffix .el-input__inner:focus, |
||||||
|
.el-input--suffix .el-input__inner:hover { |
||||||
|
border: 1px solid #9278ff; |
||||||
|
} |
||||||
|
/deep/ .el-table .cell { |
||||||
|
line-height: 1; |
||||||
|
} |
||||||
|
.box_p { |
||||||
|
padding-left: 50px; |
||||||
|
} |
||||||
|
.box_p p { |
||||||
|
padding-right: 20px; |
||||||
|
} |
||||||
|
|
||||||
|
// 表格里面的内容 |
||||||
|
.p { |
||||||
|
font-size: 12px; |
||||||
|
font-weight: 600; |
||||||
|
} |
||||||
|
/deep/ .el-select { |
||||||
|
padding-top: 10px; |
||||||
|
} |
||||||
|
/deep/ .el-table td, |
||||||
|
.el-table th { |
||||||
|
padding-top: 0; |
||||||
|
} |
||||||
|
.box /deep/ [class*=" el-icon-"], |
||||||
|
[class^="el-icon-"] { |
||||||
|
line-height: 1; |
||||||
|
padding-left: 0; |
||||||
|
} |
||||||
|
/deep/ .el-select__caret:before { |
||||||
|
content: "\e78f"; |
||||||
|
font-size: 8px; |
||||||
|
padding: 1px; |
||||||
|
background-color: #9278ff; |
||||||
|
border-radius: 50%; |
||||||
|
color: #ffffff; |
||||||
|
} |
||||||
|
/deep/ .el-row { |
||||||
|
padding: 0 20px; |
||||||
|
} |
||||||
|
/deep/ .el-card__body { |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
/deep/ .el-card { |
||||||
|
border: none; |
||||||
|
} |
||||||
|
|
||||||
|
// 滚动条的宽度 |
||||||
|
/deep/ ::-webkit-scrollbar { |
||||||
|
width: 6px; // 横向滚动条 |
||||||
|
height: 6px; // 纵向滚动条 必写 |
||||||
|
} |
||||||
|
// 滚动条的滑块 |
||||||
|
/deep/ ::-webkit-scrollbar-thumb { |
||||||
|
background-color: #9278ff; |
||||||
|
border-radius: 3px; |
||||||
|
-webkit-box-shadow: inset 0 0 5px #dddddd; |
||||||
|
} |
||||||
|
/deep/ ::-webkit-scrollbar-track { |
||||||
|
/*滚动条里面轨道*/ |
||||||
|
-webkit-box-shadow: inset 0 0 5px #dddddd; |
||||||
|
border-radius: 0; |
||||||
|
background: #dddddd; |
||||||
|
} |
||||||
|
|
||||||
|
/deep/ .el-table th { |
||||||
|
font-size: 14px; |
||||||
|
font-family: Microsoft YaHei; |
||||||
|
color: rgba(255, 255, 255, 1); |
||||||
|
background-color: #9278ff; |
||||||
|
} |
||||||
|
|
||||||
|
.footer_b p { |
||||||
|
// padding-right: 800px; |
||||||
|
margin: 0; |
||||||
|
padding-left: 10px; |
||||||
|
font-size: 12px; |
||||||
|
} |
||||||
|
.footer_b { |
||||||
|
padding: 10px 0; |
||||||
|
border-top: 1px dashed #cccccc; |
||||||
|
margin: 0 15px; |
||||||
|
height: 45px; |
||||||
|
line-height: 45px; |
||||||
|
} |
||||||
|
|
||||||
|
// 第一部分 |
||||||
|
#memo { |
||||||
|
margin-left: 10px; |
||||||
|
height: 200px; |
||||||
|
width: 800px; |
||||||
|
resize: none; |
||||||
|
border: 1px solid #9278ff; |
||||||
|
font-size: 12px; |
||||||
|
border-radius: 5px; |
||||||
|
} |
||||||
|
/deep/ .el-input--suffix .el-input__inner { |
||||||
|
border: 1px solid #9278ff; |
||||||
|
} |
||||||
|
.footer_input p { |
||||||
|
font-size: 12px; |
||||||
|
padding-right: 20px; |
||||||
|
} |
||||||
|
.footer_input { |
||||||
|
padding: 30px 0 20px 80px; |
||||||
|
} |
||||||
|
.footer_inputs { |
||||||
|
padding: 30px 0 20px 80px; |
||||||
|
} |
||||||
|
.footer_inputs p { |
||||||
|
font-size: 12px; |
||||||
|
padding-right: 20px; |
||||||
|
} |
||||||
|
/deep/ .el-input { |
||||||
|
width: 30%; |
||||||
|
} |
||||||
|
.button { |
||||||
|
height: 30px; |
||||||
|
width: 80px; |
||||||
|
margin-top: 7px; |
||||||
|
border: none; |
||||||
|
background-color: #9278ff; |
||||||
|
color: #ffffff; |
||||||
|
border-radius: 20px; |
||||||
|
position: absolute; |
||||||
|
right: 30px; |
||||||
|
} |
||||||
|
.button:focus { |
||||||
|
outline: 0; |
||||||
|
} |
||||||
|
/deep/ [class*=" el-icon-"], |
||||||
|
[class^="el-icon-"] { |
||||||
|
line-height: 3; |
||||||
|
padding-left: 10px; |
||||||
|
} |
||||||
|
.header { |
||||||
|
background-color: #ffffff; |
||||||
|
height: 45px; |
||||||
|
line-height: 45px; |
||||||
|
font-size: 14px; |
||||||
|
font-weight: 600; |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
.header span { |
||||||
|
font-size: 14px; |
||||||
|
font-weight: 600; |
||||||
|
padding-left: 5px; |
||||||
|
} |
||||||
|
.header p { |
||||||
|
padding-left: 20px; |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
.footer_h { |
||||||
|
// padding: 10px 0; |
||||||
|
border-top: 1px dashed #cccccc; |
||||||
|
border-bottom: 1px dashed #cccccc; |
||||||
|
margin: 0 15px; |
||||||
|
height: 45px; |
||||||
|
line-height: 45px; |
||||||
|
} |
||||||
|
.flex { |
||||||
|
display: flex; |
||||||
|
justify-content: flex-start; |
||||||
|
} |
||||||
|
.footer { |
||||||
|
background-color: #ffffff; |
||||||
|
} |
||||||
|
.footer_h p { |
||||||
|
padding-left: 10px; |
||||||
|
font-size: 12px; |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
.black { |
||||||
|
width: 8px; |
||||||
|
height: 18px; |
||||||
|
background-color: #333; |
||||||
|
margin-top: 10px; |
||||||
|
} |
||||||
|
.content { |
||||||
|
background-color: #f2f6fc; |
||||||
|
position: relative; |
||||||
|
top: 10px; |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,26 @@ |
|||||||
|
// 引入等比适配插件
|
||||||
|
const px2rem = require('postcss-px2rem') |
||||||
|
|
||||||
|
// 配置基本大小
|
||||||
|
const postcss = px2rem({ |
||||||
|
// 基准大小 baseSize,需要和rem.js中相同
|
||||||
|
remUnit: 16 |
||||||
|
}) |
||||||
|
|
||||||
|
// 使用等比适配插件
|
||||||
|
module.exports = { |
||||||
|
lintOnSave: true, |
||||||
|
css: { |
||||||
|
loaderOptions: { |
||||||
|
postcss: { |
||||||
|
plugins: [ |
||||||
|
postcss |
||||||
|
] |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
|
||||||
|
publicPath: './', |
||||||
|
outputDir: 'dist', |
||||||
|
assetsDir: 'static' |
||||||
|
} |
Loading…
Reference in new issue