1
0
mirror of https://github.com/PanJiaChen/vue-element-admin.git synced 2025-08-10 20:39:48 +08:00

优化系统功能

This commit is contained in:
dengfuchuan 2021-04-11 14:31:05 +08:00
parent 78da30869b
commit 87c919d0e1
8 changed files with 192 additions and 154 deletions

View File

@ -9,7 +9,7 @@
:value="item.fun_col__col_code" :value="item.fun_col__col_code"
/> />
</el-select> </el-select>
<div v-if="control === 'text' || control === 'selectwin'"> <div v-if="control === 'text' || control === 'selectwin' || control === 'combowin'">
<el-input v-model="searchVal" clearable placeholder="请输入内容" @keyup.enter.native="search" /> <el-input v-model="searchVal" clearable placeholder="请输入内容" @keyup.enter.native="search" />
</div> </div>
<div v-else-if="control === 'date'" class="combo-select"> <div v-else-if="control === 'date'" class="combo-select">
@ -58,6 +58,18 @@ export default {
funid: { funid: {
type: String, type: String,
default: '' default: ''
},
wsql: {
type: String,
default: ''
},
wvalue: {
type: String,
default: ''
},
wtype: {
type: String,
default: ''
} }
}, },
data() { data() {
@ -85,7 +97,10 @@ export default {
getFunCol() { getFunCol() {
api.getFunCol(this.funid).then(data => { api.getFunCol(this.funid).then(data => {
if (data.success) { if (data.success) {
this.fun = data.data.root this.fun = data.data.root.filter(d => {
return d.fun_col__col_index !== '10000'
})
console.log(this.fun, 'this.fun')
this.funCode = this.fun[0].fun_col__col_code this.funCode = this.fun[0].fun_col__col_code
this.where_sql = `${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 this.where_type = this.fun[0].fun_col__data_type
@ -122,7 +137,6 @@ export default {
api.getSelect(this.control_name).then(data => { api.getSelect(this.control_name).then(data => {
if (data.success) { if (data.success) {
this.combo = data.data.root this.combo = data.data.root
console.log(this.combo, 'this.combo')
} else { } else {
this.$message.error(data.message) this.$message.error(data.message)
} }
@ -133,13 +147,28 @@ export default {
let whereSql let whereSql
if (this.searchVal) { if (this.searchVal) {
if (this.control === 'date') { if (this.control === 'date') {
const where_sql = `${this.where_sql} >= ?` if (this.wsql) {
const whereValue = `${this.searchVal}` const where_sql = `(${this.wsql}=?) and ${this.where_sql} >= ?`
const where_type = `date` const whereValue = `${this.wvalue};${this.searchVal}`
whereSql = `where_sql=${where_sql}&where_value=${whereValue}&where_type=${where_type}` const where_type = `${this.wtype};date`
whereSql = `where_sql=${where_sql}&where_value=${whereValue}&where_type=${where_type}`
} else {
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 { } else {
whereValue = encodeURI(`\%${this.searchVal}\%`) if (this.wsql) {
whereSql = `where_sql=${this.where_sql} like ?&where_value=${whereValue}&where_type=${this.where_type}` const Value = encodeURI(`\%${this.searchVal}\%`)
const where_sql = `(${this.wsql}=?) and ${Value} >= ?`
const whereValue = `${this.wvalue};${Value}`
const where_type = `${this.wtype};${this.where_type}`
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 { } else {
whereSql = `where_sql=&where_value=&where_type=` whereSql = `where_sql=&where_value=&where_type=`

View File

@ -19,6 +19,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
@ -34,7 +35,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="d.label === '操作'"> <div v-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 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>

View File

@ -108,13 +108,13 @@
v-if="inspNameVisible" v-if="inspNameVisible"
title="选择巡检名称" title="选择巡检名称"
:visible.sync="inspNameVisible" :visible.sync="inspNameVisible"
width="60%" width="40%"
> >
<InspName @updateInspName="updateInspName" /> <InspName @updateInspName="updateInspName" />
<span> <!-- <span>
<el-button @click="inspNameVisible = false"> </el-button> <el-button type="primary" @click="inspNameVisible = false"> </el-button>
<el-button type="primary" @click="inspNameVisible = false"> </el-button> <el-button type="primary" @click="inspNameVisible = false"> </el-button>
</span> </span> -->
</el-dialog> </el-dialog>
</div> </div>
</template> </template>

View File

@ -108,13 +108,13 @@
v-if="inspNameVisible" v-if="inspNameVisible"
title="选择巡检名称" title="选择巡检名称"
:visible.sync="inspNameVisible" :visible.sync="inspNameVisible"
width="60%" width="40%"
> >
<InspName @updateInspName="updateInspName" /> <InspName @updateInspName="updateInspName" />
<span> <!-- <div>
<el-button @click="inspNameVisible = false"> </el-button> <el-button @click="inspNameVisible = false"> </el-button>
<el-button type="primary" @click="inspNameVisible = false"></el-button> <el-button type="primary" @click="inspNameVisible = false"></el-button>
</span> </div> -->
</el-dialog> </el-dialog>
</div> </div>
</template> </template>

View File

@ -1,131 +1,135 @@
<template> <template>
<div> <div>
<el-card> <el-card>
<el-table <el-table
ref="deptTable" ref="deptTable"
v-loading="loading" v-loading="loading"
:data="data" :data="data"
style="width: 100%" style="width: 100%"
@cell-dblclick="cellDblclick" @cell-dblclick="cellDblclick"
> >
<template v-for="(d,i) in tableHeader"> <el-table-column type="index" width="35px" />
<el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" /> <template v-for="(d,i) in tableHeader">
<el-table-column <el-table-column v-if="d.type && d.type === 'selection'" :key="i" :type="d.type" :fixed="d.fixed" />
v-else <el-table-column
:key="i" v-else
:prop="d.prop" :key="i"
:label="d.label" :prop="d.prop"
/> :label="d.label"
</template> />
</el-table> </template>
<el-pagination </el-table>
:current-page="pager.pageNo" <el-pagination
:page-sizes="[10, 30, 50, 100, 500]" :current-page="pager.pageNo"
:page-size="pager.pageSize" :page-sizes="[10, 30, 50, 100, 500]"
:total="pager.total" :page-size="pager.pageSize"
layout="total, sizes, prev, pager, next, jumper" :total="pager.total"
@size-change="sizeChange" layout="total, sizes, prev, pager, next, jumper"
@current-change="pageChange" @size-change="sizeChange"
/> @current-change="pageChange"
</el-card> />
</el-card>
</div>
</template> </div>
</template>
<script>
import api from './api' <script>
export default { import api from './api'
name: 'SafeIdsp', export default {
data() { name: 'SafeIdsp',
return { data() {
loading: false, return {
data: [], loading: false,
ids: [], data: [],
pager: { ids: [],
pageNo: 0, pager: {
pageSize: 10, pageNo: 0,
total: 0 pageSize: 10,
}, total: 0
tableHeader: [ },
{ tableHeader: [
prop: 'insp_name__insp_name', {
label: '巡检表名称' prop: 'insp_name__insp_name',
}], label: '巡检表名称'
id: '', }],
dialogFormVisible: false, id: '',
dialogEditVisible: false, dialogFormVisible: false,
formLabelWidth: '120px', dialogEditVisible: false,
whereSql: false, formLabelWidth: '120px',
whereValue: '' whereSql: false,
} whereValue: ''
}, }
created() { },
this.getList() created() {
}, this.getList()
mounted() { },
}, mounted() {
methods: { },
getList() { methods: {
this.loading = true getList() {
let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize this.loading = true
if (pageNo < 0) { let pageNo = this.pager.pageNo * this.pager.pageSize - this.pager.pageSize
pageNo = 0 if (pageNo < 0) {
} pageNo = 0
api.getDate( }
this.pager.pageSize, api.getDate(
pageNo, this.pager.pageSize,
this.whereSql, pageNo,
this.whereValue this.whereSql,
).then(data => { this.whereValue
if (data.success) { ).then(data => {
this.data = data.data.root if (data.success) {
this.pager.total = data.data.total this.data = data.data.root
setTimeout(() => { this.pager.total = data.data.total
this.loading = false setTimeout(() => {
}, 200) this.loading = false
} else { }, 200)
this.$message.error(data.message) } else {
} this.$message.error(data.message)
}) }
}, })
editCreate() { },
this.title = '新增' editCreate() {
this.dialogFormVisible = true this.title = '新增'
this.form = JSON.parse(JSON.stringify(this.initForm)) this.dialogFormVisible = true
}, this.form = JSON.parse(JSON.stringify(this.initForm))
create() { },
this.$refs['form'].validate((valid) => { create() {
if (valid) { this.$refs['form'].validate((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` if (valid) {
api.Crerte(data).then(data => { 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`
if (data.success) { api.Crerte(data).then(data => {
this.getList() if (data.success) {
this.dialogFormVisible = false this.getList()
this.$refs['form'].resetFields() this.dialogFormVisible = false
this.$message.success('保存成功!') this.$refs['form'].resetFields()
} else { this.$message.success('保存成功!')
this.$message.error(data.message) } else {
} this.$message.error(data.message)
}) }
} })
}) }
}, })
cellDblclick(row) { },
this.$emit('updateInspName', row) cellDblclick(row) {
}, this.$emit('updateInspName', row)
sizeChange(size) { },
this.pager.pageSize = size sizeChange(size) {
this.getList() this.pager.pageSize = size
}, this.getList()
pageChange(page) { },
this.pager.pageNo = page pageChange(page) {
this.getList() this.pager.pageNo = page
} this.getList()
} }
} }
</script> }
<style lang="scss" scoped> </script>
.el-card { <style lang="scss" scoped>
margin-top: 10px; .el-card {
} margin-top: 10px;
</style> }
::v-deep .el-table .cell {
line-height: 33px;
}
</style>

View File

@ -1,11 +1,11 @@
import request from '@/utils/request' import request from '@/utils/request'
export default { export default {
getDate(id, pageSize, pageNo, whereSql) { getDate(id, pageSize, pageNo, isWhereSql, whereValue) {
return request({ return request({
url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=subeditgrid&query_funid=insp_det&user_id=administrator`, url: `/commonAction.do?eventcode=query_data&funid=queryevent&pagetype=subeditgrid&query_funid=insp_det&user_id=administrator`,
method: 'post', method: 'post',
data: `start=${pageNo}&limit=${pageSize}&${whereSql}&is_query=1&query_type=0` data: `start=${pageNo}&limit=${pageSize}&where_sql=insp_det.safe_insp_id = ?&where_value=${id}&where_type=string&is_query=1&query_type=0`
}).then(response => response.data) }).then(response => response.data)
}, },
getDeptTree() { getDeptTree() {

View File

@ -5,7 +5,7 @@
<div> <div>
<buttons funid="insp_det" style="margin-bottom:10px" @Create="editCreate" @Del="editDelete" @upload="upload" /> <buttons funid="insp_det" style="margin-bottom:10px" @Create="editCreate" @Del="editDelete" @upload="upload" />
</div> </div>
<Search funid="insp_det" @search="search" /> <Search funid="insp_det" :wsql="where_sql" :wvalue="where_value" :wtype="where_type" @search="search" />
</div> </div>
<el-table <el-table
ref="deptTable" ref="deptTable"
@ -15,6 +15,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
@ -193,8 +194,11 @@ export default {
label: 'sys_dept__dept_name' label: 'sys_dept__dept_name'
}, },
treeList: [], treeList: [],
whereSql: false, whereSql: '',
whereValue: '', whereValue: '',
where_sql: 'insp_item.insp_name_id = ?',
where_value: this.$props.id,
where_type: 'string',
dialogUploadVisible: false dialogUploadVisible: false
} }
}, },

View File

@ -43,7 +43,7 @@
</div> </div>
<div v-else-if="d.label === '操作'"> <div v-else-if="d.label === '操作'">
<el-button icon="el-icon-view" type="text" size="mini" title="编辑" @click="edit(scope.row)" /> <el-button icon="el-icon-view" type="text" size="mini" title="编辑" @click="edit(scope.row)" />
<el-button v-if="scope.row.status !== 'NULLIFY'" icon="el-icon-delete" style="color:#F56C6C" type="text" title="删除" @click="Delete(scope.row)" /> <!-- <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>