mirror of
https://github.com/PanJiaChen/vue-element-admin.git
synced 2025-08-10 20:39:48 +08:00
增加检索栏目和右侧边栏待办信息,并修改BUG
This commit is contained in:
parent
befcbe0b05
commit
4105503024
104
src/components/HeaderMessage/index.vue
Normal file
104
src/components/HeaderMessage/index.vue
Normal file
@ -0,0 +1,104 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-badge :value="122" class="item">
|
||||
|
||||
<el-popover
|
||||
placement="bottom"
|
||||
title="待办提醒"
|
||||
width="380"
|
||||
trigger="click"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-link>
|
||||
<i class="el-icon-help" />
|
||||
待整改
|
||||
<span>({{ 11 }})</span>
|
||||
</el-link>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-link>
|
||||
<i class="el-icon-s-help" />
|
||||
待验收
|
||||
<span>({{ 22 }})</span>
|
||||
</el-link>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-link>
|
||||
<i class="el-icon-s-operation" />
|
||||
其他
|
||||
<span>({{ 8 }})</span>
|
||||
</el-link>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-link>
|
||||
<i class="el-icon-s-release" />
|
||||
待整改
|
||||
<span>({{ 11 }})</span>
|
||||
</el-link>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-link>
|
||||
<i class="el-icon-s-data" />
|
||||
待验收
|
||||
<span>({{ 22 }})</span>
|
||||
</el-link>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-link>
|
||||
<i class="el-icon-s-grid" />
|
||||
其他
|
||||
<span>({{ 18 }})</span>
|
||||
</el-link>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div slot="reference" class="el-icon-s-order" />
|
||||
</el-popover>
|
||||
</el-badge>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// fuse is a lightweight fuzzy-search module
|
||||
// make search results more in line with expectations
|
||||
|
||||
export default {
|
||||
name: 'HeaderMessage',
|
||||
data() {
|
||||
return {
|
||||
search: '',
|
||||
options: [],
|
||||
searchPool: [],
|
||||
show: false,
|
||||
fuse: undefined
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
routes() {
|
||||
return this.$store.getters.permission_routes
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.el-icon-s-order{
|
||||
font-size: 22px !important;
|
||||
margin-top: 13px !important;
|
||||
}
|
||||
::v-deep .el-popover__title {
|
||||
font-size: 12px;
|
||||
}
|
||||
i{
|
||||
color:#1890ff;
|
||||
}
|
||||
::v-deep .el-badge__content.is-fixed{
|
||||
margin-top: 10px !important;
|
||||
}
|
||||
</style>
|
28
src/components/Search/api/index.js
Normal file
28
src/components/Search/api/index.js
Normal file
@ -0,0 +1,28 @@
|
||||
import request from '@/utils/request'
|
||||
import store from '@/store/modules/user'
|
||||
|
||||
var roles = store.state.roles.replace(/;/g, '')
|
||||
|
||||
export default {
|
||||
getDate(pageSize, pageNo, data_id, table_name) {
|
||||
return request({
|
||||
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=editgrid&query_funid=sys_attach&user_id=${roles}`,
|
||||
method: 'post',
|
||||
data: `start=${pageNo}&limit=${pageSize}&where_sql=sys_attach.data_id = ? and sys_attach.table_name = ?&where_type=string;string&where_value=${data_id};${table_name}`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
getFunCol(funId) {
|
||||
return request({
|
||||
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=subeditgrid&query_funid=sys_fun_col&user_id=${roles}`,
|
||||
method: 'post',
|
||||
data: `start=0&limit=50&where_sql=fun_col.fun_id = ?&where_value=${funId}&where_type=string`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
getSelect(control_code) {
|
||||
return request({
|
||||
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=editgrid&query_funid=sys_control&user_id=${roles}`,
|
||||
method: 'post',
|
||||
data: `start=0&limit=50&where_sql=(funall_control.control_code = ? )&where_value=${control_code}&where_type=string&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
}
|
||||
}
|
188
src/components/Search/index.vue
Normal file
188
src/components/Search/index.vue
Normal file
@ -0,0 +1,188 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="search">
|
||||
<el-select v-model="funCode" placeholder="请选择" @change="change">
|
||||
<el-option
|
||||
v-for="item in fun"
|
||||
:key="item.fun_col__col_code"
|
||||
:label="item.fun_col__col_name"
|
||||
:value="item.fun_col__col_code"
|
||||
/>
|
||||
</el-select>
|
||||
<div v-if="control === 'text' || control === 'selectwin'">
|
||||
<el-input v-model="searchVal" clearable placeholder="请输入内容" @keyup.enter.native="search" />
|
||||
</div>
|
||||
<div v-else-if="control === 'date'" class="combo-select">
|
||||
<el-date-picker
|
||||
v-model="searchVal"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
value-format="yyyy-MM-dd"
|
||||
@change="search"
|
||||
/>
|
||||
</div>
|
||||
<div v-else-if="control === 'combo' || 'checkbox'" class="combo-select">
|
||||
<el-select v-model="searchVal" placeholder="请选择" clearable @change="search">
|
||||
<el-option
|
||||
v-for="item in combo"
|
||||
:key="item.funall_control__value_data"
|
||||
:label="item.funall_control__display_data"
|
||||
:value="item.funall_control__value_data"
|
||||
/>
|
||||
</el-select>
|
||||
</div>
|
||||
<div v-else-if="control === ''">
|
||||
<el-input v-model="searchVal" clearable placeholder="请输入内容" @keyup.enter.native="search" />
|
||||
</div>
|
||||
<el-button slot="append" icon="el-icon-search" @click="search" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from './api'
|
||||
export default {
|
||||
name: 'SafeIdsp',
|
||||
components: {
|
||||
// buttons
|
||||
},
|
||||
props: {
|
||||
dataId: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
},
|
||||
tableName: {
|
||||
type: String,
|
||||
default: null
|
||||
},
|
||||
funid: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
data: [],
|
||||
funCode: '',
|
||||
fun: [],
|
||||
searchVal: '',
|
||||
selData: [],
|
||||
control: 'text',
|
||||
control_name: '',
|
||||
combo: [],
|
||||
where_sql: '',
|
||||
where_value: '',
|
||||
where_type: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getFunCol()
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getFunCol() {
|
||||
api.getFunCol(this.funid).then(data => {
|
||||
if (data.success) {
|
||||
this.fun = data.data.root
|
||||
this.funCode = this.fun[0].fun_col__col_code
|
||||
this.where_sql = `${this.fun[0].fun_col__col_code}`
|
||||
this.where_type = this.fun[0].fun_col__data_type
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
change(val) {
|
||||
this.searchVal = ''
|
||||
this.control = ''
|
||||
this.control_name = ''
|
||||
this.where_sql = ''
|
||||
this.where_type = ''
|
||||
this.selData = this.fun.filter(d => {
|
||||
return val === d.fun_col__col_code
|
||||
})
|
||||
|
||||
this.control = this.selData[0].fun_col__col_control
|
||||
this.control_name = this.selData[0].fun_col__control_name
|
||||
this.where_sql = `${this.selData[0].fun_col__col_code}`
|
||||
this.where_type = this.selData[0].fun_col__data_type
|
||||
if (this.control === 'combo') {
|
||||
this.getCombo()
|
||||
} else if (this.control === 'checkbox') {
|
||||
this.control_name = 'yesno'
|
||||
this.getCombo()
|
||||
}
|
||||
},
|
||||
getCombo() {
|
||||
api.getSelect(this.control_name).then(data => {
|
||||
if (data.success) {
|
||||
this.combo = data.data.root
|
||||
console.log(this.combo, 'this.combo')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
search() {
|
||||
let whereValue
|
||||
let whereSql
|
||||
if (this.searchVal) {
|
||||
if (this.control === 'date') {
|
||||
const where_sql = `${this.where_sql} >= ?`
|
||||
const whereValue = `${this.searchVal}`
|
||||
const where_type = `date`
|
||||
whereSql = `where_sql=${where_sql}&where_value=${whereValue}&where_type=${where_type}`
|
||||
} else {
|
||||
whereValue = encodeURI(`\%${this.searchVal}\%`)
|
||||
whereSql = `where_sql=${this.where_sql} like ?&where_value=${whereValue}&where_type=${this.where_type}`
|
||||
}
|
||||
} else {
|
||||
whereSql = `where_sql=&where_value=&where_type=`
|
||||
}
|
||||
console.log(whereSql)
|
||||
this.$emit('search', `${whereSql}`)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.search{
|
||||
display: flex;
|
||||
.el-select,.el-select--medium{
|
||||
width: 30%;
|
||||
margin-left: 20%;
|
||||
}
|
||||
.el-input--medium,.el-input__inner{
|
||||
margin-right: 20%;
|
||||
width: 80%;
|
||||
float: right;
|
||||
}
|
||||
.combo-select{
|
||||
.el-select,.el-select--medium{
|
||||
margin-right: 20%;
|
||||
width: 80%;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.el-button--medium {
|
||||
height: 26.8px;
|
||||
width: 50px;
|
||||
padding: 0px;
|
||||
background-color: #1890ff;
|
||||
color:#fff;
|
||||
margin-left: -9%;
|
||||
}
|
||||
}
|
||||
::v-deep .el-input--medium .el-input__inner {
|
||||
height: 26.8px;
|
||||
line-height: 26.8px;
|
||||
}
|
||||
::v-deep .el-input--medium .el-input__icon {
|
||||
line-height: 26.8px;
|
||||
}
|
||||
</style>
|
@ -33,8 +33,8 @@ export default {
|
||||
const timestamp = new Date().getTime()
|
||||
return request({
|
||||
url: `fileAction.do?funid=sys_attach&keyid=${keys}&pagetype=editgrid&eventcode=down&user_id=${roles}&dataType=byte&_dc=${timestamp}`,
|
||||
method: 'post',
|
||||
data: `funid=sys_attach&keyid=${keys}&pagetype=editgrid&eventcode=down&user_id=${roles}&dataType=byte&_dc=${timestamp}`
|
||||
}).then(response => response.data)
|
||||
method: 'get'
|
||||
// data: `funid=sys_attach&keyid=${keys}&pagetype=editgrid&eventcode=down&user_id=${roles}&dataType=byte&_dc=${timestamp}`
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -1,329 +1,334 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- <buttons funid="insp_det" style="margin:10px 10px" @editDelete="editDelete" @upload="upload" /> -->
|
||||
<div class="buttons">
|
||||
<el-upload
|
||||
ref="upload"
|
||||
style="margin-bottom: 10px;"
|
||||
class="upload-demo"
|
||||
:action="baseUrl"
|
||||
:data="formData"
|
||||
:on-preview="handlePreview"
|
||||
:on-remove="handleRemove"
|
||||
:on-change="onChange"
|
||||
:on-success="onSuccess"
|
||||
:before-remove="beforeRemove"
|
||||
multiple
|
||||
:limit="3"
|
||||
:on-exceed="handleExceed"
|
||||
:show-file-list="false"
|
||||
>
|
||||
<el-button size="small" type="primary">点击上传</el-button>
|
||||
</el-upload>
|
||||
<el-button size="small" type="primary" @click="editDelete">批量删除</el-button>
|
||||
</div>
|
||||
<div>
|
||||
<el-table
|
||||
ref="table"
|
||||
v-loading="loading"
|
||||
:data="data"
|
||||
style="width: 100%"
|
||||
border
|
||||
stripe
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
v-else-if="d.show !== false"
|
||||
:key="i"
|
||||
:prop="d.prop"
|
||||
:label="d.label"
|
||||
:width="d.width"
|
||||
:min-width="d.minWidth"
|
||||
:class-name="d.className"
|
||||
:fixed="d.fixed"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="d.label==='附件名称'">
|
||||
<a @click="downLoadAttach(scope.row)">
|
||||
{{
|
||||
scope.row.sys_attach__attach_name
|
||||
}}
|
||||
</a>
|
||||
</div>
|
||||
<div v-else-if="d.label === '操作'">
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
<div class="pagination">
|
||||
<el-pagination
|
||||
:current-page="pager.pageNo"
|
||||
:page-sizes="[10, 30, 50, 100, 500]"
|
||||
:page-size="pager.pageSize"
|
||||
:total="pager.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from './api'
|
||||
// import buttons from '@/components/Buttons'
|
||||
export default {
|
||||
name: 'SafeIdsp',
|
||||
components: {
|
||||
// buttons
|
||||
},
|
||||
props: {
|
||||
dataId: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
},
|
||||
tableName: {
|
||||
type: String,
|
||||
default: null
|
||||
},
|
||||
funId: {
|
||||
type: String,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
data: [],
|
||||
deptTree: [],
|
||||
ids: [],
|
||||
levels: [],
|
||||
pager: {
|
||||
pageNo: 0,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
tableHeader: [
|
||||
{
|
||||
prop: 'selection',
|
||||
type: 'selection',
|
||||
fixed: 'left',
|
||||
width: '100px',
|
||||
show: true
|
||||
}, {
|
||||
prop: 'sys_attach__attach_name',
|
||||
label: '附件名称',
|
||||
width: '250px',
|
||||
show: true
|
||||
}, {
|
||||
prop: 'sys_attach__upload_user',
|
||||
label: '上传人',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'sys_attach__upload_date',
|
||||
label: '上传日期',
|
||||
width: '150px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'opration',
|
||||
label: '操作',
|
||||
width: '100px',
|
||||
minWidth: '120px',
|
||||
show: true
|
||||
}],
|
||||
value: '',
|
||||
dept_id: '',
|
||||
level: '',
|
||||
id: '',
|
||||
parent_id: '',
|
||||
form: {
|
||||
dept_name: '',
|
||||
dept_code: '',
|
||||
memo: ''
|
||||
},
|
||||
dialogFormVisible: false,
|
||||
dialogEditVisible: false,
|
||||
formLabelWidth: '120px',
|
||||
auditForm: {},
|
||||
saveFrom: {},
|
||||
treeData: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'sys_dept__dept_name'
|
||||
},
|
||||
treeList: [],
|
||||
whereSql: false,
|
||||
whereValue: '',
|
||||
formData: {},
|
||||
attach_path: null,
|
||||
baseUrl: window.location.origin + '/bwhse/fileAction.do'
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.initFormData()
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
|
||||
if (pageNo < 0) {
|
||||
pageNo = 0
|
||||
}
|
||||
api.getDate(
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.dataId,
|
||||
this.tableName
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
this.pager.total = data.data.total
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
initFormData() {
|
||||
this.formData.attach_path = ''
|
||||
this.formData.funid = 'sys_attach'
|
||||
this.formData.eventcode = 'create'
|
||||
this.formData.nousercheck = '1'
|
||||
this.formData.table_name = this.tableName
|
||||
this.formData.datafunid = this.funId
|
||||
this.formData.user_id = 'administrator'
|
||||
this.formData.dataid = this.dataId[0]
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = `funid=sys_dept&parentId=${this.dept_id}&levelCol=sys_dept.dept_level&keyid=&pagetype=editgrid&eventcode=save_eg&sys_dept__dept_code=${this.form.dept_code}&sys_dept__dept_name=${this.form.dept_name}&sys_dept__memo=${this.form.memo}&sys_dept__is_novalid=0&sys_dept__dept_id=&sys_dept__dept_level=${Number(this.level) + 1}&user_id=administrator&dataType= json`
|
||||
api.Crerte(data).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
this.$message.success('新增成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
Delete(row) {
|
||||
this.ids = []
|
||||
this.ids.push(row.sys_attach__attach_id)
|
||||
this.editDelete()
|
||||
},
|
||||
editDelete() {
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
this.$confirm('确认删除附件?').then(() => {
|
||||
api.Delete(this.ids).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.$message.success('删除成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {})
|
||||
} else {
|
||||
this.$message.warning('请选择数据进行删除')
|
||||
}
|
||||
},
|
||||
editSave() {
|
||||
console.log('editSave')
|
||||
},
|
||||
upload() {
|
||||
console.log('upload')
|
||||
},
|
||||
edit(row) {
|
||||
this.id = row.attach_id
|
||||
this.parent_id = this.id.substring(0, this.id.length - 4)
|
||||
console.log(this.parent_id, this.id)
|
||||
this.auditForm = row
|
||||
this.dialogEditVisible = true
|
||||
},
|
||||
auditFormChange(form) {
|
||||
this.saveFrom = form
|
||||
},
|
||||
cellDblclick(row) {
|
||||
},
|
||||
sizeChange(size) {
|
||||
this.pager.pageSize = size
|
||||
this.getList()
|
||||
},
|
||||
pageChange(page) {
|
||||
this.pager.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
console.log(val)
|
||||
this.ids = val.map(d => d.sys_attach__attach_id)
|
||||
},
|
||||
downLoadAttach(row) {
|
||||
api.downLoad(row.sys_attach__attach_id).then()
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
console.log(file, fileList)
|
||||
},
|
||||
handlePreview(file) {
|
||||
console.log(file)
|
||||
},
|
||||
handleExceed(files, fileList) {
|
||||
this.$message.warning(`当前限制选择 9 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`)
|
||||
},
|
||||
beforeRemove(file, fileList) {
|
||||
return this.$confirm(`确定移除 ${file.name}?`)
|
||||
},
|
||||
onChange(file) {
|
||||
this.formData.attach_path = file.raw
|
||||
},
|
||||
onSuccess() {
|
||||
this.$message.success('上传成功!')
|
||||
this.getList()
|
||||
this.$refs.upload.clearFiles()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.el-table__row {
|
||||
a {
|
||||
color: blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
.buttons{
|
||||
display: flex;
|
||||
}
|
||||
.el-button--primary {
|
||||
height: 26.8px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.pagination{
|
||||
overflow: auto;
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div>
|
||||
<!-- <buttons funid="insp_det" style="margin:10px 10px" @editDelete="editDelete" @upload="upload" /> -->
|
||||
<div class="buttons">
|
||||
<el-upload
|
||||
ref="upload"
|
||||
style="margin-bottom: 10px;"
|
||||
class="upload-demo"
|
||||
:action="baseUrl"
|
||||
:data="formData"
|
||||
:on-preview="handlePreview"
|
||||
:on-remove="handleRemove"
|
||||
:on-change="onChange"
|
||||
:on-success="onSuccess"
|
||||
:before-remove="beforeRemove"
|
||||
multiple
|
||||
:limit="3"
|
||||
:on-exceed="handleExceed"
|
||||
:show-file-list="false"
|
||||
>
|
||||
<el-button size="small" type="primary">点击上传</el-button>
|
||||
</el-upload>
|
||||
<el-button size="small" type="primary" @click="editDelete">批量删除</el-button>
|
||||
</div>
|
||||
<div>
|
||||
<el-table
|
||||
ref="table"
|
||||
v-loading="loading"
|
||||
:data="data"
|
||||
style="width: 100%"
|
||||
border
|
||||
stripe
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
v-else-if="d.show !== false"
|
||||
:key="i"
|
||||
:prop="d.prop"
|
||||
:label="d.label"
|
||||
:width="d.width"
|
||||
:min-width="d.minWidth"
|
||||
:class-name="d.className"
|
||||
:fixed="d.fixed"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="d.label==='附件名称'">
|
||||
<a :href="href" @click="downLoadAttach(scope.row)">
|
||||
{{
|
||||
scope.row.sys_attach__attach_name
|
||||
}}
|
||||
</a>
|
||||
</div>
|
||||
<div v-else-if="d.label === '操作'">
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
<div class="pagination">
|
||||
<el-pagination
|
||||
:current-page="pager.pageNo"
|
||||
:page-sizes="[10, 30, 50, 100, 500]"
|
||||
:page-size="pager.pageSize"
|
||||
:total="pager.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from './api'
|
||||
import store from '@/store/modules/user'
|
||||
|
||||
var roles = store.state.roles.replace(/;/g, '')
|
||||
export default {
|
||||
name: 'SafeIdsp',
|
||||
components: {
|
||||
// buttons
|
||||
},
|
||||
props: {
|
||||
dataId: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
},
|
||||
tableName: {
|
||||
type: String,
|
||||
default: null
|
||||
},
|
||||
funId: {
|
||||
type: String,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
data: [],
|
||||
deptTree: [],
|
||||
ids: [],
|
||||
levels: [],
|
||||
pager: {
|
||||
pageNo: 0,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
tableHeader: [
|
||||
{
|
||||
prop: 'selection',
|
||||
type: 'selection',
|
||||
fixed: 'left',
|
||||
width: '100px',
|
||||
show: true
|
||||
}, {
|
||||
prop: 'sys_attach__attach_name',
|
||||
label: '附件名称',
|
||||
width: '250px',
|
||||
show: true
|
||||
}, {
|
||||
prop: 'sys_attach__upload_user',
|
||||
label: '上传人',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'sys_attach__upload_date',
|
||||
label: '上传日期',
|
||||
width: '150px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'opration',
|
||||
label: '操作',
|
||||
width: '100px',
|
||||
minWidth: '120px',
|
||||
show: true
|
||||
}],
|
||||
value: '',
|
||||
dept_id: '',
|
||||
level: '',
|
||||
id: '',
|
||||
parent_id: '',
|
||||
form: {
|
||||
dept_name: '',
|
||||
dept_code: '',
|
||||
memo: ''
|
||||
},
|
||||
dialogFormVisible: false,
|
||||
dialogEditVisible: false,
|
||||
formLabelWidth: '120px',
|
||||
auditForm: {},
|
||||
saveFrom: {},
|
||||
treeData: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'sys_dept__dept_name'
|
||||
},
|
||||
treeList: [],
|
||||
whereSql: false,
|
||||
whereValue: '',
|
||||
formData: {},
|
||||
attach_path: null,
|
||||
baseUrl: window.location.origin + '/bwhse/fileAction.do',
|
||||
href: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.initFormData()
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
|
||||
if (pageNo < 0) {
|
||||
pageNo = 0
|
||||
}
|
||||
api.getDate(
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.dataId,
|
||||
this.tableName
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
this.pager.total = data.data.total
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
initFormData() {
|
||||
this.formData.attach_path = ''
|
||||
this.formData.funid = 'sys_attach'
|
||||
this.formData.eventcode = 'create'
|
||||
this.formData.nousercheck = '1'
|
||||
this.formData.table_name = this.tableName
|
||||
this.formData.datafunid = this.funId
|
||||
this.formData.user_id = 'administrator'
|
||||
this.formData.dataid = this.dataId[0]
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = `funid=sys_dept&parentId=${this.dept_id}&levelCol=sys_dept.dept_level&keyid=&pagetype=editgrid&eventcode=save_eg&sys_dept__dept_code=${this.form.dept_code}&sys_dept__dept_name=${this.form.dept_name}&sys_dept__memo=${this.form.memo}&sys_dept__is_novalid=0&sys_dept__dept_id=&sys_dept__dept_level=${Number(this.level) + 1}&user_id=administrator&dataType= json`
|
||||
api.Crerte(data).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
this.$message.success('新增成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
Delete(row) {
|
||||
this.ids = []
|
||||
this.ids.push(row.sys_attach__attach_id)
|
||||
this.editDelete()
|
||||
},
|
||||
editDelete() {
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
this.$confirm('确认删除附件?').then(() => {
|
||||
api.Delete(this.ids).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.$message.success('删除成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {})
|
||||
} else {
|
||||
this.$message.warning('请选择数据进行删除')
|
||||
}
|
||||
},
|
||||
editSave() {
|
||||
console.log('editSave')
|
||||
},
|
||||
upload() {
|
||||
console.log('upload')
|
||||
},
|
||||
edit(row) {
|
||||
this.id = row.attach_id
|
||||
this.parent_id = this.id.substring(0, this.id.length - 4)
|
||||
console.log(this.parent_id, this.id)
|
||||
this.auditForm = row
|
||||
this.dialogEditVisible = true
|
||||
},
|
||||
auditFormChange(form) {
|
||||
this.saveFrom = form
|
||||
},
|
||||
cellDblclick(row) {
|
||||
},
|
||||
sizeChange(size) {
|
||||
this.pager.pageSize = size
|
||||
this.getList()
|
||||
},
|
||||
pageChange(page) {
|
||||
this.pager.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
console.log(val)
|
||||
this.ids = val.map(d => d.sys_attach__attach_id)
|
||||
},
|
||||
async downLoadAttach(row) {
|
||||
const timestamp = new Date().getTime()
|
||||
this.href = `${this.baseUrl}?funid=sys_attach&keyid=${row.sys_attach__attach_id}&pagetype=editgrid&eventcode=down&user_id=${roles}&dataType=byte&_dc=${timestamp}`
|
||||
// await api.downLoad(row.sys_attach__attach_id)
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
console.log(file, fileList)
|
||||
},
|
||||
handlePreview(file) {
|
||||
console.log(file)
|
||||
},
|
||||
handleExceed(files, fileList) {
|
||||
this.$message.warning(`当前限制选择 9 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`)
|
||||
},
|
||||
beforeRemove(file, fileList) {
|
||||
return this.$confirm(`确定移除 ${file.name}?`)
|
||||
},
|
||||
onChange(file) {
|
||||
this.formData.attach_path = file.raw
|
||||
},
|
||||
onSuccess() {
|
||||
this.$message.success('上传成功!')
|
||||
this.getList()
|
||||
this.$refs.upload.clearFiles()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.el-table__row {
|
||||
a {
|
||||
color: blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
.buttons{
|
||||
display: flex;
|
||||
}
|
||||
.el-button--primary {
|
||||
height: 26.8px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.pagination{
|
||||
overflow: auto;
|
||||
}
|
||||
</style>
|
||||
|
@ -1,163 +1,173 @@
|
||||
<template>
|
||||
<div class="navbar">
|
||||
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
|
||||
|
||||
<breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
|
||||
|
||||
<div class="right-menu">
|
||||
<template v-if="device!=='mobile'">
|
||||
<search id="header-search" class="right-menu-item" />
|
||||
|
||||
<error-log class="errLog-container right-menu-item hover-effect" />
|
||||
|
||||
<screenfull id="screenfull" class="right-menu-item hover-effect" />
|
||||
|
||||
<!-- <el-tooltip content="Global Size" effect="dark" placement="bottom">
|
||||
<size-select id="size-select" class="right-menu-item hover-effect" />
|
||||
</el-tooltip> -->
|
||||
|
||||
</template>
|
||||
|
||||
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
||||
<div class="avatar-wrapper">
|
||||
<img src="../../assets/login/portrait.jpg" class="user-avatar">
|
||||
<i class="el-icon-caret-bottom" />
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item @click.native="logout">
|
||||
<span style="display:block;">退出登录</span>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import Hamburger from '@/components/Hamburger'
|
||||
import ErrorLog from '@/components/ErrorLog'
|
||||
import Screenfull from '@/components/Screenfull'
|
||||
// import SizeSelect from '@/components/SizeSelect'
|
||||
import Search from '@/components/HeaderSearch'
|
||||
import { logout } from '@/api/user'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
Breadcrumb,
|
||||
Hamburger,
|
||||
ErrorLog,
|
||||
Screenfull,
|
||||
// SizeSelect,
|
||||
Search
|
||||
},
|
||||
computed: {
|
||||
...mapGetters([
|
||||
'sidebar',
|
||||
'avatar',
|
||||
'device'
|
||||
])
|
||||
},
|
||||
methods: {
|
||||
toggleSideBar() {
|
||||
this.$store.dispatch('app/toggleSideBar')
|
||||
},
|
||||
async logout() {
|
||||
logout().then(data => {
|
||||
if (data.success) {
|
||||
this.$store.dispatch('user/logout')
|
||||
this.$router.push(`/login?redirect=${this.$route.fullPath}`)
|
||||
this.$message.success('已退出登录!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.navbar {
|
||||
height: 50px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
background: #fff;
|
||||
box-shadow: 0 1px 4px rgba(0,21,41,.08);
|
||||
|
||||
.hamburger-container {
|
||||
line-height: 46px;
|
||||
height: 100%;
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
transition: background .3s;
|
||||
-webkit-tap-highlight-color:transparent;
|
||||
|
||||
&:hover {
|
||||
background: rgba(0, 0, 0, .025)
|
||||
}
|
||||
}
|
||||
|
||||
.breadcrumb-container {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.errLog-container {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.right-menu {
|
||||
float: right;
|
||||
height: 100%;
|
||||
line-height: 50px;
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.right-menu-item {
|
||||
display: inline-block;
|
||||
padding: 0 8px;
|
||||
height: 100%;
|
||||
font-size: 18px;
|
||||
color: #5a5e66;
|
||||
vertical-align: text-bottom;
|
||||
|
||||
&.hover-effect {
|
||||
cursor: pointer;
|
||||
transition: background .3s;
|
||||
|
||||
&:hover {
|
||||
background: rgba(0, 0, 0, .025)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.avatar-container {
|
||||
margin-right: 30px;
|
||||
|
||||
.avatar-wrapper {
|
||||
margin-top: 5px;
|
||||
position: relative;
|
||||
|
||||
.user-avatar {
|
||||
cursor: pointer;
|
||||
width: 38px;
|
||||
height: 35px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.el-icon-caret-bottom {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: -20px;
|
||||
top: 25px;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div class="navbar">
|
||||
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
|
||||
|
||||
<breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
|
||||
|
||||
<div class="right-menu">
|
||||
|
||||
<template v-if="device!=='mobile'">
|
||||
|
||||
<search id="header-search" class="right-menu-item" />
|
||||
|
||||
<message id="header-search" class="right-menu-item message" />
|
||||
|
||||
<!-- <error-log class="errLog-container right-menu-item hover-effect" /> -->
|
||||
|
||||
<screenfull id="screenfull" class="right-menu-item hover-effect" />
|
||||
|
||||
<!-- <el-tooltip content="Global Size" effect="dark" placement="bottom">
|
||||
<size-select id="size-select" class="right-menu-item hover-effect" />
|
||||
</el-tooltip> -->
|
||||
|
||||
</template>
|
||||
|
||||
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
||||
<div class="avatar-wrapper">
|
||||
<img src="../../assets/login/portrait.jpg" class="user-avatar">
|
||||
<i class="el-icon-caret-bottom" />
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item @click.native="logout">
|
||||
<span style="display:block;">退出登录</span>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import Hamburger from '@/components/Hamburger'
|
||||
// import ErrorLog from '@/components/ErrorLog'
|
||||
import Screenfull from '@/components/Screenfull'
|
||||
// import SizeSelect from '@/components/SizeSelect'
|
||||
import Search from '@/components/HeaderSearch'
|
||||
import Message from '@/components/HeaderMessage'
|
||||
import { logout } from '@/api/user'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
Breadcrumb,
|
||||
Hamburger,
|
||||
// ErrorLog,
|
||||
Screenfull,
|
||||
// SizeSelect,
|
||||
Search,
|
||||
Message
|
||||
},
|
||||
computed: {
|
||||
...mapGetters([
|
||||
'sidebar',
|
||||
'avatar',
|
||||
'device'
|
||||
])
|
||||
},
|
||||
methods: {
|
||||
toggleSideBar() {
|
||||
this.$store.dispatch('app/toggleSideBar')
|
||||
},
|
||||
async logout() {
|
||||
logout().then(data => {
|
||||
if (data.success) {
|
||||
this.$store.dispatch('user/logout')
|
||||
this.$router.push(`/login?redirect=${this.$route.fullPath}`)
|
||||
this.$message.success('已退出登录!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.navbar {
|
||||
height: 50px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
background: #fff;
|
||||
box-shadow: 0 1px 4px rgba(0,21,41,.08);
|
||||
|
||||
.hamburger-container {
|
||||
line-height: 46px;
|
||||
height: 100%;
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
transition: background .3s;
|
||||
-webkit-tap-highlight-color:transparent;
|
||||
|
||||
&:hover {
|
||||
background: rgba(0, 0, 0, .025)
|
||||
}
|
||||
}
|
||||
|
||||
.breadcrumb-container {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.errLog-container {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.right-menu {
|
||||
float: right;
|
||||
height: 100%;
|
||||
line-height: 50px;
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.message{
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.right-menu-item {
|
||||
display: inline-block;
|
||||
padding: 0 12px;
|
||||
height: 100%;
|
||||
font-size: 18px;
|
||||
color: #5a5e66;
|
||||
vertical-align: text-bottom;
|
||||
|
||||
&.hover-effect {
|
||||
cursor: pointer;
|
||||
transition: background .3s;
|
||||
|
||||
&:hover {
|
||||
background: rgba(0, 0, 0, .025)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.avatar-container {
|
||||
margin-right: 30px;
|
||||
|
||||
.avatar-wrapper {
|
||||
margin-top: 5px;
|
||||
position: relative;
|
||||
|
||||
.user-avatar {
|
||||
cursor: pointer;
|
||||
width: 38px;
|
||||
height: 35px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.el-icon-caret-bottom {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: -20px;
|
||||
top: 25px;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -146,3 +146,15 @@
|
||||
.el-dialog__footer {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
// 设置el-select样式
|
||||
.el-select {
|
||||
width: 100%;
|
||||
}
|
||||
// .el-input--medium .el-input__inner {
|
||||
// height: 26.8px;
|
||||
// line-height: 26.8px;
|
||||
// }
|
||||
// .el-input--medium .el-input__icon {
|
||||
// line-height: 26.8px;
|
||||
// }
|
||||
|
@ -2,6 +2,7 @@ import axios from 'axios'
|
||||
import { MessageBox, Message } from 'element-ui'
|
||||
import store from '@/store'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import router from '@/router'
|
||||
|
||||
// create an axios instance
|
||||
const service = axios.create({
|
||||
@ -68,8 +69,8 @@ service.interceptors.response.use(
|
||||
return Promise.reject(new Error(res.message || 'Error'))
|
||||
} else {
|
||||
if (res.data.message === '当前用户没有登录!') {
|
||||
// store.dispatch('user/logout')
|
||||
this.$router.push(`/login?redirect=${this.$route.fullPath}`)
|
||||
store.dispatch('user/logout')
|
||||
router.push(`/login`)
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
@ -4,17 +4,11 @@ import store from '@/store/modules/user'
|
||||
var roles = store.state.roles.replace(/;/g, '')
|
||||
|
||||
export default {
|
||||
getDate(pageSize, pageNo, isWhereSql, whereValue) {
|
||||
let whereSql = ''
|
||||
let whereType = ''
|
||||
if (isWhereSql) {
|
||||
whereSql = `dept_id like ?`
|
||||
whereType = 'string'
|
||||
}
|
||||
getDate(pageSize, pageNo, whereSql) {
|
||||
return request({
|
||||
url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=hidden_check&user_id=${roles}`,
|
||||
method: 'post',
|
||||
data: `start=${pageNo}&limit=${pageSize}&where_sql=${whereSql}&where_value=${whereValue}&where_type=${whereType}&is_query=1&query_type=0`
|
||||
data: `start=${pageNo}&limit=${pageSize}&${whereSql}&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
getDeptTree() {
|
||||
|
@ -25,7 +25,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="检查人">
|
||||
<el-form-item ref="hidden_danger__check_man" label="检查人" prop="hidden_danger__check_man">
|
||||
<el-input v-model="form.hidden_danger__check_man" placeholder="请选择检查人" class="input-with-select" clearable>
|
||||
<el-button slot="append" icon="el-icon-search" @click="checkManVisible = !checkManVisible" />
|
||||
</el-input>
|
||||
@ -41,7 +41,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="检查时间">
|
||||
<el-form-item label="检查时间" prop="hidden_danger__check_date">
|
||||
<el-date-picker
|
||||
v-model="form.hidden_danger__check_date"
|
||||
type="date"
|
||||
@ -199,6 +199,12 @@ export default {
|
||||
hidden_danger__check_dept_id: ''
|
||||
},
|
||||
rules: {
|
||||
hidden_danger__check_man: [
|
||||
{ required: true, message: '请选择检查人', trigger: 'blur' }
|
||||
],
|
||||
hidden_danger__check_date: [
|
||||
{ required: true, message: '请选择检查时间', trigger: 'blur' }
|
||||
],
|
||||
hidden_danger__check_problem: [
|
||||
{ required: true, message: '请输入隐患描述', trigger: 'blur' }
|
||||
]
|
||||
@ -215,6 +221,14 @@ export default {
|
||||
hiddenState: []
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'form.hidden_danger__check_man': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['hidden_danger__check_man'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getHiddenState()
|
||||
},
|
||||
|
@ -25,7 +25,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="检查人">
|
||||
<el-form-item ref="hidden_danger__check_man" label="检查人" prop="hidden_danger__check_man">
|
||||
<el-input v-model="form.hidden_danger__check_man" placeholder="请选择检查人" class="input-with-select" clearable>
|
||||
<el-button slot="append" icon="el-icon-search" @click="checkManVisible = !checkManVisible" />
|
||||
</el-input>
|
||||
@ -41,7 +41,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="检查时间">
|
||||
<el-form-item label="检查时间" prop="hidden_danger__check_date">
|
||||
<el-date-picker
|
||||
v-model="form.hidden_danger__check_date"
|
||||
type="date"
|
||||
@ -200,6 +200,12 @@ export default {
|
||||
hidden_danger__check_dept_id: ''
|
||||
},
|
||||
rules: {
|
||||
hidden_danger__check_man: [
|
||||
{ required: true, message: '请选择检查人', trigger: 'blur' }
|
||||
],
|
||||
hidden_danger__check_date: [
|
||||
{ required: true, message: '请选择检查时间', trigger: 'blur' }
|
||||
],
|
||||
hidden_danger__check_problem: [
|
||||
{ required: true, message: '请输入隐患描述', trigger: 'blur' }
|
||||
]
|
||||
@ -214,6 +220,14 @@ export default {
|
||||
hiddenState: []
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'form.hidden_danger__check_man': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['hidden_danger__check_man'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getHiddenState()
|
||||
|
@ -1,6 +1,11 @@
|
||||
<template>
|
||||
<div>
|
||||
<buttons funid="hidden_check" style="margin:10px 10px" @Create="editCreate" @Del="editDelete" @editSave="editSave" @upload="upload" />
|
||||
<div class="app-container">
|
||||
<div class="head">
|
||||
<div>
|
||||
<buttons funid="hidden_check" @Create="editCreate" @Del="editDelete" @editSave="editSave" @upload="upload" />
|
||||
</div>
|
||||
<Search funid="hidden_check" @search="search" />
|
||||
</div>
|
||||
<el-card>
|
||||
<el-table
|
||||
ref="deptTable"
|
||||
@ -8,9 +13,11 @@
|
||||
:data="list"
|
||||
style="width: 100%"
|
||||
stripe
|
||||
type="index"
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<el-table-column type="index" fixed="left" width="35px" />
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
@ -35,7 +42,7 @@
|
||||
<div v-else-if="d.label === '操作'">
|
||||
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
|
||||
<el-button icon="el-icon-folder" type="text" title="查看附件" @click="checkAttach(scope.row)" />
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
<!-- <el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" /> -->
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
@ -55,8 +62,8 @@
|
||||
<el-dialog v-if="dialogUploadVisible" title="附件" :visible.sync="dialogUploadVisible" width="45%" @close="closeUploadDialog">
|
||||
<Attach ref="attach" :data-id="ids" table-name="hidden_danger" fun-id="hidden_check" @change="auditFormChange" />
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogUploadVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="save">确 定</el-button>
|
||||
<!-- <el-button @click="dialogUploadVisible = false">取 消</el-button> -->
|
||||
<el-button type="primary" @click="dialogUploadVisible = false">返回</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-drawer
|
||||
@ -74,12 +81,14 @@
|
||||
<script>
|
||||
import api from './api'
|
||||
import buttons from '@/components/Buttons'
|
||||
import Search from '@/components/Search'
|
||||
import Attach from '@/components/sys_attach'
|
||||
import { parseDay } from '@/utils/index'
|
||||
export default {
|
||||
name: 'HiddenCheck',
|
||||
components: {
|
||||
buttons,
|
||||
Search,
|
||||
Attach
|
||||
},
|
||||
data() {
|
||||
@ -182,7 +191,7 @@ export default {
|
||||
label: 'sys_dept__dept_name'
|
||||
},
|
||||
treeList: [],
|
||||
whereSql: false,
|
||||
whereSql: '',
|
||||
whereValue: '',
|
||||
dialogUploadVisible: false,
|
||||
options: [],
|
||||
@ -204,8 +213,7 @@ export default {
|
||||
api.getDate(
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.whereSql,
|
||||
this.whereValue
|
||||
this.whereSql
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
@ -222,6 +230,10 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
search(sql) {
|
||||
this.whereSql = sql
|
||||
this.getList()
|
||||
},
|
||||
queryAttach() {
|
||||
api.queryAttach(this.keyids).then(data => {
|
||||
if (data.success) {
|
||||
@ -283,26 +295,6 @@ export default {
|
||||
auditFormChange(form) {
|
||||
this.saveFrom = form
|
||||
},
|
||||
save() {
|
||||
if (Object.keys(this.saveFrom).length === 0) {
|
||||
this.saveFrom = this.auditForm
|
||||
}
|
||||
this.$refs.auditForm.$refs.auditForm.validate(valid => {
|
||||
if (valid) {
|
||||
const _form = `funid=sys_dept&parentId=&levelCol=sys_dept.dept_level&keyid=${this.id}&pagetype=editgrid&eventcode=save_eg&sys_dept__dept_code=${this.saveFrom.sys_dept__dept_code}&sys_dept__dept_name=${this.saveFrom.sys_dept__dept_name}&sys_dept__memo=${this.saveFrom.sys_dept__memo}&sys_dept__is_novalid=${this.saveFrom.sys_dept__is_novalid}&sys_dept__dept_id=${this.id}&sys_dept__dept_level=${this.saveFrom.sys_dept__dept_level}&user_id=administrator&dataType=json`
|
||||
api.auditSave(_form).then(data => {
|
||||
if (data.success) {
|
||||
this.whereSql = false
|
||||
this.whereValue = ''
|
||||
this.getList()
|
||||
this.$message.success('保存成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
closeUploadDialog() {
|
||||
this.dialogUploadVisible = false
|
||||
},
|
||||
@ -326,12 +318,6 @@ export default {
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
},
|
||||
handleNodeClick(data) {
|
||||
console.log(data)
|
||||
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
|
||||
this.whereSql = true
|
||||
this.getList()
|
||||
},
|
||||
checkAttach(row) {
|
||||
// this.drawer = true
|
||||
this.ids = []
|
||||
@ -342,6 +328,10 @@ export default {
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
@ -4,17 +4,11 @@ import store from '@/store/modules/user'
|
||||
var roles = store.state.roles.replace(/;/g, '')
|
||||
|
||||
export default {
|
||||
getDate(pageSize, pageNo, isWhereSql, whereValue) {
|
||||
let whereSql = ''
|
||||
let whereType = ''
|
||||
if (isWhereSql) {
|
||||
whereSql = `dept_id like ?`
|
||||
whereType = 'string'
|
||||
}
|
||||
getDate(pageSize, pageNo, whereSql) {
|
||||
return request({
|
||||
url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=hidden_reform&user_id=${roles}`,
|
||||
method: 'post',
|
||||
data: `start=${pageNo}&limit=${pageSize}&where_sql=${whereSql}&where_value=${whereValue}&where_type=${whereType}&is_query=1&query_type=0`
|
||||
data: `start=${pageNo}&limit=${pageSize}&${whereSql}&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
getDeptTree() {
|
||||
|
@ -1,6 +1,11 @@
|
||||
<template>
|
||||
<div>
|
||||
<buttons funid="hidden_reform" style="margin:10px 10px" @Create="editCreate" @Del="editDelete" @editSave="editSave" @upload="upload" />
|
||||
<div class="app-container">
|
||||
<div class="head">
|
||||
<div>
|
||||
<buttons funid="hidden_reform" @Create="editCreate" @Del="editDelete" @editSave="editSave" @upload="upload" />
|
||||
</div>
|
||||
<Search funid="hidden_reform" @search="search" />
|
||||
</div>
|
||||
<el-card>
|
||||
<el-table
|
||||
ref="deptTable"
|
||||
@ -11,6 +16,7 @@
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<el-table-column type="index" fixed="left" width="35px" />
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
@ -41,7 +47,7 @@
|
||||
<div v-else-if="d.label === '操作'">
|
||||
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
|
||||
<el-button icon="el-icon-folder" type="text" title="查看附件" @click="checkAttach(scope.row)" />
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
<!-- <el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" /> -->
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
@ -61,8 +67,8 @@
|
||||
<el-dialog v-if="dialogUploadVisible" title="附件" :visible.sync="dialogUploadVisible" width="45%" @close="closeUploadDialog">
|
||||
<Attach ref="attach" :data-id="ids" table-name="hidden_danger" fun-id="hidden_check" @change="auditFormChange" />
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogUploadVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="save">确 定</el-button>
|
||||
<!-- <el-button @click="dialogUploadVisible = false">取 消</el-button> -->
|
||||
<el-button type="primary" @click="dialogUploadVisible = false">返回</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@ -71,12 +77,14 @@
|
||||
<script>
|
||||
import api from './api'
|
||||
import buttons from '@/components/Buttons'
|
||||
import Search from '@/components/Search'
|
||||
import Attach from '@/components/sys_attach'
|
||||
import { parseDay } from '@/utils/index'
|
||||
export default {
|
||||
name: 'HiddenReform',
|
||||
components: {
|
||||
buttons,
|
||||
Search,
|
||||
Attach
|
||||
},
|
||||
data() {
|
||||
@ -204,8 +212,7 @@ export default {
|
||||
api.getDate(
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.whereSql,
|
||||
this.whereValue
|
||||
this.whereSql
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
@ -218,6 +225,10 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
search(sql) {
|
||||
this.whereSql = sql
|
||||
this.getList()
|
||||
},
|
||||
editCreate() {
|
||||
const param = `/hidden_danger/hidden_reform/create`
|
||||
this.$router.push(param)
|
||||
@ -262,26 +273,6 @@ export default {
|
||||
auditFormChange(form) {
|
||||
this.saveFrom = form
|
||||
},
|
||||
save() {
|
||||
if (Object.keys(this.saveFrom).length === 0) {
|
||||
this.saveFrom = this.auditForm
|
||||
}
|
||||
this.$refs.auditForm.$refs.auditForm.validate(valid => {
|
||||
if (valid) {
|
||||
const _form = `funid=sys_dept&parentId=&levelCol=sys_dept.dept_level&keyid=${this.id}&pagetype=editgrid&eventcode=save_eg&sys_dept__dept_code=${this.saveFrom.sys_dept__dept_code}&sys_dept__dept_name=${this.saveFrom.sys_dept__dept_name}&sys_dept__memo=${this.saveFrom.sys_dept__memo}&sys_dept__is_novalid=${this.saveFrom.sys_dept__is_novalid}&sys_dept__dept_id=${this.id}&sys_dept__dept_level=${this.saveFrom.sys_dept__dept_level}&user_id=administrator&dataType=json`
|
||||
api.auditSave(_form).then(data => {
|
||||
if (data.success) {
|
||||
this.whereSql = false
|
||||
this.whereValue = ''
|
||||
this.getList()
|
||||
this.$message.success('保存成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
closeUploadDialog() {
|
||||
this.dialogUploadVisible = false
|
||||
},
|
||||
@ -305,12 +296,6 @@ export default {
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
},
|
||||
handleNodeClick(data) {
|
||||
console.log(data)
|
||||
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
|
||||
this.whereSql = true
|
||||
this.getList()
|
||||
},
|
||||
checkAttach(row) {
|
||||
// this.drawer = true
|
||||
this.ids = []
|
||||
@ -321,6 +306,10 @@ export default {
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
@ -4,17 +4,11 @@ import store from '@/store/modules/user'
|
||||
var roles = store.state.roles.replace(/;/g, '')
|
||||
|
||||
export default {
|
||||
getDate(pageSize, pageNo, isWhereSql, whereValue) {
|
||||
let whereSql = ''
|
||||
let whereType = ''
|
||||
if (isWhereSql) {
|
||||
whereSql = `dept_id like ?`
|
||||
whereType = 'string'
|
||||
}
|
||||
getDate(pageSize, pageNo, whereSql) {
|
||||
return request({
|
||||
url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=hidden_review&user_id=${roles}`,
|
||||
method: 'post',
|
||||
data: `start=${pageNo}&limit=${pageSize}&where_sql=${whereSql}&where_value=${whereValue}&where_type=${whereType}&is_query=1&query_type=0`
|
||||
data: `start=${pageNo}&limit=${pageSize}&${whereSql}&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
getDeptTree() {
|
||||
|
@ -1,6 +1,11 @@
|
||||
<template>
|
||||
<div>
|
||||
<buttons funid="hidden_review" style="margin:10px 10px" @Create="editCreate" @Del="editDelete" @editSave="editSave" @upload="upload" />
|
||||
<div class="app-container">
|
||||
<div class="head">
|
||||
<div>
|
||||
<buttons funid="hidden_review" @Create="editCreate" @Del="editDelete" @editSave="editSave" @upload="upload" />
|
||||
</div>
|
||||
<Search funid="hidden_review" @search="search" />
|
||||
</div>
|
||||
<el-card>
|
||||
<el-table
|
||||
ref="deptTable"
|
||||
@ -11,6 +16,7 @@
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<el-table-column type="index" fixed="left" width="35px" />
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
@ -37,7 +43,7 @@
|
||||
<div v-else-if="d.label === '操作'">
|
||||
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
|
||||
<el-button icon="el-icon-folder" type="text" title="查看附件" @click="checkAttach(scope.row)" />
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
<!-- <el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" /> -->
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
@ -57,8 +63,8 @@
|
||||
<el-dialog v-if="dialogUploadVisible" title="附件" :visible.sync="dialogUploadVisible" width="45%" @close="closeUploadDialog">
|
||||
<Attach ref="attach" :data-id="ids" table-name="hidden_danger" fun-id="hidden_check" @change="auditFormChange" />
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogUploadVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="save">确 定</el-button>
|
||||
<!-- <el-button @click="dialogUploadVisible = false">取 消</el-button> -->
|
||||
<el-button type="primary" @click="dialogUploadVisible = false">返回</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@ -67,12 +73,14 @@
|
||||
<script>
|
||||
import api from './api'
|
||||
import buttons from '@/components/Buttons'
|
||||
import Search from '@/components/Search'
|
||||
import Attach from '@/components/sys_attach'
|
||||
import { parseDay } from '@/utils/index'
|
||||
export default {
|
||||
name: 'HiddenReview',
|
||||
components: {
|
||||
buttons,
|
||||
Search,
|
||||
Attach
|
||||
},
|
||||
data() {
|
||||
@ -160,7 +168,7 @@ export default {
|
||||
label: 'sys_dept__dept_name'
|
||||
},
|
||||
treeList: [],
|
||||
whereSql: false,
|
||||
whereSql: '',
|
||||
whereValue: '',
|
||||
dialogUploadVisible: false
|
||||
}
|
||||
@ -194,6 +202,10 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
search(sql) {
|
||||
this.whereSql = sql
|
||||
this.getList()
|
||||
},
|
||||
editCreate() {
|
||||
const param = `/hidden_danger/hidden_review/create`
|
||||
this.$router.push(param)
|
||||
@ -232,26 +244,6 @@ export default {
|
||||
auditFormChange(form) {
|
||||
this.saveFrom = form
|
||||
},
|
||||
save() {
|
||||
if (Object.keys(this.saveFrom).length === 0) {
|
||||
this.saveFrom = this.auditForm
|
||||
}
|
||||
this.$refs.auditForm.$refs.auditForm.validate(valid => {
|
||||
if (valid) {
|
||||
const _form = `funid=sys_dept&parentId=&levelCol=sys_dept.dept_level&keyid=${this.id}&pagetype=editgrid&eventcode=save_eg&sys_dept__dept_code=${this.saveFrom.sys_dept__dept_code}&sys_dept__dept_name=${this.saveFrom.sys_dept__dept_name}&sys_dept__memo=${this.saveFrom.sys_dept__memo}&sys_dept__is_novalid=${this.saveFrom.sys_dept__is_novalid}&sys_dept__dept_id=${this.id}&sys_dept__dept_level=${this.saveFrom.sys_dept__dept_level}&user_id=administrator&dataType=json`
|
||||
api.auditSave(_form).then(data => {
|
||||
if (data.success) {
|
||||
this.whereSql = false
|
||||
this.whereValue = ''
|
||||
this.getList()
|
||||
this.$message.success('保存成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
closeUploadDialog() {
|
||||
this.dialogUploadVisible = false
|
||||
},
|
||||
@ -275,12 +267,6 @@ export default {
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
},
|
||||
handleNodeClick(data) {
|
||||
console.log(data)
|
||||
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
|
||||
this.whereSql = true
|
||||
this.getList()
|
||||
},
|
||||
checkAttach(row) {
|
||||
// this.drawer = true
|
||||
this.ids = []
|
||||
@ -291,6 +277,10 @@ export default {
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
@ -4,17 +4,11 @@ import store from '@/store/modules/user'
|
||||
var roles = store.state.roles.replace(/;/g, '')
|
||||
|
||||
export default {
|
||||
getDate(pageSize, pageNo, isWhereSql, whereValue) {
|
||||
let whereSql = ''
|
||||
let whereType = ''
|
||||
if (isWhereSql) {
|
||||
whereSql = `dept_id like ?`
|
||||
whereType = 'string'
|
||||
}
|
||||
getDate(pageSize, pageNo, whereSql) {
|
||||
return request({
|
||||
url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=insp_name&user_id=${roles}`,
|
||||
method: 'post',
|
||||
data: `start=${pageNo}&limit=${pageSize}&where_sql=${whereSql}&where_value=${whereValue}&where_type=${whereType}&is_query=1&query_type=0`
|
||||
data: `start=${pageNo}&limit=${pageSize}&${whereSql}&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
Crerte(data) {
|
||||
|
@ -1,196 +1,207 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<buttons funid="safe_insp" style="margin-bottom:20px" @save="save" />
|
||||
<el-form ref="form" :model="form" label-width="80px">
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检单编号">
|
||||
<el-input v-model="form.safe_insp__insp_code" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检状态">
|
||||
<el-select v-model="form.safe_insp__insp_state" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.funall_control__value_data"
|
||||
:label="item.funall_control__display_data"
|
||||
:value="item.funall_control__value_data"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检名称">
|
||||
<el-input v-model="form.safe_insp__insp_name" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检日期">
|
||||
<el-date-picker
|
||||
v-model="form.safe_insp__insp_date"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
style="width: 100%;"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检人员">
|
||||
<el-input v-model="form.safe_insp__insp_man" placeholder="请输入内容" class="input-with-select" clearable>
|
||||
<el-button slot="append" icon="el-icon-search" @click="selUserVisible = !selUserVisible" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form.safe_insp__insp_memo" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检频率">
|
||||
<el-input v-model="form.safe_insp__insp_times" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="已巡检数量">
|
||||
<el-input v-model="form.safe_insp__insp_ed" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="待巡检数量">
|
||||
<el-input v-model="form.safe_insp__insp_ing" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="不符合数量">
|
||||
<el-input v-model="form.safe_insp__insp_non" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<InspDet :id="id" />
|
||||
<el-dialog
|
||||
v-if="selUserVisible"
|
||||
title="选择人员"
|
||||
:visible.sync="selUserVisible"
|
||||
width="60%"
|
||||
>
|
||||
<SelUser @updateUsers="updateUsers" @updateUser="updateUser" />
|
||||
<span>
|
||||
<el-button @click="selUserVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="selUserVisible = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from '../../api'
|
||||
import publicApi from '@/api/public'
|
||||
import buttons from '@/components/formBtn'
|
||||
import InspDet from '../insp_det'
|
||||
import SelUser from '@/components/selUser'
|
||||
export default {
|
||||
name: 'EditForm',
|
||||
components: {
|
||||
buttons,
|
||||
SelUser,
|
||||
InspDet
|
||||
},
|
||||
// props: {
|
||||
// id: { type: String, default: () => '' }
|
||||
// },
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
form: {},
|
||||
id: this.$route.params.id,
|
||||
disabled: false,
|
||||
options: [],
|
||||
selUserVisible: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.log(this.id)
|
||||
this.getList()
|
||||
this.getTypeSel()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
api.getFormDate(this.id).then(data => {
|
||||
if (data.success) {
|
||||
this.form = data.data.root[0]
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
async getTypeSel() {
|
||||
await publicApi.getTypeSel('insptimes').then(data => {
|
||||
if (data.success) {
|
||||
this.options = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
onSubmit() {},
|
||||
updateUser(data) {
|
||||
this.form.safe_insp__insp_man = data.sys_user__user_name
|
||||
this.form.safe_insp__insp_man_id = data.sys_user__user_id
|
||||
this.selUserVisible = false
|
||||
},
|
||||
updateUsers(data) {
|
||||
this.form.safe_insp__insp_man = data.map(d => { return d.sys_user__user_name }).join(';')
|
||||
this.form.safe_insp__insp_man_id = data.map(d => { return d.sys_user__user_id }).join(';')
|
||||
},
|
||||
save() {
|
||||
api.Save(this.form).then(data => {
|
||||
if (data.success) {
|
||||
this.$message.success('保存成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
back() {
|
||||
// this.$router.back(-1)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .el-dialog__body {
|
||||
padding: 10px 20px !important;
|
||||
}
|
||||
::v-deep .el-form-item__label {
|
||||
text-align: right;
|
||||
/* vertical-align: middle; */
|
||||
float: left;
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
line-height: 40px;
|
||||
padding: 0 6px 0 0;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.el-col{
|
||||
margin-left: 2%;
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<div class="buttons">
|
||||
<buttons funid="safe_insp" style="margin-bottom:20px" @save="save" />
|
||||
<el-button type="primary" @click="back">返回列表</el-button>
|
||||
</div>
|
||||
<el-form ref="form" :model="form" label-width="80px">
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检单编号">
|
||||
<el-input v-model="form.safe_insp__insp_code" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检状态">
|
||||
<el-select v-model="form.safe_insp__insp_state" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.funall_control__value_data"
|
||||
:label="item.funall_control__display_data"
|
||||
:value="item.funall_control__value_data"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检名称">
|
||||
<el-input v-model="form.safe_insp__insp_name" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检日期">
|
||||
<el-date-picker
|
||||
v-model="form.safe_insp__insp_date"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
style="width: 100%;"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检人员">
|
||||
<el-input v-model="form.safe_insp__insp_man" placeholder="请输入内容" class="input-with-select" clearable>
|
||||
<el-button slot="append" icon="el-icon-search" @click="selUserVisible = !selUserVisible" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form.safe_insp__insp_memo" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检频率">
|
||||
<el-input v-model="form.safe_insp__insp_times" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="已巡检数量">
|
||||
<el-input v-model="form.safe_insp__insp_ed" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="待巡检数量">
|
||||
<el-input v-model="form.safe_insp__insp_ing" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="不符合数量">
|
||||
<el-input v-model="form.safe_insp__insp_non" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<InspDet :id="id" />
|
||||
<el-dialog
|
||||
v-if="selUserVisible"
|
||||
title="选择人员"
|
||||
:visible.sync="selUserVisible"
|
||||
width="60%"
|
||||
>
|
||||
<SelUser @updateUsers="updateUsers" @updateUser="updateUser" />
|
||||
<span>
|
||||
<el-button @click="selUserVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="selUserVisible = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from '../../api'
|
||||
import publicApi from '@/api/public'
|
||||
import buttons from '@/components/formBtn'
|
||||
import InspDet from '../insp_det'
|
||||
import SelUser from '@/components/selUser'
|
||||
export default {
|
||||
name: 'EditForm',
|
||||
components: {
|
||||
buttons,
|
||||
SelUser,
|
||||
InspDet
|
||||
},
|
||||
// props: {
|
||||
// id: { type: String, default: () => '' }
|
||||
// },
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
form: {},
|
||||
id: this.$route.params.id,
|
||||
disabled: false,
|
||||
options: [],
|
||||
selUserVisible: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.log(this.id)
|
||||
this.getList()
|
||||
this.getTypeSel()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
api.getFormDate(this.id).then(data => {
|
||||
if (data.success) {
|
||||
this.form = data.data.root[0]
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
async getTypeSel() {
|
||||
await publicApi.getTypeSel('insptimes').then(data => {
|
||||
if (data.success) {
|
||||
this.options = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
onSubmit() {},
|
||||
updateUser(data) {
|
||||
this.form.safe_insp__insp_man = data.sys_user__user_name
|
||||
this.form.safe_insp__insp_man_id = data.sys_user__user_id
|
||||
this.selUserVisible = false
|
||||
},
|
||||
updateUsers(data) {
|
||||
this.form.safe_insp__insp_man = data.map(d => { return d.sys_user__user_name }).join(';')
|
||||
this.form.safe_insp__insp_man_id = data.map(d => { return d.sys_user__user_id }).join(';')
|
||||
},
|
||||
save() {
|
||||
api.Save(this.form).then(data => {
|
||||
if (data.success) {
|
||||
this.$message.success('保存成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
back() {
|
||||
this.$store.dispatch('tagsView/delView', this.$route)
|
||||
this.$router.push('/hidden_danger/hidden_check')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .el-dialog__body {
|
||||
padding: 10px 20px !important;
|
||||
}
|
||||
::v-deep .el-form-item__label {
|
||||
text-align: right;
|
||||
/* vertical-align: middle; */
|
||||
float: left;
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
line-height: 40px;
|
||||
padding: 0 6px 0 0;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.el-col{
|
||||
margin-left: 2%;
|
||||
}
|
||||
.buttons {
|
||||
display: flex;
|
||||
.el-button--primary {
|
||||
margin-left: 10px;
|
||||
height: 26.8px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -1,35 +1,29 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export default {
|
||||
getDate(id, pageSize, pageNo, isWhereSql, whereValue) {
|
||||
let whereSql = ''
|
||||
let whereType = ''
|
||||
if (isWhereSql) {
|
||||
whereSql = `dept_id like ?`
|
||||
whereType = 'string'
|
||||
}
|
||||
return request({
|
||||
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=subeditgrid&query_funid=insp_item&user_id=administrator`,
|
||||
method: 'post',
|
||||
data: `start=${pageNo}&limit=${pageSize}&where_sql=(insp_item.insp_name_id = ?)${whereSql}&where_value=${id}${whereValue}&where_type=string${whereType}&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
Crerte(data) {
|
||||
return request({
|
||||
url: `/commonAction.do`,
|
||||
method: 'post',
|
||||
data: `${data}`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
Delete(ids) {
|
||||
let keys = ''
|
||||
ids.forEach(d => {
|
||||
keys += 'keyid=' + d + '&'
|
||||
})
|
||||
return request({
|
||||
url: `/commonAction.do`,
|
||||
method: 'post',
|
||||
data: `funid=insp_item&${keys}pagetype=editgrid&eventcode=delete_eg&user_id=administrator&dataType=json`
|
||||
}).then(response => response.data)
|
||||
}
|
||||
}
|
||||
import request from '@/utils/request'
|
||||
|
||||
export default {
|
||||
getDate(id, pageSize, pageNo, whereSql) {
|
||||
return request({
|
||||
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=subeditgrid&query_funid=insp_item&user_id=administrator`,
|
||||
method: 'post',
|
||||
data: `start=${pageNo}&limit=${pageSize}&${whereSql}&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
Crerte(data) {
|
||||
return request({
|
||||
url: `/commonAction.do`,
|
||||
method: 'post',
|
||||
data: `${data}`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
Delete(ids) {
|
||||
let keys = ''
|
||||
ids.forEach(d => {
|
||||
keys += 'keyid=' + d + '&'
|
||||
})
|
||||
return request({
|
||||
url: `/commonAction.do`,
|
||||
method: 'post',
|
||||
data: `funid=insp_item&${keys}pagetype=editgrid&eventcode=delete_eg&user_id=administrator&dataType=json`
|
||||
}).then(response => response.data)
|
||||
}
|
||||
}
|
||||
|
@ -1,273 +1,287 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<buttons funid="insp_item" style="margin-bottom:10px" @editCreate="editCreate" @editDelete="editDelete" />
|
||||
<el-table
|
||||
ref="deptTable"
|
||||
v-loading="loading"
|
||||
:data="data"
|
||||
style="width: 100%"
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
v-else
|
||||
:key="i"
|
||||
:prop="d.prop"
|
||||
:label="d.label"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="d.label === '操作'">
|
||||
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="pager.pageNo"
|
||||
:page-sizes="[10, 30, 50, 100, 500]"
|
||||
:page-size="pager.pageSize"
|
||||
:total="pager.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</el-card>
|
||||
|
||||
<el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog">
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-form-item label="巡检项目" :label-width="formLabelWidth" prop="insp_item__item_name">
|
||||
<el-input v-model="form.insp_item__item_name" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="巡检标准" :label-width="formLabelWidth" prop="insp_item__item_std">
|
||||
<el-input v-model="form.insp_item__item_std" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="巡检方法" :label-width="formLabelWidth" prop="insp_item__item_way">
|
||||
<el-input v-model="form.insp_item__item_way" type="textarea" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="create">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from './api'
|
||||
import publicApi from '@/api/public'
|
||||
import buttons from '@/components/Buttons'
|
||||
export default {
|
||||
name: 'SafeIdsp',
|
||||
components: {
|
||||
buttons
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
id: '',
|
||||
loading: false,
|
||||
data: [],
|
||||
deptTree: [],
|
||||
ids: [],
|
||||
pager: {
|
||||
pageNo: 0,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
tableHeader: [
|
||||
{
|
||||
prop: 'selection',
|
||||
type: 'selection',
|
||||
fixed: 'left'
|
||||
}, {
|
||||
prop: 'insp_item__item_name',
|
||||
label: '巡检项目'
|
||||
}, {
|
||||
prop: 'insp_item__item_std',
|
||||
label: '巡检标准'
|
||||
},
|
||||
{
|
||||
prop: 'insp_item__item_way',
|
||||
label: '巡检方法'
|
||||
}, {
|
||||
prop: 'opration',
|
||||
label: '操作',
|
||||
width: '70px',
|
||||
fixed: 'right',
|
||||
minWidth: '70px',
|
||||
show: true
|
||||
}],
|
||||
dept_id: '',
|
||||
level: '',
|
||||
parent_id: '',
|
||||
initFrom: {
|
||||
insp_item__insp_item_id: '',
|
||||
insp_item__item_name: '',
|
||||
insp_item__item_std: '',
|
||||
insp_item__item_way: ''
|
||||
},
|
||||
form: {},
|
||||
rules: {
|
||||
insp_item__item_name: [
|
||||
{ required: true, message: '请输入巡检项目', trigger: 'blur' }
|
||||
],
|
||||
insp_item__item_std: [
|
||||
{ required: true, message: '请输入巡检标准', trigger: 'blur' }
|
||||
],
|
||||
insp_item__item_way: [
|
||||
{ required: true, message: '请输入巡检方法', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
dialogFormVisible: false,
|
||||
dialogEditVisible: false,
|
||||
formLabelWidth: '120px',
|
||||
auditForm: {},
|
||||
saveFrom: {},
|
||||
treeData: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'sys_dept__dept_name'
|
||||
},
|
||||
treeList: [],
|
||||
whereSql: false,
|
||||
whereValue: '',
|
||||
title: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
if (this.value) {
|
||||
this.id = this.value
|
||||
this.getList(this.id)
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getList(id) {
|
||||
this.id = id
|
||||
this.loading = true
|
||||
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
|
||||
if (pageNo < 0) {
|
||||
pageNo = 0
|
||||
}
|
||||
api.getDate(
|
||||
this.id,
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.whereSql,
|
||||
this.whereValue
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
this.pager.total = data.data.total
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
editCreate() {
|
||||
this.title = '新增'
|
||||
this.form = JSON.parse(JSON.stringify(this.initFrom))
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = `funid=insp_item&fkValue=${this.id}&pfunid=insp_name&keyid=${this.form.insp_item__insp_item_id}&pagetype=editgrid&eventcode=save_eg&insp_item__item_name=${this.form.insp_item__item_name}&insp_item__item_std=${this.form.insp_item__item_std}&insp_item__item_way=${this.form.insp_item__item_way}&insp_item__insp_item_id=${this.form.insp_item__insp_item_id}&insp_item__insp_name_id=${this.id}&user_id=administrator&dataType=json`
|
||||
api.Crerte(data).then(data => {
|
||||
if (data.success) {
|
||||
this.getList(this.id)
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.$message.success('保存成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
edit(row) {
|
||||
this.title = '编辑'
|
||||
this.dialogFormVisible = true
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
},
|
||||
Delete(row) {
|
||||
this.ids = []
|
||||
this.ids.push(row.insp_item__insp_item_id)
|
||||
this.editDelete()
|
||||
},
|
||||
editDelete() {
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
this.$confirm('确认删除?').then(() => {
|
||||
api.Delete(this.ids).then(data => {
|
||||
if (data.success) {
|
||||
this.getList(this.id)
|
||||
this.$message.success('删除成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {})
|
||||
} else {
|
||||
this.$message.warning('请选择数据进行删除')
|
||||
}
|
||||
},
|
||||
auditFormChange(form) {
|
||||
this.saveFrom = form
|
||||
},
|
||||
cellDblclick(row) {
|
||||
this.title = '编辑'
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
sizeChange(size) {
|
||||
this.pager.pageSize = size
|
||||
this.getList(this.id)
|
||||
},
|
||||
pageChange(page) {
|
||||
this.pager.pageNo = page
|
||||
this.getList(this.id)
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.ids = val.map(d => d.insp_item__insp_item_id)
|
||||
},
|
||||
closeDialog() {
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
},
|
||||
handleNodeClick(data) {
|
||||
console.log(data)
|
||||
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
|
||||
this.whereSql = true
|
||||
this.getList(this.id)
|
||||
},
|
||||
async getTypeSel() {
|
||||
await publicApi.getTypeSel('inspresult').then(data => {
|
||||
if (data.success) {
|
||||
this.inspresult = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<div class="head">
|
||||
<div>
|
||||
<buttons funid="insp_item" style="margin-bottom:10px" @editCreate="editCreate" @editDelete="editDelete" />
|
||||
</div>
|
||||
<Search funid="insp_item" @search="search" />
|
||||
</div>
|
||||
<el-table
|
||||
ref="deptTable"
|
||||
v-loading="loading"
|
||||
:data="data"
|
||||
style="width: 100%"
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
v-else
|
||||
:key="i"
|
||||
:prop="d.prop"
|
||||
:label="d.label"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="d.label === '操作'">
|
||||
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="pager.pageNo"
|
||||
:page-sizes="[10, 30, 50, 100, 500]"
|
||||
:page-size="pager.pageSize"
|
||||
:total="pager.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</el-card>
|
||||
|
||||
<el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog">
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-form-item label="巡检项目" :label-width="formLabelWidth" prop="insp_item__item_name">
|
||||
<el-input v-model="form.insp_item__item_name" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="巡检标准" :label-width="formLabelWidth" prop="insp_item__item_std">
|
||||
<el-input v-model="form.insp_item__item_std" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="巡检方法" :label-width="formLabelWidth" prop="insp_item__item_way">
|
||||
<el-input v-model="form.insp_item__item_way" type="textarea" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="create">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from './api'
|
||||
import publicApi from '@/api/public'
|
||||
import buttons from '@/components/Buttons'
|
||||
import Search from '@/components/Search'
|
||||
export default {
|
||||
name: 'SafeIdsp',
|
||||
components: {
|
||||
buttons,
|
||||
Search
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
id: '',
|
||||
loading: false,
|
||||
data: [],
|
||||
deptTree: [],
|
||||
ids: [],
|
||||
pager: {
|
||||
pageNo: 0,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
tableHeader: [
|
||||
{
|
||||
prop: 'selection',
|
||||
type: 'selection',
|
||||
fixed: 'left'
|
||||
}, {
|
||||
prop: 'insp_item__item_name',
|
||||
label: '巡检项目'
|
||||
}, {
|
||||
prop: 'insp_item__item_std',
|
||||
label: '巡检标准'
|
||||
},
|
||||
{
|
||||
prop: 'insp_item__item_way',
|
||||
label: '巡检方法'
|
||||
}, {
|
||||
prop: 'opration',
|
||||
label: '操作',
|
||||
width: '70px',
|
||||
fixed: 'right',
|
||||
minWidth: '70px',
|
||||
show: true
|
||||
}],
|
||||
dept_id: '',
|
||||
level: '',
|
||||
parent_id: '',
|
||||
initFrom: {
|
||||
insp_item__insp_item_id: '',
|
||||
insp_item__item_name: '',
|
||||
insp_item__item_std: '',
|
||||
insp_item__item_way: ''
|
||||
},
|
||||
form: {},
|
||||
rules: {
|
||||
insp_item__item_name: [
|
||||
{ required: true, message: '请输入巡检项目', trigger: 'blur' }
|
||||
],
|
||||
insp_item__item_std: [
|
||||
{ required: true, message: '请输入巡检标准', trigger: 'blur' }
|
||||
],
|
||||
insp_item__item_way: [
|
||||
{ required: true, message: '请输入巡检方法', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
dialogFormVisible: false,
|
||||
dialogEditVisible: false,
|
||||
formLabelWidth: '120px',
|
||||
auditForm: {},
|
||||
saveFrom: {},
|
||||
treeData: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'sys_dept__dept_name'
|
||||
},
|
||||
treeList: [],
|
||||
whereSql: '',
|
||||
whereValue: '',
|
||||
title: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
if (this.value) {
|
||||
this.id = this.value
|
||||
this.getList(this.id)
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getList(id) {
|
||||
this.id = id
|
||||
this.loading = true
|
||||
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
|
||||
if (pageNo < 0) {
|
||||
pageNo = 0
|
||||
}
|
||||
api.getDate(
|
||||
this.id,
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.whereSql
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
this.pager.total = data.data.total
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
search(sql) {
|
||||
this.whereSql = sql
|
||||
this.getList()
|
||||
},
|
||||
editCreate() {
|
||||
this.title = '新增'
|
||||
this.form = JSON.parse(JSON.stringify(this.initFrom))
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = `funid=insp_item&fkValue=${this.id}&pfunid=insp_name&keyid=${this.form.insp_item__insp_item_id}&pagetype=editgrid&eventcode=save_eg&insp_item__item_name=${this.form.insp_item__item_name}&insp_item__item_std=${this.form.insp_item__item_std}&insp_item__item_way=${this.form.insp_item__item_way}&insp_item__insp_item_id=${this.form.insp_item__insp_item_id}&insp_item__insp_name_id=${this.id}&user_id=administrator&dataType=json`
|
||||
api.Crerte(data).then(data => {
|
||||
if (data.success) {
|
||||
this.getList(this.id)
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.$message.success('保存成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
edit(row) {
|
||||
this.title = '编辑'
|
||||
this.dialogFormVisible = true
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
},
|
||||
Delete(row) {
|
||||
this.ids = []
|
||||
this.ids.push(row.insp_item__insp_item_id)
|
||||
this.editDelete()
|
||||
},
|
||||
editDelete() {
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
this.$confirm('确认删除?').then(() => {
|
||||
api.Delete(this.ids).then(data => {
|
||||
if (data.success) {
|
||||
this.getList(this.id)
|
||||
this.$message.success('删除成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {})
|
||||
} else {
|
||||
this.$message.warning('请选择数据进行删除')
|
||||
}
|
||||
},
|
||||
auditFormChange(form) {
|
||||
this.saveFrom = form
|
||||
},
|
||||
cellDblclick(row) {
|
||||
this.title = '编辑'
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
sizeChange(size) {
|
||||
this.pager.pageSize = size
|
||||
this.getList(this.id)
|
||||
},
|
||||
pageChange(page) {
|
||||
this.pager.pageNo = page
|
||||
this.getList(this.id)
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.ids = val.map(d => d.insp_item__insp_item_id)
|
||||
},
|
||||
closeDialog() {
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
},
|
||||
handleNodeClick(data) {
|
||||
console.log(data)
|
||||
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
|
||||
this.whereSql = ''
|
||||
this.getList(this.id)
|
||||
},
|
||||
async getTypeSel() {
|
||||
await publicApi.getTypeSel('inspresult').then(data => {
|
||||
if (data.success) {
|
||||
this.inspresult = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
|
@ -1,270 +1,286 @@
|
||||
<template>
|
||||
<div>
|
||||
<buttons funid="insp_name" style="margin:10px 10px" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" />
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-card>
|
||||
<el-table
|
||||
ref="deptTable"
|
||||
v-loading="loading"
|
||||
:data="data"
|
||||
style="width: 100%"
|
||||
@row-click="rowClick"
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
v-else-if="d.show !== false"
|
||||
:key="i"
|
||||
:prop="d.prop"
|
||||
:label="d.label"
|
||||
:width="d.width"
|
||||
:min-width="d.minWidth"
|
||||
:class-name="d.className"
|
||||
:fixed="d.fixed"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="d.label === '操作'">
|
||||
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
<div class="pagination">
|
||||
<el-pagination
|
||||
:current-page="pager.pageNo"
|
||||
:page-sizes="[10, 30, 50, 100, 500]"
|
||||
:page-size="pager.pageSize"
|
||||
:total="pager.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</div>
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<InspItem ref="inspItem" v-model="id" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog">
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-form-item label="巡检表名称" :label-width="formLabelWidth" prop="dept_code">
|
||||
<el-input v-model="form.insp_name__insp_name" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="create">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog">
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-form-item label="巡检表名称" :label-width="formLabelWidth" prop="dept_code">
|
||||
<el-input v-model="form.insp_name__insp_name" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="create">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from './api'
|
||||
import buttons from '@/components/Buttons'
|
||||
import InspItem from './components/insp_item'
|
||||
export default {
|
||||
name: 'SafeIdsp',
|
||||
components: {
|
||||
buttons,
|
||||
InspItem
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
data: [],
|
||||
deptTree: [],
|
||||
ids: [],
|
||||
levels: [],
|
||||
pager: {
|
||||
pageNo: 0,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
tableHeader: [
|
||||
{
|
||||
prop: 'selection',
|
||||
type: 'selection',
|
||||
fixed: 'left'
|
||||
}, {
|
||||
prop: 'insp_name__insp_name',
|
||||
label: '巡检表名称'
|
||||
}, {
|
||||
prop: 'opration',
|
||||
label: '操作',
|
||||
width: '100px',
|
||||
fixed: 'right',
|
||||
minWidth: '100px',
|
||||
show: true
|
||||
}],
|
||||
value: '',
|
||||
id: '',
|
||||
form: { },
|
||||
initForm: {
|
||||
insp_name__insp_name: '',
|
||||
insp_name__insp_name_id: ''
|
||||
},
|
||||
rules: {
|
||||
insp_name__insp_name: [
|
||||
{ required: true, message: '请输入部门编码', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
dialogFormVisible: false,
|
||||
dialogEditVisible: false,
|
||||
formLabelWidth: '120px',
|
||||
auditForm: {},
|
||||
saveFrom: {},
|
||||
treeList: [],
|
||||
whereSql: false,
|
||||
whereValue: '',
|
||||
title: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
|
||||
if (pageNo < 0) {
|
||||
pageNo = 0
|
||||
}
|
||||
api.getDate(
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.whereSql,
|
||||
this.whereValue
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
this.pager.total = data.data.total
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
editCreate() {
|
||||
this.title = '新增'
|
||||
this.dialogFormVisible = true
|
||||
this.form = JSON.parse(JSON.stringify(this.initForm))
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = `funid=insp_name&keyid=${this.form.insp_name__insp_name_id}&pagetype=editgrid&eventcode=save_eg&insp_name__insp_name=${this.form.insp_name__insp_name}&insp_name__insp_name_id=${this.form.insp_name__insp_name_id}&insp_name__org_id=&insp_name__dept_id=&user_id=administrator&dataType=json`
|
||||
api.Crerte(data).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.$message.success('保存成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
edit(row) {
|
||||
this.title = '编辑'
|
||||
this.dialogFormVisible = true
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
},
|
||||
Delete(row) {
|
||||
this.ids = []
|
||||
this.ids.push(row.insp_name__insp_name_id)
|
||||
this.editDelete()
|
||||
},
|
||||
editDelete() {
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
this.$confirm('确认删除?').then(() => {
|
||||
api.Delete(this.ids).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.$message.success('删除成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {})
|
||||
} else {
|
||||
this.$message.warning('请选择数据进行删除')
|
||||
}
|
||||
},
|
||||
editSave() {
|
||||
console.log('editSave')
|
||||
},
|
||||
upload() {
|
||||
console.log('upload')
|
||||
},
|
||||
auditFormChange(form) {
|
||||
this.form = form
|
||||
},
|
||||
cellDblclick(row) {
|
||||
this.title = '编辑'
|
||||
this.dialogFormVisible = true
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
},
|
||||
sizeChange(size) {
|
||||
this.pager.pageSize = size
|
||||
this.getList()
|
||||
},
|
||||
pageChange(page) {
|
||||
this.pager.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.ids = val.map(d => d.insp_name__insp_name_id)
|
||||
},
|
||||
rowClick(row) {
|
||||
this.id = row.insp_name__insp_name_id
|
||||
this.$refs.inspItem.getList(this.id)
|
||||
},
|
||||
closeDialog() {
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
},
|
||||
handleNodeClick(data) {
|
||||
console.log(data)
|
||||
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
|
||||
this.whereSql = true
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.pagination{
|
||||
overflow: auto;
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="head">
|
||||
<div>
|
||||
<buttons funid="insp_name" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" />
|
||||
</div>
|
||||
<!-- <Search funid="insp_name" @search="search" /> -->
|
||||
</div>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-card>
|
||||
<Search class="search" funid="insp_name" @search="search" />
|
||||
<el-table
|
||||
ref="deptTable"
|
||||
v-loading="loading"
|
||||
:data="data"
|
||||
style="width: 100%"
|
||||
@row-click="rowClick"
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
v-else-if="d.show !== false"
|
||||
:key="i"
|
||||
:prop="d.prop"
|
||||
:label="d.label"
|
||||
:width="d.width"
|
||||
:min-width="d.minWidth"
|
||||
:class-name="d.className"
|
||||
:fixed="d.fixed"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="d.label === '操作'">
|
||||
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
<div class="pagination">
|
||||
<el-pagination
|
||||
:current-page="pager.pageNo"
|
||||
:page-sizes="[10, 30, 50, 100, 500]"
|
||||
:page-size="pager.pageSize"
|
||||
:total="pager.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</div>
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<InspItem ref="inspItem" v-model="id" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog">
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-form-item label="巡检表名称" :label-width="formLabelWidth" prop="dept_code">
|
||||
<el-input v-model="form.insp_name__insp_name" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="create">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog">
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-form-item label="巡检表名称" :label-width="formLabelWidth" prop="dept_code">
|
||||
<el-input v-model="form.insp_name__insp_name" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="create">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from './api'
|
||||
import buttons from '@/components/Buttons'
|
||||
import Search from '@/components/Search'
|
||||
import InspItem from './components/insp_item'
|
||||
export default {
|
||||
name: 'SafeIdsp',
|
||||
components: {
|
||||
buttons,
|
||||
Search,
|
||||
InspItem
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
data: [],
|
||||
deptTree: [],
|
||||
ids: [],
|
||||
levels: [],
|
||||
pager: {
|
||||
pageNo: 0,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
tableHeader: [
|
||||
{
|
||||
prop: 'selection',
|
||||
type: 'selection',
|
||||
fixed: 'left'
|
||||
}, {
|
||||
prop: 'insp_name__insp_name',
|
||||
label: '巡检表名称'
|
||||
}, {
|
||||
prop: 'opration',
|
||||
label: '操作',
|
||||
width: '100px',
|
||||
fixed: 'right',
|
||||
minWidth: '100px',
|
||||
show: true
|
||||
}],
|
||||
value: '',
|
||||
id: '',
|
||||
form: { },
|
||||
initForm: {
|
||||
insp_name__insp_name: '',
|
||||
insp_name__insp_name_id: ''
|
||||
},
|
||||
rules: {
|
||||
insp_name__insp_name: [
|
||||
{ required: true, message: '请输入部门编码', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
dialogFormVisible: false,
|
||||
dialogEditVisible: false,
|
||||
formLabelWidth: '120px',
|
||||
auditForm: {},
|
||||
saveFrom: {},
|
||||
treeList: [],
|
||||
whereSql: false,
|
||||
whereValue: '',
|
||||
title: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
|
||||
if (pageNo < 0) {
|
||||
pageNo = 0
|
||||
}
|
||||
api.getDate(
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.whereSql
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
this.pager.total = data.data.total
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
search(sql) {
|
||||
this.whereSql = sql
|
||||
this.getList()
|
||||
},
|
||||
editCreate() {
|
||||
this.title = '新增'
|
||||
this.dialogFormVisible = true
|
||||
this.form = JSON.parse(JSON.stringify(this.initForm))
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = `funid=insp_name&keyid=${this.form.insp_name__insp_name_id}&pagetype=editgrid&eventcode=save_eg&insp_name__insp_name=${this.form.insp_name__insp_name}&insp_name__insp_name_id=${this.form.insp_name__insp_name_id}&insp_name__org_id=&insp_name__dept_id=&user_id=administrator&dataType=json`
|
||||
api.Crerte(data).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.$message.success('保存成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
edit(row) {
|
||||
this.title = '编辑'
|
||||
this.dialogFormVisible = true
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
},
|
||||
Delete(row) {
|
||||
this.ids = []
|
||||
this.ids.push(row.insp_name__insp_name_id)
|
||||
this.editDelete()
|
||||
},
|
||||
editDelete() {
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
this.$confirm('确认删除?').then(() => {
|
||||
api.Delete(this.ids).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.$message.success('删除成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {})
|
||||
} else {
|
||||
this.$message.warning('请选择数据进行删除')
|
||||
}
|
||||
},
|
||||
editSave() {
|
||||
console.log('editSave')
|
||||
},
|
||||
upload() {
|
||||
console.log('upload')
|
||||
},
|
||||
auditFormChange(form) {
|
||||
this.form = form
|
||||
},
|
||||
cellDblclick(row) {
|
||||
this.title = '编辑'
|
||||
this.dialogFormVisible = true
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
},
|
||||
sizeChange(size) {
|
||||
this.pager.pageSize = size
|
||||
this.getList()
|
||||
},
|
||||
pageChange(page) {
|
||||
this.pager.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.ids = val.map(d => d.insp_name__insp_name_id)
|
||||
},
|
||||
rowClick(row) {
|
||||
this.id = row.insp_name__insp_name_id
|
||||
this.$refs.inspItem.getList(this.id)
|
||||
},
|
||||
closeDialog() {
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
},
|
||||
handleNodeClick(data) {
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.search {
|
||||
margin-left: -50px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.pagination{
|
||||
overflow: auto;
|
||||
}
|
||||
</style>
|
||||
|
@ -4,17 +4,11 @@ import store from '@/store/modules/user'
|
||||
var roles = store.state.roles.replace(/;/g, '')
|
||||
|
||||
export default {
|
||||
getDate(pageSize, pageNo, isWhereSql, whereValue) {
|
||||
let whereSql = ''
|
||||
let whereType = ''
|
||||
if (isWhereSql) {
|
||||
whereSql = `dept_id like ?`
|
||||
whereType = 'string'
|
||||
}
|
||||
getDate(pageSize, pageNo, whereSql) {
|
||||
return request({
|
||||
url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=safe_insp&user_id=${roles}`,
|
||||
method: 'post',
|
||||
data: `start=${pageNo}&limit=${pageSize}&where_sql=${whereSql}&where_value=${whereValue}&where_type=${whereType}&is_query=1&query_type=0`
|
||||
data: `start=${pageNo}&limit=${pageSize}&${whereSql}&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
getDeptTree() {
|
||||
|
@ -1,296 +1,307 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<buttons funid="safe_insp" style="margin-bottom:20px" @save="save" />
|
||||
<el-form ref="form" :model="form" label-width="80px" :rules="rules">
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检单编号">
|
||||
<el-input v-model="form.safe_insp__insp_code" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检状态">
|
||||
<el-select v-model="form.safe_insp__insp_state" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.funall_control__value_data"
|
||||
:label="item.funall_control__display_data"
|
||||
:value="item.funall_control__value_data"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item ref="safe_insp__insp_name" label="巡检名称" prop="safe_insp__insp_name">
|
||||
<el-input v-model="form.safe_insp__insp_name" placeholder="请选择巡检名称" class="input-with-select" clearable>
|
||||
<el-button slot="append" icon="el-icon-search" @click="inspNameVisible = !inspNameVisible" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检日期" prop="safe_insp__insp_date">
|
||||
<el-date-picker
|
||||
v-model="form.safe_insp__insp_date"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
style="width: 100%;"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item ref="safe_insp__insp_man" label="巡检人员" prop="safe_insp__insp_man">
|
||||
<el-input v-model="form.safe_insp__insp_man" placeholder="请选择巡检人员" class="input-with-select" clearable>
|
||||
<el-button slot="append" icon="el-icon-search" @click="selUserVisible = !selUserVisible" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form.safe_insp__insp_memo" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item ref="safe_insp__insp_times" label="巡检频率" prop="safe_insp__insp_times">
|
||||
<el-select v-model="form.safe_insp__insp_times" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in insptimes"
|
||||
:key="item.funall_control__value_data"
|
||||
:label="item.funall_control__display_data"
|
||||
:value="item.funall_control__value_data"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="已巡检数量">
|
||||
<el-input v-model="form.safe_insp__insp_ed" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="待巡检数量">
|
||||
<el-input v-model="form.safe_insp__insp_ing" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="不符合数量">
|
||||
<el-input v-model="form.safe_insp__insp_non" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<InspDet v-if="id" :id="id" />
|
||||
<el-dialog
|
||||
v-if="selUserVisible"
|
||||
title="选择人员"
|
||||
:visible.sync="selUserVisible"
|
||||
width="60%"
|
||||
>
|
||||
<SelUser ref="selUser" @updateUser="updateUser" />
|
||||
<span>
|
||||
<el-button @click="selUserVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="selUser">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
v-if="inspNameVisible"
|
||||
title="选择巡检名称"
|
||||
:visible.sync="inspNameVisible"
|
||||
width="60%"
|
||||
>
|
||||
<InspName @updateInspName="updateInspName" />
|
||||
<span>
|
||||
<el-button @click="inspNameVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="inspNameVisible = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from '../../api'
|
||||
import publicApi from '@/api/public'
|
||||
import buttons from '@/components/formBtn'
|
||||
import InspDet from '../insp_det'
|
||||
import SelUser from '@/components/selUser'
|
||||
import InspName from '../inspName'
|
||||
export default {
|
||||
name: 'AuditForm',
|
||||
components: {
|
||||
buttons,
|
||||
SelUser,
|
||||
InspDet,
|
||||
InspName
|
||||
},
|
||||
// props: {
|
||||
// id: { type: String, default: () => '' }
|
||||
// },
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
form: {
|
||||
safe_insp__insp_code: '',
|
||||
safe_insp__insp_name: '',
|
||||
safe_insp__insp_state: '',
|
||||
safe_insp__insp_date: '',
|
||||
safe_insp__insp_man: '',
|
||||
safe_insp__insp_times: '',
|
||||
safe_insp__insp_memo: '',
|
||||
safe_insp__insp_ed: '',
|
||||
safe_insp__insp_ing: '',
|
||||
safe_insp__insp_non: '',
|
||||
safe_insp__insp_name_id: '',
|
||||
safe_insp__org_id: '',
|
||||
safe_insp__safe_insp_id: '',
|
||||
safe_insp__dept_id: '',
|
||||
safe_insp__insp_man_id: ''
|
||||
},
|
||||
rules: {
|
||||
safe_insp__insp_name: [
|
||||
{ required: true, message: '请选择巡检名称', trigger: 'blur' }
|
||||
],
|
||||
safe_insp__insp_man: [
|
||||
{ required: true, message: '请选择巡检人员', trigger: 'blur' }
|
||||
],
|
||||
safe_insp__insp_date: [
|
||||
{ required: true, message: '请选择巡检日期', trigger: 'blur' }
|
||||
],
|
||||
safe_insp__insp_times: [
|
||||
{ required: true, message: '请选择巡检频率', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
inspName: [],
|
||||
disabled: false,
|
||||
options: [],
|
||||
insptimes: [],
|
||||
selUserVisible: false,
|
||||
inspNameVisible: false,
|
||||
id: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'form.safe_insp__insp_name': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['safe_insp__insp_name'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
'form.safe_insp__insp_man': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['safe_insp__insp_man'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
'form.safe_insp__insp_times': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['safe_insp__insp_times'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getTypeSel()
|
||||
this.getInsptimes()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
api.getFormDate().then(data => {
|
||||
if (data.success) {
|
||||
this.form = data.data.root[0]
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
async getTypeSel() {
|
||||
await publicApi.getTypeSel('inspstate').then(data => {
|
||||
if (data.success) {
|
||||
this.options = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
async getInsptimes() {
|
||||
await publicApi.getTypeSel('insptimes').then(data => {
|
||||
if (data.success) {
|
||||
this.insptimes = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
onSubmit() {},
|
||||
updateUser(data) {
|
||||
this.form.safe_insp__insp_man = data.sys_user__user_name
|
||||
this.form.safe_insp__insp_man_id = data.sys_user__user_id
|
||||
this.selUserVisible = false
|
||||
},
|
||||
selUser() {
|
||||
this.updateUsers(this.$refs.selUser.Users)
|
||||
this.selUserVisible = false
|
||||
},
|
||||
updateUsers(data) {
|
||||
this.form.safe_insp__insp_man = data.map(d => { return d.sys_user__user_name }).join(';')
|
||||
this.form.safe_insp__insp_man_id = data.map(d => { return d.sys_user__user_id }).join(';')
|
||||
this.selUserVisible = false
|
||||
},
|
||||
updateInspName(data) {
|
||||
this.form.safe_insp__insp_name = data.insp_name__insp_name
|
||||
this.form.safe_insp__insp_name_id = data.insp_name__insp_name_id
|
||||
this.inspNameVisible = false
|
||||
},
|
||||
save() {
|
||||
this.$refs.form.validate(valid => {
|
||||
if (valid) {
|
||||
api.Crerte(this.form).then(data => {
|
||||
if (data.success) {
|
||||
this.$message.success('保存成功!')
|
||||
const param = `/insp/edit_form/audit/${data.data.keyid}`
|
||||
this.$router.push(param)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
back() {
|
||||
// this.$router.back(-1)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .el-dialog__body {
|
||||
padding: 10px 20px !important;
|
||||
}
|
||||
::v-deep .el-form-item__label {
|
||||
text-align: right;
|
||||
/* vertical-align: middle; */
|
||||
float: left;
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
line-height: 40px;
|
||||
padding: 0 6px 0 0;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.el-col{
|
||||
margin-left: 2%;
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<div class="buttons">
|
||||
<buttons funid="safe_insp" style="margin-bottom:20px" @save="save" />
|
||||
<el-button type="primary" @click="back">返回列表</el-button>
|
||||
</div>
|
||||
<el-form ref="form" :model="form" label-width="80px" :rules="rules">
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检单编号">
|
||||
<el-input v-model="form.safe_insp__insp_code" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检状态">
|
||||
<el-select v-model="form.safe_insp__insp_state" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.funall_control__value_data"
|
||||
:label="item.funall_control__display_data"
|
||||
:value="item.funall_control__value_data"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item ref="safe_insp__insp_name" label="巡检名称" prop="safe_insp__insp_name">
|
||||
<el-input v-model="form.safe_insp__insp_name" placeholder="请选择巡检名称" class="input-with-select" clearable>
|
||||
<el-button slot="append" icon="el-icon-search" @click="inspNameVisible = !inspNameVisible" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检日期" prop="safe_insp__insp_date">
|
||||
<el-date-picker
|
||||
v-model="form.safe_insp__insp_date"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
style="width: 100%;"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item ref="safe_insp__insp_man" label="巡检人员" prop="safe_insp__insp_man">
|
||||
<el-input v-model="form.safe_insp__insp_man" placeholder="请选择巡检人员" class="input-with-select" clearable>
|
||||
<el-button slot="append" icon="el-icon-search" @click="selUserVisible = !selUserVisible" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form.safe_insp__insp_memo" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item ref="safe_insp__insp_times" label="巡检频率" prop="safe_insp__insp_times">
|
||||
<el-select v-model="form.safe_insp__insp_times" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in insptimes"
|
||||
:key="item.funall_control__value_data"
|
||||
:label="item.funall_control__display_data"
|
||||
:value="item.funall_control__value_data"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="已巡检数量">
|
||||
<el-input v-model="form.safe_insp__insp_ed" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="待巡检数量">
|
||||
<el-input v-model="form.safe_insp__insp_ing" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="不符合数量">
|
||||
<el-input v-model="form.safe_insp__insp_non" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<InspDet v-if="id" :id="id" />
|
||||
<el-dialog
|
||||
v-if="selUserVisible"
|
||||
title="选择人员"
|
||||
:visible.sync="selUserVisible"
|
||||
width="60%"
|
||||
>
|
||||
<SelUser ref="selUser" @updateUser="updateUser" />
|
||||
<span>
|
||||
<el-button @click="selUserVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="selUser">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
v-if="inspNameVisible"
|
||||
title="选择巡检名称"
|
||||
:visible.sync="inspNameVisible"
|
||||
width="60%"
|
||||
>
|
||||
<InspName @updateInspName="updateInspName" />
|
||||
<span>
|
||||
<el-button @click="inspNameVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="inspNameVisible = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from '../../api'
|
||||
import publicApi from '@/api/public'
|
||||
import buttons from '@/components/formBtn'
|
||||
import InspDet from '../insp_det'
|
||||
import SelUser from '@/components/selUser'
|
||||
import InspName from '../inspName'
|
||||
export default {
|
||||
name: 'AuditForm',
|
||||
components: {
|
||||
buttons,
|
||||
SelUser,
|
||||
InspDet,
|
||||
InspName
|
||||
},
|
||||
// props: {
|
||||
// id: { type: String, default: () => '' }
|
||||
// },
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
form: {
|
||||
safe_insp__insp_code: '',
|
||||
safe_insp__insp_name: '',
|
||||
safe_insp__insp_state: '',
|
||||
safe_insp__insp_date: '',
|
||||
safe_insp__insp_man: '',
|
||||
safe_insp__insp_times: '',
|
||||
safe_insp__insp_memo: '',
|
||||
safe_insp__insp_ed: '',
|
||||
safe_insp__insp_ing: '',
|
||||
safe_insp__insp_non: '',
|
||||
safe_insp__insp_name_id: '',
|
||||
safe_insp__org_id: '',
|
||||
safe_insp__safe_insp_id: '',
|
||||
safe_insp__dept_id: '',
|
||||
safe_insp__insp_man_id: ''
|
||||
},
|
||||
rules: {
|
||||
safe_insp__insp_name: [
|
||||
{ required: true, message: '请选择巡检名称', trigger: 'blur' }
|
||||
],
|
||||
safe_insp__insp_man: [
|
||||
{ required: true, message: '请选择巡检人员', trigger: 'blur' }
|
||||
],
|
||||
safe_insp__insp_date: [
|
||||
{ required: true, message: '请选择巡检日期', trigger: 'blur' }
|
||||
],
|
||||
safe_insp__insp_times: [
|
||||
{ required: true, message: '请选择巡检频率', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
inspName: [],
|
||||
disabled: false,
|
||||
options: [],
|
||||
insptimes: [],
|
||||
selUserVisible: false,
|
||||
inspNameVisible: false,
|
||||
id: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'form.safe_insp__insp_name': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['safe_insp__insp_name'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
'form.safe_insp__insp_man': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['safe_insp__insp_man'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
'form.safe_insp__insp_times': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['safe_insp__insp_times'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getTypeSel()
|
||||
this.getInsptimes()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
api.getFormDate().then(data => {
|
||||
if (data.success) {
|
||||
this.form = data.data.root[0]
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
async getTypeSel() {
|
||||
await publicApi.getTypeSel('inspstate').then(data => {
|
||||
if (data.success) {
|
||||
this.options = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
async getInsptimes() {
|
||||
await publicApi.getTypeSel('insptimes').then(data => {
|
||||
if (data.success) {
|
||||
this.insptimes = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
onSubmit() {},
|
||||
updateUser(data) {
|
||||
this.form.safe_insp__insp_man = data.sys_user__user_name
|
||||
this.form.safe_insp__insp_man_id = data.sys_user__user_id
|
||||
this.selUserVisible = false
|
||||
},
|
||||
selUser() {
|
||||
this.updateUsers(this.$refs.selUser.Users)
|
||||
this.selUserVisible = false
|
||||
},
|
||||
updateUsers(data) {
|
||||
this.form.safe_insp__insp_man = data.map(d => { return d.sys_user__user_name }).join(';')
|
||||
this.form.safe_insp__insp_man_id = data.map(d => { return d.sys_user__user_id }).join(';')
|
||||
this.selUserVisible = false
|
||||
},
|
||||
updateInspName(data) {
|
||||
this.form.safe_insp__insp_name = data.insp_name__insp_name
|
||||
this.form.safe_insp__insp_name_id = data.insp_name__insp_name_id
|
||||
this.inspNameVisible = false
|
||||
},
|
||||
save() {
|
||||
this.$refs.form.validate(valid => {
|
||||
if (valid) {
|
||||
api.Crerte(this.form).then(data => {
|
||||
if (data.success) {
|
||||
this.$message.success('保存成功!')
|
||||
const param = `/insp/edit_form/audit/${data.data.keyid}`
|
||||
this.$router.push(param)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
back() {
|
||||
this.$store.dispatch('tagsView/delView', this.$route)
|
||||
this.$router.push('/insp/safe_insp')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .el-dialog__body {
|
||||
padding: 10px 20px !important;
|
||||
}
|
||||
::v-deep .el-form-item__label {
|
||||
text-align: right;
|
||||
/* vertical-align: middle; */
|
||||
float: left;
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
line-height: 40px;
|
||||
padding: 0 6px 0 0;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.el-col{
|
||||
margin-left: 2%;
|
||||
}
|
||||
.buttons {
|
||||
display: flex;
|
||||
.el-button--primary {
|
||||
margin-left: 10px;
|
||||
height: 26.8px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -1,281 +1,292 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<buttons funid="safe_insp" style="margin-bottom:20px" @save="save" />
|
||||
<el-form ref="form" :model="form" label-width="80px" :rules="rules">
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检单编号">
|
||||
<el-input v-model="form.safe_insp__insp_code" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检状态">
|
||||
<el-select v-model="form.safe_insp__insp_state" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.funall_control__value_data"
|
||||
:label="item.funall_control__display_data"
|
||||
:value="item.funall_control__value_data"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item ref="safe_insp__insp_name" label="巡检名称" prop="safe_insp__insp_name">
|
||||
<el-input v-model="form.safe_insp__insp_name" placeholder="请选择巡检名称" class="input-with-select" clearable>
|
||||
<el-button slot="append" icon="el-icon-search" @click="inspNameVisible = !inspNameVisible" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检日期" prop="safe_insp__insp_date">
|
||||
<el-date-picker
|
||||
v-model="form.safe_insp__insp_date"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
style="width: 100%;"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item ref="safe_insp__insp_man" label="巡检人员" prop="safe_insp__insp_man">
|
||||
<el-input v-model="form.safe_insp__insp_man" placeholder="请选择巡检人员" class="input-with-select" clearable>
|
||||
<el-button slot="append" icon="el-icon-search" @click="selUserVisible = !selUserVisible" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form.safe_insp__insp_memo" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item ref="safe_insp__insp_times" label="巡检频率" prop="safe_insp__insp_times">
|
||||
<el-select v-model="form.safe_insp__insp_times" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in insptimes"
|
||||
:key="item.funall_control__value_data"
|
||||
:label="item.funall_control__display_data"
|
||||
:value="item.funall_control__value_data"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="已巡检数量">
|
||||
<el-input v-model="form.safe_insp__insp_ed" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="待巡检数量">
|
||||
<el-input v-model="form.safe_insp__insp_ing" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="不符合数量">
|
||||
<el-input v-model="form.safe_insp__insp_non" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<InspDet :id="id" />
|
||||
<el-dialog
|
||||
v-if="selUserVisible"
|
||||
title="选择人员"
|
||||
:visible.sync="selUserVisible"
|
||||
width="60%"
|
||||
>
|
||||
<SelUser @updateUsers="updateUsers" @updateUser="updateUser" />
|
||||
<span>
|
||||
<el-button @click="selUserVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="selUserVisible = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
v-if="inspNameVisible"
|
||||
title="选择巡检名称"
|
||||
:visible.sync="inspNameVisible"
|
||||
width="60%"
|
||||
>
|
||||
<InspName @updateInspName="updateInspName" />
|
||||
<span>
|
||||
<el-button @click="inspNameVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="inspNameVisible = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from '../../api'
|
||||
import publicApi from '@/api/public'
|
||||
import buttons from '@/components/formBtn'
|
||||
import InspDet from '../insp_det'
|
||||
import SelUser from '@/components/selUser'
|
||||
import InspName from '../inspName'
|
||||
export default {
|
||||
name: 'EditForm',
|
||||
components: {
|
||||
buttons,
|
||||
SelUser,
|
||||
InspDet,
|
||||
InspName
|
||||
},
|
||||
// props: {
|
||||
// id: { type: String, default: () => '' }
|
||||
// },
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
form: {
|
||||
safe_insp__insp_code: '',
|
||||
safe_insp__insp_name: '',
|
||||
safe_insp__insp_state: '',
|
||||
safe_insp__insp_date: '',
|
||||
safe_insp__insp_man: '',
|
||||
safe_insp__insp_times: '',
|
||||
safe_insp__insp_memo: '',
|
||||
safe_insp__insp_ed: '',
|
||||
safe_insp__insp_ing: '',
|
||||
safe_insp__insp_non: '',
|
||||
safe_insp__safe_insp_id: ''
|
||||
},
|
||||
rules: {
|
||||
safe_insp__insp_name: [
|
||||
{ required: true, message: '请选择巡检名称', trigger: 'blur' }
|
||||
],
|
||||
safe_insp__insp_man: [
|
||||
{ required: true, message: '请选择巡检人员', trigger: 'blur' }
|
||||
],
|
||||
safe_insp__insp_date: [
|
||||
{ required: true, message: '请选择巡检日期', trigger: 'blur' }
|
||||
],
|
||||
safe_insp__insp_times: [
|
||||
{ required: true, message: '请选择巡检频率', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
id: this.$route.params.id,
|
||||
disabled: false,
|
||||
options: [],
|
||||
insptimes: [],
|
||||
selUserVisible: false,
|
||||
inspNameVisible: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'form.safe_insp__insp_name': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['safe_insp__insp_name'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
'form.safe_insp__insp_man': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['safe_insp__insp_man'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
'form.safe_insp__insp_times': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['safe_insp__insp_times'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.log(this.id)
|
||||
this.getList()
|
||||
this.getTypeSel()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
api.getFormDate(this.id).then(data => {
|
||||
if (data.success) {
|
||||
this.form = data.data.root[0]
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
async getTypeSel() {
|
||||
await publicApi.getTypeSel('insptimes').then(data => {
|
||||
if (data.success) {
|
||||
this.options = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
async getInsptimes() {
|
||||
await publicApi.getTypeSel('insptimes').then(data => {
|
||||
if (data.success) {
|
||||
this.insptimes = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
onSubmit() {},
|
||||
updateUser(data) {
|
||||
this.form.safe_insp__insp_man = data.sys_user__user_name
|
||||
this.form.safe_insp__insp_man_id = data.sys_user__user_id
|
||||
this.selUserVisible = false
|
||||
},
|
||||
updateUsers(data) {
|
||||
this.form.safe_insp__insp_man = data.map(d => { return d.sys_user__user_name }).join(';')
|
||||
this.form.safe_insp__insp_man_id = data.map(d => { return d.sys_user__user_id }).join(';')
|
||||
},
|
||||
save() {
|
||||
api.Save(this.form).then(data => {
|
||||
if (data.success) {
|
||||
this.$message.success('保存成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
updateInspName(data) {
|
||||
this.form.safe_insp__insp_name = data.insp_name__insp_name
|
||||
this.form.safe_insp__insp_name_id = data.insp_name__insp_name_id
|
||||
this.inspNameVisible = false
|
||||
},
|
||||
back() {
|
||||
// this.$router.back(-1)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .el-dialog__body {
|
||||
padding: 10px 20px !important;
|
||||
}
|
||||
::v-deep .el-form-item__label {
|
||||
text-align: right;
|
||||
/* vertical-align: middle; */
|
||||
float: left;
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
line-height: 40px;
|
||||
padding: 0 6px 0 0;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.el-col{
|
||||
margin-left: 2%;
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<div class="buttons">
|
||||
<buttons funid="safe_insp" style="margin-bottom:20px" @save="save" />
|
||||
<el-button type="primary" @click="back">返回列表</el-button>
|
||||
</div>
|
||||
<el-form ref="form" :model="form" label-width="80px" :rules="rules">
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检单编号">
|
||||
<el-input v-model="form.safe_insp__insp_code" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检状态">
|
||||
<el-select v-model="form.safe_insp__insp_state" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.funall_control__value_data"
|
||||
:label="item.funall_control__display_data"
|
||||
:value="item.funall_control__value_data"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item ref="safe_insp__insp_name" label="巡检名称" prop="safe_insp__insp_name">
|
||||
<el-input v-model="form.safe_insp__insp_name" placeholder="请选择巡检名称" class="input-with-select" clearable>
|
||||
<el-button slot="append" icon="el-icon-search" @click="inspNameVisible = !inspNameVisible" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="巡检日期" prop="safe_insp__insp_date">
|
||||
<el-date-picker
|
||||
v-model="form.safe_insp__insp_date"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
style="width: 100%;"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item ref="safe_insp__insp_man" label="巡检人员" prop="safe_insp__insp_man">
|
||||
<el-input v-model="form.safe_insp__insp_man" placeholder="请选择巡检人员" class="input-with-select" clearable>
|
||||
<el-button slot="append" icon="el-icon-search" @click="selUserVisible = !selUserVisible" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form.safe_insp__insp_memo" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item ref="safe_insp__insp_times" label="巡检频率" prop="safe_insp__insp_times">
|
||||
<el-select v-model="form.safe_insp__insp_times" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in insptimes"
|
||||
:key="item.funall_control__value_data"
|
||||
:label="item.funall_control__display_data"
|
||||
:value="item.funall_control__value_data"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="已巡检数量">
|
||||
<el-input v-model="form.safe_insp__insp_ed" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="待巡检数量">
|
||||
<el-input v-model="form.safe_insp__insp_ing" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="不符合数量">
|
||||
<el-input v-model="form.safe_insp__insp_non" disabled="disabled" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<InspDet :id="id" />
|
||||
<el-dialog
|
||||
v-if="selUserVisible"
|
||||
title="选择人员"
|
||||
:visible.sync="selUserVisible"
|
||||
width="60%"
|
||||
>
|
||||
<SelUser @updateUsers="updateUsers" @updateUser="updateUser" />
|
||||
<span>
|
||||
<el-button @click="selUserVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="selUserVisible = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
v-if="inspNameVisible"
|
||||
title="选择巡检名称"
|
||||
:visible.sync="inspNameVisible"
|
||||
width="60%"
|
||||
>
|
||||
<InspName @updateInspName="updateInspName" />
|
||||
<span>
|
||||
<el-button @click="inspNameVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="inspNameVisible = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from '../../api'
|
||||
import publicApi from '@/api/public'
|
||||
import buttons from '@/components/formBtn'
|
||||
import InspDet from '../insp_det'
|
||||
import SelUser from '@/components/selUser'
|
||||
import InspName from '../inspName'
|
||||
export default {
|
||||
name: 'EditForm',
|
||||
components: {
|
||||
buttons,
|
||||
SelUser,
|
||||
InspDet,
|
||||
InspName
|
||||
},
|
||||
// props: {
|
||||
// id: { type: String, default: () => '' }
|
||||
// },
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
form: {
|
||||
safe_insp__insp_code: '',
|
||||
safe_insp__insp_name: '',
|
||||
safe_insp__insp_state: '',
|
||||
safe_insp__insp_date: '',
|
||||
safe_insp__insp_man: '',
|
||||
safe_insp__insp_times: '',
|
||||
safe_insp__insp_memo: '',
|
||||
safe_insp__insp_ed: '',
|
||||
safe_insp__insp_ing: '',
|
||||
safe_insp__insp_non: '',
|
||||
safe_insp__safe_insp_id: ''
|
||||
},
|
||||
rules: {
|
||||
safe_insp__insp_name: [
|
||||
{ required: true, message: '请选择巡检名称', trigger: 'blur' }
|
||||
],
|
||||
safe_insp__insp_man: [
|
||||
{ required: true, message: '请选择巡检人员', trigger: 'blur' }
|
||||
],
|
||||
safe_insp__insp_date: [
|
||||
{ required: true, message: '请选择巡检日期', trigger: 'blur' }
|
||||
],
|
||||
safe_insp__insp_times: [
|
||||
{ required: true, message: '请选择巡检频率', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
id: this.$route.params.id,
|
||||
disabled: false,
|
||||
options: [],
|
||||
insptimes: [],
|
||||
selUserVisible: false,
|
||||
inspNameVisible: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'form.safe_insp__insp_name': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['safe_insp__insp_name'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
'form.safe_insp__insp_man': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['safe_insp__insp_man'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
'form.safe_insp__insp_times': {
|
||||
handler(val, oldVal) {
|
||||
this.$refs['safe_insp__insp_times'].clearValidate()
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.log(this.id)
|
||||
this.getList()
|
||||
this.getTypeSel()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
api.getFormDate(this.id).then(data => {
|
||||
if (data.success) {
|
||||
this.form = data.data.root[0]
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
async getTypeSel() {
|
||||
await publicApi.getTypeSel('insptimes').then(data => {
|
||||
if (data.success) {
|
||||
this.options = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
async getInsptimes() {
|
||||
await publicApi.getTypeSel('insptimes').then(data => {
|
||||
if (data.success) {
|
||||
this.insptimes = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
onSubmit() {},
|
||||
updateUser(data) {
|
||||
this.form.safe_insp__insp_man = data.sys_user__user_name
|
||||
this.form.safe_insp__insp_man_id = data.sys_user__user_id
|
||||
this.selUserVisible = false
|
||||
},
|
||||
updateUsers(data) {
|
||||
this.form.safe_insp__insp_man = data.map(d => { return d.sys_user__user_name }).join(';')
|
||||
this.form.safe_insp__insp_man_id = data.map(d => { return d.sys_user__user_id }).join(';')
|
||||
},
|
||||
save() {
|
||||
api.Save(this.form).then(data => {
|
||||
if (data.success) {
|
||||
this.$message.success('保存成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
updateInspName(data) {
|
||||
this.form.safe_insp__insp_name = data.insp_name__insp_name
|
||||
this.form.safe_insp__insp_name_id = data.insp_name__insp_name_id
|
||||
this.inspNameVisible = false
|
||||
},
|
||||
back() {
|
||||
this.$store.dispatch('tagsView/delView', this.$route)
|
||||
this.$router.push('/insp/safe_insp')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .el-dialog__body {
|
||||
padding: 10px 20px !important;
|
||||
}
|
||||
::v-deep .el-form-item__label {
|
||||
text-align: right;
|
||||
/* vertical-align: middle; */
|
||||
float: left;
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
line-height: 40px;
|
||||
padding: 0 6px 0 0;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.el-col{
|
||||
margin-left: 2%;
|
||||
}
|
||||
.buttons {
|
||||
display: flex;
|
||||
.el-button--primary {
|
||||
margin-left: 10px;
|
||||
height: 26.8px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -1,63 +1,57 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export default {
|
||||
getDate(id, pageSize, pageNo, isWhereSql, whereValue) {
|
||||
let whereSql = ''
|
||||
let whereType = ''
|
||||
if (isWhereSql) {
|
||||
whereSql = `dept_id like ?`
|
||||
whereType = 'string'
|
||||
}
|
||||
return request({
|
||||
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=subeditgrid&query_funid=insp_det&user_id=administrator`,
|
||||
method: 'post',
|
||||
data: `start=${pageNo}&limit=${pageSize}&where_sql=(insp_det.safe_insp_id = ?)${whereSql}&where_value=${id}${whereValue}&where_type=string${whereType}&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
getDeptTree() {
|
||||
return request({
|
||||
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=editgrid&query_funid=sys_dept&user_id=administrator`,
|
||||
method: 'post',
|
||||
data: `start=0&limit=10000&where_sql=&where_value=&where_type=&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
Crerte(data) {
|
||||
return request({
|
||||
url: `/commonAction.do`,
|
||||
method: 'post',
|
||||
data: `${data}`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
auditSave(data) {
|
||||
return request({
|
||||
url: `/commonAction.do`,
|
||||
method: 'post',
|
||||
data: `${data}`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
Delete(ids) {
|
||||
let keys = ''
|
||||
ids.forEach(d => {
|
||||
keys += 'keyid=' + d + '&'
|
||||
})
|
||||
return request({
|
||||
url: `/commonAction.do`,
|
||||
method: 'post',
|
||||
data: `funid=insp_det&${keys}pagetype=editgrid&eventcode=delete_eg&user_id=administrator&dataType=json`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
getFormDate(id) {
|
||||
return request({
|
||||
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=safe_insp&user_id=administrator`,
|
||||
method: 'post',
|
||||
data: `start=0&limit=10&where_sql=safe_insp.safe_insp_id = ?&where_value=${id}&where_type=string&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
Save(data) {
|
||||
return request({
|
||||
url: `/commonAction.do`,
|
||||
method: 'post',
|
||||
data: `funid=safe_insp&keyid=${data.safe_insp__safe_insp_id}&safe_insp__insp_code=${data.safe_insp__insp_code}&safe_insp__insp_name=${data.safe_insp__insp_name}&safe_insp__insp_man=${data.safe_insp__insp_man}&safe_insp__insp_times=${data.safe_insp__insp_times}&safe_insp__insp_name_id=${data.safe_insp__insp_name_id}&safe_insp__org_id=${data.safe_insp__org_id}&safe_insp__insp_state=${data.safe_insp__insp_state}&safe_insp__insp_date=${data.safe_insp__insp_date}&safe_insp__insp_memo=${data.safe_insp__insp_memo}&safe_insp__safe_insp_id=${data.safe_insp__safe_insp_id}&safe_insp__dept_id=${data.safe_insp__dept_id}&safe_insp__insp_man_id=${data.safe_insp__insp_man_id}&safe_insp__insp_ed=&safe_insp__insp_ing=${data.safe_insp__insp_ing}&safe_insp__insp_non=&pagetype=form&eventcode=save&dirtyfields=safe_insp.insp_man;safe_insp.insp_times;safe_insp.insp_date;safe_insp.insp_memo;safe_insp.insp_man_id;safe_insp.insp_name;safe_insp.insp_name_id;&fkValue=&user_id=administrator&dataType=json`
|
||||
}).then(response => response.data)
|
||||
}
|
||||
}
|
||||
import request from '@/utils/request'
|
||||
|
||||
export default {
|
||||
getDate(id, pageSize, pageNo, whereSql) {
|
||||
return request({
|
||||
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=subeditgrid&query_funid=insp_det&user_id=administrator`,
|
||||
method: 'post',
|
||||
data: `start=${pageNo}&limit=${pageSize}&${whereSql}&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
getDeptTree() {
|
||||
return request({
|
||||
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=editgrid&query_funid=sys_dept&user_id=administrator`,
|
||||
method: 'post',
|
||||
data: `start=0&limit=10000&where_sql=&where_value=&where_type=&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
Crerte(data) {
|
||||
return request({
|
||||
url: `/commonAction.do`,
|
||||
method: 'post',
|
||||
data: `${data}`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
auditSave(data) {
|
||||
return request({
|
||||
url: `/commonAction.do`,
|
||||
method: 'post',
|
||||
data: `${data}`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
Delete(ids) {
|
||||
let keys = ''
|
||||
ids.forEach(d => {
|
||||
keys += 'keyid=' + d + '&'
|
||||
})
|
||||
return request({
|
||||
url: `/commonAction.do`,
|
||||
method: 'post',
|
||||
data: `funid=insp_det&${keys}pagetype=editgrid&eventcode=delete_eg&user_id=administrator&dataType=json`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
getFormDate(id) {
|
||||
return request({
|
||||
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=safe_insp&user_id=administrator`,
|
||||
method: 'post',
|
||||
data: `start=0&limit=10&where_sql=safe_insp.safe_insp_id = ?&where_value=${id}&where_type=string&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
Save(data) {
|
||||
return request({
|
||||
url: `/commonAction.do`,
|
||||
method: 'post',
|
||||
data: `funid=safe_insp&keyid=${data.safe_insp__safe_insp_id}&safe_insp__insp_code=${data.safe_insp__insp_code}&safe_insp__insp_name=${data.safe_insp__insp_name}&safe_insp__insp_man=${data.safe_insp__insp_man}&safe_insp__insp_times=${data.safe_insp__insp_times}&safe_insp__insp_name_id=${data.safe_insp__insp_name_id}&safe_insp__org_id=${data.safe_insp__org_id}&safe_insp__insp_state=${data.safe_insp__insp_state}&safe_insp__insp_date=${data.safe_insp__insp_date}&safe_insp__insp_memo=${data.safe_insp__insp_memo}&safe_insp__safe_insp_id=${data.safe_insp__safe_insp_id}&safe_insp__dept_id=${data.safe_insp__dept_id}&safe_insp__insp_man_id=${data.safe_insp__insp_man_id}&safe_insp__insp_ed=&safe_insp__insp_ing=${data.safe_insp__insp_ing}&safe_insp__insp_non=&pagetype=form&eventcode=save&dirtyfields=safe_insp.insp_man;safe_insp.insp_times;safe_insp.insp_date;safe_insp.insp_memo;safe_insp.insp_man_id;safe_insp.insp_name;safe_insp.insp_name_id;&fkValue=&user_id=administrator&dataType=json`
|
||||
}).then(response => response.data)
|
||||
}
|
||||
}
|
||||
|
@ -1,303 +1,333 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-card>
|
||||
<buttons funid="safe_insp" style="margin-bottom:10px" @Create="editCreate" @Del="editDelete" />
|
||||
<el-table
|
||||
ref="deptTable"
|
||||
v-loading="loading"
|
||||
:data="data"
|
||||
style="width: 100%"
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
v-else
|
||||
:key="i"
|
||||
:prop="d.prop"
|
||||
:label="d.label"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="d.label==='巡检结果'">
|
||||
{{
|
||||
scope.row.insp_det__det_result === '1' ? '符合' : scope.row.insp_det__det_result === '0' ? '不符合' : null
|
||||
}}
|
||||
</div>
|
||||
<div v-else-if="d.label==='是否已整改'">
|
||||
{{
|
||||
scope.row.insp_det__reform_flag === '1' ? '已整改' : scope.row.insp_det__reform_flag === '0' ? '未整改' : null
|
||||
}}
|
||||
</div>
|
||||
<div v-else-if="d.label === '操作'">
|
||||
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="pager.pageNo"
|
||||
:page-sizes="[10, 30, 50, 100, 500]"
|
||||
:page-size="pager.pageSize"
|
||||
:total="pager.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</el-card>
|
||||
|
||||
<el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog">
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-form-item label="巡检结果" :label-width="formLabelWidth" prop="insp_det__det_result">
|
||||
<el-select v-model="form.insp_det__det_result" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in inspresult"
|
||||
:key="item.funall_control__value_data"
|
||||
:label="item.funall_control__display_data"
|
||||
:value="item.funall_control__value_data"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="不符合描述" :label-width="formLabelWidth" prop="det_desc">
|
||||
<el-input v-model="form.insp_det__det_desc" type="textarea" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="create">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from './api'
|
||||
import publicApi from '@/api/public'
|
||||
import buttons from '@/components/Buttons'
|
||||
export default {
|
||||
name: 'SafeIdsp',
|
||||
components: {
|
||||
buttons
|
||||
},
|
||||
props: {
|
||||
id: {
|
||||
type: String,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
data: [],
|
||||
deptTree: [],
|
||||
ids: [],
|
||||
levels: [],
|
||||
pager: {
|
||||
pageNo: 0,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
tableHeader: [
|
||||
{
|
||||
prop: 'selection',
|
||||
type: 'selection',
|
||||
fixed: 'left'
|
||||
}, {
|
||||
prop: 'insp_det__det_name',
|
||||
label: '巡检项目'
|
||||
}, {
|
||||
prop: 'insp_det__det_std',
|
||||
label: '巡检标准'
|
||||
},
|
||||
{
|
||||
prop: 'insp_det__det_way',
|
||||
label: '巡检方法'
|
||||
}, {
|
||||
prop: 'insp_det__det_result',
|
||||
label: '巡检结果'
|
||||
},
|
||||
{
|
||||
prop: 'insp_det__det_desc',
|
||||
label: '不符合描述'
|
||||
},
|
||||
{
|
||||
prop: 'insp_det__reform_flag',
|
||||
label: '是否已整改'
|
||||
},
|
||||
{
|
||||
prop: 'opration',
|
||||
label: '操作',
|
||||
width: '70px',
|
||||
fixed: 'right',
|
||||
minWidth: '70px',
|
||||
show: true
|
||||
}],
|
||||
value: '',
|
||||
dept_id: '',
|
||||
level: '',
|
||||
parent_id: '',
|
||||
initFrom: {
|
||||
det_desc: '',
|
||||
insp_det__det_desc: '',
|
||||
insp_det__det_name: '',
|
||||
insp_det__det_name_id: '',
|
||||
insp_det__det_result: '',
|
||||
insp_det__det_std: '',
|
||||
insp_det__det_way: '',
|
||||
insp_det__insp_det_id: '',
|
||||
insp_det__reform_flag: '',
|
||||
insp_det__safe_insp_id: ''
|
||||
},
|
||||
form: {},
|
||||
rules: {
|
||||
insp_det__det_result: [
|
||||
{ required: true, message: '请选择巡检结果', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
dialogFormVisible: false,
|
||||
dialogEditVisible: false,
|
||||
formLabelWidth: '120px',
|
||||
auditForm: {},
|
||||
saveFrom: {},
|
||||
treeData: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'sys_dept__dept_name'
|
||||
},
|
||||
treeList: [],
|
||||
whereSql: false,
|
||||
whereValue: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getTypeSel()
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
|
||||
if (pageNo < 0) {
|
||||
pageNo = 0
|
||||
}
|
||||
api.getDate(
|
||||
this.id,
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.whereSql,
|
||||
this.whereValue
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
this.pager.total = data.data.total
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
editCreate() {
|
||||
this.title = '新增'
|
||||
this.form = JSON.parse(JSON.stringify(this.initFrom))
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
edit(row) {
|
||||
console.log(row, 'row')
|
||||
this.title = '编辑'
|
||||
this.form = row
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = `funid=insp_det&fkValue=${this.id}&pfunid=safe_insp&keyid=${this.form.insp_det__insp_det_id}&pagetype=editgrid&eventcode=save_eg&insp_det__det_name=${this.form.insp_det__det_name}&insp_det__det_std=${this.form.insp_det__det_std}&insp_det__det_way=${this.form.insp_det__det_way}&insp_det__det_result=${this.form.insp_det__det_result}&insp_det__det_desc=${this.form.insp_det__det_desc}&insp_det__reform_flag=${this.form.insp_det__reform_flag}&insp_det__safe_insp_id=${this.id}&insp_det__insp_det_id=${this.form.insp_det__insp_det_id}&insp_det__det_name_id=${this.form.insp_det__insp_det_id}&user_id=administrator&dataType=json`
|
||||
api.Crerte(data).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.$message.success('保存成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
Delete(row) {
|
||||
this.ids = []
|
||||
this.ids.push(row.insp_det__insp_det_id)
|
||||
this.editDelete()
|
||||
},
|
||||
editDelete() {
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
this.$confirm('确认删除?').then(() => {
|
||||
api.Delete(this.ids).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.$message.success('删除成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {})
|
||||
} else {
|
||||
this.$message.warning('请选择数据进行删除')
|
||||
}
|
||||
},
|
||||
auditFormChange(form) {
|
||||
this.saveFrom = form
|
||||
},
|
||||
cellDblclick(row) {
|
||||
this.title = '编辑'
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
sizeChange(size) {
|
||||
this.pager.pageSize = size
|
||||
this.getList()
|
||||
},
|
||||
pageChange(page) {
|
||||
this.pager.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.ids = val.map(d => d.insp_det__insp_det_id)
|
||||
console.log(this.ids, 'this.ids')
|
||||
},
|
||||
closeDialog() {
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
},
|
||||
handleNodeClick(data) {
|
||||
console.log(data)
|
||||
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
|
||||
this.whereSql = true
|
||||
this.getList()
|
||||
},
|
||||
async getTypeSel() {
|
||||
await publicApi.getTypeSel('inspresult').then(data => {
|
||||
if (data.success) {
|
||||
this.inspresult = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-card>
|
||||
<div class="head">
|
||||
<div>
|
||||
<buttons funid="insp_det" style="margin-bottom:10px" @Create="editCreate" @Del="editDelete" @upload="upload" />
|
||||
</div>
|
||||
<Search funid="insp_det" @search="search" />
|
||||
</div>
|
||||
<el-table
|
||||
ref="deptTable"
|
||||
v-loading="loading"
|
||||
:data="data"
|
||||
style="width: 100%"
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
v-else
|
||||
:key="i"
|
||||
:prop="d.prop"
|
||||
:label="d.label"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="d.label==='巡检结果'">
|
||||
{{
|
||||
scope.row.insp_det__det_result === '1' ? '符合' : scope.row.insp_det__det_result === '0' ? '不符合' : null
|
||||
}}
|
||||
</div>
|
||||
<div v-else-if="d.label==='是否已整改'">
|
||||
{{
|
||||
scope.row.insp_det__reform_flag === '1' ? '已整改' : scope.row.insp_det__reform_flag === '0' ? '未整改' : null
|
||||
}}
|
||||
</div>
|
||||
<div v-else-if="d.label === '操作'">
|
||||
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
|
||||
<!-- <el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" /> -->
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="pager.pageNo"
|
||||
:page-sizes="[10, 30, 50, 100, 500]"
|
||||
:page-size="pager.pageSize"
|
||||
:total="pager.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</el-card>
|
||||
|
||||
<el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog">
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-form-item label="巡检结果" :label-width="formLabelWidth" prop="insp_det__det_result">
|
||||
<el-select v-model="form.insp_det__det_result" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in inspresult"
|
||||
:key="item.funall_control__value_data"
|
||||
:label="item.funall_control__display_data"
|
||||
:value="item.funall_control__value_data"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="不符合描述" :label-width="formLabelWidth" prop="det_desc">
|
||||
<el-input v-model="form.insp_det__det_desc" type="textarea" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="create">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog v-if="dialogUploadVisible" title="附件" :visible.sync="dialogUploadVisible" width="45%" @close="closeUploadDialog">
|
||||
<Attach ref="attach" :data-id="ids" table-name="insp_det" fun-id="insp_det" @change="auditFormChange" />
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<!-- <el-button @click="dialogUploadVisible = false">取 消</el-button> -->
|
||||
<el-button type="primary" @click="dialogUploadVisible = false">返回</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from './api'
|
||||
import publicApi from '@/api/public'
|
||||
import buttons from '@/components/Buttons'
|
||||
import Search from '@/components/Search'
|
||||
import Attach from '@/components/sys_attach'
|
||||
export default {
|
||||
name: 'SafeIdsp',
|
||||
components: {
|
||||
buttons,
|
||||
Search,
|
||||
Attach
|
||||
},
|
||||
props: {
|
||||
id: {
|
||||
type: String,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
data: [],
|
||||
deptTree: [],
|
||||
ids: [],
|
||||
levels: [],
|
||||
pager: {
|
||||
pageNo: 0,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
tableHeader: [
|
||||
{
|
||||
prop: 'selection',
|
||||
type: 'selection',
|
||||
fixed: 'left'
|
||||
}, {
|
||||
prop: 'insp_det__det_name',
|
||||
label: '巡检项目'
|
||||
}, {
|
||||
prop: 'insp_det__det_std',
|
||||
label: '巡检标准'
|
||||
},
|
||||
{
|
||||
prop: 'insp_det__det_way',
|
||||
label: '巡检方法'
|
||||
}, {
|
||||
prop: 'insp_det__det_result',
|
||||
label: '巡检结果'
|
||||
},
|
||||
{
|
||||
prop: 'insp_det__det_desc',
|
||||
label: '不符合描述'
|
||||
},
|
||||
{
|
||||
prop: 'insp_det__reform_flag',
|
||||
label: '是否已整改'
|
||||
},
|
||||
{
|
||||
prop: 'opration',
|
||||
label: '操作',
|
||||
width: '70px',
|
||||
fixed: 'right',
|
||||
minWidth: '70px',
|
||||
show: true
|
||||
}],
|
||||
value: '',
|
||||
dept_id: '',
|
||||
level: '',
|
||||
parent_id: '',
|
||||
initFrom: {
|
||||
det_desc: '',
|
||||
insp_det__det_desc: '',
|
||||
insp_det__det_name: '',
|
||||
insp_det__det_name_id: '',
|
||||
insp_det__det_result: '',
|
||||
insp_det__det_std: '',
|
||||
insp_det__det_way: '',
|
||||
insp_det__insp_det_id: '',
|
||||
insp_det__reform_flag: '',
|
||||
insp_det__safe_insp_id: ''
|
||||
},
|
||||
form: {},
|
||||
rules: {
|
||||
insp_det__det_result: [
|
||||
{ required: true, message: '请选择巡检结果', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
dialogFormVisible: false,
|
||||
dialogEditVisible: false,
|
||||
formLabelWidth: '120px',
|
||||
auditForm: {},
|
||||
saveFrom: {},
|
||||
treeData: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'sys_dept__dept_name'
|
||||
},
|
||||
treeList: [],
|
||||
whereSql: false,
|
||||
whereValue: '',
|
||||
dialogUploadVisible: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getTypeSel()
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
|
||||
if (pageNo < 0) {
|
||||
pageNo = 0
|
||||
}
|
||||
api.getDate(
|
||||
this.id,
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.whereSql
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
this.pager.total = data.data.total
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
search(sql) {
|
||||
this.whereSql = sql
|
||||
this.getList()
|
||||
},
|
||||
upload() {
|
||||
if (this.ids.length > 1) {
|
||||
this.$message.warning('只能选择一条数据!')
|
||||
} else if (this.ids.length === 0) {
|
||||
this.$message.warning('请选择一条数据!')
|
||||
} else {
|
||||
this.dialogUploadVisible = true
|
||||
}
|
||||
},
|
||||
closeUploadDialog() {
|
||||
this.dialogUploadVisible = false
|
||||
},
|
||||
editCreate() {
|
||||
this.title = '新增'
|
||||
this.form = JSON.parse(JSON.stringify(this.initFrom))
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
edit(row) {
|
||||
console.log(row, 'row')
|
||||
this.title = '编辑'
|
||||
this.form = row
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = `funid=insp_det&fkValue=${this.id}&pfunid=safe_insp&keyid=${this.form.insp_det__insp_det_id}&pagetype=editgrid&eventcode=save_eg&insp_det__det_name=${this.form.insp_det__det_name}&insp_det__det_std=${this.form.insp_det__det_std}&insp_det__det_way=${this.form.insp_det__det_way}&insp_det__det_result=${this.form.insp_det__det_result}&insp_det__det_desc=${this.form.insp_det__det_desc}&insp_det__reform_flag=${this.form.insp_det__reform_flag}&insp_det__safe_insp_id=${this.id}&insp_det__insp_det_id=${this.form.insp_det__insp_det_id}&insp_det__det_name_id=${this.form.insp_det__insp_det_id}&user_id=administrator&dataType=json`
|
||||
api.Crerte(data).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.$message.success('保存成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
Delete(row) {
|
||||
this.ids = []
|
||||
this.ids.push(row.insp_det__insp_det_id)
|
||||
this.editDelete()
|
||||
},
|
||||
editDelete() {
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
this.$confirm('确认删除?').then(() => {
|
||||
api.Delete(this.ids).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.$message.success('删除成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {})
|
||||
} else {
|
||||
this.$message.warning('请选择数据进行删除')
|
||||
}
|
||||
},
|
||||
auditFormChange(form) {
|
||||
this.saveFrom = form
|
||||
},
|
||||
cellDblclick(row) {
|
||||
this.title = '编辑'
|
||||
this.form = JSON.parse(JSON.stringify(row))
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
sizeChange(size) {
|
||||
this.pager.pageSize = size
|
||||
this.getList()
|
||||
},
|
||||
pageChange(page) {
|
||||
this.pager.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.ids = val.map(d => d.insp_det__insp_det_id)
|
||||
console.log(this.ids, 'this.ids')
|
||||
},
|
||||
closeDialog() {
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
},
|
||||
async getTypeSel() {
|
||||
await publicApi.getTypeSel('inspresult').then(data => {
|
||||
if (data.success) {
|
||||
this.inspresult = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
|
@ -1,406 +1,415 @@
|
||||
<template>
|
||||
<div>
|
||||
<buttons funid="insp_det" style="margin:10px 10px" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" />
|
||||
<el-card>
|
||||
<el-table
|
||||
ref="table"
|
||||
v-loading="loading"
|
||||
:data="data"
|
||||
style="width: 100%"
|
||||
border
|
||||
stripe
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
v-else-if="d.show !== false"
|
||||
:key="i"
|
||||
:prop="d.prop"
|
||||
:label="d.label"
|
||||
:width="d.width"
|
||||
:min-width="d.minWidth"
|
||||
:class-name="d.className"
|
||||
:fixed="d.fixed"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="d.label==='巡检状态'">
|
||||
{{
|
||||
scope.row.ssafe_insp__insp_state == 1 ? '巡检中' : '已巡检'
|
||||
}}
|
||||
</div>
|
||||
<div v-else-if="d.label==='巡检日期'">
|
||||
{{
|
||||
parseDay(scope.row.safe_insp__insp_date)
|
||||
}}
|
||||
</div>
|
||||
<div v-else-if="d.label === '操作'">
|
||||
<el-button icon="el-icon-view" type="text" size="mini" title="编辑" @click="edit(scope.row)" />
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="pager.pageNo"
|
||||
:page-sizes="[10, 30, 50, 100, 500]"
|
||||
:page-size="pager.pageSize"
|
||||
:total="pager.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</el-card>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from './api'
|
||||
import buttons from '@/components/Buttons'
|
||||
import { parseDay } from '@/utils/index'
|
||||
export default {
|
||||
name: 'SafeIdsp',
|
||||
components: {
|
||||
buttons
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
parseDay,
|
||||
loading: false,
|
||||
data: [],
|
||||
deptTree: [],
|
||||
ids: [],
|
||||
levels: [],
|
||||
pager: {
|
||||
pageNo: 0,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
tableHeader: [
|
||||
{
|
||||
prop: 'selection',
|
||||
type: 'selection',
|
||||
fixed: 'left',
|
||||
width: '100px',
|
||||
show: true
|
||||
}, {
|
||||
prop: 'safe_insp__insp_code',
|
||||
label: '巡检编号',
|
||||
width: '200px',
|
||||
show: true
|
||||
}, {
|
||||
prop: 'safe_insp__insp_name',
|
||||
label: '巡检名称',
|
||||
width: '250px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_state',
|
||||
label: '巡检状态',
|
||||
width: '100px',
|
||||
show: true
|
||||
}, {
|
||||
prop: 'safe_insp__insp_date',
|
||||
label: '巡检日期',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_man',
|
||||
label: '巡检人员',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_times',
|
||||
label: '巡检频率',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_memo',
|
||||
label: '备注',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_ed',
|
||||
label: '已巡检数量',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_ing',
|
||||
label: '待巡检数量',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_non',
|
||||
label: '不符合数量',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'opration',
|
||||
label: '操作',
|
||||
width: '120px',
|
||||
fixed: 'right',
|
||||
minWidth: '120px',
|
||||
show: true
|
||||
}],
|
||||
value: '',
|
||||
dept_id: '',
|
||||
level: '',
|
||||
id: '',
|
||||
parent_id: '',
|
||||
form: {
|
||||
dept_name: '',
|
||||
dept_code: '',
|
||||
memo: ''
|
||||
},
|
||||
rules: {
|
||||
dept_code: [
|
||||
{ required: true, message: '请输入部门编码', trigger: 'blur' }
|
||||
],
|
||||
dept_name: [
|
||||
{ required: true, message: '请输入部门名称', trigger: 'blur' }
|
||||
|
||||
]
|
||||
},
|
||||
dialogFormVisible: false,
|
||||
dialogEditVisible: false,
|
||||
formLabelWidth: '120px',
|
||||
auditForm: {},
|
||||
saveFrom: {},
|
||||
treeData: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'sys_dept__dept_name'
|
||||
},
|
||||
treeList: [],
|
||||
whereSql: false,
|
||||
whereValue: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.transitionTree()
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
|
||||
if (pageNo < 0) {
|
||||
pageNo = 0
|
||||
}
|
||||
api.getDate(
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.whereSql,
|
||||
this.whereValue
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
this.pager.total = data.data.total
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
async transitionTree() {
|
||||
await api.getDeptTree().then(data => {
|
||||
if (data.success) {
|
||||
this.deptTree = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
this.treeData = []
|
||||
let data = []
|
||||
data = this.deptTree.sort((a, b) => {
|
||||
return a.sys_dept__dept_id - b.sys_dept__dept_id
|
||||
})
|
||||
const oneTreeList = data.filter(d => {
|
||||
return d.sys_dept__dept_level === '1'
|
||||
})
|
||||
for (let i = 0; i < oneTreeList.length; i++) {
|
||||
const treeList = data.filter(d => {
|
||||
return d.sys_dept__dept_id.substring(0, 4).indexOf(oneTreeList[i].sys_dept__dept_id) > -1
|
||||
})
|
||||
treeList.forEach(d => {
|
||||
d.children = []
|
||||
if (d.sys_dept__dept_level === '1') {
|
||||
this.treeData.push(d)
|
||||
} else if (d.sys_dept__dept_level === '2') {
|
||||
this.treeData[i].children.push(d)
|
||||
} else if (d.sys_dept__dept_level === '3') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 8).indexOf(threeVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children.push(d)
|
||||
}
|
||||
})
|
||||
} else if (d.sys_dept__dept_level === '4') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
threeVal.children.forEach((fourVal, four) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 12).indexOf(fourVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children[four].children.push(d)
|
||||
}
|
||||
})
|
||||
})
|
||||
} else if (d.sys_dept__dept_level === '5') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
threeVal.children.forEach((fourVal, four) => {
|
||||
fourVal.children.forEach((fiveVal, five) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 16).indexOf(fiveVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children[four].children[five].children.push(d)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
} else if (d.sys_dept__dept_level === '6') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
threeVal.children.forEach((fourVal, four) => {
|
||||
fourVal.children.forEach((fiveVal, five) => {
|
||||
fiveVal.children.forEach((sixVal, six) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 20).indexOf(sixVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children[four].children[five].children[six].children.push(d)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
console.log(this.treeData, 'this.treeData')
|
||||
}
|
||||
},
|
||||
editCreate() {
|
||||
const param = `/insp/edit_form/create`
|
||||
this.$router.push(param)
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = `funid=sys_dept&parentId=${this.dept_id}&levelCol=sys_dept.dept_level&keyid=&pagetype=editgrid&eventcode=save_eg&sys_dept__dept_code=${this.form.dept_code}&sys_dept__dept_name=${this.form.dept_name}&sys_dept__memo=${this.form.memo}&sys_dept__is_novalid=0&sys_dept__dept_id=&sys_dept__dept_level=${Number(this.level) + 1}&user_id=administrator&dataType= json`
|
||||
api.Crerte(data).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.transitionTree()
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
this.$message.success('新增成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
Delete(row) {
|
||||
this.ids = []
|
||||
this.ids.push(row.sys_dept__dept_id)
|
||||
this.editDelete()
|
||||
},
|
||||
editDelete() {
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
this.$confirm('确认删除部门?').then(() => {
|
||||
api.Delete(this.ids).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.$message.success('删除成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {})
|
||||
} else {
|
||||
this.$message.warning('请选择数据进行删除')
|
||||
}
|
||||
},
|
||||
editSave() {
|
||||
console.log('editSave')
|
||||
},
|
||||
upload() {
|
||||
console.log('upload')
|
||||
},
|
||||
edit(row) {
|
||||
this.id = row.sys_dept__dept_id
|
||||
this.parent_id = this.id.substring(0, this.id.length - 4)
|
||||
console.log(this.parent_id, this.id)
|
||||
this.auditForm = row
|
||||
this.dialogEditVisible = true
|
||||
},
|
||||
auditFormChange(form) {
|
||||
this.saveFrom = form
|
||||
},
|
||||
save() {
|
||||
console.log(this.saveFrom, 'this.saveFrom')
|
||||
console.log(this.auditForm, 'this.auditForm')
|
||||
if (Object.keys(this.saveFrom).length === 0) {
|
||||
this.saveFrom = this.auditForm
|
||||
}
|
||||
this.$refs.auditForm.$refs.auditForm.validate(valid => {
|
||||
if (valid) {
|
||||
const _form = `funid=sys_dept&parentId=&levelCol=sys_dept.dept_level&keyid=${this.id}&pagetype=editgrid&eventcode=save_eg&sys_dept__dept_code=${this.saveFrom.sys_dept__dept_code}&sys_dept__dept_name=${this.saveFrom.sys_dept__dept_name}&sys_dept__memo=${this.saveFrom.sys_dept__memo}&sys_dept__is_novalid=${this.saveFrom.sys_dept__is_novalid}&sys_dept__dept_id=${this.id}&sys_dept__dept_level=${this.saveFrom.sys_dept__dept_level}&user_id=administrator&dataType=json`
|
||||
api.auditSave(_form).then(data => {
|
||||
if (data.success) {
|
||||
this.whereSql = false
|
||||
this.whereValue = ''
|
||||
this.getList()
|
||||
this.$message.success('保存成功!')
|
||||
this.dialogEditVisible = false
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
cellDblclick(row) {
|
||||
const param = `/insp/edit_form/audit/${row.safe_insp__safe_insp_id}`
|
||||
this.$router.push(param)
|
||||
},
|
||||
sizeChange(size) {
|
||||
this.pager.pageSize = size
|
||||
this.getList()
|
||||
},
|
||||
pageChange(page) {
|
||||
this.pager.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.ids = val.map(d => d.sys_dept__dept_id)
|
||||
this.levels = val.map(d => d.sys_dept__dept_level)
|
||||
},
|
||||
closeDialog() {
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
},
|
||||
handleNodeClick(data) {
|
||||
console.log(data)
|
||||
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
|
||||
this.whereSql = true
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="head">
|
||||
<div>
|
||||
<buttons funid="insp_det" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" />
|
||||
</div>
|
||||
<Search funid="safe_insp" @search="search" />
|
||||
</div>
|
||||
<el-card>
|
||||
<el-table
|
||||
ref="table"
|
||||
v-loading="loading"
|
||||
:data="data"
|
||||
style="width: 100%"
|
||||
border
|
||||
stripe
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<el-table-column type="index" fixed="left" width="35px" />
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
v-else-if="d.show !== false"
|
||||
:key="i"
|
||||
:prop="d.prop"
|
||||
:label="d.label"
|
||||
:width="d.width"
|
||||
:min-width="d.minWidth"
|
||||
:class-name="d.className"
|
||||
:fixed="d.fixed"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="d.label==='巡检状态'">
|
||||
{{
|
||||
scope.row.ssafe_insp__insp_state == 1 ? '巡检中' : '已巡检'
|
||||
}}
|
||||
</div>
|
||||
<div v-else-if="d.label==='巡检日期'">
|
||||
{{
|
||||
parseDay(scope.row.safe_insp__insp_date)
|
||||
}}
|
||||
</div>
|
||||
<div v-else-if="d.label === '操作'">
|
||||
<el-button icon="el-icon-view" type="text" size="mini" title="编辑" @click="edit(scope.row)" />
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="pager.pageNo"
|
||||
:page-sizes="[10, 30, 50, 100, 500]"
|
||||
:page-size="pager.pageSize"
|
||||
:total="pager.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</el-card>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from './api'
|
||||
import buttons from '@/components/Buttons'
|
||||
import Search from '@/components/Search'
|
||||
import { parseDay } from '@/utils/index'
|
||||
export default {
|
||||
name: 'SafeIdsp',
|
||||
components: {
|
||||
buttons,
|
||||
Search
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
parseDay,
|
||||
loading: false,
|
||||
data: [],
|
||||
deptTree: [],
|
||||
ids: [],
|
||||
levels: [],
|
||||
pager: {
|
||||
pageNo: 0,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
tableHeader: [
|
||||
{
|
||||
prop: 'selection',
|
||||
type: 'selection',
|
||||
fixed: 'left',
|
||||
width: '100px',
|
||||
show: true
|
||||
}, {
|
||||
prop: 'safe_insp__insp_code',
|
||||
label: '巡检编号',
|
||||
width: '200px',
|
||||
show: true
|
||||
}, {
|
||||
prop: 'safe_insp__insp_name',
|
||||
label: '巡检名称',
|
||||
width: '250px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_state',
|
||||
label: '巡检状态',
|
||||
width: '100px',
|
||||
show: true
|
||||
}, {
|
||||
prop: 'safe_insp__insp_date',
|
||||
label: '巡检日期',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_man',
|
||||
label: '巡检人员',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_times',
|
||||
label: '巡检频率',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_memo',
|
||||
label: '备注',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_ed',
|
||||
label: '已巡检数量',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_ing',
|
||||
label: '待巡检数量',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'safe_insp__insp_non',
|
||||
label: '不符合数量',
|
||||
width: '100px',
|
||||
show: true
|
||||
},
|
||||
{
|
||||
prop: 'opration',
|
||||
label: '操作',
|
||||
width: '120px',
|
||||
fixed: 'right',
|
||||
minWidth: '120px',
|
||||
show: true
|
||||
}],
|
||||
value: '',
|
||||
dept_id: '',
|
||||
level: '',
|
||||
id: '',
|
||||
parent_id: '',
|
||||
form: {
|
||||
dept_name: '',
|
||||
dept_code: '',
|
||||
memo: ''
|
||||
},
|
||||
rules: {
|
||||
dept_code: [
|
||||
{ required: true, message: '请输入部门编码', trigger: 'blur' }
|
||||
],
|
||||
dept_name: [
|
||||
{ required: true, message: '请输入部门名称', trigger: 'blur' }
|
||||
|
||||
]
|
||||
},
|
||||
dialogFormVisible: false,
|
||||
dialogEditVisible: false,
|
||||
formLabelWidth: '120px',
|
||||
auditForm: {},
|
||||
saveFrom: {},
|
||||
treeData: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'sys_dept__dept_name'
|
||||
},
|
||||
treeList: [],
|
||||
whereSql: '',
|
||||
whereValue: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.transitionTree()
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
|
||||
if (pageNo < 0) {
|
||||
pageNo = 0
|
||||
}
|
||||
api.getDate(
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.whereSql
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
this.pager.total = data.data.total
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
search(sql) {
|
||||
this.whereSql = sql
|
||||
this.getList()
|
||||
},
|
||||
async transitionTree() {
|
||||
await api.getDeptTree().then(data => {
|
||||
if (data.success) {
|
||||
this.deptTree = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
this.treeData = []
|
||||
let data = []
|
||||
data = this.deptTree.sort((a, b) => {
|
||||
return a.sys_dept__dept_id - b.sys_dept__dept_id
|
||||
})
|
||||
const oneTreeList = data.filter(d => {
|
||||
return d.sys_dept__dept_level === '1'
|
||||
})
|
||||
for (let i = 0; i < oneTreeList.length; i++) {
|
||||
const treeList = data.filter(d => {
|
||||
return d.sys_dept__dept_id.substring(0, 4).indexOf(oneTreeList[i].sys_dept__dept_id) > -1
|
||||
})
|
||||
treeList.forEach(d => {
|
||||
d.children = []
|
||||
if (d.sys_dept__dept_level === '1') {
|
||||
this.treeData.push(d)
|
||||
} else if (d.sys_dept__dept_level === '2') {
|
||||
this.treeData[i].children.push(d)
|
||||
} else if (d.sys_dept__dept_level === '3') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 8).indexOf(threeVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children.push(d)
|
||||
}
|
||||
})
|
||||
} else if (d.sys_dept__dept_level === '4') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
threeVal.children.forEach((fourVal, four) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 12).indexOf(fourVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children[four].children.push(d)
|
||||
}
|
||||
})
|
||||
})
|
||||
} else if (d.sys_dept__dept_level === '5') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
threeVal.children.forEach((fourVal, four) => {
|
||||
fourVal.children.forEach((fiveVal, five) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 16).indexOf(fiveVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children[four].children[five].children.push(d)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
} else if (d.sys_dept__dept_level === '6') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
threeVal.children.forEach((fourVal, four) => {
|
||||
fourVal.children.forEach((fiveVal, five) => {
|
||||
fiveVal.children.forEach((sixVal, six) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 20).indexOf(sixVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children[four].children[five].children[six].children.push(d)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
console.log(this.treeData, 'this.treeData')
|
||||
}
|
||||
},
|
||||
editCreate() {
|
||||
const param = `/insp/edit_form/create`
|
||||
this.$router.push(param)
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = `funid=sys_dept&parentId=${this.dept_id}&levelCol=sys_dept.dept_level&keyid=&pagetype=editgrid&eventcode=save_eg&sys_dept__dept_code=${this.form.dept_code}&sys_dept__dept_name=${this.form.dept_name}&sys_dept__memo=${this.form.memo}&sys_dept__is_novalid=0&sys_dept__dept_id=&sys_dept__dept_level=${Number(this.level) + 1}&user_id=administrator&dataType= json`
|
||||
api.Crerte(data).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.transitionTree()
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
this.$message.success('新增成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
Delete(row) {
|
||||
this.ids = []
|
||||
this.ids.push(row.sys_dept__dept_id)
|
||||
this.editDelete()
|
||||
},
|
||||
editDelete() {
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
this.$confirm('确认删除部门?').then(() => {
|
||||
api.Delete(this.ids).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.$message.success('删除成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {})
|
||||
} else {
|
||||
this.$message.warning('请选择数据进行删除')
|
||||
}
|
||||
},
|
||||
editSave() {
|
||||
console.log('editSave')
|
||||
},
|
||||
upload() {
|
||||
console.log('upload')
|
||||
},
|
||||
edit(row) {
|
||||
this.id = row.sys_dept__dept_id
|
||||
this.parent_id = this.id.substring(0, this.id.length - 4)
|
||||
console.log(this.parent_id, this.id)
|
||||
this.auditForm = row
|
||||
this.dialogEditVisible = true
|
||||
},
|
||||
auditFormChange(form) {
|
||||
this.saveFrom = form
|
||||
},
|
||||
save() {
|
||||
console.log(this.saveFrom, 'this.saveFrom')
|
||||
console.log(this.auditForm, 'this.auditForm')
|
||||
if (Object.keys(this.saveFrom).length === 0) {
|
||||
this.saveFrom = this.auditForm
|
||||
}
|
||||
this.$refs.auditForm.$refs.auditForm.validate(valid => {
|
||||
if (valid) {
|
||||
const _form = `funid=sys_dept&parentId=&levelCol=sys_dept.dept_level&keyid=${this.id}&pagetype=editgrid&eventcode=save_eg&sys_dept__dept_code=${this.saveFrom.sys_dept__dept_code}&sys_dept__dept_name=${this.saveFrom.sys_dept__dept_name}&sys_dept__memo=${this.saveFrom.sys_dept__memo}&sys_dept__is_novalid=${this.saveFrom.sys_dept__is_novalid}&sys_dept__dept_id=${this.id}&sys_dept__dept_level=${this.saveFrom.sys_dept__dept_level}&user_id=administrator&dataType=json`
|
||||
api.auditSave(_form).then(data => {
|
||||
if (data.success) {
|
||||
this.whereSql = ''
|
||||
this.whereValue = ''
|
||||
this.getList()
|
||||
this.$message.success('保存成功!')
|
||||
this.dialogEditVisible = false
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
cellDblclick(row) {
|
||||
const param = `/insp/edit_form/audit/${row.safe_insp__safe_insp_id}`
|
||||
this.$router.push(param)
|
||||
},
|
||||
sizeChange(size) {
|
||||
this.pager.pageSize = size
|
||||
this.getList()
|
||||
},
|
||||
pageChange(page) {
|
||||
this.pager.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.ids = val.map(d => d.sys_dept__dept_id)
|
||||
this.levels = val.map(d => d.sys_dept__dept_level)
|
||||
},
|
||||
closeDialog() {
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
|
@ -4,17 +4,11 @@ import store from '@/store/modules/user'
|
||||
var roles = store.state.roles.replace(/;/g, '')
|
||||
|
||||
export default {
|
||||
getDept(pageSize, pageNo, isWhereSql, whereValue) {
|
||||
let whereSql = ''
|
||||
let whereType = ''
|
||||
if (isWhereSql) {
|
||||
whereSql = `sys_dept.dept_id like ?`
|
||||
whereType = 'string'
|
||||
}
|
||||
getDept(pageSize, pageNo, whereSql) {
|
||||
return request({
|
||||
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=editgrid&query_funid=sys_dept&user_id=${roles}`,
|
||||
method: 'post',
|
||||
data: `start=${pageNo}&limit=${pageSize}&where_sql=${whereSql}&where_value=${whereValue}&where_type=${whereType}&is_query=1&query_type=0`
|
||||
data: `start=${pageNo}&limit=${pageSize}&${whereSql}&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
getDeptTree() {
|
||||
|
@ -1,405 +1,419 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<buttons funid="sys_dept" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" />
|
||||
<el-row>
|
||||
<el-col :span="5">
|
||||
<el-card>
|
||||
<el-tree :data="treeData" default-expand-all :props="defaultProps" @node-click="handleNodeClick" />
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :span="19">
|
||||
<el-card>
|
||||
<el-table
|
||||
ref="deptTable"
|
||||
v-loading="loading"
|
||||
:data="data"
|
||||
style="width: 100%"
|
||||
stripe
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
v-else
|
||||
:key="i"
|
||||
:prop="d.prop"
|
||||
:label="d.label"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="d.label==='是否注销'">
|
||||
{{
|
||||
scope.row.sys_dept__is_novalid == 0 ? '否' : '是'
|
||||
}}
|
||||
</div>
|
||||
<div v-else-if="d.label === '操作'">
|
||||
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="pager.pageNo"
|
||||
:page-sizes="[10, 30, 50, 100, 500]"
|
||||
:page-size="pager.pageSize"
|
||||
:total="pager.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-dialog v-if="dialogFormVisible" title="新增部门" :visible.sync="dialogFormVisible" @close="closeDialog">
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-form-item label="所属部门" :label-width="formLabelWidth">
|
||||
<el-select v-model="dept_id" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in data"
|
||||
:key="item.sys_dept__dept_id"
|
||||
:label="item.sys_dept__dept_name"
|
||||
:value="item.sys_dept__dept_id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="部门编码" :label-width="formLabelWidth" prop="dept_code">
|
||||
<el-input v-model="form.dept_code" />
|
||||
</el-form-item>
|
||||
<el-form-item label="部门名称" :label-width="formLabelWidth" prop="dept_name">
|
||||
<el-input v-model="form.dept_name" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" :label-width="formLabelWidth" prop="memo">
|
||||
<el-input v-model="form.memo" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="create">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog v-if="dialogEditVisible" title="部门" :visible.sync="dialogEditVisible" @close="closeDialog">
|
||||
<AdutiDept :id="parent_id" ref="auditForm" :audit-form="auditForm" :data="deptTree" @change="auditFormChange" />
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogEditVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="save">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from './api'
|
||||
import buttons from '@/components/Buttons'
|
||||
import AdutiDept from './components/auditDept'
|
||||
export default {
|
||||
name: 'Guide',
|
||||
components: {
|
||||
buttons,
|
||||
AdutiDept
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
data: [],
|
||||
deptTree: [],
|
||||
ids: [],
|
||||
levels: [],
|
||||
pager: {
|
||||
pageNo: 0,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
tableHeader: [
|
||||
{
|
||||
prop: 'selection',
|
||||
type: 'selection',
|
||||
fixed: 'left'
|
||||
}, {
|
||||
prop: 'sys_dept__dept_code',
|
||||
label: '组织编码'
|
||||
}, {
|
||||
prop: 'sys_dept__dept_name',
|
||||
label: '组织名称'
|
||||
}, {
|
||||
prop: 'sys_dept__memo',
|
||||
label: '备注'
|
||||
}, {
|
||||
prop: 'sys_dept__is_novalid',
|
||||
label: '是否注销'
|
||||
},
|
||||
{
|
||||
prop: 'opration',
|
||||
label: '操作',
|
||||
width: '70px',
|
||||
fixed: 'right',
|
||||
minWidth: '70px',
|
||||
show: true
|
||||
}],
|
||||
value: '',
|
||||
dept_id: '',
|
||||
level: '',
|
||||
id: '',
|
||||
parent_id: '',
|
||||
form: {
|
||||
dept_name: '',
|
||||
dept_code: '',
|
||||
memo: ''
|
||||
},
|
||||
rules: {
|
||||
dept_code: [
|
||||
{ required: true, message: '请输入部门编码', trigger: 'blur' }
|
||||
],
|
||||
dept_name: [
|
||||
{ required: true, message: '请输入部门名称', trigger: 'blur' }
|
||||
|
||||
]
|
||||
},
|
||||
dialogFormVisible: false,
|
||||
dialogEditVisible: false,
|
||||
formLabelWidth: '120px',
|
||||
auditForm: {},
|
||||
saveFrom: {},
|
||||
treeData: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'sys_dept__dept_name'
|
||||
},
|
||||
treeList: [],
|
||||
whereSql: false,
|
||||
whereValue: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.transitionTree()
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
|
||||
if (pageNo < 0) {
|
||||
pageNo = 0
|
||||
}
|
||||
api.getDept(
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.whereSql,
|
||||
this.whereValue
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
this.pager.total = data.data.total
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
async transitionTree() {
|
||||
await api.getDeptTree().then(data => {
|
||||
if (data.success) {
|
||||
this.deptTree = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
this.treeData = []
|
||||
let data = []
|
||||
data = this.deptTree.sort((a, b) => {
|
||||
return a.sys_dept__dept_id - b.sys_dept__dept_id
|
||||
})
|
||||
const oneTreeList = data.filter(d => {
|
||||
return d.sys_dept__dept_level === '1'
|
||||
})
|
||||
for (let i = 0; i < oneTreeList.length; i++) {
|
||||
const treeList = data.filter(d => {
|
||||
return d.sys_dept__dept_id.substring(0, 4).indexOf(oneTreeList[i].sys_dept__dept_id) > -1
|
||||
})
|
||||
treeList.forEach(d => {
|
||||
d.children = []
|
||||
if (d.sys_dept__dept_level === '1') {
|
||||
this.treeData.push(d)
|
||||
} else if (d.sys_dept__dept_level === '2') {
|
||||
this.treeData[i].children.push(d)
|
||||
} else if (d.sys_dept__dept_level === '3') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 8).indexOf(threeVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children.push(d)
|
||||
}
|
||||
})
|
||||
} else if (d.sys_dept__dept_level === '4') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
threeVal.children.forEach((fourVal, four) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 12).indexOf(fourVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children[four].children.push(d)
|
||||
}
|
||||
})
|
||||
})
|
||||
} else if (d.sys_dept__dept_level === '5') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
threeVal.children.forEach((fourVal, four) => {
|
||||
fourVal.children.forEach((fiveVal, five) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 16).indexOf(fiveVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children[four].children[five].children.push(d)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
} else if (d.sys_dept__dept_level === '6') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
threeVal.children.forEach((fourVal, four) => {
|
||||
fourVal.children.forEach((fiveVal, five) => {
|
||||
fiveVal.children.forEach((sixVal, six) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 20).indexOf(sixVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children[four].children[five].children[six].children.push(d)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
console.log(this.treeData, 'this.treeData')
|
||||
}
|
||||
},
|
||||
editCreate() {
|
||||
if (this.ids === null) {
|
||||
this.$message.warning('请选择一个组织再添加下属组织')
|
||||
} else if (this.ids.length !== 1) {
|
||||
this.$message.warning('请选择一个组织再添加下属组织')
|
||||
} else {
|
||||
this.dialogFormVisible = true
|
||||
this.dept_id = this.ids[0]
|
||||
this.level = this.levels[0]
|
||||
}
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = `funid=sys_dept&parentId=${this.dept_id}&levelCol=sys_dept.dept_level&keyid=&pagetype=editgrid&eventcode=save_eg&sys_dept__dept_code=${this.form.dept_code}&sys_dept__dept_name=${this.form.dept_name}&sys_dept__memo=${this.form.memo}&sys_dept__is_novalid=0&sys_dept__dept_id=&sys_dept__dept_level=${Number(this.level) + 1}&user_id=administrator&dataType= json`
|
||||
api.Crerte(data).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.transitionTree()
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
this.$message.success('新增成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
Delete(row) {
|
||||
this.ids = []
|
||||
this.ids.push(row.sys_dept__dept_id)
|
||||
this.editDelete()
|
||||
},
|
||||
editDelete() {
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
this.$confirm('确认删除部门?').then(() => {
|
||||
api.Delete(this.ids).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.$message.success('删除成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {})
|
||||
} else {
|
||||
this.$message.warning('请选择数据进行删除')
|
||||
}
|
||||
},
|
||||
editSave() {
|
||||
console.log('editSave')
|
||||
},
|
||||
upload() {
|
||||
console.log('upload')
|
||||
},
|
||||
edit(row) {
|
||||
this.id = row.sys_dept__dept_id
|
||||
this.parent_id = this.id.substring(0, this.id.length - 4)
|
||||
console.log(this.parent_id, this.id)
|
||||
this.auditForm = row
|
||||
this.dialogEditVisible = true
|
||||
},
|
||||
auditFormChange(form) {
|
||||
this.saveFrom = form
|
||||
},
|
||||
save() {
|
||||
console.log(this.saveFrom, 'this.saveFrom')
|
||||
console.log(this.auditForm, 'this.auditForm')
|
||||
if (Object.keys(this.saveFrom).length === 0) {
|
||||
this.saveFrom = this.auditForm
|
||||
}
|
||||
this.$refs.auditForm.$refs.auditForm.validate(valid => {
|
||||
if (valid) {
|
||||
const _form = `funid=sys_dept&parentId=&levelCol=sys_dept.dept_level&keyid=${this.id}&pagetype=editgrid&eventcode=save_eg&sys_dept__dept_code=${this.saveFrom.sys_dept__dept_code}&sys_dept__dept_name=${this.saveFrom.sys_dept__dept_name}&sys_dept__memo=${this.saveFrom.sys_dept__memo}&sys_dept__is_novalid=${this.saveFrom.sys_dept__is_novalid}&sys_dept__dept_id=${this.id}&sys_dept__dept_level=${this.saveFrom.sys_dept__dept_level}&user_id=administrator&dataType=json`
|
||||
api.auditSave(_form).then(data => {
|
||||
if (data.success) {
|
||||
this.whereSql = false
|
||||
this.whereValue = ''
|
||||
this.getList()
|
||||
this.$message.success('保存成功!')
|
||||
this.dialogEditVisible = false
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
cellDblclick(row) {
|
||||
console.log(row, 'row')
|
||||
this.id = row.sys_dept__dept_id
|
||||
this.parent_id = this.id.substring(0, this.id.length - 4)
|
||||
this.auditForm = row
|
||||
this.saveFrom = []
|
||||
this.dialogEditVisible = true
|
||||
},
|
||||
sizeChange(size) {
|
||||
this.pager.pageSize = size
|
||||
this.getList()
|
||||
},
|
||||
pageChange(page) {
|
||||
this.pager.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.ids = val.map(d => d.sys_dept__dept_id)
|
||||
this.levels = val.map(d => d.sys_dept__dept_level)
|
||||
},
|
||||
closeDialog() {
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
},
|
||||
handleNodeClick(data) {
|
||||
this.pager.pageNo = 0
|
||||
this.pager.pageSize = 10
|
||||
this.pager.total = 0
|
||||
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
|
||||
this.whereSql = true
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="head">
|
||||
<div>
|
||||
<buttons funid="sys_dept" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" />
|
||||
</div>
|
||||
<Search funid="sys_dept" @search="search" />
|
||||
</div>
|
||||
<el-row>
|
||||
<el-col :span="5">
|
||||
<el-card>
|
||||
<el-tree :data="treeData" default-expand-all :props="defaultProps" @node-click="handleNodeClick" />
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :span="19">
|
||||
<el-card>
|
||||
<el-table
|
||||
ref="deptTable"
|
||||
v-loading="loading"
|
||||
:data="data"
|
||||
style="width: 100%"
|
||||
stripe
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<el-table-column type="index" fixed="left" width="35px" />
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
v-else
|
||||
:key="i"
|
||||
:prop="d.prop"
|
||||
:label="d.label"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="d.label==='是否注销'">
|
||||
{{
|
||||
scope.row.sys_dept__is_novalid == 0 ? '否' : '是'
|
||||
}}
|
||||
</div>
|
||||
<div v-else-if="d.label === '操作'">
|
||||
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
|
||||
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
|
||||
</div>
|
||||
<div v-else>{{ scope.row[d.prop] }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="pager.pageNo"
|
||||
:page-sizes="[10, 30, 50, 100, 500]"
|
||||
:page-size="pager.pageSize"
|
||||
:total="pager.total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="sizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-dialog v-if="dialogFormVisible" title="新增部门" :visible.sync="dialogFormVisible" @close="closeDialog">
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-form-item label="所属部门" :label-width="formLabelWidth">
|
||||
<el-select v-model="dept_id" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in data"
|
||||
:key="item.sys_dept__dept_id"
|
||||
:label="item.sys_dept__dept_name"
|
||||
:value="item.sys_dept__dept_id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="部门编码" :label-width="formLabelWidth" prop="dept_code">
|
||||
<el-input v-model="form.dept_code" />
|
||||
</el-form-item>
|
||||
<el-form-item label="部门名称" :label-width="formLabelWidth" prop="dept_name">
|
||||
<el-input v-model="form.dept_name" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" :label-width="formLabelWidth" prop="memo">
|
||||
<el-input v-model="form.memo" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="create">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog v-if="dialogEditVisible" title="部门" :visible.sync="dialogEditVisible" @close="closeDialog">
|
||||
<AdutiDept :id="parent_id" ref="auditForm" :audit-form="auditForm" :data="deptTree" @change="auditFormChange" />
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogEditVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="save">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import api from './api'
|
||||
import buttons from '@/components/Buttons'
|
||||
import Search from '@/components/Search'
|
||||
import AdutiDept from './components/auditDept'
|
||||
export default {
|
||||
name: 'Guide',
|
||||
components: {
|
||||
buttons,
|
||||
Search,
|
||||
AdutiDept
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
data: [],
|
||||
deptTree: [],
|
||||
ids: [],
|
||||
levels: [],
|
||||
pager: {
|
||||
pageNo: 0,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
},
|
||||
tableHeader: [
|
||||
{
|
||||
prop: 'selection',
|
||||
type: 'selection',
|
||||
fixed: 'left'
|
||||
}, {
|
||||
prop: 'sys_dept__dept_code',
|
||||
label: '组织编码'
|
||||
}, {
|
||||
prop: 'sys_dept__dept_name',
|
||||
label: '组织名称'
|
||||
}, {
|
||||
prop: 'sys_dept__memo',
|
||||
label: '备注'
|
||||
}, {
|
||||
prop: 'sys_dept__is_novalid',
|
||||
label: '是否注销'
|
||||
},
|
||||
{
|
||||
prop: 'opration',
|
||||
label: '操作',
|
||||
width: '70px',
|
||||
fixed: 'right',
|
||||
minWidth: '70px',
|
||||
show: true
|
||||
}],
|
||||
value: '',
|
||||
dept_id: '',
|
||||
level: '',
|
||||
id: '',
|
||||
parent_id: '',
|
||||
form: {
|
||||
dept_name: '',
|
||||
dept_code: '',
|
||||
memo: ''
|
||||
},
|
||||
rules: {
|
||||
dept_code: [
|
||||
{ required: true, message: '请输入部门编码', trigger: 'blur' }
|
||||
],
|
||||
dept_name: [
|
||||
{ required: true, message: '请输入部门名称', trigger: 'blur' }
|
||||
|
||||
]
|
||||
},
|
||||
dialogFormVisible: false,
|
||||
dialogEditVisible: false,
|
||||
formLabelWidth: '120px',
|
||||
auditForm: {},
|
||||
saveFrom: {},
|
||||
treeData: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'sys_dept__dept_name'
|
||||
},
|
||||
treeList: [],
|
||||
whereSql: '',
|
||||
whereValue: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.transitionTree()
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
|
||||
if (pageNo < 0) {
|
||||
pageNo = 0
|
||||
}
|
||||
api.getDept(
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.whereSql
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
this.pager.total = data.data.total
|
||||
setTimeout(() => {
|
||||
this.loading = false
|
||||
}, 200)
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
search(sql) {
|
||||
this.whereSql = sql
|
||||
this.getList()
|
||||
},
|
||||
async transitionTree() {
|
||||
await api.getDeptTree().then(data => {
|
||||
if (data.success) {
|
||||
this.deptTree = data.data.root
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
this.treeData = []
|
||||
let data = []
|
||||
data = this.deptTree.sort((a, b) => {
|
||||
return a.sys_dept__dept_id - b.sys_dept__dept_id
|
||||
})
|
||||
const oneTreeList = data.filter(d => {
|
||||
return d.sys_dept__dept_level === '1'
|
||||
})
|
||||
for (let i = 0; i < oneTreeList.length; i++) {
|
||||
const treeList = data.filter(d => {
|
||||
return d.sys_dept__dept_id.substring(0, 4).indexOf(oneTreeList[i].sys_dept__dept_id) > -1
|
||||
})
|
||||
treeList.forEach(d => {
|
||||
d.children = []
|
||||
if (d.sys_dept__dept_level === '1') {
|
||||
this.treeData.push(d)
|
||||
} else if (d.sys_dept__dept_level === '2') {
|
||||
this.treeData[i].children.push(d)
|
||||
} else if (d.sys_dept__dept_level === '3') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 8).indexOf(threeVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children.push(d)
|
||||
}
|
||||
})
|
||||
} else if (d.sys_dept__dept_level === '4') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
threeVal.children.forEach((fourVal, four) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 12).indexOf(fourVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children[four].children.push(d)
|
||||
}
|
||||
})
|
||||
})
|
||||
} else if (d.sys_dept__dept_level === '5') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
threeVal.children.forEach((fourVal, four) => {
|
||||
fourVal.children.forEach((fiveVal, five) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 16).indexOf(fiveVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children[four].children[five].children.push(d)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
} else if (d.sys_dept__dept_level === '6') {
|
||||
this.treeData[i].children.forEach((threeVal, three) => {
|
||||
threeVal.children.forEach((fourVal, four) => {
|
||||
fourVal.children.forEach((fiveVal, five) => {
|
||||
fiveVal.children.forEach((sixVal, six) => {
|
||||
if (d.sys_dept__dept_id.substring(0, 20).indexOf(sixVal.sys_dept__dept_id) > -1) {
|
||||
this.treeData[i].children[three].children[four].children[five].children[six].children.push(d)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
console.log(this.treeData, 'this.treeData')
|
||||
}
|
||||
},
|
||||
editCreate() {
|
||||
if (this.ids === null) {
|
||||
this.$message.warning('请选择一个组织再添加下属组织')
|
||||
} else if (this.ids.length !== 1) {
|
||||
this.$message.warning('请选择一个组织再添加下属组织')
|
||||
} else {
|
||||
this.dialogFormVisible = true
|
||||
this.dept_id = this.ids[0]
|
||||
this.level = this.levels[0]
|
||||
}
|
||||
},
|
||||
create() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = `funid=sys_dept&parentId=${this.dept_id}&levelCol=sys_dept.dept_level&keyid=&pagetype=editgrid&eventcode=save_eg&sys_dept__dept_code=${this.form.dept_code}&sys_dept__dept_name=${this.form.dept_name}&sys_dept__memo=${this.form.memo}&sys_dept__is_novalid=0&sys_dept__dept_id=&sys_dept__dept_level=${Number(this.level) + 1}&user_id=administrator&dataType= json`
|
||||
api.Crerte(data).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.transitionTree()
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
this.$message.success('新增成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
Delete(row) {
|
||||
this.ids = []
|
||||
this.ids.push(row.sys_dept__dept_id)
|
||||
this.editDelete()
|
||||
},
|
||||
editDelete() {
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
this.$confirm('确认删除部门?').then(() => {
|
||||
api.Delete(this.ids).then(data => {
|
||||
if (data.success) {
|
||||
this.getList()
|
||||
this.$message.success('删除成功!')
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}).catch(() => {})
|
||||
} else {
|
||||
this.$message.warning('请选择数据进行删除')
|
||||
}
|
||||
},
|
||||
editSave() {
|
||||
console.log('editSave')
|
||||
},
|
||||
upload() {
|
||||
console.log('upload')
|
||||
},
|
||||
edit(row) {
|
||||
this.id = row.sys_dept__dept_id
|
||||
this.parent_id = this.id.substring(0, this.id.length - 4)
|
||||
console.log(this.parent_id, this.id)
|
||||
this.auditForm = row
|
||||
this.dialogEditVisible = true
|
||||
},
|
||||
auditFormChange(form) {
|
||||
this.saveFrom = form
|
||||
},
|
||||
save() {
|
||||
console.log(this.saveFrom, 'this.saveFrom')
|
||||
console.log(this.auditForm, 'this.auditForm')
|
||||
if (Object.keys(this.saveFrom).length === 0) {
|
||||
this.saveFrom = this.auditForm
|
||||
}
|
||||
this.$refs.auditForm.$refs.auditForm.validate(valid => {
|
||||
if (valid) {
|
||||
const _form = `funid=sys_dept&parentId=&levelCol=sys_dept.dept_level&keyid=${this.id}&pagetype=editgrid&eventcode=save_eg&sys_dept__dept_code=${this.saveFrom.sys_dept__dept_code}&sys_dept__dept_name=${this.saveFrom.sys_dept__dept_name}&sys_dept__memo=${this.saveFrom.sys_dept__memo}&sys_dept__is_novalid=${this.saveFrom.sys_dept__is_novalid}&sys_dept__dept_id=${this.id}&sys_dept__dept_level=${this.saveFrom.sys_dept__dept_level}&user_id=administrator&dataType=json`
|
||||
api.auditSave(_form).then(data => {
|
||||
if (data.success) {
|
||||
this.whereSql = ''
|
||||
this.getList()
|
||||
this.$message.success('保存成功!')
|
||||
this.dialogEditVisible = false
|
||||
} else {
|
||||
this.$message.error(data.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
cellDblclick(row) {
|
||||
console.log(row, 'row')
|
||||
this.id = row.sys_dept__dept_id
|
||||
this.parent_id = this.id.substring(0, this.id.length - 4)
|
||||
this.auditForm = row
|
||||
this.saveFrom = []
|
||||
this.dialogEditVisible = true
|
||||
},
|
||||
sizeChange(size) {
|
||||
this.pager.pageSize = size
|
||||
this.getList()
|
||||
},
|
||||
pageChange(page) {
|
||||
this.pager.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.ids = val.map(d => d.sys_dept__dept_id)
|
||||
this.levels = val.map(d => d.sys_dept__dept_level)
|
||||
},
|
||||
closeDialog() {
|
||||
this.dialogFormVisible = false
|
||||
this.$refs['form'].resetFields()
|
||||
this.form.dept_name = ''
|
||||
this.form.dept_code = ''
|
||||
},
|
||||
handleNodeClick(data) {
|
||||
this.pager.pageNo = 0
|
||||
this.pager.pageSize = 10
|
||||
this.pager.total = 0
|
||||
this.whereValue = encodeURI(`\%${data.sys_dept__dept_id}\%`)
|
||||
this.whereSql = `where_sql=sys_dept.dept_id like ?&where_value=${this.whereValue}&where_type=String`
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
|
@ -3,17 +3,11 @@ import store from '@/store/modules/user'
|
||||
|
||||
var roles = store.state.roles.replace(/;/g, '')
|
||||
export default {
|
||||
getUser(pageSize, pageNo, isWhereSql, whereValue) {
|
||||
let whereSql = ''
|
||||
let whereType = ''
|
||||
if (isWhereSql) {
|
||||
whereSql = `sys_dept.dept_id like ?`
|
||||
whereType = 'string'
|
||||
}
|
||||
getUser(pageSize, pageNo, whereSql) {
|
||||
return request({
|
||||
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=editgrid&query_funid=sys_user&user_id=${roles}`,
|
||||
method: 'post',
|
||||
data: `start=${pageNo}&limit=${pageSize}&where_sql=${whereSql}&where_value=${whereValue}&where_type=${whereType}&is_query=1&query_type=0`
|
||||
data: `start=${pageNo}&limit=${pageSize}&${whereSql}&is_query=1&query_type=0`
|
||||
}).then(response => response.data)
|
||||
},
|
||||
getDeptTree() {
|
||||
|
@ -1,6 +1,11 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<buttons funid="sys_dept" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" />
|
||||
<div class="head">
|
||||
<div>
|
||||
<buttons funid="sys_dept" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" />
|
||||
</div>
|
||||
<Search funid="sys_user" @search="search" />
|
||||
</div>
|
||||
<el-row>
|
||||
<el-col :span="3">
|
||||
<el-card>
|
||||
@ -19,6 +24,7 @@
|
||||
@selection-change="handleSelectionChange"
|
||||
@cell-dblclick="cellDblclick"
|
||||
>
|
||||
<el-table-column type="index" fixed="left" width="35px" />
|
||||
<template v-for="(d,i) in tableHeader">
|
||||
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
|
||||
<el-table-column
|
||||
@ -112,12 +118,14 @@
|
||||
<script>
|
||||
import api from './api'
|
||||
import buttons from '@/components/Buttons'
|
||||
import Search from '@/components/Search'
|
||||
import AdutiUser from './components/auditUser'
|
||||
import Attach from '@/components/sys_attach'
|
||||
export default {
|
||||
name: 'User',
|
||||
components: {
|
||||
buttons,
|
||||
Search,
|
||||
AdutiUser,
|
||||
Attach
|
||||
},
|
||||
@ -125,6 +133,8 @@ export default {
|
||||
return {
|
||||
loading: false,
|
||||
data: [],
|
||||
fun: [],
|
||||
searchVal: '',
|
||||
deptTree: [],
|
||||
ids: [],
|
||||
levels: [],
|
||||
@ -238,8 +248,7 @@ export default {
|
||||
api.getUser(
|
||||
this.pager.pageSize,
|
||||
pageNo,
|
||||
this.whereSql,
|
||||
this.whereValue
|
||||
this.whereSql
|
||||
).then(data => {
|
||||
if (data.success) {
|
||||
this.data = data.data.root
|
||||
@ -252,6 +261,10 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
search(sql) {
|
||||
this.whereSql = sql
|
||||
this.getList()
|
||||
},
|
||||
async transitionTree() {
|
||||
await api.getDeptTree().then(data => {
|
||||
if (data.success) {
|
||||
@ -392,7 +405,6 @@ export default {
|
||||
const _form = `funid=sys_user&parentId=&levelCol=sys_dept.dept_level&keyid=${this.id}&pagetype=editgrid&eventcode=save_eg&sys_user__user_name=${this.saveFrom.sys_user__user_name}&sys_user__user_code=${this.saveFrom.sys_user__user_code}&sys_dept__dept_name=${this.saveFrom.sys_dept__dept_name}&sys_user__is_leader=${this.saveFrom.sys_user__is_leader}&sys_user__duty=${this.saveFrom.sys_user__duty}&sys_user__phone_code=${this.saveFrom.sys_user__phone_code}&sys_user__mob_code=${this.saveFrom.sys_user__mob_code}&sys_user__sex=${this.saveFrom.sys_user__sex}&sys_user__email=${this.saveFrom.sys_user__email}&sys_user__is_novalid=${this.saveFrom.sys_user__is_novalid}&sys_user__memo=${this.saveFrom.sys_user__memo}&sys_user__user_id=${this.id}&sys_user__dept_id=${this.saveFrom.sys_user__dept_id}&user_id=administrator&dataType=json`
|
||||
api.auditSave(_form).then(data => {
|
||||
if (data.success) {
|
||||
this.whereSql = false
|
||||
this.whereValue = ''
|
||||
this.getList()
|
||||
this.$message.success('保存成功!')
|
||||
@ -436,14 +448,18 @@ export default {
|
||||
this.pager.pageNo = 0
|
||||
this.pager.pageSize = 10
|
||||
this.pager.total = 0
|
||||
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
|
||||
this.whereSql = true
|
||||
this.whereValue = encodeURI(`\%${data.sys_dept__dept_id}\%`)
|
||||
this.whereSql = `where_sql=sys_dept.dept_id like ?&where_value=${this.whereValue}&where_type=String`
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.el-card {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user