Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
dd_school
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangqi
dd_school
Commits
cd0bc33b
Commit
cd0bc33b
authored
Aug 07, 2023
by
zhaopanyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
zpy 8.7
parent
36f607ea
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1781 additions
and
0 deletions
+1781
-0
ruoyi-ui/src/views/smartSchool/schoolProperty/classiFication/index.vue
+430
-0
ruoyi-ui/src/views/smartSchool/schoolProperty/equipmenTledger/index.vue
+803
-0
ruoyi-ui/src/views/smartSchool/schoolProperty/repairApplicant/index.vue
+548
-0
No files found.
ruoyi-ui/src/views/smartSchool/schoolProperty/classiFication/index.vue
0 → 100644
View file @
cd0bc33b
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryForm"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"80px"
@
submit
.
native
.
prevent
>
<el-form-item
label=
"设备分类"
prop=
"sbfl"
>
<el-select
v-model=
"queryForm.sbfl"
placeholder=
"请选择设备分类"
clearable
>
<el-option
v-for=
"item in sbflOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"型号"
prop=
"xh"
>
<el-input
v-model=
"queryForm.xh"
placeholder=
"请输入型号"
clearable
/>
</el-form-item>
<el-form-item
label=
"分类编码"
prop=
"flbm"
>
<el-input
v-model=
"queryForm.flbm"
placeholder=
"请输入型号"
clearable
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row
class=
"mb8"
:gutter=
"10"
>
<el-col
:span=
"1.5"
>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-plus"
@
click=
"handleAdd"
v-hasPermi=
"['system:assets:remove']"
>
新增
</el-button>
</el-col>
</el-row>
<!-- 表单数据 -->
<el-table
v-if=
"refreshTable"
:data=
"assetsList"
v-loading=
"loading"
row-key=
"id"
:default-expand-all=
"isExpandAll"
:tree-props=
"
{ children: 'children', hasChildren: 'hasChildren' }">
<el-table-column
label=
"分类编码"
header-align=
"center"
prop=
"typeName"
></el-table-column>
<el-table-column
label=
"设备分类"
align=
"center"
prop=
"typeNum"
></el-table-column>
<el-table-column
label=
"型号"
align=
"center"
prop=
"typeOrder"
></el-table-column>
<el-table-column
label=
"管理员"
align=
"center"
prop=
"remark"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:assets:edit']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleLook(scope.row)"
v-hasPermi=
"['system:assets:edit']"
>
查看
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:assets:remove']"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<!-- 新增/修改弹出框 -->
<el-dialog
width=
"800px"
:visible
.
sync=
"open"
:title=
"title"
append-to-body
@
close=
"cancel"
>
<el-form
ref=
"postForm"
:model=
"postForm"
:rules=
"rules"
label-width=
"110px"
>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"分类编码"
prop=
"typeName"
>
<el-input
v-model=
"postForm.typeName"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"设备分类"
prop=
"typeNum"
>
<el-select
v-model=
"postForm.typeNum"
placeholder=
"请选择设备分类"
clearable
>
<el-option
v-for=
"item in sbflOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:style=
"{ width: '206.66px' }"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"型号"
prop=
"typeOrder"
>
<el-select
v-model=
"postForm.typeOrder"
placeholder=
"请选择型号"
clearable
>
<el-option
v-for=
"item in xhOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:style=
"{ width: '100%' }"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"管理员"
prop=
"licensePlate"
>
<el-input
v-model=
"postForm.licensePlate"
placeholder=
"请选择管理员"
@
focus=
"selectChange"
style=
"width: 100%"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- 查看弹出框 -->
<el-dialog
width=
"800px"
:visible
.
sync=
"openLook"
:title=
"title"
append-to-body
@
close=
"cancel"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"110px"
>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"分类编码"
prop=
"typeName"
>
<el-input
v-model=
"form.typeName"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"设备分类"
prop=
"typeNum"
>
<el-select
v-model=
"form.typeNum"
placeholder=
"请选择设备分类"
clearable
>
<el-option
v-for=
"item in sbflOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:style=
"{ width: '206.66px' }"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"型号"
prop=
"typeOrder"
>
<el-select
v-model=
"form.typeOrder"
placeholder=
"请选择型号"
clearable
>
<el-option
v-for=
"item in xhOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:style=
"{ width: '100%' }"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"管理员"
prop=
"licensePlate"
>
<el-input
v-model=
"form.licensePlate"
placeholder=
"管理员"
@
focus=
"selectChange"
:disabled=
"isDisabled"
style=
"width: 100%"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- 选择管理员弹出框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"workableVehicle"
width=
"960px"
append-to-body
>
<el-form
:model=
"queryVehicleForm"
inline
@
submit
.
native
.
prevent
>
<el-form-item
label=
"管理员"
>
<el-input
v-model=
"queryVehicleForm.licensePlate"
placeholder=
"请输入管理员"
></el-input>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
size=
"small"
icon=
"el-icon-search"
@
click=
"handleQueryVehicle"
>
搜索
</el-button>
<el-button
plain
size=
"small"
icon=
"el-icon-refresh"
@
click=
"resetQueryVehicle"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
:data=
"vehicleList"
max-height=
"350"
ref=
"vehicleSelectTable"
@
row-click=
"rowClick"
@
selection-change=
"selectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"管理员"
align=
"center"
prop=
"licensePlate"
>
</el-table-column>
</el-table>
<ExPagination
v-show=
"vehicleTotal > 0"
:total=
"vehicleTotal"
:page
.
sync=
"queryVehicleForm.pageNum"
:limit
.
sync=
"queryVehicleForm.pageSize"
@
pagination=
"getVehicleList"
></ExPagination>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"selectVehicle"
:disabled=
"!multi"
>
确 定
</el-button>
<el-button
@
click=
"abolish"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
getVehicleList
,
}
from
"@/api/smartSchool/personWork/vehicleApply"
;
import
{
getClassList
,
queryClass
,
addClass
,
editClass
,
deleteClass
}
from
'@/api/smartSchool/logisticsManage/assetsClassification.js'
export
default
{
name
:
"AssetsClassification"
,
dicts
:
[
"vehicle_type"
,
"vehicle_state"
],
data
()
{
return
{
// 管理员列表总数
vehicleTotal
:
0
,
// 可选管理员列表
vehicleList
:
[],
// 管理员列表
queryVehicleForm
:
{
pageNum
:
1
,
pageSize
:
10
,
licensePlate
:
''
},
// 是否显示选择管理员弹出层
workableVehicle
:
false
,
// 是否禁用输入框
isDisabled
:
false
,
//型号下拉框
xhOptions
:
[
{
value
:
'选项1'
,
label
:
'1'
},
{
value
:
'选项2'
,
label
:
'2'
},
{
value
:
'选项3'
,
label
:
'3'
},
{
value
:
'选项4'
,
label
:
'4'
},
{
value
:
'选项5'
,
label
:
'5'
}
],
queryForm
:
{
typeName
:
''
,
// 资产分类名称
typeNum
:
''
,
// 编号
typeOrder
:
''
,
// 排序号
remark
:
''
,
// 备注
},
form
:
{
typeName
:
''
,
// 资产分类名称
typeNum
:
''
,
// 编号
typeOrder
:
''
,
// 排序号
remark
:
''
,
// 备注
},
//设备分类下拉框
sbflOptions
:
[],
// 遮罩层
loading
:
false
,
// 资产信息列表
assetsList
:
[],
// 新增/修改表单
postForm
:
{},
// 弹出层标题
title
:
''
,
// 是否显示弹出层
open
:
false
,
//查看弹出框
openLook
:
false
,
// 多个禁用
multi
:
false
,
// 展开
isExpandAll
:
true
,
// 重新渲染表格状态
refreshTable
:
true
,
// 校验规则
rules
:
{
typeName
:
[{
required
:
true
,
message
:
'资产分类不能为空'
,
trigger
:
'blur'
}],
typeNum
:
[{
required
:
true
,
message
:
'资产编号不能为空'
,
trigger
:
'blur'
}],
},
}
},
created
()
{
this
.
getList
();
},
methods
:
{
//查询表单数据
getList
()
{
this
.
loading
=
true
;
// 加载效果
getClassList
(
this
.
queryForm
).
then
(
response
=>
{
this
.
assetsList
=
this
.
handleTree
(
response
.
data
,
"id"
,
'pid'
,
'children'
);
this
.
loading
=
false
;
})
},
// 可选管理员取消按钮
abolish
()
{
this
.
workableVehicle
=
false
;
this
.
$nextTick
(()
=>
{
this
.
$refs
.
postForm
.
validateField
(
'licensePlate'
);
})
},
// 选择管理员
selectVehicle
()
{
// 这里面就来给表单赋值
this
.
postForm
.
vehicleId
=
this
.
selectedCar
.
id
;
this
.
$set
(
this
.
postForm
,
'licensePlate'
,
this
.
selectedCar
.
licensePlate
);
// this.postForm.licensePlate = this.selectedCar.licensePlate;
this
.
abolish
();
},
// 列表查询管理员列表
getVehicleList
()
{
this
.
vehicleLoading
=
true
;
console
.
log
(
'this.queryVehicleForm'
,
this
.
queryVehicleForm
)
this
.
$set
(
this
.
queryVehicleForm
,
'vehicleState'
,
0
)
getVehicleList
(
this
.
queryVehicleForm
).
then
(
response
=>
{
this
.
vehicleLoading
=
false
;
this
.
vehicleList
=
response
.
rows
;
this
.
vehicleTotal
=
response
.
total
;
}).
catch
(
err
=>
{
this
.
vehicleLoading
=
false
;
})
},
// 查询管理员列表
handleQueryVehicle
()
{
this
.
throttle
(()
=>
{
this
.
getVehicleList
();
})
},
rowClick
(
row
)
{
this
.
$refs
.
vehicleSelectTable
.
clearSelection
();
this
.
$refs
.
vehicleSelectTable
.
toggleRowSelection
(
row
,
true
);
},
// 选择管理员对话框选中数据
selectionChange
(
selection
)
{
this
.
selectedCar
=
selection
[
0
];
this
.
multi
=
selection
.
length
===
1
;
},
// 查询管理员列表
handleQueryVehicle
()
{
this
.
throttle
(()
=>
{
this
.
getVehicleList
();
})
},
// 重置管理员列表查询
resetQueryVehicle
()
{
this
.
queryVehicleForm
=
{
pageNum
:
1
,
pageSize
:
10
,
licensePlate
:
''
};
this
.
handleQueryVehicle
();
},
// 弹出选择管理员对话框
selectChange
()
{
this
.
workableVehicle
=
true
;
this
.
handleQueryVehicle
();
},
// 展开/折叠
toggleExpandAll
()
{
this
.
refreshTable
=
false
;
this
.
isExpandAll
=
!
this
.
isExpandAll
;
this
.
$nextTick
(()
=>
{
this
.
refreshTable
=
true
;
});
},
// 搜索
handleQuery
()
{
this
.
getList
();
},
// 新增
handleAdd
(
row
)
{
this
.
reset
();
if
(
row
!=
null
&&
row
.
id
)
{
this
.
postForm
.
pid
=
row
.
id
;
}
else
{
this
.
postForm
.
pid
=
0
;
}
this
.
open
=
true
;
this
.
title
=
"新增设备分类"
;
},
// 修改
handleUpdate
(
row
)
{
this
.
reset
();
queryClass
(
row
.
id
).
then
(
response
=>
{
this
.
postForm
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"修改资产信息"
;
});
},
// 查看
handleLook
(
row
)
{
this
.
reset
();
queryClass
(
row
.
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
openLook
=
true
;
this
.
title
=
"查看资产信息"
;
this
.
isDisabled
=
true
;
});
},
// 删除
handleDelete
(
row
)
{
this
.
$modal
.
confirm
(
`是否确认删除此数据?`
).
then
(()
=>
{
this
.
loading
=
true
;
return
deleteClass
(
row
.
id
);
}).
then
(()
=>
{
this
.
getList
();
this
.
loading
=
false
;
this
.
$modal
.
msgSuccess
(
"删除成功"
);
}).
catch
(()
=>
{
this
.
loading
=
false
});
},
// 确定
submitForm
()
{
this
.
$refs
[
"postForm"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
postForm
.
id
!=
null
)
{
editClass
(
this
.
postForm
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
addClass
(
this
.
postForm
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
});
},
// 取消
cancel
()
{
this
.
open
=
false
;
this
.
openLook
=
false
;
this
.
reset
();
},
// 重置提交表单
reset
()
{
this
.
postForm
=
{
typeName
:
''
,
// 资产分类名称
typeNum
:
''
,
// 编号
typeOrder
:
''
,
// 排序号
remark
:
''
,
// 备注
};
this
.
resetForm
(
'postForm'
)
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
}
}
}
</
script
>
<
style
></
style
>
ruoyi-ui/src/views/smartSchool/schoolProperty/equipmenTledger/index.vue
0 → 100644
View file @
cd0bc33b
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
v-show=
"showSearch"
inline
>
<el-form-item
label=
"设备名称"
>
<el-input
v-model=
"queryParams.equipmentName"
@
keyup
.
enter
.
native=
"handleQuery"
clearable
placeholder=
"请输入设备名称"
></el-input>
</el-form-item>
<el-form-item
label=
"分类编码"
>
<el-input
v-model=
"queryParams.equipmentCode"
@
keyup
.
enter
.
native=
"handleQuery"
clearable
placeholder=
"请输入分类编码"
></el-input>
</el-form-item>
<el-form-item
label=
"设备状态"
>
<el-select
v-model=
"queryParams.equipmentStatus"
@
keyup
.
enter
.
native=
"handleQuery"
clearable
placeholder=
"请选择设备状态"
>
<el-option
v-for=
"dict in dict.type.EquipmentStatus"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"归属类型"
>
<el-select
v-model=
"queryParams.belongType"
@
keyup
.
enter
.
native=
"handleQuery"
clearable
placeholder=
"请选择归属类型"
>
<el-option
v-for=
"dict in dict.type.BelongType"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-button
class=
"ml20"
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"info"
plain
icon=
"el-icon-upload2"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExportClass"
>
导出
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
icon=
"el-icon-printer"
size=
"mini"
@
click=
"printBarcodes"
>
批量打印条码
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
stripe
:data=
"ClassList"
:cell-style=
"
{ padding: '5px' }"
@selection-change="handleSelectionChange" width="100%">
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
header-align=
"center"
align=
"center"
type=
"index"
width=
"50"
/>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"equipmentCode"
label=
"自编码"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"equipmentName"
label=
"设备名称"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"equipmentModel"
label=
"型号"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"equipmentSpec"
label=
"规格"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"equipmentTypeCode"
label=
"分类编码"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"equipmentUnit"
label=
"单位"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"belongType"
label=
"归属类型"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"equipmentStatus"
label=
"设备状态"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"isAllowBorrow"
label=
"是否允许借出"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"isBorrow"
label=
"是否借出"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"productionDate"
label=
"投产日期"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"equipmentPrice"
label=
"价格(元)"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"usefulLife"
label=
"效用年限(年)"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"equipmentPlace"
label=
"地点"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"equipmentUser"
label=
"使用人"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
header-align=
"center"
align=
"center"
prop=
"remark"
label=
"备注"
min-width=
"80"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
min-width=
"250px"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:grade:edit']"
>
编辑
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:grade:edit']"
>
查看
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:grade:remove']"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 添加或修改学校班级对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"dialogVisibleforClass"
width=
"800px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
:disabled=
"!isEdit"
label-width=
"140px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"自编码:"
prop=
"teacherName"
>
<el-input
v-model=
"form.teacherName"
placeholder=
"请输入自编码"
clearable
@
click
.
native=
"selectTeacher"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"设备名称:"
prop=
"equipmentName"
>
<el-input
v-model=
"form.equipmentName"
placeholder=
"请输入设备名称"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"型号:"
prop=
"equipmentModel"
>
<el-input
v-model=
"form.equipmentModel"
placeholder=
"请输入型号"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"规格:"
prop=
"equipmentSpec"
>
<el-input
v-model=
"form.equipmentSpec"
placeholder=
"请输入规格"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"分类编码:"
prop=
"equipmentType"
>
<el-input
v-model=
"form.equipmentType"
placeholder=
"请输入分类编码"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"单位:"
prop=
"equipmentUnit"
>
<el-input
v-model=
"form.equipmentUnit"
placeholder=
"请输入单位"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"归属类型:"
prop=
"equipmentBelongType"
>
<el-input
v-model=
"form.equipmentBelongType"
placeholder=
"请输入归属类型"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"设备状态:"
>
<el-select
v-model=
"queryParams.equipmentStatus"
@
keyup
.
enter
.
native=
"handleQuery"
clearable
placeholder=
"请选择设备状态"
>
<el-option
v-for=
"dict in dict.type.EquipmentStatus"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否允许借出:"
prop=
"equipmentIsBorrow"
>
<el-select
v-model=
"queryParams.equipmentIsBorrow"
@
keyup
.
enter
.
native=
"handleQuery"
clearable
placeholder=
"请选择是否允许借出"
>
<el-option
v-for=
"dict in dict.type.EquipmentIsBorrow"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否借出:"
prop=
"equipmentIsBorrow"
>
<el-select
v-model=
"queryParams.equipmentIsBorrow"
@
keyup
.
enter
.
native=
"handleQuery"
clearable
placeholder=
"请选择是否借出"
>
<el-option
v-for=
"dict in dict.type.EquipmentIsBorrow"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"投产日期:"
prop=
"equipmentProductionDate"
>
<el-date-picker
v-model=
"form.equipmentProductionDate"
type=
"date"
placeholder=
"选择日期"
style=
"width: 100%;"
value-format=
"yyyy-MM-dd"
clearable
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"价格:"
prop=
"equipmentPrice"
>
<el-input
v-model=
"form.equipmentPrice"
placeholder=
"请输入价格"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"效用年限(年):"
prop=
"equipmentUseYear"
>
<el-input
v-model=
"form.equipmentUseYear"
placeholder=
"请输入效用年限(年)"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"地点:"
prop=
"equipmentAddress"
>
<el-input
v-model=
"form.equipmentAddress"
placeholder=
"请输入地点"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"使用人:"
prop=
"equipmentUsePerson"
>
<el-input
v-model=
"form.equipmentUsePerson"
placeholder=
"请输入使用人"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"备注:"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
placeholder=
"请输入备注"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
v-show=
"isEdit"
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
{{ !isEdit ? '退 出' : '取 消' }}
</el-button>
</div>
</el-dialog>
<!-- 导入对话框-->
<el-dialog
:title=
"upload.title"
:visible
.
sync=
"upload.open"
width=
"400px"
append-to-body
>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:action=
"upload.url"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em></div>
<div
class=
"el-upload__tip text-center"
slot=
"tip"
>
<span>
仅允许导入xls、xlsx格式文件。
</span>
<el-link
type=
"primary"
:underline=
"false"
style=
"font-size: 12px; vertical-align: baseline"
@
click=
"importTemplate"
>
下载模板
</el-link>
</div>
</el-upload>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitFileForm"
>
确 定
</el-button>
<el-button
@
click=
"upload.open = false"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
getNewYear
}
from
"@/api/smartSchool/teachAffairAdministration/affairClassView"
;
import
{
getClassList
,
getDetailInfo
,
addClass
,
editClass
,
deleteClass
,
allBY
,
editBatch
,
}
from
"@/api/smartSchool/teachAffairAdministration/affairClassManage/index"
;
import
TeacherSelect
from
'@/views/components/moduleComponets/TeacherSelect/index.vue'
import
{
teacherListInform
}
from
"@/api/smartSchool/teacherManage/teacherInformation"
;
import
PicAvatar
from
"@/views/smartSchool/schoolManage/introduce/schoolInfo/profile/picAvatar"
;
import
{
commonUpload
}
from
"@/api/common"
;
import
{
getYearList
}
from
"@/utils/utilLibrary/getYearList"
;
import
{
getToken
}
from
"@/utils/auth"
;
import
{
TempGrades
,
TEXT_SIZE_ONE_HU
,
TEXT_SIZE_ONE_TH
,
TEXT_SIZE_TEL
}
from
"@/enums/common"
;
export
default
{
name
:
"index"
,
dicts
:
[
"Class"
,
"Grade"
,
"grade_type"
,
"section_type"
],
components
:
{
TeacherSelect
,
PicAvatar
},
data
()
{
return
{
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
// 文本域
TEXT_SIZE_ONE_HU
,
TEXT_SIZE_ONE_TH
,
TEXT_SIZE_TEL
,
//获取子组件传来的信息
pic
:
[],
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 学校班级表格数据
ClassList
:
[],
// 弹出层标题
title
:
""
,
// 添加或修改学校班级对话框
dialogVisibleforClass
:
false
,
// 批量操作对话框
dialogVisibleforBatch
:
false
,
// 任课教师列表对话框
dialogVisibleForTeachers
:
false
,
// 教师对话框标题
titleInform
:
''
,
// 老师信息选择对话框
openTeacherInform
:
false
,
// 班级导入参数
upload
:
{
// 是否显示弹出层(班级导入)
open
:
false
,
// 弹出层标题(班级导入)
title
:
""
,
// 是否禁用上传
isUploading
:
false
,
// 设置上传的请求头部
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
},
// 上传的地址
url
:
process
.
env
.
VUE_APP_BASE_API
+
"/schoolClass/importData"
},
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
classValue
:
undefined
,
gradeAlias
:
undefined
,
houseName
:
undefined
,
teacherName
:
undefined
,
teacherTel
:
undefined
,
isUsed
:
undefined
,
schoolYear
:
new
Date
().
getFullYear
()
},
// 表单参数
form
:
{},
batchForm
:
{},
// 表单校验
rules
:
{
schoolYear
:
[{
required
:
true
,
message
:
'学年不能为空'
,
trigger
:
'change'
}],
gradeValue
:
[{
required
:
true
,
message
:
'年级不能为空'
,
trigger
:
'change'
}],
classValue
:
[{
required
:
true
,
message
:
'班级不能为空'
,
trigger
:
'change'
}],
teacherName
:
[{
required
:
true
,
message
:
'班主任姓名不能为空'
,
trigger
:
'change'
}],
teacherTel
:
[{
required
:
true
,
message
:
'班主任手机号不能为空'
,
trigger
:
'change'
}],
houseName
:
[{
required
:
true
,
message
:
'所在教学楼不能为空'
,
trigger
:
'change'
}],
classNum1
:
[{
required
:
true
,
message
:
'高一班级数量不能为空'
,
trigger
:
'blur'
}],
classNum2
:
[{
required
:
true
,
message
:
'高二班级数量不能为空'
,
trigger
:
'blur'
}],
classNum3
:
[{
required
:
true
,
message
:
'高三班级数量不能为空'
,
trigger
:
'blur'
}],
// teacherWord: [{required: true, message: '寄语不能为空', trigger: 'blur'}],
},
// 任课教师列表表单
teachersListForm
:
{},
// 教师列表
teachersList
:
[],
// 新增或修改老师对话框
teacherPerForm
:
{},
// 控制表格属性的显示与隐藏
columns
:
[
{
key
:
0
,
label
:
`班徽`
,
visible
:
true
},
{
key
:
1
,
label
:
`当前学年`
,
visible
:
true
},
{
key
:
2
,
label
:
`类型`
,
visible
:
false
},
{
key
:
3
,
label
:
`年级`
,
visible
:
true
},
{
key
:
4
,
label
:
`班级`
,
visible
:
true
},
{
key
:
5
,
label
:
`班级别名`
,
visible
:
true
},
{
key
:
6
,
label
:
`所在教学楼`
,
visible
:
true
},
{
key
:
7
,
label
:
`班主任姓名`
,
visible
:
true
},
{
key
:
8
,
label
:
`班主任手机号`
,
visible
:
true
},
{
key
:
9
,
label
:
`班级口号`
,
visible
:
true
},
{
key
:
10
,
label
:
`班主任寄语`
,
visible
:
false
},
{
key
:
11
,
label
:
`是否毕业`
,
visible
:
true
},
{
key
:
12
,
label
:
`备注`
,
visible
:
false
},
],
// 选择老师对话框
teacherOptions
:
{
open
:
false
,
title
:
'选择老师'
},
// 上传图片的加载效果
uploadLoading
:
false
,
// imageUrl: '',
// 年份列表数据
yearList
:
[],
// 表单是否可以修改、
isEdit
:
true
,
};
},
created
()
{
this
.
yearList
=
getYearList
();
//获取最新年份
this
.
newYear
()
},
computed
:
{
resolveClassName
()
{
return
form
=>
{
// const result = ['*', '*', '*'];
const
result
=
[];
const
{
classValue
,
gradeValue
,
schoolYear
}
=
form
;
classValue
&&
(
result
[
1
]
=
this
.
dict
.
type
.
Class
.
find
(
item
=>
item
.
value
==
classValue
).
label
);
gradeValue
&&
(
result
[
0
]
=
TempGrades
.
find
(
item
=>
item
.
value
==
gradeValue
).
label
);
// schoolYear && (result[0] = schoolYear);
form
.
gradeName
=
result
[
0
];
form
.
className
=
result
[
1
];
form
.
classAlias
=
result
.
join
(
''
);
return
form
.
classAlias
;
}
}
},
watch
:
{
'form.schoolYear'
(
val
)
{
this
.
form
.
schoolYear
=
''
+
val
;
},
pic
:
{
handler
(
newValue
,
oldValue
)
{
this
.
isUploadPic
=
newValue
[
3
]
}
}
},
methods
:
{
schoolYearChange
()
{
console
.
log
(
"日期改变"
,
this
.
form
.
schoolYear
)
},
newYear
()
{
getNewYear
().
then
((
res
)
=>
{
this
.
queryParams
.
schoolYear
=
res
.
schoolYear
this
.
handleQuery
();
})
},
/** 查询学校班级列表 */
getList
()
{
this
.
loading
=
true
;
getClassList
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
ClassList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
// 取消按钮
cancel
()
{
this
.
dialogVisibleforClass
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{
picUrl
:
''
,
schoolYear
:
''
,
classNum1
:
0
,
classNum2
:
0
,
classNum3
:
0
,
gradeValue
:
''
,
classValue
:
''
,
classAlias
:
''
,
teacherName
:
''
,
houseName
:
''
,
remark
:
''
,
teacherTel
:
''
,
classSlogan
:
''
,
teacherWord
:
''
};
// this.imageUrl = '';
//表单可编辑
this
.
isEdit
=
true
;
this
.
resetForm
(
"form"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
queryParams
=
{
pageNum
:
1
,
pageSize
:
10
,
classValue
:
undefined
,
classAlias
:
undefined
,
houseName
:
undefined
,
teacherName
:
undefined
,
teacherTel
:
undefined
,
isUsed
:
undefined
,
};
this
.
newYear
();
//
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
((
item
)
=>
item
.
id
);
this
.
single
=
selection
.
length
!==
1
;
this
.
multiple
=
!
selection
.
length
;
},
//获取图片信息
getClassInfoPic
(
val
)
{
this
.
pic
=
val
},
/** 新增班级按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
dialogVisibleforClass
=
true
;
this
.
title
=
"添加班级信息"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
id
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
loading
(
'正在加载数据,请稍等...'
);
getDetailInfo
(
id
).
then
((
response
)
=>
{
this
.
$modal
.
closeLoading
();
this
.
form
=
response
.
data
;
this
.
dialogVisibleforClass
=
true
;
this
.
title
=
"修改班级信息"
;
}).
catch
(
error
=>
{
this
.
$modal
.
closeLoading
();
})
},
/** 查看详情 */
handleDetail
(
row
)
{
this
.
reset
();
const
id
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
loading
(
'正在加载数据,请稍等...'
);
getDetailInfo
(
id
).
then
(
response
=>
{
this
.
$modal
.
closeLoading
();
this
.
form
=
response
.
data
;
this
.
dialogVisibleforClass
=
true
;
this
.
title
=
"班级详情"
;
this
.
isEdit
=
false
;
}).
catch
(
error
=>
{
this
.
$modal
.
closeLoading
();
})
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"form"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
// 将年级和班级信息赋值
this
.
handleBaseInfo
();
this
.
$modal
.
loading
(
'正在上传数据,请稍等...'
);
if
(
this
.
form
.
id
!=
null
)
{
editClass
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
closeLoading
();
this
.
$modal
.
msgSuccess
(
"修改班级成功"
);
this
.
dialogVisibleforClass
=
false
;
this
.
getList
();
}).
catch
(
error
=>
{
this
.
$modal
.
closeLoading
();
})
}
else
{
addClass
({
...
this
.
form
,
gradeType
:
4
}).
then
((
response
)
=>
{
this
.
$modal
.
closeLoading
();
this
.
$modal
.
msgSuccess
(
"新增班级成功"
);
this
.
dialogVisibleforClass
=
false
;
this
.
getList
();
}).
catch
(
error
=>
{
this
.
$modal
.
closeLoading
();
})
}
}
});
},
handleBaseInfo
()
{
this
.
form
.
gradeName
=
this
.
dict
.
type
.
Grade
.
find
(
item
=>
item
.
value
==
this
.
form
.
gradeValue
).
label
;
this
.
form
.
className
=
this
.
dict
.
type
.
Class
.
find
(
item
=>
item
.
value
==
this
.
form
.
classValue
).
label
;
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'是否确认删除所选班级?'
).
then
(()
=>
{
this
.
$modal
.
loading
(
'正在删除,请稍等...'
);
return
deleteClass
(
ids
);
}).
then
(
response
=>
{
this
.
$modal
.
closeLoading
();
this
.
$modal
.
msgSuccess
(
"删除班级成功"
);
this
.
getList
();
}).
catch
(
error
=>
{
this
.
$modal
.
closeLoading
();
})
},
// // 批量毕业
// handleGraduation() {
// allBY(this.ids).then((reponse) => {
// this.$modal.msgSuccess("操作成功");
// this.getList();
// });
// },
// 批量打印
printBarcodes
()
{
// this.$modal.confirm('是否确认打印所选班级条码?').then(() => {
// this.$modal.loading('正在打印,请稍等...');
// return printBarcodes(this.ids);
// }).then(response => {
// this.$modal.closeLoading();
// this.$modal.msgSuccess("打印成功");
// this.getList();
// }).catch(error => {
// this.$modal.closeLoading();
// })
},
// 取消按钮
cancelForBatch
()
{
this
.
dialogVisibleforBatch
=
false
;
this
.
reset
();
},
submitFormForBatch
()
{
console
.
log
(
"点击提交"
)
this
.
$refs
[
"form"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
$modal
.
loading
(
'正在上传数据,请稍等...'
);
editBatch
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
closeLoading
();
this
.
$modal
.
msgSuccess
(
"批量修改成功"
);
this
.
dialogVisibleforBatch
=
false
;
this
.
getList
();
}).
catch
(
error
=>
{
this
.
$modal
.
closeLoading
();
})
}
});
},
// 下载班级模板
importTemplate
()
{
this
.
download
(
"/schoolClass/importTemplate"
,
{},
`班级管理.xlsx`
);
},
/** 导入按钮操作 */
handleImport
()
{
this
.
upload
.
title
=
"班级导入"
;
this
.
upload
.
open
=
true
;
},
/** 导出班级按钮操作 */
handleExportClass
()
{
const
length
=
this
.
ids
.
length
;
const
ids
=
this
.
ids
;
if
(
!
length
)
{
this
.
download
(
"/schoolClass/export"
,
{
...
this
.
queryParams
,
},
`班级管理.xlsx`
);
}
else
{
this
.
download
(
"/schoolClass/export/"
+
ids
,
{
...
this
.
queryParams
,
},
`class_
${
new
Date
().
getTime
()}
.xlsx`
);
}
},
// 获取教师信息
teacherInfoList
()
{
this
.
teacherOptions
.
open
=
true
;
},
/** 选择老师(打开对话框) */
selectTeacher
()
{
this
.
teacherOptions
.
open
=
true
;
},
/** 获取老师信息列表 */
getTeacherList
(
queryForm
,
callback
)
{
teacherListInform
({
...
queryForm
,
employeeType
:
0
}).
then
(
response
=>
{
callback
(
response
.
rows
,
response
.
total
);
}).
catch
(
error
=>
{
callback
([],
0
);
})
},
/** 设置老师信息 */
setTeacherInfo
(
item
)
{
// this.form.teacherName = item.teacherName;
this
.
$set
(
this
.
form
,
'teacherName'
,
item
.
teacherName
);
this
.
$set
(
this
.
form
,
'teacherTel'
,
item
.
teacherTel
);
this
.
$set
(
this
.
form
,
'teacherId'
,
item
.
id
);
},
// 任课教师列表
teachersListEdit
(
row
)
{
this
.
$router
.
push
({
path
:
"/jwClassManage/teacherlists"
,
query
:
{
gradeId
:
row
.
id
,
routeBack
:
0
},
});
},
// 是否毕业按钮切换
changeSwitch
(
row
)
{
// const ids=this.ids||row.id
let
text
=
row
.
isGraduated
===
"1"
?
"毕业"
:
"取消毕业"
;
this
.
$modal
.
confirm
(
'确认要'
+
text
+
'"'
+
row
.
classAlias
+
'"班级吗?'
).
then
(
function
()
{
return
allBY
(
row
.
id
,
row
.
isGraduated
);
}).
then
(()
=>
{
this
.
$modal
.
msgSuccess
(
text
+
"成功"
);
}).
catch
(
function
()
{
row
.
isGraduated
=
row
.
isGraduated
===
"0"
?
"1"
:
"0"
;
});
},
// 图片上传功能
uploadImage
(
file
)
{
const
fileData
=
file
.
file
;
const
formData
=
new
FormData
();
formData
.
append
(
'file'
,
fileData
);
this
.
uploadLoading
=
true
;
commonUpload
(
formData
).
then
(
response
=>
{
this
.
uploadLoading
=
false
;
this
.
$modal
.
msgSuccess
(
'上传成功'
);
// this.imageUrl = this.baseUrl + response.fileName;
this
.
form
.
picUrl
=
response
.
fileName
;
}).
catch
(
error
=>
{
this
.
uploadLoading
=
false
;
})
},
// 上传图片之前的钩子函数
beforeAvatarUpload
()
{
},
// 上传成功
handleAvatarSuccess
()
{
},
/** 上传过程 */
handleFileUploadProgress
()
{
this
.
upload
.
isUploading
=
true
;
},
/** 上传成功 */
handleFileSuccess
(
response
)
{
this
.
upload
.
open
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
$alert
(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>"
+
response
.
msg
+
"</div>"
,
"导入结果"
,
{
dangerouslyUseHTMLString
:
true
});
this
.
getList
();
},
/** 提交 */
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
}
},
};
</
script
>
<
style
>
.avatar-uploader
.el-upload
{
border
:
1px
dashed
#d9d9d9
;
border-radius
:
6px
;
cursor
:
pointer
;
position
:
relative
;
overflow
:
hidden
;
}
.avatar-uploader
.el-upload
:hover
{
border-color
:
#409eff
;
}
.avatar-uploader-icon
{
font-size
:
28px
;
color
:
#8c939d
;
width
:
178px
;
height
:
178px
;
line-height
:
178px
;
text-align
:
center
;
}
.avatar
{
width
:
178px
;
height
:
178px
;
display
:
block
;
}
</
style
>
ruoyi-ui/src/views/smartSchool/schoolProperty/repairApplicant/index.vue
0 → 100644
View file @
cd0bc33b
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"设备名称"
prop=
"failureEquipment"
>
<el-input
v-model=
"queryParams.failureEquipment"
placeholder=
"请输入设备名称"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"分类编码"
prop=
"failureEquipmentCode"
>
<el-input
v-model=
"queryParams.failureEquipmentCode"
placeholder=
"请输入分类编码"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"修理结果"
prop=
"maintainResult"
>
<el-select
v-model=
"queryParams.maintainResult"
placeholder=
"修理结果"
clearable
>
<el-option
v-for=
"dict in dict.type.
maintain_result"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"维修状态"
prop=
"maintainState"
>
<el-select
v-model=
"queryParams.maintainState"
placeholder=
"维修状态"
clearable
>
<el-option
v-for=
"dict in dict.type.
maintain_state"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:application:add']"
>
新增
</el-button>
</el-col>
</el-row>
<!-- 表格数据 -->
<el-table
:data=
"applyTable"
style=
"width: 100%"
:header-cell-style=
"
{ background: '#f6f9fe' }">
<el-table-column
align=
"center"
type=
"index"
label=
"序号"
width=
"50px"
/>
<el-table-column
align=
"center"
prop=
"id"
label=
"自编码"
width=
"130px"
/>
<el-table-column
align=
"center"
prop=
"repairsName"
label=
"设备名称"
width=
"85px"
/>
<el-table-column
align=
"center"
prop=
"phone"
label=
"型号"
width=
"130px"
/>
<el-table-column
align=
"center"
prop=
"repairsTime"
label=
"投产日期"
width=
"160px"
/>
<el-table-column
align=
"center"
prop=
"failureEquipment"
label=
"地点"
width=
"160px"
/>
<el-table-column
align=
"center"
prop=
"failureEquipmentArea"
label=
"问题"
width=
"160px"
/>
<el-table-column
align=
"center"
prop=
"failureEquipmentDescribe"
label=
"修理人"
width=
"150px"
/>
<el-table-column
align=
"center"
prop=
"maintainResult"
label=
"修理时间"
width=
"100px"
/>
<el-table-column
align=
"center"
prop=
"maintainState"
label=
"修理结果"
width=
"100px"
>
<template
slot-scope=
"
{ row }">
{{
row
.
maintainState
==
1
?
"未接单"
:
row
.
maintainState
==
2
?
"维修中"
:
"已维修 "
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"maintainState"
label=
"处理状态"
width=
"100px"
>
<
template
slot-scope=
"{ row }"
>
{{
row
.
maintainState
==
1
?
"未接单"
:
row
.
maintainState
==
2
?
"维修中"
:
"已维修 "
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"maintainState"
label=
"评价"
width=
"160px"
>
<
template
>
<el-rate
v-model=
"form.evaluate"
:max=
"5"
></el-rate>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"180px"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"{ row }"
>
<div>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-search"
@
click=
"handleLook(row)"
>
查看
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(row)"
v-hasPermi=
"['system:application:remove']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(row)"
v-hasPermi=
"['system:application:remove']"
>
删除
</el-button>
</div>
</
template
>
</el-table-column>
</el-table>
<!-- 新增/修改对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"1200px"
append-to-body
@
close=
"cancel"
>
<el-form
ref=
"postForm"
:model=
"postForm"
:rules=
"rules"
label-width=
"110px"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"自编码"
prop=
"id"
>
<el-input
v-model=
"postForm.id"
placeholder=
"报修单号"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"报修人"
prop=
"repairsName"
>
<el-input
v-model=
"postForm.repairsName"
placeholder=
"报修人"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"设备名称"
prop=
"repairsName"
>
<el-input
v-model=
"postForm.repairsName"
placeholder=
"设备名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"问题"
prop=
"repairsName"
>
<el-input
v-model=
"postForm.repairsName"
placeholder=
"问题"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"型号"
prop=
"repairsName"
>
<el-input
v-model=
"postForm.repairsName"
placeholder=
"型号"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"维修人"
prop=
"repairsName"
>
<el-select
v-model=
"postForm.typeNum"
placeholder=
"请选择维修人"
clearable
>
<el-option
v-for=
"item in sbflOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:style=
"{ width: '100%' }"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"投产日期:"
prop=
"equipmentProductionDate"
>
<el-date-picker
v-model=
"form.equipmentProductionDate"
type=
"date"
placeholder=
"选择日期"
style=
"width: 100%;"
value-format=
"yyyy-MM-dd"
clearable
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"维修时间:"
prop=
"equipmentProductionDate"
>
<el-date-picker
v-model=
"form.equipmentProductionDate"
type=
"date"
placeholder=
"选择日期"
style=
"width: 100%;"
value-format=
"yyyy-MM-dd"
clearable
></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"地点"
prop=
"Address"
>
<el-input
v-model=
"form.Address"
placeholder=
"地点"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"修理状态"
prop=
"repairStatus"
>
<el-select
v-model=
"form.repairStatus"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"item in repairStatusOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:style=
"{ width: '100%' }"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"报修时间:"
prop=
"equipmentProductionDate"
>
<el-date-picker
v-model=
"form.equipmentProductionDate"
type=
"date"
placeholder=
"选择日期"
style=
"width: 100%;"
value-format=
"yyyy-MM-dd"
clearable
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"评价"
prop=
"phevaluateone"
>
<el-rate
v-model=
"formfk.evaluate"
:max=
"5"
></el-rate>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
type=
"textarea"
v-model=
"form.remark"
placeholder=
"请输入内容"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
style=
"text-align: center"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- 查看对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"openLook"
width=
"1200px"
append-to-body
@
close=
"cancel"
>
<el-form
ref=
"postForm"
:model=
"postForm"
:rules=
"rules"
label-width=
"110px"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"自编码"
prop=
"id"
>
<el-input
v-model=
"postForm.id"
placeholder=
"报修单号"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"报修人"
prop=
"repairsName"
>
<el-input
v-model=
"postForm.repairsName"
placeholder=
"报修人"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"设备名称"
prop=
"repairsName"
>
<el-input
v-model=
"postForm.repairsName"
placeholder=
"设备名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"问题"
prop=
"repairsName"
>
<el-input
v-model=
"postForm.repairsName"
placeholder=
"问题"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"型号"
prop=
"repairsName"
>
<el-input
v-model=
"postForm.repairsName"
placeholder=
"型号"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"维修人"
prop=
"repairsName"
>
<el-select
v-model=
"postForm.repairsName"
placeholder=
"请选择维修人"
clearable
>
<el-option
v-for=
"item in sbflOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:style=
"{ width: '100%' }"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"投产日期:"
prop=
"equipmentProductionDate"
>
<el-date-picker
v-model=
"form.equipmentProductionDate"
type=
"date"
placeholder=
"选择日期"
style=
"width: 100%;"
value-format=
"yyyy-MM-dd"
clearable
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"维修时间:"
prop=
"equipmentProductionDate"
>
<el-date-picker
v-model=
"form.equipmentProductionDate"
type=
"date"
placeholder=
"选择日期"
style=
"width: 100%;"
value-format=
"yyyy-MM-dd"
clearable
></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"地点"
prop=
"Address"
>
<el-input
v-model=
"form.Address"
placeholder=
"地点"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"修理状态"
prop=
"repairStatus"
>
<el-select
v-model=
"form.repairStatus"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"item in repairStatusOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:style=
"{ width: '100%' }"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"报修时间:"
prop=
"equipmentProductionDate"
>
<el-date-picker
v-model=
"form.equipmentProductionDate"
type=
"date"
placeholder=
"选择日期"
style=
"width: 100%;"
value-format=
"yyyy-MM-dd"
clearable
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"评价"
prop=
"phevaluateone"
>
<el-rate
v-model=
"formfk.evaluate"
:max=
"5"
></el-rate>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
type=
"textarea"
v-model=
"form.remark"
placeholder=
"请输入内容"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
style=
"text-align: center"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
></pagination>
</div>
</template>
<
script
>
import
{
listRepairs
,
// 查询报修列表
addRepairs
,
// 新增报修信息
getRepairs
,
// 查询报修信息详情
updateRepairs
,
// 修改报修信息
delRepairs
,
// 删除报修信息
submitRepairs
,
//反馈结果接口
numberRepairs
,
//获取报修单号
}
from
"@/api/smartSchool/personWork/logisticsWarranty"
;
export
default
{
name
:
'logisticsWarranty'
,
dicts
:
[
'maintain_state'
],
data
()
{
return
{
sbflOptions
:
{
},
repairStatusOptions
:
{
},
maintainState
:
''
,
queryParams
:
{
id
:
""
,
repairsTime
:
""
,
maintainState
:
""
,
pageNum
:
1
,
pageSize
:
10
,
},
// 表格数据
applyTable
:
[],
// 查询表单
queryForm
:
{
pageNum
:
1
,
pageSize
:
10
,
},
// 遮罩层
loading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 是否只读
readonly
:
false
,
// 多个禁用
multi
:
false
,
// 显示搜索条件
showSearch
:
true
,
// 信息列表
infoList
:
[],
// 数据总数
total
:
0
,
// 新增/修改表单
postForm
:
{
},
// 反馈结果
formfk
:
{
id
:
""
,
maintainResult
:
""
,
maintainState
:
"3"
,
evaluate
:
""
,
},
// 是否显示新增弹出层
open
:
false
,
// 查看对话框
openLook
:
false
,
// // 表单校验
rules
:
{
phone
:
[
{
required
:
true
,
message
:
"联系方式不能为空"
,
trigger
:
"blur"
}
],
repairsTime
:
[
{
required
:
true
,
message
:
"保修时间不能为空"
,
trigger
:
"blur"
}
],
failureEquipment
:
[
{
required
:
true
,
message
:
"故障设备不能为空"
,
trigger
:
"blur"
}
],
failureEquipmentArea
:
[
{
required
:
true
,
message
:
"故障设备地点不能为空"
,
trigger
:
"blur"
}
],
failureEquipmentDescribe
:
[
{
required
:
true
,
message
:
"故障设备描述"
,
trigger
:
"blur"
}
],
},
// 弹出层标题
title
:
''
,
form
:
{
id
:
""
,
maintainResult
:
""
,
evaluate
:
""
,
}
}
},
mounted
()
{
this
.
formfk
.
evaluate
=
5
;
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 获取列表数据 */
getList
()
{
listRepairs
(
this
.
queryParams
).
then
(
response
=>
{
this
.
loading
=
false
;
this
.
applyTable
=
response
.
rows
;
console
.
log
(
'this.applyTable'
,
this
.
applyTable
);
this
.
total
=
response
.
total
;
}).
catch
(
err
=>
{
this
.
loading
=
false
;
})
},
// 搜索按钮
handleQuery
()
{
this
.
throttle
(()
=>
{
this
.
queryForm
.
pageNum
=
1
;
this
.
getList
();
})
},
/** 查看 */
handleLook
(
row
)
{
this
.
form
=
row
;
const
id
=
row
.
id
||
this
.
ids
;
getRepairs
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
console
.
log
(
'this.form'
,
this
.
form
);
this
.
openLook
=
true
;
}).
catch
(
err
=>
{
})
this
.
title
=
"查看报修情况"
;
},
// 重置按钮
resetQuery
()
{
this
.
queryParams
=
{
id
:
""
,
repairsTime
:
null
,
pageNum
:
1
,
pageSize
:
10
,
}
this
.
handleQuery
();
// 重新发一次请求
},
// 新增按钮操作
handleAdd
()
{
this
.
reset
();
numberRepairs
().
then
((
response
)
=>
{
this
.
postForm
.
id
=
response
.
data
.
id
;
console
.
log
(
'this.postForm.id'
,
this
.
postForm
.
id
);
this
.
postForm
.
repairsName
=
this
.
$store
.
state
.
user
.
name
;
this
.
postForm
.
phone
=
this
.
$store
.
state
.
user
.
teacher
.
teacherTel
;
console
.
log
(
123
,
this
.
postForm
.
repairsName
);
console
.
log
(
123
,
this
.
postForm
.
phone
);
// 设置 isNew 为 true,表示当前是新增操作
this
.
isNew
=
true
;
this
.
open
=
true
;
this
.
title
=
"添加申请"
;
});
},
// 修改按钮操作
handleUpdate
(
row
)
{
const
id
=
row
.
id
||
this
.
ids
;
this
.
title
=
"修改申请"
;
getRepairs
(
id
).
then
(
response
=>
{
this
.
postForm
=
response
.
data
;
this
.
open
=
true
;
}).
catch
(
err
=>
{
})
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'是否确认删除"'
+
ids
+
'"的数据项?'
).
then
(
function
()
{
return
delRepairs
(
ids
);
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"删除成功"
);
}).
catch
(()
=>
{
});
},
// 提交表单
submitForm
()
{
this
.
throttle
(()
=>
{
this
.
$refs
[
"postForm"
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
$modal
.
loading
(
'正在上传数据,请稍等...'
);
if
(
this
.
isNew
)
{
// 新增操作
addRepairs
(
this
.
postForm
).
then
(
response
=>
{
this
.
$modal
.
closeLoading
();
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
}).
catch
(
err
=>
{
this
.
$modal
.
closeLoading
();
});
}
else
{
// 修改操作
updateRepairs
(
this
.
postForm
).
then
(
response
=>
{
this
.
$modal
.
closeLoading
();
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
}).
catch
(
err
=>
{
this
.
$modal
.
closeLoading
();
});
}
}
});
})
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
openLook
=
false
;
// this.resetQuery();
this
.
reset
();
},
reset
()
{
// 这里需要重置对话框表单
this
.
postForm
=
{
};
this
.
resetForm
(
'postForm'
);
},
}
}
</
script
>
<
style
>
.hidden-item
{
display
:
none
;
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment