1
0
mirror of https://github.com/PanJiaChen/vue-element-admin.git synced 2025-08-13 07:04:21 +08:00

增加检索栏目和右侧边栏待办信息,并修改BUG

This commit is contained in:
dengfuchuan 2021-04-05 21:52:41 +08:00
parent befcbe0b05
commit 4105503024
31 changed files with 3613 additions and 3190 deletions

View 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>

View 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)
}
}

View 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>

View File

@ -33,8 +33,8 @@ export default {
const timestamp = new Date().getTime() const timestamp = new Date().getTime()
return request({ return request({
url: `fileAction.do?funid=sys_attach&keyid=${keys}&pagetype=editgrid&eventcode=down&user_id=${roles}&dataType=byte&_dc=${timestamp}`, url: `fileAction.do?funid=sys_attach&keyid=${keys}&pagetype=editgrid&eventcode=down&user_id=${roles}&dataType=byte&_dc=${timestamp}`,
method: 'post', method: 'get'
data: `funid=sys_attach&keyid=${keys}&pagetype=editgrid&eventcode=down&user_id=${roles}&dataType=byte&_dc=${timestamp}` // data: `funid=sys_attach&keyid=${keys}&pagetype=editgrid&eventcode=down&user_id=${roles}&dataType=byte&_dc=${timestamp}`
}).then(response => response.data) })
} }
} }

View File

@ -1,329 +1,334 @@
<template> <template>
<div> <div>
<!-- <buttons funid="insp_det" style="margin:10px 10px" @editDelete="editDelete" @upload="upload" /> --> <!-- <buttons funid="insp_det" style="margin:10px 10px" @editDelete="editDelete" @upload="upload" /> -->
<div class="buttons"> <div class="buttons">
<el-upload <el-upload
ref="upload" ref="upload"
style="margin-bottom: 10px;" style="margin-bottom: 10px;"
class="upload-demo" class="upload-demo"
:action="baseUrl" :action="baseUrl"
:data="formData" :data="formData"
:on-preview="handlePreview" :on-preview="handlePreview"
:on-remove="handleRemove" :on-remove="handleRemove"
:on-change="onChange" :on-change="onChange"
:on-success="onSuccess" :on-success="onSuccess"
:before-remove="beforeRemove" :before-remove="beforeRemove"
multiple multiple
:limit="3" :limit="3"
:on-exceed="handleExceed" :on-exceed="handleExceed"
:show-file-list="false" :show-file-list="false"
> >
<el-button size="small" type="primary">点击上传</el-button> <el-button size="small" type="primary">点击上传</el-button>
</el-upload> </el-upload>
<el-button size="small" type="primary" @click="editDelete">批量删除</el-button> <el-button size="small" type="primary" @click="editDelete">批量删除</el-button>
</div> </div>
<div> <div>
<el-table <el-table
ref="table" ref="table"
v-loading="loading" v-loading="loading"
:data="data" :data="data"
style="width: 100%" style="width: 100%"
border border
stripe stripe
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@cell-dblclick="cellDblclick" @cell-dblclick="cellDblclick"
> >
<template v-for="(d,i) in tableHeader"> <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-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
<el-table-column <el-table-column
v-else-if="d.show !== false" v-else-if="d.show !== false"
:key="i" :key="i"
:prop="d.prop" :prop="d.prop"
:label="d.label" :label="d.label"
:width="d.width" :width="d.width"
:min-width="d.minWidth" :min-width="d.minWidth"
:class-name="d.className" :class-name="d.className"
:fixed="d.fixed" :fixed="d.fixed"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="d.label==='附件名称'"> <div v-if="d.label==='附件名称'">
<a @click="downLoadAttach(scope.row)"> <a :href="href" @click="downLoadAttach(scope.row)">
{{ {{
scope.row.sys_attach__attach_name scope.row.sys_attach__attach_name
}} }}
</a> </a>
</div> </div>
<div v-else-if="d.label === '操作'"> <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)" /> <el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
</div> </div>
<div v-else>{{ scope.row[d.prop] }}</div> <div v-else>{{ scope.row[d.prop] }}</div>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
</el-table> </el-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination
:current-page="pager.pageNo" :current-page="pager.pageNo"
:page-sizes="[10, 30, 50, 100, 500]" :page-sizes="[10, 30, 50, 100, 500]"
:page-size="pager.pageSize" :page-size="pager.pageSize"
:total="pager.total" :total="pager.total"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
@size-change="sizeChange" @size-change="sizeChange"
@current-change="pageChange" @current-change="pageChange"
/> />
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import api from './api' import api from './api'
// import buttons from '@/components/Buttons' import store from '@/store/modules/user'
export default {
name: 'SafeIdsp', var roles = store.state.roles.replace(/;/g, '')
components: { export default {
// buttons name: 'SafeIdsp',
}, components: {
props: { // buttons
dataId: { },
type: Array, props: {
default: () => [] dataId: {
}, type: Array,
tableName: { default: () => []
type: String, },
default: null tableName: {
}, type: String,
funId: { default: null
type: String, },
default: null funId: {
} type: String,
}, default: null
data() { }
return { },
loading: false, data() {
data: [], return {
deptTree: [], loading: false,
ids: [], data: [],
levels: [], deptTree: [],
pager: { ids: [],
pageNo: 0, levels: [],
pageSize: 10, pager: {
total: 0 pageNo: 0,
}, pageSize: 10,
tableHeader: [ total: 0
{ },
prop: 'selection', tableHeader: [
type: 'selection', {
fixed: 'left', prop: 'selection',
width: '100px', type: 'selection',
show: true fixed: 'left',
}, { width: '100px',
prop: 'sys_attach__attach_name', show: true
label: '附件名称', }, {
width: '250px', prop: 'sys_attach__attach_name',
show: true label: '附件名称',
}, { width: '250px',
prop: 'sys_attach__upload_user', show: true
label: '上传人', }, {
width: '100px', prop: 'sys_attach__upload_user',
show: true label: '上传人',
}, width: '100px',
{ show: true
prop: 'sys_attach__upload_date', },
label: '上传日期', {
width: '150px', prop: 'sys_attach__upload_date',
show: true label: '上传日期',
}, width: '150px',
{ show: true
prop: 'opration', },
label: '操作', {
width: '100px', prop: 'opration',
minWidth: '120px', label: '操作',
show: true width: '100px',
}], minWidth: '120px',
value: '', show: true
dept_id: '', }],
level: '', value: '',
id: '', dept_id: '',
parent_id: '', level: '',
form: { id: '',
dept_name: '', parent_id: '',
dept_code: '', form: {
memo: '' dept_name: '',
}, dept_code: '',
dialogFormVisible: false, memo: ''
dialogEditVisible: false, },
formLabelWidth: '120px', dialogFormVisible: false,
auditForm: {}, dialogEditVisible: false,
saveFrom: {}, formLabelWidth: '120px',
treeData: [], auditForm: {},
defaultProps: { saveFrom: {},
children: 'children', treeData: [],
label: 'sys_dept__dept_name' defaultProps: {
}, children: 'children',
treeList: [], label: 'sys_dept__dept_name'
whereSql: false, },
whereValue: '', treeList: [],
formData: {}, whereSql: false,
attach_path: null, whereValue: '',
baseUrl: window.location.origin + '/bwhse/fileAction.do' formData: {},
} attach_path: null,
}, baseUrl: window.location.origin + '/bwhse/fileAction.do',
created() { href: ''
this.getList() }
this.initFormData() },
}, created() {
mounted() { this.getList()
}, this.initFormData()
methods: { },
getList() { mounted() {
this.loading = true },
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize methods: {
if (pageNo < 0) { getList() {
pageNo = 0 this.loading = true
} let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
api.getDate( if (pageNo < 0) {
this.pager.pageSize, pageNo = 0
pageNo, }
this.dataId, api.getDate(
this.tableName this.pager.pageSize,
).then(data => { pageNo,
if (data.success) { this.dataId,
this.data = data.data.root this.tableName
this.pager.total = data.data.total ).then(data => {
setTimeout(() => { if (data.success) {
this.loading = false this.data = data.data.root
}, 200) this.pager.total = data.data.total
} else { setTimeout(() => {
this.$message.error(data.message) this.loading = false
} }, 200)
}) } else {
}, this.$message.error(data.message)
initFormData() { }
this.formData.attach_path = '' })
this.formData.funid = 'sys_attach' },
this.formData.eventcode = 'create' initFormData() {
this.formData.nousercheck = '1' this.formData.attach_path = ''
this.formData.table_name = this.tableName this.formData.funid = 'sys_attach'
this.formData.datafunid = this.funId this.formData.eventcode = 'create'
this.formData.user_id = 'administrator' this.formData.nousercheck = '1'
this.formData.dataid = this.dataId[0] this.formData.table_name = this.tableName
}, this.formData.datafunid = this.funId
create() { this.formData.user_id = 'administrator'
this.$refs['form'].validate((valid) => { this.formData.dataid = this.dataId[0]
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` create() {
api.Crerte(data).then(data => { this.$refs['form'].validate((valid) => {
if (data.success) { if (valid) {
this.getList() 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`
this.dialogFormVisible = false api.Crerte(data).then(data => {
this.$refs['form'].resetFields() if (data.success) {
this.form.dept_name = '' this.getList()
this.form.dept_code = '' this.dialogFormVisible = false
this.$message.success('新增成功!') this.$refs['form'].resetFields()
} else { this.form.dept_name = ''
this.$message.error(data.message) 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() Delete(row) {
}, this.ids = []
editDelete() { this.ids.push(row.sys_attach__attach_id)
if (this.ids && this.ids.length > 0) { this.editDelete()
this.$confirm('确认删除附件?').then(() => { },
api.Delete(this.ids).then(data => { editDelete() {
if (data.success) { if (this.ids && this.ids.length > 0) {
this.getList() this.$confirm('确认删除附件?').then(() => {
this.$message.success('删除成功!') api.Delete(this.ids).then(data => {
} else { if (data.success) {
this.$message.error(data.message) this.getList()
} this.$message.success('删除成功!')
}) } else {
}).catch(() => {}) this.$message.error(data.message)
} else { }
this.$message.warning('请选择数据进行删除') })
} }).catch(() => {})
}, } else {
editSave() { this.$message.warning('请选择数据进行删除')
console.log('editSave') }
}, },
upload() { editSave() {
console.log('upload') console.log('editSave')
}, },
edit(row) { upload() {
this.id = row.attach_id console.log('upload')
this.parent_id = this.id.substring(0, this.id.length - 4) },
console.log(this.parent_id, this.id) edit(row) {
this.auditForm = row this.id = row.attach_id
this.dialogEditVisible = true this.parent_id = this.id.substring(0, this.id.length - 4)
}, console.log(this.parent_id, this.id)
auditFormChange(form) { this.auditForm = row
this.saveFrom = form this.dialogEditVisible = true
}, },
cellDblclick(row) { auditFormChange(form) {
}, this.saveFrom = form
sizeChange(size) { },
this.pager.pageSize = size cellDblclick(row) {
this.getList() },
}, sizeChange(size) {
pageChange(page) { this.pager.pageSize = size
this.pager.pageNo = page this.getList()
this.getList() },
}, pageChange(page) {
handleSelectionChange(val) { this.pager.pageNo = page
console.log(val) this.getList()
this.ids = val.map(d => d.sys_attach__attach_id) },
}, handleSelectionChange(val) {
downLoadAttach(row) { console.log(val)
api.downLoad(row.sys_attach__attach_id).then() this.ids = val.map(d => d.sys_attach__attach_id)
}, },
handleRemove(file, fileList) { async downLoadAttach(row) {
console.log(file, fileList) 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}`
handlePreview(file) { // await api.downLoad(row.sys_attach__attach_id)
console.log(file) },
}, handleRemove(file, fileList) {
handleExceed(files, fileList) { console.log(file, fileList)
this.$message.warning(`当前限制选择 9 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`) },
}, handlePreview(file) {
beforeRemove(file, fileList) { console.log(file)
return this.$confirm(`确定移除 ${file.name}`) },
}, handleExceed(files, fileList) {
onChange(file) { this.$message.warning(`当前限制选择 9 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`)
this.formData.attach_path = file.raw },
}, beforeRemove(file, fileList) {
onSuccess() { return this.$confirm(`确定移除 ${file.name}`)
this.$message.success('上传成功!') },
this.getList() onChange(file) {
this.$refs.upload.clearFiles() this.formData.attach_path = file.raw
} },
} onSuccess() {
} this.$message.success('上传成功!')
</script> this.getList()
<style lang="scss" scoped> this.$refs.upload.clearFiles()
.el-card { }
margin-top: 10px; }
} }
.el-table__row { </script>
a { <style lang="scss" scoped>
color: blue; .el-card {
text-decoration: underline; margin-top: 10px;
} }
} .el-table__row {
.buttons{ a {
display: flex; color: blue;
} text-decoration: underline;
.el-button--primary { }
height: 26.8px; }
margin-right: 10px; .buttons{
} display: flex;
.pagination{ }
overflow: auto; .el-button--primary {
} height: 26.8px;
</style> margin-right: 10px;
}
.pagination{
overflow: auto;
}
</style>

View File

@ -1,163 +1,173 @@
<template> <template>
<div class="navbar"> <div class="navbar">
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" /> <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
<breadcrumb id="breadcrumb-container" class="breadcrumb-container" /> <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
<div class="right-menu"> <div class="right-menu">
<template v-if="device!=='mobile'">
<search id="header-search" class="right-menu-item" /> <template v-if="device!=='mobile'">
<error-log class="errLog-container right-menu-item hover-effect" /> <search id="header-search" class="right-menu-item" />
<screenfull id="screenfull" class="right-menu-item hover-effect" /> <message id="header-search" class="right-menu-item message" />
<!-- <el-tooltip content="Global Size" effect="dark" placement="bottom"> <!-- <error-log class="errLog-container right-menu-item hover-effect" /> -->
<size-select id="size-select" class="right-menu-item hover-effect" />
</el-tooltip> --> <screenfull id="screenfull" class="right-menu-item hover-effect" />
</template> <!-- <el-tooltip content="Global Size" effect="dark" placement="bottom">
<size-select id="size-select" class="right-menu-item hover-effect" />
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click"> </el-tooltip> -->
<div class="avatar-wrapper">
<img src="../../assets/login/portrait.jpg" class="user-avatar"> </template>
<i class="el-icon-caret-bottom" />
</div> <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
<el-dropdown-menu slot="dropdown"> <div class="avatar-wrapper">
<el-dropdown-item @click.native="logout"> <img src="../../assets/login/portrait.jpg" class="user-avatar">
<span style="display:block;">退出登录</span> <i class="el-icon-caret-bottom" />
</el-dropdown-item> </div>
</el-dropdown-menu> <el-dropdown-menu slot="dropdown">
</el-dropdown> <el-dropdown-item @click.native="logout">
</div> <span style="display:block;">退出登录</span>
</div> </el-dropdown-item>
</template> </el-dropdown-menu>
</el-dropdown>
<script> </div>
import { mapGetters } from 'vuex' </div>
import Breadcrumb from '@/components/Breadcrumb' </template>
import Hamburger from '@/components/Hamburger'
import ErrorLog from '@/components/ErrorLog' <script>
import Screenfull from '@/components/Screenfull' import { mapGetters } from 'vuex'
// import SizeSelect from '@/components/SizeSelect' import Breadcrumb from '@/components/Breadcrumb'
import Search from '@/components/HeaderSearch' import Hamburger from '@/components/Hamburger'
import { logout } from '@/api/user' // import ErrorLog from '@/components/ErrorLog'
import Screenfull from '@/components/Screenfull'
export default { // import SizeSelect from '@/components/SizeSelect'
components: { import Search from '@/components/HeaderSearch'
Breadcrumb, import Message from '@/components/HeaderMessage'
Hamburger, import { logout } from '@/api/user'
ErrorLog,
Screenfull, export default {
// SizeSelect, components: {
Search Breadcrumb,
}, Hamburger,
computed: { // ErrorLog,
...mapGetters([ Screenfull,
'sidebar', // SizeSelect,
'avatar', Search,
'device' Message
]) },
}, computed: {
methods: { ...mapGetters([
toggleSideBar() { 'sidebar',
this.$store.dispatch('app/toggleSideBar') 'avatar',
}, 'device'
async logout() { ])
logout().then(data => { },
if (data.success) { methods: {
this.$store.dispatch('user/logout') toggleSideBar() {
this.$router.push(`/login?redirect=${this.$route.fullPath}`) this.$store.dispatch('app/toggleSideBar')
this.$message.success('已退出登录!') },
} else { async logout() {
this.$message.error(data.message) logout().then(data => {
} if (data.success) {
}) this.$store.dispatch('user/logout')
} this.$router.push(`/login?redirect=${this.$route.fullPath}`)
} this.$message.success('已退出登录!')
} } else {
</script> this.$message.error(data.message)
}
<style lang="scss" scoped> })
.navbar { }
height: 50px; }
overflow: hidden; }
position: relative; </script>
background: #fff;
box-shadow: 0 1px 4px rgba(0,21,41,.08); <style lang="scss" scoped>
.navbar {
.hamburger-container { height: 50px;
line-height: 46px; overflow: hidden;
height: 100%; position: relative;
float: left; background: #fff;
cursor: pointer; box-shadow: 0 1px 4px rgba(0,21,41,.08);
transition: background .3s;
-webkit-tap-highlight-color:transparent; .hamburger-container {
line-height: 46px;
&:hover { height: 100%;
background: rgba(0, 0, 0, .025) float: left;
} cursor: pointer;
} transition: background .3s;
-webkit-tap-highlight-color:transparent;
.breadcrumb-container {
float: left; &:hover {
} background: rgba(0, 0, 0, .025)
}
.errLog-container { }
display: inline-block;
vertical-align: top; .breadcrumb-container {
} float: left;
}
.right-menu {
float: right; .errLog-container {
height: 100%; display: inline-block;
line-height: 50px; vertical-align: top;
}
&:focus {
outline: none; .right-menu {
} float: right;
height: 100%;
.right-menu-item { line-height: 50px;
display: inline-block;
padding: 0 8px; &:focus {
height: 100%; outline: none;
font-size: 18px; }
color: #5a5e66;
vertical-align: text-bottom; .message{
cursor: pointer;
&.hover-effect { }
cursor: pointer;
transition: background .3s; .right-menu-item {
display: inline-block;
&:hover { padding: 0 12px;
background: rgba(0, 0, 0, .025) height: 100%;
} font-size: 18px;
} color: #5a5e66;
} vertical-align: text-bottom;
.avatar-container { &.hover-effect {
margin-right: 30px; cursor: pointer;
transition: background .3s;
.avatar-wrapper {
margin-top: 5px; &:hover {
position: relative; background: rgba(0, 0, 0, .025)
}
.user-avatar { }
cursor: pointer; }
width: 38px;
height: 35px; .avatar-container {
border-radius: 10px; margin-right: 30px;
}
.avatar-wrapper {
.el-icon-caret-bottom { margin-top: 5px;
cursor: pointer; position: relative;
position: absolute;
right: -20px; .user-avatar {
top: 25px; cursor: pointer;
font-size: 12px; width: 38px;
} height: 35px;
} border-radius: 10px;
} }
}
} .el-icon-caret-bottom {
</style> cursor: pointer;
position: absolute;
right: -20px;
top: 25px;
font-size: 12px;
}
}
}
}
}
</style>

View File

@ -146,3 +146,15 @@
.el-dialog__footer { .el-dialog__footer {
padding: 10px 20px; 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;
// }

View File

@ -2,6 +2,7 @@ import axios from 'axios'
import { MessageBox, Message } from 'element-ui' import { MessageBox, Message } from 'element-ui'
import store from '@/store' import store from '@/store'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
import router from '@/router'
// create an axios instance // create an axios instance
const service = axios.create({ const service = axios.create({
@ -68,8 +69,8 @@ service.interceptors.response.use(
return Promise.reject(new Error(res.message || 'Error')) return Promise.reject(new Error(res.message || 'Error'))
} else { } else {
if (res.data.message === '当前用户没有登录!') { if (res.data.message === '当前用户没有登录!') {
// store.dispatch('user/logout') store.dispatch('user/logout')
this.$router.push(`/login?redirect=${this.$route.fullPath}`) router.push(`/login`)
} }
return res return res
} }

View File

@ -4,17 +4,11 @@ import store from '@/store/modules/user'
var roles = store.state.roles.replace(/;/g, '') var roles = store.state.roles.replace(/;/g, '')
export default { export default {
getDate(pageSize, pageNo, isWhereSql, whereValue) { getDate(pageSize, pageNo, whereSql) {
let whereSql = ''
let whereType = ''
if (isWhereSql) {
whereSql = `dept_id like ?`
whereType = 'string'
}
return request({ return request({
url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=hidden_check&user_id=${roles}`, url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=hidden_check&user_id=${roles}`,
method: 'post', 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) }).then(response => response.data)
}, },
getDeptTree() { getDeptTree() {

View File

@ -25,7 +25,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="7"> <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-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-button slot="append" icon="el-icon-search" @click="checkManVisible = !checkManVisible" />
</el-input> </el-input>
@ -41,7 +41,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="7"> <el-col :span="7">
<el-form-item label="检查时间"> <el-form-item label="检查时间" prop="hidden_danger__check_date">
<el-date-picker <el-date-picker
v-model="form.hidden_danger__check_date" v-model="form.hidden_danger__check_date"
type="date" type="date"
@ -199,6 +199,12 @@ export default {
hidden_danger__check_dept_id: '' hidden_danger__check_dept_id: ''
}, },
rules: { rules: {
hidden_danger__check_man: [
{ required: true, message: '请选择检查人', trigger: 'blur' }
],
hidden_danger__check_date: [
{ required: true, message: '请选择检查时间', trigger: 'blur' }
],
hidden_danger__check_problem: [ hidden_danger__check_problem: [
{ required: true, message: '请输入隐患描述', trigger: 'blur' } { required: true, message: '请输入隐患描述', trigger: 'blur' }
] ]
@ -215,6 +221,14 @@ export default {
hiddenState: [] hiddenState: []
} }
}, },
watch: {
'form.hidden_danger__check_man': {
handler(val, oldVal) {
this.$refs['hidden_danger__check_man'].clearValidate()
},
deep: true
}
},
created() { created() {
this.getHiddenState() this.getHiddenState()
}, },

View File

@ -25,7 +25,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="7"> <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-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-button slot="append" icon="el-icon-search" @click="checkManVisible = !checkManVisible" />
</el-input> </el-input>
@ -41,7 +41,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="7"> <el-col :span="7">
<el-form-item label="检查时间"> <el-form-item label="检查时间" prop="hidden_danger__check_date">
<el-date-picker <el-date-picker
v-model="form.hidden_danger__check_date" v-model="form.hidden_danger__check_date"
type="date" type="date"
@ -200,6 +200,12 @@ export default {
hidden_danger__check_dept_id: '' hidden_danger__check_dept_id: ''
}, },
rules: { rules: {
hidden_danger__check_man: [
{ required: true, message: '请选择检查人', trigger: 'blur' }
],
hidden_danger__check_date: [
{ required: true, message: '请选择检查时间', trigger: 'blur' }
],
hidden_danger__check_problem: [ hidden_danger__check_problem: [
{ required: true, message: '请输入隐患描述', trigger: 'blur' } { required: true, message: '请输入隐患描述', trigger: 'blur' }
] ]
@ -214,6 +220,14 @@ export default {
hiddenState: [] hiddenState: []
} }
}, },
watch: {
'form.hidden_danger__check_man': {
handler(val, oldVal) {
this.$refs['hidden_danger__check_man'].clearValidate()
},
deep: true
}
},
created() { created() {
this.getList() this.getList()
this.getHiddenState() this.getHiddenState()

View File

@ -1,6 +1,11 @@
<template> <template>
<div> <div class="app-container">
<buttons funid="hidden_check" style="margin:10px 10px" @Create="editCreate" @Del="editDelete" @editSave="editSave" @upload="upload" /> <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-card>
<el-table <el-table
ref="deptTable" ref="deptTable"
@ -8,9 +13,11 @@
:data="list" :data="list"
style="width: 100%" style="width: 100%"
stripe stripe
type="index"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@cell-dblclick="cellDblclick" @cell-dblclick="cellDblclick"
> >
<el-table-column type="index" fixed="left" width="35px" />
<template v-for="(d,i) in tableHeader"> <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-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
<el-table-column <el-table-column
@ -35,7 +42,7 @@
<div v-else-if="d.label === '操作'"> <div v-else-if="d.label === '操作'">
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" /> <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 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>
<div v-else>{{ scope.row[d.prop] }}</div> <div v-else>{{ scope.row[d.prop] }}</div>
</template> </template>
@ -55,8 +62,8 @@
<el-dialog v-if="dialogUploadVisible" title="附件" :visible.sync="dialogUploadVisible" width="45%" @close="closeUploadDialog"> <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" /> <Attach ref="attach" :data-id="ids" table-name="hidden_danger" fun-id="hidden_check" @change="auditFormChange" />
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="dialogUploadVisible = false"> </el-button> <!-- <el-button @click="dialogUploadVisible = false"> </el-button> -->
<el-button type="primary" @click="save"> </el-button> <el-button type="primary" @click="dialogUploadVisible = false">返回</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-drawer <el-drawer
@ -74,12 +81,14 @@
<script> <script>
import api from './api' import api from './api'
import buttons from '@/components/Buttons' import buttons from '@/components/Buttons'
import Search from '@/components/Search'
import Attach from '@/components/sys_attach' import Attach from '@/components/sys_attach'
import { parseDay } from '@/utils/index' import { parseDay } from '@/utils/index'
export default { export default {
name: 'HiddenCheck', name: 'HiddenCheck',
components: { components: {
buttons, buttons,
Search,
Attach Attach
}, },
data() { data() {
@ -182,7 +191,7 @@ export default {
label: 'sys_dept__dept_name' label: 'sys_dept__dept_name'
}, },
treeList: [], treeList: [],
whereSql: false, whereSql: '',
whereValue: '', whereValue: '',
dialogUploadVisible: false, dialogUploadVisible: false,
options: [], options: [],
@ -204,8 +213,7 @@ export default {
api.getDate( api.getDate(
this.pager.pageSize, this.pager.pageSize,
pageNo, pageNo,
this.whereSql, this.whereSql
this.whereValue
).then(data => { ).then(data => {
if (data.success) { if (data.success) {
this.data = data.data.root this.data = data.data.root
@ -222,6 +230,10 @@ export default {
} }
}) })
}, },
search(sql) {
this.whereSql = sql
this.getList()
},
queryAttach() { queryAttach() {
api.queryAttach(this.keyids).then(data => { api.queryAttach(this.keyids).then(data => {
if (data.success) { if (data.success) {
@ -283,26 +295,6 @@ export default {
auditFormChange(form) { auditFormChange(form) {
this.saveFrom = 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() { closeUploadDialog() {
this.dialogUploadVisible = false this.dialogUploadVisible = false
}, },
@ -326,12 +318,6 @@ export default {
this.form.dept_name = '' this.form.dept_name = ''
this.form.dept_code = '' this.form.dept_code = ''
}, },
handleNodeClick(data) {
console.log(data)
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
this.whereSql = true
this.getList()
},
checkAttach(row) { checkAttach(row) {
// this.drawer = true // this.drawer = true
this.ids = [] this.ids = []
@ -342,6 +328,10 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.head {
display: flex;
justify-content: space-between;
}
.el-card { .el-card {
margin-top: 10px; margin-top: 10px;
} }

View File

@ -4,17 +4,11 @@ import store from '@/store/modules/user'
var roles = store.state.roles.replace(/;/g, '') var roles = store.state.roles.replace(/;/g, '')
export default { export default {
getDate(pageSize, pageNo, isWhereSql, whereValue) { getDate(pageSize, pageNo, whereSql) {
let whereSql = ''
let whereType = ''
if (isWhereSql) {
whereSql = `dept_id like ?`
whereType = 'string'
}
return request({ return request({
url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=hidden_reform&user_id=${roles}`, url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=hidden_reform&user_id=${roles}`,
method: 'post', 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) }).then(response => response.data)
}, },
getDeptTree() { getDeptTree() {

View File

@ -1,6 +1,11 @@
<template> <template>
<div> <div class="app-container">
<buttons funid="hidden_reform" style="margin:10px 10px" @Create="editCreate" @Del="editDelete" @editSave="editSave" @upload="upload" /> <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-card>
<el-table <el-table
ref="deptTable" ref="deptTable"
@ -11,6 +16,7 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@cell-dblclick="cellDblclick" @cell-dblclick="cellDblclick"
> >
<el-table-column type="index" fixed="left" width="35px" />
<template v-for="(d,i) in tableHeader"> <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-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
<el-table-column <el-table-column
@ -41,7 +47,7 @@
<div v-else-if="d.label === '操作'"> <div v-else-if="d.label === '操作'">
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" /> <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 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>
<div v-else>{{ scope.row[d.prop] }}</div> <div v-else>{{ scope.row[d.prop] }}</div>
</template> </template>
@ -61,8 +67,8 @@
<el-dialog v-if="dialogUploadVisible" title="附件" :visible.sync="dialogUploadVisible" width="45%" @close="closeUploadDialog"> <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" /> <Attach ref="attach" :data-id="ids" table-name="hidden_danger" fun-id="hidden_check" @change="auditFormChange" />
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="dialogUploadVisible = false"> </el-button> <!-- <el-button @click="dialogUploadVisible = false"> </el-button> -->
<el-button type="primary" @click="save"> </el-button> <el-button type="primary" @click="dialogUploadVisible = false">返回</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
@ -71,12 +77,14 @@
<script> <script>
import api from './api' import api from './api'
import buttons from '@/components/Buttons' import buttons from '@/components/Buttons'
import Search from '@/components/Search'
import Attach from '@/components/sys_attach' import Attach from '@/components/sys_attach'
import { parseDay } from '@/utils/index' import { parseDay } from '@/utils/index'
export default { export default {
name: 'HiddenReform', name: 'HiddenReform',
components: { components: {
buttons, buttons,
Search,
Attach Attach
}, },
data() { data() {
@ -204,8 +212,7 @@ export default {
api.getDate( api.getDate(
this.pager.pageSize, this.pager.pageSize,
pageNo, pageNo,
this.whereSql, this.whereSql
this.whereValue
).then(data => { ).then(data => {
if (data.success) { if (data.success) {
this.data = data.data.root this.data = data.data.root
@ -218,6 +225,10 @@ export default {
} }
}) })
}, },
search(sql) {
this.whereSql = sql
this.getList()
},
editCreate() { editCreate() {
const param = `/hidden_danger/hidden_reform/create` const param = `/hidden_danger/hidden_reform/create`
this.$router.push(param) this.$router.push(param)
@ -262,26 +273,6 @@ export default {
auditFormChange(form) { auditFormChange(form) {
this.saveFrom = 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() { closeUploadDialog() {
this.dialogUploadVisible = false this.dialogUploadVisible = false
}, },
@ -305,12 +296,6 @@ export default {
this.form.dept_name = '' this.form.dept_name = ''
this.form.dept_code = '' this.form.dept_code = ''
}, },
handleNodeClick(data) {
console.log(data)
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
this.whereSql = true
this.getList()
},
checkAttach(row) { checkAttach(row) {
// this.drawer = true // this.drawer = true
this.ids = [] this.ids = []
@ -321,6 +306,10 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.head {
display: flex;
justify-content: space-between;
}
.el-card { .el-card {
margin-top: 10px; margin-top: 10px;
} }

View File

@ -4,17 +4,11 @@ import store from '@/store/modules/user'
var roles = store.state.roles.replace(/;/g, '') var roles = store.state.roles.replace(/;/g, '')
export default { export default {
getDate(pageSize, pageNo, isWhereSql, whereValue) { getDate(pageSize, pageNo, whereSql) {
let whereSql = ''
let whereType = ''
if (isWhereSql) {
whereSql = `dept_id like ?`
whereType = 'string'
}
return request({ return request({
url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=hidden_review&user_id=${roles}`, url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=hidden_review&user_id=${roles}`,
method: 'post', 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) }).then(response => response.data)
}, },
getDeptTree() { getDeptTree() {

View File

@ -1,6 +1,11 @@
<template> <template>
<div> <div class="app-container">
<buttons funid="hidden_review" style="margin:10px 10px" @Create="editCreate" @Del="editDelete" @editSave="editSave" @upload="upload" /> <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-card>
<el-table <el-table
ref="deptTable" ref="deptTable"
@ -11,6 +16,7 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@cell-dblclick="cellDblclick" @cell-dblclick="cellDblclick"
> >
<el-table-column type="index" fixed="left" width="35px" />
<template v-for="(d,i) in tableHeader"> <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-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
<el-table-column <el-table-column
@ -37,7 +43,7 @@
<div v-else-if="d.label === '操作'"> <div v-else-if="d.label === '操作'">
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" /> <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 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>
<div v-else>{{ scope.row[d.prop] }}</div> <div v-else>{{ scope.row[d.prop] }}</div>
</template> </template>
@ -57,8 +63,8 @@
<el-dialog v-if="dialogUploadVisible" title="附件" :visible.sync="dialogUploadVisible" width="45%" @close="closeUploadDialog"> <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" /> <Attach ref="attach" :data-id="ids" table-name="hidden_danger" fun-id="hidden_check" @change="auditFormChange" />
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="dialogUploadVisible = false"> </el-button> <!-- <el-button @click="dialogUploadVisible = false"> </el-button> -->
<el-button type="primary" @click="save"> </el-button> <el-button type="primary" @click="dialogUploadVisible = false">返回</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
@ -67,12 +73,14 @@
<script> <script>
import api from './api' import api from './api'
import buttons from '@/components/Buttons' import buttons from '@/components/Buttons'
import Search from '@/components/Search'
import Attach from '@/components/sys_attach' import Attach from '@/components/sys_attach'
import { parseDay } from '@/utils/index' import { parseDay } from '@/utils/index'
export default { export default {
name: 'HiddenReview', name: 'HiddenReview',
components: { components: {
buttons, buttons,
Search,
Attach Attach
}, },
data() { data() {
@ -160,7 +168,7 @@ export default {
label: 'sys_dept__dept_name' label: 'sys_dept__dept_name'
}, },
treeList: [], treeList: [],
whereSql: false, whereSql: '',
whereValue: '', whereValue: '',
dialogUploadVisible: false dialogUploadVisible: false
} }
@ -194,6 +202,10 @@ export default {
} }
}) })
}, },
search(sql) {
this.whereSql = sql
this.getList()
},
editCreate() { editCreate() {
const param = `/hidden_danger/hidden_review/create` const param = `/hidden_danger/hidden_review/create`
this.$router.push(param) this.$router.push(param)
@ -232,26 +244,6 @@ export default {
auditFormChange(form) { auditFormChange(form) {
this.saveFrom = 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() { closeUploadDialog() {
this.dialogUploadVisible = false this.dialogUploadVisible = false
}, },
@ -275,12 +267,6 @@ export default {
this.form.dept_name = '' this.form.dept_name = ''
this.form.dept_code = '' this.form.dept_code = ''
}, },
handleNodeClick(data) {
console.log(data)
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
this.whereSql = true
this.getList()
},
checkAttach(row) { checkAttach(row) {
// this.drawer = true // this.drawer = true
this.ids = [] this.ids = []
@ -291,6 +277,10 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.head {
display: flex;
justify-content: space-between;
}
.el-card { .el-card {
margin-top: 10px; margin-top: 10px;
} }

View File

@ -4,17 +4,11 @@ import store from '@/store/modules/user'
var roles = store.state.roles.replace(/;/g, '') var roles = store.state.roles.replace(/;/g, '')
export default { export default {
getDate(pageSize, pageNo, isWhereSql, whereValue) { getDate(pageSize, pageNo, whereSql) {
let whereSql = ''
let whereType = ''
if (isWhereSql) {
whereSql = `dept_id like ?`
whereType = 'string'
}
return request({ return request({
url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=insp_name&user_id=${roles}`, url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=insp_name&user_id=${roles}`,
method: 'post', 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) }).then(response => response.data)
}, },
Crerte(data) { Crerte(data) {

View File

@ -1,196 +1,207 @@
<template> <template>
<div> <div>
<el-card> <el-card>
<buttons funid="safe_insp" style="margin-bottom:20px" @save="save" /> <div class="buttons">
<el-form ref="form" :model="form" label-width="80px"> <buttons funid="safe_insp" style="margin-bottom:20px" @save="save" />
<el-row> <el-button type="primary" @click="back">返回列表</el-button>
<el-col :span="7"> </div>
<el-form-item label="巡检单编号"> <el-form ref="form" :model="form" label-width="80px">
<el-input v-model="form.safe_insp__insp_code" /> <el-row>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="巡检单编号">
<el-col :span="7"> <el-input v-model="form.safe_insp__insp_code" />
<el-form-item label="巡检状态"> </el-form-item>
<el-select v-model="form.safe_insp__insp_state" placeholder="请选择"> </el-col>
<el-option <el-col :span="7">
v-for="item in options" <el-form-item label="巡检状态">
:key="item.funall_control__value_data" <el-select v-model="form.safe_insp__insp_state" placeholder="请选择">
:label="item.funall_control__display_data" <el-option
:value="item.funall_control__value_data" v-for="item in options"
/> :key="item.funall_control__value_data"
</el-select> :label="item.funall_control__display_data"
</el-form-item> :value="item.funall_control__value_data"
</el-col> />
<el-col :span="7"> </el-select>
<el-form-item label="巡检名称"> </el-form-item>
<el-input v-model="form.safe_insp__insp_name" /> </el-col>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="巡检名称">
</el-row> <el-input v-model="form.safe_insp__insp_name" />
<el-row> </el-form-item>
<el-col :span="7"> </el-col>
<el-form-item label="巡检日期"> </el-row>
<el-date-picker <el-row>
v-model="form.safe_insp__insp_date" <el-col :span="7">
type="date" <el-form-item label="巡检日期">
placeholder="选择日期" <el-date-picker
style="width: 100%;" v-model="form.safe_insp__insp_date"
format="yyyy-MM-dd" type="date"
value-format="yyyy-MM-dd" placeholder="选择日期"
/> style="width: 100%;"
</el-form-item> format="yyyy-MM-dd"
</el-col> value-format="yyyy-MM-dd"
<el-col :span="7"> />
<el-form-item label="巡检人员"> </el-form-item>
<el-input v-model="form.safe_insp__insp_man" placeholder="请输入内容" class="input-with-select" clearable> </el-col>
<el-button slot="append" icon="el-icon-search" @click="selUserVisible = !selUserVisible" /> <el-col :span="7">
</el-input> <el-form-item label="巡检人员">
</el-form-item> <el-input v-model="form.safe_insp__insp_man" placeholder="请输入内容" class="input-with-select" clearable>
</el-col> <el-button slot="append" icon="el-icon-search" @click="selUserVisible = !selUserVisible" />
<el-col :span="7"> </el-input>
<el-form-item label="备注"> </el-form-item>
<el-input v-model="form.safe_insp__insp_memo" /> </el-col>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="备注">
</el-row> <el-input v-model="form.safe_insp__insp_memo" />
<el-row> </el-form-item>
<el-col :span="7"> </el-col>
<el-form-item label="巡检频率"> </el-row>
<el-input v-model="form.safe_insp__insp_times" /> <el-row>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="巡检频率">
</el-row> <el-input v-model="form.safe_insp__insp_times" />
<el-row> </el-form-item>
<el-col :span="7"> </el-col>
<el-form-item label="已巡检数量"> </el-row>
<el-input v-model="form.safe_insp__insp_ed" disabled="disabled" /> <el-row>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="已巡检数量">
<el-col :span="7"> <el-input v-model="form.safe_insp__insp_ed" disabled="disabled" />
<el-form-item label="待巡检数量"> </el-form-item>
<el-input v-model="form.safe_insp__insp_ing" disabled="disabled" /> </el-col>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="待巡检数量">
<el-col :span="7"> <el-input v-model="form.safe_insp__insp_ing" disabled="disabled" />
<el-form-item label="不符合数量"> </el-form-item>
<el-input v-model="form.safe_insp__insp_non" disabled="disabled" /> </el-col>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="不符合数量">
</el-row> <el-input v-model="form.safe_insp__insp_non" disabled="disabled" />
</el-form> </el-form-item>
</el-card> </el-col>
<InspDet :id="id" /> </el-row>
<el-dialog </el-form>
v-if="selUserVisible" </el-card>
title="选择人员" <InspDet :id="id" />
:visible.sync="selUserVisible" <el-dialog
width="60%" v-if="selUserVisible"
> title="选择人员"
<SelUser @updateUsers="updateUsers" @updateUser="updateUser" /> :visible.sync="selUserVisible"
<span> width="60%"
<el-button @click="selUserVisible = false"> </el-button> >
<el-button type="primary" @click="selUserVisible = false"> </el-button> <SelUser @updateUsers="updateUsers" @updateUser="updateUser" />
</span> <span>
</el-dialog> <el-button @click="selUserVisible = false"> </el-button>
</div> <el-button type="primary" @click="selUserVisible = false"> </el-button>
</template> </span>
</el-dialog>
<script> </div>
import api from '../../api' </template>
import publicApi from '@/api/public'
import buttons from '@/components/formBtn' <script>
import InspDet from '../insp_det' import api from '../../api'
import SelUser from '@/components/selUser' import publicApi from '@/api/public'
export default { import buttons from '@/components/formBtn'
name: 'EditForm', import InspDet from '../insp_det'
components: { import SelUser from '@/components/selUser'
buttons, export default {
SelUser, name: 'EditForm',
InspDet components: {
}, buttons,
// props: { SelUser,
// id: { type: String, default: () => '' } InspDet
// }, },
data() { // props: {
return { // id: { type: String, default: () => '' }
loading: false, // },
form: {}, data() {
id: this.$route.params.id, return {
disabled: false, loading: false,
options: [], form: {},
selUserVisible: false id: this.$route.params.id,
} disabled: false,
}, options: [],
created() { selUserVisible: false
console.log(this.id) }
this.getList() },
this.getTypeSel() created() {
}, console.log(this.id)
methods: { this.getList()
getList() { this.getTypeSel()
this.loading = true },
api.getFormDate(this.id).then(data => { methods: {
if (data.success) { getList() {
this.form = data.data.root[0] this.loading = true
setTimeout(() => { api.getFormDate(this.id).then(data => {
this.loading = false if (data.success) {
}, 200) this.form = data.data.root[0]
} else { setTimeout(() => {
this.$message.error(data.message) 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 async getTypeSel() {
} else { await publicApi.getTypeSel('insptimes').then(data => {
this.$message.error(data.message) 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 onSubmit() {},
this.selUserVisible = false updateUser(data) {
}, this.form.safe_insp__insp_man = data.sys_user__user_name
updateUsers(data) { this.form.safe_insp__insp_man_id = data.sys_user__user_id
this.form.safe_insp__insp_man = data.map(d => { return d.sys_user__user_name }).join(';') this.selUserVisible = false
this.form.safe_insp__insp_man_id = data.map(d => { return d.sys_user__user_id }).join(';') },
}, updateUsers(data) {
save() { this.form.safe_insp__insp_man = data.map(d => { return d.sys_user__user_name }).join(';')
api.Save(this.form).then(data => { this.form.safe_insp__insp_man_id = data.map(d => { return d.sys_user__user_id }).join(';')
if (data.success) { },
this.$message.success('保存成功!') save() {
} else { api.Save(this.form).then(data => {
this.$message.error(data.message) if (data.success) {
} this.$message.success('保存成功!')
}) } else {
}, this.$message.error(data.message)
back() { }
// this.$router.back(-1) })
} },
} back() {
} this.$store.dispatch('tagsView/delView', this.$route)
</script> this.$router.push('/hidden_danger/hidden_check')
}
<style lang="scss" scoped> }
::v-deep .el-dialog__body { }
padding: 10px 20px !important; </script>
}
::v-deep .el-form-item__label { <style lang="scss" scoped>
text-align: right; ::v-deep .el-dialog__body {
/* vertical-align: middle; */ padding: 10px 20px !important;
float: left; }
font-size: 14px; ::v-deep .el-form-item__label {
color: #606266; text-align: right;
line-height: 40px; /* vertical-align: middle; */
padding: 0 6px 0 0; float: left;
-webkit-box-sizing: border-box; font-size: 14px;
box-sizing: border-box; color: #606266;
} line-height: 40px;
.el-col{ padding: 0 6px 0 0;
margin-left: 2%; -webkit-box-sizing: border-box;
} box-sizing: border-box;
</style> }
.el-col{
margin-left: 2%;
}
.buttons {
display: flex;
.el-button--primary {
margin-left: 10px;
height: 26.8px;
}
}
</style>

View File

@ -1,35 +1,29 @@
import request from '@/utils/request' import request from '@/utils/request'
export default { export default {
getDate(id, pageSize, pageNo, isWhereSql, whereValue) { getDate(id, pageSize, pageNo, whereSql) {
let whereSql = '' return request({
let whereType = '' url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=subeditgrid&query_funid=insp_item&user_id=administrator`,
if (isWhereSql) { method: 'post',
whereSql = `dept_id like ?` data: `start=${pageNo}&limit=${pageSize}&${whereSql}&is_query=1&query_type=0`
whereType = 'string' }).then(response => response.data)
} },
return request({ Crerte(data) {
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=subeditgrid&query_funid=insp_item&user_id=administrator`, return request({
method: 'post', url: `/commonAction.do`,
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` method: 'post',
}).then(response => response.data) data: `${data}`
}, }).then(response => response.data)
Crerte(data) { },
return request({ Delete(ids) {
url: `/commonAction.do`, let keys = ''
method: 'post', ids.forEach(d => {
data: `${data}` keys += 'keyid=' + d + '&'
}).then(response => response.data) })
}, return request({
Delete(ids) { url: `/commonAction.do`,
let keys = '' method: 'post',
ids.forEach(d => { data: `funid=insp_item&${keys}pagetype=editgrid&eventcode=delete_eg&user_id=administrator&dataType=json`
keys += 'keyid=' + d + '&' }).then(response => response.data)
}) }
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)
}
}

View File

@ -1,273 +1,287 @@
<template> <template>
<div> <div>
<el-card> <el-card>
<buttons funid="insp_item" style="margin-bottom:10px" @editCreate="editCreate" @editDelete="editDelete" /> <div class="head">
<el-table <div>
ref="deptTable" <buttons funid="insp_item" style="margin-bottom:10px" @editCreate="editCreate" @editDelete="editDelete" />
v-loading="loading" </div>
:data="data" <Search funid="insp_item" @search="search" />
style="width: 100%" </div>
@selection-change="handleSelectionChange" <el-table
@cell-dblclick="cellDblclick" ref="deptTable"
> v-loading="loading"
<template v-for="(d,i) in tableHeader"> :data="data"
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" /> style="width: 100%"
<el-table-column @selection-change="handleSelectionChange"
v-else @cell-dblclick="cellDblclick"
:key="i" >
:prop="d.prop" <template v-for="(d,i) in tableHeader">
:label="d.label" <el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
> <el-table-column
<template slot-scope="scope"> v-else
<div v-if="d.label === '操作'"> :key="i"
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" /> :prop="d.prop"
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" /> :label="d.label"
</div> >
<div v-else>{{ scope.row[d.prop] }}</div> <template slot-scope="scope">
</template> <div v-if="d.label === '操作'">
</el-table-column> <el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
</template> <el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
</el-table> </div>
<el-pagination <div v-else>{{ scope.row[d.prop] }}</div>
:current-page="pager.pageNo" </template>
:page-sizes="[10, 30, 50, 100, 500]" </el-table-column>
:page-size="pager.pageSize" </template>
:total="pager.total" </el-table>
layout="total, sizes, prev, pager, next, jumper" <el-pagination
@size-change="sizeChange" :current-page="pager.pageNo"
@current-change="pageChange" :page-sizes="[10, 30, 50, 100, 500]"
/> :page-size="pager.pageSize"
</el-card> :total="pager.total"
layout="total, sizes, prev, pager, next, jumper"
<el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog"> @size-change="sizeChange"
<el-form ref="form" :model="form" :rules="rules"> @current-change="pageChange"
<el-form-item label="巡检项目" :label-width="formLabelWidth" prop="insp_item__item_name"> />
<el-input v-model="form.insp_item__item_name" type="textarea" /> </el-card>
</el-form-item>
<el-form-item label="巡检标准" :label-width="formLabelWidth" prop="insp_item__item_std"> <el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog">
<el-input v-model="form.insp_item__item_std" type="textarea" /> <el-form ref="form" :model="form" :rules="rules">
</el-form-item> <el-form-item label="巡检项目" :label-width="formLabelWidth" prop="insp_item__item_name">
<el-form-item label="巡检方法" :label-width="formLabelWidth" prop="insp_item__item_way"> <el-input v-model="form.insp_item__item_name" type="textarea" />
<el-input v-model="form.insp_item__item_way" type="textarea" /> </el-form-item>
</el-form-item> <el-form-item label="巡检标准" :label-width="formLabelWidth" prop="insp_item__item_std">
</el-form> <el-input v-model="form.insp_item__item_std" type="textarea" />
<div slot="footer" class="dialog-footer"> </el-form-item>
<el-button @click="dialogFormVisible = false"> </el-button> <el-form-item label="巡检方法" :label-width="formLabelWidth" prop="insp_item__item_way">
<el-button type="primary" @click="create"> </el-button> <el-input v-model="form.insp_item__item_way" type="textarea" />
</div> </el-form-item>
</el-dialog> </el-form>
</div> <div slot="footer" class="dialog-footer">
</template> <el-button @click="dialogFormVisible = false"> </el-button>
<el-button type="primary" @click="create"> </el-button>
<script> </div>
import api from './api' </el-dialog>
import publicApi from '@/api/public' </div>
import buttons from '@/components/Buttons' </template>
export default {
name: 'SafeIdsp', <script>
components: { import api from './api'
buttons import publicApi from '@/api/public'
}, import buttons from '@/components/Buttons'
import Search from '@/components/Search'
data() { export default {
return { name: 'SafeIdsp',
id: '', components: {
loading: false, buttons,
data: [], Search
deptTree: [], },
ids: [],
pager: { data() {
pageNo: 0, return {
pageSize: 10, id: '',
total: 0 loading: false,
}, data: [],
tableHeader: [ deptTree: [],
{ ids: [],
prop: 'selection', pager: {
type: 'selection', pageNo: 0,
fixed: 'left' pageSize: 10,
}, { total: 0
prop: 'insp_item__item_name', },
label: '巡检项目' tableHeader: [
}, { {
prop: 'insp_item__item_std', prop: 'selection',
label: '巡检标准' type: 'selection',
}, fixed: 'left'
{ }, {
prop: 'insp_item__item_way', prop: 'insp_item__item_name',
label: '巡检方法' label: '巡检项目'
}, { }, {
prop: 'opration', prop: 'insp_item__item_std',
label: '操作', label: '巡检标准'
width: '70px', },
fixed: 'right', {
minWidth: '70px', prop: 'insp_item__item_way',
show: true label: '巡检方法'
}], }, {
dept_id: '', prop: 'opration',
level: '', label: '操作',
parent_id: '', width: '70px',
initFrom: { fixed: 'right',
insp_item__insp_item_id: '', minWidth: '70px',
insp_item__item_name: '', show: true
insp_item__item_std: '', }],
insp_item__item_way: '' dept_id: '',
}, level: '',
form: {}, parent_id: '',
rules: { initFrom: {
insp_item__item_name: [ insp_item__insp_item_id: '',
{ required: true, message: '请输入巡检项目', trigger: 'blur' } insp_item__item_name: '',
], insp_item__item_std: '',
insp_item__item_std: [ insp_item__item_way: ''
{ required: true, message: '请输入巡检标准', trigger: 'blur' } },
], form: {},
insp_item__item_way: [ rules: {
{ required: true, message: '请输入巡检方法', trigger: 'blur' } insp_item__item_name: [
] { required: true, message: '请输入巡检项目', trigger: 'blur' }
}, ],
dialogFormVisible: false, insp_item__item_std: [
dialogEditVisible: false, { required: true, message: '请输入巡检标准', trigger: 'blur' }
formLabelWidth: '120px', ],
auditForm: {}, insp_item__item_way: [
saveFrom: {}, { required: true, message: '请输入巡检方法', trigger: 'blur' }
treeData: [], ]
defaultProps: { },
children: 'children', dialogFormVisible: false,
label: 'sys_dept__dept_name' dialogEditVisible: false,
}, formLabelWidth: '120px',
treeList: [], auditForm: {},
whereSql: false, saveFrom: {},
whereValue: '', treeData: [],
title: '' defaultProps: {
} children: 'children',
}, label: 'sys_dept__dept_name'
created() { },
if (this.value) { treeList: [],
this.id = this.value whereSql: '',
this.getList(this.id) whereValue: '',
} title: ''
}, }
mounted() { },
}, created() {
methods: { if (this.value) {
getList(id) { this.id = this.value
this.id = id this.getList(this.id)
this.loading = true }
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize },
if (pageNo < 0) { mounted() {
pageNo = 0 },
} methods: {
api.getDate( getList(id) {
this.id, this.id = id
this.pager.pageSize, this.loading = true
pageNo, let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
this.whereSql, if (pageNo < 0) {
this.whereValue pageNo = 0
).then(data => { }
if (data.success) { api.getDate(
this.data = data.data.root this.id,
this.pager.total = data.data.total this.pager.pageSize,
setTimeout(() => { pageNo,
this.loading = false this.whereSql
}, 200) ).then(data => {
} else { if (data.success) {
this.$message.error(data.message) this.data = data.data.root
} this.pager.total = data.data.total
}) setTimeout(() => {
}, this.loading = false
editCreate() { }, 200)
this.title = '新增' } else {
this.form = JSON.parse(JSON.stringify(this.initFrom)) this.$message.error(data.message)
this.dialogFormVisible = true }
}, })
create() { },
this.$refs['form'].validate((valid) => { search(sql) {
if (valid) { this.whereSql = sql
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` this.getList()
api.Crerte(data).then(data => { },
if (data.success) { editCreate() {
this.getList(this.id) this.title = '新增'
this.dialogFormVisible = false this.form = JSON.parse(JSON.stringify(this.initFrom))
this.$refs['form'].resetFields() this.dialogFormVisible = true
this.$message.success('保存成功!') },
} else { create() {
this.$message.error(data.message) 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)
edit(row) { this.dialogFormVisible = false
this.title = '编辑' this.$refs['form'].resetFields()
this.dialogFormVisible = true this.$message.success('保存成功!')
this.form = JSON.parse(JSON.stringify(row)) } else {
}, this.$message.error(data.message)
Delete(row) { }
this.ids = [] })
this.ids.push(row.insp_item__insp_item_id) }
this.editDelete() })
}, },
editDelete() { edit(row) {
if (this.ids && this.ids.length > 0) { this.title = '编辑'
this.$confirm('确认删除?').then(() => { this.dialogFormVisible = true
api.Delete(this.ids).then(data => { this.form = JSON.parse(JSON.stringify(row))
if (data.success) { },
this.getList(this.id) Delete(row) {
this.$message.success('删除成功!') this.ids = []
} else { this.ids.push(row.insp_item__insp_item_id)
this.$message.error(data.message) this.editDelete()
} },
}) editDelete() {
}).catch(() => {}) if (this.ids && this.ids.length > 0) {
} else { this.$confirm('确认删除?').then(() => {
this.$message.warning('请选择数据进行删除') api.Delete(this.ids).then(data => {
} if (data.success) {
}, this.getList(this.id)
auditFormChange(form) { this.$message.success('删除成功!')
this.saveFrom = form } else {
}, this.$message.error(data.message)
cellDblclick(row) { }
this.title = '编辑' })
this.form = JSON.parse(JSON.stringify(row)) }).catch(() => {})
this.dialogFormVisible = true } else {
}, this.$message.warning('请选择数据进行删除')
sizeChange(size) { }
this.pager.pageSize = size },
this.getList(this.id) auditFormChange(form) {
}, this.saveFrom = form
pageChange(page) { },
this.pager.pageNo = page cellDblclick(row) {
this.getList(this.id) this.title = '编辑'
}, this.form = JSON.parse(JSON.stringify(row))
handleSelectionChange(val) { this.dialogFormVisible = true
this.ids = val.map(d => d.insp_item__insp_item_id) },
}, sizeChange(size) {
closeDialog() { this.pager.pageSize = size
this.dialogFormVisible = false this.getList(this.id)
this.$refs['form'].resetFields() },
this.form.dept_name = '' pageChange(page) {
this.form.dept_code = '' this.pager.pageNo = page
}, this.getList(this.id)
handleNodeClick(data) { },
console.log(data) handleSelectionChange(val) {
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`) this.ids = val.map(d => d.insp_item__insp_item_id)
this.whereSql = true },
this.getList(this.id) closeDialog() {
}, this.dialogFormVisible = false
async getTypeSel() { this.$refs['form'].resetFields()
await publicApi.getTypeSel('inspresult').then(data => { this.form.dept_name = ''
if (data.success) { this.form.dept_code = ''
this.inspresult = data.data.root },
} else { handleNodeClick(data) {
this.$message.error(data.message) console.log(data)
} this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`)
}) this.whereSql = ''
} this.getList(this.id)
} },
} async getTypeSel() {
</script> await publicApi.getTypeSel('inspresult').then(data => {
<style lang="scss" scoped> if (data.success) {
.el-card { this.inspresult = data.data.root
margin-top: 10px; } else {
} this.$message.error(data.message)
</style> }
})
}
}
}
</script>
<style lang="scss" scoped>
.head {
display: flex;
justify-content: space-between;
}
.el-card {
margin-top: 10px;
}
</style>

View File

@ -1,270 +1,286 @@
<template> <template>
<div> <div class="app-container">
<buttons funid="insp_name" style="margin:10px 10px" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" /> <div class="head">
<el-row> <div>
<el-col :span="8"> <buttons funid="insp_name" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" />
<el-card> </div>
<el-table <!-- <Search funid="insp_name" @search="search" /> -->
ref="deptTable" </div>
v-loading="loading" <el-row>
:data="data" <el-col :span="8">
style="width: 100%" <el-card>
@row-click="rowClick" <Search class="search" funid="insp_name" @search="search" />
@selection-change="handleSelectionChange" <el-table
@cell-dblclick="cellDblclick" ref="deptTable"
> v-loading="loading"
<template v-for="(d,i) in tableHeader"> :data="data"
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" /> style="width: 100%"
<el-table-column @row-click="rowClick"
v-else-if="d.show !== false" @selection-change="handleSelectionChange"
:key="i" @cell-dblclick="cellDblclick"
:prop="d.prop" >
:label="d.label" <template v-for="(d,i) in tableHeader">
:width="d.width" <el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
:min-width="d.minWidth" <el-table-column
:class-name="d.className" v-else-if="d.show !== false"
:fixed="d.fixed" :key="i"
> :prop="d.prop"
<template slot-scope="scope"> :label="d.label"
<div v-if="d.label === '操作'"> :width="d.width"
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" /> :min-width="d.minWidth"
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" /> :class-name="d.className"
</div> :fixed="d.fixed"
<div v-else>{{ scope.row[d.prop] }}</div> >
</template> <template slot-scope="scope">
</el-table-column> <div v-if="d.label === '操作'">
</template> <el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
</el-table> <el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
<div class="pagination"> </div>
<el-pagination <div v-else>{{ scope.row[d.prop] }}</div>
:current-page="pager.pageNo" </template>
:page-sizes="[10, 30, 50, 100, 500]" </el-table-column>
:page-size="pager.pageSize" </template>
:total="pager.total" </el-table>
layout="total, sizes, prev, pager, next, jumper" <div class="pagination">
@size-change="sizeChange" <el-pagination
@current-change="pageChange" :current-page="pager.pageNo"
/> :page-sizes="[10, 30, 50, 100, 500]"
</div> :page-size="pager.pageSize"
</el-card> :total="pager.total"
</el-col> layout="total, sizes, prev, pager, next, jumper"
<el-col :span="16"> @size-change="sizeChange"
<InspItem ref="inspItem" v-model="id" /> @current-change="pageChange"
</el-col> />
</el-row> </div>
</el-card>
<el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog"> </el-col>
<el-form ref="form" :model="form" :rules="rules"> <el-col :span="16">
<el-form-item label="巡检表名称" :label-width="formLabelWidth" prop="dept_code"> <InspItem ref="inspItem" v-model="id" />
<el-input v-model="form.insp_name__insp_name" /> </el-col>
</el-form-item> </el-row>
</el-form>
<div slot="footer" class="dialog-footer"> <el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog">
<el-button @click="dialogFormVisible = false"> </el-button> <el-form ref="form" :model="form" :rules="rules">
<el-button type="primary" @click="create"> </el-button> <el-form-item label="巡检表名称" :label-width="formLabelWidth" prop="dept_code">
</div> <el-input v-model="form.insp_name__insp_name" />
</el-dialog> </el-form-item>
<el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog"> </el-form>
<el-form ref="form" :model="form" :rules="rules"> <div slot="footer" class="dialog-footer">
<el-form-item label="巡检表名称" :label-width="formLabelWidth" prop="dept_code"> <el-button @click="dialogFormVisible = false"> </el-button>
<el-input v-model="form.insp_name__insp_name" /> <el-button type="primary" @click="create"> </el-button>
</el-form-item> </div>
</el-form> </el-dialog>
<div slot="footer" class="dialog-footer"> <el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog">
<el-button @click="dialogFormVisible = false"> </el-button> <el-form ref="form" :model="form" :rules="rules">
<el-button type="primary" @click="create"> </el-button> <el-form-item label="巡检表名称" :label-width="formLabelWidth" prop="dept_code">
</div> <el-input v-model="form.insp_name__insp_name" />
</el-dialog> </el-form-item>
</div> </el-form>
</template> <div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false"> </el-button>
<script> <el-button type="primary" @click="create"> </el-button>
import api from './api' </div>
import buttons from '@/components/Buttons' </el-dialog>
import InspItem from './components/insp_item' </div>
export default { </template>
name: 'SafeIdsp',
components: { <script>
buttons, import api from './api'
InspItem import buttons from '@/components/Buttons'
}, import Search from '@/components/Search'
data() { import InspItem from './components/insp_item'
return { export default {
loading: false, name: 'SafeIdsp',
data: [], components: {
deptTree: [], buttons,
ids: [], Search,
levels: [], InspItem
pager: { },
pageNo: 0, data() {
pageSize: 10, return {
total: 0 loading: false,
}, data: [],
tableHeader: [ deptTree: [],
{ ids: [],
prop: 'selection', levels: [],
type: 'selection', pager: {
fixed: 'left' pageNo: 0,
}, { pageSize: 10,
prop: 'insp_name__insp_name', total: 0
label: '巡检表名称' },
}, { tableHeader: [
prop: 'opration', {
label: '操作', prop: 'selection',
width: '100px', type: 'selection',
fixed: 'right', fixed: 'left'
minWidth: '100px', }, {
show: true prop: 'insp_name__insp_name',
}], label: '巡检表名称'
value: '', }, {
id: '', prop: 'opration',
form: { }, label: '操作',
initForm: { width: '100px',
insp_name__insp_name: '', fixed: 'right',
insp_name__insp_name_id: '' minWidth: '100px',
}, show: true
rules: { }],
insp_name__insp_name: [ value: '',
{ required: true, message: '请输入部门编码', trigger: 'blur' } id: '',
] form: { },
}, initForm: {
dialogFormVisible: false, insp_name__insp_name: '',
dialogEditVisible: false, insp_name__insp_name_id: ''
formLabelWidth: '120px', },
auditForm: {}, rules: {
saveFrom: {}, insp_name__insp_name: [
treeList: [], { required: true, message: '请输入部门编码', trigger: 'blur' }
whereSql: false, ]
whereValue: '', },
title: '' dialogFormVisible: false,
} dialogEditVisible: false,
}, formLabelWidth: '120px',
created() { auditForm: {},
this.getList() saveFrom: {},
}, treeList: [],
mounted() { whereSql: false,
}, whereValue: '',
methods: { title: ''
getList() { }
this.loading = true },
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize created() {
if (pageNo < 0) { this.getList()
pageNo = 0 },
} mounted() {
api.getDate( },
this.pager.pageSize, methods: {
pageNo, getList() {
this.whereSql, this.loading = true
this.whereValue let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
).then(data => { if (pageNo < 0) {
if (data.success) { pageNo = 0
this.data = data.data.root }
this.pager.total = data.data.total api.getDate(
setTimeout(() => { this.pager.pageSize,
this.loading = false pageNo,
}, 200) this.whereSql
} else { ).then(data => {
this.$message.error(data.message) if (data.success) {
} this.data = data.data.root
}) this.pager.total = data.data.total
}, setTimeout(() => {
editCreate() { this.loading = false
this.title = '新增' }, 200)
this.dialogFormVisible = true } else {
this.form = JSON.parse(JSON.stringify(this.initForm)) this.$message.error(data.message)
}, }
create() { })
this.$refs['form'].validate((valid) => { },
if (valid) { search(sql) {
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` this.whereSql = sql
api.Crerte(data).then(data => { this.getList()
if (data.success) { },
this.getList() editCreate() {
this.dialogFormVisible = false this.title = '新增'
this.$refs['form'].resetFields() this.dialogFormVisible = true
this.$message.success('保存成功!') this.form = JSON.parse(JSON.stringify(this.initForm))
} else { },
this.$message.error(data.message) 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) {
edit(row) { this.getList()
this.title = '编辑' this.dialogFormVisible = false
this.dialogFormVisible = true this.$refs['form'].resetFields()
this.form = JSON.parse(JSON.stringify(row)) this.$message.success('保存成功!')
}, } else {
Delete(row) { this.$message.error(data.message)
this.ids = [] }
this.ids.push(row.insp_name__insp_name_id) })
this.editDelete() }
}, })
editDelete() { },
if (this.ids && this.ids.length > 0) { edit(row) {
this.$confirm('确认删除?').then(() => { this.title = '编辑'
api.Delete(this.ids).then(data => { this.dialogFormVisible = true
if (data.success) { this.form = JSON.parse(JSON.stringify(row))
this.getList() },
this.$message.success('删除成功!') Delete(row) {
} else { this.ids = []
this.$message.error(data.message) this.ids.push(row.insp_name__insp_name_id)
} this.editDelete()
}) },
}).catch(() => {}) editDelete() {
} else { if (this.ids && this.ids.length > 0) {
this.$message.warning('请选择数据进行删除') this.$confirm('确认删除?').then(() => {
} api.Delete(this.ids).then(data => {
}, if (data.success) {
editSave() { this.getList()
console.log('editSave') this.$message.success('删除成功!')
}, } else {
upload() { this.$message.error(data.message)
console.log('upload') }
}, })
auditFormChange(form) { }).catch(() => {})
this.form = form } else {
}, this.$message.warning('请选择数据进行删除')
cellDblclick(row) { }
this.title = '编辑' },
this.dialogFormVisible = true editSave() {
this.form = JSON.parse(JSON.stringify(row)) console.log('editSave')
}, },
sizeChange(size) { upload() {
this.pager.pageSize = size console.log('upload')
this.getList() },
}, auditFormChange(form) {
pageChange(page) { this.form = form
this.pager.pageNo = page },
this.getList() cellDblclick(row) {
}, this.title = '编辑'
handleSelectionChange(val) { this.dialogFormVisible = true
this.ids = val.map(d => d.insp_name__insp_name_id) this.form = JSON.parse(JSON.stringify(row))
}, },
rowClick(row) { sizeChange(size) {
this.id = row.insp_name__insp_name_id this.pager.pageSize = size
this.$refs.inspItem.getList(this.id) this.getList()
}, },
closeDialog() { pageChange(page) {
this.dialogFormVisible = false this.pager.pageNo = page
this.$refs['form'].resetFields() this.getList()
this.form.dept_name = '' },
this.form.dept_code = '' handleSelectionChange(val) {
}, this.ids = val.map(d => d.insp_name__insp_name_id)
handleNodeClick(data) { },
console.log(data) rowClick(row) {
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`) this.id = row.insp_name__insp_name_id
this.whereSql = true this.$refs.inspItem.getList(this.id)
this.getList() },
} closeDialog() {
} this.dialogFormVisible = false
} this.$refs['form'].resetFields()
</script> this.form.dept_name = ''
<style lang="scss" scoped> this.form.dept_code = ''
.el-card { },
margin-top: 10px; handleNodeClick(data) {
} this.getList()
.pagination{ }
overflow: auto; }
} }
</style> </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>

View File

@ -4,17 +4,11 @@ import store from '@/store/modules/user'
var roles = store.state.roles.replace(/;/g, '') var roles = store.state.roles.replace(/;/g, '')
export default { export default {
getDate(pageSize, pageNo, isWhereSql, whereValue) { getDate(pageSize, pageNo, whereSql) {
let whereSql = ''
let whereType = ''
if (isWhereSql) {
whereSql = `dept_id like ?`
whereType = 'string'
}
return request({ return request({
url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=safe_insp&user_id=${roles}`, url: `commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=safe_insp&user_id=${roles}`,
method: 'post', 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) }).then(response => response.data)
}, },
getDeptTree() { getDeptTree() {

View File

@ -1,296 +1,307 @@
<template> <template>
<div> <div>
<el-card> <el-card>
<buttons funid="safe_insp" style="margin-bottom:20px" @save="save" /> <div class="buttons">
<el-form ref="form" :model="form" label-width="80px" :rules="rules"> <buttons funid="safe_insp" style="margin-bottom:20px" @save="save" />
<el-row> <el-button type="primary" @click="back">返回列表</el-button>
<el-col :span="7"> </div>
<el-form-item label="巡检单编号"> <el-form ref="form" :model="form" label-width="80px" :rules="rules">
<el-input v-model="form.safe_insp__insp_code" /> <el-row>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="巡检单编号">
<el-col :span="7"> <el-input v-model="form.safe_insp__insp_code" />
<el-form-item label="巡检状态"> </el-form-item>
<el-select v-model="form.safe_insp__insp_state" placeholder="请选择"> </el-col>
<el-option <el-col :span="7">
v-for="item in options" <el-form-item label="巡检状态">
:key="item.funall_control__value_data" <el-select v-model="form.safe_insp__insp_state" placeholder="请选择">
:label="item.funall_control__display_data" <el-option
:value="item.funall_control__value_data" v-for="item in options"
/> :key="item.funall_control__value_data"
</el-select> :label="item.funall_control__display_data"
</el-form-item> :value="item.funall_control__value_data"
</el-col> />
<el-col :span="7"> </el-select>
<el-form-item ref="safe_insp__insp_name" label="巡检名称" prop="safe_insp__insp_name"> </el-form-item>
<el-input v-model="form.safe_insp__insp_name" placeholder="请选择巡检名称" class="input-with-select" clearable> </el-col>
<el-button slot="append" icon="el-icon-search" @click="inspNameVisible = !inspNameVisible" /> <el-col :span="7">
</el-input> <el-form-item ref="safe_insp__insp_name" label="巡检名称" prop="safe_insp__insp_name">
</el-form-item> <el-input v-model="form.safe_insp__insp_name" placeholder="请选择巡检名称" class="input-with-select" clearable>
</el-col> <el-button slot="append" icon="el-icon-search" @click="inspNameVisible = !inspNameVisible" />
</el-row> </el-input>
<el-row> </el-form-item>
<el-col :span="7"> </el-col>
<el-form-item label="巡检日期" prop="safe_insp__insp_date"> </el-row>
<el-date-picker <el-row>
v-model="form.safe_insp__insp_date" <el-col :span="7">
type="date" <el-form-item label="巡检日期" prop="safe_insp__insp_date">
placeholder="选择日期" <el-date-picker
style="width: 100%;" v-model="form.safe_insp__insp_date"
format="yyyy-MM-dd" type="date"
value-format="yyyy-MM-dd" placeholder="选择日期"
/> style="width: 100%;"
</el-form-item> format="yyyy-MM-dd"
</el-col> value-format="yyyy-MM-dd"
<el-col :span="7"> />
<el-form-item ref="safe_insp__insp_man" label="巡检人员" prop="safe_insp__insp_man"> </el-form-item>
<el-input v-model="form.safe_insp__insp_man" placeholder="请选择巡检人员" class="input-with-select" clearable> </el-col>
<el-button slot="append" icon="el-icon-search" @click="selUserVisible = !selUserVisible" /> <el-col :span="7">
</el-input> <el-form-item ref="safe_insp__insp_man" label="巡检人员" prop="safe_insp__insp_man">
</el-form-item> <el-input v-model="form.safe_insp__insp_man" placeholder="请选择巡检人员" class="input-with-select" clearable>
</el-col> <el-button slot="append" icon="el-icon-search" @click="selUserVisible = !selUserVisible" />
<el-col :span="7"> </el-input>
<el-form-item label="备注"> </el-form-item>
<el-input v-model="form.safe_insp__insp_memo" /> </el-col>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="备注">
</el-row> <el-input v-model="form.safe_insp__insp_memo" />
<el-row> </el-form-item>
<el-col :span="7"> </el-col>
<el-form-item ref="safe_insp__insp_times" label="巡检频率" prop="safe_insp__insp_times"> </el-row>
<el-select v-model="form.safe_insp__insp_times" placeholder="请选择"> <el-row>
<el-option <el-col :span="7">
v-for="item in insptimes" <el-form-item ref="safe_insp__insp_times" label="巡检频率" prop="safe_insp__insp_times">
:key="item.funall_control__value_data" <el-select v-model="form.safe_insp__insp_times" placeholder="请选择">
:label="item.funall_control__display_data" <el-option
:value="item.funall_control__value_data" v-for="item in insptimes"
/> :key="item.funall_control__value_data"
</el-select> :label="item.funall_control__display_data"
</el-form-item> :value="item.funall_control__value_data"
</el-col> />
</el-row> </el-select>
<el-row> </el-form-item>
<el-col :span="7"> </el-col>
<el-form-item label="已巡检数量"> </el-row>
<el-input v-model="form.safe_insp__insp_ed" disabled="disabled" /> <el-row>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="已巡检数量">
<el-col :span="7"> <el-input v-model="form.safe_insp__insp_ed" disabled="disabled" />
<el-form-item label="待巡检数量"> </el-form-item>
<el-input v-model="form.safe_insp__insp_ing" disabled="disabled" /> </el-col>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="待巡检数量">
<el-col :span="7"> <el-input v-model="form.safe_insp__insp_ing" disabled="disabled" />
<el-form-item label="不符合数量"> </el-form-item>
<el-input v-model="form.safe_insp__insp_non" disabled="disabled" /> </el-col>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="不符合数量">
</el-row> <el-input v-model="form.safe_insp__insp_non" disabled="disabled" />
</el-form> </el-form-item>
</el-card> </el-col>
<InspDet v-if="id" :id="id" /> </el-row>
<el-dialog </el-form>
v-if="selUserVisible" </el-card>
title="选择人员" <InspDet v-if="id" :id="id" />
:visible.sync="selUserVisible" <el-dialog
width="60%" v-if="selUserVisible"
> title="选择人员"
<SelUser ref="selUser" @updateUser="updateUser" /> :visible.sync="selUserVisible"
<span> width="60%"
<el-button @click="selUserVisible = false"> </el-button> >
<el-button type="primary" @click="selUser"> </el-button> <SelUser ref="selUser" @updateUser="updateUser" />
</span> <span>
</el-dialog> <el-button @click="selUserVisible = false"> </el-button>
<el-dialog <el-button type="primary" @click="selUser"> </el-button>
v-if="inspNameVisible" </span>
title="选择巡检名称" </el-dialog>
:visible.sync="inspNameVisible" <el-dialog
width="60%" v-if="inspNameVisible"
> title="选择巡检名称"
<InspName @updateInspName="updateInspName" /> :visible.sync="inspNameVisible"
<span> width="60%"
<el-button @click="inspNameVisible = false"> </el-button> >
<el-button type="primary" @click="inspNameVisible = false"> </el-button> <InspName @updateInspName="updateInspName" />
</span> <span>
</el-dialog> <el-button @click="inspNameVisible = false"> </el-button>
</div> <el-button type="primary" @click="inspNameVisible = false"> </el-button>
</template> </span>
</el-dialog>
<script> </div>
import api from '../../api' </template>
import publicApi from '@/api/public'
import buttons from '@/components/formBtn' <script>
import InspDet from '../insp_det' import api from '../../api'
import SelUser from '@/components/selUser' import publicApi from '@/api/public'
import InspName from '../inspName' import buttons from '@/components/formBtn'
export default { import InspDet from '../insp_det'
name: 'AuditForm', import SelUser from '@/components/selUser'
components: { import InspName from '../inspName'
buttons, export default {
SelUser, name: 'AuditForm',
InspDet, components: {
InspName buttons,
}, SelUser,
// props: { InspDet,
// id: { type: String, default: () => '' } InspName
// }, },
data() { // props: {
return { // id: { type: String, default: () => '' }
loading: false, // },
form: { data() {
safe_insp__insp_code: '', return {
safe_insp__insp_name: '', loading: false,
safe_insp__insp_state: '', form: {
safe_insp__insp_date: '', safe_insp__insp_code: '',
safe_insp__insp_man: '', safe_insp__insp_name: '',
safe_insp__insp_times: '', safe_insp__insp_state: '',
safe_insp__insp_memo: '', safe_insp__insp_date: '',
safe_insp__insp_ed: '', safe_insp__insp_man: '',
safe_insp__insp_ing: '', safe_insp__insp_times: '',
safe_insp__insp_non: '', safe_insp__insp_memo: '',
safe_insp__insp_name_id: '', safe_insp__insp_ed: '',
safe_insp__org_id: '', safe_insp__insp_ing: '',
safe_insp__safe_insp_id: '', safe_insp__insp_non: '',
safe_insp__dept_id: '', safe_insp__insp_name_id: '',
safe_insp__insp_man_id: '' safe_insp__org_id: '',
}, safe_insp__safe_insp_id: '',
rules: { safe_insp__dept_id: '',
safe_insp__insp_name: [ safe_insp__insp_man_id: ''
{ required: true, message: '请选择巡检名称', trigger: 'blur' } },
], rules: {
safe_insp__insp_man: [ safe_insp__insp_name: [
{ required: true, message: '请选择巡检人员', trigger: 'blur' } { required: true, message: '请选择巡检名称', trigger: 'blur' }
], ],
safe_insp__insp_date: [ safe_insp__insp_man: [
{ required: true, message: '请选择巡检日期', trigger: 'blur' } { required: true, message: '请选择巡检人员', trigger: 'blur' }
], ],
safe_insp__insp_times: [ safe_insp__insp_date: [
{ required: true, message: '请选择巡检频率', trigger: 'blur' } { required: true, message: '请选择巡检日期', trigger: 'blur' }
] ],
}, safe_insp__insp_times: [
inspName: [], { required: true, message: '请选择巡检频率', trigger: 'blur' }
disabled: false, ]
options: [], },
insptimes: [], inspName: [],
selUserVisible: false, disabled: false,
inspNameVisible: false, options: [],
id: '' insptimes: [],
} selUserVisible: false,
}, inspNameVisible: false,
watch: { id: ''
'form.safe_insp__insp_name': { }
handler(val, oldVal) { },
this.$refs['safe_insp__insp_name'].clearValidate() watch: {
}, 'form.safe_insp__insp_name': {
deep: true handler(val, oldVal) {
}, this.$refs['safe_insp__insp_name'].clearValidate()
'form.safe_insp__insp_man': { },
handler(val, oldVal) { deep: true
this.$refs['safe_insp__insp_man'].clearValidate() },
}, 'form.safe_insp__insp_man': {
deep: true handler(val, oldVal) {
}, this.$refs['safe_insp__insp_man'].clearValidate()
'form.safe_insp__insp_times': { },
handler(val, oldVal) { deep: true
this.$refs['safe_insp__insp_times'].clearValidate() },
}, 'form.safe_insp__insp_times': {
deep: true handler(val, oldVal) {
} this.$refs['safe_insp__insp_times'].clearValidate()
}, },
created() { deep: true
this.getTypeSel() }
this.getInsptimes() },
}, created() {
methods: { this.getTypeSel()
getList() { this.getInsptimes()
this.loading = true },
api.getFormDate().then(data => { methods: {
if (data.success) { getList() {
this.form = data.data.root[0] this.loading = true
setTimeout(() => { api.getFormDate().then(data => {
this.loading = false if (data.success) {
}, 200) this.form = data.data.root[0]
} else { setTimeout(() => {
this.$message.error(data.message) 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 async getTypeSel() {
} else { await publicApi.getTypeSel('inspstate').then(data => {
this.$message.error(data.message) 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 async getInsptimes() {
} else { await publicApi.getTypeSel('insptimes').then(data => {
this.$message.error(data.message) 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 onSubmit() {},
this.selUserVisible = false updateUser(data) {
}, this.form.safe_insp__insp_man = data.sys_user__user_name
selUser() { this.form.safe_insp__insp_man_id = data.sys_user__user_id
this.updateUsers(this.$refs.selUser.Users) this.selUserVisible = false
this.selUserVisible = false },
}, selUser() {
updateUsers(data) { this.updateUsers(this.$refs.selUser.Users)
this.form.safe_insp__insp_man = data.map(d => { return d.sys_user__user_name }).join(';') this.selUserVisible = false
this.form.safe_insp__insp_man_id = data.map(d => { return d.sys_user__user_id }).join(';') },
this.selUserVisible = false updateUsers(data) {
}, this.form.safe_insp__insp_man = data.map(d => { return d.sys_user__user_name }).join(';')
updateInspName(data) { this.form.safe_insp__insp_man_id = data.map(d => { return d.sys_user__user_id }).join(';')
this.form.safe_insp__insp_name = data.insp_name__insp_name this.selUserVisible = false
this.form.safe_insp__insp_name_id = data.insp_name__insp_name_id },
this.inspNameVisible = false updateInspName(data) {
}, this.form.safe_insp__insp_name = data.insp_name__insp_name
save() { this.form.safe_insp__insp_name_id = data.insp_name__insp_name_id
this.$refs.form.validate(valid => { this.inspNameVisible = false
if (valid) { },
api.Crerte(this.form).then(data => { save() {
if (data.success) { this.$refs.form.validate(valid => {
this.$message.success('保存成功!') if (valid) {
const param = `/insp/edit_form/audit/${data.data.keyid}` api.Crerte(this.form).then(data => {
this.$router.push(param) if (data.success) {
} else { this.$message.success('保存成功!')
this.$message.error(data.message) const param = `/insp/edit_form/audit/${data.data.keyid}`
} this.$router.push(param)
}) } else {
} this.$message.error(data.message)
}) }
}, })
back() { }
// this.$router.back(-1) })
} },
} back() {
} this.$store.dispatch('tagsView/delView', this.$route)
</script> this.$router.push('/insp/safe_insp')
}
<style lang="scss" scoped> }
::v-deep .el-dialog__body { }
padding: 10px 20px !important; </script>
}
::v-deep .el-form-item__label { <style lang="scss" scoped>
text-align: right; ::v-deep .el-dialog__body {
/* vertical-align: middle; */ padding: 10px 20px !important;
float: left; }
font-size: 14px; ::v-deep .el-form-item__label {
color: #606266; text-align: right;
line-height: 40px; /* vertical-align: middle; */
padding: 0 6px 0 0; float: left;
-webkit-box-sizing: border-box; font-size: 14px;
box-sizing: border-box; color: #606266;
} line-height: 40px;
.el-col{ padding: 0 6px 0 0;
margin-left: 2%; -webkit-box-sizing: border-box;
} box-sizing: border-box;
</style> }
.el-col{
margin-left: 2%;
}
.buttons {
display: flex;
.el-button--primary {
margin-left: 10px;
height: 26.8px;
}
}
</style>

View File

@ -1,281 +1,292 @@
<template> <template>
<div> <div>
<el-card> <el-card>
<buttons funid="safe_insp" style="margin-bottom:20px" @save="save" /> <div class="buttons">
<el-form ref="form" :model="form" label-width="80px" :rules="rules"> <buttons funid="safe_insp" style="margin-bottom:20px" @save="save" />
<el-row> <el-button type="primary" @click="back">返回列表</el-button>
<el-col :span="7"> </div>
<el-form-item label="巡检单编号"> <el-form ref="form" :model="form" label-width="80px" :rules="rules">
<el-input v-model="form.safe_insp__insp_code" /> <el-row>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="巡检单编号">
<el-col :span="7"> <el-input v-model="form.safe_insp__insp_code" />
<el-form-item label="巡检状态"> </el-form-item>
<el-select v-model="form.safe_insp__insp_state" placeholder="请选择"> </el-col>
<el-option <el-col :span="7">
v-for="item in options" <el-form-item label="巡检状态">
:key="item.funall_control__value_data" <el-select v-model="form.safe_insp__insp_state" placeholder="请选择">
:label="item.funall_control__display_data" <el-option
:value="item.funall_control__value_data" v-for="item in options"
/> :key="item.funall_control__value_data"
</el-select> :label="item.funall_control__display_data"
</el-form-item> :value="item.funall_control__value_data"
</el-col> />
<el-col :span="7"> </el-select>
<el-form-item ref="safe_insp__insp_name" label="巡检名称" prop="safe_insp__insp_name"> </el-form-item>
<el-input v-model="form.safe_insp__insp_name" placeholder="请选择巡检名称" class="input-with-select" clearable> </el-col>
<el-button slot="append" icon="el-icon-search" @click="inspNameVisible = !inspNameVisible" /> <el-col :span="7">
</el-input> <el-form-item ref="safe_insp__insp_name" label="巡检名称" prop="safe_insp__insp_name">
</el-form-item> <el-input v-model="form.safe_insp__insp_name" placeholder="请选择巡检名称" class="input-with-select" clearable>
</el-col> <el-button slot="append" icon="el-icon-search" @click="inspNameVisible = !inspNameVisible" />
</el-row> </el-input>
<el-row> </el-form-item>
<el-col :span="7"> </el-col>
<el-form-item label="巡检日期" prop="safe_insp__insp_date"> </el-row>
<el-date-picker <el-row>
v-model="form.safe_insp__insp_date" <el-col :span="7">
type="date" <el-form-item label="巡检日期" prop="safe_insp__insp_date">
placeholder="选择日期" <el-date-picker
style="width: 100%;" v-model="form.safe_insp__insp_date"
format="yyyy-MM-dd" type="date"
value-format="yyyy-MM-dd" placeholder="选择日期"
/> style="width: 100%;"
</el-form-item> format="yyyy-MM-dd"
</el-col> value-format="yyyy-MM-dd"
<el-col :span="7"> />
<el-form-item ref="safe_insp__insp_man" label="巡检人员" prop="safe_insp__insp_man"> </el-form-item>
<el-input v-model="form.safe_insp__insp_man" placeholder="请选择巡检人员" class="input-with-select" clearable> </el-col>
<el-button slot="append" icon="el-icon-search" @click="selUserVisible = !selUserVisible" /> <el-col :span="7">
</el-input> <el-form-item ref="safe_insp__insp_man" label="巡检人员" prop="safe_insp__insp_man">
</el-form-item> <el-input v-model="form.safe_insp__insp_man" placeholder="请选择巡检人员" class="input-with-select" clearable>
</el-col> <el-button slot="append" icon="el-icon-search" @click="selUserVisible = !selUserVisible" />
<el-col :span="7"> </el-input>
<el-form-item label="备注"> </el-form-item>
<el-input v-model="form.safe_insp__insp_memo" /> </el-col>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="备注">
</el-row> <el-input v-model="form.safe_insp__insp_memo" />
<el-row> </el-form-item>
<el-col :span="7"> </el-col>
<el-form-item ref="safe_insp__insp_times" label="巡检频率" prop="safe_insp__insp_times"> </el-row>
<el-select v-model="form.safe_insp__insp_times" placeholder="请选择"> <el-row>
<el-option <el-col :span="7">
v-for="item in insptimes" <el-form-item ref="safe_insp__insp_times" label="巡检频率" prop="safe_insp__insp_times">
:key="item.funall_control__value_data" <el-select v-model="form.safe_insp__insp_times" placeholder="请选择">
:label="item.funall_control__display_data" <el-option
:value="item.funall_control__value_data" v-for="item in insptimes"
/> :key="item.funall_control__value_data"
</el-select> :label="item.funall_control__display_data"
</el-form-item> :value="item.funall_control__value_data"
</el-col> />
</el-row> </el-select>
<el-row> </el-form-item>
<el-col :span="7"> </el-col>
<el-form-item label="已巡检数量"> </el-row>
<el-input v-model="form.safe_insp__insp_ed" disabled="disabled" /> <el-row>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="已巡检数量">
<el-col :span="7"> <el-input v-model="form.safe_insp__insp_ed" disabled="disabled" />
<el-form-item label="待巡检数量"> </el-form-item>
<el-input v-model="form.safe_insp__insp_ing" disabled="disabled" /> </el-col>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="待巡检数量">
<el-col :span="7"> <el-input v-model="form.safe_insp__insp_ing" disabled="disabled" />
<el-form-item label="不符合数量"> </el-form-item>
<el-input v-model="form.safe_insp__insp_non" disabled="disabled" /> </el-col>
</el-form-item> <el-col :span="7">
</el-col> <el-form-item label="不符合数量">
</el-row> <el-input v-model="form.safe_insp__insp_non" disabled="disabled" />
</el-form> </el-form-item>
</el-card> </el-col>
<InspDet :id="id" /> </el-row>
<el-dialog </el-form>
v-if="selUserVisible" </el-card>
title="选择人员" <InspDet :id="id" />
:visible.sync="selUserVisible" <el-dialog
width="60%" v-if="selUserVisible"
> title="选择人员"
<SelUser @updateUsers="updateUsers" @updateUser="updateUser" /> :visible.sync="selUserVisible"
<span> width="60%"
<el-button @click="selUserVisible = false"> </el-button> >
<el-button type="primary" @click="selUserVisible = false"> </el-button> <SelUser @updateUsers="updateUsers" @updateUser="updateUser" />
</span> <span>
</el-dialog> <el-button @click="selUserVisible = false"> </el-button>
<el-dialog <el-button type="primary" @click="selUserVisible = false"> </el-button>
v-if="inspNameVisible" </span>
title="选择巡检名称" </el-dialog>
:visible.sync="inspNameVisible" <el-dialog
width="60%" v-if="inspNameVisible"
> title="选择巡检名称"
<InspName @updateInspName="updateInspName" /> :visible.sync="inspNameVisible"
<span> width="60%"
<el-button @click="inspNameVisible = false"> </el-button> >
<el-button type="primary" @click="inspNameVisible = false"> </el-button> <InspName @updateInspName="updateInspName" />
</span> <span>
</el-dialog> <el-button @click="inspNameVisible = false"> </el-button>
</div> <el-button type="primary" @click="inspNameVisible = false"> </el-button>
</template> </span>
</el-dialog>
<script> </div>
import api from '../../api' </template>
import publicApi from '@/api/public'
import buttons from '@/components/formBtn' <script>
import InspDet from '../insp_det' import api from '../../api'
import SelUser from '@/components/selUser' import publicApi from '@/api/public'
import InspName from '../inspName' import buttons from '@/components/formBtn'
export default { import InspDet from '../insp_det'
name: 'EditForm', import SelUser from '@/components/selUser'
components: { import InspName from '../inspName'
buttons, export default {
SelUser, name: 'EditForm',
InspDet, components: {
InspName buttons,
}, SelUser,
// props: { InspDet,
// id: { type: String, default: () => '' } InspName
// }, },
data() { // props: {
return { // id: { type: String, default: () => '' }
loading: false, // },
form: { data() {
safe_insp__insp_code: '', return {
safe_insp__insp_name: '', loading: false,
safe_insp__insp_state: '', form: {
safe_insp__insp_date: '', safe_insp__insp_code: '',
safe_insp__insp_man: '', safe_insp__insp_name: '',
safe_insp__insp_times: '', safe_insp__insp_state: '',
safe_insp__insp_memo: '', safe_insp__insp_date: '',
safe_insp__insp_ed: '', safe_insp__insp_man: '',
safe_insp__insp_ing: '', safe_insp__insp_times: '',
safe_insp__insp_non: '', safe_insp__insp_memo: '',
safe_insp__safe_insp_id: '' safe_insp__insp_ed: '',
}, safe_insp__insp_ing: '',
rules: { safe_insp__insp_non: '',
safe_insp__insp_name: [ safe_insp__safe_insp_id: ''
{ required: true, message: '请选择巡检名称', trigger: 'blur' } },
], rules: {
safe_insp__insp_man: [ safe_insp__insp_name: [
{ required: true, message: '请选择巡检人员', trigger: 'blur' } { required: true, message: '请选择巡检名称', trigger: 'blur' }
], ],
safe_insp__insp_date: [ safe_insp__insp_man: [
{ required: true, message: '请选择巡检日期', trigger: 'blur' } { required: true, message: '请选择巡检人员', trigger: 'blur' }
], ],
safe_insp__insp_times: [ safe_insp__insp_date: [
{ required: true, message: '请选择巡检频率', trigger: 'blur' } { required: true, message: '请选择巡检日期', trigger: 'blur' }
] ],
}, safe_insp__insp_times: [
id: this.$route.params.id, { required: true, message: '请选择巡检频率', trigger: 'blur' }
disabled: false, ]
options: [], },
insptimes: [], id: this.$route.params.id,
selUserVisible: false, disabled: false,
inspNameVisible: false options: [],
} insptimes: [],
}, selUserVisible: false,
watch: { inspNameVisible: false
'form.safe_insp__insp_name': { }
handler(val, oldVal) { },
this.$refs['safe_insp__insp_name'].clearValidate() watch: {
}, 'form.safe_insp__insp_name': {
deep: true handler(val, oldVal) {
}, this.$refs['safe_insp__insp_name'].clearValidate()
'form.safe_insp__insp_man': { },
handler(val, oldVal) { deep: true
this.$refs['safe_insp__insp_man'].clearValidate() },
}, 'form.safe_insp__insp_man': {
deep: true handler(val, oldVal) {
}, this.$refs['safe_insp__insp_man'].clearValidate()
'form.safe_insp__insp_times': { },
handler(val, oldVal) { deep: true
this.$refs['safe_insp__insp_times'].clearValidate() },
}, 'form.safe_insp__insp_times': {
deep: true handler(val, oldVal) {
} this.$refs['safe_insp__insp_times'].clearValidate()
}, },
created() { deep: true
console.log(this.id) }
this.getList() },
this.getTypeSel() created() {
}, console.log(this.id)
methods: { this.getList()
getList() { this.getTypeSel()
this.loading = true },
api.getFormDate(this.id).then(data => { methods: {
if (data.success) { getList() {
this.form = data.data.root[0] this.loading = true
setTimeout(() => { api.getFormDate(this.id).then(data => {
this.loading = false if (data.success) {
}, 200) this.form = data.data.root[0]
} else { setTimeout(() => {
this.$message.error(data.message) 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 async getTypeSel() {
} else { await publicApi.getTypeSel('insptimes').then(data => {
this.$message.error(data.message) 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 async getInsptimes() {
} else { await publicApi.getTypeSel('insptimes').then(data => {
this.$message.error(data.message) 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 onSubmit() {},
this.selUserVisible = false updateUser(data) {
}, this.form.safe_insp__insp_man = data.sys_user__user_name
updateUsers(data) { this.form.safe_insp__insp_man_id = data.sys_user__user_id
this.form.safe_insp__insp_man = data.map(d => { return d.sys_user__user_name }).join(';') this.selUserVisible = false
this.form.safe_insp__insp_man_id = data.map(d => { return d.sys_user__user_id }).join(';') },
}, updateUsers(data) {
save() { this.form.safe_insp__insp_man = data.map(d => { return d.sys_user__user_name }).join(';')
api.Save(this.form).then(data => { this.form.safe_insp__insp_man_id = data.map(d => { return d.sys_user__user_id }).join(';')
if (data.success) { },
this.$message.success('保存成功!') save() {
} else { api.Save(this.form).then(data => {
this.$message.error(data.message) 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 updateInspName(data) {
}, this.form.safe_insp__insp_name = data.insp_name__insp_name
back() { this.form.safe_insp__insp_name_id = data.insp_name__insp_name_id
// this.$router.back(-1) this.inspNameVisible = false
} },
} back() {
} this.$store.dispatch('tagsView/delView', this.$route)
</script> this.$router.push('/insp/safe_insp')
}
<style lang="scss" scoped> }
::v-deep .el-dialog__body { }
padding: 10px 20px !important; </script>
}
::v-deep .el-form-item__label { <style lang="scss" scoped>
text-align: right; ::v-deep .el-dialog__body {
/* vertical-align: middle; */ padding: 10px 20px !important;
float: left; }
font-size: 14px; ::v-deep .el-form-item__label {
color: #606266; text-align: right;
line-height: 40px; /* vertical-align: middle; */
padding: 0 6px 0 0; float: left;
-webkit-box-sizing: border-box; font-size: 14px;
box-sizing: border-box; color: #606266;
} line-height: 40px;
.el-col{ padding: 0 6px 0 0;
margin-left: 2%; -webkit-box-sizing: border-box;
} box-sizing: border-box;
</style> }
.el-col{
margin-left: 2%;
}
.buttons {
display: flex;
.el-button--primary {
margin-left: 10px;
height: 26.8px;
}
}
</style>

View File

@ -1,63 +1,57 @@
import request from '@/utils/request' import request from '@/utils/request'
export default { export default {
getDate(id, pageSize, pageNo, isWhereSql, whereValue) { getDate(id, pageSize, pageNo, whereSql) {
let whereSql = '' return request({
let whereType = '' url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=subeditgrid&query_funid=insp_det&user_id=administrator`,
if (isWhereSql) { method: 'post',
whereSql = `dept_id like ?` data: `start=${pageNo}&limit=${pageSize}&${whereSql}&is_query=1&query_type=0`
whereType = 'string' }).then(response => response.data)
} },
return request({ getDeptTree() {
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=subeditgrid&query_funid=insp_det&user_id=administrator`, return request({
method: 'post', url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=editgrid&query_funid=sys_dept&user_id=administrator`,
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` method: 'post',
}).then(response => response.data) data: `start=0&limit=10000&where_sql=&where_value=&where_type=&is_query=1&query_type=0`
}, }).then(response => response.data)
getDeptTree() { },
return request({ Crerte(data) {
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=editgrid&query_funid=sys_dept&user_id=administrator`, return request({
method: 'post', url: `/commonAction.do`,
data: `start=0&limit=10000&where_sql=&where_value=&where_type=&is_query=1&query_type=0` method: 'post',
}).then(response => response.data) data: `${data}`
}, }).then(response => response.data)
Crerte(data) { },
return request({ auditSave(data) {
url: `/commonAction.do`, return request({
method: 'post', url: `/commonAction.do`,
data: `${data}` method: 'post',
}).then(response => response.data) data: `${data}`
}, }).then(response => response.data)
auditSave(data) { },
return request({ Delete(ids) {
url: `/commonAction.do`, let keys = ''
method: 'post', ids.forEach(d => {
data: `${data}` keys += 'keyid=' + d + '&'
}).then(response => response.data) })
}, return request({
Delete(ids) { url: `/commonAction.do`,
let keys = '' method: 'post',
ids.forEach(d => { data: `funid=insp_det&${keys}pagetype=editgrid&eventcode=delete_eg&user_id=administrator&dataType=json`
keys += 'keyid=' + d + '&' }).then(response => response.data)
}) },
return request({ getFormDate(id) {
url: `/commonAction.do`, return request({
method: 'post', url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=safe_insp&user_id=administrator`,
data: `funid=insp_det&${keys}pagetype=editgrid&eventcode=delete_eg&user_id=administrator&dataType=json` method: 'post',
}).then(response => response.data) 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)
getFormDate(id) { },
return request({ Save(data) {
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=grid&query_funid=safe_insp&user_id=administrator`, return request({
method: 'post', url: `/commonAction.do`,
data: `start=0&limit=10&where_sql=safe_insp.safe_insp_id = ?&where_value=${id}&where_type=string&is_query=1&query_type=0` method: 'post',
}).then(response => response.data) 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)
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)
}
}

View File

@ -1,303 +1,333 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-card> <el-card>
<buttons funid="safe_insp" style="margin-bottom:10px" @Create="editCreate" @Del="editDelete" /> <div class="head">
<el-table <div>
ref="deptTable" <buttons funid="insp_det" style="margin-bottom:10px" @Create="editCreate" @Del="editDelete" @upload="upload" />
v-loading="loading" </div>
:data="data" <Search funid="insp_det" @search="search" />
style="width: 100%" </div>
@selection-change="handleSelectionChange" <el-table
@cell-dblclick="cellDblclick" ref="deptTable"
> v-loading="loading"
<template v-for="(d,i) in tableHeader"> :data="data"
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" /> style="width: 100%"
<el-table-column @selection-change="handleSelectionChange"
v-else @cell-dblclick="cellDblclick"
:key="i" >
:prop="d.prop" <template v-for="(d,i) in tableHeader">
:label="d.label" <el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
> <el-table-column
<template slot-scope="scope"> v-else
<div v-if="d.label==='巡检结果'"> :key="i"
{{ :prop="d.prop"
scope.row.insp_det__det_result === '1' ? '符合' : scope.row.insp_det__det_result === '0' ? '不符合' : null :label="d.label"
}} >
</div> <template slot-scope="scope">
<div v-else-if="d.label==='是否已整改'"> <div v-if="d.label==='巡检结果'">
{{ {{
scope.row.insp_det__reform_flag === '1' ? '已整改' : scope.row.insp_det__reform_flag === '0' ? '未整改' : null scope.row.insp_det__det_result === '1' ? '符合' : scope.row.insp_det__det_result === '0' ? '不符合' : null
}} }}
</div> </div>
<div v-else-if="d.label === '操作'"> <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)" /> scope.row.insp_det__reform_flag === '1' ? '已整改' : scope.row.insp_det__reform_flag === '0' ? '未整改' : null
</div> }}
<div v-else>{{ scope.row[d.prop] }}</div> </div>
</template> <div v-else-if="d.label === '操作'">
</el-table-column> <el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
</template> <!-- <el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" /> -->
</el-table> </div>
<el-pagination <div v-else>{{ scope.row[d.prop] }}</div>
:current-page="pager.pageNo" </template>
:page-sizes="[10, 30, 50, 100, 500]" </el-table-column>
:page-size="pager.pageSize" </template>
:total="pager.total" </el-table>
layout="total, sizes, prev, pager, next, jumper" <el-pagination
@size-change="sizeChange" :current-page="pager.pageNo"
@current-change="pageChange" :page-sizes="[10, 30, 50, 100, 500]"
/> :page-size="pager.pageSize"
</el-card> :total="pager.total"
layout="total, sizes, prev, pager, next, jumper"
<el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog"> @size-change="sizeChange"
<el-form ref="form" :model="form" :rules="rules"> @current-change="pageChange"
<el-form-item label="巡检结果" :label-width="formLabelWidth" prop="insp_det__det_result"> />
<el-select v-model="form.insp_det__det_result" placeholder="请选择"> </el-card>
<el-option
v-for="item in inspresult" <el-dialog v-if="dialogFormVisible" :title="title" :visible.sync="dialogFormVisible" @close="closeDialog">
:key="item.funall_control__value_data" <el-form ref="form" :model="form" :rules="rules">
:label="item.funall_control__display_data" <el-form-item label="巡检结果" :label-width="formLabelWidth" prop="insp_det__det_result">
:value="item.funall_control__value_data" <el-select v-model="form.insp_det__det_result" placeholder="请选择">
/> <el-option
</el-select> v-for="item in inspresult"
</el-form-item> :key="item.funall_control__value_data"
<el-form-item label="不符合描述" :label-width="formLabelWidth" prop="det_desc"> :label="item.funall_control__display_data"
<el-input v-model="form.insp_det__det_desc" type="textarea" /> :value="item.funall_control__value_data"
</el-form-item> />
</el-form> </el-select>
<div slot="footer" class="dialog-footer"> </el-form-item>
<el-button @click="dialogFormVisible = false"> </el-button> <el-form-item label="不符合描述" :label-width="formLabelWidth" prop="det_desc">
<el-button type="primary" @click="create"> </el-button> <el-input v-model="form.insp_det__det_desc" type="textarea" />
</div> </el-form-item>
</el-dialog> </el-form>
</div> <div slot="footer" class="dialog-footer">
</template> <el-button @click="dialogFormVisible = false"> </el-button>
<el-button type="primary" @click="create"> </el-button>
<script> </div>
import api from './api' </el-dialog>
import publicApi from '@/api/public' <el-dialog v-if="dialogUploadVisible" title="附件" :visible.sync="dialogUploadVisible" width="45%" @close="closeUploadDialog">
import buttons from '@/components/Buttons' <Attach ref="attach" :data-id="ids" table-name="insp_det" fun-id="insp_det" @change="auditFormChange" />
export default { <div slot="footer" class="dialog-footer">
name: 'SafeIdsp', <!-- <el-button @click="dialogUploadVisible = false"> </el-button> -->
components: { <el-button type="primary" @click="dialogUploadVisible = false">返回</el-button>
buttons </div>
}, </el-dialog>
props: { </div>
id: { </template>
type: String,
default: null <script>
} import api from './api'
}, import publicApi from '@/api/public'
data() { import buttons from '@/components/Buttons'
return { import Search from '@/components/Search'
loading: false, import Attach from '@/components/sys_attach'
data: [], export default {
deptTree: [], name: 'SafeIdsp',
ids: [], components: {
levels: [], buttons,
pager: { Search,
pageNo: 0, Attach
pageSize: 10, },
total: 0 props: {
}, id: {
tableHeader: [ type: String,
{ default: null
prop: 'selection', }
type: 'selection', },
fixed: 'left' data() {
}, { return {
prop: 'insp_det__det_name', loading: false,
label: '巡检项目' data: [],
}, { deptTree: [],
prop: 'insp_det__det_std', ids: [],
label: '巡检标准' levels: [],
}, pager: {
{ pageNo: 0,
prop: 'insp_det__det_way', pageSize: 10,
label: '巡检方法' total: 0
}, { },
prop: 'insp_det__det_result', tableHeader: [
label: '巡检结果' {
}, prop: 'selection',
{ type: 'selection',
prop: 'insp_det__det_desc', fixed: 'left'
label: '不符合描述' }, {
}, prop: 'insp_det__det_name',
{ label: '巡检项目'
prop: 'insp_det__reform_flag', }, {
label: '是否已整改' prop: 'insp_det__det_std',
}, label: '巡检标准'
{ },
prop: 'opration', {
label: '操作', prop: 'insp_det__det_way',
width: '70px', label: '巡检方法'
fixed: 'right', }, {
minWidth: '70px', prop: 'insp_det__det_result',
show: true label: '巡检结果'
}], },
value: '', {
dept_id: '', prop: 'insp_det__det_desc',
level: '', label: '不符合描述'
parent_id: '', },
initFrom: { {
det_desc: '', prop: 'insp_det__reform_flag',
insp_det__det_desc: '', label: '是否已整改'
insp_det__det_name: '', },
insp_det__det_name_id: '', {
insp_det__det_result: '', prop: 'opration',
insp_det__det_std: '', label: '操作',
insp_det__det_way: '', width: '70px',
insp_det__insp_det_id: '', fixed: 'right',
insp_det__reform_flag: '', minWidth: '70px',
insp_det__safe_insp_id: '' show: true
}, }],
form: {}, value: '',
rules: { dept_id: '',
insp_det__det_result: [ level: '',
{ required: true, message: '请选择巡检结果', trigger: 'blur' } parent_id: '',
] initFrom: {
}, det_desc: '',
dialogFormVisible: false, insp_det__det_desc: '',
dialogEditVisible: false, insp_det__det_name: '',
formLabelWidth: '120px', insp_det__det_name_id: '',
auditForm: {}, insp_det__det_result: '',
saveFrom: {}, insp_det__det_std: '',
treeData: [], insp_det__det_way: '',
defaultProps: { insp_det__insp_det_id: '',
children: 'children', insp_det__reform_flag: '',
label: 'sys_dept__dept_name' insp_det__safe_insp_id: ''
}, },
treeList: [], form: {},
whereSql: false, rules: {
whereValue: '' insp_det__det_result: [
} { required: true, message: '请选择巡检结果', trigger: 'blur' }
}, ]
created() { },
this.getList() dialogFormVisible: false,
this.getTypeSel() dialogEditVisible: false,
}, formLabelWidth: '120px',
mounted() { auditForm: {},
}, saveFrom: {},
methods: { treeData: [],
getList() { defaultProps: {
this.loading = true children: 'children',
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize label: 'sys_dept__dept_name'
if (pageNo < 0) { },
pageNo = 0 treeList: [],
} whereSql: false,
api.getDate( whereValue: '',
this.id, dialogUploadVisible: false
this.pager.pageSize, }
pageNo, },
this.whereSql, created() {
this.whereValue this.getList()
).then(data => { this.getTypeSel()
if (data.success) { },
this.data = data.data.root mounted() {
this.pager.total = data.data.total },
setTimeout(() => { methods: {
this.loading = false getList() {
}, 200) this.loading = true
} else { let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
this.$message.error(data.message) if (pageNo < 0) {
} pageNo = 0
}) }
}, api.getDate(
editCreate() { this.id,
this.title = '新增' this.pager.pageSize,
this.form = JSON.parse(JSON.stringify(this.initFrom)) pageNo,
this.dialogFormVisible = true this.whereSql
}, ).then(data => {
edit(row) { if (data.success) {
console.log(row, 'row') this.data = data.data.root
this.title = '编辑' this.pager.total = data.data.total
this.form = row setTimeout(() => {
this.dialogFormVisible = true this.loading = false
}, }, 200)
create() { } else {
this.$refs['form'].validate((valid) => { this.$message.error(data.message)
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) { search(sql) {
this.getList() this.whereSql = sql
this.dialogFormVisible = false this.getList()
this.$refs['form'].resetFields() },
this.$message.success('保存成功!') upload() {
} else { if (this.ids.length > 1) {
this.$message.error(data.message) this.$message.warning('只能选择一条数据!')
} } else if (this.ids.length === 0) {
}) this.$message.warning('请选择一条数据!')
} } else {
}) this.dialogUploadVisible = true
}, }
Delete(row) { },
this.ids = [] closeUploadDialog() {
this.ids.push(row.insp_det__insp_det_id) this.dialogUploadVisible = false
this.editDelete() },
}, editCreate() {
editDelete() { this.title = '新增'
if (this.ids && this.ids.length > 0) { this.form = JSON.parse(JSON.stringify(this.initFrom))
this.$confirm('确认删除?').then(() => { this.dialogFormVisible = true
api.Delete(this.ids).then(data => { },
if (data.success) { edit(row) {
this.getList() console.log(row, 'row')
this.$message.success('删除成功!') this.title = '编辑'
} else { this.form = row
this.$message.error(data.message) this.dialogFormVisible = true
} },
}) create() {
}).catch(() => {}) this.$refs['form'].validate((valid) => {
} else { if (valid) {
this.$message.warning('请选择数据进行删除') 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) {
auditFormChange(form) { this.getList()
this.saveFrom = form this.dialogFormVisible = false
}, this.$refs['form'].resetFields()
cellDblclick(row) { this.$message.success('保存成功!')
this.title = '编辑' } else {
this.form = JSON.parse(JSON.stringify(row)) this.$message.error(data.message)
this.dialogFormVisible = true }
}, })
sizeChange(size) { }
this.pager.pageSize = size })
this.getList() },
}, Delete(row) {
pageChange(page) { this.ids = []
this.pager.pageNo = page this.ids.push(row.insp_det__insp_det_id)
this.getList() this.editDelete()
}, },
handleSelectionChange(val) { editDelete() {
this.ids = val.map(d => d.insp_det__insp_det_id) if (this.ids && this.ids.length > 0) {
console.log(this.ids, 'this.ids') this.$confirm('确认删除?').then(() => {
}, api.Delete(this.ids).then(data => {
closeDialog() { if (data.success) {
this.dialogFormVisible = false this.getList()
this.$refs['form'].resetFields() this.$message.success('删除成功!')
this.form.dept_name = '' } else {
this.form.dept_code = '' this.$message.error(data.message)
}, }
handleNodeClick(data) { })
console.log(data) }).catch(() => {})
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`) } else {
this.whereSql = true this.$message.warning('请选择数据进行删除')
this.getList() }
}, },
async getTypeSel() { auditFormChange(form) {
await publicApi.getTypeSel('inspresult').then(data => { this.saveFrom = form
if (data.success) { },
this.inspresult = data.data.root cellDblclick(row) {
} else { this.title = '编辑'
this.$message.error(data.message) this.form = JSON.parse(JSON.stringify(row))
} this.dialogFormVisible = true
}) },
} sizeChange(size) {
} this.pager.pageSize = size
} this.getList()
</script> },
<style lang="scss" scoped> pageChange(page) {
.el-card { this.pager.pageNo = page
margin-top: 10px; this.getList()
} },
</style> 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>

View File

@ -1,406 +1,415 @@
<template> <template>
<div> <div class="app-container">
<buttons funid="insp_det" style="margin:10px 10px" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" /> <div class="head">
<el-card> <div>
<el-table <buttons funid="insp_det" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" />
ref="table" </div>
v-loading="loading" <Search funid="safe_insp" @search="search" />
:data="data" </div>
style="width: 100%" <el-card>
border <el-table
stripe ref="table"
@selection-change="handleSelectionChange" v-loading="loading"
@cell-dblclick="cellDblclick" :data="data"
> style="width: 100%"
<template v-for="(d,i) in tableHeader"> border
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" /> stripe
<el-table-column @selection-change="handleSelectionChange"
v-else-if="d.show !== false" @cell-dblclick="cellDblclick"
:key="i" >
:prop="d.prop" <el-table-column type="index" fixed="left" width="35px" />
:label="d.label" <template v-for="(d,i) in tableHeader">
:width="d.width" <el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
:min-width="d.minWidth" <el-table-column
:class-name="d.className" v-else-if="d.show !== false"
:fixed="d.fixed" :key="i"
> :prop="d.prop"
<template slot-scope="scope"> :label="d.label"
<div v-if="d.label==='巡检状态'"> :width="d.width"
{{ :min-width="d.minWidth"
scope.row.ssafe_insp__insp_state == 1 ? '巡检中' : '已巡检' :class-name="d.className"
}} :fixed="d.fixed"
</div> >
<div v-else-if="d.label==='巡检日期'"> <template slot-scope="scope">
{{ <div v-if="d.label==='巡检状态'">
parseDay(scope.row.safe_insp__insp_date) {{
}} scope.row.ssafe_insp__insp_state == 1 ? '巡检中' : '已巡检'
</div> }}
<div v-else-if="d.label === '操作'"> </div>
<el-button icon="el-icon-view" type="text" size="mini" title="编辑" @click="edit(scope.row)" /> <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> parseDay(scope.row.safe_insp__insp_date)
<div v-else>{{ scope.row[d.prop] }}</div> }}
</template> </div>
</el-table-column> <div v-else-if="d.label === '操作'">
</template> <el-button icon="el-icon-view" type="text" size="mini" title="编辑" @click="edit(scope.row)" />
</el-table> <el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
<el-pagination </div>
:current-page="pager.pageNo" <div v-else>{{ scope.row[d.prop] }}</div>
:page-sizes="[10, 30, 50, 100, 500]" </template>
:page-size="pager.pageSize" </el-table-column>
:total="pager.total" </template>
layout="total, sizes, prev, pager, next, jumper" </el-table>
@size-change="sizeChange" <el-pagination
@current-change="pageChange" :current-page="pager.pageNo"
/> :page-sizes="[10, 30, 50, 100, 500]"
</el-card> :page-size="pager.pageSize"
:total="pager.total"
</div> layout="total, sizes, prev, pager, next, jumper"
</template> @size-change="sizeChange"
@current-change="pageChange"
<script> />
import api from './api' </el-card>
import buttons from '@/components/Buttons'
import { parseDay } from '@/utils/index' </div>
export default { </template>
name: 'SafeIdsp',
components: { <script>
buttons import api from './api'
}, import buttons from '@/components/Buttons'
data() { import Search from '@/components/Search'
return { import { parseDay } from '@/utils/index'
parseDay, export default {
loading: false, name: 'SafeIdsp',
data: [], components: {
deptTree: [], buttons,
ids: [], Search
levels: [], },
pager: { data() {
pageNo: 0, return {
pageSize: 10, parseDay,
total: 0 loading: false,
}, data: [],
tableHeader: [ deptTree: [],
{ ids: [],
prop: 'selection', levels: [],
type: 'selection', pager: {
fixed: 'left', pageNo: 0,
width: '100px', pageSize: 10,
show: true total: 0
}, { },
prop: 'safe_insp__insp_code', tableHeader: [
label: '巡检编号', {
width: '200px', prop: 'selection',
show: true type: 'selection',
}, { fixed: 'left',
prop: 'safe_insp__insp_name', width: '100px',
label: '巡检名称', show: true
width: '250px', }, {
show: true prop: 'safe_insp__insp_code',
}, label: '巡检编号',
{ width: '200px',
prop: 'safe_insp__insp_state', show: true
label: '巡检状态', }, {
width: '100px', prop: 'safe_insp__insp_name',
show: true label: '巡检名称',
}, { width: '250px',
prop: 'safe_insp__insp_date', show: true
label: '巡检日期', },
width: '100px', {
show: true prop: 'safe_insp__insp_state',
}, label: '巡检状态',
{ width: '100px',
prop: 'safe_insp__insp_man', show: true
label: '巡检人员', }, {
width: '100px', prop: 'safe_insp__insp_date',
show: true label: '巡检日期',
}, width: '100px',
{ show: true
prop: 'safe_insp__insp_times', },
label: '巡检频率', {
width: '100px', prop: 'safe_insp__insp_man',
show: true label: '巡检人员',
}, width: '100px',
{ show: true
prop: 'safe_insp__insp_memo', },
label: '备注', {
width: '100px', prop: 'safe_insp__insp_times',
show: true label: '巡检频率',
}, width: '100px',
{ show: true
prop: 'safe_insp__insp_ed', },
label: '已巡检数量', {
width: '100px', prop: 'safe_insp__insp_memo',
show: true label: '备注',
}, width: '100px',
{ show: true
prop: 'safe_insp__insp_ing', },
label: '待巡检数量', {
width: '100px', prop: 'safe_insp__insp_ed',
show: true label: '已巡检数量',
}, width: '100px',
{ show: true
prop: 'safe_insp__insp_non', },
label: '不符合数量', {
width: '100px', prop: 'safe_insp__insp_ing',
show: true label: '待巡检数量',
}, width: '100px',
{ show: true
prop: 'opration', },
label: '操作', {
width: '120px', prop: 'safe_insp__insp_non',
fixed: 'right', label: '不符合数量',
minWidth: '120px', width: '100px',
show: true show: true
}], },
value: '', {
dept_id: '', prop: 'opration',
level: '', label: '操作',
id: '', width: '120px',
parent_id: '', fixed: 'right',
form: { minWidth: '120px',
dept_name: '', show: true
dept_code: '', }],
memo: '' value: '',
}, dept_id: '',
rules: { level: '',
dept_code: [ id: '',
{ required: true, message: '请输入部门编码', trigger: 'blur' } parent_id: '',
], form: {
dept_name: [ dept_name: '',
{ required: true, message: '请输入部门名称', trigger: 'blur' } dept_code: '',
memo: ''
] },
}, rules: {
dialogFormVisible: false, dept_code: [
dialogEditVisible: false, { required: true, message: '请输入部门编码', trigger: 'blur' }
formLabelWidth: '120px', ],
auditForm: {}, dept_name: [
saveFrom: {}, { required: true, message: '请输入部门名称', trigger: 'blur' }
treeData: [],
defaultProps: { ]
children: 'children', },
label: 'sys_dept__dept_name' dialogFormVisible: false,
}, dialogEditVisible: false,
treeList: [], formLabelWidth: '120px',
whereSql: false, auditForm: {},
whereValue: '' saveFrom: {},
} treeData: [],
}, defaultProps: {
created() { children: 'children',
this.getList() label: 'sys_dept__dept_name'
this.transitionTree() },
}, treeList: [],
mounted() { whereSql: '',
}, whereValue: ''
methods: { }
getList() { },
this.loading = true created() {
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize this.getList()
if (pageNo < 0) { this.transitionTree()
pageNo = 0 },
} mounted() {
api.getDate( },
this.pager.pageSize, methods: {
pageNo, getList() {
this.whereSql, this.loading = true
this.whereValue let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
).then(data => { if (pageNo < 0) {
if (data.success) { pageNo = 0
this.data = data.data.root }
this.pager.total = data.data.total api.getDate(
setTimeout(() => { this.pager.pageSize,
this.loading = false pageNo,
}, 200) this.whereSql
} else { ).then(data => {
this.$message.error(data.message) if (data.success) {
} this.data = data.data.root
}) this.pager.total = data.data.total
}, setTimeout(() => {
async transitionTree() { this.loading = false
await api.getDeptTree().then(data => { }, 200)
if (data.success) { } else {
this.deptTree = data.data.root this.$message.error(data.message)
} else { }
this.$message.error(data.message) })
} },
}) search(sql) {
this.treeData = [] this.whereSql = sql
let data = [] this.getList()
data = this.deptTree.sort((a, b) => { },
return a.sys_dept__dept_id - b.sys_dept__dept_id async transitionTree() {
}) await api.getDeptTree().then(data => {
const oneTreeList = data.filter(d => { if (data.success) {
return d.sys_dept__dept_level === '1' this.deptTree = data.data.root
}) } else {
for (let i = 0; i < oneTreeList.length; i++) { this.$message.error(data.message)
const treeList = data.filter(d => { }
return d.sys_dept__dept_id.substring(0, 4).indexOf(oneTreeList[i].sys_dept__dept_id) > -1 })
}) this.treeData = []
treeList.forEach(d => { let data = []
d.children = [] data = this.deptTree.sort((a, b) => {
if (d.sys_dept__dept_level === '1') { return a.sys_dept__dept_id - b.sys_dept__dept_id
this.treeData.push(d) })
} else if (d.sys_dept__dept_level === '2') { const oneTreeList = data.filter(d => {
this.treeData[i].children.push(d) return d.sys_dept__dept_level === '1'
} else if (d.sys_dept__dept_level === '3') { })
this.treeData[i].children.forEach((threeVal, three) => { for (let i = 0; i < oneTreeList.length; i++) {
if (d.sys_dept__dept_id.substring(0, 8).indexOf(threeVal.sys_dept__dept_id) > -1) { const treeList = data.filter(d => {
this.treeData[i].children[three].children.push(d) return d.sys_dept__dept_id.substring(0, 4).indexOf(oneTreeList[i].sys_dept__dept_id) > -1
} })
}) treeList.forEach(d => {
} else if (d.sys_dept__dept_level === '4') { d.children = []
this.treeData[i].children.forEach((threeVal, three) => { if (d.sys_dept__dept_level === '1') {
threeVal.children.forEach((fourVal, four) => { this.treeData.push(d)
if (d.sys_dept__dept_id.substring(0, 12).indexOf(fourVal.sys_dept__dept_id) > -1) { } else if (d.sys_dept__dept_level === '2') {
this.treeData[i].children[three].children[four].children.push(d) 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) {
} else if (d.sys_dept__dept_level === '5') { this.treeData[i].children[three].children.push(d)
this.treeData[i].children.forEach((threeVal, three) => { }
threeVal.children.forEach((fourVal, four) => { })
fourVal.children.forEach((fiveVal, five) => { } else if (d.sys_dept__dept_level === '4') {
if (d.sys_dept__dept_id.substring(0, 16).indexOf(fiveVal.sys_dept__dept_id) > -1) { this.treeData[i].children.forEach((threeVal, three) => {
this.treeData[i].children[three].children[four].children[five].children.push(d) 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 === '6') { })
this.treeData[i].children.forEach((threeVal, three) => { } else if (d.sys_dept__dept_level === '5') {
threeVal.children.forEach((fourVal, four) => { this.treeData[i].children.forEach((threeVal, three) => {
fourVal.children.forEach((fiveVal, five) => { threeVal.children.forEach((fourVal, four) => {
fiveVal.children.forEach((sixVal, six) => { fourVal.children.forEach((fiveVal, five) => {
if (d.sys_dept__dept_id.substring(0, 20).indexOf(sixVal.sys_dept__dept_id) > -1) { 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[six].children.push(d) 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) => {
console.log(this.treeData, 'this.treeData') 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) {
editCreate() { this.treeData[i].children[three].children[four].children[five].children[six].children.push(d)
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 => { console.log(this.treeData, 'this.treeData')
if (data.success) { }
this.getList() },
this.transitionTree() editCreate() {
this.dialogFormVisible = false const param = `/insp/edit_form/create`
this.$refs['form'].resetFields() this.$router.push(param)
this.form.dept_name = '' },
this.form.dept_code = '' create() {
this.$message.success('新增成功!') this.$refs['form'].validate((valid) => {
} else { if (valid) {
this.$message.error(data.message) 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
Delete(row) { this.$refs['form'].resetFields()
this.ids = [] this.form.dept_name = ''
this.ids.push(row.sys_dept__dept_id) this.form.dept_code = ''
this.editDelete() this.$message.success('新增成功!')
}, } else {
editDelete() { this.$message.error(data.message)
if (this.ids && this.ids.length > 0) { }
this.$confirm('确认删除部门?').then(() => { })
api.Delete(this.ids).then(data => { }
if (data.success) { })
this.getList() },
this.$message.success('删除成功!') Delete(row) {
} else { this.ids = []
this.$message.error(data.message) this.ids.push(row.sys_dept__dept_id)
} this.editDelete()
}) },
}).catch(() => {}) editDelete() {
} else { if (this.ids && this.ids.length > 0) {
this.$message.warning('请选择数据进行删除') this.$confirm('确认删除部门?').then(() => {
} api.Delete(this.ids).then(data => {
}, if (data.success) {
editSave() { this.getList()
console.log('editSave') this.$message.success('删除成功!')
}, } else {
upload() { this.$message.error(data.message)
console.log('upload') }
}, })
edit(row) { }).catch(() => {})
this.id = row.sys_dept__dept_id } else {
this.parent_id = this.id.substring(0, this.id.length - 4) this.$message.warning('请选择数据进行删除')
console.log(this.parent_id, this.id) }
this.auditForm = row },
this.dialogEditVisible = true editSave() {
}, console.log('editSave')
auditFormChange(form) { },
this.saveFrom = form upload() {
}, console.log('upload')
save() { },
console.log(this.saveFrom, 'this.saveFrom') edit(row) {
console.log(this.auditForm, 'this.auditForm') this.id = row.sys_dept__dept_id
if (Object.keys(this.saveFrom).length === 0) { this.parent_id = this.id.substring(0, this.id.length - 4)
this.saveFrom = this.auditForm console.log(this.parent_id, this.id)
} this.auditForm = row
this.$refs.auditForm.$refs.auditForm.validate(valid => { this.dialogEditVisible = true
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` auditFormChange(form) {
api.auditSave(_form).then(data => { this.saveFrom = form
if (data.success) { },
this.whereSql = false save() {
this.whereValue = '' console.log(this.saveFrom, 'this.saveFrom')
this.getList() console.log(this.auditForm, 'this.auditForm')
this.$message.success('保存成功!') if (Object.keys(this.saveFrom).length === 0) {
this.dialogEditVisible = false this.saveFrom = this.auditForm
} else { }
this.$message.error(data.message) 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 = ''
cellDblclick(row) { this.whereValue = ''
const param = `/insp/edit_form/audit/${row.safe_insp__safe_insp_id}` this.getList()
this.$router.push(param) this.$message.success('保存成功!')
}, this.dialogEditVisible = false
sizeChange(size) { } else {
this.pager.pageSize = size this.$message.error(data.message)
this.getList() }
}, })
pageChange(page) { }
this.pager.pageNo = page })
this.getList() },
}, cellDblclick(row) {
handleSelectionChange(val) { const param = `/insp/edit_form/audit/${row.safe_insp__safe_insp_id}`
this.ids = val.map(d => d.sys_dept__dept_id) this.$router.push(param)
this.levels = val.map(d => d.sys_dept__dept_level) },
}, sizeChange(size) {
closeDialog() { this.pager.pageSize = size
this.dialogFormVisible = false this.getList()
this.$refs['form'].resetFields() },
this.form.dept_name = '' pageChange(page) {
this.form.dept_code = '' this.pager.pageNo = page
}, this.getList()
handleNodeClick(data) { },
console.log(data) handleSelectionChange(val) {
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`) this.ids = val.map(d => d.sys_dept__dept_id)
this.whereSql = true this.levels = val.map(d => d.sys_dept__dept_level)
this.getList() },
} closeDialog() {
} this.dialogFormVisible = false
} this.$refs['form'].resetFields()
</script> this.form.dept_name = ''
<style lang="scss" scoped> this.form.dept_code = ''
.el-card { }
margin-top: 10px; }
} }
</style> </script>
<style lang="scss" scoped>
.head {
display: flex;
justify-content: space-between;
}
.el-card {
margin-top: 10px;
}
</style>

View File

@ -4,17 +4,11 @@ import store from '@/store/modules/user'
var roles = store.state.roles.replace(/;/g, '') var roles = store.state.roles.replace(/;/g, '')
export default { export default {
getDept(pageSize, pageNo, isWhereSql, whereValue) { getDept(pageSize, pageNo, whereSql) {
let whereSql = ''
let whereType = ''
if (isWhereSql) {
whereSql = `sys_dept.dept_id like ?`
whereType = 'string'
}
return request({ return request({
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=editgrid&query_funid=sys_dept&user_id=${roles}`, url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=editgrid&query_funid=sys_dept&user_id=${roles}`,
method: 'post', 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) }).then(response => response.data)
}, },
getDeptTree() { getDeptTree() {

View File

@ -1,405 +1,419 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<buttons funid="sys_dept" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" /> <div class="head">
<el-row> <div>
<el-col :span="5"> <buttons funid="sys_dept" @editCreate="editCreate" @editDelete="editDelete" @editSave="editSave" @upload="upload" />
<el-card> </div>
<el-tree :data="treeData" default-expand-all :props="defaultProps" @node-click="handleNodeClick" /> <Search funid="sys_dept" @search="search" />
</el-card> </div>
</el-col> <el-row>
<el-col :span="19"> <el-col :span="5">
<el-card> <el-card>
<el-table <el-tree :data="treeData" default-expand-all :props="defaultProps" @node-click="handleNodeClick" />
ref="deptTable" </el-card>
v-loading="loading" </el-col>
:data="data" <el-col :span="19">
style="width: 100%" <el-card>
stripe <el-table
@selection-change="handleSelectionChange" ref="deptTable"
@cell-dblclick="cellDblclick" v-loading="loading"
> :data="data"
<template v-for="(d,i) in tableHeader"> style="width: 100%"
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" /> stripe
<el-table-column @selection-change="handleSelectionChange"
v-else @cell-dblclick="cellDblclick"
:key="i" >
:prop="d.prop" <el-table-column type="index" fixed="left" width="35px" />
:label="d.label" <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" />
<template slot-scope="scope"> <el-table-column
<div v-if="d.label==='是否注销'"> v-else
{{ :key="i"
scope.row.sys_dept__is_novalid == 0 ? '否' : '是' :prop="d.prop"
}} :label="d.label"
</div> >
<div v-else-if="d.label === '操作'"> <template slot-scope="scope">
<el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" /> <div v-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> scope.row.sys_dept__is_novalid == 0 ? '否' : '是'
<div v-else>{{ scope.row[d.prop] }}</div> }}
</template> </div>
</el-table-column> <div v-else-if="d.label === '操作'">
</template> <el-button icon="el-icon-view" type="text" title="编辑" @click="edit(scope.row)" />
</el-table> <el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" />
<el-pagination </div>
:current-page="pager.pageNo" <div v-else>{{ scope.row[d.prop] }}</div>
:page-sizes="[10, 30, 50, 100, 500]" </template>
:page-size="pager.pageSize" </el-table-column>
:total="pager.total" </template>
layout="total, sizes, prev, pager, next, jumper" </el-table>
@size-change="sizeChange" <el-pagination
@current-change="pageChange" :current-page="pager.pageNo"
/> :page-sizes="[10, 30, 50, 100, 500]"
</el-card> :page-size="pager.pageSize"
</el-col> :total="pager.total"
</el-row> layout="total, sizes, prev, pager, next, jumper"
@size-change="sizeChange"
<el-dialog v-if="dialogFormVisible" title="新增部门" :visible.sync="dialogFormVisible" @close="closeDialog"> @current-change="pageChange"
<el-form ref="form" :model="form" :rules="rules"> />
<el-form-item label="所属部门" :label-width="formLabelWidth"> </el-card>
<el-select v-model="dept_id" placeholder="请选择"> </el-col>
<el-option </el-row>
v-for="item in data"
:key="item.sys_dept__dept_id" <el-dialog v-if="dialogFormVisible" title="新增部门" :visible.sync="dialogFormVisible" @close="closeDialog">
:label="item.sys_dept__dept_name" <el-form ref="form" :model="form" :rules="rules">
:value="item.sys_dept__dept_id" <el-form-item label="所属部门" :label-width="formLabelWidth">
/> <el-select v-model="dept_id" placeholder="请选择">
</el-select> <el-option
</el-form-item> v-for="item in data"
<el-form-item label="部门编码" :label-width="formLabelWidth" prop="dept_code"> :key="item.sys_dept__dept_id"
<el-input v-model="form.dept_code" /> :label="item.sys_dept__dept_name"
</el-form-item> :value="item.sys_dept__dept_id"
<el-form-item label="部门名称" :label-width="formLabelWidth" prop="dept_name"> />
<el-input v-model="form.dept_name" /> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="备注" :label-width="formLabelWidth" prop="memo"> <el-form-item label="部门编码" :label-width="formLabelWidth" prop="dept_code">
<el-input v-model="form.memo" /> <el-input v-model="form.dept_code" />
</el-form-item> </el-form-item>
</el-form> <el-form-item label="部门名称" :label-width="formLabelWidth" prop="dept_name">
<div slot="footer" class="dialog-footer"> <el-input v-model="form.dept_name" />
<el-button @click="dialogFormVisible = false"> </el-button> </el-form-item>
<el-button type="primary" @click="create"> </el-button> <el-form-item label="备注" :label-width="formLabelWidth" prop="memo">
</div> <el-input v-model="form.memo" />
</el-dialog> </el-form-item>
<el-dialog v-if="dialogEditVisible" title="部门" :visible.sync="dialogEditVisible" @close="closeDialog"> </el-form>
<AdutiDept :id="parent_id" ref="auditForm" :audit-form="auditForm" :data="deptTree" @change="auditFormChange" /> <div slot="footer" class="dialog-footer">
<div slot="footer" class="dialog-footer"> <el-button @click="dialogFormVisible = false"> </el-button>
<el-button @click="dialogEditVisible = false"> </el-button> <el-button type="primary" @click="create"> </el-button>
<el-button type="primary" @click="save"> </el-button> </div>
</div> </el-dialog>
</el-dialog> <el-dialog v-if="dialogEditVisible" title="部门" :visible.sync="dialogEditVisible" @close="closeDialog">
</div> <AdutiDept :id="parent_id" ref="auditForm" :audit-form="auditForm" :data="deptTree" @change="auditFormChange" />
</template> <div slot="footer" class="dialog-footer">
<el-button @click="dialogEditVisible = false"> </el-button>
<script> <el-button type="primary" @click="save"> </el-button>
import api from './api' </div>
import buttons from '@/components/Buttons' </el-dialog>
import AdutiDept from './components/auditDept' </div>
export default { </template>
name: 'Guide',
components: { <script>
buttons, import api from './api'
AdutiDept import buttons from '@/components/Buttons'
}, import Search from '@/components/Search'
data() { import AdutiDept from './components/auditDept'
return { export default {
loading: false, name: 'Guide',
data: [], components: {
deptTree: [], buttons,
ids: [], Search,
levels: [], AdutiDept
pager: { },
pageNo: 0, data() {
pageSize: 10, return {
total: 0 loading: false,
}, data: [],
tableHeader: [ deptTree: [],
{ ids: [],
prop: 'selection', levels: [],
type: 'selection', pager: {
fixed: 'left' pageNo: 0,
}, { pageSize: 10,
prop: 'sys_dept__dept_code', total: 0
label: '组织编码' },
}, { tableHeader: [
prop: 'sys_dept__dept_name', {
label: '组织名称' prop: 'selection',
}, { type: 'selection',
prop: 'sys_dept__memo', fixed: 'left'
label: '备注' }, {
}, { prop: 'sys_dept__dept_code',
prop: 'sys_dept__is_novalid', label: '组织编码'
label: '是否注销' }, {
}, prop: 'sys_dept__dept_name',
{ label: '组织名称'
prop: 'opration', }, {
label: '操作', prop: 'sys_dept__memo',
width: '70px', label: '备注'
fixed: 'right', }, {
minWidth: '70px', prop: 'sys_dept__is_novalid',
show: true label: '是否注销'
}], },
value: '', {
dept_id: '', prop: 'opration',
level: '', label: '操作',
id: '', width: '70px',
parent_id: '', fixed: 'right',
form: { minWidth: '70px',
dept_name: '', show: true
dept_code: '', }],
memo: '' value: '',
}, dept_id: '',
rules: { level: '',
dept_code: [ id: '',
{ required: true, message: '请输入部门编码', trigger: 'blur' } parent_id: '',
], form: {
dept_name: [ dept_name: '',
{ required: true, message: '请输入部门名称', trigger: 'blur' } dept_code: '',
memo: ''
] },
}, rules: {
dialogFormVisible: false, dept_code: [
dialogEditVisible: false, { required: true, message: '请输入部门编码', trigger: 'blur' }
formLabelWidth: '120px', ],
auditForm: {}, dept_name: [
saveFrom: {}, { required: true, message: '请输入部门名称', trigger: 'blur' }
treeData: [],
defaultProps: { ]
children: 'children', },
label: 'sys_dept__dept_name' dialogFormVisible: false,
}, dialogEditVisible: false,
treeList: [], formLabelWidth: '120px',
whereSql: false, auditForm: {},
whereValue: '' saveFrom: {},
} treeData: [],
}, defaultProps: {
created() { children: 'children',
this.getList() label: 'sys_dept__dept_name'
this.transitionTree() },
}, treeList: [],
mounted() { whereSql: '',
}, whereValue: ''
methods: { }
getList() { },
this.loading = true created() {
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize this.getList()
if (pageNo < 0) { this.transitionTree()
pageNo = 0 },
} mounted() {
api.getDept( },
this.pager.pageSize, methods: {
pageNo, getList() {
this.whereSql, this.loading = true
this.whereValue let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
).then(data => { if (pageNo < 0) {
if (data.success) { pageNo = 0
this.data = data.data.root }
this.pager.total = data.data.total api.getDept(
setTimeout(() => { this.pager.pageSize,
this.loading = false pageNo,
}, 200) this.whereSql
} else { ).then(data => {
this.$message.error(data.message) if (data.success) {
} this.data = data.data.root
}) this.pager.total = data.data.total
}, setTimeout(() => {
async transitionTree() { this.loading = false
await api.getDeptTree().then(data => { }, 200)
if (data.success) { } else {
this.deptTree = data.data.root this.$message.error(data.message)
} else { }
this.$message.error(data.message) })
} },
}) search(sql) {
this.treeData = [] this.whereSql = sql
let data = [] this.getList()
data = this.deptTree.sort((a, b) => { },
return a.sys_dept__dept_id - b.sys_dept__dept_id async transitionTree() {
}) await api.getDeptTree().then(data => {
const oneTreeList = data.filter(d => { if (data.success) {
return d.sys_dept__dept_level === '1' this.deptTree = data.data.root
}) } else {
for (let i = 0; i < oneTreeList.length; i++) { this.$message.error(data.message)
const treeList = data.filter(d => { }
return d.sys_dept__dept_id.substring(0, 4).indexOf(oneTreeList[i].sys_dept__dept_id) > -1 })
}) this.treeData = []
treeList.forEach(d => { let data = []
d.children = [] data = this.deptTree.sort((a, b) => {
if (d.sys_dept__dept_level === '1') { return a.sys_dept__dept_id - b.sys_dept__dept_id
this.treeData.push(d) })
} else if (d.sys_dept__dept_level === '2') { const oneTreeList = data.filter(d => {
this.treeData[i].children.push(d) return d.sys_dept__dept_level === '1'
} else if (d.sys_dept__dept_level === '3') { })
this.treeData[i].children.forEach((threeVal, three) => { for (let i = 0; i < oneTreeList.length; i++) {
if (d.sys_dept__dept_id.substring(0, 8).indexOf(threeVal.sys_dept__dept_id) > -1) { const treeList = data.filter(d => {
this.treeData[i].children[three].children.push(d) return d.sys_dept__dept_id.substring(0, 4).indexOf(oneTreeList[i].sys_dept__dept_id) > -1
} })
}) treeList.forEach(d => {
} else if (d.sys_dept__dept_level === '4') { d.children = []
this.treeData[i].children.forEach((threeVal, three) => { if (d.sys_dept__dept_level === '1') {
threeVal.children.forEach((fourVal, four) => { this.treeData.push(d)
if (d.sys_dept__dept_id.substring(0, 12).indexOf(fourVal.sys_dept__dept_id) > -1) { } else if (d.sys_dept__dept_level === '2') {
this.treeData[i].children[three].children[four].children.push(d) 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) {
} else if (d.sys_dept__dept_level === '5') { this.treeData[i].children[three].children.push(d)
this.treeData[i].children.forEach((threeVal, three) => { }
threeVal.children.forEach((fourVal, four) => { })
fourVal.children.forEach((fiveVal, five) => { } else if (d.sys_dept__dept_level === '4') {
if (d.sys_dept__dept_id.substring(0, 16).indexOf(fiveVal.sys_dept__dept_id) > -1) { this.treeData[i].children.forEach((threeVal, three) => {
this.treeData[i].children[three].children[four].children[five].children.push(d) 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 === '6') { })
this.treeData[i].children.forEach((threeVal, three) => { } else if (d.sys_dept__dept_level === '5') {
threeVal.children.forEach((fourVal, four) => { this.treeData[i].children.forEach((threeVal, three) => {
fourVal.children.forEach((fiveVal, five) => { threeVal.children.forEach((fourVal, four) => {
fiveVal.children.forEach((sixVal, six) => { fourVal.children.forEach((fiveVal, five) => {
if (d.sys_dept__dept_id.substring(0, 20).indexOf(sixVal.sys_dept__dept_id) > -1) { 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[six].children.push(d) 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) => {
console.log(this.treeData, 'this.treeData') 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) {
editCreate() { this.treeData[i].children[three].children[four].children[five].children[six].children.push(d)
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] console.log(this.treeData, 'this.treeData')
} }
}, },
create() { editCreate() {
this.$refs['form'].validate((valid) => { if (this.ids === null) {
if (valid) { this.$message.warning('请选择一个组织再添加下属组织')
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` } else if (this.ids.length !== 1) {
api.Crerte(data).then(data => { this.$message.warning('请选择一个组织再添加下属组织')
if (data.success) { } else {
this.getList() this.dialogFormVisible = true
this.transitionTree() this.dept_id = this.ids[0]
this.dialogFormVisible = false this.level = this.levels[0]
this.$refs['form'].resetFields() }
this.form.dept_name = '' },
this.form.dept_code = '' create() {
this.$message.success('新增成功!') this.$refs['form'].validate((valid) => {
} else { if (valid) {
this.$message.error(data.message) 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
Delete(row) { this.$refs['form'].resetFields()
this.ids = [] this.form.dept_name = ''
this.ids.push(row.sys_dept__dept_id) this.form.dept_code = ''
this.editDelete() this.$message.success('新增成功!')
}, } else {
editDelete() { this.$message.error(data.message)
if (this.ids && this.ids.length > 0) { }
this.$confirm('确认删除部门?').then(() => { })
api.Delete(this.ids).then(data => { }
if (data.success) { })
this.getList() },
this.$message.success('删除成功!') Delete(row) {
} else { this.ids = []
this.$message.error(data.message) this.ids.push(row.sys_dept__dept_id)
} this.editDelete()
}) },
}).catch(() => {}) editDelete() {
} else { if (this.ids && this.ids.length > 0) {
this.$message.warning('请选择数据进行删除') this.$confirm('确认删除部门?').then(() => {
} api.Delete(this.ids).then(data => {
}, if (data.success) {
editSave() { this.getList()
console.log('editSave') this.$message.success('删除成功!')
}, } else {
upload() { this.$message.error(data.message)
console.log('upload') }
}, })
edit(row) { }).catch(() => {})
this.id = row.sys_dept__dept_id } else {
this.parent_id = this.id.substring(0, this.id.length - 4) this.$message.warning('请选择数据进行删除')
console.log(this.parent_id, this.id) }
this.auditForm = row },
this.dialogEditVisible = true editSave() {
}, console.log('editSave')
auditFormChange(form) { },
this.saveFrom = form upload() {
}, console.log('upload')
save() { },
console.log(this.saveFrom, 'this.saveFrom') edit(row) {
console.log(this.auditForm, 'this.auditForm') this.id = row.sys_dept__dept_id
if (Object.keys(this.saveFrom).length === 0) { this.parent_id = this.id.substring(0, this.id.length - 4)
this.saveFrom = this.auditForm console.log(this.parent_id, this.id)
} this.auditForm = row
this.$refs.auditForm.$refs.auditForm.validate(valid => { this.dialogEditVisible = true
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` auditFormChange(form) {
api.auditSave(_form).then(data => { this.saveFrom = form
if (data.success) { },
this.whereSql = false save() {
this.whereValue = '' console.log(this.saveFrom, 'this.saveFrom')
this.getList() console.log(this.auditForm, 'this.auditForm')
this.$message.success('保存成功!') if (Object.keys(this.saveFrom).length === 0) {
this.dialogEditVisible = false this.saveFrom = this.auditForm
} else { }
this.$message.error(data.message) 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 = ''
cellDblclick(row) { this.getList()
console.log(row, 'row') this.$message.success('保存成功!')
this.id = row.sys_dept__dept_id this.dialogEditVisible = false
this.parent_id = this.id.substring(0, this.id.length - 4) } else {
this.auditForm = row this.$message.error(data.message)
this.saveFrom = [] }
this.dialogEditVisible = true })
}, }
sizeChange(size) { })
this.pager.pageSize = size },
this.getList() cellDblclick(row) {
}, console.log(row, 'row')
pageChange(page) { this.id = row.sys_dept__dept_id
this.pager.pageNo = page this.parent_id = this.id.substring(0, this.id.length - 4)
this.getList() this.auditForm = row
}, this.saveFrom = []
handleSelectionChange(val) { this.dialogEditVisible = true
this.ids = val.map(d => d.sys_dept__dept_id) },
this.levels = val.map(d => d.sys_dept__dept_level) sizeChange(size) {
}, this.pager.pageSize = size
closeDialog() { this.getList()
this.dialogFormVisible = false },
this.$refs['form'].resetFields() pageChange(page) {
this.form.dept_name = '' this.pager.pageNo = page
this.form.dept_code = '' this.getList()
}, },
handleNodeClick(data) { handleSelectionChange(val) {
this.pager.pageNo = 0 this.ids = val.map(d => d.sys_dept__dept_id)
this.pager.pageSize = 10 this.levels = val.map(d => d.sys_dept__dept_level)
this.pager.total = 0 },
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`) closeDialog() {
this.whereSql = true this.dialogFormVisible = false
this.getList() this.$refs['form'].resetFields()
} this.form.dept_name = ''
} this.form.dept_code = ''
} },
</script> handleNodeClick(data) {
<style lang="scss" scoped> this.pager.pageNo = 0
.el-card { this.pager.pageSize = 10
margin-top: 10px; this.pager.total = 0
} this.whereValue = encodeURI(`\%${data.sys_dept__dept_id}\%`)
</style> 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>

View File

@ -3,17 +3,11 @@ import store from '@/store/modules/user'
var roles = store.state.roles.replace(/;/g, '') var roles = store.state.roles.replace(/;/g, '')
export default { export default {
getUser(pageSize, pageNo, isWhereSql, whereValue) { getUser(pageSize, pageNo, whereSql) {
let whereSql = ''
let whereType = ''
if (isWhereSql) {
whereSql = `sys_dept.dept_id like ?`
whereType = 'string'
}
return request({ return request({
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=editgrid&query_funid=sys_user&user_id=${roles}`, url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=editgrid&query_funid=sys_user&user_id=${roles}`,
method: 'post', 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) }).then(response => response.data)
}, },
getDeptTree() { getDeptTree() {

View File

@ -1,6 +1,11 @@
<template> <template>
<div class="app-container"> <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-row>
<el-col :span="3"> <el-col :span="3">
<el-card> <el-card>
@ -19,6 +24,7 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@cell-dblclick="cellDblclick" @cell-dblclick="cellDblclick"
> >
<el-table-column type="index" fixed="left" width="35px" />
<template v-for="(d,i) in tableHeader"> <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-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
<el-table-column <el-table-column
@ -112,12 +118,14 @@
<script> <script>
import api from './api' import api from './api'
import buttons from '@/components/Buttons' import buttons from '@/components/Buttons'
import Search from '@/components/Search'
import AdutiUser from './components/auditUser' import AdutiUser from './components/auditUser'
import Attach from '@/components/sys_attach' import Attach from '@/components/sys_attach'
export default { export default {
name: 'User', name: 'User',
components: { components: {
buttons, buttons,
Search,
AdutiUser, AdutiUser,
Attach Attach
}, },
@ -125,6 +133,8 @@ export default {
return { return {
loading: false, loading: false,
data: [], data: [],
fun: [],
searchVal: '',
deptTree: [], deptTree: [],
ids: [], ids: [],
levels: [], levels: [],
@ -238,8 +248,7 @@ export default {
api.getUser( api.getUser(
this.pager.pageSize, this.pager.pageSize,
pageNo, pageNo,
this.whereSql, this.whereSql
this.whereValue
).then(data => { ).then(data => {
if (data.success) { if (data.success) {
this.data = data.data.root this.data = data.data.root
@ -252,6 +261,10 @@ export default {
} }
}) })
}, },
search(sql) {
this.whereSql = sql
this.getList()
},
async transitionTree() { async transitionTree() {
await api.getDeptTree().then(data => { await api.getDeptTree().then(data => {
if (data.success) { 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` 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 => { api.auditSave(_form).then(data => {
if (data.success) { if (data.success) {
this.whereSql = false
this.whereValue = '' this.whereValue = ''
this.getList() this.getList()
this.$message.success('保存成功!') this.$message.success('保存成功!')
@ -436,14 +448,18 @@ export default {
this.pager.pageNo = 0 this.pager.pageNo = 0
this.pager.pageSize = 10 this.pager.pageSize = 10
this.pager.total = 0 this.pager.total = 0
this.whereValue = encodeURI(`${data.sys_dept__dept_id}\%`) this.whereValue = encodeURI(`\%${data.sys_dept__dept_id}\%`)
this.whereSql = true this.whereSql = `where_sql=sys_dept.dept_id like ?&where_value=${this.whereValue}&where_type=String`
this.getList() this.getList()
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.head {
display: flex;
justify-content: space-between;
}
.el-card { .el-card {
margin-top: 10px; margin-top: 10px;
} }