480 lines
14 KiB
Vue
480 lines
14 KiB
Vue
<template>
|
|
<div class="app-container">
|
|
<div class="filter-container">
|
|
<el-form label-width="50px">
|
|
<el-row>
|
|
<el-col :span="6">
|
|
<el-form-item label="安全操作规程名称:" label-width="150px">
|
|
<el-input v-model="form.KEYWORDS" placeholder="请输入" class="filter-item"/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label-width="10px">
|
|
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
|
搜索
|
|
</el-button>
|
|
<el-button v-waves class="filter-item" type="success" icon="el-icon-magic-stick" @click="addCondition">
|
|
添加其他搜索条件
|
|
</el-button>
|
|
<el-button v-waves class="filter-item" type="success" icon="el-icon-magic-stick" @click="clearMessage">
|
|
重置
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
</div>
|
|
<el-table
|
|
v-loading="listLoading"
|
|
ref="multipleTable"
|
|
:row-key="getRowKey"
|
|
:data="varList"
|
|
:header-cell-style="{
|
|
'font-weight': 'bold',
|
|
'color': '#000'
|
|
}"
|
|
:row-class-name="tableRowClassName"
|
|
tooltip-effect="dark"
|
|
border
|
|
fit
|
|
highlight-current-row>
|
|
>
|
|
<el-table-column
|
|
:reserve-selection="true"
|
|
type="selection"
|
|
width="55"
|
|
align="center"/>
|
|
<el-table-column type="index" label="序号" width="50" align="center" />
|
|
<el-table-column align="center" prop="REMARKS" label="安全操作规程名称" />
|
|
<el-table-column align="center" prop="TYPES" label="类型" >
|
|
<template slot-scope="{row}">
|
|
<el-tag
|
|
v-for="tag in row.TYPES"
|
|
:key="tag.BUS_LIBRARY_LABELS_ID"
|
|
:disable-transitions="false"
|
|
type="warning"
|
|
style="margin-right: 10px;margin-bottom: 10px">
|
|
{{ tag.CATEGORY_NAME }}
|
|
</el-tag>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="LABEL" align="center" label="标签" >
|
|
<template slot-scope="{row}">
|
|
<el-tag
|
|
v-for="tag in row.labels"
|
|
:key="tag.BUS_LIBRARY_LABELS_ID"
|
|
:disable-transitions="false"
|
|
type="warning"
|
|
style="margin-right: 10px;margin-bottom: 10px">
|
|
{{ tag.NAME }}
|
|
</el-tag>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="SPECIFICATION_TYPES" label="国民经济行业类型" width="300px">
|
|
<template slot-scope="{row}">
|
|
<div v-if="(row.SPECIFICATION_TYPES && row.SPECIFICATION_TYPES.length > 0) && ((!row.CATEGORY_LIST) || (!row.CATEGORY_LIST[0]) || (row.CATEGORY_LIST[0].CATEGORY_ID !== '8051d985a2bc406a83ea9360b64182b2')) ">
|
|
<el-tag
|
|
v-for="tag in row.SPECIFICATION_TYPES"
|
|
:key="tag.BUS_LIBRARY_LABELS_ID"
|
|
:disable-transitions="false"
|
|
type="warning"
|
|
style="margin-right: 10px;margin-bottom: 10px">
|
|
{{ tag.CATEGORY_NAME }}
|
|
</el-tag>
|
|
</div>
|
|
<div v-else>
|
|
<el-tag type="warning">通用</el-tag>
|
|
</div>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="UPLOAD_TIME" label="上传时间" width="90px"/>
|
|
<el-table-column v-if="false" :show-overflow-tooltip="true" align="center" prop="UPLOAD_USER_NAME" width="100px" label="数据来源" >
|
|
<template slot-scope="{row}">
|
|
{{ '资源库数据' }}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="操作" align="center" width="200px">
|
|
<template slot-scope="{row}">
|
|
<el-row>
|
|
<el-col :span="14">
|
|
<el-button v-show="!row.LOCKTOOL" type="primary" icon="el-icon-edit" size="mini" @click="handleCopy(row)">加入本地</el-button>
|
|
</el-col>
|
|
<el-col :span="10">
|
|
<el-button type="primary" icon="el-icon-edit" size="mini" @click="getInformation(row)">查看</el-button>
|
|
</el-col>
|
|
</el-row>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<div class="page-btn-group">
|
|
<div/>
|
|
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
|
</div>
|
|
<edit-text-library ref="editTextLibrary" :title="title" @logical-end="saveClose"/>
|
|
<text-library-info ref="textLibraryInfo"/>
|
|
<update-file ref="updateFile"/>
|
|
<update-log ref="updateLog"/>
|
|
<condition ref="condition" @getResult="getCondition"/>
|
|
</div>
|
|
</template>
|
|
<style>
|
|
.el-table .warning-row {
|
|
background: oldlace;
|
|
}
|
|
</style>
|
|
<script>
|
|
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
|
import { requestFN } from '@/utils/request'
|
|
import waves from '@/directive/waves'
|
|
import editTextLibrary from './editTextLibrary.vue'
|
|
import textLibraryInfo from './textLibraryInfo.vue'
|
|
import updateFile from './updateFile.vue'
|
|
import updateLog from './updateLog.vue'
|
|
import UpdateLog from './updateLog.vue'
|
|
import condition from './condition.vue'
|
|
export default {
|
|
components: { UpdateLog, Pagination, editTextLibrary, textLibraryInfo, updateFile, updateLog, condition },
|
|
directives: { waves },
|
|
data() {
|
|
return {
|
|
config: config,
|
|
listLoading: true,
|
|
add: false,
|
|
del: false,
|
|
edit: false,
|
|
listQuery: {
|
|
page: 1,
|
|
limit: 10
|
|
},
|
|
total: 0,
|
|
form: {
|
|
KEYWORDS: '',
|
|
labels: [],
|
|
CATEGORY_LIST: [],
|
|
TYPES: [],
|
|
SPECIFICATION_TYPES: [],
|
|
STATUS: ''
|
|
},
|
|
label_name: '',
|
|
|
|
varList: [],
|
|
pd: [],
|
|
isEdit: false,
|
|
isLook: false,
|
|
title: ''
|
|
}
|
|
},
|
|
created() {
|
|
this.getList()
|
|
},
|
|
methods: {
|
|
getRowKey(row) {
|
|
return row.BLACKSPOT_ID
|
|
},
|
|
getQuery() {
|
|
this.$refs.multipleTable.clearSelection()
|
|
this.getList()
|
|
},
|
|
addCondition() {
|
|
this.$refs.condition.init()
|
|
},
|
|
getCondition(info) {
|
|
this.form.CATEGORY_LIST = info.CATEGORY_LIST
|
|
this.form.TYPES = info.TYPES
|
|
this.form.SPECIFICATION_TYPES = info.SPECIFICATION_TYPES
|
|
this.form.labels = info.LABELS
|
|
},
|
|
clearMessage() {
|
|
this.label_name = ''
|
|
this.form = {
|
|
KEYWORDS: '',
|
|
labels: [],
|
|
CATEGORY_LIST: [],
|
|
TYPES: [],
|
|
SPECIFICATION_TYPES: [],
|
|
STATUS: ''
|
|
}
|
|
this.$refs.condition.clear()
|
|
this.getList()
|
|
},
|
|
getList() {
|
|
this.listLoading = true
|
|
requestFN(
|
|
'/textLibrary/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
|
{
|
|
KEYWORDS: this.form.KEYWORDS,
|
|
CATEGORY_LIST: JSON.stringify(this.form.CATEGORY_LIST),
|
|
TYPES: JSON.stringify(this.form.TYPES),
|
|
SPECIFICATION_TYPES: JSON.stringify(this.form.SPECIFICATION_TYPES),
|
|
labels: JSON.stringify(this.form.labels),
|
|
STATUS: this.form.STATUS,
|
|
ASSOCIATION: '0',
|
|
CORPINFO_ID: '0'
|
|
}
|
|
).then((data) => {
|
|
this.listLoading = false
|
|
this.varList = data.varList
|
|
this.total = data.page.totalResult
|
|
this.hasButton()
|
|
this.pd = data.pd
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
},
|
|
handleAdd() {
|
|
this.title = '新增'
|
|
this.$refs.editTextLibrary.init()
|
|
},
|
|
handleEdit(e) {
|
|
this.title = '编辑'
|
|
this.$refs.editTextLibrary.init({ e: e, isEdit: true })
|
|
},
|
|
getInformation(e) {
|
|
this.$refs.textLibraryInfo.init({ e: e })
|
|
},
|
|
handleDelete(e) {
|
|
this.$confirm('确定要删除吗?', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
this.listLoading = true
|
|
requestFN(
|
|
'/textLibrary/delete',
|
|
{
|
|
BUS_TEXT_LIBRARY_ID: e.BUS_TEXT_LIBRARY_ID
|
|
}
|
|
).then((data) => {
|
|
if (data.code === '0') {
|
|
this.$message({
|
|
message: '删除成功',
|
|
type: 'success'
|
|
})
|
|
this.listLoading = false
|
|
this.varList = []
|
|
this.listQuery.page = 1
|
|
this.getList()
|
|
} else {
|
|
this.listLoading = false
|
|
this.$message.error(data.errorMessage)
|
|
}
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
}).catch((e) => {
|
|
console.log(e)
|
|
})
|
|
},
|
|
handleLock(e, flag) {
|
|
this.$confirm(flag === '1' ? '确定要锁定吗?' : '确定要解锁吗?', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
this.listLoading = true
|
|
requestFN(
|
|
'/textLibrary/lock',
|
|
{
|
|
BUS_TEXT_LIBRARY_ID: e.BUS_TEXT_LIBRARY_ID,
|
|
isLock: flag
|
|
}
|
|
).then(() => {
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success'
|
|
})
|
|
this.listLoading = false
|
|
this.varList = []
|
|
this.listQuery.page = 1
|
|
this.getList()
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
}).catch((e) => {
|
|
console.log(e)
|
|
})
|
|
},
|
|
handleTop(e, flag) {
|
|
this.$confirm(flag === '1' ? '确定要置顶吗?' : '确定要取消置顶吗?', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
this.listLoading = true
|
|
requestFN(
|
|
'/textLibrary/top',
|
|
{
|
|
BUS_TEXT_LIBRARY_ID: e.BUS_TEXT_LIBRARY_ID,
|
|
isTop: flag
|
|
}
|
|
).then(() => {
|
|
this.$message({
|
|
message: '操作成功',
|
|
type: 'success'
|
|
})
|
|
this.listLoading = false
|
|
this.varList = []
|
|
this.listQuery.page = 1
|
|
this.getList()
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
}).catch((e) => {
|
|
console.log(e)
|
|
})
|
|
},
|
|
handleExport(e) {
|
|
this.$confirm('确定要导出文件吗?', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
if (e.MIGRATION_FLAG === '1') {
|
|
window.open(config.fileUrl + e.PATH)
|
|
} else {
|
|
window.open(e.PATH)
|
|
}
|
|
}).catch((e) => {
|
|
console.log(e)
|
|
})
|
|
},
|
|
batchDel() {
|
|
const _selectData = this.$refs.multipleTable.selection
|
|
if (_selectData == null || _selectData.length == 0) {
|
|
this.$message({
|
|
message: '请选中要删除的项...',
|
|
type: 'error'
|
|
})
|
|
return false
|
|
}
|
|
const _ids = _selectData.filter((item, index) => {
|
|
return item.LOCKTOOL
|
|
})
|
|
if (_ids.length > 0) {
|
|
this.$message.error('选中的数据有锁定数据,请重新选择')
|
|
return
|
|
}
|
|
const ids = _selectData.map((item, index) => {
|
|
return item.BUS_TEXT_LIBRARY_ID
|
|
}).join(',')
|
|
|
|
this.$confirm('确定要删除选中的数据吗?', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
this.listLoading = true
|
|
requestFN(
|
|
'/textLibrary/deleteAll',
|
|
{
|
|
DATA_IDS: ids
|
|
}
|
|
).then(() => {
|
|
this.$message({
|
|
message: '删除成功',
|
|
type: 'success'
|
|
})
|
|
this.listLoading = false
|
|
this.varList = []
|
|
this.listQuery.page = 1
|
|
this.$refs.multipleTable.clearSelection()
|
|
this.getList()
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
}).catch(() => {
|
|
})
|
|
},
|
|
hasButton: function() {
|
|
var keys = 'textlibraryOne:add,textlibraryOne:del,textlibraryOne:edit,toExcel'
|
|
requestFN(
|
|
'/head/hasButton',
|
|
{
|
|
keys: keys
|
|
}
|
|
).then((data) => {
|
|
this.add = data.textlibraryOnefhadminadd // 新增权限
|
|
this.del = data.textlibraryOnefhadmindel // 删除权限
|
|
this.edit = data.textlibraryOnefhadminedit // 修改权限
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
},
|
|
tableRowClassName({ row, rowIndex }) {
|
|
if (row.ISTOPTIME) {
|
|
return 'warning-row'
|
|
}
|
|
},
|
|
saveClose(e) {
|
|
this.getList()
|
|
},
|
|
openUpdateFile(row) {
|
|
this.$refs.updateFile.init(row)
|
|
},
|
|
openUpdateLog(row) {
|
|
this.$refs.updateLog.init(row)
|
|
},
|
|
setStatus(row, status) {
|
|
this.listLoading = true
|
|
this.$confirm('是否更改状态?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
requestFN(
|
|
'/textLibrary/setStatus',
|
|
{
|
|
BUS_TEXT_LIBRARY_ID: row.BUS_TEXT_LIBRARY_ID,
|
|
STATUS: status
|
|
}
|
|
).then((data) => {
|
|
this.listLoading = false
|
|
this.$message({
|
|
type: 'success',
|
|
message: '修改成功!'
|
|
})
|
|
this.getList()
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
}).catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消'
|
|
})
|
|
this.listLoading = false
|
|
})
|
|
},
|
|
handleCopy(row) {
|
|
this.$confirm('确定要将此条数据添加到本地', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
this.copyInfo(row)
|
|
}).catch((e) => {
|
|
console.log(e)
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消添加'
|
|
})
|
|
})
|
|
},
|
|
copyInfo(row) {
|
|
requestFN(
|
|
'/textLibrary/copyToOperate?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
|
{ BUS_TEXT_LIBRARY_ID: row.BUS_TEXT_LIBRARY_ID }
|
|
).then((data) => {
|
|
if (data.code === '0') {
|
|
this.$message.success('添加成功')
|
|
} else {
|
|
this.$message.success('添加失败')
|
|
}
|
|
}).catch((e) => {
|
|
this.$message.success('添加失败')
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|