Ver Fonte

Merge branch 'js_dev' of http://113.44.0.55:8014/jiaxiaoqiang/JG-ADMIN-TEMP into js_dev

# Conflicts:
#	src/views/storage/wmsOrder/index.vue
lupeng há 1 semana atrás
pai
commit
3a8a749a49

+ 15 - 0
src/api/craft/route/index.ts

@@ -35,4 +35,19 @@ export function updateProcess(data: object) {
   });
 }
 
+export function queryGroups(routeId: object) {
+  return request({
+    url: `/api/v1/op/operation/queryGroups/` + routeId,
+    method: "get",
+  });
+}
+
+export function saveGroups(data: object) {
+  return request({
+    url: `/api/v1/op/operation/saveGroup`,
+    method: "post",
+    data: data,
+  });
+}
+
 

+ 4 - 0
src/components/CommonTable/configs/tableConfig.ts

@@ -701,6 +701,8 @@ export const tableConfig = {
   },
   MARTERIAL_BOM: {
     url: "/api/v1/base/materialBom/list",
+    search: true,
+    searchIndex: 3,
     column: [
       {
         label: "物料版本",
@@ -723,11 +725,13 @@ export const tableConfig = {
 
       {
         label: "物料编码",
+        search: true,
         prop: "bomMaterialCode",
       },
       {
         label: "物料名称",
         prop: "bomMaterialName",
+        search: true,
         overHidden: true,
       },
       {

+ 14 - 1
src/components/CommonTable/index.vue

@@ -141,11 +141,23 @@ onMounted(() => {
     highlightCurrentRow: true,
     selection: props.multiple,
     addBtn: false,
+    searchShow: true,
     height: "500",
     overHidden: true,
+    refreshBtn: false,
+    columnBtn: false,
+    gridBtn: false,
+    search: true,
+    searchShowBtn: false,
+    searchIcon: false,
+    // searchSpan: 4,
+    tip: false,
+    header: false,
+    searchIndex: 3,
     indexWidth: "120px",
     column: tableConfig[props.tableType].column,
   });
+  option.value.searchShow = true
   // 列处理
   if (option.value.column) {
     for (let col of option.value.column) {
@@ -164,9 +176,10 @@ watch(
       selection: props.multiple,
       addBtn: false,
       height: "500",
-      overHidden: true,
+      //overHidden: true,
       column: tableConfig[props.tableType].column,
     });
+    option.value.searchShow = true
     // 列处理
     if (option.value.column) {
       for (let col of option.value.column) {

+ 1 - 0
src/hooks/userCrud.ts

@@ -303,6 +303,7 @@ export const useCrud = (config?: UseCrudConfig) => {
           method: "post",
           data: dtosArray,
         });
+        ElMessage.success(res?.msg ?? "");
         Methords.dataList();
         config?.done && config?.done();
       } catch (err) {

+ 9 - 8
src/views/base/craftManagement/route/components/bottomTable.vue

@@ -21,19 +21,18 @@
         <!-- <single-upload v-model="form.filePath" />
         <FilesUpload v-model:src="form.filePath" v-model:src-list="form.filePath" /> -->
         <div style="height: 100px; width: 100px; overflow: hidden">
-<!--          <PDFView
+          <!--          <PDFView
             :need-to-show-pdf="true"
             content-type="button"
             :is-link="true"
             :show-pdf-number="form.showAppointPageNum"
             :pdf-source="pdfPath"
           />-->
-          <el-button link type="primary" @click="toShowPDF(row)">
-          </el-button>
+          <el-button link type="primary" @click="toShowPDF(row)"> </el-button>
         </div>
       </template>
       <template #filePath="{ row }">
-<!--        <PDFView
+        <!--        <PDFView
           :need-to-show-pdf="true"
           content-type="button"
           btnText="查看PDF"
@@ -53,7 +52,7 @@
       :multipleRow="multipleRow"
       @selected-sure="onSelectedFinish"
     />
-<!--    <el-dialog v-model="dialogVisible">
+    <!--    <el-dialog v-model="dialogVisible">
       <VuePdfEmbed :source="previewImgUrl" annotation-layer text-layer />
     </el-dialog>-->
   </div>
@@ -139,7 +138,7 @@ const startCreat = () => {
           "value"
         );
         commonTableRef.value?.mergeOption({
-          searchShow: bomVersion.value ? false : true,
+          searchShow: true,
           selection: true,
           reserveSelection: true,
         });
@@ -176,7 +175,9 @@ const saveSortData = async () => {
 
 defineExpose({ startCreat, saveSortData });
 
-const onSortChange = () => {
+const onSortChange = (oldIndex, newIndex) => {
+  [data.value[newIndex],data.value[oldIndex]]=[data.value[oldIndex],data.value[newIndex]];
+  console.log("---------------",oldIndex,newIndex )
   data.value.forEach((item) => {
     console.log(item.id);
   });
@@ -184,7 +185,7 @@ const onSortChange = () => {
 
 const PDFDrawerViewRef = ref(null);
 const toShowPDF = (row) => {
-  let url = import.meta.env.VITE_APP_UPLOAD_URL + row.pdfPath;
+  let url = import.meta.env.VITE_APP_UPLOAD_URL + row.filePath;
   PDFDrawerViewRef.value && PDFDrawerViewRef.value.showPdf(url);
 };
 

+ 59 - 5
src/views/base/craftManagement/route/components/brazeTable.vue

@@ -5,7 +5,7 @@
       style="margin-bottom: 15px"
       >新增</el-button
     >
-  <avue-crud :data="data" :option="option" >
+  <avue-crud :data="data" :option="option" :header="false" @sortable-change="onSortChange">
     <template #menu="{ row }">
         <el-button type="danger" @click="rowDelete(row)">删除</el-button>
       </template>
@@ -13,7 +13,7 @@
 
   <!-- 钎焊选择 -->
   <el-dialog v-model="dialogVisible" :title="tableTitle" width="800px">
-    <avue-crud :data="chooseData"  :option="option">
+    <avue-crud :data="chooseData"  :option="option1" @search-change="searchList">
       <template #menu="{ row }">
         <el-button type="primary" @click="confirmSelection(row)">选择</el-button>
       </template>
@@ -27,6 +27,7 @@
 <script setup>
 import {baseBrazeList} from "@/api/braze"
 import {operationBrazeAdd, operationBraze, operationBrazeDel} from "@/api/craft/process"
+import {ElMessage} from "element-plus";
   const tableTitle = "选择钎焊"
   const dialogVisible = ref(false)
   const chooseData = ref([])
@@ -41,7 +42,45 @@ import {operationBrazeAdd, operationBraze, operationBrazeDel} from "@/api/craft/
         { label: "钎焊名称", prop: "brazeName", addDisabled: true, editDisabled: true },
         { label: "版本号", prop: "brazeVersion" }
       ]
+
+const option1 = {
+  border: true,
+  refreshBtn: false,
+  columnBtn: false,
+  gridBtn: false,
+  searchIcon: true,
+  searchLabelWidth: 100,
+  tip: false,
+  header: false,
+  searchSpan: 8,
+  selection: false,
+  viewBtn: false,
+  editBtn: false,
+  addBtn: false,
+  delBtn: false,
+  column: [
+    {
+      label: "钎焊编码",
+      prop: "brazeCode",
+      search: true,
+    },
+    { label: "钎焊名称", prop: "brazeName",search: true,},
+    { label: "版本号", prop: "brazeVersion" }
+  ]
+}
   const option = {
+    border: true,
+    refreshBtn: false,
+    columnBtn: false,
+    gridBtn: false,
+    searchIcon: true,
+    // searchSpan: 4,
+    tip: false,
+    header: false,
+    searchIndex: 3, //searchIcon是否启用功能按钮, searchIndex配置收缩展示的个数,默认为2个
+    index: true, //是否显示第几项
+    indexLabel: "序号",
+    indexWidth: "55px",
     selection: false,
     viewBtn: false,
     editBtn: false,
@@ -62,7 +101,23 @@ import {operationBrazeAdd, operationBraze, operationBrazeDel} from "@/api/craft/
       chooseData.value = res.data
     })
   }
-  const route = useRoute()
+
+const searchList = (params, done) => {
+  baseBrazeList(params).then(res => {
+    chooseData.value = res.data
+  })
+  done()
+}
+
+const onSortChange = (oldIndex, newIndex) => {
+  [data.value[newIndex],data.value[oldIndex]]=[data.value[oldIndex],data.value[newIndex]];
+  console.log("---------------",oldIndex,newIndex )
+  data.value.forEach((item) => {
+    console.log(item.id);
+  });
+};
+
+const route = useRoute()
   const confirmSelection = async (row) => {
     const data = {
       brazeId: row.id,
@@ -92,5 +147,4 @@ import {operationBrazeAdd, operationBraze, operationBrazeDel} from "@/api/craft/
 </script>
 
 <style lang="scss" scoped>
-
-</style>
+</style>

+ 0 - 1
src/views/base/craftManagement/route/components/configs.ts

@@ -241,7 +241,6 @@ export const getTableConfig = (id: string) => {
         {
           label: "版本号",
           prop: "recordVersion",
-          type: "number",
           addDisabled: true,
           editDisabled: true,
           precision: 1,

+ 1 - 7
src/views/base/craftManagement/route/components/processComponent.vue

@@ -64,9 +64,8 @@
         <div v-if="isChanged || selectIndex === -1 || isNoneedEdit">
           <el-empty :image-size="200" :description="getTipContent()" />
         </div>
-        
+
         <div v-else-if="tipTitle !== '编辑工序表单'">
-          <div class="tipTitle">{{ tipTitle }}</div>
           <el-button
             type="primary"
             @click="creatNewData"
@@ -98,11 +97,6 @@ import { saveCompoents, getCompoentsList } from "@/api/craft/process/index";
 import TestCom from "./testCom.vue";
 import BrazeTable from './brazeTable.vue';
 import SetExcel from "./setExcel/index.vue";
-import { useCommonStoreHook, useDictionaryStoreHook } from "@/store";
-import {
-  processesByRouteId,
-  saveProcessInRoute,
-} from "@/api/craft/route/index";
 
 const router = useRouter();
 const route = useRoute();

+ 107 - 26
src/views/base/craftManagement/route/index.vue

@@ -87,8 +87,67 @@
           @click="bindProcess(row)"
           >绑定</el-button
         >
+
+        <el-button
+            type="primary"
+            link
+            icon="el-icon-link"
+            @click="toGroup(row)"
+        >工序分组</el-button
+        >
       </template>
     </avue-crud>
+
+    <el-drawer v-model="drawer" title="I am the title" :with-header="false">
+      <el-descriptions title="工序分组">
+        <el-descriptions-item>同一个分组,排产将排到同个工位上</el-descriptions-item>
+      </el-descriptions>
+      <el-divider />
+      <el-row :gutter="20">
+        <el-input
+            v-model="input3"
+            clearable
+            placeholder="请输入分组名称"
+            style="width: 70%"
+        >
+        </el-input>
+        <el-button @click="addGroup" type="primary">添加分组</el-button>
+      </el-row>
+
+
+      <el-form v-model="groups" label-width="auto" style="max-width: 600px;margin-top: 15px;">
+        <el-form-item v-for="(item,index) in groups" :label="item.group">
+          <el-select
+              v-model="item.list"
+              multiple
+              clearable
+              filterable
+              placeholder="Select"
+              style="width: 240px"
+          >
+<!--            <template #header>
+              <el-checkbox v-model="checked" @change="selectAll(key)"
+              >全选</el-checkbox
+              >
+            </template>-->
+            <el-option
+                v-for="item in routeOperations"
+                :key="item.id"
+                :label="item.operationName"
+                :value="item.id"
+            />
+          </el-select>
+
+          <el-button type="danger" @click="delGroup(index)" text>删除</el-button>
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button @click="drawer = false">取消</el-button>
+          <el-button type="primary" @click="groupSave()"> 确定 </el-button>
+        </div>
+      </template>
+    </el-drawer>
     <CommonTable
       ref="ctableRef"
       tableTitle="添加产品"
@@ -102,7 +161,7 @@
       width="500"
       align-center
     >
-      <el-form :model="tmpForm" label-width="auto" style="max-width: 800px">
+      <el-form :model="tmpForm" label-width="auto" style="max-width: 800px;">
         <el-row>
           <el-col :span="12">
             <el-form-item label="工艺路线编号">
@@ -131,29 +190,47 @@ import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 import dictDataUtil from "@/common/configs/dictDataUtil";
 import { useDictionaryStore } from "@/store";
-import { copyRoute } from "@/api/craft/route/index";
+import { copyRoute,queryGroups,saveGroups } from "@/api/craft/route/index";
 import { ElMessage, ElMessageBox } from "element-plus";
-import { syncAps } from "@/api/aps";
 // 数据字典相关
 const { dicts } = useDictionaryStore();
+const drawer = ref(false)
+const input3 = ref("");
+const groups = ref([{group: 'A',list: [1,2,3]}])
+const addGroup = () => {
+  if (!input3.value) {
+    ElMessage.error("请输入分组名称!");
+    return;
+  }
+  if (groups.value.find(item => item.group === input3.value)) {
+    ElMessage.error("分组名称重复");
+  } else {
+    groups.value.push({group: input3.value,list: []})
+    input3.value = ""
+  }
+};
 
-const apsSync = () => {
-  ElMessageBox.confirm("是否同步所选中数据?", "提示", {
-    confirmButtonText: "确定",
-    cancelButtonText: "取消",
-    type: "warning",
-  }).then(async () => {
-    let param = { type: 4, codes: toDeleteIds.value };
-    syncAps(param).then((data) => {
-      if (data.code === "200") {
-        ElMessage.success(data.msg);
-      } else {
-        ElMessage.error(data.msg);
-      }
+const delGroup = ((index)=>{
+  groups.value.splice(index,1)
+})
+const checked = ref(false);
+const selectAll = (key) => {
+  /*if (checked.value) {
+    groups.value[key] = [];
+    nodesData.value.map((item) => {
+      groupData.value[key].push(item.operationId);
     });
-  });
+  } else {
+    groupData.value[key] = [];
+  }*/
 };
-
+const toGroup = ((row)=>{
+  queryGroups(row.id).then((res)=>{
+    drawer.value = true;
+    groups.value = res.data.groups;
+    routeOperations.value = res.data.operations;
+  })
+})
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
@@ -163,21 +240,14 @@ const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
   Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
-// checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
-// const permission = reactive({
-//   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
-//   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
-//   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
-//   menu: true,
-// });
 let centerDialogVisible = ref(false);
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 const tmpForm = ref({});
-
 onMounted(() => {
   // console.log("crudRef", crudRef)
   dataList();
 });
+const routeOperations = ref([])
 const doEdit = (row, index) => {
   row.prodtName1 = row.prodtName;
   crudRef.value && crudRef.value.rowEdit(row, index);
@@ -227,6 +297,16 @@ const copyRow = (row) => {
   crudRef.value.rowAdd();
 };
 
+const groupSave = () => {
+  if(!groups.value){
+    ElMessage.error("请设置分组信息")
+    return;
+  }
+  saveGroups(groups.value).then((res)=>{
+    ElMessage.success(res.msg)
+    drawer.value = false
+  });
+};
 const renameRoute = () => {
   tmpForm.value.id;
   tmpForm.value.processRouteCode;
@@ -253,6 +333,7 @@ const bindProcess = (row) => {
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
   selection: true,
+  viewBtn: false,
   labelWidth: 100,
   editBtn: false,
   delBtn: false,

+ 0 - 9
src/views/base/information/index.vue

@@ -112,19 +112,11 @@ const {
 } = Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
-// checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
-// const permission = reactive({
-//   delBtn: checkPerm(buttonPermission.PLAN.BTNS.order_del),
-//   addBtn: checkPerm(buttonPermission.PLAN.BTNS.order_add),
-//   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
-//   menu: true,
-// });
 
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 const router = useRouter?.();
 
 onMounted?.(() => {
-  // console.log("crudRef", crudRef)
   dataEditList();
 });
 const addRow = (form2, done) => {
@@ -317,7 +309,6 @@ option.value = Object.assign(option.value, {
     {
       label: "版本",
       prop: "drawingVersion",
-      type: "number",
       precision: 1,
       min: 0,
       rules: [

+ 0 - 1
src/views/base/materials/components/drawing-page.vue

@@ -270,7 +270,6 @@ option.value = Object.assign(option.value, {
     {
       label: "版本",
       prop: "drawingVersion",
-      type: "number",
       precision: 1,
       rules: [
         {

+ 15 - 2
src/views/base/modeling/station/index.vue

@@ -47,6 +47,19 @@
         >APS同步</el-button
         >-->
       </template>
+      <template #enable="scope">
+        <el-switch
+          active-value="1"
+          inactive-value="0"
+          inline-prompt
+          active-text="启用"
+          inactive-text="禁用"
+          v-model="scope.row.enable"
+          @click="changeItem(scope.row)"
+          class="ml-2"
+          style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"
+        />
+      </template>
       <template #menu="{ row, index, type }">
         <el-button @click="binding(row)" text type="primary"
           >设备
@@ -313,14 +326,14 @@ option.value = Object.assign(option.value, {
         },
       ],
     },
-    /* {
+     {
       label: "启用状态",
       slot: true,
       headerAlign: "center",
       prop: "enable",
       width: 100,
       display: false,
-    },*/
+    },
     {
       label: "工位描述",
       width: 90,

+ 12 - 0
src/views/plan/order/components/order-page.vue

@@ -102,6 +102,18 @@ option.value = Object.assign(option.value, {
       prop: "materialModel",
     },
     {
+      label: "产品型号",
+      width: 130,
+      overHidden: true,
+      prop: "assemblyName",
+    },
+    {
+      label: "部件号",
+      width: 130,
+      overHidden: true,
+      prop: "assemblyCode",
+    },
+    {
       label: "订单数量",
       prop: "orderNum",
       type: "number",

+ 12 - 1
src/views/plan/order/index.vue

@@ -526,7 +526,18 @@ option.value = {
       searchClearable: false, //可清空的输入框,默认为true
       filterable: true, //添加filterable属性即可启用搜索功能
     },
-
+    {
+      label: "产品型号",
+      width: 130,
+      overHidden: true,
+      prop: "assemblyName",
+    },
+    {
+      label: "部件号",
+      width: 130,
+      overHidden: true,
+      prop: "assemblyCode",
+    },
     {
       label: "生产数量",
       prop: "orderNum",

+ 3 - 3
src/views/plan/track/index.vue

@@ -131,18 +131,18 @@ option.value = Object.assign(option.value, {
       label: "物料规格",
       prop: "materialModel",
       editDisabled: true,
-      search: true,
+      search: false,
     },
     {
       label: "当前工序编码",
       prop: "operationCode",
-      search: true,
+      search: false,
       editDisabled: true,
     },
     {
       label: "当前工序名称",
       prop: "operationName",
-      search: true,
+      search: false,
       editDisabled: true,
     },
     {

+ 3 - 1
src/views/plan/workOrder/components/work-order-seq.vue

@@ -364,13 +364,15 @@ const importExcelData = () => {
     height: 60mm !important;
     display: flex;
     justify-content: space-between;
+    align-items: center;
     font-size: 2.2mm;
     .leftItem {
       width: 31mm;
-      height: 60mm !important;
+      height: 50mm !important;
       display: flex;
       flex-direction: column;
       justify-content: space-evenly;
+
       .lable {
         font-weight: 500;
         color: black;

+ 2 - 2
src/views/report/statistics/screens/tasks/index.vue

@@ -4,7 +4,7 @@
     class="screen-container"
     @click.stop="animationState = !animationState"
   >
-    <common-header title="工位任务分布/防静电监控" />
+    <common-header title="工位任务分布" />
     <!-- <div
       style="
         width: 100vw;
@@ -67,7 +67,7 @@
         </div>
       </TransitionGroup> -->
       <TransitionGroup class="rowbox itemBackgroud" name="list1" tag="ul">
-        <title-header :title="'防静电监控'" />
+<!--        <title-header :title="'防静电监控'" />-->
         <div class="chartsCarouselBox">
           <div class="carouselHeader tableStyle">
             <div class="left center1Text">工位名称</div>

+ 2 - 2
src/views/storage/storage/index.vue

@@ -17,14 +17,14 @@
       @selection-change="selectionChange1"
     >
       <template #menu-left="{ size }">
-<!--        <el-button
+        <el-button
           :disabled="toDeleteIds.length < 1"
           type="primary"
           icon="el-icon-view"
           :size="size"
           @click="printCode"
           >打 印</el-button
-        >-->
+        >
       </template>
     </avue-crud>
     <el-dialog

+ 44 - 1
src/views/storage/wmsOrder/components/add_order_details.vue

@@ -65,6 +65,14 @@
     >
       <choice_out_materials @material-info="materialInfo" />
     </el-dialog>
+    <el-dialog
+        v-model="dialog3.visible"
+        :title="dialog3.title"
+        width="950px"
+        @close="dialog3.visible = false"
+    >
+      <choice_ll_order @material-info="llOrderSelect" />
+    </el-dialog>
     <div class="detail-footer">
       <el-button type="primary" @click="onHandle"> 确定 </el-button>
       <el-button @click="cancelWindow">取消</el-button>
@@ -74,9 +82,11 @@
 <script setup>
 import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
+import { queryApplyInfoDetails } from "@/api/order";
 import { getAreaAndPlaceByCode, saveWmsOrder } from "@/api/storage";
 import { useCommonStoreHook, useDictionaryStore } from "@/store";
 import dictDataUtil from "@/common/configs/dictDataUtil";
+import Choice_ll_order from "./choice_ll_order.vue";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
 // 数据字典相关
 const { dicts } = useDictionaryStore();
@@ -114,6 +124,11 @@ const dialog2 = reactive({
   title: "出库选择",
   visible: false,
 });
+
+const dialog3 = reactive({
+  title: "领料单选择",
+  visible: false,
+});
 onMounted(() => {
   /*  const bom = ref({
     batchCode: "",
@@ -137,6 +152,25 @@ const props = defineProps({
     },
   },
 });
+
+const llOrderSelect = (value) => {
+  form.value.llNo = value.applyCode
+  data.value = []
+  queryApplyInfoDetails({ applyCode: value.applyCode }).then((res) => {
+    res.data.forEach((item)=>{
+      const bom = ref({
+        materialNo: item.materialCode,
+        materialName: item.materialName,
+        spec: item.materialName,
+        num: item.num,
+        batchCode: topCommonBatch.value ?? "",
+        $cellEdit: true,
+      });
+      data.value.push(bom.value);
+    })
+  });
+  dialog3.visible = false
+};
 const materialInfo = (value) => {
   if (form.value.type === "4") {
     let item = {
@@ -239,7 +273,6 @@ const houseNoChange = async ({ value }) => {
 
 const areaChange = async (obj) => {
   form.value.coordinate = "";
-
   let places = obj?.item?.positions ?? [];
   placeArray.value = places;
   formRef.value.updateDic("coordinate", placeArray.value);
@@ -350,6 +383,16 @@ option2.value = {
         },
       ],
     },
+    {
+      label: "关联领料单",
+      width: 130,
+      search: true,
+      overHidden: true,
+      prop: "llNo",
+      click: ()=>{
+        dialog3.visible = true
+      }
+    },
   ],
 };
 const clickIndex = ref(0);

+ 153 - 0
src/views/storage/wmsOrder/components/choice_ll_order.vue

@@ -0,0 +1,153 @@
+<template>
+  <div class="mainContentBox">
+    <avue-crud
+        ref="crudRef"
+        v-model:search="search"
+        v-model="form"
+        :data="data"
+        :option="option"
+        v-model:page="page"
+        @row-click="rowClick"
+        @search-change="searchChange"
+        @search-reset="resetChange"
+        @size-change="dataList"
+        @current-change="dataList"
+        :row-style="rowStyle"
+        :cell-style="cellStyle"
+        @selection-change="selectionChange"
+    >
+    </avue-crud>
+  </div>
+</template>
+<script setup>
+import { ref, getCurrentInstance } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import { useCommonStoreHook } from "@/store";
+const { isShowTable, tableType } = toRefs(useCommonStoreHook());
+const test = () => {
+  isShowTable.value = true;
+  tableType.value = tableType.value == 1 ? 2 : 1;
+};
+const emit = defineEmits(["materialInfo"])
+const rowClick = (row)=>{
+  emit("materialInfo", row)
+}
+// 传入一个url,后面不带/
+const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
+    useCrud({
+      src: "/api/v1/plan/requisition",
+    });
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
+const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
+
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
+const dialog1 = reactive({
+  title: "物料选择",
+  visible: false,
+});
+const materialInfo = (value) => {
+  form.value.materialNo = value.materialCode
+  form.value.materialName = value.materialName
+  form.value.materialModel = value.spec
+  form.value.unit = value.unitDictValue
+  dialog1.visible = false
+}
+// 设置表格列或者其他自定义的option
+option.value = Object.assign(option.value, {
+  delBtn: false,
+  selection: false,
+  addBtn: false,
+  menu: false,
+  viewBtn: false,
+  editBtn: false,
+  column: [
+    {
+      label: "领用单号",
+      prop: "applyCode",
+      search: true,
+      overHidden: true,
+      searchSpan: 4,
+    },
+    {
+      label: "工单单号",
+      prop: "workOrderCode",
+      search: true,
+      width: 100,
+      overHidden: true,
+      searchSpan: 4,
+    },
+    {
+      label: "订单编号",
+      prop: "orderCode",
+      search: true,
+      overHidden: true,
+      searchSpan: 4,
+    },
+    {
+      label: "领用单位",
+      prop: "applyOrg",
+      width: 120,
+      overHidden: true,
+      searchSpan: 4,
+    },
+    {
+      label: "发件单位",
+      prop: "sendOrg",
+      width: 120,
+      overHidden: true,
+    },
+    {
+      label: "状态",
+      prop: "state",
+      width: 90,
+      type: "select",
+      search: true,
+      searchSpan: 4,
+      dicData: [
+        { dictLabel: "待出库", dictValue: "5" },
+        { dictLabel: "已出库", dictValue: "6" },
+      ],
+      props: {
+        label: "dictLabel", // 下拉菜单显示的字段
+        value: "dictValue", // 下拉菜单值的字
+      },
+    },
+    {
+      label: "创建时间",
+      prop: "created",
+      width: 160,
+      display: false,
+    },
+  ],
+});
+const rowStyle = ({row,column,rowIndex}) =>{
+  if(row.warningMsg){
+    return {
+      backgroundColor:'#f3d2d2',
+      color:'#6c6a6a'
+    }
+  }
+}
+const cellStyle = ({row,column,rowIndex,columnIndex})=>{
+  if(columnIndex === 10){
+    if(row.warningMsg){
+      return {
+        color:'red',
+        fontWeight:'bold',
+        fontSize:'20'
+      }
+    }else{
+      return {
+        color: '#60fc56',
+        fontWeight:'bold',
+        fontSize:'20'
+      }
+    }
+  }
+}
+onMounted(() => {
+  search.value.type = "1";
+  dataList();
+});
+</script>

+ 22 - 0
src/views/storage/wmsOrder/index.vue

@@ -156,6 +156,27 @@ option.value = Object.assign(option.value, {
     },
 
     {
+      label: "开始时间",
+      width: 130,
+      search: true,
+      overHidden: true,
+      prop: "startTime",
+      type:"datetime",
+    },
+    {
+      label: "结束时间",
+      width: 130,
+      search: true,
+      overHidden: true,
+      prop: "endTime",
+      type:"datetime",
+    },
+    {
+      label: "库位",
+      overHidden: true,
+      prop: "locationNo",
+    },
+    {
       label: "状态",
       prop: "state",
       type: "select",
@@ -186,6 +207,7 @@ option.value = Object.assign(option.value, {
     {
       label: "操作人",
       prop: "creator",
+      search: true,
       display: false
     },
   ],

+ 2 - 2
src/views/system/logs/index.vue

@@ -9,7 +9,7 @@
           :table-loading="loading"
           :permission="permission"
           @search-change="handleLoginQuery"
-          @search-reset="resetQueryLogin"
+          @search-reset="handleLoginQuery"
           @size-change="handleLoginQuery"
           @current-change="handleLoginQuery"
           @row-del="rowDel1"
@@ -39,7 +39,7 @@
           :table-loading="loading"
           :permission="permission"
           @search-change="handleOperQuery"
-          @search-reset="resetQuery"
+          @search-reset="handleOperQuery"
           @size-change="handleOperQuery"
           @current-change="handleOperQuery"
           @row-del="rowDel2"