Commit 367b17f3 authored by jiaxu.yan's avatar jiaxu.yan

Merge branch 'developer/yanjiaxu' into develop

parents dc1d5677 e44be7ed
<template>
<button
class="footer-button"
@click="handleClick"
:disabled="disabled || loading"
:type="nativeType"
:class="[
type ? 'footer-button--' + type : '',
{
'is-disabled': disabled,
'is-loading': loading,
line: line
}
]"
>
<i class="el-icon-loading" v-if="loading"></i>
<slot name="icon " v-if="icon && !loading">
<i :class="icon"></i>
</slot>
<span v-if="$slots.default"><slot></slot></span>
</button>
</template>
<script>
export default {
name: 'FooterButton',
props: {
type: {
type: String,
default: 'default'
},
icon: {
type: String,
default: ''
},
nativeType: {
type: String,
default: 'button'
},
loading: Boolean,
disabled: Boolean,
line: Boolean
},
methods: {
handleClick(evt) {
this.$emit('click', evt)
}
}
}
</script>
<style scoped>
.footer-button {
display: inline-flex;
line-height: 1;
white-space: nowrap;
cursor: pointer;
background: #fff;
border: 1px solid #dcdfe6;
color: #fff;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: 0.1s;
transition: 0.1s;
font-weight: 500;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
font-size: 14px;
border-radius: 4px;
width: 130px;
height: 32px;
align-items: center;
justify-content: center;
}
.footer-button + .footer-button {
margin-left: 6px;
}
.footer-button:focus,
.footer-button:hover {
color: #409eff;
border-color: #c6e2ff;
background-color: #ecf5ff;
}
.footer-button:active {
color: #3a8ee6;
border-color: #3a8ee6;
outline: 0;
}
.footer-button::-moz-focus-inner {
border: 0;
}
.footer-button [class*='el-icon-'] + span {
margin-left: 5px;
}
.footer-button.is-plain:focus,
.footer-button.is-plain:hover {
background: #fff;
border-color: #409eff;
color: #409eff;
}
.footer-button.is-active,
.footer-button.is-plain:active {
color: #3a8ee6;
border-color: #3a8ee6;
}
.footer-button.is-plain:active {
background: #fff;
outline: 0;
}
.footer-button.is-disabled,
.footer-button.is-disabled:focus,
.footer-button.is-disabled:hover {
color: #c0c4cc;
cursor: not-allowed;
background-image: none;
background-color: #fff;
border-color: #ebeef5;
}
.footer-button.is-disabled.footer-button--text {
background-color: transparent;
}
.footer-button.is-disabled.is-plain,
.footer-button.is-disabled.is-plain:focus,
.footer-button.is-disabled.is-plain:hover {
background-color: #fff;
border-color: #ebeef5;
color: #c0c4cc;
}
.footer-button.is-loading {
position: relative;
pointer-events: none;
}
.footer-button.is-loading:before {
pointer-events: none;
content: '';
position: absolute;
left: -1px;
top: -1px;
right: -1px;
bottom: -1px;
border-radius: inherit;
background-color: rgba(255, 255, 255, 0.35);
}
.footer-button.is-round {
border-radius: 20px;
padding: 12px 23px;
}
.footer-button.is-circle {
border-radius: 50%;
padding: 12px;
}
.footer-button--primary {
color: #fff;
background-color: #409eff;
border-color: #409eff;
}
.footer-button--primary:focus,
.footer-button--primary:hover {
background: #3c85dd;
border-color: #3c85dd;
color: #fff;
}
.footer-button--primary:active {
background: #186dd3;
border-color: #186dd3;
outline: 0;
}
.footer-button--primary.is-active {
background: #1a6fd7;
border-color: #1a6fd7;
}
.footer-button--no-line {
color: #303133;
background: #ffffff;
border: none;
color: #1a6fd7;
}
.footer-button--no-line:focus,
.footer-button--no-line:hover {
background: #e3eefc;
border: 1px solid #1a6fd7;
color: #1a6fd7;
}
.footer-button--no-line:active {
background: #1764c1;
border: 1px solid #1764c1;
color: #1764c1;
outline: 0;
}
.footer-button--no-line.is-active {
background: #1764c1;
border: 1px solid #1764c1;
color: #1764c1;
}
.footer-button--default {
color: #303133;
background: #ffffff;
border: 1px solid #1a6fd7;
color: #1a6fd7;
}
.footer-button--default:focus,
.footer-button--default:hover {
background: #e3eefc;
border: 1px solid #1a6fd7;
color: #1a6fd7;
}
.footer-button--default:active {
background: #1764c1;
border: 1px solid #1764c1;
color: #1764c1;
outline: 0;
}
.footer-button--default.is-active {
background: #1764c1;
border: 1px solid #1764c1;
color: #1764c1;
}
</style>
<template>
<button
class="header-button"
@click="handleClick"
:disabled="disabled || loading"
:type="nativeType"
:class="[
type ? 'header-button--' + type : '',
{
'is-disabled': disabled,
'is-loading': loading
}
]"
>
<i class="el-icon-loading" v-if="loading"></i>
<slot name="icon" v-if="icon && !loading">
<i :class="icon"></i>
</slot>
<span v-if="$slots.default"><slot></slot></span>
</button>
</template>
<script>
export default {
name: 'AButton',
props: {
type: {
type: String,
default: 'default'
},
icon: {
type: String,
default: ''
},
nativeType: {
type: String,
default: 'button'
},
loading: Boolean,
disabled: Boolean,
line: Boolean
},
methods: {
handleClick(evt) {
this.$emit('click', evt)
}
}
}
</script>
<style scoped>
.header-button {
display: inline-flex;
line-height: 1;
white-space: nowrap;
cursor: pointer;
background: #fff;
border: 1px solid #dcdfe6;
color: #fff;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: 0.1s;
transition: 0.1s;
font-weight: 500;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
font-size: 14px;
border-radius: 4px;
width: 114px;
height: 32px;
align-items: center;
justify-content: center;
}
.header-button + .header-button {
margin-left: 6px;
}
.header-button:focus,
.header-button:hover {
color: #409eff;
border-color: #c6e2ff;
background-color: #ecf5ff;
}
.header-button:active {
color: #3a8ee6;
border-color: #3a8ee6;
outline: 0;
}
.header-button::-moz-focus-inner {
border: 0;
}
.header-button [class*='el-icon-'] + span {
margin-left: 5px;
}
.header-button.is-plain:focus,
.header-button.is-plain:hover {
background: #fff;
border-color: #409eff;
color: #409eff;
}
.header-button.is-active,
.header-button.is-plain:active {
color: #3a8ee6;
border-color: #3a8ee6;
}
.header-button.is-plain:active {
background: #fff;
outline: 0;
}
.header-button.is-disabled,
.header-button.is-disabled:focus,
.header-button.is-disabled:hover {
color: #c0c4cc;
cursor: not-allowed;
background-image: none;
background-color: #fff;
border-color: #ebeef5;
}
.header-button.is-disabled.header-button--text {
background-color: transparent;
}
.header-button.is-disabled.is-plain,
.header-button.is-disabled.is-plain:focus,
.header-button.is-disabled.is-plain:hover {
background-color: #fff;
border-color: #ebeef5;
color: #c0c4cc;
}
.header-button.is-loading {
position: relative;
pointer-events: none;
}
.header-button.is-loading:before {
pointer-events: none;
content: '';
position: absolute;
left: -1px;
top: -1px;
right: -1px;
bottom: -1px;
border-radius: inherit;
background-color: rgba(255, 255, 255, 0.35);
}
.header-button.is-round {
border-radius: 20px;
padding: 12px 23px;
}
.header-button.is-circle {
border-radius: 50%;
padding: 12px;
}
.header-button--primary {
color: #fff;
background-color: #409eff;
border-color: #409eff;
}
.header-button--primary:focus,
.header-button--primary:hover {
background: #3c85dd;
border-color: #3c85dd;
color: #fff;
}
.header-button--primary:active {
background: #186dd3;
border-color: #186dd3;
outline: 0;
}
.header-button--primary.is-active {
background: #1a6fd7;
border-color: #1a6fd7;
}
.header-button--no-line {
color: #303133;
background: #ffffff;
border: none;
color: #1a6fd7;
}
.header-button--no-line:focus,
.header-button--no-line:hover {
background: #e3eefc;
border: 1px solid #1a6fd7;
color: #1a6fd7;
}
.header-button--no-line:active {
background: #1764c1;
border: 1px solid #1764c1;
color: #1764c1;
outline: 0;
}
.header-button--no-line.is-active {
background: #1764c1;
border: 1px solid #1764c1;
color: #1764c1;
}
.header-button--default {
color: #303133;
background: #ffffff;
border: 1px solid #1a6fd7;
color: #1a6fd7;
}
.header-button--default:focus,
.header-button--default:hover {
background: #e3eefc;
border: 1px solid #1a6fd7;
color: #1a6fd7;
}
.header-button--default:active {
background: #1764c1;
border: 1px solid #1764c1;
color: #1764c1;
outline: 0;
}
.header-button--default.is-active {
background: #1764c1;
border: 1px solid #1764c1;
color: #1764c1;
}
</style>
<template> <template>
<div class="page-btn"> <div class="page-btn" @click="handleClick">
<el-tooltip effect="dark" :content="title" placement="bottom-start"> <el-tooltip effect="dark" :content="title" placement="bottom-start">
<!-- <svg-icon class="item" :icon-class="btnClass" /> --> <!-- <svg-icon class="item" :icon-class="btnClass" /> -->
<svg-icon <svg-icon
class="item" class="item"
width="32px" height="24px"
height="32px" width="24px"
:icon-class="'btn-' + icon" :icon-class="'btn-' + icon"
/> />
</el-tooltip> </el-tooltip>
...@@ -24,18 +24,23 @@ export default { ...@@ -24,18 +24,23 @@ export default {
}, },
data() { data() {
return {} return {}
},
methods: {
handleClick(evt) {
this.$emit('click', evt)
}
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.page-btn { .page-btn {
width: 32px; width: 24px;
height: 32px; height: 24px;
cursor: pointer; cursor: pointer;
.item { .item {
width: 32px; width: 24px;
height: 32px; height: 24px;
color: #1a6fd7; color: #1a6fd7;
--color-1: #1a6fd7; --color-1: #1a6fd7;
--color-2: #ffffff; --color-2: #ffffff;
......
...@@ -45,6 +45,11 @@ import PageStandardOption from '@/components/Page/standardOption' ...@@ -45,6 +45,11 @@ import PageStandardOption from '@/components/Page/standardOption'
import PageButton from '@/components/Page/PageButton' import PageButton from '@/components/Page/PageButton'
// 任务模版 // 任务模版
import TaskStandard from '@/components/Page/TaskStandard' import TaskStandard from '@/components/Page/TaskStandard'
// 自定义按钮
import HeaderButton from '@/components/Page/HeaderButton'
import FooterButton from '@/components/Page/FooterButton'
//空数据显示 //空数据显示
import Empty from '@/components/Empty/index' import Empty from '@/components/Empty/index'
// 字典标签组件 // 字典标签组件
...@@ -84,10 +89,12 @@ Vue.component('PageStandardOption', PageStandardOption) ...@@ -84,10 +89,12 @@ Vue.component('PageStandardOption', PageStandardOption)
Vue.component('PageButton', PageButton) Vue.component('PageButton', PageButton)
Vue.component('TalkItem', TalkItem) Vue.component('TalkItem', TalkItem)
Vue.component('EmptyData', Empty) Vue.component('EmptyData', Empty)
Vue.component('HeaderButton', HeaderButton)
Vue.component('FooterButton', FooterButton)
Vue.use(directive) Vue.use(directive)
Vue.use(plugins) Vue.use(plugins)
Vue.use(VueMeta) Vue.use(VueMeta)
const ModelDataSource = require('./utils/ModelDataSource') import ModelDataSource from './utils/ModelDataSource';
Vue.use(ModelDataSource) Vue.use(ModelDataSource)
DictData.install() DictData.install()
......
...@@ -2,19 +2,8 @@ ...@@ -2,19 +2,8 @@
* Model 数据源 * Model 数据源
* 用于 单条记录的增删查改 * 用于 单条记录的增删查改
*/ */
import request from '@/utils/request' import _ from "lodash"
;(function (root, factory) { import request from "@/utils/request"
// CommonJS
if (typeof exports === 'object') {
module.exports = factory()
}
// Browser global
else {
root.ModelDataSource = factory()
}
})(this, function () {
let _ = require('lodash')
function ModelDataSource(vm, settings) { function ModelDataSource(vm, settings) {
this.vm = vm this.vm = vm
this.settings = settings this.settings = settings
...@@ -179,8 +168,9 @@ import request from '@/utils/request' ...@@ -179,8 +168,9 @@ import request from '@/utils/request'
*/ */
ModelDataSource.install = function (Vue) { ModelDataSource.install = function (Vue) {
Vue.prototype.$modelDataSource = function (options) { Vue.prototype.$modelDataSource = function (options) {
console.log(this, options);
return new ModelDataSource(this, options) return new ModelDataSource(this, options)
} }
} }
return ModelDataSource
}) export default ModelDataSource
<template> <template>
<task-standard> <task-standard>
<div slot="header-right" class="clearfix"> <div slot="header-right" class="clearfix">
<el-button <header-button
icon="el-icon-back" icon="el-icon-back"
class="back-btn" class="back-btn"
type="text" type="no-line"
@click="handleBack" @click="handleBack"
> >
返回 返回
</el-button> </header-button>
<el-button class="back-btn" plain icon="el-icon-download" type="primary"> <header-button class="back-btn" icon="el-icon-refresh" type="default">
下载文件
</el-button>
<el-button class="back-btn" plain icon="el-icon-refresh" type="primary">
重新生成 重新生成
</el-button> </header-button>
<header-button class="back-btn" icon="el-icon-download" type="default">
下载文件
</header-button>
</div> </div>
<!-- table部分 --> <!-- table部分 -->
<table border="1"> <table border="1">
...@@ -64,39 +64,8 @@ export default { ...@@ -64,39 +64,8 @@ export default {
} }
} }
</script> </script>
<style scoped>
<style scoped lang="scss"> .back-btn {
.app-container { margin-left: 24px !important;
.back-btn {
margin-left: 10px;
float: right;
}
}
table {
border-collapse: collapse;
width: 100%;
}
th,
td {
border: 1px solid black;
padding: 8px;
text-align: left;
width: 300px;
}
.five-column {
width: 350px;
}
.four-column {
width: 350px;
}
.three-column {
width: 300px;
}
.two-column {
width: 150px;
}
.one-column {
width: 200px;
} }
</style> </style>
...@@ -411,31 +411,6 @@ export default { ...@@ -411,31 +411,6 @@ export default {
this.$store.dispatch('standard/setStandardList') this.$store.dispatch('standard/setStandardList')
}, },
methods: { methods: {
loadData() {
this.loading = true
request({
url: this.listUrl,
method: 'post',
data: this.queryParams
})
.then(res => {
if (res.code === 200) {
console.log(res.rows)
// res.rows[0].carReviewStatus = 'FINISH'
res.rows[0].carReviewStatus = 'PENDING'
// res.rows[0].carReviewStatus = 'FINISH'
this.tableData = res.rows
this.total = res.total
}
this.loading = false
})
.catch(error => {
if (error.msg) {
this.$message.error(error.msg)
}
this.loading = false
})
},
/** /**
* 企业留档文件 * 企业留档文件
* @param item 对象 * @param item 对象
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment