<template>
  <div>
    
	<header>
			<el-button type="primary" @click="onBZ">班组维护</el-button>
			<el-button type="primary" @click="onDel">删除</el-button>
			<el-button type="primary" @click="onxuncha">管理巡查</el-button>
			<el-button type="primary" @click="ondianjian">设备点检</el-button>
			<el-button type="primary" @click="onyinban">印版领退</el-button>
		</header>
		
		
    <el-container>
      <el-aside width="200px">
        <div class="JKWTree-tree">

          <h3  > 组织列表</h3>
          <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
        </div>

      </el-aside>
      <el-container>
<!--        <el-header>dd</el-header>-->
        <el-main>

          
<div class="gva-search-box" style="overflow: hidden; padding: 0; display: flex;">

			<div style="flex: 1; border: 1px magenta solid; margin: 0; padding: 0;">

			  <el-row :gutter="20">
				<el-col :span="24">
				  <el-form-item label="工单编号" prop="name">
					<el-row :gutter="20">
					  <el-col :span="6">
						<el-input v-model="formData.工单编号" :clearable="true" placeholder="ZT01733" />							
					  </el-col>
					  <el-col :span="18">
						<el-input v-model="formData.产品名称" :clearable="true" placeholder="ZT01733" />
					  </el-col>
					</el-row>
					
				  </el-form-item>
				</el-col>
			  </el-row>
			  
			  <el-row :gutter="20">
				<el-col :span="6">
				 <el-form-item label="印件编号" prop="id">
				   <el-input v-model="formData.印件编号" :clearable="true" placeholder="2023.12.14" />
				 </el-form-item>
				</el-col>
			  <el-col :span="17">
				 <el-form-item label="工序名称" prop="name">
				   <el-input v-model="formData.工序名称" :clearable="true" placeholder="A班" />
				 </el-form-item>
				</el-col>			    
			  </el-row>
			  
			  <el-row :gutter="20">
				<el-col :span="4">
				 <el-form-item label="班组成员" prop="id">				  					   
				 </el-form-item>
				</el-col>				  			    
			  </el-row>
                                 				  
<el-row :gutter="1">
			 
			 <el-col :span="4">
			   <el-input v-model="formData.sczl_bh1" :clearable="true" placeholder="ZT01733" />
			 </el-col>
			<el-col :span="4">
			  <el-input v-model="formData.sczl_bh2" :clearable="true" placeholder="ZT01733" />
			</el-col>
			  <el-col :span="4">			  			
				<el-input v-model="formData.sczl_bh3" :clearable="true" placeholder="ZT01733" />
			  </el-col>
			  
			 <el-col :span="4">
				<el-input v-model="formData.sczl_bh4" :clearable="true" placeholder="ZT01733" />
			  </el-col>
			  <el-col :span="4">
				<el-input v-model="formData.sczl_bh5" :clearable="true" placeholder="ZT01733" />
			  </el-col>
			  <el-col :span="4">
				<el-input v-model="formData.sczl_bh6" :clearable="true" placeholder="ZT01733" />
			  </el-col> 
			<!-- <el-col :span="1">
				<el-input v-model="formData.sczl_bh7" :clearable="true" placeholder="ZT01733" />
			  </el-col>
			  <el-col :span="1">
				<el-input v-model="formData.sczl_bh8" :clearable="true" placeholder="ZT01733" />
			  </el-col>
			  <el-col :span="1">
				<el-input v-model="formData.sczl_bh9" :clearable="true" placeholder="ZT01733" />
			  </el-col>	
			   <el-col :span="1">
				 <el-input v-model="formData.sczl_bh10" :clearable="true" placeholder="2023.12.14" />
			   </el-col> -->
		   </el-row>
		   
		   <el-row :gutter="1">
		 
		 <el-col :span="4">
		   <el-input v-model="formData.sczl_name1" :clearable="true" placeholder="ZT01733" />
		 </el-col>
		<el-col :span="4">
		  <el-input v-model="formData.sczl_name2" :clearable="true" placeholder="ZT01733" />
		</el-col>
		  <el-col :span="4">			  			
			<el-input v-model="formData.sczl_name3" :clearable="true" placeholder="ZT01733" />
		  </el-col>
		  <el-col :span="4">
		  			<el-input v-model="formData.sczl_name4" :clearable="true" placeholder="ZT01733" />
		  </el-col>
		  <el-col :span="4">
		  			<el-input v-model="formData.sczl_name5" :clearable="true" placeholder="ZT01733" />
		  </el-col>
		  <el-col :span="4">
		  			<el-input v-model="formData.sczl_name6" :clearable="true" placeholder="ZT01733" />
		  </el-col>
	   </el-row>
                                 		                    
</div>
                    
	<div style="flex: 1; border: 1px lawngreen solid; margin: 0; padding: 0; overflow: hidden;">

	 <el-table
	   tooltip-effect="dark"
	   :data="selectData"
	   row-key="ID"
	   highlight-current-row="true"
	   border
	   style="width:100%;height: 30vh;"
	   @row-dblclick="handleSelectClick"
	 >
	   <el-table-column
	     prop="process"
	     label="印件及工序"
	     width="340"
	   />
	   <el-table-column
	     prop="completed"
	     label="已完成板数"
	     width="150"
	   />			 
	 </el-table>

	</div>
                    
</div>
          <div class="gva-table-box">
            <div class="gva-btn-list">
              <el-button type="primary" icon="plus" @click="openDialog">新增</el-button>
              <el-popover v-model:visible="deleteVisible" :disabled="!multipleSelection.length" placement="top" width="160">
                <p>确定要删除吗？</p>
                <div style="text-align: right; margin-top: 8px;">
                  <el-button type="primary" link @click="deleteVisible = false">取消</el-button>
                  <el-button type="primary" @click="onDelete">确定</el-button>
                </div>
                <template #reference>
                  <el-button icon="delete" style="margin-left: 10px;" :disabled="!multipleSelection.length" @click="deleteVisible = true">删除</el-button>
                </template>
              </el-popover>
            </div>
            <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
            
                        <el-tab-pane label="设备作业清单"  @click="showTable('印件资料')"  name="first">
                          <el-table ref="multipleTable"
                                    :show-overflow-tooltip="true"
                                    highlight-current-row="true"
                                    :row-style="{ height: '20px' }"
                                    :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
                                    :header-cell-style="{ padding: '0px' }"
                                    @row-click="yjupdateCompanyFunc"
                                    style="width: 100%;height: 330px" border tooltip-effect="dark" :data="sbzyData" row-key="ID" @selection-change="handleSelectionChange">
            <!--                <el-table-column type="selection" width="55" />-->
                            <el-table-column align="left" label="选择" prop="bh"  width="80"/>
                            <el-table-column align="left" label="工单编号|质量信息" prop="工单编号|质量信息" width="180" />
							<el-table-column align="left" label="印件资料" prop="印件资料" width="240" />
                            <el-table-column align="left" label="工序名称" prop="工序名称" width="100" />
                            <el-table-column align="left" label="计划产量/已完成" prop="计划产量/已完成" width="180"/>
                            <el-table-column align="left" label="装版时数" prop="装版时数" width="100"/>
                            <el-table-column align="left" label="工序产能" prop="工序产能" width="100"/>
                            <el-table-column align="left" label="计划工时" prop="计划工时" width="100"/>
                            <el-table-column align="left" label="计划生产时段" prop="计划生产时段" width="240" />
                            <el-table-column align="left" label="排产备注" prop="排产备注" width="100" />
                            <el-table-column align="left" label="产品名称" prop="产品名称" width="240" />
                          </el-table>
                        </el-tab-pane>
            
                        <el-tab-pane label="班组人员及分配比例" @click="showTable('工艺资料')" name="second">
                          <el-table ref="multipleTable"
                                    highlight-current-row="true"
                                    :show-overflow-tooltip="true"
                                    :row-style="{ height: '20px' }"
                                    :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
                                    :header-cell-style="{ padding: '0px' }"
                                    @row-dblclick="gyupdateCompanyFunc"
                                    :row-class-name="rowClassStyle"
                                    style="width: 100%;height: 400px" border tooltip-effect="dark" :data="FPData" row-key="ID" @selection-change="handleSelectionChange"
                                    @row-click="clickybupdate">
            <!--                <el-table-column type="selection" width="55" />-->
                            <el-table-column align="left" label="选择" prop="方案"  width="70"/>
                            <el-table-column align="left" label="班组号" prop="班组号" width="80" />
                            <el-table-column align="left" label="组员1" prop="0" width="240" />
                            <el-table-column align="left" label="组员2" prop="1" width="240" />
                            <el-table-column align="left" label="组员3" prop="2" width="240" />
                            <el-table-column align="left" label="组员4" prop="3" width="240" />
                            <el-table-column align="left" label="组员5" prop="4" width="100" />
                            <el-table-column align="left" label="组员6" prop="5" width="100" />
                            <el-table-column align="left" label="组员7" prop="6" width="100" />
                            <el-table-column align="left" label="组员8" prop="7" width="100" />
                            <el-table-column align="left" label="组员9" prop="8" width="100" />
                            <el-table-column align="left" label="组员10" prop="9_正品版" width="120" />
                          </el-table>
                        </el-tab-pane>
            
                        <el-tab-pane label="当班产量明细" @click="showTable('印版资料')" name="third">
                        <el-table ref="multipleTable"
                                  highlight-current-row="true"
                                  :show-overflow-tooltip="true"
                                  :row-style="{ height: '20px' }"
                                  :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
                                  :header-cell-style="{ padding: '0px' }"
                                  @row-dblclick="ybupdateCompanyFunc"
                                  style="width: 100%;height: 400px" border tooltip-effect="dark" :data="CLMXData" row-key="ID" @selection-change="handleSelectionChange"
                                  >
            <!--              <el-table-column type="selection" width="55" />-->
                          <el-table-column align="left" label="生产时段" prop="生产时间段"  width="180"/>
                          <el-table-column align="left" label="工单编号" prop="工单编号" width="120" />
                          <el-table-column align="left" label="产品名称" prop="产品名称" width="240" />
                          <el-table-column align="left" label="印件及工序" prop="印件及工序" width="320"/>
                          <el-table-column align="left" label="标牌号" prop="标牌号"  width="80"/>
                          <el-table-column align="left" label="产量" prop="产量" width="100"/>
                          <el-table-column align="left" label="制程废品" prop="制程废品" width="100" />
                          <el-table-column align="left" label="制程次品" prop="制程次品" width="100" />
                          <el-table-column align="left" label="前工序废" prop="前工序废" width="100" />
						  <el-table-column align="left" label="来料异常" prop="来料异常"  width="100"/>
						  <el-table-column align="left" label="装版工时" prop="装版工时" width="100" />
						  <el-table-column align="left" label="保养工时" prop="保养工时" width="100" />
						  <el-table-column align="left" label="打样工时" prop="打样工时" width="100"/>
						  <el-table-column align="left" label="异常停机工时" prop="异常停机工时"  width="120"/>
						  <el-table-column align="left" label="通电工时" prop="通电工时" width="100"/>
						  <el-table-column align="left" label="码开始行" prop="码开始行" width="100" />
						  <el-table-column align="left" label="码结束行" prop="码结束行" width="100" />
						  <el-table-column align="left" label="码包" prop="码包" width="100" />
						  <el-table-column align="left" label="主电表" prop="主电表"  width="100"/>
						  <el-table-column align="left" label="辅电表" prop="辅电表" width="100" />
						  <el-table-column align="left" label="色度数" prop="色度数" width="100" />
                        </el-table>
                        </el-tab-pane>
            
                        <el-tab-pane label="检验记录" @click="showTable('技术资料附件')" name="fourth">
                        <el-table ref="multipleTable"
                                  :row-style="{ height: '20px' }"
                                  :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
                                  :header-cell-style="{ padding: '0px' }"
                                  :show-overflow-tooltip="true"
                                  highlight-current-row="true"
                                  style="width: 100%;height: 400px" border tooltip-effect="dark" :data="JYData" row-key="ID" @selection-change="handleSelectionChange">
            <!--              <el-table-column type="selection" width="55" />-->
                          <el-table-column align="left" label="工单编号" prop="工单编号"  width="120"/>
                          <el-table-column align="left" label="印件号" prop="印件号" width="120" />
                          <el-table-column align="left" label="工序名称" prop="工序名称" width="330" />
                          <el-table-column align="left" label="检验项目" prop="检验项目" width="120"/>
                          <el-table-column
                             v-for="time in columnNames"
                             :key="time"
                             :label="time"
                             :prop="time"
                             align="center"
                             width="120"
                           ></el-table-column>
                        </el-table>
                        </el-tab-pane>
            
                      </el-tabs>
            <!-- <div class="gva-pagination">
              <el-pagination
                  layout="total, sizes, prev, pager, next, jumper"
                  :current-page="page"
                  :page-size="pageSize"
                  :page-sizes="[10, 30, 50, 100]"
                  :total="total"
                  @current-change="handleCurrentChange"
                  @size-change="handleSizeChange"
              />
            </div> -->
          </div>
          <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type==='create'?'添加':'修改'" destroy-on-close>
          <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
            <el-tab-pane label="当日上报产量"  @click="showTable('工艺资料')"  name="first">
              <el-table ref="multipleTable"
                        :show-overflow-tooltip="true"
                        :row-style="{ height: '20px' }"
                        :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
                        :header-cell-style="{ padding: '0px' }"
                        highlight-current-row="true"
                        style="width: 100%;height: 400px" border tooltip-effect="dark" :data="gytableData" row-key="ID" @selection-change="handleSelectionChange">
                <el-table-column type="selection" width="55" />
                <el-table-column align="left" label="选择" prop="工单编号"  width="100"/>
                <el-table-column align="left" label="产品名称" prop="产品名称"  width="100"/>
                <el-table-column align="left" label="工序" prop="工序"  width="240"/>
                <el-table-column align="left" label="备注" prop="备注"  width="100"/>
                <el-table-column align="left" label="产量" prop="产量"  width="100"/>
                <el-table-column align="left" label="千件工价" prop="千件工价"  width="100"/>
                <el-table-column align="left" label="日定额" prop="日定额"  width="100"/>
                <el-table-column align="left" label="补产标准" prop="补产标准"  width="100"/>
                <el-table-column align="left" label="难度系数" prop="难度系数"  width="100"/>
                <el-table-column align="left" label="印刷方式" prop="印刷方式"  width="120"/>
                <el-table-column align="left" label="组员1" prop="组员1" width="240" />
                <el-table-column align="left" label="组员2" prop="组员2" width="240" />
                <el-table-column align="left" label="组员3" prop="组员3" width="240" />
                <el-table-column align="left" label="组员4" prop="组员4" width="240" />
                <el-table-column align="left" label="组员5" prop="组员5" width="100" />
                <el-table-column align="left" label="组员6" prop="组员6" width="100" />
                <el-table-column align="left" label="组员7" prop="组员7" width="100" />
                <el-table-column align="left" label="组员8" prop="组员8" width="100" />
                <el-table-column align="left" label="组员9" prop="组员9" width="100" />
                <el-table-column align="left" label="组员10" prop="组员10" width="120" />
				<el-table-column align="left" label="制程废品" prop="制程废品" width="100" />
				<el-table-column align="left" label="制程次品" prop="制程次品" width="100" />
				<el-table-column align="left" label="前工序废" prop="前工序废" width="100" />
				<el-table-column align="left" label="来料异常" prop="来料异常"  width="100"/>
				<el-table-column align="left" label="装版工时" prop="装版工时" width="100" />
				<el-table-column align="left" label="保养工时" prop="保养工时" width="100" />
				<el-table-column align="left" label="打样工时" prop="打样工时" width="100"/>
				<el-table-column align="left" label="异常停机工时" prop="异常总工时"  width="120"/>
				<el-table-column align="left" label="通电工时" prop="通电工时" width="100"/>
				<el-table-column align="left" label="码开始行" prop="码开始行" width="100" />
				<el-table-column align="left" label="码结束行" prop="码结束行" width="100" />
				<el-table-column align="left" label="码包" prop="码包" width="100" />
				<el-table-column align="left" label="主电表" prop="主电表"  width="100"/>
				<el-table-column align="left" label="辅电表" prop="辅电表" width="100" />
				<el-table-column align="left" label="色度数" prop="色度数" width="100" />
				<el-table-column align="left" label="用户" prop="用户" width="100" />
				<el-table-column align="left" label="更新时间" prop="更新时间" width="100" />
              </el-table>
            </el-tab-pane>
          
            <el-tab-pane label="当日制程检验记录"  @click="showTable('印件资料')"  name="second">
              <el-table ref="multipleTable"
                        :row-style="{ height: '20px' }"
                        :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
                        :header-cell-style="{ padding: '0px' }"
                        :show-overflow-tooltip="true"
                        highlight-current-row="true"
                        style="width: 100%;height: 400px" border tooltip-effect="dark" :data="drzcData" row-key="ID" @selection-change="handleSelectionChange">
                <el-table-column type="selection" width="55" />
                <el-table-column align="left" label="工单编号" prop="工单编号"  width="120"/>
                <el-table-column align="left" label="印件号" prop="印件号" width="120" />
                <el-table-column align="left" label="工序名称" prop="工序名称" width="330" />
                <el-table-column align="left" label="检验项目" prop="检验项目" width="120"/>
				 <el-table-column
				    v-for="time in columnNames"
				    :key="time"
				    :label="time"
				    :prop="time"
				    align="center"
				    width="120"
				  ></el-table-column>
              </el-table>
            </el-tab-pane>
          </el-tabs>
          </el-dialog>

          <el-dialog v-model="detailShow" style="width: 800px" lock-scroll :before-close="closeDetailShow" title="机台班组维护" destroy-on-close>
            <el-table ref="multipleTable"
                        :row-style="{ height: '20px' }"
                        :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
                        :header-cell-style="{ padding: '0px' }"
                        :show-overflow-tooltip="true"
                        highlight-current-row="true" @row-click="BZhandle"
                        style="width: 100%;height: 250px" border tooltip-effect="dark" 
						:data="bzData" row-key="ID" @selection-change="BZSelectionChange">
              <el-table-column type="selection" width="55" />
              <el-table-column align="left" label="机台" prop="JTMC" width="120"/>
              <el-table-column align="left" label="班组" prop="班组号" width="120"/>
              <el-table-column align="left" label="组员1" prop="0" width="120"/>
              <el-table-column align="left" label="组员2" prop="1" width="120"/>
			  <el-table-column align="left" label="组员3" prop="2" width="120"/>
              <el-table-column align="left" label="组员4" prop="3" width="160"/>
              <el-table-column align="left" label="组员5" prop="4" width="160"/>
              <el-table-column align="left" label="组员6" prop="5" width="120"/>
              <el-table-column align="left" label="组员7" prop="6" width="120"/>
              <el-table-column align="left" label="组员8" prop="7" width="120"/>
              <el-table-column align="left" label="组员9" prop="8" width="120"/>
              <el-table-column align="left" label="特殊组员" prop="9" width="120"/>
              <el-table-column align="left" label="UNIQID" prop="ID" width="120"/>
            </el-table>
			
			
			 
				
			<el-row :gutter="20">
			 <el-col :span="10">
			   <el-form-item label="机台编号" prop="id">
			 <el-select v-model="selectedOption" placeholder="请选择">
			   <el-option
			     v-for="item in dropdownOptions"
			     :key="item.value"
			     :label="item.label"
			     :value="item.value"
			   ></el-option>
			 </el-select>
			   </el-form-item>
			 </el-col>
			 <el-col :span="10">
			   <el-form-item label="班组编号" prop="id">
				<el-input v-model="BZMC" :clearable="true" placeholder="2023.12.14" />			 
			   </el-form-item>
			 </el-col>
			</el-row> 	
				
			<div class="groupbox">
			    <span class="grouptitle">组员及分配比例</span>
				<el-row :gutter="10" style="margin-top: 10px;">
								 <el-col :span="2">
								   <span></span>
								 </el-col>
								<el-col :span="2">
								  
								</el-col>
								<el-col :span="2">
								  
								</el-col>
								<el-col :span="2">
								  
								</el-col>
								<el-col :span="2">
								  
								</el-col>
								<el-col :span="2">
								 
								</el-col>
								<el-col :span="2">
								 
								</el-col>
								<el-col :span="2">
								  
								</el-col>
								<el-col :span="2">
								  
								</el-col>
								<el-col :span="2">
								  
								</el-col>
								<el-col :span="2">
								 <el-form-item label="特殊组员" prop="id">
								 						 
								 </el-form-item>
								</el-col>
				</el-row>
				<el-row :gutter="10" style="margin-top: 10px;">
				 <el-col :span="2">
				   <span></span>
				 </el-col>
				 
				 
				
				
				
				
				
				<el-col :span="4">
				  <el-input v-model="formDatas.code1" :clearable="true" placeholder="11.0" />
				</el-col>
				<el-col :span="4">
				  <el-input v-model="formDatas.code2" :clearable="true" placeholder="打包废纸" />
				</el-col>
				<el-col :span="4">
				  <el-input v-model="formDatas.code3" :clearable="true" placeholder="是" />
				</el-col>
				<el-col :span="4">
				  <el-input v-model="formDatas.code4" :clearable="true" placeholder="是" />
				</el-col>
				
				<!-- <el-col :span="2">
				  <el-input v-model="formData.name" :clearable="true" placeholder="瞿春生" />
				</el-col>
				<el-col :span="2">
				  <el-input v-model="percentage" :clearable="true" placeholder="11.0" />
				</el-col>
				<el-col :span="2">
				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="打包废纸" />
				</el-col>
				<el-col :span="2">
				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="是" />
				</el-col>
				<el-col :span="2">
				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="ZI00401" />
				</el-col>
				<el-col :span="2">
				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="瞿春生" />
				</el-col>
				<el-col :span="2">
				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="11.0" />
				</el-col>
				<el-col :span="2">
				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="11.0" />
				</el-col>
				<el-col :span="2">
				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="11.0" />
				</el-col> -->
			  </el-row>
			 <el-row :gutter="10" style="margin-top: 10px;">
			  				 <el-col :span="2">
			  				   <span></span>
			  				 </el-col>
			  				<el-col :span="4">
			  				  <el-input v-model="formDatas.name1" :clearable="true" placeholder="ZI00401" />
			  				</el-col>
			  				<el-col :span="4">
			  				  <el-input v-model="formDatas.name2" :clearable="true" placeholder="瞿春生" />
			  				</el-col>
			  				<el-col :span="4">
			  				  <el-input v-model="formDatas.name3" :clearable="true" placeholder="11.0" />
			  				</el-col>
			  				<el-col :span="4">
			  				  <el-input v-model="formDatas.name4" :clearable="true" placeholder="打包废纸" />
			  				</el-col>
			  	<!-- 			<el-col :span="2">
			  				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="是" />
			  				</el-col>
			  				<el-col :span="2">
			  				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="ZI00401" />
			  				</el-col>
			  				<el-col :span="2">
			  				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="瞿春生" />
			  				</el-col>
			  				<el-col :span="2">
			  				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="11.0" />
			  				</el-col>
			  				<el-col :span="2">
			  				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="11.0" />
			  				</el-col>
			  				<el-col :span="2">
			  				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="11.0" />
			  				</el-col> -->
			  </el-row>
			  <el-row :gutter="10" style="margin-top: 10px;">
			  				 <el-col :span="2">
			  				   <span></span>
			  				 </el-col>
			  				<el-col :span="4">
			  				  <el-input v-model="formDatas.percentage1" :clearable="true" placeholder="ZI00401" />
			  				</el-col>
			  				<el-col :span="4">
			  				  <el-input v-model="formDatas.percentage2" :clearable="true" placeholder="瞿春生" />
			  				</el-col>
			  				<el-col :span="4">
			  				  <el-input v-model="formDatas.percentage3" :clearable="true" placeholder="11.0" />
			  				</el-col>
			  				<el-col :span="4">
			  				  <el-input v-model="formDatas.percentage4" :clearable="true" placeholder="打包废纸" />
			  				</el-col>
			  			<!-- 	<el-col :span="2">
			  				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="是" />
			  				</el-col>
			  				<el-col :span="2">
			  				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="ZI00401" />
			  				</el-col>
			  				<el-col :span="2">
			  				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="瞿春生" />
			  				</el-col>
			  				<el-col :span="2">
			  				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="11.0" />
			  				</el-col>
			  				<el-col :span="2">
			  				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="11.0" />
			  				</el-col>
			  				<el-col :span="2">
			  				  <el-input v-model="formData.qczl_NumDesc" :clearable="true" placeholder="11.0" />
			  				</el-col> -->
			  </el-row>
			</div>
          </el-dialog>


        <el-dialog
          v-model="dianjianVisible"
          title="选择"
          destroy-on-close
          width="1300px"
		  style="height: 110%;"
        >
          <el-row :gutter="0">
            <el-col :span="4">
              <el-form-item label="设备编号" prop="id">
                <el-input v-model="formData.JTMC" :clearable="true" placeholder="2023.12.14" />
              </el-form-item>
            </el-col>
            <el-col :span="20">
              <el-row :gutter="20">
                <el-col :span="5">
                  <el-input v-model="formData.产品名称" :clearable="true" placeholder="ZT01733" />
                </el-col>
              </el-row>
            </el-col>
          </el-row>
        
          <div style="display: flex;">
            <div style="flex: 1;">
              <el-aside width="250px" style="margin: 0;">
                <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">		          
                  <el-tree :data="dianjiantreeData" :props="defaultProps" highlight-current="true"
                    @node-click="dianjianNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
                </div>
              </el-aside>
            </div>
            <div style="flex: 1; margin: 0;">
              <el-table
                tooltip-effect="dark"
                :data="dianjianselectData"
                row-key="ID"
                highlight-current-row="true"
                border  @row-click="dianjianhandle"
                style="width:100%; height:400px;"
                @row-dblclick="handleSelectClick"
                :row-class-name="rowClassName"
              >
                <el-table-column
                  prop="检验项目"
                  label="检验项目"
                  width="180"
                />
                <el-table-column
                  prop="点检方法"
                  label="点检方法"
                  width="180"
                />
                <el-table-column
                  v-slot="scope"
				  label="正常"
                  width="80"
                >
                  
                 <el-checkbox v-model="scope.row.zc" @change="zcClick(scope.row)"></el-checkbox>
                
                </el-table-column>
                <el-table-column
                  v-slot="scope"
                  label="异常" 
                  width="80"
                >
                   <el-checkbox v-model="scope.row.yc" @change="ycClick(scope.row)"></el-checkbox>
                </el-table-column>
                <el-table-column
                  label="备注说明"
                  width="180"
                >
				</el-table-column>
                <el-table-column
				  v-slot="scope"
                  label="不检测" 
                  width="80"
                >
                   <el-checkbox v-model="scope.row.notjc" @change="notjcClick(scope.row)"></el-checkbox>
                </el-table-column>
              </el-table>
			  <el-row :gutter="20">
			    <el-col :span="20">			      
			        <el-input v-model="pandingfangfa"  style="height: 50px;" :clearable="true"  />			      
			    </el-col>
			  </el-row>
            </div>
          </div>
        </el-dialog>
		
		<el-dialog
		  v-model="yinbanVisible"
		  title="选择"
		  destroy-on-close
		  width="1300px"
		  style="height: 110%;"
		>
		  <el-row :gutter="24">
		    <el-col :span="4">
		      <el-form-item label="工单编号" prop="id">
		        <el-input v-model="formData.工单编号" :clearable="true" />
		      </el-form-item>
		    </el-col>
			<el-col :span="6">
			  <el-form-item prop="id">
			    <el-input v-model="formData.productCode" :clearable="true"  />
			  </el-form-item>
			</el-col>
			<el-col :span="14">
			  <el-form-item prop="id">
			    <el-input v-model="formData.产品名称" :clearable="true" />
			  </el-form-item>
			</el-col>
		  </el-row>
		
		  <div style="display: flex;">
		    <div style="flex: 1;">
		      <el-aside width="250px" style="margin: 0;">
		        <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">		          
		          <el-tree :data="yinbantreeData" :props="defaultProps" highlight-current="true"
		            @node-click="yinbanNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
		        </div>
		      </el-aside>
		    </div>
		    <div style="flex: 1; margin: 0;">
		      <el-table
		        tooltip-effect="dark"
		        :data="yinbanselectData"
		        row-key="ID"
		        highlight-current-row="true"
		        border  @row-click="dianjianhandle"
		        style="width:1000px; height:400px;"
		        @row-dblclick="handleSelectClick"
		        :row-class-name="rowClassName"
		      >
		        <el-table-column
		          prop="存货编码"
		          label="存货编码"
		          width="180"
		        />
		        <el-table-column
		          prop="存货名称"
		          label="存货名称"
		          width="180"
		        />
		        
		        <el-table-column
				  prop="印版名称"
		          label="印版名称"
		          width="180"
		        />
				<el-table-column
				  prop="供方批号"
				  label="供方批号"
				  width="180"
				/>
				<el-table-column
				  prop="制造日期"
				  label="制造日期"
				  width="180"
				/>
				
				<el-table-column
				  prop="印数"
				  label="印数"
				  width="180"
				/>
				<el-table-column
				  prop="印版类别"
				  label="印版类别"
				  width="180"
				/>
				<el-table-column
				  prop="客户编号"
				  label="客户编号"
				  width="180"
				/>
				
				<el-table-column
				  prop="客户名称"
				  label="客户名称"
				  width="180"
				/>
				<el-table-column
				  prop="产品编号"
				  label="产品编号"
				  width="180"
				/>
				<el-table-column
				  prop="产品名称"
				  label="产品名称"
				  width="180"
				/>
				
				<el-table-column
				  prop="点检方法"
				  label="备注说明"
				  width="180"
				/>
				<el-table-column
				  prop="点检方法"
				  label="备注说明"
				  width="180"
				/>
		        
		      </el-table>
			  <!-- <el-row :gutter="20">
			    <el-col :span="20">			      
			        <el-input v-model="pandingfangfa"  style="height: 50px;" :clearable="true"  />			      
			    </el-col>
			  </el-row> -->
		    </div>
		  </div>
		</el-dialog>
		
		<el-dialog
		  v-model="xunchaVisible"
		  title="选择"
		  destroy-on-close
		  width="1300px"
		  style="height: 80%;"
		>
		  
		  <!-- <el-row :gutter="24">
		    <el-col :span="4">
		      <el-form-item label="工单编号" prop="id">
		        <el-input v-model="formData.sczl_gdbh" :clearable="true" placeholder="2023.12.14" />
		      </el-form-item>
		    </el-col>
		    <el-col :span="20">
		      <el-row :gutter="20">
		        <el-col :span="5">
		          <el-input v-model="formData.sczl_bzdh" :clearable="true" placeholder="ZT01733" />
		        </el-col>
		      </el-row>
		    </el-col>
		  </el-row> -->
		  
		
		<div style="display: flex;">
		  <div style="flex: 1;">
		    <el-aside width="250px" style="margin: 0;">
		      <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">		          
		        <el-tree :data="xunchatreeData" :props="defaultProps" highlight-current="true"
		          @node-click="xunchaNodeClick"></el-tree>
		      </div>
		    </el-aside>
		  </div>
		  <div style="flex: 1; margin: 0;">
		    <el-table
		      tooltip-effect="dark"
		      :data="xunchaselectData"
		      row-key="ID"
		      highlight-current-row="true"
		      border  @row-click="dianjianhandle"
		      style="width:1000px; height:400px;"
		      @row-dblclick="handleSelectClick"
		      :row-class-name="rowClassName"
		    >
		      <el-table-column
		        prop="工单编号"
		        label="工序编号"
		        width="180"
		      />
		      <el-table-column
		        prop="印件号"
		        label="印件号"
		        width="180"
		      />
		      
			  <el-table-column
				prop="工序名称"
				label="工序名称"
				width="180"
			  />
			<el-table-column
			  prop="流程单号"
			  label="流程单号"
			  width="180"
			/>
			<el-table-column
			  prop="设备编号"
			  label="设备编号"
			  width="180"
			/>
			
			<el-table-column
			  prop="班组编号"
			  label="班组编号"
			  width="180"
			/>
			<el-table-column
			  prop="检验备注"
			  label="检验备注"
			  width="180"
			/>
			<el-table-column
			  prop="现场管理人员"
			  label="现场管理人员"
			  width="180"
			/>
			<el-table-column
			  prop="提交时间"
			  label="提交时间"
			  width="180"
			/>
			<el-table-column
			  prop="开工时间"
			  label="开工时间"
			  width="180"
			/>
			<el-table-column
			  prop="分钟差数"
			  label="分钟差数"
			  width="180"
			/>
			<el-table-column
			  prop="归属时段"
			  label="归属时段"
			  width="180"
			/>
			
		      
		    </el-table>
					  <!-- <el-row :gutter="20">
					    <el-col :span="20">			      
					        <el-input v-model="pandingfangfa"  style="height: 50px;" :clearable="true"  />			      
					    </el-col>
					  </el-row> -->
		  </div>
		</div>
		
		
		  
		  
		  
		  
		  <template #footer>
		    <div class="dialog-footer">
		      <!-- <el-button @click="closeDialog">关 闭</el-button> -->
		      <!-- <el-button type="primary" @click="xunjianerDialog">提 交</el-button> -->
		    </div>
		  </template>
		</el-dialog>
		
        </el-main>

      </el-container>
    </el-container>





  </div>
</template>

<script setup>
import {
  createCompany,
  deleteCompany,
  deleteCompanyByIds,
  updateCompany,
  findCompany,
  getCompanyList
} from '@/api/company'

import {
  facilityTab,
  facilitychanLiang,
  facilityInspect,
  facilityProduction,
  facilityTeam,
  facilityMachineList,
  facilitySpotCheckItem,
  facilityInspectionItem,
  reportProduceInfo,
  reportName,
  reportInfo,
  reportMachineMac,
  facilityWorklist,
  setProcessStatus,
  submitDailyProduction,
  facilityDetail,
  inspectionRecord,
  getYg,
  facilityProcedure,
  facilityPrintGetTab,
  facilityPrintDetail
} from '@/api/jixiaoguanli/jitairibaobiao'

import {
  FieldInspectionRecord
} from "@/api/mes/job";

// 全量引入格式化工具 请按需保留
import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
import { ElMessage, ElMessageBox } from 'element-plus'
import { ref, reactive } from 'vue'

defineOptions({
    name: 'Company'
})
const gytableData = ref([])
const detailData = reactive([])
const treeData=ref([])
const yinbantreeData=ref([])
let  dianjiantreeData;
let JTMC=ref()
let productCode=ref()
const sbzyData = reactive([])
const FPData = reactive([])
const CLMXData = reactive([])
let JYData = reactive([])
const selectData = ref([])
const handleNodeClick = (nodeData,node) => {
  //存放当前节点的nodeId
   if (nodeData.level === 1) {
        console.log(node.label); // 第一级节点
      } else if (nodeData.level === 2) {
        console.log(node.label); // 第二级节点
		JTMC=node.label.split("【")[0]
		FacilityProduction()
		FacilityWorklist()
		console.log(JTMC)
      } else if (nodeData.level === 3) {
        console.log(node.label); // 第三级节点
	   }      
}
//当前生产订单
const FacilityProduction = async () => {
  const response = await facilityProduction({machine:JTMC});
  if (response.code === 0) {
	console.log(response)
	// 填充formData对象的基本字段
	    formData.value.工单编号 = response.data[0].工单编号;
	    formData.value.印件编号 = response.data[0].印件号;
	    formData.value.工序名称 = response.data[0].工序名称;
	    formData.value.产品名称 = response.data[0].产品名称;
		formData.value.JTMC=JTMC
	    FacilityTeam(JTMC)
		
	       // 填充sczl_bh和sczl_name字段
	        for (let i = 1; i <= 10; i++) {
	          const sczl_bh = `sczl_bh${i}`;
	          const sczl_name = `sczl_name${i}`;
	          if (response.data[sczl_bh] ) {
	            formData.value[sczl_bh] = response.data[sczl_bh]['员工编号'];
	            formData.value[sczl_name] = response.data[sczl_bh]['员工姓名'];
				console.log(response.data[sczl_bh]['员工姓名'])
				console.log(formData.value.sczl_bh)
				// console.log(sczl_name)
	          } else {
	            // 如果字段不存在，可以在这里进行处理
	            // console.log('2');
				// formData.value[sczl_bh] = response.data[sczl_bh]['员工编号'];
				// formData.value[sczl_name] = response.data[sczl_bh]['员工姓名'];
				// console.log(formData.value.sczl_bh)
				// console.log(sczl_name)
	          }
	        }
	        // 输出填充后的formData对象
	        // console.log(formData.value);
  }
  // getTableData()
}

//设备工作清单
const FacilityWorklist = async () => {
  const response = await facilityWorklist({machine:JTMC});
  if (response.code === 0) {
	console.log(response)
	sbzyData.splice(0, sbzyData.length, ...response.data);
	const res = await facilityProcedure({ Gd_gdbh: sbzyData[0]['工单编号|质量信息'].substring(0, 7) })
	formData.value.productCode= response.data[0]['产品代号']
	console.log(res)
	if (res.code === 0) {
	    selectData.value = res.data
	}
  }
}
//检验记录
const InspectionRecord = async () => {
	console.log(formData.value.班组)
  const response = await inspectionRecord({machine:JTMC,Gd_gdbh:formData.value.工单编号,team:formData.value.班组});
  console.log(response)
  if(response.code==0){
	 // 提取 inspectiontime 作为列名
	        // Extract inspectiontime as columnNames
	  columnNames = response.data.inspectiontime;

	  // Populate drzcData with row data
	  for (const key in response.data) {
		if (key !== 'inspectiontime') {
		  const item = response.data[key];
		  const rowData = {
			'工单编号': item['工单编号'],
			'印件号': item['印件号'],
			'工序名称': item['工序名称'],
			'检验项目': item['检验项目']
		  };

		  // Initialize time columns with '—'
		 columnNames.forEach(time => {
			rowData[time] = '';
		  });

		  // Split inspectresult and fill the corresponding time columns
		  const results = item['inspectresult'].split(',');
		  results.forEach(result => {
			if (columnNames.includes(result)) {
			  rowData[result] = '√';
			}else{rowData[result] = ''}
		  });

		  // Add the row data to drzcData
		  JYData.push(rowData);
		}
	  }
	  console.log(JYData);
  }
}
//当班产量明细
const FacilityDetail = async () => {
  const response = await facilityDetail({ machine: JTMC, Gd_gdbh: formData.value.工单编号, team: formData.value.班组 });
  if (response.code === 0) {
    console.log(response);
    CLMXData.splice(0, CLMXData.length, ...Object.values(response.data));
  }
};
//员工编号回车事件
const getygsubmit = (event, inputName) => {

	  console.log(inputName)
	 
		  let combinedString = 'sczl_bh' + inputName;
		   console.log(combinedString)
		  //  let variableName = 'sczl_gdbh'+inputName;
		   let variableValue = eval('formData3.value.' + combinedString);
		   console.log(variableValue)
		   GetYg(variableValue,inputName)  
}
//获取员工信息
const GetYg = async (value,inputName) => {
  const response = await getYg({sczl_bh:value});
  console.log(response) 
  if (response.code === 0) {
	console.log(response.data.ygxm) 
	let Bname = 'sczl_name' + inputName;
	formData3.value[Bname]=response.data.ygxm
	// console.log(formData.value[Bname])
  }
}

// 验证规则
const rule = reactive({
})

const searchRule = reactive({
  createdAt: [
    { validator: (rule, value, callback) => {
      if (searchInfo.value.startCreatedAt && !searchInfo.value.endCreatedAt) {
        callback(new Error('请填写结束日期'))
      } else if (!searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt) {
        callback(new Error('请填写开始日期'))
      } else if (searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt && (searchInfo.value.startCreatedAt.getTime() === searchInfo.value.endCreatedAt.getTime() || searchInfo.value.startCreatedAt.getTime() > searchInfo.value.endCreatedAt.getTime())) {
        callback(new Error('开始日期应当早于结束日期'))
      } else {
        callback()
      }
    }, trigger: 'change' }
  ],
})

const elFormRef = ref()
const elSearchFormRef = ref()

// =========== 表格控制部分 ===========
const page = ref(1)
const total = ref(0)
const pageSize = ref(10)
const tableData = ref([])
const searchInfo = ref({})
const xunchaVisible = ref(false)
const xunchatreeData=ref([{label: '现场巡查记录',} ])

// 重置
const onReset = () => {
  searchInfo.value = {}
  getTableData()
}

// 搜索
const onSubmit = () => {
  elSearchFormRef.value?.validate(async(valid) => {
    if (!valid) return
    page.value = 1
    pageSize.value = 10
    getTableData()
  })
}

// 分页
const handleSizeChange = (val) => {
  pageSize.value = val
  getTableData()
}

// 修改页面容量
const handleCurrentChange = (val) => {
  page.value = val
  getTableData()
}

const getTableData = async () => {
  const response = await facilityTab();
  if (response.code === 0 && response.data) {
    const workshops = response.data; // 车间数据

    // 在推送新项之前将 treeData 重置为空数组
    treeData.value = []; // 使用 .value 访问响应式引用的值

    for (const workshopName in workshops) {
      const workshopNode = {
        label: workshopName,
        children: [],
        level: 1 // 添加层级属性
      };

      const machines = workshops[workshopName]; // 车间下的机器

      for (const machineName in machines) {
         const machineNode = {
           label: machineName,
           children: [],
           level: 2, // 添加层级属性
           parentNode: workshopNode
         };
      
        // Now that machineNode is initialized, you can refer to it
         const childrenNodes = machines[machineName].map(dateTime => {
             const dateOnly = dateTime.split(' ')[0];
             return {
               label: dateOnly,
               level: 3, // 添加层级属性
               parentNode: machineNode
             };
           });
      
        // Assign the childrenNodes to the machineNode's children property
        machineNode.children = childrenNodes;
      
        // Finally, push the machineNode to the workshopNode's children array
        workshopNode.children.push(machineNode);
      }

      // 将 workshopNode 推送到响应式 treeData 数组
      treeData.value.push(workshopNode);
    }
  }
};
// 查询
const getTableList = async() => {
  const table = await getCompanyList({ page: page.value, pageSize: pageSize.value, ...searchInfo.value })
  if (table.code === 0) {
    tableData.value = table.data.list
    total.value = table.data.total
    page.value = table.data.page
    pageSize.value = table.data.pageSize
  }
}

getTableData()
//删除
function onDel() {
	
}
import { nextTick } from 'vue';
//设备点检
function ondianjian() {
  getSpotCheckItem(JTMC).then(treeData  => {
    if (treeData) {
      // 如果获取成功，treeData 就是我们需要的树形结构数据
      dianjiantreeData = treeData;
      console.log('222');
      console.log(dianjiantreeData);
      // 使用 nextTick 来确保在更新 dianjianVisible 后立即刷新视图
      nextTick(() => {
        dianjianVisible.value = true;
      });
      // 这里可以处理treeData，例如将其赋值给某个状态管理变量或者用于渲染界面
    } else {
      // 如果获取失败，则treeData为null
      console.log('获取巡检项目树形结构数据失败');
    }
  });
  
}

const onyinban = async() => {
	const res = await facilityPrintGetTab({productCode:formData.value.productCode})
	if(res.code===0){
		yinbantreeData.value=[{
			label:'产品印版库',
			children:res.data.map(item=>({
			label:item.印版分类,
			code:item.编号
		}))
		}]
		console.log(res.data.map(item=>({
			label:item.印版分类,
			code:item.编号
		})))
		yinbanVisible.value = true;
	}
}
const onxuncha = async() => {
	// const res = await facilityPrintGetTab({productCode:productCode.value})
	// if(res.code===0){
	// 	yinbantreeData.value=[{
	// 		label:'产品印版库',
	// 		children:res.data.map(item=>({
	// 		label:item.印版分类,
	// 		code:item.编号
	// 	}))
	// 	}]
	// 	console.log(res.data.map(item=>({
	// 		label:item.印版分类,
	// 		code:item.编号
	// 	})))
		xunchaVisible.value=true 
	// }
	
}
// function onyinban() {
	
//   getSpotCheckItem(productCode).then(treeData  => {
//     if (treeData) {
//       // 如果获取成功，treeData 就是我们需要的树形结构数据
//       dianjiantreeData = treeData;
//       console.log('222');
//       console.log(dianjiantreeData);
//       // 使用 nextTick 来确保在更新 dianjianVisible 后立即刷新视图
//       nextTick(() => {
//         dianjianVisible.value = true;
//       });
//       // 这里可以处理treeData，例如将其赋值给某个状态管理变量或者用于渲染界面
//     } else {
//       // 如果获取失败，则treeData为null
//       console.log('获取巡检项目树形结构数据失败');
//     }
//   });
  
// }
//获取设备点检->检验项目
const FacilityInspectionItem = async (value) => {
  try {
    // 调用接口获取巡检项目数据
    const response = await facilityInspectionItem({ unitName: value });
    // 检查接口返回的状态码
    if (response.code === 0) {
	 dianjianselectData.splice(0, dianjianselectData.length, ...response.data.map(item=>{
		 item.notjc=true;
		 item.zc=false;
		 item.yc=false;
		 return item
	 }))
	 console.log(dianjianselectData)
    }
  } catch (error) {
    // 捕获并打印异常
    console.error("获取巡检项目数据出错：" + error);
    return null;
  }
};

//机台印版领用->右侧详情
const facilityPrintDetailItem = async (value) => {
  try {
    // 调用接口获取巡检项目数据
    // const response = await facilityPrintDetail({ workOrder: formData.value.工单编号,code:value,productCode:productCode.value });
	const response = await facilityPrintDetail({ workOrder: '2312165',code:'0521',productCode:'104601001' });
    // 检查接口返回的状态码
    if (response.code === 0) {
     console.log(response)
	 yinbanselectData.value=response.data
    }
  } catch (error) {
    // 捕获并打印异常
    console.error("获取数据出错：" + error);
    return null;
  }
};

//树形结构单机
const dianjianselectData = reactive([])
const yinbanselectData = ref([])
const xunchaselectData = ref([])
const dianjianNodeClick = (node, check, nodeData) => {
  if (node.children && node.children.length > 0) {
    // 点击的是父节点，且有子节点
    // 执行相应的父节点单击事件处理逻辑
    // 这里可以添加你想要的处理逻辑，比如展开/折叠节点等
  } else {
    // 点击的是子节点，或者没有子节点
    // 执行相应的子节点单击事件处理逻辑
     FacilityInspectionItem(node.label)
  }
};
const yinbanNodeClick = (node, check, nodeData) => {
  if (node.children && node.children.length > 0) {
    // 点击的是父节点，且有子节点
    // 执行相应的父节点单击事件处理逻辑
    // 这里可以添加你想要的处理逻辑，比如展开/折叠节点等
  } else {
    // 点击的是子节点，或者没有子节点
    // 执行相应的子节点单击事件处理逻辑
     facilityPrintDetailItem(node.code)
  }
};
const xunchaNodeClick = (node, check, nodeData) => {
	if(node){
		fieldInspectionRecord()
	}
}

const fieldInspectionRecord = async () => {
	const response = await FieldInspectionRecord({ workOrder: '2311114',team:'A班',start:'2024-01-19 08:30:00' });
	if (response.code === 0) {
		xunchaselectData.value=response.data
	}
}

let pandingfangfa=ref()
//检验项目单击
const dianjianhandle =  (val, row) => {
  try {
    console.log(row);
	// if(val.notjc==true){
	// 	if(val.zc==false&&val.yc==false){
	// 		val.zc=true
	// 	}
	// }else{
	// 	if(val.zc==true||val.yc==true){
	// 		val.notjc==true
	// 		val.zc=false
	// 		val.yc==false
	// 	}
	// }
	// val.notjc=false
    pandingfangfa.value = val.判定标准;
  } catch (error) {
    console.error('An error occurred:', error);
  }
};
const notjcClick =  (val) => {
  try {
	if(val.notjc==false){
		val.zc=true
	}else{
		val.zc=false
		val.yc==false
	}
  } catch (error) {
    console.error('An error occurred:', error);
  }
};
const zcClick =  (val) => {
  try {
	if(val.zc==false){
		val.zc=true
	}else{
		val.zc=false
		val.yc==false
	}
  } catch (error) {
    console.error('An error occurred:', error);
  }
};
const ycClick =  (val) => {
  try {
	if(val.yc==false){
		val.zc=true
	}else{
		val.zc=false
		val.notjc==false
	}
  } catch (error) {
    console.error('An error occurred:', error);
  }
};

const rowClassName = (row, column) => {
  try {
    if (row.unchecked) {
      return 'row-yellow';
    }
    return '';
  } catch (error) {
    console.error('An error occurred:', error);
    return '';
  }
};
// const isIndeterminate = () => {
//   return (checked1 && !checked2 && checked3) ||
//              (!checked1 && checked2 && !checked3) ||
//              (!checked1 && !checked2 && checked3);
// };
// const handleCheckAllChange = () => {
//    if (checked1 && checked2 && checked3) {
//           checked1 = false;
//           checked2 = false;
//           checked3 = false;
//         }
// };

// 异步函数，用于获取指定设备的巡检项目，并且将结果格式化为树形结构数据
const getSpotCheckItem = async (machineName) => {
  try {
    // 调用接口获取巡检项目数据
    const response = await facilitySpotCheckItem({ machine: machineName });
    // 检查接口返回的状态码
    if (response.code === 0) {
      // 构建树形结构数据
      const childrenData = Object.entries(response.data).map(([id, label]) => {
        return {
          id,    // 子节点的唯一标识
          label, // 子节点的标签
          children: [] // 初始化子节点数组
        };
      });

      // 创建包含父节点的树形结构数据
      const treeData = [{
        id: machineName,    // 父节点的唯一标识
        label: machineName, // 父节点的标签
        children: childrenData // 子节点数据
      }];

      // 返回构建好的树形结构数据
      return treeData;
    } else {
      // 如果接口返回的状态码不是0，打印错误信息
      console.error("接口返回错误：" + response.msg);
      return null;
    }
  } catch (error) {
    // 捕获并打印异常
    console.error("获取巡检项目数据出错：" + error);
    return null;
  }
};

// 班组人员及分配比例
const FacilityTeam = async (value) => {
  const response = await facilityTeam({ machine: value });
  if (response.code === 0) {
	formData.value.班组 = response.data[0]['班组号'];
	if(response.data[0][2]){
		// console.log(response.data[0][2].split(' '));
		for (let i = 1; i <= 3; i++) {
		  const sczl_bh = `sczl_bh${i}`;
		  const sczl_name = `sczl_name${i}`;
		  formData.value[sczl_bh] = response.data[0][i-1].split(' ')[0];
		  formData.value[sczl_name] = response.data[0][i-1].split(' ')[1];
		 
		}
	}
	if(response.data[0][0]){
		// console.log(response.data[0][2].split(' '));
		for (let i = 1; i <= 1; i++) {
		  const sczl_bh = `sczl_bh${i}`;
		  const sczl_name = `sczl_name${i}`;
		  formData.value[sczl_bh] = response.data[0][i-1].split(' ')[0];
		  formData.value[sczl_name] = response.data[0][i-1].split(' ')[1];
		 
		}
	}
	if(response.data[0][1]){
		// console.log(response.data[0][2].split(' '));
		for (let i = 1; i <= 2; i++) {
		  const sczl_bh = `sczl_bh${i}`;
		  const sczl_name = `sczl_name${i}`;
		  formData.value[sczl_bh] = response.data[0][i-1].split(' ')[0];
		  formData.value[sczl_name] = response.data[0][i-1].split(' ')[1];
		 
		}
	}
	if(response.data[0][3]){
		// console.log(response.data[0][2].split(' '));
		for (let i = 1; i <= 4; i++) {
		  const sczl_bh = `sczl_bh${i}`;
		  const sczl_name = `sczl_name${i}`;
		  formData.value[sczl_bh] = response.data[0][i-1].split(' ')[0];
		  formData.value[sczl_name] = response.data[0][i-1].split(' ')[1];
		 
		}
	}

	InspectionRecord()
	FacilityDetail()
    // 清空 bzData 数组
    bzData.splice(0, bzData.length);

    // 遍历接口返回的数据，并给每个对象添加 JTMC 属性
    const updatedData = response.data.map(item => {
      return { ...item, JTMC: value }; // 添加 JTMC 属性
    });

    // 将更新后的数据添加到 bzData 数组
    bzData.push(...updatedData);
	FPData.push(...updatedData)
	return 1
  }
};
//班组维护
function onBZ() {
	FacilityTeam(JTMC)
	fetchData()
	detailShow.value=true
	console.log('2222')
}


// 下拉框选项数据
    const dropdownOptions = ref([]);
    // 选中的选项
    const selectedOption = ref('');
 // 获取接口数据并转换为下拉框需要的格式
const fetchData = async () => {
  try {
    // Simulate API call
    const response = await facilityMachineList();
    if (response.code === 0) {
      // Transform data format
      const options = response.data.map((item) => ({
        label: item,
        value: item
      }));
      dropdownOptions.value = options;

      // Default to selecting the first option
       const defaultOption = options.find(option => option.value === JTMC);
		if (defaultOption) {
		  selectedOption.value = defaultOption.value;
		} else if (options.length > 0) {
		  // 如果 myDefaultValue 不在选项中，选择第一个选项
		  selectedOption.value = options[0].value;
		}
    }
  } catch (error) {
    console.error('Error fetching data:', error);
    // Handle the error appropriately
  }
};
// formData
let BZMC=ref()
let lastCellValue=ref()
let parts =reactive([])
// 自动化生成的字典（可能为空）以及字段
const formData= ref({
	工单编号:'',
	印件编号:'',
	工序名称:'',
	产品名称:'',
	sczl_bh1:'',
	sczl_bh2:'',
	sczl_bh3:'',
	sczl_bh4:'',
	sczl_bh5:'',
	sczl_bh6:'',
	sczl_bh7:'',
	sczl_bh8:'',
	sczl_bh9:'',
	sczl_bh10:'',
	sczl_name1:'',
	sczl_name2:'',
	sczl_name3:'',
	sczl_name4:'',
	sczl_name5:'',
	sczl_name6:'',
	sczl_name7:'',
	sczl_name8:'',
	sczl_name9:'',
	sczl_name10:'',
})
const formDatasData= reactive([])

const formDatas = ref({
  code1:'',
  code2:'',
  code3:'',
  code4:'',
  code5:'',
  code6:'',
  code7:'',
  code8:'',
  code9:'',
  code10:'',
  name1:'',
  name2:'',
  name3:'',
  name4:'',
  name5L:'',
  name6:'',
  name7:'',
  name8:'',
  name9:'',
  name10:'',
  percentage1:'',
  percentage2:'',
  percentage3:'',
  percentage4:'',
  percentage5:'',
  percentage6:'',
  percentage7:'',
  percentage8:'',
  percentage9:'',
  percentage10:'',
})


//班组单击
const BZhandle = (val, row) => {
  formDatas.value  = {};
  for (const key in val) {
    if (val[key] === 0) {
      break;
    }
    const parts = val[key].split(/[\s()]+/);
    const code = parts[0];
    const name = parts[1];
    const percentage = parts[2];

    // 根据索引填充不同的字段
    const index = parseInt(key) + 1; // 索引从1开始
    formDatas.value['code' + index] = code;
    formDatas.value['name' + index] = name;
    formDatas.value['percentage' + index] = percentage;
  }
};

	

// ============== 表格控制部分结束 ===============

// 获取需要的字典 可能为空 按需保留
const setOptions = async () =>{
}

// 获取需要的字典 可能为空 按需保留
setOptions()


// 多选数据
const multipleSelection = ref([])
// 多选
const handleSelectionChange = (val) => {
    multipleSelection.value = val
}

// 删除行
const deleteRow = (row) => {
    ElMessageBox.confirm('确定要删除吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
    }).then(() => {
            deleteCompanyFunc(row)
        })
    }


// 批量删除控制标记
const deleteVisible = ref(false)

// 多选删除
const onDelete = async() => {
      const ids = []
      if (multipleSelection.value.length === 0) {
        ElMessage({
          type: 'warning',
          message: '请选择要删除的数据'
        })
        return
      }
      multipleSelection.value &&
        multipleSelection.value.map(item => {
          ids.push(item.ID)
        })
      const res = await deleteCompanyByIds({ ids })
      if (res.code === 0) {
        ElMessage({
          type: 'success',
          message: '删除成功'
        })
        if (tableData.value.length === ids.length && page.value > 1) {
          page.value--
        }
        deleteVisible.value = false
        getTableData()
      }
    }

// 行为控制标记（弹窗内部需要增还是改）
const type = ref('')

// 更新行
const updateCompanyFunc = async(row) => {
    const res = await findCompany({ ID: row.ID })
    type.value = 'update'
    if (res.code === 0) {
        formData.value = res.data.recompany
        dialogFormVisible.value = true
    }
}

const yjupdateCompanyFunc = async(row) => {
    const res = await facilityProcedure({ Gd_gdbh: row['工单编号|质量信息'].substring(0, 7) })
	console.log(res)
    if (res.code === 0) {
        selectData.value = res.data
    }
}

// 删除行
const deleteCompanyFunc = async (row) => {
    const res = await deleteCompany({ ID: row.ID })
    if (res.code === 0) {
        ElMessage({
                type: 'success',
                message: '删除成功'
            })
            if (tableData.value.length === 1 && page.value > 1) {
            page.value--
        }
        getTableData()
    }
}

// 弹窗控制标记
const dialogFormVisible = ref(false)
const dianjianVisible = ref(false)
const yinbanVisible = ref(false)
// 查看详情控制标记
const detailShow = ref(false)
const bzData = reactive([])
// 打开详情弹窗
const openDetailShow = () => {
  detailShow.value = true
}


// 打开详情
const getDetails = async (row) => {
  // 打开弹窗
  const res = await findCompany({ ID: row.ID })
  if (res.code === 0) {
    formData.value = res.data.recompany
    openDetailShow()
  }
}


// 关闭详情弹窗
const closeDetailShow = () => {
  detailShow.value = false
  // formData.value = {
  //         address: '',
  //         image: '',
  //         name: '',
  //         }
}


// 打开弹窗
const openDialog = () => {
    // type.value = 'create'
	console.log('222')
	FacilityInspect()
	FacilitychanLiang()
    dialogFormVisible.value = true
}
let drzcData=[]
let columnNames=[]
//当日制程检验记录
const FacilityInspect = async () => {
  const response = await facilityInspect({machine:'JY01#',date:'2024-01-04'});
  console.log(response)
  if(response.code==0){
	 // 提取 inspectiontime 作为列名
	        // Extract inspectiontime as columnNames
	  columnNames = response.data.inspectiontime;

	  // Populate drzcData with row data
	  for (const key in response.data) {
		if (key !== 'inspectiontime') {
		  const item = response.data[key];
		  const rowData = {
			'工单编号': item['工单编号'],
			'印件号': item['印件号'],
			'工序名称': item['工序名称'],
			'检验项目': item['检验项目']
		  };

		  // Initialize time columns with '—'
		 columnNames.forEach(time => {
			rowData[time] = '';
		  });

		  // Split inspectresult and fill the corresponding time columns
		  const results = item['inspectresult'].split(',');
		  results.forEach(result => {
			if (columnNames.includes(result)) {
			  rowData[result] = '√';
			}else{rowData[result] = ''}
		  });

		  // Add the row data to drzcData
		  drzcData.push(rowData);
		}
	  }
	  console.log(drzcData);
  }
}
const FacilitychanLiang = async () => {
  const response = await facilitychanLiang({machine:'JY01#',date:'2024-01-04'});
  // console.log( response.data)
  if(response.code==0){
	 delete response.data['totalA']
	 delete response.data['totalB']
	 gytableData.value=Object.values(response.data)
	 console.log( response.data)
	 // for (let key in response.data) {
	 //   // 忽略 "productingAll" 和 "progressAll"
	 //   if (key !== "productingAll" && key !== "progressAll") {
	 //     let temp = data.data[key];
	 //     let object = {};
	 //     object.id = temp[0];
	 //     object.label = data.data[key];
	 //     object.children = [];
	 //     treeData.data.push(object);
	 //   }
	 // }
	 
  }
}

// 关闭弹窗
const closeDialog = () => {
    dialogFormVisible.value = false
    formData.value = {
        address: '',
        image: '',
        name: '',
        }
}
// 弹窗确定
const enterDialog = async () => {
     elFormRef.value?.validate( async (valid) => {
             if (!valid) return
              let res
              switch (type.value) {
                case 'create':
                  res = await createCompany(formData.value)
                  break
                case 'update':
                  res = await updateCompany(formData.value)
                  break
                default:
                  res = await createCompany(formData.value)
                  break
              }
              if (res.code === 0) {
                ElMessage({
                  type: 'success',
                  message: '创建/更改成功'
                })
                closeDialog()
                getTableData()
              }
      })
}

</script>

<style>
.JKWTree-container {
  display: flex;
}

.JKWTree-tree {
  width: 300px;
  background-color: #fff;
  padding: 10px;
  margin-right: 20px;
}

.JKWTree-tree h3 {
  font-size: 15px;
  font-weight: 700;
  margin: 10px 0;
}

.JKWTree-content {
  flex: 1;
}
.groupbox
      {margin:10px;
      width:500px;
      height:500px;
     border:thin solid black;
     padding:10px}
  .grouptitle
      {display:block;
     margin-top:-24px;
     margin-left:20px;
     width:150px;
     text-align:center;
     background-color:white}
</style>