瀏覽代碼

运营管理

liuhairui 1 年之前
父節點
當前提交
8954510690

+ 480 - 372
src/view/yunyin/chanpinziliao/chanpinziliao.vue

@@ -2,153 +2,247 @@
   <div>
     <el-container>
       <el-aside width="270px">
-        <div class="JKWTree-tree">
+        <!--    左侧树侧形结构-->
+        <div class="JKWTree-tree" style="height: 400px">
           <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">
-           <el-form ref="elSearchFormRef" :inline="true" :model="searchInfo" class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
-         
-             <!-- 左侧查询输入框 -->
-             <el-form-item>
-               <el-input v-model="searchInfo.keyword" placeholder="查询请输入员工编号或员工姓名" clearable style="width: 300px;"></el-input>
-             </el-form-item>
-         
-             <!-- 查询和重置按钮 -->
-             <el-form-item>
-               <el-button type="primary" icon="search" @click="onSubmit">查询</el-button>
-               <el-button icon="refresh" @click="onReset">重置</el-button>
-             </el-form-item>
-           </el-form>
-         </div>
-		 
+          <!--      搜索框 -->
+          <div class="gva-search-box">
+            <el-form ref="elSearchFormRef" :inline="true" :model="searchInfo" class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
+              <!--          左侧查询输入框 -->
+              <el-form-item>
+                <el-input v-model="searchInfo.keyword" placeholder="查询请输入员工编号或员工姓名" clearable style="width: 300px;"></el-input>
+              </el-form-item>
+              <!--        查询和重置按钮 -->
+              <el-form-item>
+                <el-button type="primary" icon="search" @click="onSubmit">查询</el-button>
+                <el-button icon="refresh" @click="onReset">重置</el-button>
+              </el-form-item>
+            </el-form>
+          </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-table ref="multipleTable" style="width: 100%" tooltip-effect="dark" :data="tableData" row-key="ID" @selection-change="handleSelectionChange">
+
+            <!--        数据表格 -->
+            <el-table ref="multipleTable"
+                      style="width: 100%;height: 400px"
+                      border
+                      tooltip-effect="dark"
+                      :data="tableData"
+                      row-key="ID"
+                      @selection-change="handleSelectionChange"
+                      @row-click="tableRowClick">
               <el-table-column type="selection" width="55" />
-           <!--   <el-table-column align="left" label="日期" width="180">
-                <template #default="scope">{{ formatDate(scope.row.CreatedAt) }}</template>
-              </el-table-column> -->
-              <el-table-column align="left" label="客户料号" prop="employeenumber" width="120" />
-			  <el-table-column align="left" label="产品编号" prop="employeename" width="120" />
-			  <el-table-column align="left" label="产品名称" prop="gender" width="120" />
-			  <el-table-column align="left" label="版本号" prop="EmploymentDate" width="120" />
-			  <el-table-column align="left" label="成品规格" prop="Confirmation" width="120" />
-			  <el-table-column align="left" label="单位" prop="department" width="120" />
-			  <el-table-column align="left" label="产品分类" prop="Professional" width="120" />
-              <el-table-column align="left" label="最近接单日期" prop="IDCard" width="120" />
-              <el-table-column align="left" label="最近引用日期" prop="birthday" width="120" />
-			  <el-table-column align="left" label="印件数" prop="properties" width="120" />
-			  <el-table-column align="left" label="工艺" prop="category" width="120" />
-			  <el-table-column align="left" label="当前状态" prop="bctype" width="120" />
-			  <el-table-column align="left" label="最后修改" prop="Salary" width="120" />
-			  <el-table-column align="left" label="建档时间" prop="accounting" width="120" />
-			  <el-table-column align="left" label="更新时间" prop="MESbe" width="120" />
+              <el-table-column align="left" label="客户编号" prop="客户编号" width="100" />
+              <el-table-column align="left" label="产品编号" prop="产品编号" width="115" />
+              <el-table-column align="left" label="产品名称" prop="产品名称" width="500" />
+              <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="U8UID" prop="U8UID" width="100" />
+              <el-table-column align="left" label="最后修改" prop="Sys_id" width="160" />
+              <el-table-column align="left" label="建档日期" prop="Sys_rq" width="160" />
+              <el-table-column align="left" label="更新日期" prop="Mod_rq" width="160" />
+              <el-table-column align="left" label="UniqID" prop="UniqID" width="100" />
+              <el-table-column align="left" label="最近接单时间" prop="receiveDate" width="160" />
+              <el-table-column align="left" label="工艺" prop="gyData" width="100"/>
+              <el-table-column align="left" label="印件数" prop="yjData" width="100" />
+              <el-table-column align="left" label="操作" min-width="120" fixed='right'>
+                <template #default="scope">
+                  <el-button type="primary" link icon="edit" class="table-button" @click="updateCompanyFunc(scope.row)">变更</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+            <!--            <div class="gva-pagination">-->
+            <!--              <el-pagination layout="total, sizes, prev, pager, next, jumper" :current-page="page" :page-size="pageSize" :page-sizes="[5,10, 30, 50, 100]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange"/>-->
+            <!--            </div>-->
+          </div>
+
+          <!--      印件资料、工艺资料、印版资料、技术资料附件【按钮】-->
+          <div>
+            <el-button type="primary" icon="" @click="showTable('印件资料')" @node-click="yjshowTable" style="margin-right: 2px;">印件资料</el-button>
+            <el-button type="primary" icon="" @click="showTable('工艺资料')" style="margin-right: 2px;">工艺资料</el-button>
+            <el-button type="primary" icon="" @click="showTable('印版资料')" style="margin-right: 2px;">印版资料</el-button>
+            <el-button type="primary" icon="" @click="showTable('技术资料附件')" style="margin-right: 2px;">技术资料附件</el-button>
+          </div>
 
+          <div v-if="currentTable === '印件资料'">
+            <!--      印件资料【表格】-->
+            <el-table ref="multipleTable" style="width: 100%;height: 400px" border tooltip-effect="dark" :data="yjtableData" row-key="ID" @selection-change="handleSelectionChange">
+              <el-table-column type="selection" width="55" />
+              <el-table-column align="left" label="印件号" prop="yj_yjno"  width="80"/>
+              <el-table-column align="left" label="印件代号" prop="yj_yjdh" width="100" />
+              <el-table-column align="left" label="印件名称" prop="yj_yjmc" width="563" />
+              <el-table-column align="left" label="纸张名称" prop="yj_zzdh" width="100"/>
+              <el-table-column align="left" label="投料规格" prop="yj_tlgg" width="240"/>
+              <el-table-column align="left" label="开料规格" prop="yj_klgg" width="100"/>
+              <el-table-column align="left" label="开数" prop="yj_ks" width="80" />
+              <el-table-column align="left" label="联数" prop="yj_ls" width="80" />
+              <el-table-column align="left" label="备注" prop="yj_desc" width="200" />
+              <el-table-column align="left" label="建档用户" prop="sys_id" width="130" />
+              <el-table-column align="left" label="建档日期" prop="sys_rq" width="160" />
+              <el-table-column align="left" label="更新日期" prop="mod_rq" width="160"/>
               <el-table-column align="left" label="操作" min-width="120" fixed='right'>
                 <template #default="scope">
-                 <!-- <el-button type="primary" link class="table-button" @click="getDetails(scope.row)">
-					  <el-icon style="margin-right: 5px"><InfoFilled /></el-icon>
-					  查看详情
-				  </el-button> -->
                   <el-button type="primary" link icon="edit" class="table-button" @click="updateCompanyFunc(scope.row)">变更</el-button>
-                  <!-- <el-button type="primary" link icon="delete" @click="deleteRow(scope.row)">删除</el-button> -->
                 </template>
               </el-table-column>
-			  
             </el-table>
-			
-            <div class="gva-pagination">
-              <el-pagination layout="total, sizes, prev, pager, next, jumper" :current-page="page" :page-size="pageSize" :page-sizes="[5,10, 30, 50, 100]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange"/>
-            </div>	
           </div>
-		  
+
+          <div v-if="currentTable === '工艺资料'">
+            <!--      工艺资料【表格】-->
+            <el-table ref="multipleTable" 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="70"/>
+              <el-table-column align="left" label="印件" prop="Gy0_yjno" width="70" />
+              <el-table-column align="left" label="工序" prop="Gy0_gxh" width="70" />
+              <el-table-column align="left" label="工序名称" prop="gy0_gxmc" width="220" />
+              <el-table-column align="left" label="工序名称" prop="add_gxmc" width="530" />
+              <el-table-column align="left" label="开数" prop="Gy0_Ks" width="70" />
+              <el-table-column align="left" label="联数" prop="Gy0_ls" width="70" />
+              <el-table-column align="left" label="备注" prop="备注" width="150" />
+              <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="Gy0_Ms" width="100" />
+              <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="120"/>
+              <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="120"/>
+              <el-table-column align="left" label="设备编号" prop="Gy0_sbmc" width="100"/>
+              <el-table-column align="left" label="最后修改" prop="最后修改" width="160"/>
+              <el-table-column align="left" label="建档日期" prop="建档日期" width="160"/>
+              <el-table-column align="left" label="更新日期" prop="更新日期" width="160"/>
+              <el-table-column align="left" label="操作" min-width="120" fixed='right'>
+                <template #default="scope">
+                  <el-button type="primary" link icon="edit" class="table-button" @click="updateCompanyFunc(scope.row)">变更</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+
+          <div v-if="currentTable === '印版资料'">
+            <!--      印版资料【表格】-->
+            <el-table ref="multipleTable" style="width: 100%;height: 400px" border tooltip-effect="dark" :data="ybtableData" row-key="ID" @selection-change="handleSelectionChange">
+              <el-table-column type="selection" width="55" />
+              <el-table-column align="left" label="方案" prop="YB_方案"  width="100"/>
+              <el-table-column align="left" label="印件号" prop="YB_Yjno" 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="440"/>
+              <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="160" />-->
+              <el-table-column align="left" label="更新日期" prop="更新日期" width="160" />
+              <el-table-column align="left" label="操作"  min-width="120" fixed='right'>
+                <template #default="scope">
+                  <el-button type="primary" link icon="edit" class="table-button" @click="updateCompanyFunc(scope.row)">变更</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+
+          <div v-if="currentTable === '技术资料附件'">
+            <!--      技术资料附件【表格】-->
+            <el-table ref="multipleTable" style="width: 100%;height: 400px" border tooltip-effect="dark" :data="jstableData" 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="100" />
+              <el-table-column align="left" label="文件类型" prop="文件类型" width="100"/>
+              <el-table-column align="left" label="关联产品" prop="关联产品"  width="360"/>
+              <el-table-column align="left" label="建档用户" prop="建档用户" width="100"/>
+              <el-table-column align="left" label="建档日期" prop="建档日期" width="160" />
+              <el-table-column align="left" label="更新日期" prop="更新日期" width="160" />
+              <el-table-column align="left" label="操作" min-width="120" fixed='right'>
+                <template #default="scope">
+                  <el-button type="primary" link icon="edit" class="table-button" @click="updateCompanyFunc(scope.row)">变更</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+
+
           <!-- 弹窗 -->
           <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type==='create'?'添加产品资料':'修改产品资料'" destroy-on-close>
-            
-          			<el-row>
-          			  <!-- 左侧表单 -->
-          			  <el-col :span="8">
-          			    <el-scrollbar height="500px">
-          			      <el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" label-width="100px">
-          			        <el-form-item label="客户料号:" prop="address">
-          			          <el-input v-model="formData.address" :clearable="true" placeholder="请输入客户料号" style="width: 180px;" />
-          			        </el-form-item>
-          			        <el-form-item label="产品编号:" prop="gender">
-          			          <el-input v-model="formData.gender" :clearable="true" placeholder="请输入产品编号" style="width: 180px;" />
-          			        </el-form-item>
-          			        <el-form-item label="产品名称:" prop="idCard">
-          			          <el-input v-model="formData.idCard" :clearable="true" placeholder="请输入产品名称" style="width: 180px;" />
-          			        </el-form-item>
-          			        <el-form-item label="版本号:" prop="department">
-          			          <el-input v-model="formData.department" :clearable="true" placeholder="请输入版本号" style="width: 180px;" />
-          			        </el-form-item>
-          			        <el-form-item label="成品规格:" prop="joinDate">
-          			          <el-input v-model="formData.joinDate" :clearable="true" placeholder="请输入成品规格" style="width: 180px;" />
-          			        </el-form-item>
-          					<el-form-item label="单位:" prop="joinDate">
-          					  <el-input v-model="formData.joinDate" :clearable="true" placeholder="请输入单位" style="width: 180px;" />
-          					</el-form-item>
-          					<el-form-item label="产品分类:" prop="joinDate">
-          					  <el-input v-model="formData.joinDate" :clearable="true" placeholder="请输入产品分类" style="width: 180px;" />
-          					</el-form-item>
-          			      </el-form>
-          			    </el-scrollbar>
-          			  </el-col>
-          			
-          			  <!-- 中间表单 -->
-          			  <el-col :span="8">
-          			    <el-scrollbar height="500px">
-          			      <el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" label-width="100px">
-          			        <el-form-item label="最近接单日期:" prop="name">
-          			          <el-input v-model="formData.name" :clearable="true" placeholder="请输入最近接单日期:" style="width: 180px;" />
-          			        </el-form-item>
-          			        <el-form-item label="最近引用日期:" prop="birthDate">
-          			          <el-input v-model="formData.birthDate" :clearable="true" placeholder="请输入最近引用日期" style="width: 180px;" />
-          			        </el-form-item>
-          			        <el-form-item label="印件数:" prop="position">
-          			          <el-input v-model="formData.position" :clearable="true" placeholder="请输入印件数" style="width: 180px;" />
-          			        </el-form-item>
-          			        <el-form-item label="工艺:" prop="departmentId">
-          			          <el-input v-model="formData.departmentId" :clearable="true" placeholder="请输入工艺" style="width: 180px;" />
-          			        </el-form-item>
-          					<el-form-item label="当前状态:" prop="departmentId">
-          					  <el-input v-model="formData.departmentId" :clearable="true" placeholder="请输入当前状态" style="width: 180px;" />
-          					</el-form-item>
-          					<el-form-item label="最后修改:" prop="departmentId">
-          					  <el-input v-model="formData.departmentId" :clearable="true" placeholder="请输入最后修改:" style="width: 180px;" />
-          					</el-form-item>
-          					<el-form-item label="建档时间:" prop="departmentId">
-          					  <el-input v-model="formData.departmentId" :clearable="true" placeholder="请输入建档时间" style="width: 180px;" />
-          					</el-form-item>
-          					<el-form-item label="更新时间:" prop="departmentId">
-          					  <el-input v-model="formData.departmentId" :clearable="true" placeholder="请输入更新时间" style="width: 180px;" />
-          					</el-form-item>
-          			      </el-form>
-          			    </el-scrollbar>
-          			  </el-col>
-          				
-          			  </el-row>
-          
+            <el-row>
+              <!-- 左侧表单 -->
+              <el-col :span="8">
+                <el-scrollbar height="500px">
+                  <el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" label-width="100px">
+                    <el-form-item label="客户料号:" prop="address">
+                      <el-input v-model="formData.address" :clearable="true" placeholder="请输入客户料号" style="width: 180px;" />
+                    </el-form-item>
+                    <el-form-item label="产品编号:" prop="gender">
+                      <el-input v-model="formData.gender" :clearable="true" placeholder="请输入产品编号" style="width: 180px;" />
+                    </el-form-item>
+                    <el-form-item label="产品名称:" prop="idCard">
+                      <el-input v-model="formData.idCard" :clearable="true" placeholder="请输入产品名称" style="width: 180px;" />
+                    </el-form-item>
+                    <el-form-item label="版本号:" prop="department">
+                      <el-input v-model="formData.department" :clearable="true" placeholder="请输入版本号" style="width: 180px;" />
+                    </el-form-item>
+                    <el-form-item label="成品规格:" prop="joinDate">
+                      <el-input v-model="formData.joinDate" :clearable="true" placeholder="请输入成品规格" style="width: 180px;" />
+                    </el-form-item>
+                    <el-form-item label="单位:" prop="joinDate">
+                      <el-input v-model="formData.joinDate" :clearable="true" placeholder="请输入单位" style="width: 180px;" />
+                    </el-form-item>
+                    <el-form-item label="产品分类:" prop="joinDate">
+                      <el-input v-model="formData.joinDate" :clearable="true" placeholder="请输入产品分类" style="width: 180px;" />
+                    </el-form-item>
+                  </el-form>
+                </el-scrollbar>
+              </el-col>
+
+              <!-- 中间表单 -->
+              <el-col :span="8">
+                <el-scrollbar height="500px">
+                  <el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" label-width="100px">
+                    <el-form-item label="最近接单日期:" prop="name">
+                      <el-input v-model="formData.name" :clearable="true" placeholder="请输入最近接单日期:" style="width: 180px;" />
+                    </el-form-item>
+                    <el-form-item label="最近引用日期:" prop="birthDate">
+                      <el-input v-model="formData.birthDate" :clearable="true" placeholder="请输入最近引用日期" style="width: 180px;" />
+                    </el-form-item>
+                    <el-form-item label="印件数:" prop="position">
+                      <el-input v-model="formData.position" :clearable="true" placeholder="请输入印件数" style="width: 180px;" />
+                    </el-form-item>
+                    <el-form-item label="工艺:" prop="departmentId">
+                      <el-input v-model="formData.departmentId" :clearable="true" placeholder="请输入工艺" style="width: 180px;" />
+                    </el-form-item>
+                    <el-form-item label="当前状态:" prop="departmentId">
+                      <el-input v-model="formData.departmentId" :clearable="true" placeholder="请输入当前状态" style="width: 180px;" />
+                    </el-form-item>
+                    <el-form-item label="最后修改:" prop="departmentId">
+                      <el-input v-model="formData.departmentId" :clearable="true" placeholder="请输入最后修改:" style="width: 180px;" />
+                    </el-form-item>
+                    <el-form-item label="建档时间:" prop="departmentId">
+                      <el-input v-model="formData.departmentId" :clearable="true" placeholder="请输入建档时间" style="width: 180px;" />
+                    </el-form-item>
+                    <el-form-item label="更新时间:" prop="departmentId">
+                      <el-input v-model="formData.departmentId" :clearable="true" placeholder="请输入更新时间" style="width: 180px;" />
+                    </el-form-item>
+                  </el-form>
+                </el-scrollbar>
+              </el-col>
+            </el-row>
+
             <template #footer>
               <div class="dialog-footer">
                 <el-button @click="closeDialog">取 消</el-button>
@@ -156,62 +250,62 @@
               </div>
             </template>
           </el-dialog>
-		  
-		   <!-- 详情展示弹窗 -->
+
+          <!-- 详情展示弹窗 -->
           <el-dialog v-model="detailShow" style="width: 800px" lock-scroll :before-close="closeDetailShow" title="员工基本资料管理" destroy-on-close>
-			<el-scrollbar height="550px">
-			  <el-descriptions column="2" border>
-			    <!-- 左侧部分 -->
-			    <el-descriptions-item label="客户料号" :min-width="labelMinWidth">
-			      {{ formData.employeeId }}
-			    </el-descriptions-item>
-			    <el-descriptions-item label="产品编号" :min-width="labelMinWidth">
-			      {{ formData.gender }}
-			    </el-descriptions-item>
-			    <el-descriptions-item label="产品名称" :min-width="labelMinWidth">
-			      {{ formData.idCard }}
-			    </el-descriptions-item>
-			    <el-descriptions-item label="版本号" :min-width="labelMinWidth">
-			      {{ formData.sectionName }}
-			    </el-descriptions-item>
-			    <el-descriptions-item label="成品规格" :min-width="labelMinWidth">
-			      {{ formData.employeeId }}
-			    </el-descriptions-item>
-			    <el-descriptions-item label="单位" :min-width="labelMinWidth">
-			      {{ formData.gender }}
-			    </el-descriptions-item>
-			    <el-descriptions-item label="产品分类" :min-width="labelMinWidth">
-			      {{ formData.idCard }}
-			    </el-descriptions-item>
-			
-			    <!-- 右侧部分 -->
-			    <el-descriptions-item label="最近接单日期" :min-width="labelMinWidth">
-			      {{ formData.name }}
-			    </el-descriptions-item>
-			    <el-descriptions-item label="最近引用日期" :min-width="labelMinWidth">
-			      {{ formData.birthdate }}
-			    </el-descriptions-item>
-			    <el-descriptions-item label="印件数" :min-width="labelMinWidth">
-			      {{ formData.position }}
-			    </el-descriptions-item>
-			    <el-descriptions-item label="工艺" :min-width="labelMinWidth">
-			      {{ formData.departmentId }}
-			    </el-descriptions-item>
-			    <el-descriptions-item label="当前状态" :min-width="labelMinWidth">
-			      {{ formData.name }}
-			    </el-descriptions-item>
-			    <el-descriptions-item label="最后修改" :min-width="labelMinWidth">
-			      {{ formData.birthdate }}
-			    </el-descriptions-item>
-			    <el-descriptions-item label="建档时间" :min-width="labelMinWidth">
-			      {{ formData.position }}
-			    </el-descriptions-item>
-			    <el-descriptions-item label="更新时间" :min-width="labelMinWidth">
-			      {{ formData.departmentId }}
-			    </el-descriptions-item>
-			  </el-descriptions>
-			</el-scrollbar>
-			
+            <el-scrollbar height="550px">
+              <el-descriptions column="2" border>
+                <!-- 左侧部分 -->
+                <el-descriptions-item label="客户料号" :min-width="labelMinWidth">
+                  {{ formData.employeeId }}
+                </el-descriptions-item>
+                <el-descriptions-item label="产品编号" :min-width="labelMinWidth">
+                  {{ formData.gender }}
+                </el-descriptions-item>
+                <el-descriptions-item label="产品名称" :min-width="labelMinWidth">
+                  {{ formData.idCard }}
+                </el-descriptions-item>
+                <el-descriptions-item label="版本号" :min-width="labelMinWidth">
+                  {{ formData.sectionName }}
+                </el-descriptions-item>
+                <el-descriptions-item label="成品规格" :min-width="labelMinWidth">
+                  {{ formData.employeeId }}
+                </el-descriptions-item>
+                <el-descriptions-item label="单位" :min-width="labelMinWidth">
+                  {{ formData.gender }}
+                </el-descriptions-item>
+                <el-descriptions-item label="产品分类" :min-width="labelMinWidth">
+                  {{ formData.idCard }}
+                </el-descriptions-item>
+
+                <!-- 右侧部分 -->
+                <el-descriptions-item label="最近接单日期" :min-width="labelMinWidth">
+                  {{ formData.name }}
+                </el-descriptions-item>
+                <el-descriptions-item label="最近引用日期" :min-width="labelMinWidth">
+                  {{ formData.birthdate }}
+                </el-descriptions-item>
+                <el-descriptions-item label="印件数" :min-width="labelMinWidth">
+                  {{ formData.position }}
+                </el-descriptions-item>
+                <el-descriptions-item label="工艺" :min-width="labelMinWidth">
+                  {{ formData.departmentId }}
+                </el-descriptions-item>
+                <el-descriptions-item label="当前状态" :min-width="labelMinWidth">
+                  {{ formData.name }}
+                </el-descriptions-item>
+                <el-descriptions-item label="最后修改" :min-width="labelMinWidth">
+                  {{ formData.birthdate }}
+                </el-descriptions-item>
+                <el-descriptions-item label="建档时间" :min-width="labelMinWidth">
+                  {{ formData.position }}
+                </el-descriptions-item>
+                <el-descriptions-item label="更新时间" :min-width="labelMinWidth">
+                  {{ formData.departmentId }}
+                </el-descriptions-item>
+              </el-descriptions>
+            </el-scrollbar>
+
           </el-dialog>
         </el-main>
       </el-container>
@@ -219,108 +313,139 @@
   </div>
 </template>
 
-<script setup>
-import {
-  createCompany,
-  deleteCompany,
-  deleteCompanyByIds,
-  updateCompany,
-  findCompany,
-  getCompanyList
-} from '@/api/company'
+<script>
+//点击按钮显示下方表格
+export default {
+  data() {
+    return {
+      currentTable: '', // 当前展示的表格
+      // 其他表格数据...
+    };
+  },
+  methods: {
+    showTable(tableName) {
+      // console.log(tableName)
+      // 根据点击的按钮设置当前展示的表格
+      this.currentTable = tableName;
+    },
+    showTableChange() {
+      // 处理表格选中事件
+    },
+    // 其他方法...
+  }
+};
+</script>
 
+<script setup>
 // 全量引入格式化工具 请按需保留
+import {createCompany, deleteCompany, deleteCompanyByIds, updateCompany, findCompany, getCompanyList} from '@/api/company'
 import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { ref, reactive } from 'vue'
+import {getCustom, getDepartment, getProduct, getProductData} from "@/api/yunyin/yunying";
+defineOptions({   name: 'Company'})
+
+// =========== 左侧树侧形结构 ===========
+const treeData = ref({})
+const defaultProps = {
+  children: 'children',
+  label: '客户名称'
+};
+const getCustomdata = async () => {
+  try {
+    const data  = await getCustom();
+    if(data.code === 0){
+      treeData.value = data.data
+    }else {
+      console.error(data.msg);
+    }
+  } catch (error) {
+    console.error(error)
+  }
+}
+getCustomdata()
+
+//点击左侧树形获取列表
+const tableData = reactive([])
+const handleNodeClick = async (node) => {
+  //通过 custom_code 客户编号 获取列表数据
+  const custom_code = node.客户编号;
+  try {
+    const WorkListdata = await getProduct({ custom_code:custom_code, limit: pageSize.value, page: page.value });
+    tableData.splice(0, tableData.length, ...WorkListdata.data.data);//表格
+    total.value = tableData.length;//共多少条
+  } catch (error) {
+    console.error(error);
+  }
+};
+
+//印件资料
+const yjtableData = reactive([])
+//工艺资料
+const gytableData = reactive([])
+//印版资料
+const ybtableData = reactive([])
+//技术资料附件
+const jstableData = reactive([])
+const tableRowClick = async (row) => {
+  //点击表格获取 产品编号
+  const product_code = row.产品编号;
+  // console.log(product_code);
+  try {
+    const res = await getProductData({ product_code:product_code, limit: pageSize.value, page: page.value });//接口
+    yjtableData.splice(0, yjtableData.length, ...res.data.yjData);//印件资料表格
+    gytableData.splice(0, gytableData.length, ...res.data.gyData);//工艺资料表格
+    ybtableData.splice(0, ybtableData.length, ...res.data.ybData);//印版资料表格
+  } catch (error) {
+    console.error( error);
+  }
+};
 
-defineOptions({
-    name: 'Company'
-})
+// 分页
+const handleCurrentChange = (val) => {
+  page.value = val;
+  // console.log(page)
+  getCustomdata();
+};
 
-const treeData = ref([
-  {
-    label: '产品管理',
-    children: [
-      {
-        label: '1001[浙江中烟]',
-      },
-      {
-        label: '1002[河南中烟]',
-      },
-      {
-        label: '1003[湖南中烟]',
-      }
-    ],
-  },
-]);
+// 修改页面容量 点击多少条/页
+const handleSizeChange = (val) => {
+  page.value = 10;//默认显示十条
+  pageSize.value = val;
+  getCustomdata();
+};
 
-const handleNodeClick = (node,check) => {
-  //存放当前节点的nodeId
-  console.log(node,check);
 
-}
 // 自动化生成的字典(可能为空)以及字段
 const formData = ref({
-        address: '',
-        image: '',
-        name: '',
-        })
-
+  address: '',
+  image: '',
+  name: '',
+})
 
 // 验证规则
-const rule = reactive({
-})
+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' }
+        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 = reactive([
-	{
-	'employeenumber':'001',
-	'employeename':'0001',
-	'gender':'产品1'
-	},
-	
-	{
-	'employeenumber':'002',
-	'employeename':'0002',
-	'gender':'产品2'
-	},
-	
-	{
-	'employeenumber':'003',
-	'employeename':'0003',
-	'gender':'产品3'
-	},
-	
-	{
-	'employeenumber':'004',
-	'employeename':'0004',
-	'gender':'产品4'
-	},
-	
-])
 const searchInfo = ref({})
 
 // 重置
@@ -339,18 +464,6 @@ const onSubmit = () => {
   })
 }
 
-// 分页
-const handleSizeChange = (val) => {
-  pageSize.value = val
-  getTableData()
-}
-
-// 修改页面容量
-const handleCurrentChange = (val) => {
-  page.value = val
-  getTableData()
-}
-
 // 查询
 const getTableData = async() => {
   const table = await getCompanyList({ page: page.value, pageSize: pageSize.value, ...searchInfo.value })
@@ -361,7 +474,6 @@ const getTableData = async() => {
     pageSize.value = table.data.pageSize
   }
 }
-
 getTableData()
 
 // ============== 表格控制部分结束 ===============
@@ -373,24 +485,23 @@ const setOptions = async () =>{
 // 获取需要的字典 可能为空 按需保留
 setOptions()
 
-
 // 多选数据
 const multipleSelection = ref([])
 // 多选
 const handleSelectionChange = (val) => {
-    multipleSelection.value = val
+  multipleSelection.value = val
 }
 
 // 删除行
 const deleteRow = (row) => {
-    ElMessageBox.confirm('确定要删除吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-    }).then(() => {
-            deleteCompanyFunc(row)
-        })
-    }
+  ElMessageBox.confirm('确定要删除吗?', '提示', {
+    confirmButtonText: '确定',
+    cancelButtonText: '取消',
+    type: 'warning'
+  }).then(() => {
+    deleteCompanyFunc(row)
+  })
+}
 
 
 // 批量删除控制标记
@@ -398,76 +509,79 @@ 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 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
-    // }
-	dialogFormVisible.value = true
-}
-
+//更新行
+const updateCompanyFunc = async (row) => {
+  const product_code = row.产品编号;
+  console.log(product_code);
+  // try {
+  //   const res = await getProductData({ product_code });
+  //   // 根据需要进行操作,比如更新表单数据或显示弹窗等
+  //   // if (res.code === 0) {
+  //   //   formData.value = res.data.recompany;
+  //   //   dialogFormVisible.value = true;
+  //   // }
+  // } catch (error) {
+  //   // 处理错误
+  //   console.error('Error in updateCompanyFunc:', error);
+  // }
+  // dialogFormVisible.value = true; // 如果需要显示弹窗,取消注释此行
+};
 
 // 删除行
 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 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 detailShow = ref(false)
 
-
 // 打开详情弹窗
 const openDetailShow = () => {
   detailShow.value = true
 }
 
-
 // 打开详情
 const getDetails = async (row) => {
   // 打开弹窗
@@ -478,80 +592,74 @@ const getDetails = async (row) => {
   }
 }
 
-
 // 关闭详情弹窗
 const closeDetailShow = () => {
   detailShow.value = false
   formData.value = {
-          address: '',
-          image: '',
-          name: '',
-          }
+    address: '',
+    image: '',
+    name: '',
+  }
 }
 
-
 // 打开弹窗
 const openDialog = () => {
-    type.value = 'create'
-    dialogFormVisible.value = true
+  type.value = 'create'
+  dialogFormVisible.value = true
 }
 
 // 关闭弹窗
 const closeDialog = () => {
-    dialogFormVisible.value = false
-    formData.value = {
-        address: '',
-        image: '',
-        name: '',
-        }
+  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()
-              }
+  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;
 }

+ 329 - 550
src/view/yunyin/renliziyuan/renyuanjibenziliao.vue

@@ -3,7 +3,7 @@
 		<el-container>
 			<!-- 左侧树形结构 -->
 			<el-aside width="270px">
-				<div class="JKWTree-tree">
+				<div class="JKWTree-tree" style="height: 500px">
 					<h3>组织列表</h3>
 					<el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
 				</div>
@@ -21,7 +21,6 @@
 								<el-input v-model="searchInfo.ke" placeholder="查询请输入员工编号或员工姓名" clearable
 									style="width: 300px;"></el-input>
 							</el-form-item>
-
 							<!-- 右侧查询和重置按钮 -->
 							<el-form-item>
 								<el-button type="primary" icon="search" @click="onSubmit">查询</el-button>
@@ -56,37 +55,33 @@
 						</el-dialog>
 
 						<!-- 表格 -->
-						<el-table ref="multipleTable" style="width: 100%;" tooltip-effect="dark" :data="tableData"
+						<el-table ref="multipleTable"
+                      style="width: 100%;height: 500px"
+                      tooltip-effect="dark" :data="tableData" border
 							row-key="ID" @row-dblclick="handleRowDoubleClick" @selection-change="handleSelectionChange">
 							<el-table-column type="selection" width="55" />
-							<el-table-column align="left" label="员工编号" prop="employeenumber" />
-							<el-table-column align="left" label="员工姓名" prop="employeename" />
-							<el-table-column align="left" label="性别" prop="gender" />
-							<el-table-column align="left" label="聘用日期" prop="EmploymentDate" width="120" />
-							<el-table-column align="left" label="转正日期" prop="Confirmation" width="120" />
-							<el-table-column align="left" label="所在部门" prop="department" width="120" />
-							<el-table-column align="left" label="职称职务" prop="Professional" width="120" />
-							<el-table-column align="left" label="身份证号" prop="IDCard" width="120" />
-							<el-table-column align="left" label="出生日期" prop="birthday" width="120" />
-							<el-table-column align="left" label="人员性质" prop="properties" width="120" />
-							<el-table-column align="left" label="人员类别" prop="category" width="120" />
-							<el-table-column align="left" label="班次类型" prop="bctype" width="120" />
-							<el-table-column align="left" label="工资表类别" prop="Salary" width="120" />
-							<el-table-column align="left" label="薪酬核算分组" prop="accounting" width="120" />
-							<el-table-column align="left" label="MES在职" prop="MESbe" width="120" />
-							<el-table-column align="left" label="U8在职" prop="Ube" width="120" />
-							<el-table-column align="left" label="U8离职日期" prop="Udata" width="120" />
-							<el-table-column align="left" label="创建用户" prop="Createuser" width="120" />
-							<el-table-column align="left" label="创建时间" prop="Createdata" width="120" />
-							<el-table-column align="left" label="修改时间" prop="editdata" width="120" />
-							<el-table-column align="left" label="U8UID" prop="UUID" width="120" />
-							<el-table-column align="left" label="UNIQID" prop="UNIQID" 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="性别" />
+							<el-table-column align="left" label="聘用日期" prop="聘用日期" width="160" />
+							<el-table-column align="left" label="转正日期" prop="转正日期" width="160" />
+							<el-table-column align="left" label="所在部门" prop="所在部门" width="140"  />
+							<el-table-column align="left" label="职称职务" prop="职称职务" width="300" />
+							<el-table-column align="left" label="身份证号" prop="身份证号" width="170" />
+							<el-table-column align="left" label="出生日期" prop="出生日期" width="160" />
+							<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="120" />
+							<el-table-column align="left" label="工资表类别" prop="工资表类别" width="160" />
+							<el-table-column align="left" label="薪酬核算分组" prop="薪酬核算分组" width="120" />
+							<el-table-column align="left" label="MES在职" prop="在职状态" width="100" />
+							<el-table-column align="left" label="U8在职" prop="U8在职" width="100" />
+							<el-table-column align="left" label="U8离职日期" prop="U8离职日期" width="160" />
+							<el-table-column align="left" label="创建用户" prop="sys_id" width="160" />
+							<el-table-column align="left" label="创建时间" prop="sys_rq" width="160" />
+							<el-table-column align="left" label="修改时间" prop="mod_rq" width="160" />
 							<el-table-column align="left" label="操作" min-width="120" fixed='right'>
 								<template #default="scope">
-									<!-- 	  <el-button type="primary" link class="table-button" @click="getDetails(scope.row)">
-						  <el-icon style="margin-right: 5px"><InfoFilled /></el-icon>
-						  查看详情
-					   </el-button> -->
 									<el-button type="primary" link icon="edit" class="table-button"
 										@click="updateCompanyFunc(scope.row)">编辑</el-button>
 								</template>
@@ -200,22 +195,21 @@
 									</el-form>
 								</el-scrollbar>
 							</el-col>
+
 							<!-- 右侧图片 -->
 							<div>
 								<el-col :span="8">
-								 
-<el-upload 
-	action="/source/upload" 
-	accept=".jpg,.jpeg,.png,.gif,.JPG,.JPEG"
-	:show-file-list="false" 
-	:on-change="handleLicensePreview"
-	:before-upload="beforeLicenseUpload" 
-	:auto-upload="false"
-	>
-		<img v-if="form.img" :src="form.img" class="preach-img">
-		<i v-else class="el-icon-plus avatar-uploader-icon"></i>
-</el-upload>
-
+                  <el-upload
+                    action="/source/upload"
+                    accept=".jpg,.jpeg,.png,.gif,.JPG,.JPEG"
+                    :show-file-list="false"
+                    :on-change="handleLicensePreview"
+                    :before-upload="beforeLicenseUpload"
+                    :auto-upload="false"
+                    >
+                      <img v-if="form.img" :src="form.img" class="preach-img">
+                      <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+                  </el-upload>
 								</el-col>
 							</div>
 
@@ -297,531 +291,319 @@
 </template>
 
 <script setup>
-	import {
-		createCompany,
-		deleteCompany,
-		deleteCompanyByIds,
-		updateCompany,
-		findCompany,
-		getCompanyList
-	} from '@/api/company'
-
-	// 全量引入格式化工具 请按需保留
-	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 treeData = ref([{
-		label: '组织架构',
-		children: [{
-				label: '总裁办',
-			},
-			{
-				label: '管理中心<69人>',
-				children: [{
-						label: '管理中心办公室<1人>',
-					},
-					{
-						label: '战略发展部<4人>',
-					},
-					{
-						label: '人力资源部<22人>',
-					},
-					{
-						label: '财务部<9人>',
-					},
-					{
-						label: '总裁办公室<17人>',
-					},
-					{
-						label: '安环办<9人>',
-					},
-					{
-						label: '美浓创新中心项目<7人>',
-					},
-				],
-			},
-			{
-				label: '技术中心<74人>',
-				children: [{
-						label: '基础研究部<7人>',
-					},
-					{
-						label: '新品开发部<5人>',
-					},
-					{
-						label: '精品试验车间<21人>',
-					},
-					{
-						label: '技术工艺部<14人>',
-					},
-					{
-						label: '技术发展部<1人>',
-					},
-					{
-						label: '设计《杭州)<15人>',
-					},
-					{
-						label: '技术中心办公室<4人>',
-					},
-					{
-						label: '信息部<7人>',
-					},
-				],
-			},
-			{
-				label: '营销中心<23人>',
-				children: [{
-						label: '营销部<19人>',
-					},
-					{
-						label: '招投标管理办公室<<4人>',
-					},
-				],
-			},
-			{
-				label: '制造中心<586人>',
-				children: [{
-						label: '品保部<41人>',
-					},
-					{
-						label: '供应部<16人>',
-						children: [{
-								label: '供应部办公室<6人>',
-							},
-							{
-								label: '原材料仓库<10人>',
-							},
-						],
-					},
-					{
-						label: '设备管理部<24人>',
-					},
-					{
-						label: '生产部<38人>',
-					},
-					{
-						label: '胶印车间<64人>',
-					},
-					{
-						label: '凹印车间<56人>',
-					},
-					{
-						label: '丝印车间<52人>',
-					},
-					{
-						label: '模切车间<113人>',
-					},
-					{
-						label: '检验车间<174人>',
-					},
-					{
-						label: '制造中小办公室<8人>',
-					},
-				],
-			},
-			{
-				label: '离职工资结算中<29人>',
-			},
-			{
-				label: '离职清单<2107>',
-			},
-		],
-	}, ]);
-
-
-
-
-	const handleNodeClick = (node, check) => {
-		//存放当前节点的nodeId
-		console.log(node, check);
-
-	}
-	// 自动化生成的字典(可能为空)以及字段
-	const formData = ref({
-		address: '',
-		image: '',
-		name: '',
-	})
-
-
-	// 验证规则
-	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 = reactive([{
-			'employeenumber': '001',
-			'employeename': '张',
-			'gender': '男'
-		},
-
-		{
-			'employeenumber': '002',
-			'employeename': '王',
-			'gender': '男'
-		},
-
-		{
-			'employeenumber': '003',
-			'employeename': '黄',
-			'gender': '男'
-		},
-
-		{
-			'employeenumber': '004',
-			'employeename': '昭',
-			'gender': '女'
-		},
-
-		{
-			'employeenumber': '004',
-			'employeename': '昭',
-			'gender': '女'
-		},
-
-		{
-			'employeenumber': '004',
-			'employeename': '昭',
-			'gender': '女'
-		},
-
-		{
-			'employeenumber': '004',
-			'employeename': '昭',
-			'gender': '女'
-		},
-
-		{
-			'employeenumber': '004',
-			'employeename': '昭',
-			'gender': '女'
-		},
-
-		{
-			'employeenumber': '004',
-			'employeename': '昭',
-			'gender': '女'
-		},
-
-		{
-			'employeenumber': '004',
-			'employeename': '昭',
-			'gender': '女'
-		},
-
-		{
-			'employeenumber': '004',
-			'employeename': '昭',
-			'gender': '女'
-		},
-
-		{
-			'employeenumber': '004',
-			'employeename': '昭',
-			'gender': '女'
-		},
-
-		{
-			'employeenumber': '004',
-			'employeename': '昭',
-			'gender': '女'
-		},
-		{
-			'employeenumber': '004',
-			'employeename': '昭',
-			'gender': '女'
-		},
-
-	])
-	const searchInfo = ref({})
-
-	// 重置
-	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 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()
-
-	// ============== 表格控制部分结束 ===============
-
-	// 获取需要的字典 可能为空 按需保留
-	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
-		// }
-		dialogFormVisible.value = true
-
-	}
-
-
-	// 删除行
-	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 detailShow = ref(false)
-
-
-	// 打开详情弹窗
-	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()
-		// }
-		detailShow.value = true
-
-	}
-
-
-	// 关闭详情弹窗
-	const closeDetailShow = () => {
-		detailShow.value = false
-		formData.value = {
-			address: '',
-			image: '',
-			name: '',
-		}
-	}
-
-
-	// 打开弹窗
-	const openDialog = () => {
-		type.value = 'create'
-		dialogFormVisible.value = true
-	}
-
-	// 关闭弹窗
-	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()
-			}
-		})
-	}
+// 全量引入格式化工具 请按需保留
+import {createCompany, deleteCompany, deleteCompanyByIds, updateCompany, findCompany, getCompanyList} from '@/api/company'
+import {getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile} from '@/utils/format'
+import {ElMessage, ElMessageBox} from 'element-plus'
+import {ref, reactive} from 'vue'
+import {getDepartment,getStaffList} from '@/api/yunyin/yunying'
+defineOptions({name: 'Company'})
+
+// =========== 左侧树侧形结构 ===========
+const treeData = ref({})
+const defaultProps = {
+  children: 'children',
+  label: '名称' // 将label设置为中文名称对应的字段名
+};
+const getDepartmentdata = async () => {
+  try {
+    const data  = await getDepartment() //接口调用函数
+    if(data.code === 0){
+      treeData.value = data.data;
+    }else {
+      console.error(data.msg);
+    }
+  } catch (error) {
+    console.error(error)
+  }
+}
+getDepartmentdata();
+
+//点击左侧树形获取列表
+const tableData = reactive([])
+const handleNodeClick = async (node) => {
+  //通过 department_code 编号 获取列表数据
+  const department_code = node.编号;
+  try {
+    const WorkListdata = await getStaffList({ department_code:department_code,limit: pageSize.value, page: page.value});//接口调用函数
+    tableData.splice(0,tableData.length,...WorkListdata.data.list);//表格数据
+    total.value = tableData.length;//共多少条
+  } catch (error) {
+    console.error(error);
+  }
+};
+
+// 分页相关的响应式变量
+const page = ref(1)
+const total = ref(0)
+const pageSize = ref(10)
+// 分页
+const handleCurrentChange = (val) => {
+  page.value = val;
+  getDepartmentdata();
+};
+
+// 修改页面容量 点击多少条/页
+const handleSizeChange = (val) => {
+  page.value = 10;//默认显示十条
+  pageSize.value = val;
+  getDepartmentdata();
+};
+
+
+// 自动化生成的字典(可能为空)以及字段
+const formData = ref({
+  address: '',
+  image: '',
+  name: '',
+})
+
+// 验证规则
+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 searchInfo = ref({})
+
+// 重置
+const onReset = () => {
+  searchInfo.value = {}
+  getTableData()
+}
+
+// 搜索
+const onSubmit = () => {
+  elSearchFormRef.value?.validate(async (valid) => {
+    console.log(valid)
+    // if (!valid) return
+    // page.value = 1
+    // pageSize.value = 10
+    // getTableData()
+  })
+}
+
+
+
+
+// 查询
+const getTableData = 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()
+
+// ============== 表格控制部分结束 ===============
+
+// 获取需要的字典 可能为空 按需保留
+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
+  // }
+  dialogFormVisible.value = true
+}
+
+// 删除行
+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 detailShow = ref(false)
+
+// 打开详情弹窗
+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()
+  // }
+  detailShow.value = true
+
+}
+
+// 关闭详情弹窗
+const closeDetailShow = () => {
+  detailShow.value = false
+  formData.value = {
+    address: '',
+    image: '',
+    name: '',
+  }
+}
+
+// 打开弹窗
+const openDialog = () => {
+  type.value = 'create'
+  dialogFormVisible.value = true
+}
+
+// 关闭弹窗
+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;
 	}
-
 	/* 图片上传 */
 	.upload-box {
 		width: 200px;
@@ -833,18 +615,15 @@
 		position: relative;
 		cursor: pointer;
 	}
-
 	.uploaded-image {
 		width: 100%;
 		height: 100%;
 		object-fit: cover;
 	}
-
 	.upload-icon {
 		font-size: 40px;
 		color: #c0c4cc;
 	}
-
 	.file-input {
 		display: none;
 	}

+ 72 - 90
src/view/yunyin/shengchanguanli/gongdanshengchan.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <el-container>
-      <el-aside width="270px">
+      <el-aside width="340px">
         <div class="JKWTree-tree">
           <h3> 组织列表</h3>
           <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
@@ -31,41 +31,39 @@
           <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> -->
+<!--              <el-button type="primary" style="width: 110px;" >查找工单</el-button>-->
+<!--              <el-button type="primary" style="width: 110px;" >工单状态设置</el-button>-->
+<!--              <el-button type="primary" style="width: 110px;" >工单状态更正</el-button>-->
+<!--              <el-button type="primary" style="width: 110px;" >引用实际参数</el-button>-->
+<!--              <el-button type="primary" style="width: 110px;" >排程参数维护</el-button>-->
+<!--              <el-button type="primary" icon="plus" style="width: 110px;" >排程参数复制</el-button>-->
+<!--              <el-button type="primary" icon="plus" style="width: 110px;" >编辑生产计划</el-button>-->
+<!--              <el-button type="primary" icon="plus" style="width: 110px;" >工单打印</el-button>-->
+<!--              <el-button type="primary" icon="plus" style="width: 110px;" >工序产量核查</el-button>-->
+<!--              <el-button type="primary" icon="plus" style="width: 110px;" >流程单查询</el-button>-->
+<!--              <el-button type="primary" icon="plus" style="width: 110px;" >工单筛选</el-button>-->
             </div>
 			
-            <el-table ref="multipleTable" style="width: 100%" tooltip-effect="dark" :data="tableData" row-key="ID" @selection-change="handleSelectionChange">
+            <el-table ref="multipleTable" style="width: 100%" border tooltip-effect="dark" :data="tableData" row-key="ID" @selection-change="handleSelectionChange">
               <el-table-column type="selection" width="55" />
-           <!--   <el-table-column align="left" label="日期" width="180">
-                <template #default="scope">{{ formatDate(scope.row.CreatedAt) }}</template>
-              </el-table-column> -->
               <el-table-column align="left" label="工单编号" prop="employeenumber" width="120" />
-			  <el-table-column align="left" label="销售订单号" prop="employeename" width="120" />
-			  <el-table-column align="left" label="印件名称" prop="gender" width="120" />
-			  <el-table-column align="left" label="印件工序及名称" prop="EmploymentDate" width="120" />
-			  <el-table-column align="left" label="工序产量" prop="Confirmation" width="120" />
-			  <el-table-column align="left" label="已完成产量" prop="department" width="120" />
-			  <el-table-column align="left" label="产品名称" prop="Professional" width="120" />
+              <el-table-column align="left" label="销售订单号" prop="employeename" width="120" />
+              <el-table-column align="left" label="印件名称" prop="gender" width="120" />
+              <el-table-column align="left" label="印件工序及名称" prop="EmploymentDate" width="130" />
+              <el-table-column align="left" label="工序产量" prop="Confirmation" width="120" />
+              <el-table-column align="left" label="已完成产量" prop="department" width="120" />
+              <el-table-column align="left" label="产品名称" prop="Professional" width="120" />
               <el-table-column align="left" label="订单数量" prop="IDCard" width="120" />
               <el-table-column align="left" label="订量单位" prop="birthday" width="120" />
-			  <el-table-column align="left" label="交货日期" prop="properties" width="120" />
-			  <el-table-column align="left" label="产品代号" prop="category" width="120" />
-			  <el-table-column align="left" label="工序名称" prop="bctype" width="120" />
-			  <el-table-column align="left" label="机组" prop="Salary" width="120" />
-			  <el-table-column align="left" label="设备编号" prop="accounting" width="120" />
-			  <el-table-column align="left" label="车间名称" prop="MESbe" width="120" />
-			  <el-table-column align="left" label="UNIWID" prop="MESbe" width="120" />
-			  <el-table-column align="left" label="印件号" prop="MESbe" width="120" />
-			  <el-table-column align="left" label="工序号" prop="MESbe" width="120" />
+              <el-table-column align="left" label="交货日期" prop="properties" width="120" />
+              <el-table-column align="left" label="产品代号" prop="category" width="120" />
+              <el-table-column align="left" label="工序名称" prop="bctype" width="120" />
+              <el-table-column align="left" label="机组" prop="Salary" width="120" />
+              <el-table-column align="left" label="设备编号" prop="accounting" width="120" />
+              <el-table-column align="left" label="车间名称" prop="MESbe" width="120" />
+              <el-table-column align="left" label="UNIWID" prop="MESbe" width="120" />
+              <el-table-column align="left" label="印件号" prop="MESbe" width="120" />
+              <el-table-column align="left" label="工序号" prop="MESbe" width="120" />
               <el-table-column align="left" label="操作" min-width="120" fixed='right'>
                 <template #default="scope">
                  <!-- <el-button type="primary" link class="table-button" @click="getDetails(scope.row)">
@@ -76,7 +74,7 @@
                   <!-- <el-button type="primary" link icon="delete" @click="deleteRow(scope.row)">删除</el-button> -->
                 </template>
               </el-table-column>
-			  
+
             </el-table>
 			
             <div class="gva-pagination">
@@ -86,7 +84,6 @@
 		  
           <!-- 弹窗 -->
           <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type==='create'?'添加产品资料':'修改产品资料'" destroy-on-close>
-            
           			<el-row>
           			  <!-- 左侧表单 -->
           			  <el-col :span="8">
@@ -222,46 +219,57 @@
 </template>
 
 <script setup>
-import {
-  createCompany,
-  deleteCompany,
-  deleteCompanyByIds,
-  updateCompany,
-  findCompany,
-  getCompanyList
-} from '@/api/company'
-
 // 全量引入格式化工具 请按需保留
+import {createCompany, deleteCompany, deleteCompanyByIds, updateCompany, findCompany, getCompanyList} from '@/api/company'
 import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { ref, reactive } from 'vue'
+import {DataList, getProduct, workbench} from "@/api/yunyin/yunying";
+defineOptions({name: 'Company'})
+
+// =========== 左侧树侧形结构 ===========
+const treeData = ref([]);
+const workbenchdata = async () => {
+  try {
+    const data = await workbench();
+    const rawData = data.data;
+    const dataArray =Object.keys(rawData).map(key => ({
+      label: key,
+      children: Object.keys(rawData[key]).map(subKey => ({
+        label: subKey,
+        children: rawData[key][subKey].map(item => ({
+          label: item
+        }))
+      }))
+    }));
+    treeData.value = dataArray;
+    // console.log(dataArray);
+  } catch (error) {
+    console.error(error);
+  }
+};
+workbenchdata();
+
+
+//点击左侧树形获取列表
+const tableData = reactive([])
+const handleNodeClick = async (node) => {
+  // //通过 custom_code 客户编号 获取列表数据
+  // const custom_code = node;
+  console.log(node)
+  // try {
+  //   const WorkListdata = await getProduct({ custom_code:custom_code, limit: pageSize.value, page: page.value });
+  //   tableData.splice(0, tableData.length, ...WorkListdata.data.data);//表格
+  //   total.value = tableData.length;//共多少条
+  // } catch (error) {
+  //   console.error(error);
+  // }
+};
+
 
-defineOptions({
-    name: 'Company'
-})
 
-const treeData = ref([
-  {
-    label: '产品管理',
-    children: [
-      {
-        label: '1001[浙江中烟]',
-      },
-      {
-        label: '1002[河南中烟]',
-      },
-      {
-        label: '1003[湖南中烟]',
-      }
-    ],
-  },
-]);
 
-const handleNodeClick = (node,check) => {
-  //存放当前节点的nodeId
-  console.log(node,check);
 
-}
 // 自动化生成的字典(可能为空)以及字段
 const formData = ref({
         address: '',
@@ -297,32 +305,6 @@ const elSearchFormRef = ref()
 const page = ref(1)
 const total = ref(0)
 const pageSize = ref(10)
-const tableData = reactive([
-	{
-	'employeenumber':'001',
-	'employeename':'0001',
-	'gender':'产品1'
-	},
-	
-	{
-	'employeenumber':'002',
-	'employeename':'0002',
-	'gender':'产品2'
-	},
-	
-	{
-	'employeenumber':'003',
-	'employeename':'0003',
-	'gender':'产品3'
-	},
-	
-	{
-	'employeenumber':'004',
-	'employeename':'0004',
-	'gender':'产品4'
-	},
-	
-])
 const searchInfo = ref({})
 
 // 重置

+ 215 - 99
src/view/yunyin/shengchanguanli/gongdanziliao.vue

@@ -3,7 +3,7 @@
     <el-container>
       <!-- 左侧树形结构 -->
       <el-aside width="270px">
-        <div class="JKWTree-tree">
+        <div class="JKWTree-tree" style="width: 100%;height: 400px">
           <h3>组织列表</h3>
           <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
         </div>
@@ -44,40 +44,132 @@
             </div>
 
             <!-- 表格 -->
-            <el-table ref="multipleTable" style="width: 100%;" tooltip-effect="dark" :data="tableData" row-key="ID" @row-dblclick="handleRowDoubleClick" @selection-change="handleSelectionChange">
-				  <el-table-column type="selection" width="55"/>
-					  <el-table-column align="left" label="工单编号" prop="employeenumber" width="120" />
-					  <el-table-column align="left" label="生产分类" prop="employeename" width="120" />
-					  <el-table-column align="left" label="销售订单号" prop="gender" width="120" />
-					  <el-table-column align="left" label="产品代号" prop="EmploymentDate" width="120" />
-					  <el-table-column align="left" label="产品名称" prop="Confirmation" width="120" />
-					  <el-table-column align="left" label="订单数量" prop="department" width="120" />
-					  <el-table-column align="left" label="单位" prop="Professional" width="120" />
-					  <el-table-column align="left" label="折合大箱" prop="IDCard" width="120" />
-					  <el-table-column align="left" label="投料率" prop="birthday" width="120" />
-					  <el-table-column align="left" label="平均合格率" prop="properties" width="120" />
-					  <el-table-column align="left" label="开单日期" prop="category" width="120" />
-					  <el-table-column align="left" label="交货日期" prop="bctype" width="120" />
-					  <el-table-column align="left" label="工单类型" prop="Salary" width="120" />
-					  <el-table-column align="left" label="工单状态" prop="accounting" width="120" />
-					  <el-table-column align="left" label="当前生产工序" prop="Createuser" width="120" />
-					  <el-table-column align="left" label="产量提交时间" prop="Createdata" width="120" />
-					  <el-table-column align="left" label="建档用户" prop="editdata" width="120" />
-					  <el-table-column align="left" label="建档时间" prop="editdata" width="120" />
-					  <el-table-column align="left" label="更新时间" prop="editdata" width="120" />
-					  <el-table-column align="left" label="操作" min-width="120" fixed='right'>
-					  <template #default="scope">
-						<el-button type="primary" link icon="edit" class="table-button" @click="updateCompanyFunc(scope.row)">编辑</el-button>
-					  </template>
-              </el-table-column>
+            <el-table ref="multipleTable"
+                      style="width: 100%;height: 400px"
+                      border
+                      tooltip-effect="dark"
+                      :data="tableData"
+                      row-key="ID"
+                      @row-dblclick="handleRowDoubleClick"
+                      @row-click="tableRowClick"
+                      @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="290" />
+                <el-table-column align="left" label="产品代号" prop="产品代号" width="100" />
+                <el-table-column align="left" label="产品名称" prop="产品名称" width="670" />
+                <el-table-column align="left" label="订单数量" prop="订单数量" width="120" />
+                <el-table-column align="left" label="单位" prop="单位" />
+                <el-table-column align="left" label="折合大箱" prop="折合大箱" width="90" />
+                <el-table-column align="left" label="投料率" prop="投料率"  />
+                <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="120" />
+                <el-table-column align="left" label="建档用户" prop="建档用户" width="120" />
+                <el-table-column align="left" label="建档时间" prop="建档时间" width="170" />
+                <el-table-column align="left" label="更新时间" prop="更新时间" width="170" />
+                <el-table-column align="left" label="操作" min-width="120" fixed='right'>
+                  <template #default="scope">
+                  <el-button type="primary" link icon="edit" class="table-button" @click="updateCompanyFunc(scope.row)">编辑</el-button>
+                  </template>
+                </el-table-column>
             </el-table>
 
             <!-- 分页 -->
             <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"/>
+              <el-pagination layout="total, sizes, prev, pager, next, jumper" :current-page="page" :page-size="pageSize" :page-sizes="[5,10, 30, 50, 100]" :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange"/>
             </div>
           </div>
-		  
+
+          <!--      印件资料、工艺资料、BOM资料【按钮】-->
+          <div>
+            <el-button type="primary" icon="" @click="showTable('印件资料')" @node-click="yjshowTable" style="margin-right: 2px;">印件资料</el-button>
+            <el-button type="primary" icon="" @click="showTable('工艺资料')" style="margin-right: 2px;">工艺资料</el-button>
+            <el-button type="primary" icon="" @click="showTable('BOM资料')" style="margin-right: 2px;">BOM资料</el-button>
+          </div>
+
+          <div v-if="currentTable === '印件资料'">
+            <!--      印件资料【表格】-->
+            <el-table ref="multipleTable" style="width: 100%;height: 400px" border tooltip-effect="dark" :data="yjtableData" row-key="ID" @selection-change="handleSelectionChange">
+              <el-table-column type="selection" width="55" />
+              <el-table-column align="left" label="印件号" prop="印件号"  width="80"/>
+              <el-table-column align="left" label="印件代号" prop="印件代号"  width="120"/>
+              <el-table-column align="left" label="印件名称" prop="印件名称"  width="400"/>
+              <el-table-column align="left" label="纸张代号" prop="纸张代号"  width="100"/>
+              <el-table-column align="left" label="纸张名称" prop="纸张名称"  width="400"/>
+              <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="160"/>
+              <el-table-column align="left" label="更新时间" prop="更新时间"  width="160"/>
+              <el-table-column align="left" label="操作" min-width="120" fixed='right'>
+                <template #default="scope">
+                  <el-button type="primary" link icon="edit" class="table-button" @click="updateCompanyFunc(scope.row)">变更</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+
+          <div v-if="currentTable === '工艺资料'">
+            <!--      工艺资料【表格】-->
+            <el-table ref="multipleTable" 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="80"/>
+<!--              <el-table-column align="left" label="印件-工序" prop="印件-工序"  width="80"/>-->
+<!--              <el-table-column align="left" label="备选工序" prop="备选工序"  width="80"/>-->
+<!--              <el-table-column align="left" label="工序名称" prop="工序名称"  width="80"/>-->
+<!--              <el-table-column align="left" label="计划产量" prop="计划产量"  width="80"/>-->
+<!--              <el-table-column align="left" label="基础损耗" prop="基础损耗"  width="80"/>-->
+<!--              <el-table-column align="left" label="报废定额" prop="报废定额"  width="80"/>-->
+<!--              <el-table-column align="left" label="允损比例" prop="允损比例"  width="80"/>-->
+<!--              <el-table-column align="left" label="难度系数" prop="难度系数"  width="80"/>-->
+<!--              <el-table-column align="left" label="损耗系数" prop="损耗系数"  width="80"/>-->
+<!--              <el-table-column align="left" label="人工检_次品板" prop="人工检_次品板"  width="80"/>-->
+<!--              <el-table-column align="left" label="人工检_废检" prop="人工检_废检"  width="80"/>-->
+<!--              <el-table-column align="left" label="机检_正品板" prop="机检_正品板"  width="80"/>-->
+<!--              <el-table-column align="left" label="机检_次品板" prop="机检_次品板"  width="80"/>-->
+<!--              <el-table-column align="left" label="机检_废检" prop="机检_废检"  width="80"/>-->
+<!--              <el-table-column align="left" label="开数*联数" prop="开数*联数"  width="80"/>-->
+<!--              <el-table-column align="left" label="备注" prop="备注"  width="80"/>-->
+<!--              <el-table-column align="left" label="印刷方式" prop="印刷方式"  width="80"/>-->
+<!--              <el-table-column align="left" label="版距" prop="版距"  width="80"/>-->
+<!--              <el-table-column align="left" label="建档用户" prop="建档用户"  width="80"/>-->
+<!--              <el-table-column align="left" label="建档日期" prop="建档日期"  width="80"/>-->
+<!--              <el-table-column align="left" label="更新时间" prop="更新时间"  width="80"/>-->
+              <el-table-column align="left" label="操作" min-width="120" fixed='right'>
+                <template #default="scope">
+                  <el-button type="primary" link icon="edit" class="table-button" @click="updateCompanyFunc(scope.row)">变更</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+
+          <div v-if="currentTable === 'BOM资料'">
+            <!--      BOM资料表格】-->
+            <el-table ref="multipleTable" style="width: 100%;height: 400px" border tooltip-effect="dark" :data="bomtableData" row-key="ID" @selection-change="handleSelectionChange">
+              <el-table-column type="selection" width="55" />
+              <el-table-column align="left" label="方案" prop="方案"  width="80"/>
+<!--              <el-table-column align="left" label="物料编号" prop="物料编号"  width="80"/>-->
+<!--              <el-table-column align="left" label="物料名称" prop="物料名称"  width="80"/>-->
+<!--              <el-table-column align="left" label="计划用量" prop="计划用量"  width="80"/>-->
+<!--              <el-table-column align="left" label="建档用户" prop="建档用户"  width="80"/>-->
+<!--              <el-table-column align="left" label="建档时间" prop="建档时间"  width="80"/>-->
+<!--              <el-table-column align="left" label="更新时间" prop="更新时间"  width="80"/>-->
+<!--              <el-table-column align="left" label="消耗定量" prop="消耗定量"  width="80"/>-->
+              <el-table-column align="left" label="操作" min-width="120" fixed='right'>
+                <template #default="scope">
+                  <el-button type="primary" link icon="edit" class="table-button" @click="updateCompanyFunc(scope.row)">变更</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
 		  
 
          <!-- 弹窗 -->
@@ -277,49 +369,110 @@
     </el-container>
   </div>
 </template>
-
+<script>
+//点击按钮显示下方表格
+export default {
+  data() {
+    return {
+      currentTable: '', // 当前展示的表格
+      // 其他表格数据...
+    };
+  },
+  methods: {
+    showTable(tableName) {
+      // console.log(tableName)
+      // 根据点击的按钮设置当前展示的表格
+      this.currentTable = tableName;
+    },
+    showTableChange() {
+      // 处理表格选中事件
+    },
+    // 其他方法...
+  }
+};
+</script>
 <script setup>
-import {
-  createCompany,
-  deleteCompany,
-  deleteCompanyByIds,
-  updateCompany,
-  findCompany,
-  getCompanyList
-} from '@/api/company'
-
 // 全量引入格式化工具 请按需保留
+import {createCompany, deleteCompany, deleteCompanyByIds, updateCompany, findCompany, getCompanyList} from '@/api/company'
 import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { ref, reactive } from 'vue'
+import {DataList, WorkList, Craft, Printed,Bom} from "@/api/yunyin/yunying";
+defineOptions({name: 'Company'})
+
+// =========== 左侧树侧形结构 ===========
+const treeData = ref([]);
+const defaultProps = {
+  children: 'children',
+  label: 'Gd_khmc'
+};
+const DataListdata = async () => {
+  try {
+    const data = await DataList();
+    if (data.code === 0) {
+      const dataArray = Object.values(data.data).map((item) => ({
+        ...item,
+        children: []
+      }));
+      treeData.value = dataArray;
+    } else {
+      console.error(data.msg);
+    }
+  } catch (error) {
+    console.error(error);
+  }
+};
+DataListdata();
+
+//点击左侧树形获取编号
+const tableData = reactive([])
+const handleNodeClick = async (node) => {
+  //通过 Gd_khdh 客户单号 获取列表数据
+  const Gd_khdh = node.Gd_khdh;
+  try {
+    const WorkListdata = await WorkList({ Gd_khdh:Gd_khdh,limit: pageSize.value, page: page.value});//接口调用函数
+    tableData.splice(0,tableData.length,...WorkListdata.data);//表格数据
+    total.value = tableData.length;//共多少条
+  } catch (error) {
+    console.error(error);
+  }
+};
+
+//印件资料
+const yjtableData = reactive([])
+//工艺资料
+const gytableData = reactive([])
+//BOM资料
+const bomtableData = reactive([])
+const tableRowClick = async (row) => {
+  //点击表格获取 工单编号
+  const Gd_gdbh = row.工单编号;
+  // console.log(row);
+  const yjres = await Printed({ Gd_gdbh:Gd_gdbh, limit: pageSize.value, page: page.value });
+  const gyres = await Craft({ Gd_gdbh:Gd_gdbh, limit: pageSize.value, page: page.value });
+  const bomres = await Bom({ Gd_gdbh:Gd_gdbh, limit: pageSize.value, page: page.value });
+  yjtableData.splice(0,yjtableData.length,...yjres.data);//表格数据
+  gytableData.splice(0,gytableData.length,...gyres.data);//表格数据
+  bomtableData.splice(0,bomtableData.length,...bomres.data);//表格数据
+  // console.log(gytableData)
+};
 
-defineOptions({
-    name: 'Company'
-})
-
-
-
-const treeData = ref([
-  {
-    label: '工单管理【计划中:1生产中:346】',
-    children: [
-      {
-        label: '1001 【生产中:55【浙江中烟】',
-      },
-      {
-        label: '云南中烟',
-      },
-    ],
-  },
-]);
+// 分页
+const handleCurrentChange = (val) => {
+  page.value = val;
+  // console.log(page)
+  DataListdata();
+};
 
+// 修改页面容量 点击多少条/页
+const handleSizeChange = (val) => {
+  page.value = 10;//默认十条
+  pageSize.value = val;
+  DataListdata();
+};
 
 
-const handleNodeClick = (node,check) => {
-  //存放当前节点的nodeId
-  console.log(node,check);
 
-}
 // 自动化生成的字典(可能为空)以及字段
 const formData = ref({
         address: '',
@@ -327,7 +480,6 @@ const formData = ref({
         name: '',
         })
 
-
 // 验证规则
 const rule = reactive({
 })
@@ -355,32 +507,6 @@ const elSearchFormRef = ref()
 const page = ref(1)
 const total = ref(0)
 const pageSize = ref(10)
-const tableData = reactive([
-	{
-	'employeenumber':'001',
-	'employeename':'张',
-	'gender':'男'
-	},
-	
-	{
-	'employeenumber':'002',
-	'employeename':'王',
-	'gender':'男'
-	},
-	
-	{
-	'employeenumber':'003',
-	'employeename':'黄',
-	'gender':'男'
-	},
-	
-	{
-	'employeenumber':'004',
-	'employeename':'昭',
-	'gender':'女'
-	},
-	
-])
 const searchInfo = ref({})
 
 // 重置
@@ -399,17 +525,7 @@ const onSubmit = () => {
   })
 }
 
-// 分页
-const handleSizeChange = (val) => {
-  pageSize.value = val
-  getTableData()
-}
 
-// 修改页面容量
-const handleCurrentChange = (val) => {
-  page.value = val
-  getTableData()
-}
 
 // 查询
 const getTableData = async() => {