Browse Source

界面格式优化

Lexie 1 year ago
parent
commit
03208b32b0

+ 349 - 404
src/view/performance/Dayreportattached.vue

@@ -1,152 +1,117 @@
 <template>
   <div>
-
+    <!-- 左侧树形结构 -->
     <el-container>
-      <el-aside width="200px">
+      <el-aside width="250px">
         <div class="JKWTree-tree">
-
-          <h3  > 组织列表</h3>
-          <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
+          <h3>包装计件单据维护</h3>
+          <el-tree :data="treeData" :props="defaultProps" highlight-current="true"
+            @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-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-popover v-model:visible="deleteVisible" :disabled="!multipleSelection.length" placement="top" width="160">
-                <p>确定要删除吗?</p>
-                <div style="text-align: right; margin-top: 8px;">
-                  <el-button type="primary" link @click="deleteVisible = false">取消</el-button>
-                  <el-button type="primary" @click="onDelete">确定</el-button>
-                </div>
-                <template #reference>
-                  <el-button icon="delete" style="margin-left: 10px;" :disabled="!multipleSelection.length" @click="deleteVisible = true">删除</el-button>
-                </template>
-              </el-popover>
+              <el-row :span="6">
+                <el-input v-model="searchInfo" placeholder="输入工单编号或产品名称" />
+              </el-row>
+              <el-button type="primary" :icon="Search" @click="onSearch">搜索</el-button>
+              <el-button type="primary" :icon="Refresh">重置</el-button>
+              <div style="margin-left: auto;">
+                <el-button type="primary" :icon="Download" @click="exportExcel">导出到Excel</el-button>
+              </div>
             </div>
-            <el-table
-              :data="tableData"
-			  height="300"
-			  border
-			  highlight-current-row
-              @current-change="handleCurrentChange"
-			  @row-dblclick="dbSelected"
-              style="width: 100%">
-              <el-table-column
-            			  
-                prop="sczl_rq"
-                label="生产日期"
-                width="100">
-              </el-table-column>
-              <el-table-column
-			    
-                prop="sczl_jtbh"
-                label="设备编号"
-                width="180">
-              </el-table-column>
-              <el-table-column
-                
-                prop="sczl_sbmc"
-                label="设备名称"
-                width="180">
-              </el-table-column>
-             <el-table-column
-               
-               prop="sczl_bzdh"
-               label="班组编号"
-               width="180">
-             </el-table-column>	
-			<el-table-column
-			  
-			  prop="sczl_设备运行工时"
-			  label="排班工时"
-			  width="180">
-			</el-table-column>	
-			<el-table-column
-			  
-			  prop="sczl_desc"
-			  label="备注"
-			  width="180">
-			</el-table-column>
-			<el-table-column
-			  
-			  prop="sys_rq"
-			  label="创建时间"
-			  width="180">
-			</el-table-column>
-			<el-table-column
-			  
-			  prop="sys_id"
-			  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>		    
+            <!-- 数据展示 -->
+            <el-table ref="multipleTable" style="width: 100%" tooltip-effect="dark" :data="tableData" row-key="ID"
+              highlight-current-row="true" border @selection-change="handleSelectionChange" @row-dblclick="doubleClick">
+              <el-table-column type="selection" width="55" />
+              <el-table-column align="left" label="生产日期" prop="sczl_rq" />
+              <el-table-column align="left" label="设备编号" prop="sczl_jtbh" />
+              <el-table-column align="left" label="设备名称" prop="sczl_sbmc" />
+              <el-table-column align="left" label="班组编号" prop="sczl_bzdh" />
+              <el-table-column align="left" label="排班工时" prop="sczl_设备运行工时" />
+              <el-table-column align="left" label="备注" prop="sczl_desc" />
+              <el-table-column align="left" label="创建用户" prop="sys_id" />
+              <el-table-column align="left" label="创建时间" prop="sys_rq" />
+              <el-table-column align="left" label="修改时间" prop="mod_rq" />
+              <el-table-column align="left" label="UNIQID" prop="UniqId" />
+            </el-table>
+            <!-- 分页 -->
             <div class="gva-pagination">
-              <el-pagination
-                  layout="total, sizes, prev, pager, next, jumper"
-                  :current-page="page"
-                  :page-size="pageSize"
-                  :page-sizes="[10, 30, 50, 100]"
-                  :total="total"
-                  @current-change="handleCurrentChange"
-                  @size-change="handleSizeChange"
-              />
+              <el-pagination layout="total, sizes, prev, pager, next, jumper" :current-page="page" :page-size="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>
+          <!-- 弹出框 -->
+          <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type === 'create' ? '添加' : '修改'"
+            destroy-on-close width="1200px">
+            <!-- <el-scrollbar height="500px"> -->
+            <el-form :model="formData" label-position="left" ref="elFormRef" :rules="rule">
+
+              <el-row :gutter="20">
+
+                <el-col :span="6">
+                  <el-form-item label="日期" prop="name">
+                    <el-row :gutter="20">
+                      <el-col :span="12">
+                        <el-input v-model="formData.code" :clearable="true" placeholder="ZT01733" />
+                      </el-col>
+                    </el-row>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+
+              <el-row :gutter="20">            
+                <el-col :span="8">
+                  <el-row :gutter="20">
+                    <el-col :span="14">
+                      <el-form-item label="机器" prop="id">
+                        <el-input v-model="formData.address" :clearable="true" placeholder="0.00" />
+                      </el-form-item>
+                    </el-col>
+                    <el-col :span="10">                     
+                        <el-input v-model="formData.address" :clearable="true" placeholder="是" />
+                    </el-col>
+                  </el-row>
+                </el-col>
+              </el-row>
+			  
+			  <el-row :gutter="20">
+			
+			    <el-col :span="8">
+			      <el-row :gutter="20">
+			        <el-col :span="14">
+			          <el-form-item label="组别" prop="id">
+			            <el-input v-model="formData.address" :clearable="true" placeholder="0.00" />
+			          </el-form-item>
+			        </el-col>
+			        <el-col :span="10">
+			            <el-form-item label="通电时间" prop="id">
+			            <el-input v-model="formData.address" :clearable="true" placeholder="是" />
+			            </el-form-item>
+			        </el-col>
+			      </el-row>
+			    </el-col>
+			  </el-row>
+			  
+			  <el-row :gutter="20">			 
+			    <el-col :span="8">
+			      <el-row :gutter="20">
+			        <el-col :span="14">
+			        <el-form-item label="备注" prop="id" style="margin-top: 10px;">
+			          <el-input v-model="formData.address" :clearable="true" placeholder="" />
+			        </el-form-item>
+			        </el-col>
+			      </el-row>
+			    </el-col>
+			  </el-row>
+			  
+            </el-form>
+            <!-- </el-scrollbar> -->
             <template #footer>
               <div class="dialog-footer">
                 <el-button @click="closeDialog">取 消</el-button>
@@ -155,93 +120,32 @@
             </template>
           </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=""  />
-			 </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: 200px;" />
-			  <el-input v-model="formData.image" :clearable="true"  placeholder="请输入日期" style="width: 400px;" />
-			</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>
-		  
-		  <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: 400px;height: 100px;"  />
-			</el-form-item>				
-		  </el-form>		  		
-		 </el-scrollbar>                     
-	   </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 { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { ref, reactive } from 'vue'
-
 import {
   getproductionaddList,
   getproductionaddCount
 } from '@/api/jixiaoguanli/jitairibaobiao'
 
+// 全量引入格式化工具 请按需保留
+import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { Search, Refresh, Download } from '@element-plus/icons-vue'
+import { ref, reactive, onMounted, onBeforeMount } from 'vue'
+import { getPackingSideTable, getPackingTable } from '@/api/mes_api_gty/myapi'
 
 defineOptions({
-    name: 'Company'
+  name: '06-packingDocuments'
 })
 
-const treeData = reactive([])
+// 侧边栏数据请求
+const treeData = reactive([]);
 
 const getTabdata = async () => {
     //接口调用函数
@@ -264,60 +168,160 @@ const getTabdata = async () => {
 
 	
 	}
-	
-	
-	
- 
 
 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({
-        worknum: '',
-        dailyquota: '',
-        name: '',
-        })
-
+  id: '',
+  name: '',
+  date: '',
+  group: '',
+  packingOutput: '',
+  reworkOutput: '',
+  pieceOutput: '',
+  order: '',
+  user: '',
+  createTime: '',
+  updateTime: '',
+  uniqid: '',
+})
 
 // 验证规则
 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 tableData = reactive([])
+const detailData = reactive([
+  {
+    gdbh: '2311736',
+    yjgx: '01-15',
+    gxmc: '包装(圆切)',
+    yjmc: '利群(新)小《降焦改版)',
+    bzcl: '13.00',
+    fgcl: '0.00',
+    mxsl: '2500',
+    jcxs: '1.000',
+    ly: '',
+    dedh: '030002002',
+  },
+  {
+    gdbh: '2311736',
+    yjgx: '01-15',
+    gxmc: '包装(圆切)',
+    yjmc: '利群(新)小《降焦改版)',
+    bzcl: '13.00',
+    fgcl: '0.00',
+    mxsl: '2500',
+    jcxs: '1.000',
+    ly: '',
+    dedh: '030002002',
+  },
+  {
+    gdbh: '2311736',
+    yjgx: '01-15',
+    gxmc: '包装(圆切)',
+    yjmc: '利群(新)小《降焦改版)',
+    bzcl: '13.00',
+    fgcl: '0.00',
+    mxsl: '2500',
+    jcxs: '1.000',
+    ly: '',
+    dedh: '030002002',
+  },
+  {
+    gdbh: '2311736',
+    yjgx: '01-15',
+    gxmc: '包装(圆切)',
+    yjmc: '利群(新)小《降焦改版)',
+    bzcl: '13.00',
+    fgcl: '0.00',
+    mxsl: '2500',
+    jcxs: '1.000',
+    ly: '',
+    dedh: '030002002',
+  },
+  {
+    gdbh: '2311736',
+    yjgx: '01-15',
+    gxmc: '包装(圆切)',
+    yjmc: '利群(新)小《降焦改版)',
+    bzcl: '13.00',
+    fgcl: '0.00',
+    mxsl: '2500',
+    jcxs: '1.000',
+    ly: '',
+    dedh: '030002002',
+  },
+  {
+    gdbh: '2311736',
+    yjgx: '01-15',
+    gxmc: '包装(圆切)',
+    yjmc: '利群(新)小《降焦改版)',
+    bzcl: '13.00',
+    fgcl: '0.00',
+    mxsl: '2500',
+    jcxs: '1.000',
+    ly: '',
+    dedh: '030002002',
+  },
+  {
+    gdbh: '2311736',
+    yjgx: '01-15',
+    gxmc: '包装(圆切)',
+    yjmc: '利群(新)小《降焦改版)',
+    bzcl: '13.00',
+    fgcl: '0.00',
+    mxsl: '2500',
+    jcxs: '1.000',
+    ly: '',
+    dedh: '030002002',
+  },
+  {
+    gdbh: '2311736',
+    yjgx: '01-15',
+    gxmc: '包装(圆切)',
+    yjmc: '利群(新)小《降焦改版)',
+    bzcl: '13.00',
+    fgcl: '0.00',
+    mxsl: '2500',
+    jcxs: '1.000',
+    ly: '',
+    dedh: '030002002',
+  },
+  {
+    gdbh: '2311736',
+    yjgx: '01-15',
+    gxmc: '包装(圆切)',
+    yjmc: '利群(新)小《降焦改版)',
+    bzcl: '13.00',
+    fgcl: '0.00',
+    mxsl: '2500',
+    jcxs: '1.000',
+    ly: '',
+    dedh: '030002002',
+  },
+  {
+    gdbh: '2311736',
+    yjgx: '01-15',
+    gxmc: '包装(圆切)',
+    yjmc: '利群(新)小《降焦改版)',
+    bzcl: '13.00',
+    fgcl: '0.00',
+    mxsl: '2500',
+    jcxs: '1.000',
+    ly: '',
+    dedh: '030002002',
+  },
+])
 const total = ref(0)
+const page = ref(1)
 const limit = ref(10)
-const tableData = reactive([])
-const searchInfo = ref({})
+const searchInfo = ref('')
 const params = {
   date: '',
   sys_id: '',
@@ -325,226 +329,161 @@ const params = {
   limit: limit.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
-  getTableData()
+  limit.value = val;
+  params.limit = val.toString();
+  getTableData();
 }
 
-// 修改页面容量
+// 页面跳转
 const handleCurrentChange = (val) => {
   page.value = val
+  params.page = val.toString();
   getTableData()
 }
 
-// 查询
 const getTableData = async () => {
-	
-	
   const response = await getproductionaddList(params);
-  console.log(response)
   if (response.code === 0) {
     tableData.splice(0, tableData.length, ...response.data.rows);
   }
 }
 
-// getTableData()
+const handleNodeClick = (node, check) => {
+  if (node.params) {
+    params.date = node.params.date;
+    params.sys_id = node.params.sys_id;
+    total.value = node.params.total;
+    handleCurrentChange(1);
+  }
+}
 
+// 搜索
+function onSearch() {
+
+}
 // ============== 表格控制部分结束 ===============
 
 // 获取需要的字典 可能为空 按需保留
-const setOptions = async () =>{
+const setOptions = async () => {
 }
 
 // 获取需要的字典 可能为空 按需保留
 setOptions()
 
-
 // 多选数据
 const multipleSelection = ref([])
 // 多选
 const handleSelectionChange = (val) => {
-    multipleSelection.value = val
+  multipleSelection.value = val
 }
 
-// 删除行
-const deleteRow = (row) => {
-    ElMessageBox.confirm('确定要删除吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-    }).then(() => {
-            deleteCompanyFunc(row)
-        })
-    }
-
-
 // 批量删除控制标记
 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 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 SeleUpdaShow = ref(false)
-
-// 查看详情控制标记
-const detailShow = ref(false)
-
-
-// 打开详情弹窗
-const openDetailShow = () => {
-  detailShow.value = true
-}
-
-
-// 打开详情
-const getDetails = async (row) => {
-  // 打开弹窗
+const updateCompanyFunc = async (row) => {
   const res = await findCompany({ ID: row.ID })
+  type.value = 'update'
   if (res.code === 0) {
     formData.value = res.data.recompany
-    openDetailShow()
+    dialogFormVisible.value = true
   }
 }
 
-
-// 关闭详情弹窗
-const closeDetailShow = () => {
-  detailShow.value = false
-  formData.value = {
-          address: '',
-          image: '',
-          name: '',
-          }
-}
-
+// 弹窗控制标记
+const dialogFormVisible = ref(false)
 
 // 打开弹窗
 const openDialog = () => {
-    type.value = 'create'
-    dialogFormVisible.value = true
-}
-const SeleUpda = () => {
-    type.value = 'create'
-    SeleUpdaShow.value = true
-}
-
-
-
-const dbSelected = () => {
-	
-    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()
+    }
+  })
+}
+
+// 双击表格操作
+function doubleClick(row, column, event) {
+  console.log(row, column, event);
+  // updateCompanyFunc(row);
+  type.value = 'update';
+  dialogFormVisible.value = true
 }
 
+// 导出excel
+function exportExcel() {
+  console.log('导出到excel');
+}
+
+// 生命周期钩子
+onMounted(async () => {
+});
 </script>
 
 <style>
@@ -568,4 +507,10 @@ const enterDialog = async () => {
 .JKWTree-content {
   flex: 1;
 }
+
+/* 选中某行时的背景色*/
+.el-table__body tr.current-row>td {
+  background: #ff80ff !important;
+  /* 背景颜色 */
+}
 </style>

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


+ 2 - 3
src/view/performance/MachineDocuments.vue

@@ -60,7 +60,6 @@
 			  height="300"
 			  border
 			  highlight-current-row
-              @current-change="handleCurrentChange"
 			  @row-dblclick="dbSelected"
               style="width: 100%">
               <el-table-column
@@ -500,7 +499,7 @@ const getTableData = async() => {
   }
 }
 
-getTableData()
+// getTableData()
 
 // ============== 表格控制部分结束 ===============
 
@@ -674,7 +673,7 @@ const enterDialog = async () => {
                   message: '创建/更改成功'
                 })
                 closeDialog()
-                getTableData()
+                // getTableData()
               }
       })
 }

+ 1 - 2
src/view/performance/Manualdocuments.vue

@@ -62,7 +62,6 @@
 			   height="300"
 			   border
 			   highlight-current-row
-              @current-change="handleCurrentChange"
 			  @row-dblclick="dbSelected"
               style="width: 100%">
               <el-table-column            				 
@@ -488,7 +487,7 @@ const getTableData = async() => {
   }
 }
 
-getTableData()
+// getTableData()
 
 // ============== 表格控制部分结束 ===============
 

+ 4 - 4
src/view/performance/Packagingoutput.vue

@@ -51,10 +51,10 @@
             </div>
             <el-table
               :data="tableData"
-            				 height="300"
-            				 border
-            				 highlight-current-row
-							 show-summary
+				 height="300"
+				 border
+				 highlight-current-row
+				 show-summary
               @current-change="handleCurrentChange"
 			  @row-dblclick="dbSelected"
               style="width: 100%">

+ 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>

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