:feat:consulting/device.view.py 设备台账搜索
This commit is contained in:
parent
80a8bd19c7
commit
5552a52b79
File diff suppressed because one or more lines are too long
|
@ -16,4 +16,11 @@ export function DeviceImp(data) {
|
|||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function getDeviceListAll() {
|
||||
return request({
|
||||
url: '/consulting/device/no_page',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
|
@ -207,7 +207,7 @@ export const asyncRoutes = [
|
|||
path: 'device',
|
||||
name: 'device',
|
||||
component: () => import('@/views/consulting/device.vue'),
|
||||
meta: { title: '设备台账', perms: ['policy_view'] }
|
||||
meta: { title: '设备台账', perms: ['device_view'] }
|
||||
}, {
|
||||
path: 'validation',
|
||||
name: 'validation',
|
||||
|
|
|
@ -379,8 +379,6 @@
|
|||
this.qtaskId = sessionStorage.getItem('qtaskId');
|
||||
this.getOptions();
|
||||
this.getQtaskDept();
|
||||
|
||||
|
||||
},
|
||||
methods: {
|
||||
//领域类型和领域名称
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
icon="el-icon-upload"
|
||||
:disabled="checkPermission['device_import']"
|
||||
>导入Excel</el-button>
|
||||
<el-button @click="clearFilter" icon="el-icon-clear" type="primary" >清除所有过滤器</el-button>
|
||||
</el-card>
|
||||
<el-card style="margin-top: 10px">
|
||||
<el-table
|
||||
|
@ -27,25 +28,50 @@
|
|||
stripe
|
||||
highlight-current-row
|
||||
max-height="700"
|
||||
ref="filterTable"
|
||||
>
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column align="left" label="公司名称">
|
||||
<template slot-scope="scope">{{ scope.row.company_name }}</template>
|
||||
<el-table-column align="left"
|
||||
label="公司名称"
|
||||
prop="company_name"
|
||||
column-key="company_name"
|
||||
:filters="companylist"
|
||||
:filter-method="filterHandler"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="设备名称">
|
||||
<template slot-scope="scope">{{ scope.row.device_name }}</template>
|
||||
<el-table-column align="left"
|
||||
label="设备名称"
|
||||
prop="device_name"
|
||||
column-key="device_name"
|
||||
:filters="devicelist"
|
||||
:filter-method="filterHandler" >
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="设备编号">
|
||||
<template slot-scope="scope">{{ scope.row.device_number }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="规格型号">
|
||||
<template slot-scope="scope">{{ scope.row.spec }}</template>
|
||||
<el-table-column align="left"
|
||||
label="规格型号"
|
||||
prop="spec"
|
||||
column-key="spec"
|
||||
:filters="speclist"
|
||||
:filter-method="filterHandler"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="生产厂家">
|
||||
<template slot-scope="scope">{{ scope.row.manufactor }}</template>
|
||||
<el-table-column align="left"
|
||||
label="生产厂家"
|
||||
prop="manufactor"
|
||||
column-key="manufactor"
|
||||
:filters="manufactorlist"
|
||||
:filter-method="filterHandler"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="检测参数">
|
||||
<template slot-scope="scope">{{ scope.row.dec_parameter }}</template>
|
||||
<el-table-column align="left"
|
||||
label="检测参数"
|
||||
prop="dec_parameter"
|
||||
column-key="dec_parameter"
|
||||
:filters="dec_parameterlist"
|
||||
:filter-method="filterHandler"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="量程">
|
||||
<template slot-scope="scope">{{ scope.row.range }}</template>
|
||||
|
@ -59,8 +85,13 @@
|
|||
<el-table-column align="left" label="使用部门">
|
||||
<template slot-scope="scope">{{ scope.row.department }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="采购时间">
|
||||
<template slot-scope="scope">{{ scope.row.procurement_time }}</template>
|
||||
<el-table-column align="left"
|
||||
label="采购时间"
|
||||
prop="procurement_time"
|
||||
column-key="procurement_time"
|
||||
:filters="procurement_timelist"
|
||||
:filter-method="filterHandler"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column align="left" label="资产原值">
|
||||
<template slot-scope="scope">{{ scope.row.original_price }}</template>
|
||||
|
@ -145,6 +176,7 @@
|
|||
import {
|
||||
getDeviceList,
|
||||
DeviceImp,
|
||||
getDeviceListAll,
|
||||
} from "@/api/device";
|
||||
import checkPermission from "@/utils/permission";
|
||||
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
|
||||
|
@ -163,6 +195,12 @@ export default {
|
|||
fileList:[],
|
||||
Content: defaultContent,
|
||||
listLoading:false,
|
||||
devicelist:[],
|
||||
companylist:[],
|
||||
speclist:[],
|
||||
procurement_timelist:[],
|
||||
manufactorlist:[],
|
||||
dec_parameterlist:[],
|
||||
dialogVisible: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
|
@ -178,6 +216,9 @@ export default {
|
|||
},
|
||||
};
|
||||
},
|
||||
mounted(){
|
||||
this.getALLData();
|
||||
},
|
||||
computed: {},
|
||||
watch: {
|
||||
filterOrgText(val) {
|
||||
|
@ -209,6 +250,10 @@ export default {
|
|||
that.Content.excel_path = null;
|
||||
}
|
||||
},
|
||||
filterHandler(value, row, column) {
|
||||
const property = column['property'];
|
||||
return row[property] === value;
|
||||
},
|
||||
importExcel(){
|
||||
this.dialogVisible = true;
|
||||
},
|
||||
|
@ -223,6 +268,23 @@ export default {
|
|||
}
|
||||
});
|
||||
},
|
||||
clearFilter() {
|
||||
this.getList();
|
||||
this.$refs.filterTable.clearFilter();
|
||||
},
|
||||
getALLData(){
|
||||
getDeviceListAll().then((response) => {
|
||||
if (response.data){
|
||||
this.devicelist = Array.from(new Set(response.data.map(item => JSON.stringify({text:item.device_name, value:item.device_name})))).map(item => JSON.parse(item));
|
||||
this.companylist = Array.from(new Set(response.data.map(item => JSON.stringify({text:item.company_name, value:item.company_name})))).map(item => JSON.parse(item));
|
||||
this.speclist = Array.from(new Set(response.data.map(item => JSON.stringify({text:item.spec, value:item.spec})))).map(item => JSON.parse(item));
|
||||
this.procurement_timelist = Array.from(new Set(response.data.map(item => JSON.stringify({text:item.procurement_time, value:item.procurement_time})))).map(item => JSON.parse(item));
|
||||
this.manufactorlist = Array.from(new Set(response.data.map(item => JSON.stringify({text:item.manufactor, value:item.manufactor})))).map(item => JSON.parse(item));
|
||||
this.dec_parameterlist = Array.from(new Set(response.data.map(item => JSON.stringify({text:item.dec_parameter, value:item.dec_parameter})))).map(item => JSON.parse(item));
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
async confirm(){
|
||||
let that = this;
|
||||
this.dialogVisible = false;
|
||||
|
|
|
@ -23,11 +23,11 @@
|
|||
<el-table-column label="活动参与单位数量" prop="participations"></el-table-column>
|
||||
<el-table-column label="活动中发挥的作用" prop="function"></el-table-column>
|
||||
<el-table-column label="活动收益(元)" prop="earnings" ></el-table-column>
|
||||
<!-- <el-table-column align="center" label="文件下载">
|
||||
<template slot-scope="scope" v-if="scope.row.file_.file">
|
||||
<el-link :href="scope.row.file_.file" type="primary">下载</el-link>
|
||||
<el-table-column align="center" label="文件下载">
|
||||
<template slot-scope="scope" v-if="scope.row.file">
|
||||
<el-link :href="scope.row.file" type="primary">下载</el-link>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作" width="120px" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-link :disabled="!checkPermission(['infoCollect_QA'])" type="primary" size="small"
|
||||
|
@ -49,7 +49,7 @@
|
|||
:limit.sync="listQuery.page_size" @pagination="getTableList" />
|
||||
</el-card>
|
||||
<el-dialog :visible.sync="dialogVisible" :title="dialogType === 'edit' ? '编辑' : '新增'">
|
||||
<el-form ref="Form" :model="Content" label-width="80px" label-position="right" :rules="rule">
|
||||
<el-form ref="Form" :model="Content" label-width="80px" label-position="right">
|
||||
<el-form-item label="名称" prop="name">
|
||||
<el-input v-model="Content.name" placeholder="名称"/>
|
||||
</el-form-item>
|
||||
|
@ -102,6 +102,19 @@
|
|||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="文件路径" prop="file">
|
||||
<el-upload
|
||||
ref="upload"
|
||||
:action="upUrl"
|
||||
:on-success="handleUpSuccess1"
|
||||
:on-remove="handleRemove1"
|
||||
:headers="upHeaders"
|
||||
:file-list="fileList"
|
||||
:limit="1">
|
||||
<el-button size="small" type="primary">上传文件</el-button>
|
||||
<div slot="tip" class="el-upload__tip">上传相关材料/照片压缩包</div>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
<div style="text-align: right">
|
||||
|
@ -133,10 +146,10 @@
|
|||
:headers="upHeaders"
|
||||
:file-list="fileList"
|
||||
:limit="1"
|
||||
accept=".doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip">
|
||||
accept=".doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip, .rar">
|
||||
<el-button size="small" type="primary">上传文件</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>``
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div style="text-align: right">
|
||||
<el-button type="danger" @click="close_dialog">取消</el-button>
|
||||
|
@ -188,13 +201,15 @@ const defaultContent = {
|
|||
name: "",
|
||||
roles: "",
|
||||
collaborators: "",
|
||||
orgunits: "",
|
||||
orgunits: "",
|
||||
place: "",
|
||||
activate_time: "",
|
||||
participations: "",
|
||||
function: "",
|
||||
earnings: ""
|
||||
};
|
||||
earnings: "",
|
||||
file:"",
|
||||
};
|
||||
|
||||
|
||||
export default {
|
||||
components: { Pagination, Treeselect },
|
||||
|
@ -210,6 +225,21 @@ export default {
|
|||
participations: "",
|
||||
function: "",
|
||||
earnings: "",
|
||||
file: " "
|
||||
},
|
||||
formLabelWidth: "120px",
|
||||
dialogFormVisible: false,
|
||||
dialogStatus: "",
|
||||
rules: {
|
||||
name: [{ required: true, message: "请输入名称", trigger: "blur" }],
|
||||
},
|
||||
list: null,
|
||||
listLoading: true,
|
||||
downloadLoading: false,
|
||||
filename: "",
|
||||
autoWidth: true,
|
||||
bookType: "xlsx",
|
||||
importHeaders: {
|
||||
},
|
||||
upHeaders: upHeaders(),
|
||||
upUrl: upUrl(),
|
||||
|
@ -254,7 +284,6 @@ export default {
|
|||
let height1 = document.getElementsByClassName('app-main')[0].clientHeight;
|
||||
let height2 = document.getElementsByClassName('elHeader')[0].clientHeight;
|
||||
that.tableHeight = height1 - height2 - 70;
|
||||
console.log(that.tableHeight)
|
||||
that.getList();
|
||||
|
||||
},
|
||||
|
@ -310,12 +339,10 @@ export default {
|
|||
if (!this.exportForm.startDate || !this.exportForm.endDate) {
|
||||
this.$message.error('请选择完整的起止日期!');
|
||||
return;}
|
||||
console.log(this.exportForm)
|
||||
exportData(this.exportForm).then((response) => {
|
||||
if (response.data) {
|
||||
let filename = '质量活动表.xlsx';
|
||||
let tableData = response.data;
|
||||
console.log(tableData)
|
||||
const ws = XLSX.utils.json_to_sheet(tableData.results);
|
||||
const wb = XLSX.utils.book_new();
|
||||
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
|
||||
|
@ -353,6 +380,13 @@ export default {
|
|||
this.Content.file = res.data.id;
|
||||
this.impForm.file = res.data.path;
|
||||
},
|
||||
handleUpSuccess1(res, file, filelist) {
|
||||
console.log(res)
|
||||
this.Content.file = res.data.path;
|
||||
},
|
||||
handleRemove1(file, filelist) {
|
||||
this.Content.file = null;
|
||||
},
|
||||
handleRemove(file, filelist) {
|
||||
this.Content.file = null;
|
||||
this.fileList = [];
|
||||
|
@ -370,7 +404,6 @@ export default {
|
|||
this.tableData.results =[];
|
||||
this.tableData.count =0;
|
||||
getgetMyRcs(this.listQuery).then((response) => {
|
||||
console.log(response);
|
||||
if (response.data) {
|
||||
this.tableData = response.data;
|
||||
|
||||
|
@ -399,7 +432,7 @@ export default {
|
|||
if (this.Content.file) {
|
||||
this.fileList = [
|
||||
{
|
||||
name: this.Content.file_.name,
|
||||
name: this.Content.name,
|
||||
url: this.Content.file,
|
||||
},
|
||||
];
|
||||
|
@ -431,7 +464,6 @@ export default {
|
|||
if (valid) {
|
||||
const isEdit = this.dialogType === "edit";
|
||||
if (isEdit) {
|
||||
console.log(this.Content)
|
||||
updateRc(this.Content.id, this.Content).then((response) => {
|
||||
if (response.data) {
|
||||
this.tableData = response.data;
|
||||
|
|
|
@ -30,6 +30,11 @@
|
|||
<el-table-column label="获奖日期">
|
||||
<template slot-scope="scope">{{ scope.row.awarded_date }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="文件下载">
|
||||
<template slot-scope="scope" v-if="scope.row.file">
|
||||
<el-link :href="scope.row.file" type="primary">下载</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作" width="120px" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-link :disabled="!checkPermission(['infoCollect_QC'])" type="primary" size="small"
|
||||
|
@ -73,6 +78,19 @@
|
|||
style="width:50%"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="文件路径" prop="file">
|
||||
<el-upload
|
||||
ref="upload"
|
||||
:action="upUrl"
|
||||
:on-success="handleUpSuccess1"
|
||||
:on-remove="handleRemove1"
|
||||
:headers="upHeaders"
|
||||
:file-list="fileList"
|
||||
:limit="1">
|
||||
<el-button size="small" type="primary">上传文件</el-button>
|
||||
<div slot="tip" class="el-upload__tip">上传相关材料/照片压缩包</div>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div style="text-align: right">
|
||||
<el-button type="danger" @click="dialogVisible = false">取消</el-button>
|
||||
|
@ -159,7 +177,8 @@ const defaultContent = {
|
|||
awardee_company: "",
|
||||
awardee_people: "",
|
||||
awarded_by: "",
|
||||
awarded_date: ""
|
||||
awarded_date: "",
|
||||
file:"",
|
||||
};
|
||||
export default {
|
||||
components: { Pagination, Treeselect },
|
||||
|
@ -172,7 +191,8 @@ export default {
|
|||
awardee_company: "",
|
||||
awardee_people: "",
|
||||
awarded_by: "",
|
||||
awarded_date: ""
|
||||
awarded_date: "",
|
||||
file:"",
|
||||
},
|
||||
upHeaders: upHeaders(),
|
||||
upUrl: upUrl(),
|
||||
|
@ -272,6 +292,13 @@ export default {
|
|||
this.Content.file = null;
|
||||
this.impForm.file = '';
|
||||
},
|
||||
handleUpSuccess1(res, file, filelist) {
|
||||
console.log(res)
|
||||
this.Content.file = res.data.path;
|
||||
},
|
||||
handleRemove1(file, filelist) {
|
||||
this.Content.file = null;
|
||||
},
|
||||
checkPermission,
|
||||
|
||||
filterNode(value, data) {
|
||||
|
|
Loading…
Reference in New Issue