deesCloud-web/scripts/dev.js

882 lines
24 KiB
JavaScript
Raw Normal View History

2025-08-01 16:50:32 +08:00
//组件
var devcomponent = {
template:`
<div>
<div style="display: flex;margin-top: 10px;">
<el-input v-model="input" placeholder="请输入井名" clearable style="width: 20%;"></el-input>
<el-button style="margin-left: 5px;" id ="bt_serach" plain type="primary" icon="el-icon-search" @click="getWell(input)">搜索</el-button>
<el-button style="margin-left: 5px;" id ="bt_add" plain type="primary" icon="el-icon-circle-plus-outline" @click="add_dev_manage_dialog()">新增</el-button>
</div>
<div class="span">
<el-table
:data="tableData"
style="width: 100%;font-size:14px"
:height="tHeight"
:cell-style="{background:'#304156'}"
border
>
<el-table-column
prop="wellNameSource"
label="井号"
:width="150"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="welltime"
label="建井时间"
:width="170">
</el-table-column>
<el-table-column
prop="welloperator"
label="操作用户"
:width="150"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="upload_user"
label="上传用户"
:width="150"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
label="操作"
width="120">
<template slot-scope="scope">
<el-button @click="show_pdf(scope.row)" type="text" size="medium">详情</el-button>
<el-button @click="export_pdf(scope.row)" type="text" size="medium">导出</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="block">
<span class="demonstration" style="background-color: #ECF5FF;"></span>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[50,100, 200, 300]"
:page-size="pagesize"
layout="total, sizes, prev, pager, next, jumper"
:total="recordTotal" style="background-color: #ECF5FF;">
</el-pagination>
</div>
<el-dialog
title="设备资产信息"
:visible.sync="pdf_visible"
:lock-scroll ="false"
:append-to-body="true"
width="93%">
<el-table
:data="dev_tableData"
style="width: 100%;font-size:14px"
:height="tHeight1"
:cell-style="{background:'#304156'}"
border
>
<el-table-column
prop="wellname"
label="井号"
:width="150"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="sid"
label="系列号"
:width="100"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="iid"
label="编码"
:width="100">
</el-table-column>
<el-table-column
prop="ver"
label="版本号"
:width="100"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="p_date"
label="出厂日期"
:width="100">
</el-table-column>
<el-table-column
prop="cal_date"
label="校准日期"
:width="100">
</el-table-column>
<el-table-column
prop="total_wt"
label="出厂累计工时"
:width="100">
</el-table-column>
<el-table-column
prop="cur_wt"
label="当次累计工时"
:width="100">
</el-table-column>
<!--
<el-table-column
prop="repair_cnt"
label="维保次数"
:width="100">
</el-table-column>
-->
<el-table-column
prop="region"
label="所属区域"
:width="100">
</el-table-column>
<el-table-column
prop="location"
label="所在地"
:width="100"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="responsible"
label="责任人"
:width="100"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
label="操作"
width="100">
<template slot-scope="scope">
<el-button v-if="scope.row.flag" @click="update_dev_m_dialog(scope.row)" type="text" size="medium">修改</el-button>
<el-button v-if="scope.row.flag" @click="remove_dev_m(scope.row)" type="text" size="medium">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
<el-dialog
title="设备信息"
:visible.sync="add_visible"
:lock-scroll ="false"
width="45%">
<el-form ref="bform" :model="form" :rules="rules" label-width="100px" :inline="false" class="demo-form-inline" size="medium">
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="井名" prop="wellname">
<el-select v-model="form.wellname" filterable placeholder="请选择井名">
<el-option
v-for="item in wellnames"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="系列号" prop="sid">
<el-input v-model="form.sid" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="编码" prop="iid">
<el-input v-model="form.iid" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="版本号" prop="ver">
<el-input v-model="form.ver" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="出厂日期" prop="p_date">
<el-date-picker
v-if="if_show_bt"
key="2"
style="width: 200px;"
v-model="form.p_date"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd">
</el-date-picker>
<el-date-picker
v-if="if_show_et"
key="2"
style="width: 200px;"
v-model="form.p_date"
type="date"
placeholder="选择日期"
format="MM-dd-yyyy"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="校准日期" prop="cal_date">
<el-date-picker
v-if="if_show_bt"
key="2"
style="width: 200px;"
v-model="form.cal_date"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd">
</el-date-picker>
<el-date-picker
v-if="if_show_et"
key="2"
style="width: 200px;"
v-model="form.cal_date"
type="date"
placeholder="选择日期"
format="MM-dd-yyyy"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="出厂累计工时" prop="total_wt">
<el-input v-model="form.total_wt" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="当次累计工时" prop="cur_wt">
<el-input v-model="form.cur_wt" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="所在地" prop="location">
<el-input v-model="form.location" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="责任人" prop="responsible">
<el-input v-model="form.responsible" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<!--<el-col :span="12">
<el-form-item label="维保次数" prop="repair_cnt">
<el-input v-model="form.repair_cnt" ></el-input>
</el-form-item>
</el-col>
-->
<el-col :span="12">
<el-form-item label="所属区域" prop="region">
<el-input v-model="form.region" ></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="add_visible = false"> </el-button>
<el-button id ="bt_ok" plain type="primary" @click="add_dev_manage()"> </el-button>
</span>
</el-dialog>
<el-dialog
title="设备信息"
:visible.sync="update_visible"
:lock-scroll ="false"
width="45%">
<el-form ref="bform" :model="form" :rules="rules" label-width="100px" :inline="false" class="demo-form-inline" size="medium">
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="井名" prop="wellname">
<el-select v-model="form.wellname" filterable placeholder="请选择井名" disabled >
<el-option
v-for="item in wellnames"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="系列号" prop="sid">
<el-input v-model="form.sid" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="编码" prop="iid">
<el-input v-model="form.iid" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="版本号" prop="ver">
<el-input v-model="form.ver" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="出厂日期" prop="p_date">
<el-date-picker
v-if="if_show_bt"
key="2"
style="width: 200px;"
v-model="form.p_date"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd">
</el-date-picker>
<el-date-picker
v-if="if_show_et"
key="2"
style="width: 200px;"
v-model="form.p_date"
type="date"
placeholder="选择日期"
format="MM-dd-yyyy"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="校准日期" prop="cal_date">
<el-date-picker
v-if="if_show_bt"
key="2"
style="width: 200px;"
v-model="form.cal_date"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd">
</el-date-picker>
<el-date-picker
v-if="if_show_et"
key="2"
style="width: 200px;"
v-model="form.cal_date"
type="date"
placeholder="选择日期"
format="MM-dd-yyyy"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="出厂累计工时" prop="total_wt">
<el-input v-model="form.total_wt" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="当次累计工时" prop="cur_wt">
<el-input v-model="form.cur_wt" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="所在地" prop="location">
<el-input v-model="form.location" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="责任人" prop="responsible">
<el-input v-model="form.responsible" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<!--<el-col :span="12">
<el-form-item label="维保次数" prop="repair_cnt">
<el-input v-model="form.repair_cnt" ></el-input>
</el-form-item>
</el-col>-->
<el-col :span="12">
<el-form-item label="所属区域" prop="region">
<el-input v-model="form.region" ></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="update_visible = false"> </el-button>
<el-button id ="bt_ok" plain type="primary" @click="update_dev_manage()"> </el-button>
</span>
</el-dialog>
</div>
`,
data(){
// 获取当前屏幕的分辨率
let screenW = window.screen.width;
let screenH = window.innerHeight;
console.log("screen width:",screenW);
console.log("screen height:",screenH);
return {
tHeight:screenH-192,
tHeight1:screenH*0.5,
tableData: Array(0),
input:'',
currentPage: 1,
pagesize:50,
recordTotal:0,
pdf_visible:false,
dev_tableData:[],
wellnames:[],
add_visible:false,
update_visible:false,
form: {
id:0,
wellname:'',
sid:'',
iid:'',
ver: '',
p_date:'',
cal_date:'',
total_wt:'',
cur_wt:'',
repair_cnt:'',
region:'',
location:'',
responsible:''
},
rules: {
wellname: [
{ required: true, message: '系列号不可为空', trigger: 'blur' }
],
sid: [
{ required: true, message: '系列号不可为空', trigger: 'blur' }
],
iid: [
{ required: true, message: '编码不可为空', trigger: 'blur' }
],
},
if_show_bt:true,
if_show_et:false,
ps_info:'',
}
},
mounted() {
var _this = this;
axios.post('/deescloud/get_page_setting', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
})
.then(function (response) {
if(response.data.r3=="1"){
_this.$data.ps_info = response.data;
_this.$data.if_show_bt=true;
_this.$data.if_show_et=false;
}else{
_this.$data.if_show_et=true;
_this.$data.if_show_bt=false;
}
})
.catch(function (error) {
console.log(error);
});
var objs;
axios.post('/deescloud/get_well_dev', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
index: this.$data.currentPage,
count: this.$data.pagesize
})
.then(function (response) {
console.log(response.data);
objs = response.data.data;
rcnt = response.data.total;
_this.$data.tableData = objs;
_this.$data.recordTotal = rcnt;
})
.catch(function (error) {
console.log(error);
});
},
methods: {
remove_dev_m(row){
var _this = this;
var r;
axios.post('/deescloud/remove_dev_manage', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
data:{
id: row.id
}
})
.then(function (response) {
console.log(response.data);
r = response.data.r;
if (r==0){
axios.post('/deescloud/get_dev_manage', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
wellname: row.wellname,
})
.then(function (response) {
console.log(response.data);
_this.$data.dev_tableData = response.data.data;
})
.catch(function (error) {
console.log(error);
});
_this.$message({
message: "删除成功",
type: "success",
duration: 1500
});
}else{
_this.$message({
message: "删除失败",
type: "error",
duration: 1500
});
}
})
.catch(function (error) {
console.log(error);
});
},
update_dev_manage(){
this.$refs['bform'].validate((valid) => {
if (valid) {
var _this = this;
var r;
axios.post('/deescloud/update_dev_manage', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
data:{
id:_this.$data.form.id,
wellname:_this.$data.form.wellname,
sid:_this.$data.form.sid,
iid:_this.$data.form.iid,
ver: _this.$data.form.ver,
p_date:_this.$data.form.p_date,
cal_date:_this.$data.form.cal_date,
total_wt:_this.$data.form.total_wt,
cur_wt:_this.$data.form.cur_wt,
repair_cnt:_this.$data.form.repair_cnt,
region:_this.$data.form.region,
location:_this.$data.form.location,
responsible:_this.$data.form.responsible
}
})
.then(function (response) {
console.log(response.data);
r = response.data.r;
if (r==0){
axios.post('/deescloud/get_dev_manage', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
wellname: _this.$data.form.wellname,
})
.then(function (response) {
console.log(response.data);
_this.$data.dev_tableData = response.data.data;
})
.catch(function (error) {
console.log(error);
});
_this.$message({
message: "修改成功",
type: "success",
duration: 1500
});
}else{
_this.$message({
message: "修改失败",
type: "error",
duration: 1500
});
}
_this.$data.update_visible=false;
})
.catch(function (error) {
console.log(error);
});
}})
},
update_dev_m_dialog(row){
this.$data.form.id=row.id;
console.log("wellname",row.wellname);
this.$data.form.wellname=row.wellname;
this.$data.form.sid=row.sid;
this.$data.form.iid=row.iid;
this.$data.form.ver= row.ver;
if(this.$data.ps_info.r3=="1"){
this.$data.form.p_date=row.p_date;
this.$data.form.cal_date=row.cal_date;
}else{
if (row.p_date.length>=10){
var arr = row.p_date.split("-")
var t = arr[2]+"-"+arr[0]+"-"+arr[1];
console.log(t);
this.$data.form.p_date=t;
}
if (row.cal_date.length>=10){
var arr = row.p_date.split("-")
var t = arr[2]+"-"+arr[0]+"-"+arr[1];
console.log(t);
this.$data.form.cal_date=t;
}
}
//this.$data.form.p_date=row.p_date;
//this.$data.form.cal_date=row.cal_date;
this.$data.form.total_wt=row.total_wt;
this.$data.form.cur_wt=row.cur_wt;
this.$data.form.repair_cnt=row.repair_cnt;
this.$data.form.region=row.region;
this.$data.form.location=row.location;
this.$data.form.responsible=row.responsible;
this.$nextTick(() => {
this.$refs['bform'].clearValidate()
});
this.$data.update_visible=true;
},
add_dev_manage(){
this.$refs['bform'].validate((valid) => {
if (valid) {
var _this = this;
var r;
axios.post('/deescloud/add_dev_manage', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
data:{
wellname:_this.$data.form.wellname,
sid:_this.$data.form.sid,
iid:_this.$data.form.iid,
ver: _this.$data.form.ver,
p_date:_this.$data.form.p_date,
cal_date:_this.$data.form.cal_date,
total_wt:_this.$data.form.total_wt,
cur_wt:_this.$data.form.cur_wt,
repair_cnt:_this.$data.form.repair_cnt,
region:_this.$data.form.region,
location:_this.$data.form.location,
responsible:_this.$data.form.responsible
}
})
.then(function (response) {
console.log(response.data);
r = response.data.r;
if (r==0){
_this.$message({
message: "添加成功",
type: "success",
duration: 1500
});
}else{
_this.$message({
message: "添加失败",
type: "error",
duration: 1500
});
}
_this.$data.add_visible=false;
})
.catch(function (error) {
console.log(error);
});
}})
},
add_dev_manage_dialog(){
document.getElementById("bt_add").blur();
this.$data.form.wellname='';
this.$data.form.sid='';
this.$data.form.iid='';
this.$data.form.ver= '';
this.$data.form.p_date='';
this.$data.form.cal_date='';
this.$data.form.total_wt='';
this.$data.form.cur_wt='';
this.$data.form.repair_cnt='';
this.$data.form.region='';
this.$data.form.location='';
this.$data.form.responsible='';
var _this = this;
axios.post('/deescloud/getWellNames',{
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
})
.then(function (response) {
console.log(response.data);
_this.$data.wellnames = response.data;
})
.catch(function (error) {
console.log(error);
});
this.$nextTick(() => {
this.$refs['bform'].clearValidate()
});
this.$data.add_visible=true;
},
export_pdf(row){
var _this = this;
axios.post('deescloud/get_dev_manage_pdf',{
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
wellname: row.wellNameSource
},
).then(function (response) {
console.log(response.data);
var fileid = response.data.fileId;
var downUrl = 'file/'+fileid;
downloadUrl(row.wellNameSource+"-设备资产管理报告.pdf",downUrl);
})
.catch(function (error) {
console.log(error);
});
},
show_pdf(row){
let _this= this;
axios.post('/deescloud/get_dev_manage', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
wellname: row.wellNameSource,
})
.then(function (response) {
console.log(response.data);
_this.$data.dev_tableData = response.data.data;
_this.$data.pdf_visible = true;
})
.catch(function (error) {
console.log(error);
});
},
getWell(_search_name){
document.getElementById("bt_serach").blur();
this.$data.currentPage=1;
var _this = this;
var objs;
axios.post('/deescloud/get_well_dev', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
Wellname: _search_name,
index: this.$data.currentPage,
count: this.$data.pagesize
})
.then(function (response) {
console.log(response.data);
objs = response.data.data;
rcnt = response.data.total;
_this.$data.tableData = objs;
_this.$data.recordTotal = rcnt;
})
.catch(function (error) {
console.log(error);
});
},
handleSizeChange(val) {
//console.log(`每页 ${val} 条`);
this.$data.pagesize = val;
var _this = this;
var objs;
axios.post('/deescloud/get_well_dev', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
Wellname: this.$data.input,
index: this.$data.currentPage,
count: this.$data.pagesize
})
.then(function (response) {
console.log(response.data);
objs = response.data.data;
rcnt = response.data.total;
_this.$data.tableData = objs;
_this.$data.recordTotal = rcnt;
})
.catch(function (error) {
console.log(error);
});
},
handleCurrentChange(val) {
//console.log(`当前页: ${val}`);
this.$data.currentPage = val;
var _this = this;
var objs;
axios.post('/deescloud/get_well_dev', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
Wellname: this.$data.input,
index: this.$data.currentPage,
count: this.$data.pagesize
})
.then(function (response) {
console.log(response.data);
objs = response.data.data;
rcnt = response.data.total;
_this.$data.tableData = objs;
_this.$data.recordTotal = rcnt;
})
.catch(function (error) {
console.log(error);
});
},
}
}