蔡玲玲 3 months ago
parent
commit
0c9554125f
  1. 2
      base-vue/index.html
  2. BIN
      base-vue/src/assets/img/logo.png
  3. 11
      base-vue/src/assets/scss/_base.scss
  4. 241
      base-vue/src/assets/scss/_eladmin.scss
  5. 4
      base-vue/src/assets/scss/_variables.scss
  6. 1
      base-vue/src/assets/scss/index.scss
  7. 2
      base-vue/src/main.js
  8. 57
      base-vue/src/utils/dict.js
  9. 2
      base-vue/src/views/common/login.vue
  10. 9
      base-vue/src/views/main-navbar-update-password.vue
  11. 8
      base-vue/src/views/main-navbar.vue
  12. 9
      base-vue/src/views/modules/car/car-add-or-update.vue
  13. 3
      base-vue/src/views/modules/car/car.vue
  14. 9
      base-vue/src/views/modules/client/client-add-or-update.vue
  15. 3
      base-vue/src/views/modules/client/client.vue
  16. 89
      base-vue/src/views/modules/contract/contract-add-or-update.vue
  17. 80
      base-vue/src/views/modules/contract/contract.vue
  18. 80
      base-vue/src/views/modules/contract/file-upload.vue
  19. 3
      base-vue/src/views/modules/deploy/flwdeploy.vue
  20. 3
      base-vue/src/views/modules/deploy/flwdeployprodef.vue
  21. 9
      base-vue/src/views/modules/flow/flwdemodel-add-or-update.vue
  22. 3
      base-vue/src/views/modules/flow/flwdemodel.vue
  23. 3
      base-vue/src/views/modules/instance/flwmycompleteinstance.vue
  24. 3
      base-vue/src/views/modules/instance/flwmyinstance.vue
  25. 3
      base-vue/src/views/modules/instance/flwtodoinstance.vue
  26. 9
      base-vue/src/views/modules/material/material-add-or-update.vue
  27. 3
      base-vue/src/views/modules/material/material.vue
  28. 70
      base-vue/src/views/modules/order/order-add-or-update.vue
  29. 205
      base-vue/src/views/modules/order/order.vue
  30. 9
      base-vue/src/views/modules/sys/dept-add-or-update.vue
  31. 3
      base-vue/src/views/modules/sys/dept.vue
  32. 9
      base-vue/src/views/modules/sys/dict-add-or-update.vue
  33. 6
      base-vue/src/views/modules/sys/dict.vue
  34. 9
      base-vue/src/views/modules/sys/dictDetail-add-or-update.vue
  35. 3
      base-vue/src/views/modules/sys/log.vue
  36. 9
      base-vue/src/views/modules/sys/menu-add-or-update.vue
  37. 3
      base-vue/src/views/modules/sys/menu.vue
  38. 9
      base-vue/src/views/modules/sys/notice-add-or-update.vue
  39. 3
      base-vue/src/views/modules/sys/notice.vue
  40. 2
      base-vue/src/views/modules/sys/register.vue
  41. 11
      base-vue/src/views/modules/sys/role-add-or-update.vue
  42. 3
      base-vue/src/views/modules/sys/role.vue
  43. 9
      base-vue/src/views/modules/sys/user-add-or-update.vue
  44. 5
      base-vue/src/views/modules/sys/user.vue
  45. 65
      base-vue/src/views/modules/tickets/tickets-add-or-update.vue
  46. 44
      base-vue/src/views/modules/tickets/tickets.vue

2
base-vue/index.html

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Flowable流程设计管理系统</title>
<title>诺力售后管理平台</title>
<% if (process.env.NODE_ENV === 'production') { %>
<!-- 生产环境 -->
<script>document.write('<script src="./config/index.js?t=' + new Date().getTime() + '"><\/script>');</script>

BIN
base-vue/src/assets/img/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

11
base-vue/src/assets/scss/_base.scss

@ -177,8 +177,14 @@ img {
&-lg,
&-mini {
margin: 0 5px;
margin: 0 auto;
color: #fff;
font-size: 14px;
img {
width: 32px;
width: 32px;
margin: 0 5px;
}
&:focus,
&:hover {
color: #fff;
@ -300,6 +306,9 @@ img {
font-size: 16px;
color: inherit !important;
}
.site-sidebar__inner {
width: 230px;
}
}

241
base-vue/src/assets/scss/_eladmin.scss

@ -0,0 +1,241 @@
.head-container {
padding-top: 4px;
padding-bottom: 6px;
background-color: #ffffff;
border-radius: 4px;
.filter-item {
display: inline-block;
vertical-align: middle;
margin: 0 3px 10px 0;
input {
height: 30.5px;
line-height: 30.5px;
}
}
.el-form-item-label {
margin: 0 3px 9px 0;
display: inline-block;
text-align: right;
vertical-align: middle;
font-size: 14px;
color: #606266;
line-height: 30.5px;
padding: 0 7px 0 7px;
}
.el-button + .el-button {
margin-left: 0 !important;
}
.el-select__caret.el-input__icon.el-icon-arrow-up {
line-height: 30.5px;
}
.date-item {
display: inline-block;
vertical-align: middle;
margin-bottom: 10px;
height: 30.5px !important;
width: 230px !important;
}
}
.el-avatar {
display: inline-block;
text-align: center;
background: #ccc;
color: #fff;
white-space: nowrap;
position: relative;
overflow: hidden;
vertical-align: middle;
width: 32px;
height: 32px;
line-height: 32px;
border-radius: 16px;
}
.logo-con {
height: 60px;
padding: 13px 0 0;
img {
height: 32px;
width: 135px;
display: block;
//margin: 0 auto;
}
}
#el-login-footer {
height: 40px;
line-height: 40px;
position: fixed;
bottom: 0;
width: 100%;
text-align: center;
color: #fff;
font-family: Arial, serif;
font-size: 12px;
letter-spacing: 1px;
}
#el-main-footer {
background: none repeat scroll 0 0 white;
border-top: 1px solid #e7eaec;
overflow: hidden;
padding: 10px 6px 0 6px;
height: 33px;
font-size: 0.7rem !important;
color: #7a8b9a;
letter-spacing: 0.8px;
font-family: Arial, sans-serif !important;
position: fixed;
bottom: 0;
z-index: 99;
width: 100%;
}
.eladmin-upload {
border: 1px dashed #c0ccda;
border-radius: 5px;
height: 45px;
line-height: 45px;
width: 368px;
}
.my-blockquote {
margin: 0 0 10px;
padding: 15px;
line-height: 22px;
border-left: 5px solid #00437B;
border-radius: 0 2px 2px 0;
background-color: #f2f2f2;
}
.my-code {
position: relative;
padding: 15px;
line-height: 20px;
border-left: 5px solid #ddd;
color: #333;
font-family: Courier New, serif;
font-size: 12px
}
.el-tabs {
margin-bottom: 25px;
}
//修改侧边栏菜单颜色和高度
.el-menu-item, .el-submenu__title {
height: 40px;
line-height: 40px;
}
#app .sidebar-container .el-submenu .el-menu-item {
}
#app .sidebar-container .nest-menu .el-submenu > .el-submenu__title, #app .sidebar-container .el-submenu .el-menu-item {
}
#app .sidebar-container {
//background-color: #544b32 !important;
}
.el-form-item--small.el-form-item {
margin-bottom: 12px !important;
}
.el-form-item--mini.el-form-item {
margin-bottom: 10px !important;
}
//去除编辑文本框为数字时的上下箭头start
.el-form--inline .el-form-item__content {
width: auto !important;
}
input[type="number"] {
-moz-appearance: textfield;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none;
}
//去除编辑文本框为数字时的上下箭头end
//设置计数器文字居左
.el-input-number--mini .el-input__inner {
text-align: left;
}
.el-table:not(.el-tablescrollable-x) .el-table__fixed-right {
height: 100% !important;
}
// 修改弹出框距离
.el-dialog__body {
padding-top: 0px !important;
}
//表格标题样式
.el-table {
.el-table__header-wrapper,
.el-table__fixed-header-wrapper {
th {
word-break: break-word;
background-color: #f5f5f5;
color: #515a6e;
height: 35px;
font-size: 13px;
}
td {
color: #f8f8f9;
}
}
.el-table__body-wrapper {
.el-button [class*="el-icon-"] + span {
margin-left: 1px;
}
}
}
//表格固定列最后一行显示不全(https://mp.weixin.qq.com/s/HpoykJNtsynsW4UMHitZbQ)
.el-table__fixed-right {
height: 100% !important;
}
//表头与内容错位
.el-table--scrollable-y .el-table__body-wrapper {
overflow-y: overlay !important;
}
//左侧边框不显示start https://blog.csdn.net/m0_37922443/article/details/126487240
.el-table__row td:not(.is-hidden):last-child {
right: -1px;
}
thead th:not(.is-hidden):last-child {
right: -1px;
}
//左侧边框不显示end
.el-select {
width: 100%;
}
.site-navbar__menu {
line-height: 50px;
height: 50px;
}
.el-menu.el-menu--horizontal {
border-bottom: 0;
}

4
base-vue/src/assets/scss/_variables.scss

@ -1,12 +1,12 @@
// 站点主色
// tips: 要达到整站主题修改效果, 请确保[$--color-primary]站点主色与[/src/element-ui-theme/index.js]文件中[import './element-[#17B3A3]/index.css']当前主题色一致
$--color-primary: #17B3A3;
$--color-primary: #001529;
// Navbar
$navbar--background-color: $--color-primary;
// Sidebar
$sidebar--background-color-dark: #263238;
$sidebar--background-color-dark: #000c17;
$sidebar--color-text-dark: #8a979e;
// Content

1
base-vue/src/assets/scss/index.scss

@ -1,3 +1,4 @@
@import "normalize"; // api: https://github.com/necolas/normalize.css/
@import "variables"; // 站点变量
@import "base";
@import 'eladmin';

2
base-vue/src/main.js

@ -36,6 +36,8 @@ Vue.prototype.$http = httpRequest // ajax请求方法
Vue.prototype.isAuth = isAuth // 权限方法
Vue.prototype.PubSub = PubSub //组件发布订阅消息
Vue.prototype.$baseUrl = "http://localhost:8070/base-fast"
Vue.prototype.$imgPath = "http://localhost:8070/base-fast/file/fileController/download?fileName="
Vue.prototype.$imgBasePath = "http://localhost:8070/base-fast/file/fileController/"

57
base-vue/src/utils/dict.js

@ -0,0 +1,57 @@
import httpRequest from '@/utils/httpRequest'
export default class Dict {
constructor(dict = {}) {
this.dict = dict
}
async init(names) {
if (names === undefined || names === null) {
throw new Error('need Dict names')
}
const ps = []
names.forEach(n => {
ps.push(httpRequest({
url: httpRequest.adornUrl(`/api/dict/dictDetail?code=${n}&page=0&size=9999`),
method: 'get'
}).then(({data}) => {
this.dict[n] = [...data.content]
}))
})
await Promise.all(ps)
}
get() {
return this.dict
}
}
const myDict = new Dict()
function dictDetail (names) {
return {
data () {
return {
dicts: names,
dictsOpt: myDict.get('contract_type')
}
},
filters: {
dictLabel (index, array) {
const value = String(index)
const valueToLabelMap = new Map(array.map(item => [String(item.value), item.label]))
const label = valueToLabelMap.get(value)
return label
}
},
beforeCreate () {
myDict.init(names).then(() => {
this.dictsOpt = myDict.get()
})
}
}
}
export {
dictDetail
}

2
base-vue/src/views/common/login.vue

@ -7,7 +7,7 @@
<p class="brand-info__intro"></p>
</div>
<div class="login-main">
<h2 style="text-slign:center;">Flowable流程设计管理系统</h2>
<h2 style="text-slign:center;">诺力售后管理平台</h2>
<h3 class="login-title">登录 <a href="http://localhost:8001/#/register">注册</a></h3>
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" status-icon>
<el-form-item prop="userName">

9
base-vue/src/views/main-navbar-update-password.vue

@ -2,8 +2,9 @@
<el-dialog
title="修改密码"
:visible.sync="visible"
:append-to-body="true">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
:append-to-body="true"
width="500px">
<el-form :model="dataForm" :rules="dataRule" size="mini" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="账号">
<span>{{ userName }}</span>
</el-form-item>
@ -18,8 +19,8 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button size="mini" @click="visible = false">取消</el-button>
<el-button size="mini" type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>

8
base-vue/src/views/main-navbar.vue

@ -2,8 +2,8 @@
<nav class="site-navbar" :class="'site-navbar--' + navbarLayoutType">
<div class="site-navbar__header">
<h1 class="site-navbar__brand" @click="$router.push({ name: 'home' })">
<a class="site-navbar__brand-lg" href="javascript:;">Flowable流程设计管理系统</a>
<a class="site-navbar__brand-mini" href="javascript:;">农机</a>
<a class="site-navbar__brand-lg" href="javascript:;"><img :src="logo">诺力售后管理平台</a>
<a class="site-navbar__brand-mini" href="javascript:;"><img :src="logo"></a>
</h1>
</div>
<div class="site-navbar__body clearfix">
@ -44,12 +44,14 @@
</template>
<script>
import Logo from '@/assets/img/logo.png'
import UpdatePassword from './main-navbar-update-password'
import { clearLoginInfo } from '@/utils'
export default {
data () {
return {
updatePassowrdVisible: false
updatePassowrdVisible: false,
logo: Logo
}
},
activated () {

9
base-vue/src/views/modules/car/car-add-or-update.vue

@ -2,8 +2,9 @@
<el-dialog
:title="!dataForm.carId ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
:visible.sync="visible"
width="500px">
<el-form :model="dataForm" :rules="dataRule" size="mini" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="车型名称" prop="carName">
<el-input v-model="dataForm.carName" placeholder="车型名称"></el-input>
</el-form-item>
@ -31,8 +32,8 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button size="mini" @click="visible = false">取消</el-button>
<el-button size="mini" type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>

3
base-vue/src/views/modules/car/car.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
@ -13,6 +13,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">

9
base-vue/src/views/modules/client/client-add-or-update.vue

@ -2,8 +2,9 @@
<el-dialog
:title="!dataForm.clientId ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
:visible.sync="visible"
width="500px">
<el-form :model="dataForm" :rules="dataRule" size="mini" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="客户名称" prop="clientName">
<el-input v-model="dataForm.clientName" placeholder="客户名称"></el-input>
</el-form-item>
@ -27,8 +28,8 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button size="mini" @click="visible = false">取消</el-button>
<el-button size="mini" type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>

3
base-vue/src/views/modules/client/client.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
@ -13,6 +13,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">

89
base-vue/src/views/modules/contract/contract-add-or-update.vue

@ -3,9 +3,9 @@
:title="!dataForm.contractId ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="100px" size="mini" label-position="left">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="100px" size="mini">
<el-row>
<el-col :span="12">
<el-form-item label="合同类型" prop="contractType">
<el-select v-model="dataForm.contractType" placeholder="合同类型" style="width: 100%;">
<el-option
@ -17,35 +17,25 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="11">
<el-col :span="12">
<el-form-item label="合同编号" prop="contractNumber">
<el-input v-model="dataForm.contractNumber" placeholder="合同编号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="是否是主合同" prop="isMaster">
<el-switch
v-model="dataForm.isMaster"
active-color="#409EFF"
inactive-color="#F56C6C"
:active-value="1"
:inactive-value="0"
/>
</el-form-item>
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-form-item label="客户" prop="clientId">
<el-select v-model="dataForm.clientId" placeholder="客户" style="width: 100%;">
<el-option
v-for="item in clientIdOpt"
:key="item.clientId"
:label="item.clientName"
:value="item.clientId">
</el-option>
</el-select>
<el-row>
<el-col :span="12">
<el-form-item label="是否是主合同" prop="isMaster">
<el-switch
v-model="dataForm.isMaster"
active-color="#409EFF"
inactive-color="#F56C6C"
:active-value="1"
:inactive-value="0"
/>
</el-form-item>
</el-col>
<el-col :span="11">
<el-col :span="12">
<el-form-item label="是否验收" prop="isAcceptance">
<el-switch
v-model="dataForm.isAcceptance"
@ -58,17 +48,29 @@
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-col :span="12">
<el-form-item label="客户" prop="clientId">
<el-select v-model="dataForm.clientId" placeholder="客户" style="width: 100%;">
<el-option
v-for="item in clientIdOpt"
:key="item.clientId"
:label="item.clientName"
:value="item.clientId">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remarks">
<el-input v-model="dataForm.remarks" placeholder="备注"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-row>
<el-col :span="12">
<el-button size="mini" type="primary" @click="addMaterial">选择物料</el-button>
</el-col>
<el-col :span="11">
<el-col :span="12">
<el-form-item label="总计">
<el-input v-model="dataForm.totalSum" placeholder="总计" disabled></el-input>
</el-form-item>
@ -214,12 +216,6 @@
align="center"
label="是否启用">
</el-table-column>
<el-table-column
prop="createTime"
header-align="center"
align="center"
label="创建时间">
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@ -244,8 +240,6 @@
return {
visible: false,
innerVisible: false,
contractTypeOpt: [],
clientIdOpt: [],
dataForm: {
contractId: 0,
contractType: '',
@ -279,6 +273,10 @@
materData: []
}
},
props: {
contractTypeOpt: Array,
clientIdOpt: Array
},
watch: {
materData: {
deep: true,
@ -287,24 +285,7 @@
}
}
},
created () {
this.getDictDetail()
},
methods: {
getDictDetail () {
this.$http({
url: this.$http.adornUrl('/api/dict/dictDetail?code=contract_type&page=0&size=9999'),
method: 'get'
}).then(({data}) => {
this.contractTypeOpt = [...data.content]
})
this.$http({
url: this.$http.adornUrl('/client/client/list?page=0&limit=9999'),
method: 'get'
}).then(({data}) => {
this.clientIdOpt = data.page.list
})
},
init (id) {
this.dataForm.contractId = id || 0
this.visible = true

80
base-vue/src/views/modules/contract/contract.vue

@ -8,7 +8,6 @@
<el-button @click="getDataList()">查询</el-button>
<el-button v-if="isAuth('tickets:contract:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
<el-button v-if="isAuth('tickets:contract:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
<el-button type="primary" @click="addTempHandle">模板生成</el-button>
</el-form-item>
</el-form>
<el-table
@ -28,19 +27,42 @@
prop="contractId"
header-align="center"
align="center"
label="id">
label="合同ID">
<template slot-scope="scope">
<el-popover
:content="'file/' + scope.row.type + '/' + scope.row.realName"
placement="top-start"
title="路径"
width="200"
trigger="hover"
>
<a
slot="reference"
:href="$baseUrl + '/file/' + scope.row.type + '/' + scope.row.realName"
class="el-link--primary"
style="word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color: #1890ff;font-size: 13px;"
target="_blank"
>
{{ scope.row.name }}
</a>
</el-popover>
</template>
</el-table-column>
<el-table-column
prop="contractType"
header-align="center"
align="center"
label="合同类型">
<template slot-scope="scope">
{{ scope.row.contractType | dictLabel(dictsOpt['contract_type']) }}
</template>
</el-table-column>
<el-table-column
prop="isMaster"
header-align="center"
align="center"
label="是否是主合同">
<template slot-scope="scope">
{{ ['否', '是'][scope.row.isMaster] }}
</template>
</el-table-column>
<el-table-column
prop="contractNumber"
@ -52,19 +74,18 @@
prop="clientId"
header-align="center"
align="center"
label="客户id">
</el-table-column>
<el-table-column
prop="materialJson"
header-align="center"
align="center"
label="物料信息">
label="客户">
<template slot-scope="scope">
{{ scope.row.clientId | dictLabel(clientIdOpt) }}
</template>
</el-table-column>
<el-table-column
prop="isAcceptance"
header-align="center"
align="center"
label="是否验收">
<template slot-scope="scope">
{{ ['否', '是'][scope.row.isAcceptance] }}
</template>
</el-table-column>
<el-table-column
prop="createTime"
@ -92,6 +113,8 @@
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.contractId)">修改</el-button>
<el-button type="text" size="small" @click="addTempHandle(scope.row.contractId)">模板</el-button>
<el-button type="text" size="small" @click="uploadHandle(scope.row.contractId)">上传</el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.contractId)">删除</el-button>
</template>
</el-table-column>
@ -106,14 +129,17 @@
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" :clientIdOpt="clientIdOpt" :contractTypeOpt="dictsOpt['contract_type']" @refreshDataList="getDataList"></add-or-update>
<temp-add-or-update v-if="tempVisible" ref="tempAdd"></temp-add-or-update>
<file-upload v-if="uploadVisible" ref="fileUpload"></file-upload>
</div>
</template>
<script>
import AddOrUpdate from './contract-add-or-update'
import TempAddOrUpdate from './temp-add-or-update'
import FileUpload from './file-upload'
import { dictDetail } from '@/utils/dict'
export default {
data () {
return {
@ -127,17 +153,34 @@
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false,
tempVisible: false
tempVisible: false,
uploadVisible: false,
clientIdOpt: []
}
},
mixins: [dictDetail(['contract_type'])],
components: {
AddOrUpdate,
TempAddOrUpdate
TempAddOrUpdate,
FileUpload
},
activated () {
this.getDictDetail()
this.getDataList()
},
methods: {
getDictDetail () {
this.$http({
url: this.$http.adornUrl('/client/client/list?page=0&limit=9999'),
method: 'get'
}).then(({data}) => {
this.clientIdOpt = data.page.list
this.clientIdOpt.map(el => {
this.$set(el, 'value', el.clientId)
this.$set(el, 'label', el.clientName)
})
})
},
//
getDataList () {
this.dataListLoading = true
@ -218,6 +261,13 @@
this.$nextTick(() => {
this.$refs.tempAdd.init(id)
})
},
//
uploadHandle (id) {
this.uploadVisible = true
this.$nextTick(() => {
this.$refs.fileUpload.init(id)
})
}
}
}

80
base-vue/src/views/modules/contract/file-upload.vue

@ -0,0 +1,80 @@
<template>
<el-dialog
title="文件上传"
:close-on-click-modal="false"
:visible.sync="visible"
width="500px">
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="文件名" prop="name">
<el-input v-model="dataForm.name" placeholder="文件名"></el-input>
</el-form-item>
<el-form-item label="上传">
<el-upload
ref="upload"
:limit="1"
:before-upload="beforeUpload"
:auto-upload="false"
:headers="headers"
:on-success="handleSuccess"
:on-error="handleError"
:action="$baseUrl + '/api/localStorage' + '?name=' + dataForm.name"
>
<div class="eladmin-upload"><i class="el-icon-upload" />添加文件</div>
<div slot="tip" class="el-upload__tip">可上传任意格式文件且不超过100M</div>
</el-upload>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="upload">确定</el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
name: ''
},
headers: { 'Authorization': 'Bearer ' + this.$cookie.get('token') }
}
},
methods: {
init (id) {
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
})
},
beforeUpload(file) {
let isLt2M = true
isLt2M = file.size / 1024 / 1024 < 100
if (!isLt2M) {
this.$message.error('上传文件大小不能超过 100MB!')
}
this.dataForm.name = file.name
return isLt2M
},
handleSuccess(response, file, fileList) {
this.$notify({title: '上传成功',type: 'success'})
this.$refs.upload.clearFiles()
},
handleError(e, file, fileList) {
const msg = JSON.parse(e.message)
this.$notify({
title: msg.message,
type: 'error',
duration: 2500
})
},
upload() {
this.$refs.upload.submit()
this.visible = false
this.$emit('refreshDataList')
}
}
}
</script>

3
base-vue/src/views/modules/deploy/flwdeploy.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
@ -11,6 +11,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">

3
base-vue/src/views/modules/deploy/flwdeployprodef.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
@ -11,6 +11,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">

9
base-vue/src/views/modules/flow/flwdemodel-add-or-update.vue

@ -2,16 +2,17 @@
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
:visible.sync="visible"
width="500px">
<el-form :model="dataForm" :rules="dataRule" size="mini" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="流程名称" prop="name">
<el-input v-model="dataForm.name" placeholder="流程名称"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button size="mini" @click="visible = false">取消</el-button>
<el-button size="mini" type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>

3
base-vue/src/views/modules/flow/flwdemodel.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
@ -11,6 +11,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">

3
base-vue/src/views/modules/instance/flwmycompleteinstance.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
@ -11,6 +11,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">

3
base-vue/src/views/modules/instance/flwmyinstance.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
@ -11,6 +11,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">

3
base-vue/src/views/modules/instance/flwtodoinstance.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
@ -11,6 +11,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">

9
base-vue/src/views/modules/material/material-add-or-update.vue

@ -2,8 +2,9 @@
<el-dialog
:title="!dataForm.materialId ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
:visible.sync="visible"
width="500px">
<el-form :model="dataForm" :rules="dataRule" size="mini" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="物料编码" prop="materialCode">
<el-input v-model="dataForm.materialCode" placeholder="物料编码"></el-input>
</el-form-item>
@ -31,8 +32,8 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button size="mini" @click="visible = false">取消</el-button>
<el-button size="mini" type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>

3
base-vue/src/views/modules/material/material.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
@ -13,6 +13,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">

70
base-vue/src/views/modules/order/order-add-or-update.vue

@ -1,70 +0,0 @@
<template>
<el-dialog
title="工单基本信息"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="140px">
<el-form-item label="车型">
<el-select v-model="dataForm.type" placeholder="车型">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="工单编号">
<el-input v-model="dataForm.code" placeholder="工单编号"></el-input>
</el-form-item>
<el-form-item label="故障类别">
<el-select v-model="dataForm.type" placeholder="故障类别">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联主合同编号">
<el-input v-model="dataForm.code" placeholder="关联主合同编号"></el-input>
</el-form-item>
<el-form-item label="客户">
<el-select v-model="dataForm.type" placeholder="客户">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="故障描述">
<el-input type="textarea" :rows="3" placeholder="故障描述" v-model="dataForm.code"></el-input>
</el-form-item>
<el-form-item label="客户对接人">
<el-input v-model="dataForm.code" placeholder="客户对接人"></el-input>
</el-form-item>
<el-form-item label="客户联系电话">
<el-input v-model="dataForm.code" placeholder="客户联系电话"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
type: '',
code: ''
}
}
},
methods: {
init (id) {
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
})
},
//
dataFormSubmit () {}
}
}
</script>

205
base-vue/src/views/modules/order/order.vue

@ -1,205 +0,0 @@
<template>
<div class="mod-order">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item label="工单类型">
<el-select v-model="dataForm.type" placeholder="工单类型">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="工单编号">
<el-input v-model="dataForm.number" placeholder="工单编号" clearable></el-input>
</el-form-item>
<el-form-item label="客户名称">
<el-input v-model="dataForm.name" placeholder="客户名称" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">查询</el-button>
<el-button type="primary" @click="addOrUpdateHandle">新增</el-button>
<el-button type="danger">删除</el-button>
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="roleName"
header-align="center"
align="center"
label="工单编号">
</el-table-column>
<el-table-column
prop="roleName"
header-align="center"
align="center"
label="车型类型">
</el-table-column>
<el-table-column
prop="roleName"
header-align="center"
align="center"
label="客户名称">
</el-table-column>
<el-table-column
prop="roleName"
header-align="center"
align="center"
label="合同号">
</el-table-column>
<el-table-column
prop="roleName"
header-align="center"
align="center"
label="故障分类">
</el-table-column>
<el-table-column
prop="roleName"
header-align="center"
align="center"
label="是否验收">
</el-table-column>
<el-table-column
prop="roleName"
header-align="center"
align="center"
label="工单状态">
</el-table-column>
<el-table-column
prop="roleName"
header-align="center"
align="center"
label="生成时间">
</el-table-column>
<el-table-column
prop="roleName"
header-align="center"
align="center"
label="创建人">
</el-table-column>
<el-table-column
prop="roleName"
header-align="center"
align="center"
label="处理人">
</el-table-column>
<el-table-column
prop="roleName"
header-align="center"
align="center"
label="关闭时间">
</el-table-column>
<el-table-column
prop="roleName"
header-align="center"
align="center"
label="附件资料">
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="assignHandle(scope.row.id)">指派</el-button>
<el-button type="text" size="small">关闭</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './order-add-or-update'
export default {
components: {
AddOrUpdate
},
data () {
return {
dataForm: {
type: '',
number: '',
name: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
activated () {
this.getDataList()
},
methods: {
//
getDataList () {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/sys/role/list'),
method: 'get',
params: this.$http.adornParams({
'page': this.pageIndex,
'limit': this.pageSize,
'roleName': this.dataForm.roleName
})
}).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
//
selectionChangeHandle (val) {
this.dataListSelections = val
},
//
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
assignHandle (id) {}
}
}
</script>

9
base-vue/src/views/modules/sys/dept-add-or-update.vue

@ -2,8 +2,9 @@
<el-dialog
:title="dataForm.deptId === null ? '新增部门信息' : '修改部门信息'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
:visible.sync="visible"
width="500px">
<el-form :model="dataForm" :rules="dataRule" size="mini" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="部门编码" prop="code">
<el-input v-model="dataForm.code" placeholder="部门编码"></el-input>
</el-form-item>
@ -48,8 +49,8 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button size="mini" @click="visible = false">取消</el-button>
<el-button size="mini" type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>

3
base-vue/src/views/modules/sys/dept.vue

@ -1,6 +1,6 @@
<template>
<div class="dept-menu">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input
v-model="dataForm.name"
@ -25,6 +25,7 @@
<el-table
v-loading="dataListLoading"
border
size="mini"
lazy
:load="getDeptDatas"
:default-sort="{prop: 'deptSort', order: 'ascending'}"

9
base-vue/src/views/modules/sys/dict-add-or-update.vue

@ -2,8 +2,9 @@
<el-dialog
:title="dataForm.dictId === null ? '新增字典' : '修改字典'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
:visible.sync="visible"
width="500px">
<el-form :model="dataForm" :rules="dataRule" size="mini" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="字典编码" prop="code">
<el-input v-model="dataForm.code" placeholder="字典编码"></el-input>
</el-form-item>
@ -12,8 +13,8 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button size="mini" @click="visible = false">取消</el-button>
<el-button size="mini" type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>

6
base-vue/src/views/modules/sys/dict.vue

@ -3,7 +3,7 @@
<el-row :gutter="10">
<el-col :xs="13" :sm="13" :md="13" :lg="13" :xl="13" style="margin-bottom: 10px">
<el-card>
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.blurry" placeholder="输入名称或者描述搜索" clearable></el-input>
</el-form-item>
@ -16,6 +16,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
highlight-current-row
style="width: 100%;"
@ -66,7 +67,7 @@
<el-card>
<div slot="header" class="card-title">
<span>字典详情</span>
<el-button v-if="isAuth('sys:dict:add')" style="float: right;" type="primary" @click="detailAddOrUpdateHandle()">新增</el-button>
<el-button size="mini" v-if="isAuth('sys:dict:add')" style="float: right;" type="primary" @click="detailAddOrUpdateHandle()">新增</el-button>
</div>
<div v-if="query.code === ''">
<div class="my-code">点击字典查看详情</div>
@ -75,6 +76,7 @@
<el-table
:data="detailList"
border
size="mini"
v-loading="detailListLoading"
highlight-current-row
style="width: 100%;">

9
base-vue/src/views/modules/sys/dictDetail-add-or-update.vue

@ -2,8 +2,9 @@
<el-dialog
:title="dataForm.dict_id === null ? '新增字典详情' : '修改字典详情'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
:visible.sync="visible"
width="500px">
<el-form :model="dataForm" :rules="dataRule" size="mini" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="字典标签" prop="label">
<el-input v-model="dataForm.label" placeholder="字典标签"></el-input>
</el-form-item>
@ -29,8 +30,8 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button size="mini" @click="visible = false">取消</el-button>
<el-button size="mini" type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>

3
base-vue/src/views/modules/sys/log.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-log">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="用户名/用户操作" clearable></el-input>
</el-form-item>
@ -11,6 +11,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
style="width: 100%">
<el-table-column

9
base-vue/src/views/modules/sys/menu-add-or-update.vue

@ -2,8 +2,9 @@
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
:visible.sync="visible"
width="500px">
<el-form :model="dataForm" :rules="dataRule" size="mini" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="类型" prop="type">
<el-radio-group v-model="dataForm.type">
<el-radio v-for="(type, index) in dataForm.typeList" :label="index" :key="index">{{ type }}</el-radio>
@ -71,8 +72,8 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button size="mini" @click="visible = false">取消</el-button>
<el-button size="mini" type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>

3
base-vue/src/views/modules/sys/menu.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-menu">
<el-form :inline="true" :model="dataForm">
<el-form :inline="true" :model="dataForm" size="mini">
<el-form-item>
<el-button v-if="isAuth('sys:menu:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
</el-form-item>
@ -10,6 +10,7 @@
:data="dataList"
row-key="menuId"
border
size="mini"
style="width: 100%; ">
<el-table-column
prop="name"

9
base-vue/src/views/modules/sys/notice-add-or-update.vue

@ -2,8 +2,9 @@
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
:visible.sync="visible"
width="500px">
<el-form :model="dataForm" :rules="dataRule" size="mini" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="标题" prop="name">
<el-input v-model="dataForm.name" placeholder="标题"></el-input>
</el-form-item>
@ -23,8 +24,8 @@
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button size="mini" @click="visible = false">取消</el-button>
<el-button size="mini" type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>

3
base-vue/src/views/modules/sys/notice.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
@ -13,6 +13,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">

2
base-vue/src/views/modules/sys/register.vue

@ -1,7 +1,7 @@
<template>
<div class="wrapper">
<div style="height: 60px; line-height: 60px; font-size: 20px; padding-left: 50px; color: white;
background-color: rgba(0,0,0,0.2)">Flowable流程设计管理系统</div>
background-color: rgba(0,0,0,0.2)">诺力售后管理平台</div>
<div style="margin: 150px auto; background-color: #fff; width: 350px; height: 340px; padding: 20px; border-radius: 10px">
<div style="margin: 20px 0; text-align: center; font-size: 24px"><b> </b></div>
<el-form :model="user" :rules="rules" ref="userForm">

11
base-vue/src/views/modules/sys/role-add-or-update.vue

@ -2,15 +2,16 @@
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
:visible.sync="visible"
width="500px">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" size="mini" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="角色名称" prop="roleName">
<el-input v-model="dataForm.roleName" placeholder="角色名称"></el-input>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="dataForm.remark" placeholder="备注"></el-input>
</el-form-item>
<el-form-item size="mini" label="授权">
<el-form-item label="授权">
<el-tree
:data="menuList"
:props="menuListTreeProps"
@ -22,8 +23,8 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button size="mini" @click="visible = false">取消</el-button>
<el-button size="mini" type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>

3
base-vue/src/views/modules/sys/role.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-role">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.roleName" placeholder="角色名称" clearable></el-input>
</el-form-item>
@ -13,6 +13,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">

9
base-vue/src/views/modules/sys/user-add-or-update.vue

@ -2,8 +2,9 @@
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
:visible.sync="visible"
width="500px">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" size="mini" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="用户名" prop="userName">
<el-input v-model="dataForm.userName" placeholder="登录帐号"></el-input>
</el-form-item>
@ -58,8 +59,8 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button size="mini" @click="visible = false">取消</el-button>
<el-button size="mini" type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>

5
base-vue/src/views/modules/sys/user.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-user">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.userName" placeholder="用户名" clearable></el-input>
</el-form-item>
@ -9,11 +9,12 @@
<el-button v-if="isAuth('sys:user:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
<el-button v-if="isAuth('sys:user:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>
</el-form-item>
<el-button @click="exp">导出<i class="el-icon-circle-plus-outline"></i></el-button>
<el-button size="mini" @click="exp">导出<i class="el-icon-circle-plus-outline"></i></el-button>
</el-form>
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">

65
base-vue/src/views/modules/tickets/tickets-add-or-update.vue

@ -2,12 +2,13 @@
<el-dialog
:title="!dataForm.ticketsId ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="120px">
:visible.sync="visible"
width="500px">
<el-form :model="dataForm" :rules="dataRule" label-width="100px" size="mini" ref="dataForm" @keyup.enter.native="dataFormSubmit()">
<el-form-item label="小车类型" prop="carType">
<el-select v-model="dataForm.carType" placeholder="小车类型">
<el-option
v-for="item in carTypeOpt"
v-for="item in dictsOpt['car_type']"
:key="item.value"
:label="item.label"
:value="item.value">
@ -15,9 +16,9 @@
</el-select>
</el-form-item>
<el-form-item label="异常类型" prop="errorType">
<el-select v-model="dataForm.carType" placeholder="小车类型">
<el-select v-model="dataForm.carType" placeholder="异常类型">
<el-option
v-for="item in errorTypeOpt"
v-for="item in dictsOpt['error_type']"
:key="item.value"
:label="item.label"
:value="item.value">
@ -25,24 +26,35 @@
</el-select>
</el-form-item>
<el-form-item label="合同编号" prop="contractNumber">
<el-input v-model="dataForm.contractNumber" placeholder="合同编号"></el-input>
<el-select v-model="dataForm.contractNumber" placeholder="合同编号">
<el-option
v-for="item in contractOpt"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="客户" prop="clientId">
<el-input v-model="dataForm.clientId" placeholder="客户id"></el-input>
<el-select v-model="dataForm.clientId" placeholder="客户">
<el-option
v-for="item in clientIdOpt"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="故障描述" prop="description">
<el-input v-model="dataForm.description" placeholder="故障描述"></el-input>
<el-input type="textarea" :rows="2" placeholder="故障描述" v-model="dataForm.description"></el-input>
</el-form-item>
<el-form-item label="客户联系电话" prop="deptPhone">
<el-input v-model="dataForm.deptPhone" placeholder="客户联系电话"></el-input>
</el-form-item>
<el-form-item v-show="dataForm.ticketsId" label="是否验收" prop="isCheck">
<el-input v-model="dataForm.isCheck" placeholder="是否验收"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
<el-button size="mini" @click="visible = false">取消</el-button>
<el-button size="mini" type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>
@ -61,8 +73,7 @@
contractNumber: '',
clientId: '',
description: '',
deptPhone: '',
isCheck: ''
deptPhone: ''
},
dataRule: {
carType: [
@ -73,31 +84,16 @@
],
clientId: [
{ required: true, message: '客户id不能为空', trigger: 'blur' }
],
description: [
{ required: true, message: '故障描述不能为空', trigger: 'blur' }
]
}
}
},
created () {
this.getDictDetail()
props: {
contractOpt: Array,
clientIdOpt: Array,
dictsOpt: Object
},
methods: {
getDictDetail () {
this.$http({
url: this.$http.adornUrl('/api/dict/dictDetail?code=car_type&page=0&size=9999'),
method: 'get'
}).then(({data}) => {
this.carTypeOpt = [...data.content]
})
this.$http({
url: this.$http.adornUrl('/api/dict/dictDetail?code=error_type&page=0&size=9999'),
method: 'get'
}).then(({data}) => {
this.errorTypeOpt = [...data.content]
})
},
init (id) {
this.dataForm.ticketsId = id || 0
this.visible = true
@ -116,7 +112,6 @@
this.dataForm.clientId = data.tickets.clientId
this.dataForm.description = data.tickets.description
this.dataForm.deptPhone = data.tickets.deptPhone
this.dataForm.isCheck = data.tickets.isCheck
}
})
}

44
base-vue/src/views/modules/tickets/tickets.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
</el-form-item>
@ -13,6 +13,7 @@
<el-table
:data="dataList"
border
size="mini"
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
@ -26,7 +27,7 @@
prop="ticketsId"
header-align="center"
align="center"
label="工单id">
label="工单ID">
</el-table-column>
<el-table-column
prop="carType"
@ -50,7 +51,7 @@
prop="clientId"
header-align="center"
align="center"
label="客户id">
label="客户">
</el-table-column>
<el-table-column
prop="description"
@ -62,24 +63,27 @@
prop="deptPeople"
header-align="center"
align="center"
min-width="90px"
label="部门对接人">
</el-table-column>
<el-table-column
prop="deptPhone"
header-align="center"
align="center"
min-width="100px"
label="客户联系电话">
</el-table-column>
<el-table-column
prop="createUserId"
header-align="center"
align="center"
label="创建者ID">
label="创建者">
</el-table-column>
<el-table-column
prop="createTime"
header-align="center"
align="center"
min-width="90px"
label="创建时间">
</el-table-column>
<el-table-column
@ -98,6 +102,7 @@
prop="updateTime"
header-align="center"
align="center"
min-width="100px"
label="工单关闭时间">
</el-table-column>
<el-table-column
@ -122,12 +127,13 @@
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" :contractOpt="contractOpt" :clientIdOpt="clientIdOpt" :dictsOpt="dictsOpt" @refreshDataList="getDataList"></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './tickets-add-or-update'
import { dictDetail } from '@/utils/dict'
export default {
data () {
return {
@ -140,16 +146,42 @@
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
addOrUpdateVisible: false,
contractOpt: [],
clientIdOpt: []
}
},
mixins: [dictDetail(['car_type', 'error_type'])],
components: {
AddOrUpdate
},
activated () {
this.getDataList()
this.getDictDetail()
},
methods: {
getDictDetail () {
this.$http({
url: this.$http.adornUrl('/flow/contract/list?page=0&limit=9999'),
method: 'get'
}).then(({data}) => {
this.contractOpt = data.page.list
this.contractOpt.map(el => {
this.$set(el, 'value', el.contractId)
this.$set(el, 'label', el.contractNumber)
})
})
this.$http({
url: this.$http.adornUrl('/client/client/list?page=0&limit=9999'),
method: 'get'
}).then(({data}) => {
this.clientIdOpt = data.page.list
this.clientIdOpt.map(el => {
this.$set(el, 'value', el.clientId)
this.$set(el, 'label', el.clientName)
})
})
},
//
getDataList () {
this.dataListLoading = true

Loading…
Cancel
Save