var devcomponent = {
		template:`
		<div>
			<div style="display: flex;margin-top: 10px; flex-wrap: wrap; align-items: center;">
				<el-radio-group v-model="radio1" @change="radio_change" style="display: inline-flex; flex-direction: row; flex-wrap: nowrap;">
				<el-radio-button label="1">井位</el-radio-button>
				<el-radio-button label="2">设备</el-radio-button>
				</el-radio-group>
				<!-- 井位页签的筛选框放在这里，与页签同行 -->
				<div v-if="radio1=='1'" style="display: flex; margin-left: 20px; align-items: center;">
					<el-input v-model="input" placeholder="请输入井名" clearable style="width: 200px;"></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 v-if="radio1=='2'" style="display: flex; margin-left: 20px; align-items: center; flex-wrap: wrap;">
					<el-date-picker
						v-model="devSearchForm.in_time_start"
						type="date"
						placeholder="入井开始时间"
						value-format="yyyy-MM-dd"
						:picker-options="startTimeOptions"
						style="width: 160px;">
					</el-date-picker>
					<el-date-picker
						v-model="devSearchForm.in_time_end"
						type="date"
						placeholder="入井结束时间"
						value-format="yyyy-MM-dd"
						:picker-options="endTimeOptions"
						style="width: 160px; margin-left: 5px;">
					</el-date-picker>
			
				</div>

				<!-- 设备页签的时间筛选框，与页签同行 -->
				<div v-if="radio1=='2'" style="display: flex; align-items: center; margin-top: 10px; flex-wrap: wrap; white-space: nowrap;">
					<el-select v-model="devSearchForm.wellnameList" placeholder="请输入井名称" filterable clearable multiple collapse-tags style="width: 240px; max-width: 380px; margin-left: 0px;">
						<el-option v-for="item in devWellnameOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
					</el-select>
					<el-select v-model="devSearchForm.sid" placeholder="请输入系列号" filterable clearable multiple collapse-tags style="width: 220px; max-width: 320px; margin-left: 5px;">
						<el-option v-for="item in devSidOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
					</el-select>
					<el-select v-model="devSearchForm.iid" placeholder="请输入编号" filterable clearable multiple collapse-tags style="width: 180px; max-width: 320px; margin-left: 5px;">
						<el-option v-for="item in devIidOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
					</el-select>
					<el-select v-model="devSearchForm.engineerList" placeholder="请输入仪器工程师" filterable clearable multiple collapse-tags style="width: 170px; max-width: 320px; margin-left: 5px;">
						<el-option v-for="item in devEngineerOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
					</el-select>
					<el-button style="margin-left: 5px;" plain type="primary" icon="el-icon-search" @click="getDevList()">搜索</el-button>
					<el-button style="margin-left: 5px;" plain type="primary" icon="el-icon-document-checked" @click="exportSeirDetail()">导出仪器明细</el-button>
					<el-button style="margin-left: 5px;" plain type="primary" icon="el-icon-document-checked" @click="exportWellDetail()">导出井位明细</el-button>
				</div>
			</div>
			<div class="span" v-if='radio1=="1"' style="height: calc(100vh - 200px); overflow-x: auto;">
				<el-table
				    :data="tableData"
				    style="width: 100%;font-size:14px"
				    height="100%"
					: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" v-if='radio1=="1"'>
			    <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>
				<div class="span" v-if='radio1=="2"' style="height: calc(100vh - 250px); overflow-x: auto;">
					<el-table
						:data="devListTableData"
						style="width: 100%;font-size:14px"
						height="100%"
						:cell-style="{background:'#304156'}"
						border
					>
				    <el-table-column
				      prop="instrument_name"
				      label="仪器名称"
				      :width="150"
					  :show-overflow-tooltip="true">
				    </el-table-column>
				    <el-table-column
				      prop="sid"
				      label="系列号"
				     :width="120">
				    </el-table-column>
				    
				    <el-table-column
				      prop="iid"
				      label="编号"
				      :width="120"
					  :show-overflow-tooltip="true">
				    </el-table-column>
					<el-table-column
					  prop="wellname"
					  label="井名称"
					  :width="150"
					  :show-overflow-tooltip="true">
					</el-table-column>
					  <el-table-column
						prop="pInTime"
						label="人员上井时间"
						width="160">
						</el-table-column>
					<el-table-column
						prop="pOutTime"
						label="人员离井时间"
						width="160">
						</el-table-column>
					<el-table-column
					      prop="in_time"
					      label="仪器入井时间"
					      width="160">
					    </el-table-column>
					<el-table-column
					      prop="out_time"
					      label="仪器出井时间"
					      width="160">
					    </el-table-column>
					<el-table-column
					      prop="engineer"
					      label="仪器工程师"
					      width="120">
					    </el-table-column>
					<el-table-column
					      prop="duration_current"
					      label="仪器本次使用时长(h)"
					      width="160">
					    </el-table-column>
					<el-table-column
					      prop="duration_total"
					      label="仪器出厂累计时长(h)"
					      width="160">
					    </el-table-column>
					<el-table-column
					      prop="location"
					      label="所在地"
					      width="150"
						  :show-overflow-tooltip="true">
					    </el-table-column>
				  </el-table>
			</div>
			<div class="block" v-if='radio1=="2"' style="margin-top: 5px; margin-bottom: 5px;">
			    <span class="demonstration" style="background-color: #ECF5FF;"></span>
			    <el-pagination
			      @size-change="handleDevSizeChange"
			      @current-change="handleDevCurrentChange"
			      :current-page="devCurrentPage"
			      :page-sizes="[50,100, 200, 300]"
			      :page-size="devPagesize"
			      layout="total, sizes, prev, pager, next, jumper"
			      :total="devRecordTotal" 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-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-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 {
            tHeight1: screenH * 0.5,
            tableData: [],
            input: '',
            currentPage: 1,
            pagesize: 50,
            recordTotal: 0,
            radio1: '1',
		
		// 设备列表相关数据
		devListTableData: [],
		devSearchForm: {
			sid: [],
			iid: [],
			wellname: '',
			wellnameList: [],
			engineerList: [],
			in_time_start: '',
			in_time_end: ''
		},
		// 设备筛选下拉选项
		devSidOptions: [],
		devIidOptions: [],
		devWellnameOptions: [],
		devEngineerOptions: [],
		
            devCurrentPage: 1,
            devPagesize: 50,
		devRecordTotal: 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:'',
		
		// 日期选择器配置
		startTimeOptions: {
			disabledDate: (time) => {
				if (this.devSearchForm.in_time_end) {
					return time.getTime() > new Date(this.devSearchForm.in_time_end).getTime();
				}
				return false;
			}
		},
		endTimeOptions: {
			disabledDate: (time) => {
				if (this.devSearchForm.in_time_start) {
					return time.getTime() < new Date(this.devSearchForm.in_time_start).getTime();
				}
				return false;
			}
		},
	  }
	},
	mounted() {
		var _this = this;
		
		this.getQueryWellData();
		this.getWell();

		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);
		  });
		
		// 获取设备筛选选项
		this.getDevFilterOptions();

		// 初始加载时自动执行查询，传入空字符串以获取所有数据或默认数据
		// 直接调用，不依赖 nextTick，因为 axios 请求不依赖 DOM 渲染
		this.getWell('');
	},
	methods: {
		getQueryWellData() {
			var _this = this;
			axios.post('/deescloud/getQueryWell', {
				opuser: localStorage.getItem("online_user"),
				opuser_uuid: localStorage.getItem("uuid")
			})
			.then(function (response) {
				console.log("getQueryWell 响应参数:", response.data);
				if (response.data && response.data.code === 0 && response.data.data) {
					const data = response.data.data;
					// 映射井名称选项
					if (data.wellNames && Array.isArray(data.wellNames)) {
						_this.devWellnameOptions = data.wellNames.map(name => ({
							value: name,
							label: name
						}));
					}
					// 映射系列号选项
					if (data.series && Array.isArray(data.series)) {
						_this.devSidOptions = data.series.map(sid => ({
							value: sid,
							label: sid
						}));
					}
					// 映射编号/仪器选项
					if (data.instruments && Array.isArray(data.instruments)) {
						_this.devIidOptions = data.instruments.map(inst => ({
							value: inst,
							label: inst
						}));
					}
					// 映射工程师选项
					if (data.engineers && Array.isArray(data.engineers)) {
						_this.devEngineerOptions = data.engineers.map(engineer => ({
							value: engineer,
							label: engineer
						}));
					}
					// 注意：locations 目前前端模板中没有对应的 select 绑定变量，
					// 如果后续需要添加所在地和工程师的下拉筛选，需先在 data 中定义对应 options 变量并在模板中添加 el-select
				}
			})
			.catch(function (error) {
				console.error("getQueryWell 请求失败:", error);
			});
		},

	radio_change(){
		console.log(this.$data.radio1);
		// 切换到设备页签时，可以自动加载一次数据，或者依赖用户点击搜索
		if(this.$data.radio1 == '2') {
			this.getDevList();
		}
	},
	// 获取设备列表
	getDevList() {
		// 校验时间范围
		if (this.devSearchForm.in_time_start && this.devSearchForm.in_time_end) {
			if (new Date(this.devSearchForm.in_time_end) < new Date(this.devSearchForm.in_time_start)) {
				this.$message({
					message: "结束时间不能早于开始时间",
					type: "warning",
					duration: 2000
				});
				return;
			}
		}

		var _this = this;

		axios.post('/deescloud/get_dev_list', {
			opuser: localStorage.getItem("online_user"), // 操作用户
			opuser_uuid: localStorage.getItem("uuid"), // 用户UUID
			serial: this.$data.devSearchForm.sid, // 系列号筛选条件
			number: this.$data.devSearchForm.iid, // 编号筛选条件
			wellname: this.$data.devSearchForm.wellnameList, // 井名称筛选条件，使用用户选择的列表
			engineer: this.$data.devSearchForm.engineerList, // 仪器工程师筛选条件
			in_time_start: this.$data.devSearchForm.in_time_start, // 入井开始时间筛选条件
			in_time_end: this.$data.devSearchForm.in_time_end, // 入井结束时间筛选条件
			index: this.$data.devCurrentPage, // 当前页码
			count: this.$data.devPagesize // 每页数量
		})
		.then(function (response) {
			console.log(response.data);
			if(response.data && response.data.data) {
				// 兼容后端字段命名差异，统一映射到前端表格使用的字段
				_this.$data.devListTableData = (response.data.data || []).map(function(item) {
					var sid = item.sid != null ? item.sid : (item.serial != null ? item.serial : '');
					var iid = item.iid != null ? item.iid : (item.number != null ? item.number : '');
					var durationCurrent = item.duration_current != null ? item.duration_current : (item.current_work_time != null ? item.current_work_time : '');
					var durationTotal = item.duration_total != null ? item.duration_total : (item.total_work_time != null ? item.total_work_time : '');
					// 兼容 product_name 到 instrument_name
					var instrumentName = item.instrument_name != null ? item.instrument_name : (item.product_name != null ? item.product_name : '');
					var pInTime = item.p_in_time != null ? item.p_in_time : (item.p_in_time != null ? item.p_in_time : '');
                	var pOutTime = item.p_out_time != null ? item.p_out_time : (item.p_out_time != null ? item.p_out_time : '');
					return Object.assign({}, item, {
						sid: sid,
						iid: iid,
						duration_current: durationCurrent,
						duration_total: durationTotal,
						instrument_name: instrumentName,
						pInTime: pInTime,
						pOutTime: pOutTime
					});
				});
				_this.$data.devRecordTotal = response.data.total || 0;
			}
		})
		.catch(function (error) {
			console.log(error);
		});
	},
	handleDevSizeChange(val) {
		this.$data.devPagesize = val;
		this.$data.devCurrentPage = 1;
		this.getDevList();
	},
	handleDevCurrentChange(val) {
		this.$data.devCurrentPage = val;
		this.getDevList();
	},
	
	exportSeirDetail() {
		// 校验时间范围
		if (this.devSearchForm.in_time_start && this.devSearchForm.in_time_end) {
			if (new Date(this.devSearchForm.in_time_end) < new Date(this.devSearchForm.in_time_start)) {
				this.$message({
					message: "结束时间不能早于开始时间",
					type: "warning",
					duration: 2000
				});
				return;
			}
		}

		// 调用导出接口，参数与 getDevList 一致
		axios.post('/deescloud/export_Seir_detail', {
			opuser: localStorage.getItem("online_user"),
			opuser_uuid: localStorage.getItem("uuid"),
			serial: this.devSearchForm.sid,
			number: this.devSearchForm.iid,
			wellname: this.devSearchForm.wellnameList,
			engineer: this.devSearchForm.engineerList,
			in_time_start: this.devSearchForm.in_time_start,
			in_time_end: this.devSearchForm.in_time_end,
			index: this.devCurrentPage,
			count: this.devPagesize
		})
		.then(response => {
			console.log("导出井位明细响应:", response.data);
			
			// 判断返回码
			if (response.data && response.data.code === 1) {
				// 当 code=1 时，显示错误信息
				this.$message({
					message: response.data.msg || "导出失败",
					type: "error",
					duration: 2000
				});
				return;
			}
			
			// code 不为 1 时，正常处理文件下载
			if (response.data && response.data.fileId) {
				const fileid = response.data.fileId;
				const downUrl = 'file/' + fileid;
				downloadUrl("井上仪器明细清单（按仪器查询）.xlsx", downUrl);
			} else {
				this.$message({
					message: "导出失败：未获取到文件",
					type: "error",
					duration: 2000
				});
			}
		})
		.catch(error => {
			console.error("导出井位明细错误:", error);
			this.$message({
				message: "导出请求失败",
				type: "error",
				duration: 2000
			});
		});
	},
	
	exportWellDetail() {
		var _this = this;
		// 调用导出接口，参数与 getDevList 一致，支持多选井名
		axios.post('/deescloud/export_Well_detail', {
			opuser: localStorage.getItem("online_user"),
			opuser_uuid: localStorage.getItem("uuid"),
			serial: this.devSearchForm.sid,
			number: this.devSearchForm.iid,
			wellname: this.devSearchForm.wellnameList,
			engineer: this.devSearchForm.engineerList,
			in_time_start: this.devSearchForm.in_time_start,
			in_time_end: this.devSearchForm.in_time_end,
			index: this.devCurrentPage,
			count: this.devPagesize
		})
		.then(response => {
			console.log("导出井位明细响应:", response.data);
			// 增加 code=1 的错误处理
			if (response.data && response.data.code === 1) {
				_this.$message({
					message: response.data.msg || "导出失败",
					type: "error",
					duration: 2000
				});
				return;
			}
			if (response.data && response.data.fileId) {
				const fileid = response.data.fileId;
				const downUrl = 'file/' + fileid;
				downloadUrl("井上仪器明细清单（按井位查询）.xlsx", downUrl);
			} else {
				_this.$message({
					message: "导出失败：未获取到文件",
					type: "error",
					duration: 2000
				});
			}
		})
		.catch(error => {
			console.error("导出井位明细错误:", error);
			_this.$message({
				message: "导出请求失败",
				type: "error",
				duration: 2000
			});
		});
	},

	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.cal_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){
		
		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;
			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: 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);
			});
			
	},
	}	
	}
			