Browse Source

Merge branch 'master' of https://git.7in6.com/Minong/mes-admin-backend-ui

tty 1 year ago
parent
commit
6947b214f7

+ 86 - 0
src/api/jixiaoguanli/jitairibaobiao.js

@@ -0,0 +1,86 @@
+import service from '@/utils/request'
+
+export const getTab = (data) => {
+  return service({
+    url: '/mes_server/packaging_process_output/getTab',
+    method: 'get',
+    data
+  })
+}
+
+export const getList = (params) => {
+  return service({
+    url: '/mes_server/packaging_process_output/getList',
+    method: 'get',
+    params
+  })
+}
+
+export const getInspectCount = (data) => {
+  return service({
+    url: '/mes_server/inspect/getInspectCount',
+    method: 'get',
+    data
+  })
+}
+
+export const getDateList = (params) => {
+  return service({
+    url: '/mes_server/inspect/getDateList',
+    method: 'get',
+    params
+  })
+}
+
+
+export const getMachineCount = (data) => {
+  return service({
+    url:'/mes_server/inspect/getMachineCount',
+    method: 'get',
+    data
+  })
+}
+export const getDateMachine = (params) => {
+  return service({
+    url:'/mes_server/inspect/getDateMachine',
+    method: 'get',
+    params
+  })
+}
+
+
+
+export const getproductionCount = (data) => {
+  return service({
+    url:'/mes_server/machine_production_report/getTab',
+    method: 'get',
+    data
+  })
+}
+
+export const getproductionList = (params) => {
+  return service({
+    url:'/mes_server/machine_production_report/getList',
+    method: 'get',
+    params
+  })
+}
+
+
+export const getproductionaddCount = (data) => {
+  return service({
+    url:'/mes_server/machine_production_report_add/getTab',
+    method: 'get',
+    data
+  })
+}
+
+export const getproductionaddList = (params) => {
+  return service({
+    url:'/mes_server/machine_production_report_add/getList',
+    method: 'get',
+    params
+  })
+}
+
+

+ 56 - 1
src/api/yunyin/yunying.js

@@ -16,6 +16,14 @@ export const getStaffList = (params) => {
         params
     })
 }
+//3.修改员工资料
+export const ygjbzledit = (params) => {
+    return service({
+        url: '/mes_server/staff/edit',
+        method: 'post',
+        params
+    })
+}
 
 /** 产品管理 */
 //1.获取客户信息
@@ -42,7 +50,54 @@ export const getProductData = (params) => {
         params
     })
 }
-
+//4.获取单个工艺数据(排产参数调整)
+export const getProductGy = (data) => {
+    return service({
+        url: '/mes_server/product/getProductGy',
+        method: 'get',
+        data
+    })
+}
+//5.修改产品工艺(排产参数调整)
+export const editGy = (data) => {
+    return service({
+        url: '/mes_server/product/editGy',
+        method: 'get',
+        data
+    })
+}
+//6.修改产品基本资料
+export const editProduct = (data) => {
+    return service({
+        url: '/mes_server/product/editProduct',
+        method: 'get',
+        data
+    })
+}
+//7.设置产品状态
+export const setProductStatus = (data) => {
+    return service({
+        url: '/mes_server/product/setProductStatus',
+        method: 'get',
+        data
+    })
+}
+//工艺方案更名
+export const editGyName = (data) => {
+    return service({
+        url: '/mes_server/product/editGyName',
+        method: 'get',
+        data
+    })
+}
+//8.1获取产品工艺数量
+export const getGyTotal = (data) => {
+    return service({
+        url: '/mes_serve/product/getGyTotal',
+        method: 'get',
+        data
+    })
+}
 /** 生产管理 工单资料管理*/
 // 1.工单资料菜单列表
 export const DataList = (data) => {

+ 82 - 71
src/view/job/job/job.vue

@@ -40,7 +40,7 @@
             </el-form>
           </div>
           <div class="gva-table-box">
-            <div class="gva-btn-list">
+            <!-- <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>
@@ -52,46 +52,50 @@
                   <el-button icon="delete" style="margin-left: 10px;" :disabled="!multipleSelection.length" @click="deleteVisible = true">删除</el-button>
                 </template>
               </el-popover>
-            </div>
+            </div> -->
             <el-table
                 ref="multipleTable"
+				border
                 style="width: 100%"
                 tooltip-effect="dark"
                 :data="tableData"
                 row-key="ID"
                 @selection-change="handleSelectionChange"
+				@row-dblclick="updateCompanyFunc"
+				:show-overflow-tooltip="true"
+				highlight-current-row="true"
             >
-              <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="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="二手" 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="分切1" prop="分切1" width="120" />
-              <el-table-column align="left" label="分切2" prop="分切2" 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="sys_id" width="120" />
+              <!-- <el-table-column type="selection" width="55" /> -->
+              <el-table-column align="left" fixed="left" label="设备编号" prop="设备编号" width="90" />
+              <el-table-column align="left" fixed="left" label="设备名称" prop="设备名称" width="200" />
+              <el-table-column align="left" label="生产工序" prop="生产工序" width="160" />
+              <el-table-column align="left" label="日定额" prop="日定额" width="100" />
+              <el-table-column align="left" label="千件工价" prop="千件工价" width="90" />
+              <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="分切1" prop="分切1" width="80" />
+              <el-table-column align="left" label="分切2" prop="分切2" width="80" />
+              <el-table-column align="left" label="检验" prop="检验" width="80" />
+              <el-table-column align="left" label="使用部门" prop="使用部门" width="90" />
+              <el-table-column align="left" label="设备编组" prop="" width="90" />
               <el-table-column align="left" label="创建用户" prop="sys_id" width="120" />
-              <el-table-column align="left" label="创建时间" prop="mod_rq" width="120" />
-              <el-table-column align="left" label="修改时间" prop="sys_rq" width="120" />
-              <el-table-column align="left" label="UNIQID" prop="UniqId" width="120" />
-              <el-table-column align="center" fixed="right" label="操作"  min-width="250">
-                <template #default="scope">
+              <el-table-column align="left" label="创建时间" prop="mod_rq" width="160" />
+              <el-table-column align="left" label="修改时间" prop="sys_rq" width="160" />
+              <el-table-column align="left" label="UNIQID" prop="UniqId" width="75" >
+              <!-- <el-table-column align="center" fixed="right" label="操作"  min-width="100"> -->
+               <!-- <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-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">
@@ -109,61 +113,65 @@
           <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type==='create'?'添加':'修改'" destroy-on-close>
             <el-scrollbar height="340px">
               <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
-                <el-form-item label="员工编号:"  prop="address" >
-                  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入员工编号" />
-                </el-form-item>
-                <el-form-item prop="image" >
-                  <el-input v-model="formData.image" :clearable="true"  placeholder="请输入员工姓名" />
+                <el-form-item label="使用部门:"  prop="address" >
+                  <el-input v-model="formData.address" :clearable="true" />
                 </el-form-item>
               </el-form>
 			  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
-			    <el-form-item label="班组:"  prop="address" >
-			      <el-input v-model="formData.address" :clearable="true"  placeholder="请输入班组" />
-			    </el-form-item>
-			    <el-form-item label="日期:" prop="image" >
-			      <el-input v-model="formData.image" :clearable="true"  placeholder="请输入日期" />
+			    <el-form-item label="设备编号:"  prop="address" >
+			      <el-input v-model="formData.address" :clearable="true"  />
 			    </el-form-item>
 			  </el-form>
 			  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
-			    <el-form-item label="工单编号:"  prop="address" >
-			      <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" />
-			    </el-form-item>
-			    <el-form-item prop="image" >
-			      <el-input v-model="formData.image" :clearable="true"  placeholder="请输入产品名称" />
+			    <el-form-item label="设备名称:"  prop="address" >
+			      <el-input v-model="formData.address" :clearable="true"  />
 			    </el-form-item>
 			  </el-form>
 			  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
-			    <el-form-item label="工序名称:"  prop="address" >
-			      <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工序名称" style="width: 140px;" />
-			    </el-form-item>
-			    <el-form-item prop="image" >
-			      <el-input v-model="formData.image" :clearable="true"  placeholder="请输入工序号" style="width: 140px;" />
+			    <el-form-item label="日定额:"  prop="address" >
+			      <el-input v-model="formData.address" :clearable="true" />
 			    </el-form-item>
-			  	<el-form-item label="流程单号:"  prop="address" >
-			  	  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入流程单号" style="width: 140px;" />
+			  	<el-form-item label="千元工价:"  prop="address" >
+			  	  <el-input v-model="formData.address" :clearable="true" />
 			  	</el-form-item>			
 			  </el-form>
-			  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
-			    <el-form-item label="抽检数量:"  prop="address" >
-			      <el-input v-model="formData.address" :clearable="true"  placeholder="请输入抽检数量" style="width: 123px;" />
-			    </el-form-item>			
-			  </el-form>
-			  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
-			    <el-form-item label="A类废品:"  prop="address" >
-			      <el-input v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 123px;" />
+			  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="60px">
+			    <el-form-item label="机长:" style="margin-right: 0%;" prop="address" >
+			      <el-input v-model="formData.address" :clearable="true"  style="width: 40px;" />
 			    </el-form-item>
-			    <el-form-item label="B类废品:"  prop="image" >
-			      <el-input v-model="formData.image" :clearable="true"  placeholder="请输入B类废品" style="width: 123px;" />
+			    <el-form-item label="副机:" style="margin-right: 0%;" prop="image" >
+			      <el-input v-model="formData.image" :clearable="true"  style="width: 40px;" />
 			    </el-form-item>
-			  	<el-form-item label="C类废品:"  prop="address" >
-			  	  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入C类废品" style="width: 123px;" />
-			  	</el-form-item>			
+			  	<el-form-item label="调墨:" style="margin-right: 0%;" prop="address" >
+			  	  <el-input v-model="formData.address" :clearable="true"  style="width: 40px;" />
+			  	</el-form-item>	
+				<el-form-item label="二手:" style="margin-right: 0%;" prop="address" >
+				  <el-input v-model="formData.address" :clearable="true"  style="width: 40px;" />
+				</el-form-item>
+				<el-form-item label="飞达:" style="margin-right: 0%;" prop="image" >
+				  <el-input v-model="formData.image" :clearable="true"  style="width: 40px;" />
+				</el-form-item>
+				<el-form-item label="辅助:" style="margin-right: 0%;" prop="address" >
+				  <el-input v-model="formData.address" :clearable="true"  style="width: 40px;" />
+				</el-form-item>	
+				<el-form-item label="放卷:" style="margin-right: 0%;" prop="address" >
+				  <el-input v-model="formData.address" :clearable="true" style="width: 40px;" />
+				</el-form-item>
+				<el-form-item label="分切1:" style="margin-right: 0%;" prop="image" >
+				  <el-input v-model="formData.image" :clearable="true"  style="width: 40px;" />
+				</el-form-item>
+				<el-form-item label="分切2:" style="margin-right: 0%;" prop="address" >
+				  <el-input v-model="formData.address" :clearable="true" style="width: 40px;" />
+				</el-form-item>	
+				<el-form-item label="检验:" style="margin-right: 0%;" prop="address" >
+				  <el-input v-model="formData.address" :clearable="true"  style="width: 40px;" />
+				</el-form-item>
 			  </el-form>
-			  <el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" label-width="80px">
+			  <!-- <el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" label-width="80px">
 			    <el-form-item label="其他备注:"  prop="address" >
 			      <el-input v-model="formData.address" :clearable="true"  placeholder="请输入其他备注" />
 			    </el-form-item>
-			  </el-form>
+			  </el-form> -->
             </el-scrollbar>
             <template #footer>
               <div class="dialog-footer">
@@ -410,12 +418,12 @@ const type = ref('')
 
 // 更新行
 const updateCompanyFunc = async(row) => {
-    const res = await findCompany({ ID: row.ID })
+    // const res = await findCompany({ ID: row.ID })
     type.value = 'update'
-    if (res.code === 0) {
-        formData.value = res.data.recompany
+    // if (res.code === 0) {
+        // formData.value = res.data.recompany
         dialogFormVisible.value = true
-    }
+    // }
 }
 
 
@@ -518,7 +526,10 @@ const enterDialog = async () => {
 .JKWTree-container {
   display: flex;
 }
-
+/* 选中某行时的背景色*/
+.el-table__body tr.current-row>td {
+  background: #ff80ff !important;
+}
 .JKWTree-tree {
   width: 300px;
   background-color: #fff;

+ 24 - 10
src/view/job/piece/piece.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <el-container>
-      <el-aside width="200px">
+      <el-aside width="350px">
         <div class="JKWTree-tree">
           <h3>计件定额管理</h3>
           <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
@@ -9,7 +9,7 @@
       </el-aside>
       <el-container>
         <el-main>
-          <div class="gva-search-box">
+          <!-- <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 label="创建日期" prop="createdAt">
                 <template #label>
@@ -29,8 +29,8 @@
                 <el-button icon="refresh" @click="onReset">重置</el-button>
               </el-form-item>
             </el-form>
-          </div>
-          <div class="gva-table-box">
+          </div> -->
+          <!-- <div class="gva-table-box">
             <div class="gva-btn-list">
 			  <el-button type="primary" icon="upload" @click="">导出到excel</el-button>
 			  <el-button type="primary" icon="plus" @click="getDetails(2)">详情</el-button>
@@ -77,7 +77,7 @@
                   @size-change="handleSizeChange"
               />
             </div>
-          </div>
+          </div> -->
           <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type==='create'?'添加':'修改'" destroy-on-close>
             <el-scrollbar height="500px">
               <el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" label-width="80px">
@@ -100,7 +100,7 @@
             </template>
           </el-dialog>
 
-          <el-dialog v-model="detailShow" style="width: 800px" lock-scroll :before-close="closeDetailShow" title="当前编码:" destroy-on-close>
+          <el-dialog v-model="detailShow" style="width: 800px" lock-scroll :before-close="closeDetailShow" :title="`当前编码:${pieceData.sys_bh}`" destroy-on-close>
             <el-scrollbar height="550px">
               <el-descriptions column="1" border>
                 <el-descriptions-item label="编号">
@@ -206,7 +206,7 @@ const PieceWork = async() => {
 				children: sysItem.children.map(syssItem => ({
 				  label: `${syssItem.sys_mc}【${syssItem.sys_bh}】`,
 				  params: {
-				    code: sysItem.sys_bh,
+				    code: syssItem.sys_bh,
 				  },
 				}))
 	          })),
@@ -221,7 +221,7 @@ const PieceWork = async() => {
 						children: sysItem.children.map(syssItem => ({
 						  label: `${syssItem.sys_mc}【${syssItem.sys_bh}】`,
 						  params: {
-						    code: sysItem.sys_bh,
+						    code: syssItem.sys_bh,
 						  },
 						}))
 		        })),
@@ -242,10 +242,24 @@ const PieceWork = async() => {
 PieceWork()
 const handleNodeClick = (node,check) => {
   //存放当前节点的nodeId
-  if (node.params) {
+  // if (node.paramss) {
+  // 		sys_bh.value = node.paramss.code;
+  // 		getDetails();
+		// return false;
+  // 	}
+  // if (node.params) {
+  // 		sys_bh.value = node.params.code;
+  // 		getDetails();
+  // 	}
+  if(node.children==null){
+  	sys_bh.value = node.params.code;
+  	getDetails();
+  }else{
+  	if(node.children.length==0){
   		sys_bh.value = node.params.code;
   		getDetails();
   	}
+  }
   console.log(node,check);
 }
 // 自动化生成的字典(可能为空)以及字段
@@ -513,7 +527,7 @@ const enterDialog = async () => {
 }
 
 .JKWTree-tree {
-  width: 300px;
+  width: 350px;
   background-color: #fff;
   padding: 10px;
   margin-right: 20px;

+ 29 - 10
src/view/job/process/process.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <el-container>
-      <el-aside width="200px">
+      <el-aside width="320px">
         <div class="JKWTree-tree">
           <h3>工序损耗管理</h3>
           <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
@@ -100,7 +100,7 @@
             </template>
           </el-dialog>
 
-          <el-dialog v-model="detailShow" style="width: 800px" lock-scroll :before-close="closeDetailShow" title="当前编码:" destroy-on-close>
+          <el-dialog v-model="detailShow" style="width: 800px" lock-scroll :before-close="closeDetailShow" :title="`当前编码:${processData.sys_bh}`" destroy-on-close>
             <el-scrollbar height="550px">
               <el-descriptions column="1" border>
                 <el-descriptions-item label="编号">
@@ -188,7 +188,7 @@ const Process = async() => {
 	  				children: sysItem.children.map(syssItem => ({
 	  				  label: syssItem.sys_mc,
 	  				  params: {
-	  				    code: sysItem.sys_bh,
+	  				    code: syssItem.sys_bh,
 	  				  },
 					  children: syssItem.childrens.map(syssItems => ({
 					    label: syssItems.sys_mc,
@@ -206,16 +206,35 @@ const Process = async() => {
   }
 }
 Process()
-const handleNodeClick = (node,check) => {
-  //存放当前节点的nodeId
- //  if (node.child==[]) {
-	// 	sys_bh.value = node.sys_bh;
-	// 	getDetails();
-	// }
-	if (node.params) {
+const handleNodeClick = async(node,check) => {
+	if(node.children==null){
+		sys_bh.value = node.params.code;
+		getDetails();
+	}else{
+		if(node.children.length==0){
 			sys_bh.value = node.params.code;
 			getDetails();
 		}
+	}
+  //存放当前节点的nodeId
+ //  if (node.children) {
+	// 	sys_bh.value = node.params.code;
+	// 	getDetails();
+	// }
+	// if (node.paramsss) {
+	// 		sys_bh.value = node.paramsss.code;
+	// 		getDetails();
+	// 		// return false;
+	// 	}
+	// if (node.paramss) {
+	// 		sys_bh.value = node.paramss.code;
+	// 		getDetails();
+	// 		return false;
+	// 	}
+	// if (node.params) {
+	// 		sys_bh.value = node.params.code;
+	// 		getDetails();
+	// 	}
      console.log(node,check);
 }
 // 自动化生成的字典(可能为空)以及字段

+ 355 - 0
src/view/job/processSheet/processSheet.vue

@@ -0,0 +1,355 @@
+<template>
+	<el-container>
+	  <el-main>
+		  <form method="POST" action="{:U('NewBarCodeNew/add_bach')}" style="margin-bottom:50px;" id="form">
+		                      <input name="userid" id="userid" value="{$session_config[uid]}" type="hidden">
+		                      <!--  <eq name="session_config.addtype" value="1">
+		                            <fieldset class="newlabel">
+		                                <legend style="width:auto;margin-left:20px;">生成厂商信息</legend>
+		                                <ul class="firm">
+		                                    <li>
+		                                        <ul>
+		                                            <li>
+		                                                <span>生产厂商:</span>
+		                                                <input id="company_code" type="hidden" name="supplier_code" value="{$userinfo[printer_code]}" readonly style="background:#EBEBE4" >
+		                                                <input id="supplier_id" type="hidden"  name="supplier_id" value="{$userinfo[id]}">
+		                                                <input  id="company_name"  type="text"  name="supplier_name"  value="{$userinfo[nickname]}" readonly style="background:#EBEBE4" >
+		                                                &lt;!&ndash;<input name="company_name" readonly="readonly" id="company_name"   value="浙江美浓世纪集团有限公司">&ndash;&gt;
+		                                            </li>
+		                                            <li>
+		                                                <span>编码:</span><input name="barcode_large" type="text" id="postcode" value="{$userinfo[barcode_large]}" readonly style="background:#EBEBE4">
+		                                            </li>
+		                                            <li>
+		                                                <span>代码:</span><input name="barcode_small" type="text" id="phone" value="{$userinfo[barcode_small]}" readonly  style="background:#EBEBE4">
+		                                            </li>
+		                                        </ul>
+		                                        <ul>
+		                                            <li>
+		                                                地&ensp;&ensp;&ensp;&ensp;址:<input class="company_addres" name="company_addres" type="text" id="company_address" value="{$userinfo[company_address]}" readonly style="background:#EBEBE4" >
+		                                            </li>
+		                                        </ul>
+		                                    </li>
+		                                </ul>
+		                            </fieldset>
+		                            <else/>
+		                            <fieldset class="newlabel">
+		                                <legend style="width:auto;margin-left:20px;">生成厂商信息</legend>
+		                                <ul class="firm">
+		                                    <li>
+		                                        <ul>
+		                                            <li>
+		                                                <span>生产厂商:</span>
+		                                                <select name="supplier_id" id="company_name1"  style="width:200px;height:35px;">
+		                                                    <volist name="companylist" id="vo">
+		                                                        <option value="{$vo.id}">{$vo.nickname}</option>
+		                                                    </volist>
+		                                                </select>
+		                                                <input id="company_code" type="hidden" name="supplier_code" value="{$companylist[0][printer_code]}" readonly  style="background:#EBEBE4">
+		                                                <input id="company_id" type="hidden"  name="supplier_id" value="{$companylist[0][id]}">
+		                                                <input  id="company_name"  type="hidden"  name="supplier_name"  value="{$companylist[0][nickname]}" readonly  style="background:#EBEBE4">
+		                                                &lt;!&ndash;<input name="company_name" readonly="readonly" id="company_name"   value="浙江美浓世纪集团有限公司">&ndash;&gt;
+		                                            </li>
+		                                            <li>
+		                                                <span>编码:</span><input name="barcode_large" type="text" id="barcode_large" value="{$companylist[0][barcode_large]}" readonly style="background:#EBEBE4">
+		                                            </li>
+		                                            <li>
+		                                                <span>代码:</span><input name="barcode_small" type="text" id="barcode_small" value="{$companylist[0][barcode_small]}" readonly  style="background:#EBEBE4">
+		                                            </li>
+		                                        </ul>
+		                                        <ul>
+		                                            <li>
+		                                                地&ensp;&ensp;&ensp;&ensp;址:<input class="company_addres" name="company_addres" type="text" id="company_address" value="{$companylist[0][company_address]}" readonly  style="background:#EBEBE4">
+		                                            </li>
+		                                        </ul>
+		                                    </li>
+		                                </ul>
+		                            </fieldset>
+		                        </eq>-->
+		                      <!-- <fieldset class="newlabel">
+		                           <legend style="width:auto;margin-left:20px;">辅料信息</legend>
+		                           <ul class="product">
+		                               <li>
+		                                   <ul>
+		                                       <li>
+		                                           <span>材料名称:</span>
+		                                           <select name="matter_id" id="product_name1" style="width:200px;height:35px;">
+		                                               <option value="0">============选择=============</option>
+		                                               <volist name="productlist" id="val" >
+		                                                   <option value="{$val.id}"  >{$val.title}</option>
+		                                               </volist>
+		                                           </select>
+		                                           <input name=" " type="hidden" readonly="readonly" id="product_num" value="{$productlist[0][product_num]}">
+		                                           <input id="matter_type" type="hidden"  name="matter_type" value="{$productlist[0][box_type]}">
+		                                           <input id="product_name" type="hidden" name="matter_name" value="{$productlist[0][title]}">
+		                                       </li>
+		  
+		                                       <li>
+		                                           <span>产品规格:</span><input name="matter_size" readonly="readonly" id="product_size" value="" style="background:#EBEBE4">
+		                                       </li>
+		                                       <li>
+		                                           <span>产品编码:</span>
+		                                           <input id="product_code" type="text"  name="matter_no" value="" readonly style="background:#EBEBE4">
+		                                           &lt;!&ndash;<span>产品编号:</span>&ndash;&gt;
+		                                       </li>
+		                                   </ul>
+		                                   <ul>
+		                                       <li>
+		                                           产品编号: <input name="code1" type="text" id="code1" readonly value="" style="background:#EBEBE4">
+		                                       </li>
+		                                       <li>
+		                                           存货编码: <input name="inventory_code" type="text" id="inventory_code" readonly value="" style="background:#EBEBE4">
+		                                       </li>
+		                                   </ul>
+		                               </li>
+		                           </ul>
+		                       </fieldset>-->
+		                      <fieldset class="newlabel">
+		                          <legend style="width:auto;margin-left:20px;">标记参数</legend>
+		                          <!--  <button  class="submitbtn"  id="copy_bach" onclick="return false;" style="margin-left: 0;">复制批次信息</button>-->
+		                          <table width="100%" border="1">
+		                              <caption>标签序列配置</caption>
+		                              <tr>
+		                                  <th style="width:40%;"><span>字段</span> </th>
+		                                  <th><span>值</span></th>
+		                              </tr>
+		                              <tr >
+		                                  <td><span>生产批次号</span></td>
+		                                  <td><input name="Gd_gdbh" type="text" id="Gd_gdbh" value=""   class="required" style="width: 380px;height: 30px;"></td>
+		                              </tr>
+		                              <tr>
+		                                  <td><span>纸张名称</span></td>
+		                                  <td>
+		                                      <select name="maobao" id="maobao" style="width: 380px;height: 30px;">
+		  
+		                                      </select>
+		                                  </td>
+		                              </tr>
+		                              <tr >
+		                                  <td><span style="color: red">码包</span></td>
+		                                  <td><input name="mabao" type="text" id="mabao" value=""   class="" style="width: 380px;height: 30px;" placeholder="利群(新版)专用,不是利群(新版)不要填"></td>
+		                              </tr>
+		                              <tr style="display: none" class="peijian">
+		                                  <td><span style="color: red">配件名称</span></td>
+		                                  <td>
+		                                      <select name="peijian" id="peijian" style="width: 380px;height: 30px; color: red" >
+		  
+		                                      </select>
+		                                  </td>
+		                              </tr>
+		                              <tr>
+		                                  <td><span>单个流程包含的件数</span></td>
+		                                  <td><input name="tldx" type="text" id="tldx" value="3000" class="required" style="width: 380px;height: 30px;"></td>
+		                              </tr>
+		                              <tr>
+		                                  <td><span>总投纸数</span></td>
+		                                  <td>
+		                                      <input name="num"  id="num" value="" style="width: 380px;height: 30px;">
+		                                  </td>
+		                              </tr>
+		                              <tr>
+		                                  <td><span>总流程</span></td>
+		                                  <td><input name="liucheng_total" type="number" id="liucheng_total" value="" class="required" style="width: 380px;height: 30px;"></td>
+		                              </tr>
+		                              <tr>
+		                              <td><span>版本号标识</span></td>
+		                              <td><input name="version" type="text" id="version" value="" class="required" style="width: 380px;height: 30px;"></td>
+		                              </tr>
+		                              <tr>
+		                              <td><span>起始流程号</span></td>
+		                              <td><input name="start_liucheng" type="text" id="start_liucheng" value="1" class="required" style="width: 380px;height: 30px;"></td>
+		                              </tr>
+		                              <tr>
+		                              <td><span>本次打印流程数量</span></td>
+		                              <td><input name="liucheng_num" type="text" id="liucheng_num" value="1" class="required" style="width: 380px;height: 30px;"></td>
+		                              </tr>
+		                              <tr>
+		                              <td>
+		                                  <span>备注</span></td>
+		                              <td>
+		                                  <input name="remark" type="text" id="remark" style="width: 380px;height: 30px;"></td>
+		                              </tr>
+		  <!--                            <tr>-->
+		  <!--                                <td><span style="color: red">工艺所属部门</span></td>-->
+		  <!--                                <td>-->
+		  <!--                                    <select name="department" id="department" style="width: 380px;height: 30px;" >-->
+		  <!--                                        <option value="1">胶印车间</option>-->
+		  <!--                                        <option value="2">凹印车间</option>-->
+		  <!--                                        <option value="3">模切车间</option>-->
+		  <!--                                    </select>-->
+		  <!--                                </td>-->
+		  <!--                            </tr>-->
+		                              <tr>
+		                                  <td>
+		                                      <span>左右偏移量</span></td>
+		                                  <td>
+		                                      <input name="x_offset" type="number" id="x_offset" value="0" style="width: 380px;height: 30px;"></td>
+		                              </tr>
+		                              <tr>
+		                                  <td>
+		                                      <span>上下偏移量</span></td>
+		                                  <td>
+		                                      <input name="y_offset" type="number" id="y_offset" value="0" style="width: 380px;height: 30px;"></td>
+		                              </tr>
+		                          </table>
+		                      </fieldset>
+		                      <div id="daima">
+		                          <table width="100%" border="1">
+		                              <caption>产品代号</caption>
+		                              <tr>
+		                                  <th style="width:40%;"><span>字段</span> </th>
+		                                  <th><span>值</span></th>
+		                              </tr>
+		                              <tr >
+		                                  <td><span>产品名称</span></td>
+		                                  <td>
+		                                      <select name="productname" id="product_name" style="width: 380px;height: 30px;">
+		  
+		                                      </select>
+		                                  </td>
+		                              </tr>
+		                              <tr>
+		                                  <td><span>产品代号</span></td>
+		                                  <td>
+		                                      <textarea name="product_number" id="product_number" rows="10" cols="51" >
+		  
+		                                      </textarea>
+		                                  </td>
+		                              </tr>
+		                          </table>
+		                          <button type='button' style="margin-top: 10px;"  class="submitbtn" id="numbtn">提交</button>
+		                      </div>
+		                     <div id="liucheng">
+		                         <fieldset class="newlabel">
+		                         <caption>工艺</caption>
+		                         <table width="100%" border="1" class="new_craft" id="new_craft">
+		  
+		  
+		                         </table>
+		                         </fieldset>
+		                     </div>
+		                      <div style="position:fixed;bottom:0;width:100%;height:50px;line-height:50px;">
+								  <button type='button' onsubmit='return false' class="submitbtn" id="send">打印</button>
+		                      </div>
+		                  </form>
+	  </el-main>
+	</el-container>
+</template>
+
+<script>
+
+</script>
+
+<style>
+	.newlabel{
+	    display: block;
+	    -webkit-margin-start: 2px;
+	    -webkit-margin-end: 2px;
+	    -webkit-padding-before: 0.35em;
+	    -webkit-padding-start: 0.75em;
+	    -webkit-padding-end: 0.75em;
+	    -webkit-padding-after: 0.625em;
+	    min-width: -webkit-min-content;
+	    border-width: 2px;
+	    border-style: groove;
+	    border-color: threedface;
+	    border-image: initial;
+	    width:870px;
+	    padding:10px;
+	    margin:10px;
+	    float: left;
+	}
+	.legend{
+	    display: block;
+	    -webkit-padding-start: 2px;
+	    -webkit-padding-end: 2px;
+	    border-width: initial;
+	    border-style: none;
+	    border-color: initial;
+	    border-image: initial;
+	}
+	#daima{
+	    display: block;
+	    border-width: 2px;
+	    border-style: groove;
+	    border-color: initial;
+	    border-image: initial;
+	    float: left;
+	    margin-left: 950px;
+	    margin-top: 18px;
+	    width: 550px;
+	    padding: 10px;
+	    position: fixed;
+	}
+	#daima table{
+	
+	}
+	.firm  ul,.product  ul,.tag ul{
+	    width:100%;
+	    padding:10px;
+	    font-size:0;
+	}
+	.firm li,.product li,.tag li{
+	    font-size:12px;
+	}
+	.firm li:first-child ul li,.product li:first-child ul li,.tag li:first-child ul li{
+	    display:inline-block;
+	    width:33.3333%;
+	    height:20px;
+	    line-height:20px;
+	}
+	.firm input,.product input,.tag input{
+	    width:200px;
+	    padding:5px;
+	}
+	.tag select{
+	    width:198px;
+	    padding:5px;
+	}
+	.firm li ul:last-child li{
+	    width:580px;
+	}
+	.firm li ul:last-child li input{
+	    width:476px;
+	}
+	.newlabel table{
+	    margin-top:20px;
+	    min-height: 25px; line-height: 25px;border-collapse: collapse;
+	}
+	.newlabel caption{
+	    padding:5px 0;
+	}
+	.newlabel table,.newlabel table tr th,.newlabel table tr td { border:1px dashed #ddd;padding:5px;}
+	#daima table,#daima table tr th,#daima table tr td { border:1px dashed #ddd;padding:5px;}
+	#createcode{
+	    display:inline-block;
+	    width:100px;
+	    height:30px;
+	    line-height:30px;
+	    margin-left:290px;
+	    border-radius:10px;
+	    background:#0fa2f1;
+	    color:#fff;
+	    text-align:center;
+	    cursor: pointer;
+	    opacity:0.8;
+	    filter:80%;
+	}
+	.submitbtn{
+	    width:100px;
+	    height:30px;
+	    line-height:30px;
+	    background:#0fa2f1;
+	    margin-left:30%;
+	    text-align:center;
+	    outline:none;
+	    border:0;
+	    color:#fff;
+	    border-radius:10px;
+	    opacity:0.8;
+	    filter:80%;
+	}
+	.high{ color: red; }
+	.msg{ font-size: 13px; }
+	.onError{ color: red; }
+	.onSuccess{ color: green; }
+</style>

+ 605 - 0
src/view/job/related/related.vue

@@ -0,0 +1,605 @@
+<template>
+  <div>
+
+    <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">
+            <el-form ref="elSearchFormRef" :inline="true" :model="searchInfo" class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
+              <!-- <el-form-item label="创建日期" prop="createdAt">
+                <template #label>
+        <span>
+          创建日期
+          <el-tooltip content="搜索范围是开始日期(包含)至结束日期(不包含)">
+            <el-icon><QuestionFilled /></el-icon>
+          </el-tooltip>
+        </span>
+                </template>
+                <el-date-picker v-model="searchInfo.startCreatedAt" type="datetime" placeholder="开始日期" :disabled-date="time=> searchInfo.endCreatedAt ? time.getTime() > searchInfo.endCreatedAt.getTime() : false"></el-date-picker>
+                —
+                <el-date-picker v-model="searchInfo.endCreatedAt" type="datetime" placeholder="结束日期" :disabled-date="time=> searchInfo.startCreatedAt ? time.getTime() < searchInfo.startCreatedAt.getTime() : false"></el-date-picker>
+              </el-form-item> -->
+			  <el-form-item>
+			    <el-input v-model="searchInfo.search" :clearable="true"  placeholder="输入工单编号或产品名称"/>
+				<div>{{searchInfo.search}}</div>
+			  </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 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-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="80" />
+			    <el-table-column align="left" label="所在部门" prop="日定额" width="100" />
+			    <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="分切1" prop="分切1" width="100" />
+			    <el-table-column align="left" label="分切2" prop="分切2" 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="sys_id" width="120" />
+			    <el-table-column align="left" label="创建用户" prop="sys_id" width="120" />
+			    <el-table-column align="left" label="创建时间" prop="mod_rq" width="120" />
+			    <el-table-column align="left" label="修改时间" prop="sys_rq" width="120" />
+			    <el-table-column align="left" label="UNIQID" prop="UniqId" width="75" /> -->
+			    <!-- <el-table-column align="center" fixed="right" label="操作"  min-width="100">
+			      <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="[10, 30, 50, 100]"
+			        :total="total"
+			        @current-change="handleCurrentChange"
+			        @size-change="handleSizeChange"
+			    />
+			  </div>
+			</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-table
+                ref="multipleTable"
+                style="width: 100%"
+                tooltip-effect="dark"
+                :data="tableData"
+                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="80" />
+              <el-table-column align="left" label="职称职务" prop="日定额" width="100" />
+              <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="分切1" prop="分切1" width="100" />
+              <el-table-column align="left" label="分切2" prop="分切2" 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="sys_id" width="120" />
+              <el-table-column align="left" label="创建用户" prop="sys_id" width="120" />
+              <el-table-column align="left" label="创建时间" prop="mod_rq" width="120" />
+              <el-table-column align="left" label="修改时间" prop="sys_rq" width="120" />
+              <el-table-column align="left" label="UNIQID" prop="UniqId" width="75" />
+              <el-table-column align="center" fixed="right" label="操作"  min-width="100"> -->
+                <!-- <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="[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-scrollbar height="340px">
+              <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+                <el-form-item label="员工编号:"  prop="address" >
+                  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入员工编号" />
+                </el-form-item>
+                <el-form-item prop="image" >
+                  <el-input v-model="formData.image" :clearable="true"  placeholder="请输入员工姓名" />
+                </el-form-item>
+              </el-form>
+			  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			    <el-form-item label="班组:"  prop="address" >
+			      <el-input v-model="formData.address" :clearable="true"  placeholder="请输入班组" />
+			    </el-form-item>
+			    <el-form-item label="日期:" prop="image" >
+			      <el-input v-model="formData.image" :clearable="true"  placeholder="请输入日期" />
+			    </el-form-item>
+			  </el-form>
+			  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			    <el-form-item label="工单编号:"  prop="address" >
+			      <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" />
+			    </el-form-item>
+			    <el-form-item prop="image" >
+			      <el-input v-model="formData.image" :clearable="true"  placeholder="请输入产品名称" />
+			    </el-form-item>
+			  </el-form>
+			  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			    <el-form-item label="工序名称:"  prop="address" >
+			      <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工序名称" style="width: 140px;" />
+			    </el-form-item>
+			    <el-form-item prop="image" >
+			      <el-input v-model="formData.image" :clearable="true"  placeholder="请输入工序号" style="width: 140px;" />
+			    </el-form-item>
+			  	<el-form-item label="流程单号:"  prop="address" >
+			  	  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入流程单号" style="width: 140px;" />
+			  	</el-form-item>			
+			  </el-form>
+			  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			    <el-form-item label="抽检数量:"  prop="address" >
+			      <el-input v-model="formData.address" :clearable="true"  placeholder="请输入抽检数量" style="width: 123px;" />
+			    </el-form-item>			
+			  </el-form>
+			  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			    <el-form-item label="A类废品:"  prop="address" >
+			      <el-input v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 123px;" />
+			    </el-form-item>
+			    <el-form-item label="B类废品:"  prop="image" >
+			      <el-input v-model="formData.image" :clearable="true"  placeholder="请输入B类废品" style="width: 123px;" />
+			    </el-form-item>
+			  	<el-form-item label="C类废品:"  prop="address" >
+			  	  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入C类废品" style="width: 123px;" />
+			  	</el-form-item>			
+			  </el-form>
+			  <el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" label-width="80px">
+			    <el-form-item label="其他备注:"  prop="address" >
+			      <el-input v-model="formData.address" :clearable="true"  placeholder="请输入其他备注" />
+			    </el-form-item>
+			  </el-form>
+            </el-scrollbar>
+            <template #footer>
+              <div class="dialog-footer">
+                <el-button @click="closeDialog">取 消</el-button>
+                <el-button type="primary" @click="enterDialog">确 定</el-button>
+              </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="1" border>
+                <el-descriptions-item label="address字段">
+                  {{ formData.address }}
+                </el-descriptions-item>
+                <el-descriptions-item label="image字段">
+                  {{ formData.image }}
+                </el-descriptions-item>
+                <el-descriptions-item label="name字段">
+                  {{ formData.name }}
+                </el-descriptions-item>
+              </el-descriptions>
+            </el-scrollbar>
+          </el-dialog>
+
+        </el-main>
+
+      </el-container>
+    </el-container>
+
+
+
+
+
+  </div>
+</template>
+
+<script setup>
+import {
+  getDepartment,
+  getMachineInfo
+} from '@/api/mes/job'
+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([])
+const Department = async() => {
+  const getDepartments = await getDepartment()
+  if (getDepartments.code === 0) {
+ //    // treeData.value = getDepartments.data
+	// getDepartments.data.forEach(function(i,index){
+	// 	console.log(i,index)
+	// })
+	// console.log(getDepartments.data)
+	const arrData = getDepartments.data.map((item) => ({
+		label:item,
+		params: {
+		  department: item,
+		}
+		}))
+    treeData.value = [
+		{
+			label: '设备定额及分配参数设置',
+			children:arrData,
+		}
+	]
+  }
+}
+Department()
+const handleNodeClick = (node,check) => {
+  //存放当前节点的nodeId
+  console.log(node,check);
+  if (node.params) {
+      params.department = node.params.department;
+      // params.sys_id = node.params.sys_id;
+      // total.value = node.params.total;
+      getTableData();
+    }
+
+}
+// 自动化生成的字典(可能为空)以及字段
+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 = ref([])
+const searchInfo = ref({})
+const params = {
+  department: '',
+  page: page.value.toString(),
+  limit: pageSize.value.toString(),
+}
+
+// 重置
+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
+  params.limit = val.toString();
+  getTableData()
+}
+
+// 修改页面容量
+const handleCurrentChange = (val) => {
+  page.value = val
+  params.page = val.toString();
+  getTableData()
+}
+
+// 查询
+const getTableData = async() => {
+  const table = await getMachineInfo(params)
+  if (table.code === 0) {
+    tableData.value = table.data.data
+    total.value = table.data.total
+	console.log(tableData);
+    // 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
+    }
+}
+
+
+// 删除行
+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()
+  }
+}
+
+
+// 关闭详情弹窗
+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;
+}
+</style>

+ 31 - 24
src/view/job/rewards/rewards.vue

@@ -2,7 +2,7 @@
   <div>
 
     <el-container>
-      <el-aside width="200px">
+      <el-aside width="230px">
         <div class="JKWTree-tree">
 
           <h3  >工序大废品奖惩记录</h3>
@@ -39,7 +39,7 @@
             </el-form>
           </div>
           <div class="gva-table-box">
-            <div class="gva-btn-list">
+            <!-- <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>
@@ -51,33 +51,37 @@
                   <el-button icon="delete" style="margin-left: 10px;" :disabled="!multipleSelection.length" @click="deleteVisible = true">删除</el-button>
                 </template>
               </el-popover>
-            </div>
+            </div> -->
             <el-table
                 ref="multipleTable"
                 style="width: 100%"
+				border
                 tooltip-effect="dark"
                 :data="tableData"
                 row-key="ID"
                 @selection-change="handleSelectionChange"
+				:show-overflow-tooltip="true"
+				highlight-current-row="true"
+				@row-dblclick="updateCompanyFunc"
             >
               <el-table-column type="selection" width="55" />
-              <el-table-column align="left" label="工单编号" prop="sczl_gdbh" width="120" />
-              <el-table-column align="left" label="印件名称" prop="Gd_cpmc" width="120" />
-			  <el-table-column align="left" label="日期" prop="sczl_rq" width="120" />
-			  <el-table-column align="left" label="流程单备注" prop="sczl_numDesc" width="120" />
-			  <el-table-column align="left" label="联数" prop="sczl_ls" width="120" />
-			  <el-table-column align="left" label="责任部门" prop="责任部门" width="120" />
-			  <el-table-column align="left" label="大废品数" prop="sczl_cl" width="120" />
-			  <el-table-column align="left" label="废品类型" prop="sczl_fplxA" width="120" />
-			  <el-table-column align="left" label="废品来源" prop="sczl_fplxB" width="120" />
-			  <el-table-column align="left" label="奖励班组" prop="Jl_bzdh" width="120" />
-              <el-table-column align="left" label="检验员工" prop="JL_bh1" width="120" />
-			  <el-table-column align="left" label="责任班组" prop="sczl_bzdh" width="120" />
-			  <el-table-column align="left" label="责任员工1" prop="sczl_bh1" width="120" />
-			  <el-table-column align="left" label="责任员工2" prop="sczl_bh2" width="120" />
+              <el-table-column align="left" fixed="left" label="工单编号" prop="sczl_gdbh" width="90" />
+              <el-table-column align="left" fixed="left" label="印件名称" prop="Gd_cpmc" width="210" />
+			  <el-table-column align="left" label="日期" prop="sczl_rq" width="100" />
+			  <el-table-column align="left" label="流程单备注" prop="sczl_numDesc" width="100" />
+			  <el-table-column align="left" label="联数" prop="sczl_ls" width="70" />
+			  <el-table-column align="left" label="责任部门" prop="责任部门" width="90" />
+			  <el-table-column align="left" label="大废品数" prop="sczl_cl" width="90" />
+			  <el-table-column align="left" label="废品类型" prop="sczl_fplxA" width="100" />
+			  <el-table-column align="left" label="废品来源" prop="sczl_fplxB" width="90" />
+			  <el-table-column align="left" label="奖励班组" prop="Jl_bzdh" width="90" />
+              <el-table-column align="left" label="检验员工" prop="JL_bh1" width="90" />
+			  <el-table-column align="left" label="责任班组" prop="sczl_bzdh" width="90" />
+			  <el-table-column align="left" label="责任员工1" prop="sczl_bh1" width="90" />
+			  <el-table-column align="left" label="责任员工2" prop="sczl_bh2" width="90" />
 			  <el-table-column align="left" label="创建用户" prop="sys_id" width="120" />
-			  <el-table-column align="left" label="创建时间" prop="sys_rq" width="120" />
-			  <el-table-column align="left" label="UNIQID" prop="UniqId" width="120" />
+			  <el-table-column align="left" label="创建时间" prop="sys_rq" width="160" />
+			  <el-table-column align="left" label="UNIQID" prop="UniqId" width="80" />
               <el-table-column align="left" label="操作" min-width="250">
                 <template #default="scope">
                   <el-button type="primary" link class="table-button" @click="getDetails(scope.row)">
@@ -520,12 +524,12 @@ const type = ref('')
 
 // 更新行
 const updateCompanyFunc = async(row) => {
-    const res = await findCompany({ ID: row.ID })
+    // const res = await findCompany({ ID: row.ID })
     type.value = 'update'
-    if (res.code === 0) {
-        formData.value = res.data.recompany
+    // if (res.code === 0) {
+        // formData.value = res.data.recompany
         dialogFormVisible.value = true
-    }
+    // }
 }
 
 
@@ -628,7 +632,10 @@ const enterDialog = async () => {
 .JKWTree-container {
   display: flex;
 }
-
+/* 选中某行时的背景色*/
+.el-table__body tr.current-row>td {
+  background: #ff80ff !important;
+}
 .JKWTree-tree {
   width: 300px;
   background-color: #fff;

+ 33 - 23
src/view/job/sampling/sampling.vue

@@ -2,9 +2,8 @@
   <div>
 
     <el-container>
-      <el-aside width="200px">
+      <el-aside width="260px">
         <div class="JKWTree-tree">
-
           <h3  > 工单抽检记录维护</h3>
           <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
         </div>
@@ -40,7 +39,7 @@
             </el-form>
           </div>
           <div class="gva-table-box">
-            <div class="gva-btn-list">
+            <!-- <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>
@@ -52,31 +51,39 @@
                   <el-button icon="delete" style="margin-left: 10px;" :disabled="!multipleSelection.length" @click="deleteVisible = true">删除</el-button>
                 </template>
               </el-popover>
-            </div>
+            </div> -->
             <el-table
                 ref="multipleTable"
+				border
                 style="width: 100%"
                 tooltip-effect="dark"
                 :data="tableData"
                 row-key="ID"
                 @selection-change="handleSelectionChange"
+				highlight-current-row="true"
+				:show-overflow-tooltip="true"
+				@row-dblclick="updateCompanyFunc"
             >
               <el-table-column type="selection" width="55" />
-              <el-table-column align="left" label="日期" prop="Sczl_rq" width="120" />
-              <el-table-column align="left" label="员工编号" prop="Sczl_bh" width="120" />
-              <el-table-column align="left" label="印件号" prop="Sczl_gdbh" width="120" />
-			  <el-table-column align="left" label="工序号" prop="sczl_gxh" width="120" />
-			  <el-table-column align="left" label="流程单号" prop="Sczl_num" width="120" />
-			  <el-table-column align="left" label="抽检数" prop="Sczl_抽检数" width="120" />
-			  <el-table-column align="left" label="A类废" prop="sczl_A类废" width="120" />
-			  <el-table-column align="left" label="B类废" prop="sczl_B类废" width="120" />
-			  <el-table-column align="left" label="C类废" prop="sczl_C类废" width="120" />
-			  <el-table-column align="left" label="备注" prop="Sczl_desc" width="120" />
+              <el-table-column align="center" fixed="left" label="日期" prop="Sczl_rq" width="100" />
+              <el-table-column align="left" fixed="left" label="员工编号" prop="Sczl_bh" width="90" />
+			  <el-table-column align="left" label="员工姓名" prop="name" width="90" />
+			  <el-table-column align="left" label="工单编号" prop="Sczl_gdbh" width="90" />
+			  <el-table-column align="left" label="产品名称" prop="Gd_cpmc" width="130" />
+			  <el-table-column align="left" label="工序名称" prop="Sczl_gxmc" width="95" />
+              <el-table-column align="left" label="印件号" prop="sczl_yjno" width="70" />
+			  <el-table-column align="left" label="工序号" prop="sczl_gxh" width="70" />
+			  <el-table-column align="left" label="流程单号" prop="Sczl_num" width="85" />
+			  <el-table-column align="left" label="抽检数" prop="Sczl_抽检数" width="70" />
+			  <el-table-column align="left" label="A类废" prop="sczl_A类废" width="70" />
+			  <el-table-column align="left" label="B类废" prop="sczl_B类废" width="70" />
+			  <el-table-column align="left" label="C类废" prop="sczl_C类废" width="70" />
+			  <el-table-column align="left" label="备注" prop="Sczl_desc" width="80" />
 			  <el-table-column align="left" label="创建用户" prop="Sys_id" width="120" />
-			  <el-table-column align="left" label="创建时间" prop="Sys_rq" width="120" />
+			  <el-table-column align="left" label="创建时间" prop="Sys_rq" width="160" />
 			  <el-table-column align="left" label="修改时间" prop="Mod_rq" width="120" />
-			  <el-table-column align="left" label="UNIQID" prop="UniqId" width="120" />
-              <el-table-column align="center" fixed="right" label="操作"  min-width="250">
+			  <el-table-column align="left" label="UNIQID" prop="UniqId" width="75" />
+              <el-table-column align="center" label="操作"  min-width="250">
                 <template #default="scope">
                   <el-button type="primary" link class="table-button" @click="getDetails(scope.row)">
                     <el-icon style="margin-right: 5px"><InfoFilled /></el-icon>
@@ -400,12 +407,12 @@ 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
+    // const res = await findCompany({ ID: row.ID })
+    // type.value = 'update'
+    // if (res.code === 0) {
+        // formData.value = res.data.recompany
         dialogFormVisible.value = true
-    }
+    // }
 }
 
 
@@ -508,7 +515,10 @@ const enterDialog = async () => {
 .JKWTree-container {
   display: flex;
 }
-
+/* 选中某行时的背景色*/
+.el-table__body tr.current-row>td {
+  background: #ff80ff !important;
+}
 .JKWTree-tree {
   width: 300px;
   background-color: #fff;

File diff suppressed because it is too large
+ 382 - 813
src/view/performance/Dayreportattached.vue


File diff suppressed because it is too large
+ 672 - 526
src/view/performance/Dayreports.vue


+ 296 - 251
src/view/performance/MachineDocuments.vue

@@ -36,8 +36,14 @@
             </el-form>
           </div>
           <div class="gva-table-box">
-            <div class="gva-btn-list">
-              <el-button type="primary" icon="plus" @click="openDialog">新增</el-button>
+            <div class="gva-btn-list">       
+			  <el-button type="primary" icon="plus" @click="openDialog">刷新质检系数</el-button>
+			  <el-button type="primary" icon="plus" @click="openDialog">显示方式</el-button>
+			  <el-button type="primary" icon="plus" @click="openDialog">定位</el-button>
+			  <el-button type="primary" icon="plus" @click="SeleUpda">查改</el-button>						  
+			  <el-button type="primary" icon="plus" @click="openDialog">导出到Excel</el-button>
+			  <el-button type="primary" icon="plus" @click="openDialog">工序产量核查</el-button>
+			  <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;">
@@ -51,214 +57,118 @@
             </div>
             <el-table
               :data="tableData"
-            				 height="300"
-            				 border
-            				 highlight-current-row
-              @current-change="handleCurrentChange"
+			  height="300"
+			  border
+			  highlight-current-row
 			  @row-dblclick="dbSelected"
               style="width: 100%">
               <el-table-column
-            				  fixed
-                prop="worknum"
-                label="工单编号"
+            	fixed
+                prop="sczl_单据类型"
+                label="分类"
                 width="100">
               </el-table-column>
               <el-table-column
-            				  fixed
-                prop="name"
-                label="产品名称"
+            	fixed
+                prop="combinedProp"
+                label="工单印件"
                 width="180">
               </el-table-column>
-              
-            				<el-table-column
-            				  prop="process"
-            				  label="印件及工序"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="manufacturetime"
-							  label="生产日期"
-							  width="180">
-							</el-table-column>
-            				<el-table-column
-            				  prop="Machine"
-            				  label="机台"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="Team"
-            				  label="班组"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="processsheet"
-							  label="流程单"
-							  width="180">
-							</el-table-column>
-            				
-							<el-table-column
-							  prop="production"
-							  label="车头产量"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="shades"
-            				  label="色度数"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="processwaste"
-            				  label="制程废"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="defective"
-							  label="次品"
-							  width="180">
-							</el-table-column>
-            				<el-table-column
-            				  prop="incomingerror"
-            				  label="来料异常"
-            				  width="180">
-            				</el-table-column>
-            				
-            				<el-table-column
-            				  prop="platework"
-            				  label="装版工时"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="maintenancework"
-            				  label="保养工时"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="proofingwork"
-							  label="打样工时"
-							  width="180">
-							</el-table-column>
-            				<el-table-column
-            				  prop="stopwork"
-            				  label="异常停机工时"
-            				  width="180">
-            				</el-table-column>
-            				
-            				<el-table-column
-            				  prop="runwork"
-            				  label="设备运行工时"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamnumber1"
-            				  label="组员编号1"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="teamname1"
-							  label="组员姓名1"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="teamnumber2"
-            				  label="组员编号2"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname2"
-            				  label="组员姓名"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-            				  prop="teamnumber3"
-            				  label="组员编号3"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname3"
-            				  label="组员姓名3"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-            				  prop="teamnumber4"
-            				  label="组员编号4"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname4"
-            				  label="组员姓名4"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamnumber5"
-            				  label="组员编号5"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname5"
-            				  label="组员姓名5"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamnumber6"
-            				  label="组员编号6"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname6"
-            				  label="组员姓名6"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="combinecoefficients"
-            				  label="拆片联拼系数"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="casletcoefficient"
-							  label="拆片小盒系数"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="ratefactor"
-            				  label="工价系数"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="dailyquota"
-							  label="日定额"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="piecesprice "
-            				  label="千件工价"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="addstandards "
-							  label="补产标准"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="creatuser"
-            				  label="创建用户"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="creattime"
-							  label="创建时间"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="updatetime"
-            				  label="修改时间"
-            				  width="180">
-            				</el-table-column>							
+			  <el-table-column			
+			    prop="combinedProp2"
+			    label="印件工序"
+			    width="180">
+			  </el-table-column>
+              <el-table-column
+                prop="sczl_jtbh"
+                label="机台编号"
+                width="180">
+              </el-table-column>
+              <el-table-column
+                prop="sczl_rq"
+                label="日期"
+                width="180">
+              </el-table-column>
+			  <el-table-column
+			    prop="sczl_cl"
+			    label="计件产量"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="sczl_检验类别"
+			    label="检验类别"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="sczl_废品率系数"
+			    label="废品率系数"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="日定额"
+			    label="日定额"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="sczl_bh1_name"
+			    label="员工姓名1"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="sczl_bh2_name"
+			    label="员工姓名2"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="sczl_bh3_name"
+			    label="员工姓名3"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="sczl_bh4_name"
+			    label="员工姓名4"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="sczl_bzdh"
+			    label="班组代号"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="千件工价"
+			    label="千件工价"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="sczl_设备运行工时"
+			    label="日通电工时"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="qczl_NumDesc"
+			    label="流程单备注"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="sys_id"
+			    label="创建用户"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="sys_rq"
+			    label="创建时间"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="mod_rq"
+			    label="修改时间"
+			    width="180">
+			  </el-table-column>
+			  <el-table-column
+			    prop="UniqId"
+			    label="UNIQID"
+			    width="180">
+			  </el-table-column>
             </el-table>		    
             <div class="gva-pagination">
               <el-pagination
@@ -310,6 +220,125 @@
             </el-scrollbar>
           </el-dialog>
 
+
+<el-dialog v-model="SeleUpdaShow" :before-close="closeDialog" :title="type==='create'?'添加':'修改'" destroy-on-close>
+		 <el-scrollbar height="500px">
+		   <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			 <el-form-item label="日期:"  prop="address" >
+			   <el-input v-model="formData.address" :clearable="true"  placeholder="" style="width: 60px;" />
+			 </el-form-item>
+			<el-form-item label="组别:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="" style="width: 60px;" />
+			</el-form-item>	 
+		   </el-form>
+		  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-form-item label="工单编号:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入班组"style="width: 75px;" />
+			  <el-input v-model="formData.image" :clearable="true"  placeholder="请输入日期" style="width: 50px;" />
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入班组"style="width: 100px;" />
+			  <el-input v-model="formData.image" :clearable="true"  placeholder="请输入日期" style="width: 150px;" />
+			</el-form-item>			
+		  </el-form>
+		  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-form-item label="机台编号:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" style="width: 70px;" />
+			</el-form-item>
+			<el-form-item label="检验类型" prop="image" >
+			   <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" style="width: 70px;" />
+			</el-form-item>
+			<el-form-item label="检验类别:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" style="width: 70px;" />
+			</el-form-item>
+			<el-form-item label="废品率系数" prop="image" >
+			   <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" style="width: 70px;" />
+			</el-form-item>								
+		  </el-form>
+		  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-form-item label="计件箱数:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" style="width: 70px;" />
+			</el-form-item>
+			<el-form-item label="每箱数量" prop="image" >
+			   <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" style="width: 70px;" />
+			</el-form-item>
+			<el-form-item label="定额代号:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" style="width: 70px;" />
+			</el-form-item>										
+		  </el-form>	
+		  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-form-item label="流程单:"  prop="address" >
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			</el-form-item>	
+			<el-form-item label="备注" prop="add">
+			<el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 150px;" />
+			</el-form-item>									
+		  </el-form>	
+		<el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-form-item label="换模补产工时:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" style="width: 70px;" />
+			</el-form-item>
+			<el-form-item label="设备保养工时" prop="image" >
+			   <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" style="width: 70px;" />
+			</el-form-item>
+			<el-form-item label="异常停机:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" style="width: 70px;" />
+			</el-form-item>
+			<el-form-item label="设备通电工时" prop="image" >
+			   <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" style="width: 70px;" />
+			</el-form-item>								
+		</el-form>		
+		 <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="55px">
+		  <el-form-item label="组员姓名"  prop="address" >
+		  </el-form-item>
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />		 							      
+		 </el-form> 
+		 <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="55px">
+		  <el-form-item label="    "  prop="address" >
+		  </el-form-item>
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />		 							      
+		 </el-form> 
+		 <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="55px">
+		  <el-form-item label="    "  prop="address" >
+		  </el-form-item>
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />
+		 			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入A类废品" style="width: 75px;" />		 							      
+		 </el-form> 
+		 <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+		<el-form-item label="其他备注:"  prop="address" >
+		  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" style="width: 700px;height: 100px;" />
+		</el-form-item>			
+		 </el-form>
+		 </el-scrollbar>                     
+	   </el-dialog>
+
+
         </el-main>
 
       </el-container>
@@ -341,45 +370,46 @@ defineOptions({
     name: 'Company'
 })
 
-const treeData=ref([{
-  label: '一级 1',
-  children: [{
-    label: '二级 1-1',
-    children: [{
-      label: '三级 1-1-1'
-    }]
-  }]
-}, {
-  label: '一级 2',
-  children: [{
-    label: '二级 2-1',
-    children: [{
-      label: '三级 2-1-1'
-    }]
-  }, {
-    label: '二级 2-2',
-    children: [{
-      label: '三级 2-2-1'
-    }]
-  }]
-}, {
-  label: '一级 3',
-  children: [{
-    label: '二级 3-1',
-    children: [{
-      label: '三级 3-1-1'
-    }]
-  }, {
-    label: '二级 3-2',
-    children: [{
-      label: '三级 3-2-1'
-    }]
-  }]
-}])
+import {
+  getMachineCount,
+  getDateMachine
+} from '@/api/jixiaoguanli/jitairibaobiao'
+
+
+const treeData=reactive([])
+
+const getTabdata = async () => {
+    //接口调用函数
+    const response  = await getMachineCount();
+	console.log(response)
+	
+const transformedData = response.data.map(item => ({
+	      label: `${item.sys_rq.replace(/-/g, '.')}【单据数: ${item.count}张】`,
+	      children: item.sys.map(sysItem => ({
+	        label: `${sysItem.sys_id} 【记录数: ${sysItem.count}张】`,
+	        params: {
+	          date: item.sys_rq.replace(/\./g, '-'),
+	          sys_id: sysItem.sys_id,
+	          total: sysItem.count,
+	        },
+	      })),
+	    }));
+	    treeData.splice(0, treeData.length, ...transformedData);
+
+	}
+
+getTabdata();
+
+
 const handleNodeClick = (node,check) => {
   //存放当前节点的nodeId
-  console.log(node,check);
-
+  //存放当前节点的nodeId
+  if (node.params) {
+    params.date = node.params.date;
+    params.sys_id = node.params.sys_id;
+    total.value = node.params.total;
+    getTableData();
+  }
 }
 // 自动化生成的字典(可能为空)以及字段
 const formData = ref({
@@ -415,9 +445,15 @@ const elSearchFormRef = ref()
 // =========== 表格控制部分 ===========
 const page = ref(1)
 const total = ref(0)
-const pageSize = ref(10)
-const tableData = ref([])
+const limit = ref(10)
+const tableData = reactive([])
 const searchInfo = ref({})
+const params = {
+  date: '',
+  sys_id: '',
+  page: page.value.toString(),
+  limit: limit.value.toString(),
+}
 
 // 重置
 const onReset = () => {
@@ -449,16 +485,21 @@ const handleCurrentChange = (val) => {
 
 // 查询
 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
+  const response = await getDateMachine(params);
+  console.log(response)
+  if (response.code === 0) {
+    const processedData = response.data.data.map(item => {
+      return {
+        ...item,
+        combinedProp: item.sczl_gdbh + '--'+item.yj_yjmc,
+        combinedProp2: item.sczl_yjgx + '-'+item.sczl_gxmc
+      };
+    });
+    tableData.splice(0, tableData.length, ...processedData);
   }
 }
 
-getTableData()
+// getTableData()
 
 // ============== 表格控制部分结束 ===============
 
@@ -552,7 +593,7 @@ const deleteCompanyFunc = async (row) => {
 // 弹窗控制标记
 const dialogFormVisible = ref(false)
 
-
+const SeleUpdaShow = ref(false)
 // 查看详情控制标记
 const detailShow = ref(false)
 
@@ -596,7 +637,11 @@ const dbSelected = () => {
     type.value = 'create'
     dialogFormVisible.value = true
 }
-
+const SeleUpda = () => {
+	
+    type.value = 'create'
+    SeleUpdaShow.value = true
+}
 // 关闭弹窗
 const closeDialog = () => {
     dialogFormVisible.value = false
@@ -628,7 +673,7 @@ const enterDialog = async () => {
                   message: '创建/更改成功'
                 })
                 closeDialog()
-                getTableData()
+                // getTableData()
               }
       })
 }

+ 288 - 251
src/view/performance/Manualdocuments.vue

@@ -37,7 +37,15 @@
           </div>
           <div class="gva-table-box">
             <div class="gva-btn-list">
-              <el-button type="primary" icon="plus" @click="openDialog">新增</el-button>
+              <el-button type="primary" icon="plus" @click="SeleUpda">查改</el-button>
+			  <el-button type="primary" icon="plus" @click="openDialog">刷新质检系数</el-button>
+			  <el-button type="primary" icon="plus" @click="openDialog">显示方式</el-button>
+			  <el-button type="primary" icon="plus" @click="openDialog">定位</el-button>
+			  <el-button type="primary" icon="plus" @click="openDialog">导出到Excel</el-button>
+			  <el-button type="primary" icon="plus" @click="openDialog">月度汇总导出</el-button>
+			  <el-button type="primary" icon="plus" @click="openDialog">手检流程单统计</el-button>
+			  <el-button type="primary" icon="plus" @click="openDialog">工序产量核查</el-button>
+			  <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;">
@@ -51,214 +59,86 @@
             </div>
             <el-table
               :data="tableData"
-            				 height="300"
-            				 border
-            				 highlight-current-row
-              @current-change="handleCurrentChange"
+			   height="300"
+			   border
+			   highlight-current-row
 			  @row-dblclick="dbSelected"
               style="width: 100%">
-              <el-table-column
-            				  fixed
-                prop="worknum"
-                label="工单编号"
+              <el-table-column            				 
+                prop="combinedProp"
+                label="工单印件"
                 width="100">
               </el-table-column>
-              <el-table-column
-            				  fixed
-                prop="name"
-                label="产品名称"
+              <el-table-column            				
+                prop="combinedProp2"
+                label="印件工序"
                 width="180">
               </el-table-column>
-              
-            				<el-table-column
-            				  prop="process"
-            				  label="印件及工序"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="manufacturetime"
-							  label="生产日期"
-							  width="180">
-							</el-table-column>
-            				<el-table-column
-            				  prop="Machine"
-            				  label="机台"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="Team"
-            				  label="班组"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="processsheet"
-							  label="流程单"
-							  width="180">
-							</el-table-column>
-            				
-							<el-table-column
-							  prop="production"
-							  label="车头产量"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="shades"
-            				  label="色度数"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="processwaste"
-            				  label="制程废"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="defective"
-							  label="次品"
-							  width="180">
-							</el-table-column>
-            				<el-table-column
-            				  prop="incomingerror"
-            				  label="来料异常"
-            				  width="180">
-            				</el-table-column>
-            				
-            				<el-table-column
-            				  prop="platework"
-            				  label="装版工时"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="maintenancework"
-            				  label="保养工时"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="proofingwork"
-							  label="打样工时"
-							  width="180">
-							</el-table-column>
-            				<el-table-column
-            				  prop="stopwork"
-            				  label="异常停机工时"
-            				  width="180">
-            				</el-table-column>
-            				
-            				<el-table-column
-            				  prop="runwork"
-            				  label="设备运行工时"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamnumber1"
-            				  label="组员编号1"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="teamname1"
-							  label="组员姓名1"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="teamnumber2"
-            				  label="组员编号2"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname2"
-            				  label="组员姓名"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-            				  prop="teamnumber3"
-            				  label="组员编号3"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname3"
-            				  label="组员姓名3"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-            				  prop="teamnumber4"
-            				  label="组员编号4"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname4"
-            				  label="组员姓名4"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamnumber5"
-            				  label="组员编号5"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname5"
-            				  label="组员姓名5"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamnumber6"
-            				  label="组员编号6"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname6"
-            				  label="组员姓名6"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="combinecoefficients"
-            				  label="拆片联拼系数"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="casletcoefficient"
-							  label="拆片小盒系数"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="ratefactor"
-            				  label="工价系数"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="dailyquota"
-							  label="日定额"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="piecesprice "
-            				  label="千件工价"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="addstandards "
-							  label="补产标准"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="creatuser"
-            				  label="创建用户"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="creattime"
-							  label="创建时间"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="updatetime"
-            				  label="修改时间"
-            				  width="180">
-            				</el-table-column>							
+              	<el-table-column
+              	  prop="sczl_rq"
+              	  label="日期"
+              	  width="180">
+              	</el-table-column>
+				<el-table-column
+				  prop="sczl_cl"
+				  label="产量"
+				  width="180">
+				</el-table-column>
+				<el-table-column
+				  prop="千件工价"
+				  label="千件工价"
+				  width="180">
+				</el-table-column>
+				<el-table-column
+				  prop="sczl_检验类别"
+				  label="检验类别"
+				  width="180">
+				</el-table-column>
+				<el-table-column
+				  prop="sczl_废品率系数"
+				  label="废品率系数"
+				  width="180">
+				</el-table-column>
+				<el-table-column
+				  prop="日定额"
+				  label="日定额"
+				  width="180">
+				</el-table-column>
+				<el-table-column
+				  prop="sczl_bh0"
+				  label="组长编号"
+				  width="180">
+				</el-table-column>
+				<el-table-column
+				  prop="员工姓名"
+				  label="组长姓名"
+				  width="180">
+				</el-table-column>
+				<el-table-column
+				  prop="qczl_NumDesc"
+				  label="流程单备注"
+				  width="180">
+				</el-table-column>
+				<el-table-column
+				  prop="sys_id"
+				  label="创建用户"
+				  width="180">
+				</el-table-column>
+				<el-table-column				  
+				  prop="sys_rq"
+				  label="创建时间"
+				  width="180">
+				</el-table-column>
+				<el-table-column				  
+				  prop="namod_rqme"
+				  label="修改时间"
+				  width="180">
+				</el-table-column>
+				<el-table-column				  
+				  prop="UniqId"
+				  label="UNIQID"
+				  width="180">
+				</el-table-column>	
             </el-table>		    
             <div class="gva-pagination">
               <el-pagination
@@ -310,6 +190,144 @@
             </el-scrollbar>
           </el-dialog>
 
+
+   <el-dialog v-model="SeleUpdaShow" :before-close="closeDialog" :title="type==='create'?'添加':'修改'" destroy-on-close>
+		 <el-scrollbar height="500px">
+		   <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			 <el-form-item label="日期:"  prop="address" >
+			   <el-input v-model="formData.address" :clearable="true"  placeholder="" style="width: 60px;" />
+			 </el-form-item>
+			<el-form-item label="组别:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="" style="width: 60px;" />
+			</el-form-item>	
+			<el-form-item label="组长:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="" style="width: 75px;" />
+			  <el-input v-model="formData.address" :clearable="true"  placeholder=""  style="width: 75px;"/>
+			</el-form-item>
+			<el-form-item label="箱数:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="" style="width: 60px;" />
+			</el-form-item>
+			<el-form-item label="每箱数:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="" style="width: 60px;" />
+			</el-form-item>	 
+		   </el-form>
+		  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-form-item label="工单编号:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入班组"style="width: 75px;" />
+			  <el-input v-model="formData.image" :clearable="true"  placeholder="请输入日期" style="width: 50px;" />
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入班组"style="width: 100px;" />
+			  <el-input v-model="formData.image" :clearable="true"  placeholder="请输入日期" style="width: 150px;" />
+			</el-form-item>			
+		  </el-form>
+		  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-form-item label="产量合计:"  prop="address" >
+			  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" />
+			</el-form-item>
+			<el-form-item label="定额代号" prop="image" >
+			   <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" />
+			</el-form-item>
+			<el-form-item label="检验类别" prop="image" >
+			   <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" />
+			</el-form-item>
+			<el-form-item label="废品率系数" prop="image" >
+			   <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" />
+			</el-form-item>								
+		  </el-form>		  
+		  <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-form-item label="流程单:"  prop="address" >
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			  <el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 60px;" />
+			</el-form-item>	
+			<el-form-item label="备注" prop="add">
+			<el-input  v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 150px;" />
+			</el-form-item>			
+		<el-form-item label="员工编号" prop="add"></el-form-item>	
+		<el-form-item label="员工姓名" prop="add"></el-form-item>
+		<el-form-item label="箱数" prop="add"></el-form-item>
+		<el-form-item label="每箱数量" prop="add"></el-form-item>	
+		<el-form-item label="员工编号" prop="add"></el-form-item>
+		<el-form-item label="员工姓名" prop="add"></el-form-item>
+		<el-form-item label="箱数" prop="add"></el-form-item>
+		<el-form-item label="每箱数量" prop="add"></el-form-item>			
+		  </el-form>	
+			
+		 <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />			
+		 </el-form>
+		 <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />			
+		 </el-form>
+		 <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />			
+		 </el-form>
+		 <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />			
+		 </el-form>
+		 <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />			
+		 </el-form>
+		 <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />	
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />
+			<el-input class="input-space" v-model="formData.address" :clearable="true"  placeholder="请输入工序名称"  style="width: 80px;" />			
+		 </el-form>
+		 <el-form :model="formData" :inline="true" label-position="right" ref="elFormRef" :rules="rule" label-width="75px">
+		<el-form-item label="其他备注:"  prop="address" >
+		  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入工单编号" style="width: 700px;height: 100px;" />
+		</el-form-item>			
+		 </el-form>
+		 </el-scrollbar>                     
+	   </el-dialog>
+
+
+
         </el-main>
 
       </el-container>
@@ -337,49 +355,49 @@ import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDow
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { ref, reactive } from 'vue'
 
+
+import {
+  getDateList,
+  getInspectCount
+} from '@/api/jixiaoguanli/jitairibaobiao'
+
 defineOptions({
     name: 'Company'
 })
 
-const treeData=ref([{
-  label: '一级 1',
-  children: [{
-    label: '二级 1-1',
-    children: [{
-      label: '三级 1-1-1'
-    }]
-  }]
-}, {
-  label: '一级 2',
-  children: [{
-    label: '二级 2-1',
-    children: [{
-      label: '三级 2-1-1'
-    }]
-  }, {
-    label: '二级 2-2',
-    children: [{
-      label: '三级 2-2-1'
-    }]
-  }]
-}, {
-  label: '一级 3',
-  children: [{
-    label: '二级 3-1',
-    children: [{
-      label: '三级 3-1-1'
-    }]
-  }, {
-    label: '二级 3-2',
-    children: [{
-      label: '三级 3-2-1'
-    }]
-  }]
-}])
-const handleNodeClick = (node,check) => {
-  //存放当前节点的nodeId
-  console.log(node,check);
+const treeData=reactive([])
+
+const getTabdata = async () => {
+    //接口调用函数
+    const response  = await getInspectCount();
+	console.log(response)
+	
+const transformedData = response.data.map(item => ({
+	      label: `${item.sys_rq.replace(/-/g, '.')}【单据数: ${item.count}张】`,
+	      children: item.sys.map(sysItem => ({
+	        label: `${sysItem.sys_id} 【记录数: ${sysItem.count}张】`,
+	        params: {
+	          date: item.sys_rq.replace(/\./g, '-'),
+	          sys_id: sysItem.sys_id,
+	          total: sysItem.count,
+	        },
+	      })),
+	    }));
+	    treeData.splice(0, treeData.length, ...transformedData);
 
+	}
+
+getTabdata();
+
+
+const handleNodeClick = (node,check) => {
+ //存放当前节点的nodeId
+ if (node.params) {
+   params.date = node.params.date;
+   params.sys_id = node.params.sys_id;
+   total.value = node.params.total;
+   getTableData();
+ }
 }
 // 自动化生成的字典(可能为空)以及字段
 const formData = ref({
@@ -415,9 +433,15 @@ const elSearchFormRef = ref()
 // =========== 表格控制部分 ===========
 const page = ref(1)
 const total = ref(0)
-const pageSize = ref(10)
-const tableData = ref([])
+const limit = ref(10)
+const tableData = reactive([])
 const searchInfo = ref({})
+const params = {
+  date: '',
+  sys_id: '',
+  page: page.value.toString(),
+  limit: limit.value.toString(),
+}
 
 // 重置
 const onReset = () => {
@@ -449,16 +473,21 @@ const handleCurrentChange = (val) => {
 
 // 查询
 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
+  const response = await getDateList(params);
+  console.log(response)
+  if (response.code === 0) {
+    const processedData = response.data.data.map(item => {
+      return {
+        ...item,
+        combinedProp: item.sczl_gdbh + '--'+item.yj_yjmc,
+		combinedProp2: item.sczl_yjgx + '-'+item.sczl_gxmc
+      };
+    });
+    tableData.splice(0, tableData.length, ...processedData);
   }
 }
 
-getTableData()
+// getTableData()
 
 // ============== 表格控制部分结束 ===============
 
@@ -552,7 +581,7 @@ const deleteCompanyFunc = async (row) => {
 // 弹窗控制标记
 const dialogFormVisible = ref(false)
 
-
+const SeleUpdaShow = ref(false)
 // 查看详情控制标记
 const detailShow = ref(false)
 
@@ -596,6 +625,11 @@ const dbSelected = () => {
     type.value = 'create'
     dialogFormVisible.value = true
 }
+const SeleUpda = () => {
+	
+    type.value = 'create'
+    SeleUpdaShow.value = true
+}
 
 // 关闭弹窗
 const closeDialog = () => {
@@ -656,4 +690,7 @@ const enterDialog = async () => {
 .JKWTree-content {
   flex: 1;
 }
+.input-space {
+    margin: 12.5px;
+  }
 </style>

+ 109 - 253
src/view/performance/Packagingoutput.vue

@@ -37,7 +37,7 @@
           </div>
           <div class="gva-table-box">
             <div class="gva-btn-list">
-              <el-button type="primary" icon="plus" @click="openDialog">新增</el-button>
+              <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;">
@@ -51,220 +51,57 @@
             </div>
             <el-table
               :data="tableData"
-            				 height="300"
-            				 border
-            				 highlight-current-row
+				 height="300"
+				 border
+				 highlight-current-row
+				 show-summary
               @current-change="handleCurrentChange"
 			  @row-dblclick="dbSelected"
               style="width: 100%">
               <el-table-column
-            				  fixed
-                prop="worknum"
-                label="工单编号"
-                width="100">
+                prop="sys_id"
+                label="创建用户"
+                width="180">
+              </el-table-column>
+              <el-table-column
+                prop="sczl_rq"
+                label="日期"
+                width="180">
               </el-table-column>
               <el-table-column
-            				  fixed
-                prop="name"
-                label="产品名称"
+			    sortable
+                prop="sczl_cl"
+                label="包装产量"
                 width="180">
               </el-table-column>
-              
-            				<el-table-column
-            				  prop="process"
-            				  label="印件及工序"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="manufacturetime"
-							  label="生产日期"
-							  width="180">
-							</el-table-column>
-            				<el-table-column
-            				  prop="Machine"
-            				  label="机台"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="Team"
-            				  label="班组"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="processsheet"
-							  label="流程单"
-							  width="180">
-							</el-table-column>
-            				
-							<el-table-column
-							  prop="production"
-							  label="车头产量"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="shades"
-            				  label="色度数"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="processwaste"
-            				  label="制程废"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="defective"
-							  label="次品"
-							  width="180">
-							</el-table-column>
-            				<el-table-column
-            				  prop="incomingerror"
-            				  label="来料异常"
-            				  width="180">
-            				</el-table-column>
-            				
-            				<el-table-column
-            				  prop="platework"
-            				  label="装版工时"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="maintenancework"
-            				  label="保养工时"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="proofingwork"
-							  label="打样工时"
-							  width="180">
-							</el-table-column>
-            				<el-table-column
-            				  prop="stopwork"
-            				  label="异常停机工时"
-            				  width="180">
-            				</el-table-column>
-            				
-            				<el-table-column
-            				  prop="runwork"
-            				  label="设备运行工时"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamnumber1"
-            				  label="组员编号1"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="teamname1"
-							  label="组员姓名1"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="teamnumber2"
-            				  label="组员编号2"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname2"
-            				  label="组员姓名"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-            				  prop="teamnumber3"
-            				  label="组员编号3"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname3"
-            				  label="组员姓名3"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-            				  prop="teamnumber4"
-            				  label="组员编号4"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname4"
-            				  label="组员姓名4"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamnumber5"
-            				  label="组员编号5"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname5"
-            				  label="组员姓名5"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamnumber6"
-            				  label="组员编号6"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="teamname6"
-            				  label="组员姓名6"
-            				  width="180">
-            				</el-table-column>
-            				<el-table-column
-            				  prop="combinecoefficients"
-            				  label="拆片联拼系数"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="casletcoefficient"
-							  label="拆片小盒系数"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="ratefactor"
-            				  label="工价系数"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="dailyquota"
-							  label="日定额"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="piecesprice "
-            				  label="千件工价"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="addstandards "
-							  label="补产标准"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="creatuser"
-            				  label="创建用户"
-            				  width="180">
-            				</el-table-column>
-							<el-table-column
-							  prop="creattime"
-							  label="创建时间"
-							  width="180">
-							</el-table-column>
-            				
-            				<el-table-column
-            				  prop="updatetime"
-            				  label="修改时间"
-            				  width="180">
-            				</el-table-column>							
+              <el-table-column
+			    sortable
+                prop="sczl_PgCl"
+                label="包装数量"
+                width="180">
+              </el-table-column>
+             <el-table-column
+               prop="sys_rq"
+               label="创建时间"
+               width="180">
+             </el-table-column>
+			<el-table-column
+			  prop="mod_rq"
+			  label="修改时间"
+			  width="180">
+			</el-table-column>
+		 <el-table-column
+		   sum-text
+		   prop="UniqId"
+		   label="UniqId"
+		   width="180">
+		 </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-size="limit"
                   :page-sizes="[10, 30, 50, 100]"
                   :total="total"
                   @current-change="handleCurrentChange"
@@ -332,6 +169,11 @@ import {
   getCompanyList
 } from '@/api/company'
 
+import {
+  getList,
+  getTab
+} from '@/api/jixiaoguanli/jitairibaobiao'
+
 // 全量引入格式化工具 请按需保留
 import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
 import { ElMessage, ElMessageBox } from 'element-plus'
@@ -341,46 +183,44 @@ defineOptions({
     name: 'Company'
 })
 
-const treeData=ref([{
-  label: '一级 1',
-  children: [{
-    label: '二级 1-1',
-    children: [{
-      label: '三级 1-1-1'
-    }]
-  }]
-}, {
-  label: '一级 2',
-  children: [{
-    label: '二级 2-1',
-    children: [{
-      label: '三级 2-1-1'
-    }]
-  }, {
-    label: '二级 2-2',
-    children: [{
-      label: '三级 2-2-1'
-    }]
-  }]
-}, {
-  label: '一级 3',
-  children: [{
-    label: '二级 3-1',
-    children: [{
-      label: '三级 3-1-1'
-    }]
-  }, {
-    label: '二级 3-2',
-    children: [{
-      label: '三级 3-2-1'
-    }]
-  }]
-}])
-const handleNodeClick = (node,check) => {
-  //存放当前节点的nodeId
-  console.log(node,check);
 
-}
+// 左侧树形结构
+const treeData = reactive([])
+
+const getTabdata = async () => {
+    //接口调用函数
+    const response  = await getTab();
+	console.log(response)
+	
+	
+	const transformedData = response.data.map(item => ({
+	      label: `${item.date.replace(/-/g, '.')}【单据数: ${item.counts}张】`,
+	      children: item.sys.map(sysItem => ({
+	        label: `${sysItem.sys_id} 【记录数: ${sysItem.count}张】`,
+	        params: {
+	          date: item.date.replace(/\./g, '-'),
+	          sys_id: sysItem.sys_id,
+	          total: sysItem.count,
+	        },
+	      })),
+	    }));
+	    treeData.splice(0, treeData.length, ...transformedData);
+
+	
+	}
+	
+	
+	
+   //  if(data.code === 0){
+   //    treeData.value = data.data
+	  // console.log(treeData)
+   //  }else {
+   //    console.error('Error in getDepartment:', data.msg);
+   //  }
+
+getTabdata();
+
+
 // 自动化生成的字典(可能为空)以及字段
 const formData = ref({
         worknum: '',
@@ -415,9 +255,16 @@ const elSearchFormRef = ref()
 // =========== 表格控制部分 ===========
 const page = ref(1)
 const total = ref(0)
-const pageSize = ref(10)
-const tableData = ref([])
+const limit = ref(10)
+const tableData = reactive([])
 const searchInfo = ref({})
+const params = {
+  date: '',
+  sys_id: '',
+  page: page.value.toString(),
+  limit: limit.value.toString(),
+}
+
 
 // 重置
 const onReset = () => {
@@ -430,14 +277,14 @@ const onSubmit = () => {
   elSearchFormRef.value?.validate(async(valid) => {
     if (!valid) return
     page.value = 1
-    pageSize.value = 10
+    limit.value = 10
     getTableData()
   })
 }
 
 // 分页
 const handleSizeChange = (val) => {
-  pageSize.value = val
+  limit.value = val
   getTableData()
 }
 
@@ -448,17 +295,26 @@ const handleCurrentChange = (val) => {
 }
 
 // 查询
-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
+const getTableData = async () => {
+	
+	
+  const response = await getList(params);
+  console.log(response)
+  if (response.code === 0) {
+    tableData.splice(0, tableData.length, ...response.data.rows);
   }
 }
 
-getTableData()
+// getTableData()
+const handleNodeClick = (node, check) => {
+  //存放当前节点的nodeId
+  if (node.params) {
+    params.date = node.params.date;
+    params.sys_id = node.params.sys_id;
+    total.value = node.params.total;
+    getTableData();
+  }
+}
 
 // ============== 表格控制部分结束 ===============
 

+ 95 - 177
src/view/yunyin/chanpinziliao/chanpinziliao.vue

@@ -1,45 +1,62 @@
 <template>
   <div>
     <el-container>
+      <!--    左侧树侧形结构-->
       <el-aside width="270px">
-        <!--    左侧树侧形结构-->
-        <div class="JKWTree-tree" style="height: 400px">
-          <h3> 组织列表</h3>
+        <div class="JKWTree-tree" style="height: 600px">
+          <h3> 产品管理</h3>
           <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
         </div>
       </el-aside>
+
       <!--  右侧内容区域 -->
       <el-container>
         <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-input v-model="searchInfo.keyword" placeholder="请输入产品编号或产品名称" clearable style="width: 200px;"></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-button icon="refresh" @click="onReset">重置</el-button>-->
+                <el-button type="primary" icon="plus" @click="openDialog">新增</el-button>
+                <el-button type="primary" icon="Download" @click="cpexportToExcel">导出产品资料</el-button>
+                <el-dialog v-model="cpdialogexportToExcel" title="导出产品资料" width="50%">
+                  <!-- 在这里放入弹出页面的内容 -->
+                  <p>这是弹出页面的内容 导出产品资料</p>
+
+                </el-dialog>
+
+
+                <el-button type="primary" icon="Download" @click="gyexportToExcel" style="margin-left: 10px">导出工艺流程</el-button>
+                <el-dialog v-model="gydialogexportToExcel" title="导出工艺流程" width="50%">
+                  <!-- 在这里放入弹出页面的内容 -->
+                  <p>这是弹出页面的内容 导出工艺流程</p>
+
+                </el-dialog>
               </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>
-            </div>
-
             <!--        数据表格 -->
             <el-table ref="multipleTable"
-                      style="width: 100%;height: 400px"
+                      style="width: 100%;height: 600px;"
                       border
                       tooltip-effect="dark"
                       :data="tableData"
                       row-key="ID"
+                      highlight-current-row="true"
                       @selection-change="handleSelectionChange"
-                      @row-click="tableRowClick">
+                      @row-dblclick="updateCompanyFunc"
+                      @row-click="tableRowClick"
+                      :show-overflow-tooltip="true">
               <el-table-column type="selection" width="55" />
               <el-table-column align="left" label="客户编号" prop="客户编号" width="100" />
               <el-table-column align="left" label="产品编号" prop="产品编号" width="115" />
@@ -55,32 +72,26 @@
               <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 sortable 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 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>
 
           <!--      印件资料、工艺资料、印版资料、技术资料附件【按钮】-->
           <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>
+            <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"/>
@@ -95,16 +106,10 @@
               <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 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="70"/>
@@ -128,37 +133,25 @@
               <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="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="更新日期" 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"/>
@@ -169,15 +162,9 @@
               <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>
@@ -344,23 +331,33 @@ import { ElMessage, ElMessageBox } from 'element-plus'
 import { ref, reactive } from 'vue'
 import {getCustom, getDepartment, getProduct, getProductData} from "@/api/yunyin/yunying";
 defineOptions({   name: 'Company'})
+// =========== 导出Excel表格 ===========
+//导出产品
+const cpexportToExcel = () => {
+  console.log('点击了导出产品按钮')
+  cpdialogexportToExcel.value = true;
+}
+//导出工艺流程
+const gyexportToExcel = () => {
+  console.log('点击了导出工艺流程按钮')
+  gydialogexportToExcel.value = true;
+}
+// 导出Excel弹窗
+const cpdialogexportToExcel = ref(false)
+const gydialogexportToExcel = ref(false)
 
 // =========== 左侧树侧形结构 ===========
 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);
-    }
+    const response = await getCustom(); // 调用接口获取数据
+    const formatCustomData = response.data.map(item => ({
+      children: [],
+      label: `${item.客户编号}【${item.客户名称}】`,
+    }));
+    treeData.value = formatCustomData
   } catch (error) {
-    console.error(error)
+    console.error('Error fetching custom data:', error);
   }
 }
 getCustomdata()
@@ -368,17 +365,11 @@ 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 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;//共多少条
 };
-
 //印件资料
 const yjtableData = reactive([])
 //工艺资料
@@ -391,14 +382,11 @@ 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);
-  }
+  const res = await getProductData({product_code:product_code});//接口
+  // console.log(res);
+  yjtableData.splice(0, yjtableData.length, ...res.data.yjData);//印件资料表格
+  gytableData.splice(0, gytableData.length, ...res.data.gyData);//工艺资料表格
+  ybtableData.splice(0, ybtableData.length, ...res.data.ybData);//印版资料表格
 };
 
 // 分页
@@ -447,35 +435,23 @@ const page = ref(1)
 const total = ref(0)
 const pageSize = ref(10)
 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 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 onReset = () => {
+  searchInfo.value = {}
+  getTableData()
+}
+
 // ============== 表格控制部分结束 ===============
 
 // 获取需要的字典 可能为空 按需保留
@@ -485,92 +461,27 @@ 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 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()
+  try {
+    // const res = await getProductData({ product_code });
+    // console.log(res)
+    // 根据需要进行操作,比如更新表单数据或显示弹窗等
+    // if (res.code === 0) {
+    //   formData.value = res.data.recompany;
+    //   dialogFormVisible.value = true;
+    // }
+  } catch (error) {
+    // 处理错误
+    console.error('Error in updateCompanyFunc:', error);
   }
-}
-
+  dialogFormVisible.value = true;
+};
 // 弹窗控制标记
 const dialogFormVisible = ref(false)
 
@@ -663,4 +574,11 @@ const enterDialog = async () => {
 .JKWTree-content {
   flex: 1;
 }
+.el-table .warning-row {
+  background: oldlace;
+}
+/* 选中某行时的背景色*/
+.el-table__body tr.current-row>td {
+  background: #ff80ff !important;
+}
 </style>

+ 64 - 249
src/view/yunyin/renliziyuan/renyuanjibenziliao.vue

@@ -4,7 +4,7 @@
 			<!-- 左侧树形结构 -->
 			<el-aside width="270px">
 				<div class="JKWTree-tree" style="height: 500px">
-					<h3>组织列表</h3>
+					<h3>组织架构</h3>
 					<el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
 				</div>
 			</el-aside>
@@ -14,17 +14,22 @@
 				<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 ref="elSearchFormRef" :inline="true" :model="searchInfo" class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
 							<!-- 左侧查询输入框 -->
 							<el-form-item>
-								<el-input v-model="searchInfo.ke" placeholder="查询请输入员工编号或员工姓名" clearable
-									style="width: 300px;"></el-input>
+								<el-input v-model="searchInfo.ke" placeholder="搜索员工编号或员工姓名" clearable style="width: 200px;"></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-button icon="refresh" @click="onReset">重置</el-button>-->
+                <el-button type="primary" icon="plus" @click="openDialog">新增</el-button>
+                <el-button type="primary" icon="Download" @click="exportToExcel">导出到Excel</el-button>
+                <el-dialog v-model="dialogexportToExcel" title="员工基本资料导出" width="50%">
+                  <!-- 在这里放入弹出页面的内容 -->
+                  <p>这是弹出页面的内容</p>
+
+                </el-dialog>
 							</el-form-item>
 						</el-form>
 					</div>
@@ -32,14 +37,6 @@
 					<!-- 表格及操作按钮 -->
 					<div class="gva-table-box">
 
-						<!-- 操作按钮部分 -->
-						<div class="gva-btn-list">
-							<el-button type="primary" icon="plus" @click="openDialog">新增</el-button>
-							<!-- 导出到Excel功能 -->
-							<el-button type="primary" icon="el-icon-download" style="margin-left: 10px;"
-								@click="showExportDialog">导出到Excel</el-button>
-						</div>
-
 						<!-- 导出字段选择对话框 -->
 						<el-dialog title="选择导出字段" :visible.sync="exportDialogVisible" width="30%">
 							<el-checkbox-group v-model="selectedExportFields">
@@ -57,8 +54,14 @@
 						<!-- 表格 -->
 						<el-table ref="multipleTable"
                       style="width: 100%;height: 500px"
-                      tooltip-effect="dark" :data="tableData" border
-							row-key="ID" @row-dblclick="handleRowDoubleClick" @selection-change="handleSelectionChange">
+                      tooltip-effect="dark"
+                      :data="tableData"
+                      border
+							        row-key="ID"
+                      highlight-current-row="true"
+                      @row-dblclick="updateCompanyFunc"
+                      @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"/>
@@ -80,20 +83,13 @@
 							<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 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 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>
 
 					<!-- 弹窗 -->
@@ -197,21 +193,6 @@
 							</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-col>
-							</div>
 
 						</el-row>
 
@@ -223,83 +204,28 @@
 							</div>
 						</template>
 					</el-dialog>
-
-					<!-- 详情展示弹窗 -->
-					<el-dialog v-model="detailShow" style="width: 1000px" 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.sectionName }}
-								</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>
 		</el-container>
 	</div>
 </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'
-import {getDepartment,getStaffList} from '@/api/yunyin/yunying'
+import {getCustom, getDepartment, getProductData, getStaffList, ygjbzledit} from '@/api/yunyin/yunying'
 defineOptions({name: 'Company'})
+// =========== 导出Excel表格 ===========
+const exportToExcel = () => {
+  console.log('点击了导出按钮')
+  dialogexportToExcel.value = true;
+}
+// 导出Excel弹窗
+const dialogexportToExcel = ref(false)
 
-// =========== 左侧树侧形结构 ===========
+// =========== 获取左侧树侧形结构 ===========
 const treeData = ref({})
 const defaultProps = {
   children: 'children',
@@ -319,13 +245,12 @@ const getDepartmentdata = async () => {
 }
 getDepartmentdata();
 
-//点击左侧树形获取列表
+//点击左侧树形 获取右侧table列表
 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});//接口调用函数
+    const WorkListdata = await getStaffList({ department_code:department_code,limit: '', page: ''});//接口调用函数
     tableData.splice(0,tableData.length,...WorkListdata.data.list);//表格数据
     total.value = tableData.length;//共多少条
   } catch (error) {
@@ -381,7 +306,6 @@ const searchRule = reactive({
 })
 const elFormRef = ref()
 const elSearchFormRef = ref()
-
 const searchInfo = ref({})
 
 // 重置
@@ -392,157 +316,40 @@ const onReset = () => {
 
 // 搜索
 const onSubmit = () => {
-  elSearchFormRef.value?.validate(async (valid) => {
-    console.log(valid)
-    // if (!valid) return
-    // page.value = 1
-    // pageSize.value = 10
-    // getTableData()
-  })
-}
-
-
-
+  const searchValue = searchInfo._rawValue; // 获取搜索框输入的值
+  console.log(searchValue);
+  // elSearchFormRef.value?.validate(async (valid) => {
+  //   if (valid) {
+  //     try {
+  //       const response = await getStaffList({ search: searchValue }); // 将搜索框输入的值作为 search 参数发送给后台
+  //       console.log(response);
+  //     } catch (error) {
+  //       console.error('发生错误:', error);
+  //     }
+  //   } else {
+  //     console.log('验证不通过');
+  //   }
+  // });
+};
 
 // 查询
 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
-  }
+  // console.log(table)
 }
 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 product_code = row.员工编号;
+  console.log(product_code);
+  dialogFormVisible.value = true;
+};
 // 弹窗控制标记
 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'
@@ -627,4 +434,12 @@ const enterDialog = async () => {
 	.file-input {
 		display: none;
 	}
+  .el-table .warning-row {
+    background: oldlace;
+  }
+
+/* 选中某行时的背景色*/
+.el-table__body tr.current-row>td {
+  background: #ff80ff !important;
+}
 </style>

+ 638 - 0
src/view/yunyin/shengchanguanli/chengpinrucang.vue

@@ -0,0 +1,638 @@
+<template>
+  <div>
+
+    <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">
+            <el-form ref="elSearchFormRef" :inline="true" :model="searchInfo" class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
+              <el-form-item label="创建日期" prop="createdAt">
+                <template #label>
+        <span>
+          创建日期
+          <el-tooltip content="搜索范围是开始日期(包含)至结束日期(不包含)">
+            <el-icon><QuestionFilled /></el-icon>
+          </el-tooltip>
+        </span>
+                </template>
+                <el-date-picker v-model="searchInfo.startCreatedAt" type="datetime" placeholder="开始日期" :disabled-date="time=> searchInfo.endCreatedAt ? time.getTime() > searchInfo.endCreatedAt.getTime() : false"></el-date-picker>
+                —
+                <el-date-picker v-model="searchInfo.endCreatedAt" type="datetime" placeholder="结束日期" :disabled-date="time=> searchInfo.startCreatedAt ? time.getTime() < searchInfo.startCreatedAt.getTime() : false"></el-date-picker>
+              </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>
+			<div class="">            
+			<el-table
+              :data="tableData"
+				 height="300"
+				 border
+				 highlight-current-row
+				 show-summary
+              @current-change="handleCurrentChange"
+			  @row-dblclick="dbSelected"
+              style="width: 100%">
+              <el-table-column
+                prop="sys_id"
+                label="入仓类型"
+                width="180">
+              </el-table-column>
+              <el-table-column
+                prop="sczl_rq"
+                label="仓库编号"
+                width="180">
+              </el-table-column>
+              <el-table-column
+			    sortable
+                prop="sczl_cl"
+                label="仓库名称"
+                width="180">
+              </el-table-column>
+              <el-table-column
+			    sortable
+                prop="sczl_PgCl"
+                label="入仓单号"
+                width="180">
+              </el-table-column>
+             <el-table-column
+               prop="sys_rq"
+               label="工单编号"
+               width="180">
+             </el-table-column>
+			<el-table-column
+			  prop="mod_rq"
+			  label="印件号"
+			  width="180">
+			</el-table-column>
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="入仓数量"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="累计入仓总数"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="订单数量"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="完成率"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="单位"
+			   label=""
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="入仓日期"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="首末版"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="印件代号"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="印件名称"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="产品编号"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="产品名称"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="客户料号"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="备注"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="客户编号"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="客户名称"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="最近入仓日期"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="机型备注"
+			   width="180">
+			 </el-table-column>
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="创建用户"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="创建时间"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="修改时间"
+			   width="180">
+			 </el-table-column>	
+			 <el-table-column
+			   sum-text
+			   prop="UniqId"
+			   label="UniqId"
+			   width="180">
+			 </el-table-column>	
+            </el-table>	
+			</div>
+	    
+            <div class="gva-pagination">
+              <el-pagination
+                  layout="total, sizes, prev, pager, next, jumper"
+                  :current-page="page"
+                  :page-size="limit"
+                  :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-scrollbar height="500px">
+              <el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" label-width="80px">
+                <el-form-item label="address字段:"  prop="address" >
+                  <el-input v-model="formData.address" :clearable="true"  placeholder="请输入address字段" />
+                </el-form-item>
+                <el-form-item label="image字段:"  prop="image" >
+                  <el-input v-model="formData.image" :clearable="true"  placeholder="请输入image字段" />
+                </el-form-item>
+                <el-form-item label="name字段:"  prop="name" >
+                  <el-input v-model="formData.name" :clearable="true"  placeholder="请输入name字段" />
+                </el-form-item>
+              </el-form>
+            </el-scrollbar>
+            <template #footer>
+              <div class="dialog-footer">
+                <el-button @click="closeDialog">取 消</el-button>
+                <el-button type="primary" @click="enterDialog">确 定</el-button>
+              </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="1" border>
+                <el-descriptions-item label="address字段">
+                  {{ formData.address }}
+                </el-descriptions-item>
+                <el-descriptions-item label="image字段">
+                  {{ formData.image }}
+                </el-descriptions-item>
+                <el-descriptions-item label="name字段">
+                  {{ formData.name }}
+                </el-descriptions-item>
+              </el-descriptions>
+            </el-scrollbar>
+          </el-dialog>
+
+        </el-main>
+
+      </el-container>
+    </el-container>
+
+
+
+
+
+  </div>
+</template>
+
+<script setup>
+import {
+  createCompany,
+  deleteCompany,
+  deleteCompanyByIds,
+  updateCompany,
+  findCompany,
+  getCompanyList
+} from '@/api/company'
+
+import {
+  getList,
+  getTab
+} from '@/api/jixiaoguanli/jitairibaobiao'
+
+// 全量引入格式化工具 请按需保留
+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 = reactive([])
+
+const getTabdata = async () => {
+    //接口调用函数
+    const response  = await getTab();
+	console.log(response)
+	
+	
+	const transformedData = response.data.map(item => ({
+	      label: `${item.date.replace(/-/g, '.')}【单据数: ${item.counts}张】`,
+	      children: item.sys.map(sysItem => ({
+	        label: `${sysItem.sys_id} 【记录数: ${sysItem.count}张】`,
+	        params: {
+	          date: item.date.replace(/\./g, '-'),
+	          sys_id: sysItem.sys_id,
+	          total: sysItem.count,
+	        },
+	      })),
+	    }));
+	    treeData.splice(0, treeData.length, ...transformedData);
+
+	
+	}
+	
+	
+	
+   //  if(data.code === 0){
+   //    treeData.value = data.data
+	  // console.log(treeData)
+   //  }else {
+   //    console.error('Error in getDepartment:', data.msg);
+   //  }
+
+getTabdata();
+
+
+// 自动化生成的字典(可能为空)以及字段
+const formData = ref({
+        worknum: '',
+        dailyquota: '',
+        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 limit = ref(10)
+const tableData = reactive([])
+const searchInfo = ref({})
+const params = {
+  date: '',
+  sys_id: '',
+  page: page.value.toString(),
+  limit: limit.value.toString(),
+}
+
+
+// 重置
+const onReset = () => {
+  searchInfo.value = {}
+  getTableData()
+}
+
+// 搜索
+const onSubmit = () => {
+  elSearchFormRef.value?.validate(async(valid) => {
+    if (!valid) return
+    page.value = 1
+    limit.value = 10
+    getTableData()
+  })
+}
+
+// 分页
+const handleSizeChange = (val) => {
+  limit.value = val
+  getTableData()
+}
+
+// 修改页面容量
+const handleCurrentChange = (val) => {
+  page.value = val
+  getTableData()
+}
+
+// 查询
+const getTableData = async () => {
+	
+	
+  const response = await getList(params);
+  console.log(response)
+  if (response.code === 0) {
+    tableData.splice(0, tableData.length, ...response.data.rows);
+  }
+}
+
+// getTableData()
+const handleNodeClick = (node, check) => {
+  //存放当前节点的nodeId
+  if (node.params) {
+    params.date = node.params.date;
+    params.sys_id = node.params.sys_id;
+    total.value = node.params.total;
+    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
+    }
+}
+
+
+// 删除行
+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()
+  }
+}
+
+
+// 关闭详情弹窗
+const closeDetailShow = () => {
+  detailShow.value = false
+  formData.value = {
+          address: '',
+          image: '',
+          name: '',
+          }
+}
+
+
+// 打开弹窗
+const openDialog = () => {
+    type.value = 'create'
+    dialogFormVisible.value = true
+}
+
+const dbSelected = () => {
+	
+    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;
+}
+</style>

+ 349 - 296
src/view/yunyin/shengchanguanli/gongdanshengchan.vue

@@ -3,151 +3,156 @@
     <el-container>
       <el-aside width="340px">
         <div class="JKWTree-tree">
-          <h3> 组织列表</h3>
-          <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
+<!--          <h3> 组织列表</h3>-->
+          <el-tree :data="sctreeData" :props="defaultProps" @node-click="schandleNodeClick"></el-tree>
+          <el-tree
+              :data="treeData"
+              :props="defaultProps"
+              @node-click="handleNodeClick"></el-tree>
         </div>
       </el-aside>
       <el-container>
-<!--        <el-header>dd</el-header>-->
+        <!--        <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-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>-->
+              <!--              <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%" 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="工单编号" 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="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 ref="multipleTable"
+                      style="width: 100%"
+                      border
+                      tooltip-effect="dark"
+                      :data="tableData"
+                      row-key="ID"
+                      highlight-current-row="true"
+                      @selection-change="handleSelectionChange"
+                      :show-overflow-tooltip="true">
+              <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="120" />
+              <el-table-column align="left" label="产品名称" prop="产品名称" width="340" />
+              <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="120" />
+              <el-table-column align="left" label="计量单位" prop="计量单位" width="120" />
+              <el-table-column align="left" label="客户名称" prop="客户名称" width="200" />
+              <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="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="修改时间" prop="修改时间" width="160" />
+              <el-table-column align="left" label="UNIQID" prop="UNIQID" 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="操作" 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 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>
-		  
+
           <!-- 弹窗 -->
           <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>
@@ -155,62 +160,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>
@@ -224,11 +229,45 @@ import {createCompany, deleteCompany, deleteCompanyByIds, updateCompany, findCom
 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";
+import {DataList, getProduct, Project, workbench} from "@/api/yunyin/yunying";
 defineOptions({name: 'Company'})
 
 // =========== 左侧树侧形结构 ===========
+const sctreeData = ref([
+  {
+    label: '排产进程及参数设置',
+    children:[
+      {label: '1.计划中工单', number: 1 },
+      {label: '2.排程中工单', number: 2 },
+      {label: '3.制程中工单', number: 3 },
+      {label: '4.已完工工单', number: 4 }
+    ],
+  }
+]);
+
 const treeData = ref([]);
+//点击 设备定额及分配参数设置
+const schandleNodeClick = async (node) => {
+  switch (node.number) {
+    case 1:
+      const Projectdata = await Project();
+      tableData.value = Projectdata.data
+      // const productCountMap = tableData.value.reduce((countMap, item) => {
+      //   const productName = item.产品名称;
+      //   countMap[productName] = (countMap[productName] || 0) + 1;
+      //   return countMap;
+      // }, {});
+      // const productCountMapLength = Object.keys(productCountMap).length;
+      // console.log(`产品名称总数量:${productCountMapLength}`);
+      break;
+    case 2:
+      break;
+    case 3:
+      break;
+    case 4:
+      break;
+  }
+};
 const workbenchdata = async () => {
   try {
     const data = await workbench();
@@ -250,33 +289,43 @@ const workbenchdata = async () => {
 };
 workbenchdata();
 
-
 //点击左侧树形获取列表
-const tableData = reactive([])
+const tableData = ref([])
 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);
-  // }
+  const custom_code = node.label; // 假设你想使用节点的 label 作为 custom_code
+  console.log(custom_code);
+
+  // 通过 custom_code 客户编号获取列表数据
+  try {
+    const WorkListdata = await getProduct({ custom_code, limit: pageSize.value, page: page.value });
+    console.log(WorkListdata)
+    tableData.splice(0, tableData.length, ...WorkListdata.data.data);
+    // total.value = tableData.length;
+  } catch (error) {
+    console.error(error);
+  }
+
+  // 检查并设置子节点的 expanded 属性,以确保它们能够正确展开
+  if (node.children && node.children.length > 0) {
+    node.children.forEach((child) => {
+      this.$set(child, 'expanded', false);
+    });
+  }
+
 };
 
 
 
 
 
+
+
 // 自动化生成的字典(可能为空)以及字段
 const formData = ref({
-        address: '',
-        image: '',
-        name: '',
-        })
-
+  address: '',
+  image: '',
+  name: '',
+})
 
 // 验证规则
 const rule = reactive({
@@ -285,16 +334,16 @@ 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' }
   ],
 })
 
@@ -362,19 +411,19 @@ 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)
+  })
+}
 
 
 // 批量删除控制标记
@@ -382,60 +431,60 @@ 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 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 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()
+  }
 }
 
 // 弹窗控制标记
@@ -467,53 +516,53 @@ 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>
@@ -539,4 +588,8 @@ const enterDialog = async () => {
 .JKWTree-content {
   flex: 1;
 }
-</style>
+/* 选中某行时的背景色*/
+.el-table__body tr.current-row>td {
+  background: #ff80ff !important;
+}
+</style>

+ 96 - 224
src/view/yunyin/shengchanguanli/gongdanziliao.vue

@@ -4,7 +4,7 @@
       <!-- 左侧树形结构 -->
       <el-aside width="270px">
         <div class="JKWTree-tree" style="width: 100%;height: 400px">
-          <h3>组织列表</h3>
+          <h3>工单管理</h3>
           <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
         </div>
       </el-aside>
@@ -17,32 +17,20 @@
             <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-input v-model="searchInfo.keyword" placeholder="请输入工单编号或印品名称" clearable style="width: 200px;"></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-button icon="refresh" @click="onReset">重置</el-button>-->
+                <el-button type="primary" icon="plus" @click="openDialog">新增</el-button>
+                <el-button type="primary" icon="el-icon-download" style="margin-left: 10px;">导出到Excel</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>
-				<!-- 导出到Excel功能 -->
-				<el-dropdown>
-				  <el-button type="primary" icon="el-icon-download" style="margin-left: 10px;">导出到Excel</el-button>
-				  <el-dropdown-menu slot="dropdown">
-					<el-dropdown-item @click="exportToExcel('field1')">字段1</el-dropdown-item>
-					<el-dropdown-item @click="exportToExcel('field2')">字段2</el-dropdown-item>
-					<!-- 添加更多字段选项 -->
-				  </el-dropdown-menu>
-				</el-dropdown>
-            </div>
-
             <!-- 表格 -->
             <el-table ref="multipleTable"
                       style="width: 100%;height: 400px"
@@ -50,9 +38,11 @@
                       tooltip-effect="dark"
                       :data="tableData"
                       row-key="ID"
-                      @row-dblclick="handleRowDoubleClick"
                       @row-click="tableRowClick"
-                      @selection-change="handleSelectionChange">
+                      highlight-current-row="true"
+                      @row-dblclick="updateCompanyFunc"
+                      @selection-change="handleSelectionChange"
+                      :show-overflow-tooltip="true">
               <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" />
@@ -73,11 +63,6 @@
                 <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>
 
             <!-- 分页 -->
@@ -88,14 +73,16 @@
 
           <!--      印件资料、工艺资料、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('工艺资料')" 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 ref="multipleTable"
+                      highlight-current-row="true"
+                      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"/>
@@ -109,68 +96,57 @@
               <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 ref="multipleTable"
+                      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="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-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="560"/>
+              <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="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="机检_次品板" prop="机检_次品板"  width="160"/>
+              <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="450"/>
+              <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="160"/>
+              <el-table-column align="left" label="建档日期" prop="建档日期"  width="160"/>
+              <el-table-column align="left" label="更新时间" prop="更新时间"  width="160"/>
             </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 ref="multipleTable"
+                      highlight-current-row="true"
+                      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-column align="left" label="方案" prop="方案"  width="120"/>
+              <el-table-column align="left" label="物料编号" prop="物料编号"  width="100"/>
+              <el-table-column align="left" label="物料名称" prop="物料名称"  width="420"/>
+              <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="160"/>
+              <el-table-column align="left" label="更新时间" prop="更新时间"  width="160"/>
+              <el-table-column align="left" label="消耗定量" prop="消耗定量"  width="210"/>
             </el-table>
           </div>
-		  
+
 
          <!-- 弹窗 -->
          <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" style="width: 1000px;" :title="type==='create'?'添加工单资料':'修改工单资料'" destroy-on-close>
@@ -199,7 +175,7 @@
                     </el-form-item>
                   </el-col>
                 </el-row>
-				
+
 				  <!-- 第二排 -->
 				  <el-row :gutter="20">
 					<el-col :span="6">
@@ -213,7 +189,7 @@
 					  </el-form-item>
 					</el-col>
 				  </el-row>
-				  
+
 				  <!-- 第三排 -->
 				  <el-row :gutter="20">
 					<el-col :span="6">
@@ -227,7 +203,7 @@
 					  </el-form-item>
 					</el-col>
 				  </el-row>
-				  
+
                   <!-- 第四排 -->
                   <el-row :gutter="20">
                     <el-col :span="6">
@@ -241,9 +217,7 @@
                       </el-form-item>
                     </el-col>
                   </el-row>
-				  
-				  
-                 
+
                   <!-- 第五排 -->
 				  <el-row :gutter="20">
 				    <el-col :span="6">
@@ -267,8 +241,8 @@
 				      </el-form-item>
 				    </el-col>
 				  </el-row>
-                  
-				  
+
+
               <!-- 第六排 -->
                   <el-row :gutter="20">
                     <el-col :span="6">
@@ -292,7 +266,7 @@
                       </el-form-item>
                     </el-col>
                   </el-row>
-				  
+
                   <!-- 第七排 -->
                   <el-row :gutter="20">
                     <el-col :span="20">
@@ -301,7 +275,7 @@
                       </el-form-item>
                     </el-col>
                   </el-row>
-				  
+
                   <!-- 第八排 -->
                   <el-row :gutter="20">
                     <el-col :span="20">
@@ -310,7 +284,7 @@
                       </el-form-item>
                     </el-col>
                   </el-row>
-				  
+
                   <!-- 第九排 -->
                   <el-row :gutter="20">
                     <el-col :span="6">
@@ -324,7 +298,7 @@
                       </el-form-item>
                     </el-col>
                   </el-row>
-				  
+
                   <!-- 第十排 -->
                   <el-row :gutter="20">
                     <el-col :span="8">
@@ -333,7 +307,7 @@
                       </el-form-item>
                     </el-col>
                   </el-row>
-				  
+
                   <!-- 第十一排 -->
                   <el-row :gutter="20">
                     <el-col :span="20">
@@ -342,7 +316,7 @@
                       </el-form-item>
                     </el-col>
                   </el-row>
-				  
+
                   <!-- 第十二排 -->
                  <el-row :gutter="20">
                    <el-col :span="20">
@@ -351,10 +325,10 @@
                      </el-form-item>
                    </el-col>
                  </el-row>
-				 
+
              </el-form>
            </el-row>
-		   
+
 			 <!-- 添加 编辑页面 取消 确定 -->
 			 <template #footer>
 			   <div class="dialog-footer">
@@ -409,6 +383,7 @@ const defaultProps = {
 const DataListdata = async () => {
   try {
     const data = await DataList();
+    console.log(data)
     if (data.code === 0) {
       const dataArray = Object.values(data.data).map((item) => ({
         ...item,
@@ -430,7 +405,7 @@ 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});//接口调用函数
+    const WorkListdata = await WorkList({ Gd_khdh:Gd_khdh});//接口调用函数
     tableData.splice(0,tableData.length,...WorkListdata.data);//表格数据
     total.value = tableData.length;//共多少条
   } catch (error) {
@@ -439,22 +414,26 @@ const handleNodeClick = async (node) => {
 };
 
 //印件资料
-const yjtableData = reactive([])
+const yjtableData = ref([])
 //工艺资料
-const gytableData = reactive([])
+const gytableData = ref([])
 //BOM资料
-const bomtableData = reactive([])
+const bomtableData = ref([])
 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)
+  const yjres = await Printed({ Gd_gdbh:Gd_gdbh});
+  // const gyres = await Craft({ Gd_gdbh:Gd_gdbh });
+  // const bomres = await Bom({ Gd_gdbh:Gd_gdbh});
+  yjtableData.value = yjres.data;
+  // gytableData.value = gyres.data;
+  // bomtableData.value = bomres.data;
+  // yjtableData.splice(0,yjtableData.length,...yjres.data);//表格数据
+  // gytableData.splice(0,gytableData.length,...gyres.data);//表格数据
+  // bomtableData.splice(0,bomtableData.length,...bomres.data);//表格数据
+  // console.log(yjres)
+  // console.log(gyres)
+  // console.log(bomres)
 };
 
 // 分页
@@ -471,8 +450,6 @@ const handleSizeChange = (val) => {
   DataListdata();
 };
 
-
-
 // 自动化生成的字典(可能为空)以及字段
 const formData = ref({
         address: '',
@@ -499,7 +476,6 @@ const searchRule = reactive({
     }, trigger: 'change' }
   ],
 })
-
 const elFormRef = ref()
 const elSearchFormRef = ref()
 
@@ -525,31 +501,26 @@ const onSubmit = () => {
   })
 }
 
-
-
 // 查询
 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
-  }
+  console.log(table)
+  // if (table.code === 0) {
+  //   tableData.value = table.data.lis t
+  //   total.value = table.data.total
+  //   page.value = table.data.page
+  //   pageSize.value = table.data.pageSize
+  // }
 }
-
 getTableData()
 
 // ============== 表格控制部分结束 ===============
-
 // 获取需要的字典 可能为空 按需保留
-const setOptions = async () =>{
-}
+const setOptions = async () =>{}
 
 // 获取需要的字典 可能为空 按需保留
 setOptions()
 
-
 // 多选数据
 const multipleSelection = ref([])
 // 多选
@@ -557,107 +528,31 @@ 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
-    // }
+  console.log(row);
 	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
@@ -668,7 +563,6 @@ const closeDetailShow = () => {
           }
 }
 
-
 // 打开弹窗
 const openDialog = () => {
     type.value = 'create'
@@ -734,31 +628,9 @@ const enterDialog = async () => {
 .JKWTree-content {
   flex: 1;
 }
-/* 图片上传 */
-.upload-box {
-	width: 200px;
-	height: 200px;
-	border: 2px dashed #e2e2e2;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	position: relative;
-	cursor: pointer;
-  }
-
-  .uploaded-image {
-	width: 100%;
-	height: 100%;
-	object-fit: cover;
-  }
-
-  .upload-icon {
-	font-size: 40px;
-	color: #c0c4cc;
-  }
-
-  .file-input {
-	display: none;
-  }
 
+/* 选中某行时的背景色*/
+.el-table__body tr.current-row>td {
+  background: #ff80ff !important;
+}
 </style>

+ 377 - 0
src/view/yunyin/shengchanguanli/shebeiyunxing.vue

@@ -0,0 +1,377 @@
+<template>
+  <div>
+    <el-container>
+      <el-aside width="340px">
+        <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">-->
+<!--            <el-form ref="elSearchFormRef" :inline="true" :model="searchInfo" class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">-->
+
+<!--              &lt;!&ndash; 左侧查询输入框 &ndash;&gt;-->
+<!--              <el-form-item>-->
+<!--                <el-input v-model="searchInfo.keyword" placeholder="" clearable style="width: 200px;"></el-input>-->
+<!--              </el-form-item>-->
+
+<!--              &lt;!&ndash; 查询和重置按钮 &ndash;&gt;-->
+<!--              <el-form-item>-->
+<!--                <el-button type="primary" icon="search" @click="onSubmit">查询</el-button>-->
+<!--&lt;!&ndash;                <el-button icon="refresh" @click="onReset">重置</el-button>&ndash;&gt;-->
+<!--                <el-button type="primary" icon="plus" @click="openDialog">新增</el-button>-->
+<!--              </el-form-item>-->
+<!--            </el-form>-->
+<!--          </div>-->
+
+          <div class="gva-table-box">
+
+<!--            <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="生产分类" 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="200" />-->
+<!--              <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="120" />-->
+<!--              <el-table-column align="left" label="计量单位" prop="计量单位" width="120" />-->
+<!--              <el-table-column align="left" label="客户名称" prop="客户名称" width="200" />-->
+<!--              <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="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="UNIQID" prop="UNIQID" 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="操作" 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>
+
+
+
+        </el-main>
+      </el-container>
+    </el-container>
+  </div>
+</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'
+import {DataList, getDepartment, getProduct, getTab, Project, workbench} from "@/api/yunyin/yunying";
+defineOptions({name: 'Company'})
+
+// =========== 左侧树侧形结构 ===========
+
+const treeData = ref([]);
+const workbenchdata = async () => {
+  const data  = await getTab() //接口调用函数
+  console.log(data);
+};
+workbenchdata();
+
+//点击左侧树形获取列表
+const tableData = ref([])
+const handleNodeClick = async (node) => {
+  const custom_code = node.label; // 假设你想使用节点的 label 作为 custom_code
+  console.log(custom_code);
+
+};
+
+
+// 自动化生成的字典(可能为空)以及字段
+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 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()
+  }
+}
+
+
+// 关闭详情弹窗
+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;
+}
+</style>

Some files were not shown because too many files changed in this diff