46 changed files with 665 additions and 461 deletions
After Width: | Height: | Size: 120 KiB |
@ -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-table–scrollable-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; |
||||
|
} |
||||
|
|
@ -1,3 +1,4 @@ |
|||||
@import "normalize"; // api: https://github.com/necolas/normalize.css/ |
@import "normalize"; // api: https://github.com/necolas/normalize.css/ |
||||
@import "variables"; // 站点变量 |
@import "variables"; // 站点变量 |
||||
@import "base"; |
@import "base"; |
||||
|
@import 'eladmin'; |
||||
|
@ -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 |
||||
|
} |
||||
|
|
@ -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> |
@ -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> |
|
@ -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> |
|
Loading…
Reference in new issue