Parcourir la source

feature/bug 修改

dengrui il y a 8 mois
Parent
commit
6fcf18b8fc

+ 1 - 1
public/version.json

@@ -1,3 +1,3 @@
 {
-  "version": "2.7"
+  "version": "2.9"
 }

+ 8 - 0
src/api/report/index.ts

@@ -1,4 +1,12 @@
 import request from "@/utils/request";
+//获取所有车间信息
+export function getWorkshopData(data: string) {
+  return request({
+    url: "/api/v1/base/workShop/page",
+    method: "post",
+    data,
+  });
+}
 //每日完工入库Echart图表
 export function getEchartData(data: string) {
   return request({

+ 12 - 8
src/views/base/accessories/index.vue

@@ -40,7 +40,11 @@ import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 import dictDataUtil from "@/common/configs/dictDataUtil";
 import ButtonPermKeys from "@/common/configs/buttonPermission";
-import {   useCommonStoreHook, useDictionaryStore, useDictionaryStoreHook, } from "@/store";
+import {
+  useCommonStoreHook,
+  useDictionaryStore,
+  useDictionaryStoreHook,
+} from "@/store";
 
 // 数据字典相关
 const { dicts } = useDictionaryStore();
@@ -57,10 +61,6 @@ const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等
 
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 const repeatObj = ref({});
-onMounted(() => {
-  // console.log("crudRef", crudRef)
-  dataList();
-});
 // 公共弹窗相关
 const ctableRef = ref(null);
 const startCreat = () => {
@@ -83,7 +83,6 @@ const importExcelData = () => {
     uploadRef.value.show("/api/v1/plan/order/import");
   }
 };
-
 const onSelectedFinish = (selectedValue) => {
   form.value.materialCode = selectedValue.materialCode;
   repeatObj.value.showCreate = false;
@@ -131,7 +130,7 @@ option.value = Object.assign(option.value, {
         {
           required: true,
           message: "生产物料编码不能为空",
-          trigger: "blur",
+          trigger: "change",
         },
       ],
       click: ({ value, column }) => {
@@ -139,7 +138,8 @@ option.value = Object.assign(option.value, {
         startCreat();
       },
       change: ({ value, column }) => {
-        if (value != form.value.materialCode && !repeatObj.value.showCreate) {
+        if (value != form.value.materialCode) {
+          repeatObj.value.showCreate = true;
           startCreat();
         }
       },
@@ -153,4 +153,8 @@ option.value = Object.assign(option.value, {
     { label: "物料规格", prop: "spec", addDisplay: false, editDisplay: false },
   ],
 });
+onMounted(() => {
+  // console.log("crudRef", crudRef)
+  dataList();
+});
 </script>

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

@@ -234,6 +234,7 @@ export const getTableConfig = (id: string) => {
               trigger: "blur",
             },
           ],
+          precision: 1,
         },
         {
           label: "图纸编码",

+ 1 - 0
src/views/base/craftManagement/route/index.vue

@@ -405,6 +405,7 @@ option.value = Object.assign(option.value, {
           trigger: "blur",
         },
       ],
+      precision: 1,
     },
     {
       label: "创建人",

+ 79 - 77
src/views/base/materials/components/drawing-page.vue

@@ -7,9 +7,11 @@
           v-model:src-list="srcList"
           v-model:pdf-list="pdfUrlList"
           v-model:file-name-list="fileNameList"
+          v-model:file-list="fileList"
           :limit="10"
           :generate-pdf="true"
           @finished="testFiles"
+          :key="uploadKey"
         />
       </template>
     </avue-form>
@@ -39,17 +41,21 @@
           @click="multipleDelete"
           >删除</el-button
         >
-        <el-select v-model="version" placeholder="请选择BOM版本" style="width:150px;margin-left:15px" @change="getVersionDrawing">
+        <el-select
+          v-model="version"
+          placeholder="请选择BOM版本"
+          style="width: 150px; margin-left: 15px"
+          @change="getVersionDrawing"
+        >
           <el-option
             v-for="item in options"
             :key="item"
             :label="item"
             :value="item"
-          >
-          </el-option>
+          />
         </el-select>
       </template>
-      <template #menu="{row,index,type}">
+      <template #menu="{ row, index, type }">
         <PDFView
           :need-to-show-pdf="true"
           content-type="button"
@@ -66,28 +72,29 @@ import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 import ButtonPermKeys from "@/common/configs/buttonPermission";
 import { useCommonStoreHook } from "@/store";
-
-const { isShowTable, tableType } = toRefs(useCommonStoreHook());
 import { useDictionaryStore } from "@/store";
-import { addDrawing,getDrawing } from "@/api/drawing";
+import { addDrawing, getDrawing } from "@/api/drawing";
+const { isShowTable, tableType } = toRefs(useCommonStoreHook());
+const fileList = ref([]);
+const uploadKey = ref(false);
 const { dicts } = useDictionaryStore();
 const filePath = import.meta.env.VITE_APP_UPLOAD_URL;
 const test = () => {
   isShowTable.value = true;
   tableType.value = tableType.value == 1 ? 2 : 1;
 };
-const testFiles =()=>{
+const testFiles = () => {
   form.value.pdfPathList = pdfUrlList.value;
   form.value.drawingPathList = srcList.value;
   form.value.drawingPath = srcList.value[0];
-  form.value.fileNameList=fileNameList.value;
-}
+  form.value.fileNameList = fileNameList.value;
+};
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/base/drawing",
   });
-const { dataList} = Methords; //增删改查
+const { dataList } = Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
 // checkBtnPerm(ButtonPermKeys.PLAN.BTNS.order_add) :permission="permission"
@@ -97,73 +104,68 @@ const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等
 //   editBtn: checkPerm(buttonPermission.PLAN.BTNS.order_edit),
 //   menu: true,
 // });
-const formRef=ref(null);
-const version=ref({
-  value: '0',
-  label: '请选择图纸版本',
+const formRef = ref(null);
+const version = ref({
+  value: "0",
+  label: "请选择图纸版本",
 });
-const options=ref([]);
+const options = ref([]);
 const fileUrl = ref(""); //单文件
 const pdfUrlList = ref([]);
 const srcList = ref([]);
 const fileNameList = ref([]);
 import dictDataUtil from "@/common/configs/dictDataUtil";
-const getVersionDrawing=()=>{
-  if(version.value.value!="0"){
+const getVersionDrawing = () => {
+  if (version.value.value != "0") {
     search.value.materialCode = props.materialCode;
-    search.value.drawingVersion=version.value;
+    search.value.drawingVersion = version.value;
     dataList();
   }
-}
-function rowSave(form,done) {
+};
+function rowSave(form, done) {
   form.associationCode = props.materialCode;
-  form.associationName=props.materialName;
-  console.info("formRef.value",done);
-  addDrawing(form).then(
-    (data)=>{
-      if(data.code==="200") {
-        ElMessage({
-          message: data.msg,
-          type: "success",
-        });
-
-        formRef.value.resetForm();
-        dataList();
-      } else {
-        ElMessage({
-          message: data.msg,
-          type: "error",
-        });
-
-      }
+  form.associationName = props.materialName;
+  addDrawing(form).then((data) => {
+    if (data.code === "200") {
+      ElMessage({
+        message: data.msg,
+        type: "success",
+      });
+      fileNameList.value = [];
+      srcList.value = [];
+      pdfUrlList.value = [];
+      fileList.value = [];
+      formRef.value.resetForm();
+      uploadKey.value = !uploadKey.value;
+      dataList();
+    } else {
+      ElMessage({
+        message: data.msg,
+        type: "error",
+      });
     }
-  )
+  });
   done();
 }
 
-
 onMounted(() => {
   // console.log("crudRef", crudRef)
-  getDrawing(props.materialCode).then(
-    (data)=>{
-      if(data.code==="200") {
-        options.value=Array.from(data.data);
-      } else {
-        ElMessage({
-          message: data.msg,
-          type: "error",
-        });
-      }
+  getDrawing(props.materialCode).then((data) => {
+    if (data.code === "200") {
+      options.value = Array.from(data.data);
+    } else {
+      ElMessage({
+        message: data.msg,
+        type: "error",
+      });
     }
-  )
+  });
   search.value.materialCode = props.materialCode;
   dataList();
 });
 
-
 const ctableRef = ref(null);
 
-
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
   selection: true,
@@ -209,38 +211,40 @@ option.value = Object.assign(option.value, {
       label: "图纸类型",
       prop: "drawingDictValue",
       filterable: true,
-      type: 'select',
-      width: 100,overHidden: true,
+      type: "select",
+      width: 100,
+      overHidden: true,
       dicUrl: dictDataUtil.request_url + "drawing_type",
       props: { label: "dictLabel", value: "dictValue" },
-      rules: [{
-        required: true,
-        message: "请选择物料属性",
-        trigger: "blur"
-      }],
+      rules: [
+        {
+          required: true,
+          message: "请选择物料属性",
+          trigger: "blur",
+        },
+      ],
     },
     {
       label: "文件名称",
       prop: "fileName",
       span: 24,
-      width:120,
-      overHidden:true,
-      display:false,
+      width: 120,
+      overHidden: true,
+      display: false,
     },
     {
       label: "文件数组",
       prop: "drawingPathList",
       span: 24,
-      hide:true,
-      display:false,
+      hide: true,
+      display: false,
     },
     {
       label: "pdf数组",
       prop: "pdfPathList",
       span: 24,
-      hide:true,
-      display:false,
-
+      hide: true,
+      display: false,
     },
 
     {
@@ -248,8 +252,8 @@ option.value = Object.assign(option.value, {
       prop: "fileNameList",
       span: 24,
       slot: true,
-      hide:true,
-      display:false,
+      hide: true,
+      display: false,
     },
     {
       label: "版本",
@@ -263,9 +267,9 @@ option.value = Object.assign(option.value, {
           trigger: "blur",
         },
       ],
-      click(){
-        dialog1.visible=true;
-      }
+      click() {
+        dialog1.visible = true;
+      },
     },
     {
       label: "图纸上传",
@@ -286,7 +290,6 @@ option.value = Object.assign(option.value, {
         }
 */
     },
-
   ],
   delBtn: false,
   editBtn: false,
@@ -313,5 +316,4 @@ const props = defineProps({
     },
   },
 });
-
 </script>

+ 6 - 1
src/views/base/modeling/factory/index.vue

@@ -90,7 +90,7 @@ const { isShowTable, tableType } = toRefs(useCommonStoreHook());
 import { updateWorkShop } from "@/api/workShop";
 
 import { updateProductionLine } from "@/api/productionLine";
-import {bindStation, updateStation} from "@/api/station";
+import { bindStation, updateStation } from "@/api/station";
 // 公共弹窗相关
 const ctableRef = ref(null);
 const workShopRef = ref(null);
@@ -223,6 +223,11 @@ option.value = Object.assign(option.value, {
       click: ({ value, column }) => {
         userRef.value.startSelect();
       },
+      change: ({ value, column }) => {
+        if (value != form.value.manager) {
+          userRef.value.startSelect();
+        }
+      },
     },
     {
       label: "厂区位置",

+ 5 - 0
src/views/base/modeling/production-line/components/capacity-page.vue

@@ -125,6 +125,11 @@ option.value = Object.assign(option.value, {
       click: ({ value, column }) => {
         ctableRef.value.startSelect();
       },
+      change: ({ value, column }) => {
+        if (value != form.value.materialName) {
+          ctableRef.value.startSelect();
+        }
+      },
     },
     {
       label: "产线",

+ 124 - 118
src/views/base/modeling/production-line/index.vue

@@ -23,15 +23,13 @@
           icon="el-icon-delete"
           :size="size"
           @click="multipleDelete"
-        >删除</el-button
+          >删除</el-button
         >
       </template>
-      <template #menu="{row,index,type}">
-        <el-button @click="binding(row)"
-                   icon="el-icon-link"
-                   text
-                   type="primary"
-        >产能</el-button>
+      <template #menu="{ row, index, type }">
+        <el-button @click="binding(row)" icon="el-icon-link" text type="primary"
+          >产能</el-button
+        >
       </template>
     </avue-crud>
     <el-dialog
@@ -41,7 +39,7 @@
       @close="dialog.visible = false"
       :destroy-on-close="true"
     >
-      <capacity-page  :productionLineId="productionLine.id"/>
+      <capacity-page :productionLineId="productionLine.id" />
     </el-dialog>
   </div>
   <CommonTable
@@ -52,127 +50,135 @@
   />
 </template>
 <script setup>
-  import { ref, getCurrentInstance } from "vue";
-  import { useCrud } from "@/hooks/userCrud";
-  import ButtonPermKeys from "@/common/configs/buttonPermission";
-  import { useCommonStoreHook } from "@/store";
-  const { isShowTable, tableType } = toRefs(useCommonStoreHook());
+import { ref, getCurrentInstance } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import ButtonPermKeys from "@/common/configs/buttonPermission";
+import { useCommonStoreHook } from "@/store";
+const { isShowTable, tableType } = toRefs(useCommonStoreHook());
 
-  const test = () => {
-    isShowTable.value = true;
-    tableType.value = tableType.value == 1 ? 2 : 1;
-  };
-  const dialog = reactive({
-    title: "产能",
-    visible: false,
+const test = () => {
+  isShowTable.value = true;
+  tableType.value = tableType.value == 1 ? 2 : 1;
+};
+const dialog = reactive({
+  title: "产能",
+  visible: false,
+});
+// 传入一个url,后面不带/
+const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
+  useCrud({
+    src: "/api/v1/base/productionLine/list",
   });
-  // 传入一个url,后面不带/
-  const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
-    useCrud({
-      src: "/api/v1/base/productionLine/list",
-    });
-  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,
-  // });
-  const ctableRef=ref(null);
-  const crudRef = ref(null); //crudRef.value 获取avue-crud对象
+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,
+// });
+const ctableRef = ref(null);
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 
-  onMounted(() => {
-    // console.log("crudRef", crudRef)
-    dataList();
-  });
+onMounted(() => {
+  // console.log("crudRef", crudRef)
+  dataList();
+});
 
-  /**
-   * 上传excel相关
-   */
-  const uploadRef = ref(null);
-  const uploadFinished = () => {
-    // 上传完成后的刷新操作
-    page.currentPage = 1;
-    dataList();
-  };
-  const importExcelData = () => {
-    if (uploadRef.value) {
-      uploadRef.value.show("/api/v1/plan/order/import");
-    }
-  };
-  const productionLine=ref(null);
-  const binding=(row)=>{
-    productionLine.value=row;
-    dialog.visible=true;
+/**
+ * 上传excel相关
+ */
+const uploadRef = ref(null);
+const uploadFinished = () => {
+  // 上传完成后的刷新操作
+  page.currentPage = 1;
+  dataList();
+};
+const importExcelData = () => {
+  if (uploadRef.value) {
+    uploadRef.value.show("/api/v1/plan/order/import");
   }
+};
+const productionLine = ref(null);
+const binding = (row) => {
+  productionLine.value = row;
+  dialog.visible = true;
+};
 
-  const onSelectedFinish=(selectedValue)=>{
-    form.value.manager=selectedValue.userName;
-  }
-  // 设置表格列或者其他自定义的option
-  option.value = Object.assign(option.value, {
-    selection: true,
-    column: [
-      {
-        label: "产线名称",
-        prop: "name",
-        search: true,
-        overHidden:true,
-        span:24,
-        rules: [{
+const onSelectedFinish = (selectedValue) => {
+  form.value.manager = selectedValue.userName;
+};
+// 设置表格列或者其他自定义的option
+option.value = Object.assign(option.value, {
+  selection: true,
+  column: [
+    {
+      label: "产线名称",
+      prop: "name",
+      search: true,
+      overHidden: true,
+      span: 24,
+      rules: [
+        {
           required: true,
           message: "请填写产线名称",
-          trigger: "blur"
-        }],
-      },
-      {
-        label: "负责人",
-        prop: "manager",
-        span:24,
-        rules: [{
+          trigger: "blur",
+        },
+      ],
+    },
+    {
+      label: "负责人",
+      prop: "manager",
+      span: 24,
+      rules: [
+        {
           required: true,
           message: "请选择产线负责人",
-          trigger: "blur"
-        }],
-        click: ({ value, column }) => {
-          ctableRef.value.startSelect();
+          trigger: "blur",
         },
+      ],
+      click: ({ value, column }) => {
+        ctableRef.value.startSelect();
       },
-      {
-        label: "产线位置",
-        prop: "position",
-        span:24,
-        overHidden:true,
-      },
-      {
-        label: "所属车间",
-        prop: "workShopName",
-        overHidden:true,
-        display:false
+      change: ({ value, column }) => {
+        if (value != form.value.manager) {
+          userRef.value.startSelect();
+        }
       },
-      {
-        label: "产线描述",
-        overHidden:true,
-        prop: "remark",
-        type:"textarea",
-        span:24,
-      },
-      {
-        label: "创建人",
-        prop: "creator",
-        display:false
-      },
-      {
-        label: "创建时间",
-        prop: "created",
-        overHidden:true,
-        display:false
-      },
-    ],
-  });
+    },
+    {
+      label: "产线位置",
+      prop: "position",
+      span: 24,
+      overHidden: true,
+    },
+    {
+      label: "所属车间",
+      prop: "workShopName",
+      overHidden: true,
+      display: false,
+    },
+    {
+      label: "产线描述",
+      overHidden: true,
+      prop: "remark",
+      type: "textarea",
+      span: 24,
+    },
+    {
+      label: "创建人",
+      prop: "creator",
+      display: false,
+    },
+    {
+      label: "创建时间",
+      prop: "created",
+      overHidden: true,
+      display: false,
+    },
+  ],
+});
 </script>
-

+ 2 - 2
src/views/device/allocate/index.vue

@@ -86,7 +86,7 @@
             <el-form-item label="是否需要公司分管领导审批">
               <el-radio-group
                 :disabled="
-                  maintenanceInfo.state > 8 || maintenanceInfo.disabled
+                  maintenanceInfo.state > 8 || maintenanceInfo.disabled == true
                 "
                 v-model="maintenanceInfo.isApprove"
                 class="ml-4"
@@ -535,7 +535,7 @@ const maintenanceInfo = ref({});
 const maintenance = (row, type, status) => {
   viewPage.value = type === 0 ? false : true;
   maintenanceInfo.value = row;
-  maintenanceInfo.value.disabled == status;
+  maintenanceInfo.value.disabled = status;
   dialog1.visible = true;
   if (null == maintenanceInfo.value.auditResult) {
     maintenanceInfo.value.auditResult = 0;

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

@@ -106,6 +106,7 @@ option.value = Object.assign(option.value, {
       width: 130,
       overHidden: true,
       prop: "materialVersion",
+      precision: 1,
     },
     {
       label: "订单状态",

+ 54 - 50
src/views/plan/workOrder/components/choice-line-page.vue

@@ -1,23 +1,22 @@
 <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"
-    >
-    </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"
+    />
   </div>
 </template>
 <script setup>
-import {defineProps, ref} from "vue";
+import { defineProps, ref } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 
 import { useCommonStoreHook } from "@/store";
@@ -32,46 +31,47 @@ const props = defineProps({
   parentCode: {
     type: String,
     default: () => {
-      return '';
-    }
+      return "";
+    },
   },
   materialCode: {
     type: String,
     default: () => {
-      return '';
-    }
-  }
-})
+      return "";
+    },
+  },
+});
 watch(
   () => props.parentCode,
   () => {
-    search.value.parentCode = props.parentCode
-    search.value.materialCode = props.materialCode
+    search.value.parentCode = props.parentCode;
+    search.value.materialCode = props.materialCod;
     dataList();
-  },
+  }
 );
 watch(
   () => props.materialCode,
   () => {
-    search.value.parentCode = props.parentCode
-    search.value.materialCode = props.materialCode
+    search.value.parentCode = props.parentCode;
+    search.value.materialCode = props.materialCode;
     dataList();
-  },
+  }
 );
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/base/productionLine",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate } = Utils; //按钮权限等工具
 
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-const emit = defineEmits(["lineInfo"])
-const rowClick = (row)=>{
-  emit("lineInfo", row)
-}
+const emit = defineEmits(["lineInfo"]);
+const rowClick = (row) => {
+  emit("lineInfo", row);
+};
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
   delBtn: false,
@@ -86,26 +86,30 @@ option.value = Object.assign(option.value, {
       label: "产线名称",
       prop: "name",
       search: true,
-      rules: [{
-        required: true,
-        message: "请填写产线名称",
-        trigger: "blur"
-      }],
+      rules: [
+        {
+          required: true,
+          message: "请填写产线名称",
+          trigger: "blur",
+        },
+      ],
     },
     {
       label: "产线负责人",
       prop: "manager",
-      rules: [{
-        required: true,
-        message: "请选择产线负责人",
-        trigger: "blur"
-      }],
-      type: 'select',
-      dicUrl:import.meta.env.VITE_APP_BASE_API+"/api/v1/sys/user/list",
-      dicMethod:"post",
+      rules: [
+        {
+          required: true,
+          message: "请选择产线负责人",
+          trigger: "blur",
+        },
+      ],
+      type: "select",
+      dicUrl: import.meta.env.VITE_APP_BASE_API + "/api/v1/sys/user/list",
+      dicMethod: "post",
       props: {
         label: "userName", // 下拉菜单显示的字段
-        value: "userName" // 下拉菜单值的字段
+        value: "userName", // 下拉菜单值的字段
       },
     },
     {
@@ -115,7 +119,7 @@ option.value = Object.assign(option.value, {
     {
       label: "所属车间",
       prop: "workShopName",
-      display:false
+      display: false,
     },
     {
       label: "产线描述",
@@ -124,19 +128,19 @@ option.value = Object.assign(option.value, {
     {
       label: "创建人",
       prop: "creator",
-      display:false
+      display: false,
     },
     {
       label: "创建时间",
       prop: "created",
-      display:false
+      display: false,
     },
   ],
 });
 
 onMounted(() => {
-  search.value.parentCode = props.parentCode
-  search.value.materialCode = props.materialCode
+  search.value.parentCode = props.parentCode;
+  search.value.materialCode = props.materialCode;
   dataList();
 });
 </script>

+ 1 - 0
src/views/plan/workOrder/components/choice-route-page.vue

@@ -170,6 +170,7 @@ option.value = Object.assign(option.value, {
     {
       label: "版本",
       prop: "processRouteVersion",
+      precision: 1,
     },
     {
       label: "创建人",

+ 35 - 32
src/views/plan/workOrder/components/choice-workshop-page.vue

@@ -1,25 +1,23 @@
 <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"
-    >
-    </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"
+    />
   </div>
 </template>
 <script setup>
 import { ref } from "vue";
 import { useCrud } from "@/hooks/userCrud";
-
 import { useCommonStoreHook } from "@/store";
 import dictDataUtil from "@/common/configs/dictDataUtil";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
@@ -32,15 +30,17 @@ const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/base/workShop",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate } = Utils; //按钮权限等工具
-
+const allData = ref([]);
 const crudRef = ref(null); //crudRef.value 获取avue-crud对象
-const emit = defineEmits(["workShopInfo"])
-const rowClick = (row)=>{
-  emit("workShopInfo", row)
-}
+const emit = defineEmits(["workShopInfo"]);
+
+const rowClick = (row) => {
+  emit("workShopInfo", row);
+};
 
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
@@ -60,17 +60,19 @@ option.value = Object.assign(option.value, {
     {
       label: "车间负责人",
       prop: "manager",
-      rules: [{
-        required: true,
-        message: "请选择厂区负责人",
-        trigger: "blur"
-      }],
-      type: 'select',
-      dicUrl:import.meta.env.VITE_APP_BASE_API+"/api/v1/sys/user/list",
-      dicMethod:"post",
+      rules: [
+        {
+          required: true,
+          message: "请选择厂区负责人",
+          trigger: "blur",
+        },
+      ],
+      type: "select",
+      dicUrl: import.meta.env.VITE_APP_BASE_API + "/api/v1/sys/user/list",
+      dicMethod: "post",
       props: {
         label: "userName", // 下拉菜单显示的字段
-        value: "userName" // 下拉菜单值的字段
+        value: "userName", // 下拉菜单值的字段
       },
     },
     {
@@ -80,7 +82,7 @@ option.value = Object.assign(option.value, {
     {
       label: "所属工厂",
       prop: "factoryName",
-      display:false
+      display: false,
     },
     {
       label: "车间描述",
@@ -89,17 +91,18 @@ option.value = Object.assign(option.value, {
     {
       label: "创建人",
       prop: "creator",
-      display:false
+      display: false,
     },
     {
       label: "创建时间",
       prop: "created",
-      display:false
+      display: false,
     },
   ],
 });
 
 onMounted(() => {
   dataList();
+  getAllData();
 });
 </script>

+ 20 - 0
src/views/plan/workOrder/index.vue

@@ -310,8 +310,10 @@ import { checkPerm } from "@/directive/permission";
 import { queryDictDataByType } from "@/api/system/dict";
 import { getProExcel } from "@/api/excel";
 import proWorkOrderExcel from "./components/proWorkOrderExcel.vue";
+import { getWorkshopData } from "@/api/report";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
 const updateTitle = ref("生产随工单");
+const workshopName = ref("");
 const router = useRouter();
 const workOderShow = ref(false);
 const ExDataObj = ref({});
@@ -459,8 +461,25 @@ const revoke = (id) => {
       // catch error
     });
 };
+const allData = ref([]);
+const getAllData = async () => {
+  const { data, code } = await getWorkshopData({
+    pageNo: 1,
+    pageSize: 999999,
+  });
+  allData.value = data.records;
+};
+const setWorkShop = () => {
+  allData.value.forEach((item) => {
+    if (item.name == workshopName.value) {
+      workShopInfo(item);
+    }
+  });
+};
 const handleEdit = (row, index) => {
+  workshopName.value = row.workshopName;
   crudRef.value && crudRef.value.rowEdit(row, index);
+  setWorkShop();
 };
 const aps1 = () => {
   apsType.value = 1;
@@ -824,6 +843,7 @@ option.value = Object.assign(option.value, {
 
 onMounted(() => {
   // console.log("crudRef", crudRef)
+  getAllData();
   dataList();
   queryDictDataByType("order_scheduling_type").then((data) => {
     schedulingTypes.value = data.data;

+ 209 - 206
src/views/pro/baseoperation/index.vue

@@ -1,196 +1,199 @@
 <template>
-    <div class="mainContentBox">
-        <avue-crud
-                ref="crudRef"
-                v-model:search="search"
-                v-model="form"
-                :data="data"
-                :option="option"
-                v-model:page="page"
-                @row-save="createRow"
-                @row-update="updateRow"
-                @row-del="deleteRow"
-                @selection-change="selectionChange"
+  <div class="mainContentBox">
+    <avue-crud
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @row-save="createRow"
+      @row-update="updateRow"
+      @row-del="deleteRow"
+      @selection-change="selectionChange"
+    >
+      <template #menu-left="{ size }">
+        <el-button
+          :disabled="toDeleteIds.length < 1"
+          type="danger"
+          icon="el-icon-delete"
+          :size="size"
+          @click="multipleDelete"
+          >删除</el-button
         >
-            <template #menu-left="{ size }">
-                <el-button
-                        :disabled="toDeleteIds.length < 1"
-                        type="danger"
-                        icon="el-icon-delete"
-                        :size="size"
-                        @click="multipleDelete">删除</el-button>
-            </template>
-        </avue-crud>
-    </div>
+      </template>
+    </avue-crud>
+  </div>
 </template>
 <script setup>
-    import { ref, getCurrentInstance } from "vue";
-    import { useCrud } from "@/hooks/userCrud";
-    import ButtonPermKeys from "@/common/configs/buttonPermission";
+import { ref, getCurrentInstance } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import ButtonPermKeys from "@/common/configs/buttonPermission";
 
-    import { useCommonStoreHook } from "@/store";
-    const { isShowTable, tableType } = toRefs(useCommonStoreHook());
-    const test = () => {
-        isShowTable.value = true;
-        tableType.value = tableType.value == 1 ? 2 : 1;
-    };
+import { useCommonStoreHook } from "@/store";
+const { isShowTable, tableType } = toRefs(useCommonStoreHook());
+const test = () => {
+  isShowTable.value = true;
+  tableType.value = tableType.value == 1 ? 2 : 1;
+};
 
-    // 传入一个url,后面不带/
-    const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
-            useCrud({
-                src: "/api/v1/plan/order",
-            });
-    const { dataList, createRow, updateRow, deleteRow } = Methords; //增删改查
-    const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
-    const { checkBtnPerm } = Utils; //按钮权限等工具
+// 传入一个url,后面不带/
+const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
+  useCrud({
+    src: "/api/v1/plan/order",
+  });
+const { dataList, createRow, updateRow, deleteRow } = Methords; //增删改查
+const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
+const { checkBtnPerm } = Utils; //按钮权限等工具
 
-    const crudRef = ref(null); //crudRef.value 获取avue-crud对象
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 
-    // 设置表格列或者其他自定义的option
-    option.value = Object.assign(option.value, {
-        selection: true,
-        column: [
-                {
-                    label: "主键",
-                    prop: "id",
-                    search: false,
-                },
-                {
-                    label: "创建日期",
-                    prop: "created",
-                    search: false,
-                },
-                {
-                    label: "创建人",
-                    prop: "creator",
-                    search: false,
-                },
-                {
-                    label: "更新日期",
-                    prop: "updated",
-                    search: false,
-                },
-                {
-                    label: "更新人",
-                    prop: "updator",
-                    search: false,
-                },
-                {
-                    label: "组织id",
-                    prop: "orgId",
-                    search: false,
-                },
-                {
-                    label: "部门id",
-                    prop: "deptId",
-                    search: false,
-                },
-                {
-                    label: "版本号",
-                    prop: "version",
-                    search: false,
-                },
-                {
-                    label: "基础工序名称",
-                    prop: "operationName",
-                    search: true,
-                },
-                {
-                    label: "工序编码",
-                    prop: "operationCode",
-                    search: false,
-                },
-                {
-                    label: "基础工序号",
-                    prop: "operationOp",
-                    search: true,
-                },
-                {
-                    label: "基础工序描述",
-                    prop: "operationDesc",
-                    search: false,
-                },
-                {
-                    label: "标准工时",
-                    prop: "standardWorktime",
-                    search: false,
-                },
-                {
-                    label: "工位类型",
-                    prop: "stanType",
-                    search: false,
-                },
-                {
-                    label: "技能要求",
-                    prop: "skillAsk",
-                    search: false,
-                },
-                {
-                    label: "工段",
-                    prop: "workSection",
-                    search: false,
-                },
-                {
-                    label: "工序类型",
-                    prop: "operationType",
-                    search: true,
-                },
-              /*  {
+// 设置表格列或者其他自定义的option
+option.value = Object.assign(option.value, {
+  selection: true,
+  column: [
+    {
+      label: "主键",
+      prop: "id",
+      search: false,
+    },
+    {
+      label: "创建日期",
+      prop: "created",
+      search: false,
+    },
+    {
+      label: "创建人",
+      prop: "creator",
+      search: false,
+    },
+    {
+      label: "更新日期",
+      prop: "updated",
+      search: false,
+    },
+    {
+      label: "更新人",
+      prop: "updator",
+      search: false,
+    },
+    {
+      label: "组织id",
+      prop: "orgId",
+      search: false,
+    },
+    {
+      label: "部门id",
+      prop: "deptId",
+      search: false,
+    },
+    {
+      label: "版本号",
+      prop: "version",
+      search: false,
+      precision: 1,
+    },
+    {
+      label: "基础工序名称",
+      prop: "operationName",
+      search: true,
+    },
+    {
+      label: "工序编码",
+      prop: "operationCode",
+      search: false,
+    },
+    {
+      label: "基础工序号",
+      prop: "operationOp",
+      search: true,
+    },
+    {
+      label: "基础工序描述",
+      prop: "operationDesc",
+      search: false,
+    },
+    {
+      label: "标准工时",
+      prop: "standardWorktime",
+      search: false,
+    },
+    {
+      label: "工位类型",
+      prop: "stanType",
+      search: false,
+    },
+    {
+      label: "技能要求",
+      prop: "skillAsk",
+      search: false,
+    },
+    {
+      label: "工段",
+      prop: "workSection",
+      search: false,
+    },
+    {
+      label: "工序类型",
+      prop: "operationType",
+      search: true,
+    },
+    /*  {
                     label: "机时",
                     prop: "timeingNum",
                     search: false,
                 },*/
-               /* {
+    /* {
                     label: "是否外协",
                     prop: "externalCooperation",
                     search: false,
                 },*/
-                {
-                    label: "工艺条件",
-                    prop: "processAsk",
-                    search: false,
-                },
-                {
-                    label: "准备工时(人工工时)",
-                    prop: "preparationTime",
-                    search: false,
-                },
-                /*{
+    {
+      label: "工艺条件",
+      prop: "processAsk",
+      search: false,
+    },
+    {
+      label: "准备工时(人工工时)",
+      prop: "preparationTime",
+      search: false,
+    },
+    /*{
                     label: "是否自检",
                     prop: "selfCheck",
                     search: false,
                 },*/
-                {
-                  label: "批量报工",
-                  prop: "batchReport",
-                  search: false,
-                },
-                /*{
+    {
+      label: "批量报工",
+      prop: "batchReport",
+      search: false,
+    },
+    /*{
                     label: "是否巡检",
                     prop: "inspection",
                     search: false,
                 },*/
-                /*{
+    /*{
                     label: "是否首检",
                     prop: "firstCheck",
                     search: false,
                 },*/
-                /*{
+    /*{
                     label: "是否委外",
                     prop: "outsourcing",
                     search: false,
                 },*/
-                {
-                    label: "是否禁用",
-                    prop: "enabled",
-                    search: false,
-                },
-                {
-                    label: "是否可跳过",
-                    prop: "skipped",
-                    search: false,
-                },
-               /* {
+    {
+      label: "是否禁用",
+      prop: "enabled",
+      search: false,
+    },
+    {
+      label: "是否可跳过",
+      prop: "skipped",
+      search: false,
+    },
+    /* {
                     label: "坐标X",
                     prop: "x",
                     search: false,
@@ -200,50 +203,50 @@
                     prop: "y",
                     search: false,
                 },*/
-                {
-                    label: "删除标识",
-                    prop: "deleted",
-                    search: false,
-                },
-                {
-                    label: "是否分批",
-                    prop: "batch",
-                    search: false,
-                },
-                {
-                    label: "是否合批",
-                    prop: "merge",
-                    search: false,
-                },
-                {
-                    label: "是否工艺数量",
-                    prop: "common",
-                    search: false,
-                },
-                {
-                    label: "分批数量",
-                    prop: "batchNum",
-                    search: false,
-                },
-                {
-                    label: "合批数量",
-                    prop: "mergeNum",
-                    search: false,
-                },
-                {
-                    label: "后置时间",
-                    prop: "forceTime",
-                    search: false,
-                },
-                {
-                    label: "外协时间",
-                    prop: "outTime",
-                    search: false,
-                },
-        ],
-    });
+    {
+      label: "删除标识",
+      prop: "deleted",
+      search: false,
+    },
+    {
+      label: "是否分批",
+      prop: "batch",
+      search: false,
+    },
+    {
+      label: "是否合批",
+      prop: "merge",
+      search: false,
+    },
+    {
+      label: "是否工艺数量",
+      prop: "common",
+      search: false,
+    },
+    {
+      label: "分批数量",
+      prop: "batchNum",
+      search: false,
+    },
+    {
+      label: "合批数量",
+      prop: "mergeNum",
+      search: false,
+    },
+    {
+      label: "前置时间",
+      prop: "forceTime",
+      search: false,
+    },
+    {
+      label: "外协时间",
+      prop: "outTime",
+      search: false,
+    },
+  ],
+});
 
-    onMounted(() => {
-        dataList();
-    });
+onMounted(() => {
+  dataList();
+});
 </script>