liuhairui 1 年之前
父节点
当前提交
74c41dcb28

文件差异内容过多而无法显示
+ 563 - 0
src/view/performance/baozhuangbaogong.vue


+ 785 - 0
src/view/performance/caiqiebaogong.vue

@@ -0,0 +1,785 @@
+<template>
+  <div>
+    <layout>
+      <layout-header>
+        <div class="">
+          <!--          按钮部分-->
+          <el-form ref="elSearchFormRef"   class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
+            <el-form-item>
+              <el-input v-model="searchInfo" placeholder="搜索" clearable style="width: 200px;margin: 5px"></el-input>
+              <el-button type="primary" icon="search" @click="onSubmit" style="margin: 5px">查询</el-button>
+			  <el-button type="primary"  @click="onAttendance" style="margin: 5px">新增</el-button>
+              <el-button type="primary"  @click="baogong_del" style="margin: 5px;float: right;background-color: red">删除</el-button>
+            </el-form-item>
+          </el-form>
+        </div>
+      </layout-header>
+
+      <layout>
+        <!--左侧树侧形结构-->
+        <layout-sider :resize-directions="['right']" :width="190" style="margin-right: 10px;">
+          <div class="JKWTree-tree" style="height: 200px">
+            <h3>裁切完工报工</h3>
+            <el-tree :data="treeData" class="treecolor"   @node-click="handleNodeClick"></el-tree>
+          </div>
+        </layout-sider>
+
+        <!-- 右侧区域 -->
+        <layout-content >
+        <el-main>
+          <div class="gva-table-box">
+            <!-- 表格数据 -->
+           <el-table ref="multipleTable" style="width: 100%;height: 65vh" tooltip-effect="dark"
+                      :row-style="{ height: '20px' }"  :header-cell-style="{ padding: '0px' }"
+                      :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
+                      :data="tableData"  border row-key="ID"
+                      size="small" 
+                      highlight-current-row="true" @row-dblclick="updateCompanyFunc"
+                      @row-click="tableRowClick" :show-overflow-tooltip="true"
+                      @selection-change="handleSelectionChange">
+			  <el-table-column type="selection" width="55" />
+              <el-table-column  sortable align="center" label="序号" prop="序号"  width="80" />
+              <el-table-column  sortable align="left" label="订单子编号" prop="订单子编号"  width="120"/>
+              <el-table-column  sortable  align="center" label="订单号" prop="订单号" width="120"/>
+              <el-table-column  sortable  align="left" label="生产款号" prop="生产款号" width="120" />
+              <el-table-column  sortable  align="left" label="款式" prop="款式" width="110" />
+              <el-table-column  sortable  align="left" label="颜色" prop="颜色" width="80"  />
+              <el-table-column  sortable  align="left" label="制单总数" prop="制单总数" width="100" />
+              <el-table-column  sortable  align="left" label="实裁总数" prop="实裁总数" width="110" />
+              <el-table-column  sortable  align="left" label="单位" prop="单位" width="80" />
+              <el-table-column  sortable  align="left" label="工序" prop="工序" width="80" />
+              <el-table-column  sortable  align="left" label="验片人" prop="验片人" width="90" />
+              <el-table-column  sortable  align="left" label="日期" prop="日期" width="120" />
+            </el-table>
+            <!-- 分页 -->
+            <div class="gva-pagination">
+              <el-pagination layout="total" :current-page="page" :page-size="pageSize"
+               :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
+<!--              <el-pagination layout="total, sizes, prev, pager, next, jumper" :current-page="page" :page-size="pageSize" :page-sizes="[10, 30, 50, 100]"-->
+<!--                             :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" />-->
+            </div>
+          </div>
+
+          <!-- 弹窗 -->
+          <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="'修改员工基本资料'" destroy-on-close>
+            <el-form :model="formDataTest" label-position="right" ref="elFormRef" :rules="rule" label-width="100px">
+              <div class="form-container">
+                <!-- 左侧部分 -->
+                <div class="form-column" style="width: 36%;">
+                  <el-form-item label="员工编号:" prop="employeeId" class="mab" >
+                    <el-input v-model="formDataTest['员工编号']"  placeholder="" style="width: 190px;"
+                              id="员工编号" @keydown="handleKeyDown($event, '员工编号', '在职状态', '性别')" />
+                  </el-form-item>
+                  <el-form-item label="性别:" prop="gender" class="mab">
+                    <el-input v-model="formDataTest['性别']"  placeholder="" style="width: 190px;"
+                              id="性别" @keydown="handleKeyDown($event, '性别', '员工编号', '身份证号')" />
+                  </el-form-item>
+                  <el-form-item label="身份证号:" prop="gender" class="mab">
+                    <el-input v-model="formDataTest['身份证号']"  placeholder="" style="width: 190px;"
+                              id="身份证号"  @keydown="handleKeyDown($event, '身份证号', '性别', '所在部门')" />
+                  </el-form-item>
+                  <el-form-item label="部门名称:" prop="gender"  class="mab">
+                    <el-input v-model="formDataTest['所在部门']"  placeholder="" style="width: 190px;"
+                              id="所在部门" @keydown="handleKeyDown($event, '所在部门', '身份证号', '聘用日期')" />
+                  </el-form-item>
+                  <el-form-item label="入职日期:" prop="joinDate" class="mab">
+                    <el-input v-model="formDataTest['聘用日期']"  placeholder="" style="width: 190px;"
+                              id="聘用日期" @keydown="handleKeyDown($event, '聘用日期', '所在部门', '人员类别')" />
+                  </el-form-item>
+                  <el-form-item label="人员类别:" prop="joinDate" >
+                    <el-select v-model="formDataTest['人员类别']" placeholder="" style="width: 190px;" id="人员类别"
+                               @keydown="handleKeyDown($event, '人员类别', '聘用日期', '班次类型')"
+                    >
+                      <el-option label="生产" value="生产"></el-option>
+                      <el-option label="行政" value="行政"></el-option>
+                    </el-select>
+                  </el-form-item>
+                  <el-form-item label="班次类型:" prop="joinDate" class="mab">
+                    <el-input v-model="formDataTest['班次类型']"  placeholder="" style="width: 190px;"
+                              id="班次类型" @keydown="handleKeyDown($event, '班次类型', '人员类别', '工资表类别')" />
+                  </el-form-item>
+                  <el-form-item label="工资表类别:" prop="joinDate" class="mab">
+                    <el-select v-model="formDataTest['工资表类别']" placeholder="" style="width: 190px;"
+                               id="工资表类别" @keydown="handleKeyDown($event, '工资表类别', '班次类型', 'U8在职')"
+                    >
+                      <el-option label="职员级计时工资表" value="职员级计时工资表"></el-option>
+                      <el-option label="另发工资" value="另发工资"></el-option>
+                      <el-option label="操作级计件工资表" value="操作级计件工资表"></el-option>
+                      <el-option label="操作级计时工资表" value="操作级计时工资表"></el-option>
+                    </el-select>
+                  </el-form-item>
+                  <el-form-item label="U8在职:" prop="joinDate" class="mab">
+                    <el-input v-model="formDataTest['U8在职']"   placeholder="" style="width: 190px;"
+                              id="U8在职" @keydown="handleKeyDown($event, 'U8在职', '工资表类别', '员工姓名')" />
+                  </el-form-item>
+                </div>
+
+                <!-- 中间部分 -->
+                <div class="form-column">
+                  <el-form-item label="员工姓名:" prop="name" class="mab" label-width="100">
+                    <el-input v-model="formDataTest['员工姓名']"  placeholder="" style="width: 190px;"
+                              id="员工姓名" @keydown="handleKeyDown($event, '员工姓名', 'U8在职', '出生日期')" />
+                  </el-form-item>
+                  <el-form-item label="出生日期:" prop="birthDate" class="mab" label-width="100">
+                    <el-input v-model="formDataTest['出生日期']"  placeholder="" style="width: 190px;"
+                              id="出生日期" @keydown="handleKeyDown($event, '出生日期', '员工姓名', '职称职务')" />
+                  </el-form-item>
+                  <el-form-item label="职务:" prop="position" class="mab" label-width="100">
+                    <el-input v-model="formDataTest['职称职务']" placeholder="" style="width: 190px;"
+                              id="职称职务" @keydown="handleKeyDown($event, '职称职务', '出生日期', '部门编码')" />
+                  </el-form-item>
+                  <el-form-item label="部门编号:" prop="position" class="mab" label-width="100">
+                    <el-input v-model="formDataTest['部门编码']" placeholder="" style="width: 190px;"
+                              id="部门编码" @keydown="handleKeyDown($event, '部门编码', '职称职务', '转正日期')" />
+                  </el-form-item>
+                  <el-form-item label="转正日期:" prop="departmentId" class="mab" label-width="100">
+                    <el-input v-model="formDataTest['转正日期']" placeholder="" style="width: 190px;"
+                              id="转正日期" @keydown="handleKeyDown($event, '转正日期', '部门编码', '扣减司龄')" />
+                  </el-form-item>
+                  <el-form-item label="扣减司龄:" prop="departmentId" class="mab" label-width="100">
+                    <el-input v-model="formDataTest['扣减司龄']" placeholder="" style="width: 190px;"
+                              id="扣减司龄" @keydown="handleKeyDown($event, '扣减司龄', '转正日期', '人员性质')" />
+                  </el-form-item>
+                  <el-form-item label="人员性质:" prop="departmentId" class="mab" label-width="100">
+                    <el-select v-model="formDataTest['人员性质']" placeholder="" style="width: 190px;"
+                               id="人员性质" @keydown="handleKeyDown($event, '人员性质', '扣减司龄', '薪酬核算分组')"
+                    >
+                      <el-option label="退休返聘" value="退休返聘"></el-option>
+                      <el-option label="劳动合同工" value="劳动合同工"></el-option>
+                      <el-option label="借用" value="借用"></el-option>
+                      <el-option label="劳务派遣" value="劳务派遣"></el-option>
+                      <el-option label="实习生" value="实习生"></el-option>
+                    </el-select>
+                  </el-form-item>
+                  <el-form-item label="工资核算分组:" prop="joinDate" class="mab" label-width="100" >
+                    <el-input v-model="formDataTest['薪酬核算分组']"  placeholder="" style="width: 190px;"
+                              id="薪酬核算分组" @keydown="handleKeyDown($event, '薪酬核算分组', '人员性质', '在职状态')" />
+                  </el-form-item>
+                  <el-form-item label="在职状态:" prop="joinDate" class="mab" label-width="100"  >
+                    <el-input v-model="formDataTest['在职状态']" placeholder="" style="width: 190px;"
+                              id="在职状态" @keydown="handleKeyDown($event, '在职状态', '薪酬核算分组', '员工编号')" />
+                  </el-form-item>
+                </div>
+              </div>
+            </el-form>
+            <!-- 添加编辑页面取消确定按钮 -->
+              <div  style="text-align: right; ">
+                <el-button @click="closeDialog">取消</el-button>
+                <el-button type="primary"  @click="enterDialog">确定</el-button>
+              </div>
+          </el-dialog>
+
+		 <!-- 新增弹窗 -->
+		  <el-dialog v-model="AttendanceVisible" title="新增" destroy-on-close width="50%">
+		      <el-row :gutter="24" style="margin-bottom: 20px;">
+		          <el-input v-model="add_searchInfo" placeholder="扫描子订单码获取订单信息" clearable style="width: 400px;margin: 5px"></el-input>
+		          <el-button type="primary" icon="search" @click="add_onSubmit" style="margin: 5px">查询</el-button>
+		      </el-row>
+		      
+		      <el-row :gutter="24" style="margin-bottom: 20px;">
+		          <el-table ref="multipleTable" style="width: 100%;height: 20vh" tooltip-effect="dark"
+		                    :row-style="{ height: '30px' }" :header-cell-style="{ padding: '0px' }"
+		                    :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
+		                    :data="add_tableData" border row-key="ID"
+		                    size="small" highlight-current-row="true" @row-dblclick="add_updateCompanyFunc"
+		                    @row-click="add_tableRowClick" :show-overflow-tooltip="true"
+		                    @selection-change="handleSelectionChange">
+		              <el-table-column sortable align="left" label="订单子编号" prop="订单子编号" width="160"/>
+		              <el-table-column sortable align="center" label="订单号" prop="订单号" width="160"/>
+		              <el-table-column sortable align="left" label="生产款号" prop="生产款号" width="205"/>
+		              <el-table-column sortable align="left" label="款式" prop="款式" width="160"/>
+		              <el-table-column sortable align="left" label="颜色" prop="颜色" width="160"/>
+		          </el-table>
+		      </el-row>
+		      
+		      <el-row :gutter="24" style="margin-bottom: 20px;">
+		          <el-form-item label="尺码:" class="mab" prop="keyOrder" label-width="80">
+		              <el-input v-model="cmformdata.cm1" disabled style="width: 80px;"/>
+		              <el-input v-model="cmformdata.cm2" disabled style="width: 80px;"/>
+		              <el-input v-model="cmformdata.cm3" disabled style="width: 80px;"/>
+		              <el-input v-model="cmformdata.cm4" disabled style="width: 80px;"/>
+		              <el-input v-model="cmformdata.cm5" disabled style="width: 80px;"/>
+		              <el-input v-model="cmformdata.cm6" disabled style="width: 80px;"/>
+		              <el-input v-model="cmformdata.cm7" disabled style="width: 80px;"/>
+		              <el-input v-model="cmformdata.cm8" disabled style="width: 80px;"/>
+		              <el-input v-model="cmformdata.cm9" disabled style="width: 80px;"/>
+		          </el-form-item>
+		      </el-row>
+		      
+		      <el-row :gutter="24" style="margin-bottom: 20px;">
+		          <el-form-item label="制单数" class="mab" prop="keyOrder" label-width="80">
+		              <el-input v-model="zdsformdata.zds1" disabled style="width: 80px;" id="zds1"/>
+		              <el-input v-model="zdsformdata.zds2" disabled style="width: 80px;" id="zds2"/>
+		              <el-input v-model="zdsformdata.zds3" disabled style="width: 80px;" id="zds3"/>
+		              <el-input v-model="zdsformdata.zds4" disabled style="width: 80px;" id="zds4"/>
+		              <el-input v-model="zdsformdata.zds5" disabled style="width: 80px;" id="zds5"/>
+		              <el-input v-model="zdsformdata.zds6" disabled style="width: 80px;" id="zds6"/>
+		              <el-input v-model="zdsformdata.zds7" disabled style="width: 80px;" id="zds7"/>
+		              <el-input v-model="zdsformdata.zds8" disabled style="width: 80px;" id="zds8"/>
+		              <el-input v-model="zdsformdata.zds9" disabled style="width: 80px;" id="zds9"/>
+		          </el-form-item>
+		      </el-row>
+		      
+		      <el-row :gutter="24" style="margin-bottom: 20px;">
+		          <el-form-item label="实裁数" class="mab" prop="keyOrder" label-width="80">
+		              <el-input v-model="scsformdata.scs1" style="width: 80px;" id="scs1"/>
+		              <el-input v-model="scsformdata.scs2" style="width: 80px;" id="scs2"/>
+		              <el-input v-model="scsformdata.scs3" style="width: 80px;" id="scs3"/>
+		              <el-input v-model="scsformdata.scs4" style="width: 80px;" id="scs4"/>
+		              <el-input v-model="scsformdata.scs5" style="width: 80px;" id="scs5"/>
+		              <el-input v-model="scsformdata.scs6" style="width: 80px;" id="scs6"/>
+		              <el-input v-model="scsformdata.scs7" style="width: 80px;" id="scs7"/>
+		              <el-input v-model="scsformdata.scs8" style="width: 80px;" id="scs8"/>
+		              <el-input v-model="scsformdata.scs9" style="width: 80px;" id="scs9"/>
+		          </el-form-item>
+		      </el-row>
+		      
+		      <el-row :gutter="24" style="margin-bottom: 20px;">
+		          <el-form-item label="日期:" prop="deliveryDate" class="mab" label-width="80">
+		              <el-date-picker v-model="add_riqiformData['日期']" type="date" style="width: 150px;"/>
+		          </el-form-item>
+		      </el-row>
+		      
+		      <template #footer>
+		          <div class="dialog-footer">
+		              <el-button @click="add_closeDialog">取消</el-button>
+		              <el-button type="primary" @click="add_Dialog">保存</el-button>
+		          </div>
+		      </template>
+		  </el-dialog>
+
+
+        </el-main>
+      </layout-content>
+      </layout>
+    </layout>
+  </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      dialogFormVisible: false,
+      formDataTest: {
+        imageUrl: '' // 添加一个字段来保存上传的图片路径
+      },
+      rule: {} // 初始化rule对象
+    };
+  },
+  methods: {
+    handleKeyDown(event, currentId, prevId, nextId) {
+      const currentElement = document.getElementById(currentId);
+      const isEmpty = currentElement.value === '';
+      const atStart = currentElement.selectionStart === 0;
+      const atEnd = currentElement.selectionStart === currentElement.value.length;
+      switch (event.keyCode) {
+        case 13: // Enter
+        case 40: // 向下箭头
+          if (nextId) {
+            document.getElementById(nextId).focus();
+          }
+          break;
+        case 38: // 向上箭头
+          if (prevId) {
+            document.getElementById(prevId).focus();
+          }
+          break;
+        case 8: // 删除键
+          if (prevId && (isEmpty || atStart)) {
+            document.getElementById(prevId).focus();
+          }
+          break;
+        case 37: // 向左箭头
+          if (prevId && atStart) {
+            document.getElementById(prevId).focus();
+          }
+          break;
+        case 39: // 向右箭头
+          if (nextId && atEnd) {
+            document.getElementById(nextId).focus();
+          }
+          break;
+        default:
+          break;
+      }
+    },
+    closeDialog() {
+      // 关闭对话框的逻辑
+      this.dialogFormVisible = false;
+    },
+    enterDialog() {
+      // 确定按钮的逻辑
+      // 在这里可以执行提交表单的逻辑
+    },
+    handleFileUpload(event) {
+      // 处理文件上传逻辑
+      const file = event.target.files[0];
+      console.log(file)
+      // 模拟上传并保存文件路径
+      // 在实际应用中,您需要将文件上传到服务器并保存路径
+      this.formDataTest.imageUrl = URL.createObjectURL(file);
+      // 手动触发Vue的更新
+      this.$forceUpdate();
+    }
+  }
+};
+</script>
+<script setup>
+// 全量引入格式化工具 请按需保留
+import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
+
+import {ref, reactive} from 'vue'
+import {getCustom, getDepartment, getProductData,getStaffInfo, getStaffList, ygjbzledit,clockUpdate} from '@/api/yunyin/yunying'
+import {ElMessage} from "element-plus";
+defineOptions({name: 'Company'})
+
+// =========== 获取左侧树侧形结构 ===========
+const treeData = ref({})
+const DataListdata = async () => {
+  try {
+    const data = 
+    [{
+      label : '验片完工记录',
+      children : [
+      {label : '2024.7.16'},
+      {label : '2024.7.15'},
+      {label : '2024.7.14'},
+      {label : '2024.7.13'},
+      {label : '2024.7.12'},
+      {label : '2024.7.11'}
+    ]
+    }];
+    treeData.value = data
+  } catch (error) {
+    console.error(error);
+  }
+};
+DataListdata();
+
+//点击左侧树形 获取右侧table列表
+const tableData = reactive([]);
+const _u8 = ref(null);  // U8系统的值
+const _mes = ref(null); // MES系统的值
+const handleNodeClick = async (node) => {
+  _getStaffList();  // 执行获取员工列表的函数
+};
+
+//点击管理中心 显示部门的全部数据
+const handleNodeExpand = async (node) => {
+  // _department_code.value = node['编号'];
+  searchInfo.value = '';
+  _getStaffList()
+}
+
+// =========== 搜索 ===========
+const searchInfo = ref('')
+const _department_code = ref(null)
+//点击【查询】按钮
+const onSubmit = () => {
+  _department_code.value = '';
+  if(searchInfo.value === ''){
+    tableData.length = 0;
+  }else{
+    _getStaffList();
+  }
+};
+
+//获取员工信息列表
+const _getStaffList = async ()=>{
+	console.log(123)
+    try {
+		const WorkListdata = [
+		    {
+		      '序号':'1',
+		      '订单子编号':'XXX001-1',
+		      '订单号':'XXX001',
+		      '生产款号':'2403-1622款',
+		      '款式':'连衣裙',
+		      '颜色':'红色',
+		      '制单总数':'90',
+		      '实裁总数':'95',
+		      '单位':'件',
+		      '工序':'裁切',
+		      '验片人':'xxx',
+		      '日期':'2024-07-16'
+		    },
+			{
+			  '序号':'2',
+			  '订单子编号':'XXX002-1',
+			  '订单号':'XXX002',
+			  '生产款号':'2403-1622款',
+			  '款式':'裤子',
+			  '颜色':'蓝色',
+			  '制单总数':'90',
+			  '实裁总数':'95',
+			  '单位':'件',
+			  '工序':'裁切',
+			  '验片人':'xxx',
+			  '日期':'2024-07-16'
+			},
+			{
+			  '序号':'3',
+			  '订单子编号':'XXX003-1',
+			  '订单号':'XXX003',
+			  '生产款号':'2403-1622款',
+			  '款式':'西服',
+			  '颜色':'黑色',
+			  '制单总数':'90',
+			  '实裁总数':'95',
+			  '单位':'件',
+			  '工序':'裁切',
+			  '验片人':'xxx',
+			  '日期':'2024-07-16'
+			},
+		];
+		console.log(WorkListdata)
+		tableData.splice(0,tableData.length,...WorkListdata);//表格数据
+		// total.value =WorkListdata.data.total;//共多少条
+  } catch (error) {
+    console.error(error);
+  }
+}
+
+// =========== 新增按钮 ===========
+const AttendanceVisible=ref(false)
+const add_tableData = reactive([]);
+// 获取当前日期
+const today = new Date();
+const year = today.getFullYear();
+const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,需要补零
+const day = String(today.getDate()).padStart(2, '0');
+const hours = String(today.getHours()).padStart(2, '0');
+const minutes = String(today.getMinutes()).padStart(2, '0');
+const seconds = String(today.getSeconds()).padStart(2, '0');
+const currentDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+
+//新增按钮
+const onAttendance = () => {
+    AttendanceVisible.value=true
+	const WorkListdata = [
+	    {
+	      '订单子编号':'XXX001-1',
+	      '订单号':'XXX001',
+	      '生产款号':'2403-1622款',
+	      '款式':'连衣裙',
+	      '颜色':'红色'
+	    },
+	];
+	add_riqiformData['日期'] = currentDate
+	console.log(WorkListdata)
+	add_tableData.splice(0,add_tableData.length,...WorkListdata);//表格数据
+};
+// 尺码
+const cmformdata = reactive({
+  cm1:'S',
+  cm2:'M',
+  cm3:'L',
+  cm4:'XL',
+  cm5:'2XL',
+  cm6:'',
+  cm7:'',
+  cm8:'',
+  cm9:'合计',
+});
+// 制单数
+const zdsformdata = reactive({
+  zds1:'10',
+  zds2:'10',
+  zds3:'10',
+  zds4:'10',
+  zds5:'10',
+  zds6:'',
+  zds7:'',
+  zds8:'',
+  zds9:'50',
+});
+// 实裁数
+const scsformdata = reactive({
+  scs1:'10',
+  scs2:'10',
+  scs3:'10',
+  scs4:'10',
+  scs5:'10',
+  scs6:'',
+  scs7:'',
+  scs8:'',
+  scs9:'50',
+});
+const add_riqiformData = reactive({
+  日期: '',
+});
+// 新增确定
+const add_Dialog = () => {
+   
+};
+// 新增取消
+const add_closeDialog = () => {
+    AttendanceVisible.value=true
+};
+
+// =========== 新增搜索 ===========
+const add_searchInfo = ref('')
+//点击【查询】按钮
+const add_onSubmit = async ()=>{
+  if(add_searchInfo.value === '' || add_searchInfo.value === undefined){
+    ElMessage({type: 'warning',message: '搜索内容不能为空' })
+  }else{
+	console.log(add_searchInfo.value)
+  }
+};
+
+// =========== 删除按钮 ===========
+const bgSelection = ref(null)
+const baogong_del = () => {
+	if(bgSelection.value === null || bgSelection.value === ''){
+		  ElMessage({type: 'warning',message: '请选择删除的数据' })
+	}else{
+		 console.log(bgSelection.value)
+	}
+}
+// 复选框
+const handleSelectionChange = (selection, type) => {
+  const ids = selection.map(item => {
+    return item.订单子编号
+  })
+  bgSelection.value = ids.join(',')
+}
+
+// =========== 修改 ===========
+// 双击修改
+const updateCompanyFunc = async (row) => {
+  // let code = row['员工编号'];
+  // const getStaffInfo_data = await getStaffInfo({code:code});
+  // formDataTest.value = getStaffInfo_data.data;
+  // dialogFormVisible.value = true;
+};
+
+// =========== 分页 ===========
+// 分页相关的响应式变量
+const page = ref(1)
+const total = ref(0)
+const pageSize = ref(10)
+// 分页
+const handleCurrentChange = (val) => {
+  page.value = val;
+  _getStaffList();
+};
+
+// 修改页面容量 点击多少条/页
+const handleSizeChange = (val) => {
+  page.value = 10;//默认显示
+  pageSize.value = val;
+  _getStaffList();
+};
+
+// 弹窗控制标记
+const dialogFormVisible = ref(false)
+//修改
+const formDataTest = ref({})
+
+
+const Attendancevalue = ref({})
+//考勤建立弹窗确定
+ const AttendanceDialog = async () => {
+  _clockUpdate()
+ }
+ //设置法定天数
+ const _clockUpdate = async ()=>{
+   const formattedData = {
+    month:Attendancevalue.value['month'],
+	number:Attendancevalue.value['day'],
+	typeA:Attendancevalue.value['typeA'],
+	typeB:Attendancevalue.value['typeB'],
+	typeC:Attendancevalue.value['typeC'],
+	sys_id:'[1010/郑梅芳]'
+   };
+   console.log(formattedData)
+   const response = await clockUpdate(formattedData);
+   if (response.code === 0) {
+    	  ElMessage({
+    	    type: 'success',
+    	    message: '成功'
+    	  })
+		 AttendanceVisible.value=false
+    }else{
+   	   ElMessage({
+   	     type: 'error',
+   	     message: '失败'
+   	   })
+    }
+ }
+ //获取小时数
+ const getdays = () => {
+	 console.log(Attendancevalue.value['day'])
+ 	if(Attendancevalue.value['day']!=''){
+		Attendancevalue.value['typeA']=Attendancevalue.value['day']*7.5
+		Attendancevalue.value['typeB']=Attendancevalue.value['day']*8
+		Attendancevalue.value['typeC']=Attendancevalue.value['day']*8
+	}else{
+		ElMessage({
+		  type: 'error',
+		  message: '请输入法定天数'
+		})
+	}
+ }
+// 修改关闭弹窗
+const closeDialog = () => {dialogFormVisible.value = false,AttendanceVisible.value=false}
+
+// 弹窗确定
+const enterDialog = async () => {
+	console.log(formDataTest.value['出生日期'])
+	if(formDataTest.value['出生日期'] === '' || formDataTest.value['出生日期'] === null){
+		ElMessage({
+		  type: 'error',
+		  message: '出生日期不能为空'
+		})
+		return false;
+	}
+	if(formDataTest.value['身份证号'] === '' || formDataTest.value['身份证号'] === null){
+		ElMessage({
+		  type: 'error',
+		  message: '身份证号不能为空'
+		})
+		return false;
+	}
+  _ygjbzledit();
+}
+//修改员工资料
+const _ygjbzledit = async ()=>{
+  const formattedData = {
+    '员工编号': formDataTest.value['员工编号'],
+    '员工姓名': formDataTest.value['员工姓名'],
+    '性别': formDataTest.value['性别'],
+    '出生日期': formDataTest.value['出生日期'],
+    '身份证号': formDataTest.value['身份证号'],
+    '职称职务': formDataTest.value['职称职务'],
+    '所在部门': formDataTest.value['所在部门'],
+    '聘用日期': formDataTest.value['聘用日期'],
+    '转正日期': formDataTest.value['转正日期'],
+    '扣减司龄': formDataTest.value['扣减司龄'] ? formDataTest.value['扣减司龄'] : '0',
+    '人员类别': formDataTest.value['人员类别'],
+    '人员性质': formDataTest.value['人员性质'],
+    '班次类型': formDataTest.value['班次类型'],
+    '薪酬核算分组': formDataTest.value['薪酬核算分组'],
+    '工资表类别': formDataTest.value['工资表类别'],
+    'U8在职': formDataTest.value['U8在职'],
+    '在职状态': formDataTest.value['在职状态'],
+    '部门编码': formDataTest.value['部门编码'],
+  };
+  try {
+    const ygjbzledit_eddt = await ygjbzledit(formattedData);
+    if (ygjbzledit_eddt .code === 0) {
+      dialogFormVisible.value = false;
+      ElMessage({type: 'success',message: '更新成功'})
+    } else {
+      console.log(ygjbzledit_eddt);
+      ElMessage({ type: 'error',message: '更新失败'})
+    }
+  } catch (error) {
+    console.error(error);
+  }
+}
+
+</script>
+
+<style scoped>
+.form-container {
+  display: flex;
+  flex-wrap: wrap;
+}
+
+.form-column {
+  /*flex: 1;*/
+  margin-right: 15px; /* 调整列之间的间距 */
+}
+
+/* 左侧输入框宽度调整 */
+.form-column .el-form-item .el-input {
+  width: 150px; /* 调整左侧输入框的宽度 */
+}
+
+/* 媒体查询,根据需要调整断点 */
+@media screen and (max-width: 768px) {
+  .form-column {
+    flex: 1 0 100%; /* 在小屏幕下变成单列布局 */
+    margin-right: 0;
+  }
+}
+/*:deep(.el-table td .cell) {*/
+/*  line-height: 30px !important;*/
+/*}*/
+.JKWTree-container {
+  display: flex;
+}
+.JKWTree-tree {
+  /*width: 300px;*/
+  background-color: #fff;
+  padding: 10px;
+  margin-right: 20px;
+}
+.JKWTree-tree h3 {
+  font-size: 15px;
+  font-weight: 700;
+  margin: 10px 0;
+}
+.JKWTree-content {
+  flex: 1;
+}
+/* 图片上传 */
+.upload-box {
+  width: 200px;
+  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 .warning-row {
+  background: oldlace;
+}
+
+/* 选中某行时的背景色 */
+:deep(.el-table__body tr.current-row) > td {
+  background: #ff80ff !important;
+}
+</style>
+<style scoped>
+:deep(.el-table td .cell) {
+  line-height: 20px !important;
+}
+:deep(.el-tabs__header){
+  margin-bottom: 0;
+}
+.search{
+  margin-left: 0px !important;
+  margin-right: 10px !important;
+}
+.bt{
+  margin-left: 2px !important;
+  padding: 3px !important;
+  font-size: 12px;
+}
+.el-tabs__header{
+  margin: 0px !important;
+}
+.gva-table-box{
+  padding: 0px !important;
+}
+.mab{
+  margin-bottom: 5px;
+}
+</style>

文件差异内容过多而无法显示
+ 563 - 0
src/view/performance/chafengbaogong.vue


+ 693 - 0
src/view/performance/chukubaogong.vue

@@ -0,0 +1,693 @@
+<template>
+  <div>
+    <layout>
+      <layout-header>
+        <div class="">
+          <!--          按钮部分-->
+          <el-form ref="elSearchFormRef"   class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
+            <el-form-item>
+              <el-input v-model="searchInfo" placeholder="搜索" clearable style="width: 200px;margin: 5px"></el-input>
+              <el-button type="primary" icon="search" @click="onSubmit" style="margin: 5px">查询</el-button>
+			  <el-button type="primary"  @click="onAttendance" style="margin: 5px">新增</el-button>
+              <el-button type="primary"  @click="baogong_del" style="margin: 5px;float: right;background-color: red">删除</el-button>
+            </el-form-item>
+          </el-form>
+        </div>
+      </layout-header>
+
+      <layout>
+        <!--左侧树侧形结构-->
+        <layout-sider :resize-directions="['right']" :width="190" style="margin-right: 10px;">
+          <div class="JKWTree-tree" style="height: 200px">
+            <h3>出库报工</h3>
+            <el-tree :data="treeData" class="treecolor"   @node-click="handleNodeClick"></el-tree>
+          </div>
+        </layout-sider>
+
+        <!-- 右侧区域 -->
+        <layout-content >
+        <el-main>
+          <div class="gva-table-box">
+            <!-- 表格数据 -->
+           <el-table ref="multipleTable" style="width: 100%;height: 65vh" tooltip-effect="dark"
+                      :row-style="{ height: '20px' }"  :header-cell-style="{ padding: '0px' }"
+                      :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
+                      :data="tableData"  border row-key="ID"
+                      size="small" 
+                      highlight-current-row="true" @row-dblclick="updateCompanyFunc"
+                      @row-click="tableRowClick" :show-overflow-tooltip="true"
+                      @selection-change="handleSelectionChange">
+			  <el-table-column type="selection" width="55" />
+              <el-table-column  sortable align="center" label="序号" prop="序号"  width="80" />
+              <el-table-column  sortable align="left" label="订单子编号" prop="订单子编号"  width="120"/>
+              <el-table-column  sortable  align="center" label="订单号" prop="订单号" width="120"/>
+              <el-table-column  sortable  align="left" label="生产款号" prop="生产款号" width="120" />
+              <el-table-column  sortable  align="left" label="款式" prop="款式" width="110" />
+              <el-table-column  sortable  align="left" label="颜色" prop="颜色" width="80"  />
+              <el-table-column  sortable  align="left" label="制单总数" prop="制单总数" width="100" />
+              <el-table-column  sortable  align="left" label="实裁总数" prop="实裁总数" width="110" />
+              <el-table-column  sortable  align="left" label="单位" prop="单位" width="80" />
+              <el-table-column  sortable  align="left" label="工序" prop="工序" width="80" />
+              <el-table-column  sortable  align="left" label="验片人" prop="验片人" width="90" />
+              <el-table-column  sortable  align="left" label="日期" prop="日期" width="120" />
+            </el-table>
+            <!-- 分页 -->
+            <div class="gva-pagination">
+              <el-pagination layout="total" :current-page="page" :page-size="pageSize"
+               :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
+<!--              <el-pagination layout="total, sizes, prev, pager, next, jumper" :current-page="page" :page-size="pageSize" :page-sizes="[10, 30, 50, 100]"-->
+<!--                             :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" />-->
+            </div>
+          </div>
+
+          <!-- 弹窗 -->
+          <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="'修改员工基本资料'" destroy-on-close>
+            <el-form :model="formDataTest" label-position="right" ref="elFormRef" :rules="rule" label-width="100px">
+              <div class="form-container">
+                <!-- 左侧部分 -->
+                <div class="form-column" style="width: 36%;">
+                  <el-form-item label="员工编号:" prop="employeeId" class="mab" >
+                    <el-input v-model="formDataTest['员工编号']"  placeholder="" style="width: 190px;"
+                              id="员工编号" @keydown="handleKeyDown($event, '员工编号', '在职状态', '性别')" />
+                  </el-form-item>
+                  <el-form-item label="性别:" prop="gender" class="mab">
+                    <el-input v-model="formDataTest['性别']"  placeholder="" style="width: 190px;"
+                              id="性别" @keydown="handleKeyDown($event, '性别', '员工编号', '身份证号')" />
+                  </el-form-item>
+                  <el-form-item label="身份证号:" prop="gender" class="mab">
+                    <el-input v-model="formDataTest['身份证号']"  placeholder="" style="width: 190px;"
+                              id="身份证号"  @keydown="handleKeyDown($event, '身份证号', '性别', '所在部门')" />
+                  </el-form-item>
+                  <el-form-item label="部门名称:" prop="gender"  class="mab">
+                    <el-input v-model="formDataTest['所在部门']"  placeholder="" style="width: 190px;"
+                              id="所在部门" @keydown="handleKeyDown($event, '所在部门', '身份证号', '聘用日期')" />
+                  </el-form-item>
+                  <el-form-item label="入职日期:" prop="joinDate" class="mab">
+                    <el-input v-model="formDataTest['聘用日期']"  placeholder="" style="width: 190px;"
+                              id="聘用日期" @keydown="handleKeyDown($event, '聘用日期', '所在部门', '人员类别')" />
+                  </el-form-item>
+                  <el-form-item label="人员类别:" prop="joinDate" >
+                    <el-select v-model="formDataTest['人员类别']" placeholder="" style="width: 190px;" id="人员类别"
+                               @keydown="handleKeyDown($event, '人员类别', '聘用日期', '班次类型')"
+                    >
+                      <el-option label="生产" value="生产"></el-option>
+                      <el-option label="行政" value="行政"></el-option>
+                    </el-select>
+                  </el-form-item>
+                  <el-form-item label="班次类型:" prop="joinDate" class="mab">
+                    <el-input v-model="formDataTest['班次类型']"  placeholder="" style="width: 190px;"
+                              id="班次类型" @keydown="handleKeyDown($event, '班次类型', '人员类别', '工资表类别')" />
+                  </el-form-item>
+                  <el-form-item label="工资表类别:" prop="joinDate" class="mab">
+                    <el-select v-model="formDataTest['工资表类别']" placeholder="" style="width: 190px;"
+                               id="工资表类别" @keydown="handleKeyDown($event, '工资表类别', '班次类型', 'U8在职')"
+                    >
+                      <el-option label="职员级计时工资表" value="职员级计时工资表"></el-option>
+                      <el-option label="另发工资" value="另发工资"></el-option>
+                      <el-option label="操作级计件工资表" value="操作级计件工资表"></el-option>
+                      <el-option label="操作级计时工资表" value="操作级计时工资表"></el-option>
+                    </el-select>
+                  </el-form-item>
+                  <el-form-item label="U8在职:" prop="joinDate" class="mab">
+                    <el-input v-model="formDataTest['U8在职']"   placeholder="" style="width: 190px;"
+                              id="U8在职" @keydown="handleKeyDown($event, 'U8在职', '工资表类别', '员工姓名')" />
+                  </el-form-item>
+                </div>
+
+                <!-- 中间部分 -->
+                <div class="form-column">
+                  <el-form-item label="员工姓名:" prop="name" class="mab" label-width="100">
+                    <el-input v-model="formDataTest['员工姓名']"  placeholder="" style="width: 190px;"
+                              id="员工姓名" @keydown="handleKeyDown($event, '员工姓名', 'U8在职', '出生日期')" />
+                  </el-form-item>
+                  <el-form-item label="出生日期:" prop="birthDate" class="mab" label-width="100">
+                    <el-input v-model="formDataTest['出生日期']"  placeholder="" style="width: 190px;"
+                              id="出生日期" @keydown="handleKeyDown($event, '出生日期', '员工姓名', '职称职务')" />
+                  </el-form-item>
+                  <el-form-item label="职务:" prop="position" class="mab" label-width="100">
+                    <el-input v-model="formDataTest['职称职务']" placeholder="" style="width: 190px;"
+                              id="职称职务" @keydown="handleKeyDown($event, '职称职务', '出生日期', '部门编码')" />
+                  </el-form-item>
+                  <el-form-item label="部门编号:" prop="position" class="mab" label-width="100">
+                    <el-input v-model="formDataTest['部门编码']" placeholder="" style="width: 190px;"
+                              id="部门编码" @keydown="handleKeyDown($event, '部门编码', '职称职务', '转正日期')" />
+                  </el-form-item>
+                  <el-form-item label="转正日期:" prop="departmentId" class="mab" label-width="100">
+                    <el-input v-model="formDataTest['转正日期']" placeholder="" style="width: 190px;"
+                              id="转正日期" @keydown="handleKeyDown($event, '转正日期', '部门编码', '扣减司龄')" />
+                  </el-form-item>
+                  <el-form-item label="扣减司龄:" prop="departmentId" class="mab" label-width="100">
+                    <el-input v-model="formDataTest['扣减司龄']" placeholder="" style="width: 190px;"
+                              id="扣减司龄" @keydown="handleKeyDown($event, '扣减司龄', '转正日期', '人员性质')" />
+                  </el-form-item>
+                  <el-form-item label="人员性质:" prop="departmentId" class="mab" label-width="100">
+                    <el-select v-model="formDataTest['人员性质']" placeholder="" style="width: 190px;"
+                               id="人员性质" @keydown="handleKeyDown($event, '人员性质', '扣减司龄', '薪酬核算分组')"
+                    >
+                      <el-option label="退休返聘" value="退休返聘"></el-option>
+                      <el-option label="劳动合同工" value="劳动合同工"></el-option>
+                      <el-option label="借用" value="借用"></el-option>
+                      <el-option label="劳务派遣" value="劳务派遣"></el-option>
+                      <el-option label="实习生" value="实习生"></el-option>
+                    </el-select>
+                  </el-form-item>
+                  <el-form-item label="工资核算分组:" prop="joinDate" class="mab" label-width="100" >
+                    <el-input v-model="formDataTest['薪酬核算分组']"  placeholder="" style="width: 190px;"
+                              id="薪酬核算分组" @keydown="handleKeyDown($event, '薪酬核算分组', '人员性质', '在职状态')" />
+                  </el-form-item>
+                  <el-form-item label="在职状态:" prop="joinDate" class="mab" label-width="100"  >
+                    <el-input v-model="formDataTest['在职状态']" placeholder="" style="width: 190px;"
+                              id="在职状态" @keydown="handleKeyDown($event, '在职状态', '薪酬核算分组', '员工编号')" />
+                  </el-form-item>
+                </div>
+              </div>
+            </el-form>
+            <!-- 添加编辑页面取消确定按钮 -->
+              <div  style="text-align: right; ">
+                <el-button @click="closeDialog">取消</el-button>
+                <el-button type="primary"  @click="enterDialog">确定</el-button>
+              </div>
+          </el-dialog>
+
+		 <!-- 新增弹窗 -->
+		  <el-dialog v-model="AttendanceVisible" title="新增" destroy-on-close width="50%">
+		      <el-row :gutter="24" style="margin-bottom: 20px;">
+		          <el-input v-model="add_searchInfo" placeholder="扫描订单二维码获取订单信息" clearable style="width: 400px;margin: 5px"></el-input>
+		          <el-button type="primary" icon="search" @click="add_onSubmit" style="margin: 5px">查询</el-button>
+		      </el-row>
+		      
+		      <el-row :gutter="24" style="margin-bottom: 20px;">
+		          <el-table ref="multipleTable" style="width: 100%;height: 20vh" tooltip-effect="dark"
+		                    :row-style="{ height: '30px' }" :header-cell-style="{ padding: '0px' }"
+		                    :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
+		                    :data="add_tableData" border row-key="ID"
+		                    size="small" highlight-current-row="true" @row-dblclick="add_updateCompanyFunc"
+		                    @row-click="add_tableRowClick" :show-overflow-tooltip="true"
+		                    @selection-change="handleSelectionChange">
+		              <el-table-column sortable align="center" label="订单号" prop="订单号" width="180"/>
+		              <el-table-column sortable align="left" label="生产款号" prop="生产款号" width="305"/>
+		              <el-table-column sortable align="left" label="款式" prop="款式" width="180"/>
+		              <el-table-column sortable align="left" label="颜色" prop="颜色" width="180"/>
+		          </el-table>
+		      </el-row>
+		      
+		      <el-row :gutter="24" style="margin-bottom: 20px;">
+		          <el-form-item label="日期:" prop="deliveryDate" class="mab" label-width="80">
+		              <el-date-picker v-model="add_riqiformData['日期']" type="date" style="width: 150px;"/>
+		          </el-form-item>
+		      </el-row>
+		      
+		      <template #footer>
+		          <div class="dialog-footer">
+		              <el-button @click="add_closeDialog">取消</el-button>
+		              <el-button type="primary" @click="add_Dialog">保存</el-button>
+		          </div>
+		      </template>
+		  </el-dialog>
+
+
+        </el-main>
+      </layout-content>
+      </layout>
+    </layout>
+  </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      dialogFormVisible: false,
+      formDataTest: {
+        imageUrl: '' // 添加一个字段来保存上传的图片路径
+      },
+      rule: {} // 初始化rule对象
+    };
+  },
+  methods: {
+    handleKeyDown(event, currentId, prevId, nextId) {
+      const currentElement = document.getElementById(currentId);
+      const isEmpty = currentElement.value === '';
+      const atStart = currentElement.selectionStart === 0;
+      const atEnd = currentElement.selectionStart === currentElement.value.length;
+      switch (event.keyCode) {
+        case 13: // Enter
+        case 40: // 向下箭头
+          if (nextId) {
+            document.getElementById(nextId).focus();
+          }
+          break;
+        case 38: // 向上箭头
+          if (prevId) {
+            document.getElementById(prevId).focus();
+          }
+          break;
+        case 8: // 删除键
+          if (prevId && (isEmpty || atStart)) {
+            document.getElementById(prevId).focus();
+          }
+          break;
+        case 37: // 向左箭头
+          if (prevId && atStart) {
+            document.getElementById(prevId).focus();
+          }
+          break;
+        case 39: // 向右箭头
+          if (nextId && atEnd) {
+            document.getElementById(nextId).focus();
+          }
+          break;
+        default:
+          break;
+      }
+    },
+    closeDialog() {
+      // 关闭对话框的逻辑
+      this.dialogFormVisible = false;
+    },
+    enterDialog() {
+      // 确定按钮的逻辑
+      // 在这里可以执行提交表单的逻辑
+    },
+    handleFileUpload(event) {
+      // 处理文件上传逻辑
+      const file = event.target.files[0];
+      console.log(file)
+      // 模拟上传并保存文件路径
+      // 在实际应用中,您需要将文件上传到服务器并保存路径
+      this.formDataTest.imageUrl = URL.createObjectURL(file);
+      // 手动触发Vue的更新
+      this.$forceUpdate();
+    }
+  }
+};
+</script>
+<script setup>
+// 全量引入格式化工具 请按需保留
+import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
+
+import {ref, reactive} from 'vue'
+import {getCustom, getDepartment, getProductData,getStaffInfo, getStaffList, ygjbzledit,clockUpdate} from '@/api/yunyin/yunying'
+import {ElMessage} from "element-plus";
+defineOptions({name: 'Company'})
+
+// =========== 获取左侧树侧形结构 ===========
+const treeData = ref({})
+const DataListdata = async () => {
+  try {
+    const data = 
+    [{
+      label : '出库记录',
+      children : [
+      {label : '2024.7.16'},
+      {label : '2024.7.15'},
+      {label : '2024.7.14'},
+      {label : '2024.7.13'},
+      {label : '2024.7.12'},
+      {label : '2024.7.11'}
+    ]
+    }];
+    treeData.value = data
+  } catch (error) {
+    console.error(error);
+  }
+};
+DataListdata();
+
+//点击左侧树形 获取右侧table列表
+const tableData = reactive([]);
+const _u8 = ref(null);  // U8系统的值
+const _mes = ref(null); // MES系统的值
+const handleNodeClick = async (node) => {
+  _getStaffList();  // 执行获取员工列表的函数
+};
+
+//点击管理中心 显示部门的全部数据
+const handleNodeExpand = async (node) => {
+  // _department_code.value = node['编号'];
+  searchInfo.value = '';
+  _getStaffList()
+}
+
+// =========== 搜索 ===========
+const searchInfo = ref('')
+const _department_code = ref(null)
+//点击【查询】按钮
+const onSubmit = () => {
+  _department_code.value = '';
+  if(searchInfo.value === ''){
+    tableData.length = 0;
+  }else{
+    _getStaffList();
+  }
+};
+
+//获取员工信息列表
+const _getStaffList = async ()=>{
+	console.log(123)
+    try {
+		const WorkListdata = [
+		    {
+		      '序号':'1',
+		      '订单号':'XXX001',
+		      '生产款号':'2403-1622款',
+		      '款式':'连衣裙',
+		      '颜色':'红色',
+		      '工序':'仓库出库',
+		      '面料验片人':'xxx',
+		      '日期':'2024-07-16'
+		    },
+		    {
+		      '序号':'2',
+		      '订单号':'XXX002',
+		      '生产款号':'2403-1622款',
+		      '款式':'连衣裙',
+		      '颜色':'红色',
+		      '工序':'仓库出库',
+		      '面料验片人':'xxx',
+		      '日期':'2024-07-16'
+		    },
+			{
+			  '序号':'3',
+			  '订单号':'XXX003',
+			  '生产款号':'2403-1622款',
+			  '款式':'连衣裙',
+			  '颜色':'红色',
+			  '工序':'仓库出库',
+			  '面料验片人':'xxx',
+			  '日期':'2024-07-16'
+			},
+		];
+		console.log(WorkListdata)
+		tableData.splice(0,tableData.length,...WorkListdata);//表格数据
+		// total.value =WorkListdata.data.total;//共多少条
+  } catch (error) {
+    console.error(error);
+  }
+}
+
+// =========== 新增按钮 ===========
+const AttendanceVisible=ref(false)
+const add_tableData = reactive([]);
+// 获取当前日期
+const today = new Date();
+const year = today.getFullYear();
+const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,需要补零
+const day = String(today.getDate()).padStart(2, '0');
+const hours = String(today.getHours()).padStart(2, '0');
+const minutes = String(today.getMinutes()).padStart(2, '0');
+const seconds = String(today.getSeconds()).padStart(2, '0');
+const currentDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+
+//新增按钮
+const onAttendance = () => {
+    AttendanceVisible.value=true
+	const WorkListdata = [
+	    {
+	      '订单号':'XXX001',
+	      '生产款号':'2403-1622款',
+	      '款式':'连衣裙',
+	      '颜色':'红色'
+	    },
+	];
+	add_riqiformData['日期'] = currentDate
+	console.log(WorkListdata)
+	add_tableData.splice(0,add_tableData.length,...WorkListdata);//表格数据
+};
+const add_riqiformData = reactive({
+  日期: '',
+});
+// 新增确定
+const add_Dialog = () => {
+   
+};
+// 新增取消
+const add_closeDialog = () => {
+    AttendanceVisible.value=true
+};
+
+// =========== 新增搜索 ===========
+const add_searchInfo = ref('')
+//点击【查询】按钮
+const add_onSubmit = async ()=>{
+  if(add_searchInfo.value === '' || add_searchInfo.value === undefined){
+    ElMessage({type: 'warning',message: '搜索内容不能为空' })
+  }else{
+	console.log(add_searchInfo.value)
+  }
+};
+
+// =========== 删除按钮 ===========
+const bgSelection = ref(null)
+const baogong_del = () => {
+	if(bgSelection.value === null || bgSelection.value === ''){
+		  ElMessage({type: 'warning',message: '请选择删除的数据' })
+	}else{
+		 console.log(bgSelection.value)
+	}
+}
+// 复选框
+const handleSelectionChange = (selection, type) => {
+  const ids = selection.map(item => {
+    return item.订单子编号
+  })
+  bgSelection.value = ids.join(',')
+}
+
+// =========== 修改 ===========
+// 双击修改
+const updateCompanyFunc = async (row) => {
+  // let code = row['员工编号'];
+  // const getStaffInfo_data = await getStaffInfo({code:code});
+  // formDataTest.value = getStaffInfo_data.data;
+  // dialogFormVisible.value = true;
+};
+
+// =========== 分页 ===========
+// 分页相关的响应式变量
+const page = ref(1)
+const total = ref(0)
+const pageSize = ref(10)
+// 分页
+const handleCurrentChange = (val) => {
+  page.value = val;
+  _getStaffList();
+};
+
+// 修改页面容量 点击多少条/页
+const handleSizeChange = (val) => {
+  page.value = 10;//默认显示
+  pageSize.value = val;
+  _getStaffList();
+};
+
+// 弹窗控制标记
+const dialogFormVisible = ref(false)
+//修改
+const formDataTest = ref({})
+
+
+const Attendancevalue = ref({})
+//考勤建立弹窗确定
+ const AttendanceDialog = async () => {
+  _clockUpdate()
+ }
+ //设置法定天数
+ const _clockUpdate = async ()=>{
+   const formattedData = {
+    month:Attendancevalue.value['month'],
+	number:Attendancevalue.value['day'],
+	typeA:Attendancevalue.value['typeA'],
+	typeB:Attendancevalue.value['typeB'],
+	typeC:Attendancevalue.value['typeC'],
+	sys_id:'[1010/郑梅芳]'
+   };
+   console.log(formattedData)
+   const response = await clockUpdate(formattedData);
+   if (response.code === 0) {
+    	  ElMessage({
+    	    type: 'success',
+    	    message: '成功'
+    	  })
+		 AttendanceVisible.value=false
+    }else{
+   	   ElMessage({
+   	     type: 'error',
+   	     message: '失败'
+   	   })
+    }
+ }
+ //获取小时数
+ const getdays = () => {
+	 console.log(Attendancevalue.value['day'])
+ 	if(Attendancevalue.value['day']!=''){
+		Attendancevalue.value['typeA']=Attendancevalue.value['day']*7.5
+		Attendancevalue.value['typeB']=Attendancevalue.value['day']*8
+		Attendancevalue.value['typeC']=Attendancevalue.value['day']*8
+	}else{
+		ElMessage({
+		  type: 'error',
+		  message: '请输入法定天数'
+		})
+	}
+ }
+// 修改关闭弹窗
+const closeDialog = () => {dialogFormVisible.value = false,AttendanceVisible.value=false}
+
+// 弹窗确定
+const enterDialog = async () => {
+	console.log(formDataTest.value['出生日期'])
+	if(formDataTest.value['出生日期'] === '' || formDataTest.value['出生日期'] === null){
+		ElMessage({
+		  type: 'error',
+		  message: '出生日期不能为空'
+		})
+		return false;
+	}
+	if(formDataTest.value['身份证号'] === '' || formDataTest.value['身份证号'] === null){
+		ElMessage({
+		  type: 'error',
+		  message: '身份证号不能为空'
+		})
+		return false;
+	}
+  _ygjbzledit();
+}
+//修改员工资料
+const _ygjbzledit = async ()=>{
+  const formattedData = {
+    '员工编号': formDataTest.value['员工编号'],
+    '员工姓名': formDataTest.value['员工姓名'],
+    '性别': formDataTest.value['性别'],
+    '出生日期': formDataTest.value['出生日期'],
+    '身份证号': formDataTest.value['身份证号'],
+    '职称职务': formDataTest.value['职称职务'],
+    '所在部门': formDataTest.value['所在部门'],
+    '聘用日期': formDataTest.value['聘用日期'],
+    '转正日期': formDataTest.value['转正日期'],
+    '扣减司龄': formDataTest.value['扣减司龄'] ? formDataTest.value['扣减司龄'] : '0',
+    '人员类别': formDataTest.value['人员类别'],
+    '人员性质': formDataTest.value['人员性质'],
+    '班次类型': formDataTest.value['班次类型'],
+    '薪酬核算分组': formDataTest.value['薪酬核算分组'],
+    '工资表类别': formDataTest.value['工资表类别'],
+    'U8在职': formDataTest.value['U8在职'],
+    '在职状态': formDataTest.value['在职状态'],
+    '部门编码': formDataTest.value['部门编码'],
+  };
+  try {
+    const ygjbzledit_eddt = await ygjbzledit(formattedData);
+    if (ygjbzledit_eddt .code === 0) {
+      dialogFormVisible.value = false;
+      ElMessage({type: 'success',message: '更新成功'})
+    } else {
+      console.log(ygjbzledit_eddt);
+      ElMessage({ type: 'error',message: '更新失败'})
+    }
+  } catch (error) {
+    console.error(error);
+  }
+}
+
+</script>
+
+<style scoped>
+.form-container {
+  display: flex;
+  flex-wrap: wrap;
+}
+
+.form-column {
+  /*flex: 1;*/
+  margin-right: 15px; /* 调整列之间的间距 */
+}
+
+/* 左侧输入框宽度调整 */
+.form-column .el-form-item .el-input {
+  width: 150px; /* 调整左侧输入框的宽度 */
+}
+
+/* 媒体查询,根据需要调整断点 */
+@media screen and (max-width: 768px) {
+  .form-column {
+    flex: 1 0 100%; /* 在小屏幕下变成单列布局 */
+    margin-right: 0;
+  }
+}
+/*:deep(.el-table td .cell) {*/
+/*  line-height: 30px !important;*/
+/*}*/
+.JKWTree-container {
+  display: flex;
+}
+.JKWTree-tree {
+  /*width: 300px;*/
+  background-color: #fff;
+  padding: 10px;
+  margin-right: 20px;
+}
+.JKWTree-tree h3 {
+  font-size: 15px;
+  font-weight: 700;
+  margin: 10px 0;
+}
+.JKWTree-content {
+  flex: 1;
+}
+/* 图片上传 */
+.upload-box {
+  width: 200px;
+  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 .warning-row {
+  background: oldlace;
+}
+
+/* 选中某行时的背景色 */
+:deep(.el-table__body tr.current-row) > td {
+  background: #ff80ff !important;
+}
+</style>
+<style scoped>
+:deep(.el-table td .cell) {
+  line-height: 20px !important;
+}
+:deep(.el-tabs__header){
+  margin-bottom: 0;
+}
+.search{
+  margin-left: 0px !important;
+  margin-right: 10px !important;
+}
+.bt{
+  margin-left: 2px !important;
+  padding: 3px !important;
+  font-size: 12px;
+}
+.el-tabs__header{
+  margin: 0px !important;
+}
+.gva-table-box{
+  padding: 0px !important;
+}
+.mab{
+  margin-bottom: 5px;
+}
+</style>

文件差异内容过多而无法显示
+ 563 - 0
src/view/performance/datangbaogong.vue


文件差异内容过多而无法显示
+ 563 - 0
src/view/performance/houdaoshougong.vue


文件差异内容过多而无法显示
+ 563 - 0
src/view/performance/zongjianbaogong.vue


部分文件因为文件数量过多而无法显示