Procházet zdrojové kódy

feature/bug修改&&发版

dengrui před 10 měsíci
rodič
revize
0d9ba4ce1f

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

@@ -329,6 +329,7 @@ option.value = Object.assign(option.value, {
       label: "产品名称",
       prop: "prodtName1",
       overHidden: true,
+      hide: true,
       viewDisplay: false,
       width: 150,
       rules: [
@@ -342,6 +343,11 @@ option.value = Object.assign(option.value, {
       click: () => {
         startChooseProduct();
       },
+      change: ({ value, column }) => {
+        if (value != form.value.prodtName1) {
+          startChooseProduct();
+        }
+      },
     },
     {
       label: "产品编号",

+ 28 - 25
src/views/base/modeling/production-line/components/columns.ts

@@ -4,48 +4,51 @@ export const columns = [
   {
     label: "物料编号",
     prop: "materialCode",
-    hide:true,
-    display:false
+    hide: true,
+    display: false,
   },
   {
     label: "物料名称",
     prop: "materialName",
-    rules: [{
-      required: true,
-      message: "请选择物料名称",
-      trigger: "blur"
-    }],
+    rules: [
+      {
+        required: true,
+        message: "请选择物料名称",
+        trigger: "blur",
+      },
+    ],
     click: ({ value, column }) => {
-      if(column.boxType){
-        dialog.visible = true
+      if (column.boxType) {
+        dialog.visible = true;
       }
     },
   },
   {
     label: "产线",
     prop: "productionLineName",
-    hide:true,
-    display:false
+    hide: true,
+    display: false,
   },
   {
     label: "产能",
     prop: "capacity",
-    rules: [{
-      required: true,
-      message: "请填写产能",
-      trigger: "blur"
-    }],
+    rules: [
+      {
+        required: true,
+        message: "请填写产能",
+        trigger: "blur",
+      },
+    ],
   },
   {
     label: "最小齐套数",
     prop: "minCapacity",
-    rules: [{
-      required: true,
-      message: "请填写产能",
-      trigger: "blur"
-    }],
+    rules: [
+      {
+        required: true,
+        message: "请填写产能",
+        trigger: "blur",
+      },
+    ],
   },
-
-]
-
-
+];

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

@@ -145,7 +145,7 @@ option.value = Object.assign(option.value, {
       },
       change: ({ value, column }) => {
         if (value != form.value.manager) {
-          userRef.value.startSelect();
+          ctableRef.value.startSelect();
         }
       },
     },

+ 1 - 1
src/views/base/modeling/station/components/station-page.vue

@@ -84,7 +84,7 @@ onMounted(() => {
 
 const ctableRef = ref(null);
 const deviceList = () => {
-  ctableRef.value.startSelect();
+  ctableRef.value.startSelect({ state: 0 });
 };
 
 // 设置表格列或者其他自定义的option

+ 5 - 0
src/views/base/modeling/station/index.vue

@@ -252,6 +252,11 @@ option.value = Object.assign(option.value, {
       click: ({ value, column }) => {
         ctableRef.value.startSelect();
       },
+      change: ({ value, column }) => {
+        if (value != form.value.manager) {
+          ctableRef.value.startSelect();
+        }
+      },
     },
     {
       label: "负责人id",

+ 113 - 106
src/views/base/modeling/work-shop/index.vue

@@ -23,12 +23,10 @@
           icon="el-icon-delete"
           :size="size"
           @click="multipleDelete"
-        >删除</el-button
+          >删除</el-button
         >
       </template>
-
     </avue-crud>
-
   </div>
   <CommonTable
     ref="ctableRef"
@@ -38,121 +36,130 @@
   />
 </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 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/base/workShop",
-    });
-  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,
-  // });
+// 传入一个url,后面不带/
+const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
+  useCrud({
+    src: "/api/v1/base/workShop",
+  });
+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 crudRef = ref(null); //crudRef.value 获取avue-crud对象
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 
-  onMounted(() => {
-    // console.log("crudRef", crudRef)
-    dataList();
-  });
-  const ctableRef=ref(null);
-  const onSelectedFinish=(selectedValue)=>{
-    form.value.manager=selectedValue.userName;
+onMounted(() => {
+  // console.log("crudRef", crudRef)
+  dataList();
+});
+const ctableRef = ref(null);
+const onSelectedFinish = (selectedValue) => {
+  form.value.manager = selectedValue.userName;
+};
+/**
+ * 上传excel相关
+ */
+const uploadRef = ref(null);
+const uploadFinished = () => {
+  // 上传完成后的刷新操作
+  page.currentPage = 1;
+  dataList();
+};
+const importExcelData = () => {
+  if (uploadRef.value) {
+    uploadRef.value.show("/api/v1/plan/order/import");
   }
-  /**
-   * 上传excel相关
-   */
-  const uploadRef = ref(null);
-  const uploadFinished = () => {
-    // 上传完成后的刷新操作
-    page.currentPage = 1;
-    dataList();
-  };
-  const importExcelData = () => {
-    if (uploadRef.value) {
-      uploadRef.value.show("/api/v1/plan/order/import");
-    }
-  };
+};
 
-  // 设置表格列或者其他自定义的option
-  option.value = Object.assign(option.value, {
-    selection: true,
-    column: [
-      {
-        label: "车间名称",
-        prop: "name",
-        search: true,
-        span:24,
-        rules: [{
+// 设置表格列或者其他自定义的option
+option.value = Object.assign(option.value, {
+  selection: true,
+  column: [
+    {
+      label: "车间名称",
+      prop: "name",
+      search: 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();
+      },
+      change: ({ value, column }) => {
+        if (value != form.value.manager) {
+          ctableRef.value.startSelect();
+        }
       },
-      {
-        label: "车间位置",
-        prop: "position",
-        span:24,
-        rules: [{
+    },
+    {
+      label: "车间位置",
+      prop: "position",
+      span: 24,
+      rules: [
+        {
           required: true,
           message: "请输入车间位置",
-          trigger: "blur"
-        }],
-      },
-      {
-        label: "所属工厂",
-        prop: "factoryName",
-        display:false
-      },
-      {
-        label: "车间描述",
-        prop: "remark",
-        span:24,
-        type:"textarea"
-      },
-      {
-        label: "创建人",
-        prop: "creator",
-        display:false
-      },
-      {
-        label: "创建时间",
-        prop: "created",
-        overHidden:true,
-        display:false
-      },
-    ],
-  });
+          trigger: "blur",
+        },
+      ],
+    },
+    {
+      label: "所属工厂",
+      prop: "factoryName",
+      display: false,
+    },
+    {
+      label: "车间描述",
+      prop: "remark",
+      span: 24,
+      type: "textarea",
+    },
+    {
+      label: "创建人",
+      prop: "creator",
+      display: false,
+    },
+    {
+      label: "创建时间",
+      prop: "created",
+      overHidden: true,
+      display: false,
+    },
+  ],
+});
 </script>
-

+ 7 - 8
src/views/base/skill/components/user-skill.vue

@@ -27,7 +27,7 @@
     >
       <template #skillDictValue="{ row, index, type }">
         <el-select
-          v-model="skillValue"
+          v-model="row.skillValue"
           placeholder="请选择技能"
           @click="getPostSkills()"
           @change="skillChange(row)"
@@ -105,12 +105,13 @@ onMounted(() => {
 });
 const skillChange = (row) => {
   if (
-    skillValue.value !== undefined &&
-    skillValue.value !== null &&
-    skillValue.value !== ""
+    row.skillValue !== undefined &&
+    row.skillValue !== null &&
+    row.skillValue !== ""
   ) {
-    data.value[row.$index].skillDictValue = skillValue.value;
+    data.value[row.$index].skillDictValue = row.skillValue;
   }
+  console.log(data.value);
 };
 const cancelWindow = () => {
   props.dialog.visible = false;
@@ -263,7 +264,7 @@ option2.value = {
       change: ({ value, column }) => {
         if (value !== undefined) {
           postIdValue.value = value;
-          skillValue.value = null;
+          data.value = [];
           optionSkill.value = null;
         }
       },
@@ -317,13 +318,11 @@ option.value = Object.assign(option.value, {
 });
 const onSelectedFinish = (selectedValue) => {
   form.value.userId = selectedValue.id;
-
   form.value.userName = selectedValue.userName;
   form.value.deptName = selectedValue.deptName;
   form.value.employeeCode = selectedValue.employeeCode;
   //form.value.institution = selectedValue.institution;
 };
-const skillValue = ref(null);
 const optionSkill = ref([]);
 const getPostSkills = () => {
   if (

+ 9 - 0
src/views/device/allocate/index.vue

@@ -748,6 +748,15 @@ option.value = Object.assign(option.value, {
           dialog.visible = true;
         }
       },
+      change: ({ value, column }) => {
+        if (column.boxType) {
+          if (value != form.value.deviceNo) {
+            if (column.boxType) {
+              dialog.visible = true;
+            }
+          }
+        }
+      },
     },
     {
       label: "名称",

+ 197 - 137
src/views/device/maintenance/index.vue

@@ -1,21 +1,21 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        :permission="permission"
-        v-model:page="page"
-        @row-save="createRow"
-        @row-update="updateRow"
-        @row-del="deleteRow"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
-        @selection-change="selectionChange"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      :permission="permission"
+      v-model:page="page"
+      @row-save="createRow"
+      @row-update="updateRow"
+      @row-del="deleteRow"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
+      @selection-change="selectionChange"
     >
       <template #menu-left="{ size }">
         <el-button
@@ -28,87 +28,122 @@
           >删除</el-button
         >
       </template>
-      <template #menu="{size,row,index}">
-        <el-button @click="maintenance(row)"
-                   icon="el-icon-setting"
-                   text
-                   v-hasPerm="[ButtonPermKeys.DEVICE.BTNS.maintenance_handle]"
-                   v-if="row.type === '1' && row.state === 0 && Date.parse(row.nextTime) <= new Date()"
-                   type="primary"
-                   :size="size">维护</el-button>
-        <el-button disabled
-                   icon="el-icon-setting"
-                   text
-                   v-hasPerm="[ButtonPermKeys.DEVICE.BTNS.maintenance_handle]"
-                   v-if="row.type === '1' && row.state === 1 && Date.parse(row.nextTime) <= new Date()"
-                   type="primary"
-                   :size="size">维护</el-button>
-        <el-button @click="maintenanceList(row)"
-                   icon="el-icon-fold"
-                   text
-                   type="primary"
-                   :size="size">记录</el-button>
+      <template #menu="{ size, row, index }">
+        <el-button
+          @click="maintenance(row)"
+          icon="el-icon-setting"
+          text
+          v-hasPerm="[ButtonPermKeys.DEVICE.BTNS.maintenance_handle]"
+          v-if="
+            row.type === '1' &&
+            row.state === 0 &&
+            Date.parse(row.nextTime) <= new Date()
+          "
+          type="primary"
+          :size="size"
+          >维护</el-button
+        >
+        <el-button
+          disabled
+          icon="el-icon-setting"
+          text
+          v-hasPerm="[ButtonPermKeys.DEVICE.BTNS.maintenance_handle]"
+          v-if="
+            row.type === '1' &&
+            row.state === 1 &&
+            Date.parse(row.nextTime) <= new Date()
+          "
+          type="primary"
+          :size="size"
+          >维护</el-button
+        >
+        <el-button
+          @click="maintenanceList(row)"
+          icon="el-icon-fold"
+          text
+          type="primary"
+          :size="size"
+          >记录</el-button
+        >
       </template>
     </avue-crud>
     <el-dialog
-        v-model="dialog.visible"
-        :title="dialog.title"
-        width="850px"
-        @close="dialog.visible = false"
+      v-model="dialog.visible"
+      :title="dialog.title"
+      width="850px"
+      @close="dialog.visible = false"
     >
-      <device-page  @deviceInfo="deviceInfo"/>
+      <device-page @device-info="deviceInfo" />
     </el-dialog>
 
     <el-dialog
-        v-model="dialog1.visible"
-        :title="dialog1.title"
-        width="750px"
-        height="80%"
-        @close="dialog1.visible = false">
-      <el-timeline style="max-width: 500px;margin-left: 100px">
+      v-model="dialog1.visible"
+      :title="dialog1.title"
+      width="750px"
+      height="80%"
+      @close="dialog1.visible = false"
+    >
+      <el-timeline style="max-width: 500px; margin-left: 100px">
         <el-timeline-item center color="#0bbd87" type="success" placement="top">
           <el-card>
             <h4>保养计划</h4>
-            <p>设备编号: {{maintenanceInfo.deviceNo}}</p>
-            <p>设备名称:{{maintenanceInfo.deviceName}}</p>
-            <p>保养内容:{{maintenanceInfo.remark}}</p>
-            <p>计划时间:{{maintenanceInfo.nextTime}}</p>
+            <p>设备编号: {{ maintenanceInfo.deviceNo }}</p>
+            <p>设备名称:{{ maintenanceInfo.deviceName }}</p>
+            <p>保养内容:{{ maintenanceInfo.remark }}</p>
+            <p>计划时间:{{ maintenanceInfo.nextTime }}</p>
           </el-card>
         </el-timeline-item>
-        <el-timeline-item center placement="top" :type="maintenanceInfo.state === 0 ? 'primary' : 'success'">
+        <el-timeline-item
+          center
+          placement="top"
+          :type="maintenanceInfo.state === 0 ? 'primary' : 'success'"
+        >
           <el-card>
             <h4>设备保养</h4>
-            <el-form ref="maintenanceInfoForm" :model="maintenanceInfo" label-width="auto" style="max-width: 400px" :rules="rules">
-              <el-form-item v-if="maintenanceInfo.result === 0" label="保养项目" prop="maintenanceContent">
-                <el-input v-model="maintenanceInfo.maintenanceContent" type="textarea" />
+            <el-form
+              ref="maintenanceInfoForm"
+              :model="maintenanceInfo"
+              label-width="auto"
+              style="max-width: 400px"
+              :rules="rules"
+            >
+              <el-form-item
+                v-if="maintenanceInfo.result === 0"
+                label="保养项目"
+                prop="maintenanceContent"
+              >
+                <el-input
+                  v-model="maintenanceInfo.maintenanceContent"
+                  type="textarea"
+                />
               </el-form-item>
               <el-form-item label="维护人" prop="userName">
-
                 <el-select
-                    v-model="maintenanceInfo.userName"
-                    placeholder="维护人"
-                    size="large"
-                    style="width: 240px">
+                  v-model="maintenanceInfo.userName"
+                  placeholder="维护人"
+                  size="large"
+                  style="width: 240px"
+                >
                   <el-option
-                      v-for="item in userList"
-                      :key="item.userName"
-                      :label="item.userName"
-                      :value="item.userName"
+                    v-for="item in userList"
+                    :key="item.userName"
+                    :label="item.userName"
+                    :value="item.userName"
                   />
                 </el-select>
               </el-form-item>
               <el-form-item label="确认人" prop="confirmUser">
-
                 <el-select
-                    v-model="maintenanceInfo.confirmUser"
-                    placeholder="确认人"
-                    size="large"
-                    style="width: 240px">
+                  v-model="maintenanceInfo.confirmUser"
+                  placeholder="确认人"
+                  size="large"
+                  style="width: 240px"
+                >
                   <el-option
-                      v-for="item in userList"
-                      :key="item.userName"
-                      :label="item.userName"
-                      :value="item.userName"
+                    v-for="item in userList"
+                    :key="item.userName"
+                    :label="item.userName"
+                    :value="item.userName"
                   />
                 </el-select>
               </el-form-item>
@@ -118,19 +153,31 @@
                   <el-radio :value="1">报故</el-radio>
                 </el-radio-group>
               </el-form-item>
-              <el-form-item v-if="maintenanceInfo.result === 1" label="报故内容">
+              <el-form-item
+                v-if="maintenanceInfo.result === 1"
+                label="报故内容"
+              >
                 <el-input v-model="maintenanceInfo.maintenanceContent" />
               </el-form-item>
 
-
-                <el-form-item v-if="maintenanceInfo.result === 0" label="下次维护日期">
-                    <el-input v-model="maintenanceInfo.nextTime" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
-                </el-form-item>
-<!--              <el-form-item v-if="maintenanceInfo.result === 0" label="下次维护内容">
+              <el-form-item
+                v-if="maintenanceInfo.result === 0"
+                label="下次维护日期"
+              >
+                <el-input
+                  v-model="maintenanceInfo.nextTime"
+                  type="date"
+                  format="YYYY-MM-DD"
+                  value-format="YYYY-MM-DD"
+                />
+              </el-form-item>
+              <!--              <el-form-item v-if="maintenanceInfo.result === 0" label="下次维护内容">
                 <el-input v-model="maintenanceInfo.maintenanceContent" />
               </el-form-item>-->
               <el-form-item style="margin-left: 45%">
-                <el-button type="primary" @click="maintenanceSubmit">保存</el-button>
+                <el-button type="primary" @click="maintenanceSubmit"
+                  >保存</el-button
+                >
               </el-form-item>
             </el-form>
           </el-card>
@@ -139,13 +186,13 @@
     </el-dialog>
 
     <el-dialog
-        v-model="dialog2.visible"
-        :title="dialog2.title"
-        width="60%"
-        height="80%"
-        @close="dialog2.visible = false"
+      v-model="dialog2.visible"
+      :title="dialog2.title"
+      width="60%"
+      height="80%"
+      @close="dialog2.visible = false"
     >
-      <record-page :maintenance="clickRecord"></record-page>
+      <record-page :maintenance="clickRecord" />
     </el-dialog>
   </div>
 </template>
@@ -153,8 +200,8 @@
 import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 import ButtonPermKeys from "@/common/configs/buttonPermission";
-import {getUserList} from "@/api/system/user"
-import {maintenanceUpdate} from "@/api/device/index";
+import { getUserList } from "@/api/system/user";
+import { maintenanceUpdate } from "@/api/device/index";
 import { useCommonStoreHook } from "@/store";
 import dictDataUtil from "@/common/configs/dictDataUtil";
 import RecordPage from "./components/record-page.vue";
@@ -182,77 +229,78 @@ const dialog2 = reactive({
   title: "设备保养记录",
   visible: false,
 });
-const userList = ref([])
+const userList = ref([]);
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/device/maintenance",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+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 deviceInfo = (value) => {
-  form.value.deviceNo = value.deviceNo
-  dialog.visible = false
-}
-const maintenanceInfo = ref(null)
-const clickRecord = ref(null)
-const maintenance = (row)=>{
-  maintenanceInfo.value = row
-  maintenanceInfo.value.maintenanceContent = row.remark
-  maintenanceInfo.value.result = 0
-  dialog1.visible = true
-}
-const maintenanceList = (row)=>{
-  clickRecord.value = row
-  dialog2.visible = true
-}
-const queryUserList = ()=>{
-  getUserList({}).then((data)=>{
-    userList.value = data.data
-  })
-}
-const maintenanceInfoForm = ref('maintenanceInfoForm')
-const maintenanceSubmit =()=>{
+  form.value.deviceNo = value.deviceNo;
+  dialog.visible = false;
+};
+const maintenanceInfo = ref(null);
+const clickRecord = ref(null);
+const maintenance = (row) => {
+  maintenanceInfo.value = row;
+  maintenanceInfo.value.maintenanceContent = row.remark;
+  maintenanceInfo.value.result = 0;
+  dialog1.visible = true;
+};
+const maintenanceList = (row) => {
+  clickRecord.value = row;
+  dialog2.visible = true;
+};
+const queryUserList = () => {
+  getUserList({}).then((data) => {
+    userList.value = data.data;
+  });
+};
+const maintenanceInfoForm = ref("maintenanceInfoForm");
+const maintenanceSubmit = () => {
   //alert(JSON.stringify(maintenanceInfo.value))
   maintenanceInfoForm.value.validate((isValid, invalidFields) => {
     if (isValid) {
-      maintenanceUpdate(maintenanceInfo.value).then((data)=>{
+      maintenanceUpdate(maintenanceInfo.value).then((data) => {
         ElMessage({
           message: data.msg,
           type: "success",
         });
         //maintenanceInfo.value = null
-        dialog1.visible = false
-        dataList()
-      })
+        dialog1.visible = false;
+        dataList();
+      });
     }
-  })
-}
+  });
+};
 const rules = reactive({
   userName: [
     // required是否必填,message不符合此规则时的提示信息,
     // trigger触发此条规则校验的时机,有两个值, blur 或 change,默认就是blur和change都会进行校验
     // min此字段的最小长度,max此字段的最大长度
     // pattern 正则表达式
-    { required: true, message: '维护人不能为空', trigger: 'blur' }
+    { required: true, message: "维护人不能为空", trigger: "blur" },
   ],
   confirmUser: [
     // required是否必填,message不符合此规则时的提示信息,
     // trigger触发此条规则校验的时机,有两个值, blur 或 change,默认就是blur和change都会进行校验
     // min此字段的最小长度,max此字段的最大长度
     // pattern 正则表达式
-    { required: true, message: '确认人不能为空', trigger: 'blur' }
+    { required: true, message: "确认人不能为空", trigger: "blur" },
   ],
   maintenanceContent: [
-  // required是否必填,message不符合此规则时的提示信息,
-  // trigger触发此条规则校验的时机,有两个值, blur 或 change,默认就是blur和change都会进行校验
-  // min此字段的最小长度,max此字段的最大长度
-  // pattern 正则表达式
-  { required: true, message: '保养项目不能为空', trigger: 'blur' }
-]
-})
+    // required是否必填,message不符合此规则时的提示信息,
+    // trigger触发此条规则校验的时机,有两个值, blur 或 change,默认就是blur和change都会进行校验
+    // min此字段的最小长度,max此字段的最大长度
+    // pattern 正则表达式
+    { required: true, message: "保养项目不能为空", trigger: "blur" },
+  ],
+});
 // 设置表格列或者其他自定义的option
 option.value = Object.assign(option.value, {
   delBtn: false,
@@ -271,11 +319,9 @@ option.value = Object.assign(option.value, {
       prop: "deviceType",
       type: "select",
       search: true,
-      hide:true,
+      hide: true,
       display: false,
-      dicUrl:
-        dictDataUtil.request_url +
-        dictDataUtil.TYPE_CODE.device_type,
+      dicUrl: dictDataUtil.request_url + dictDataUtil.TYPE_CODE.device_type,
       props: {
         label: "dictLabel",
         value: "dictValue",
@@ -306,10 +352,19 @@ option.value = Object.assign(option.value, {
         },
       ],
       click: ({ value, column }) => {
-        if(column.boxType){
+        if (column.boxType) {
           dialog.visible = true;
         }
       },
+      change: ({ value, column }) => {
+        if (column.boxType) {
+          if (value != form.value.deviceNo) {
+            if (column.boxType) {
+              dialog.visible = true;
+            }
+          }
+        }
+      },
     },
     {
       label: "保养维护内容",
@@ -337,7 +392,10 @@ option.value = Object.assign(option.value, {
       search: true,
       type: "select",
       editDisplay: false,
-      dicData: [{label: '点检',value:"0"},{label: '保养',value:"1"}],
+      dicData: [
+        { label: "点检", value: "0" },
+        { label: "保养", value: "1" },
+      ],
       rules: [
         {
           required: true,
@@ -351,8 +409,8 @@ option.value = Object.assign(option.value, {
       prop: "cycle",
       type: "select",
       dicUrl:
-          dictDataUtil.request_url +
-          dictDataUtil.TYPE_CODE.device_maintenance_cycle,
+        dictDataUtil.request_url +
+        dictDataUtil.TYPE_CODE.device_maintenance_cycle,
       props: {
         label: "dictLabel",
         value: "dictValue",
@@ -390,7 +448,10 @@ option.value = Object.assign(option.value, {
       prop: "state",
       type: "select",
       addDisplay: false,
-      dicData: [{label: '待维护',value:0},{label: '已维护',value:1}],
+      dicData: [
+        { label: "待维护", value: 0 },
+        { label: "已维护", value: 1 },
+      ],
       rules: [
         {
           required: true,
@@ -414,12 +475,11 @@ option.value = Object.assign(option.value, {
         },
       ],
     },
-
   ],
 });
 
 onMounted(() => {
   dataList();
-  queryUserList()
+  queryUserList();
 });
 </script>

+ 9 - 0
src/views/device/repair/index.vue

@@ -736,6 +736,15 @@ option.value = Object.assign(option.value, {
           dialog.visible = true;
         }
       },
+      change: ({ value, column }) => {
+        if (column.boxType) {
+          if (value != form.value.deviceNo) {
+            if (column.boxType) {
+              dialog.visible = true;
+            }
+          }
+        }
+      },
     },
     {
       label: "型号",

+ 168 - 179
src/views/plan/finishProduct/components/in-stock.vue

@@ -1,13 +1,6 @@
 <template>
-
   <div class="mainContentBox">
-    <avue-form
-      ref="formRef"
-      v-model="form"
-      :data="data2"
-      :option="option2"
-    >
-    </avue-form>
+    <avue-form ref="formRef" v-model="form" :data="data2" :option="option2" />
     <avue-crud
       ref="crudRef"
       v-model:search="search"
@@ -21,18 +14,12 @@
       @search-change="searchChange"
       @search-reset="resetChange"
       @selection-change="selectionChanges"
-    >
-
-
-
-    </avue-crud>
-
+    />
   </div>
   <div style="overflow: hidden">
     <div class="detail-footer">
       <el-button type="primary" @click="onHandle"> 确定 </el-button>
       <el-button @click="cancelWindow">取消</el-button>
-
     </div>
   </div>
   <CommonTable
@@ -41,187 +28,189 @@
     tableType="USERS"
     @selected-sure="onSelectedFinish"
   />
-
 </template>
 <script setup lang="ts">
-  import { ref, getCurrentInstance } from "vue";
-  import { useCrud } from "@/hooks/userCrud";
-  import ButtonPermKeys from "@/common/configs/buttonPermission";
-  import { useCommonStoreHook, useDictionaryStore } from "@/store";
-  const { isShowTable, tableType } = toRefs(useCommonStoreHook());
-  import {addStock} from "@/api/inStock"
-  import dictDataUtil from "@/common/configs/dictDataUtil";
-  // 数据字典相关
-
-  const test = () => {
-    isShowTable.value = true;
-    tableType.value = tableType.value == 1 ? 2 : 1;
-  };
-  const props = defineProps({
-    workOrderCode: {
-      type: String,
-      default: () => {
-        return 0;
-      }
+import { ref, getCurrentInstance } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import ButtonPermKeys from "@/common/configs/buttonPermission";
+import { useCommonStoreHook, useDictionaryStore } from "@/store";
+const { isShowTable, tableType } = toRefs(useCommonStoreHook());
+import { addStock } from "@/api/inStock";
+import dictDataUtil from "@/common/configs/dictDataUtil";
+// 数据字典相关
+
+const test = () => {
+  isShowTable.value = true;
+  tableType.value = tableType.value == 1 ? 2 : 1;
+};
+const props = defineProps({
+  workOrderCode: {
+    type: String,
+    default: () => {
+      return 0;
     },
-    stockDialog:{
-      type:Object,
-      default:()=>{
-        return {};
-      }
-    }
-
-  })
-  const ctableRef=ref(null);
-  const crudRef=ref(null);
-  // 传入一个url,后面不带/
-  const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
-    useCrud({
-      src: "/api/v1/plan/seq",
+  },
+  stockDialog: {
+    type: Object,
+    default: () => {
+      return {};
+    },
+  },
+});
+const ctableRef = ref(null);
+const crudRef = ref(null);
+// 传入一个url,后面不带/
+const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
+  useCrud({
+    src: "/api/v1/plan/seq",
+  });
+const {
+  dataNoPageList,
+  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 cancelWindow = () => {
+  props.stockDialog.visible = false;
+};
+
+const onHandle = () => {
+  if (
+    form.value.recipient == undefined ||
+    form.value.recipient == null ||
+    form.value.recipient.trim() == ""
+  ) {
+    ElMessage({
+      message: "未输入 接收人",
+      type: "error",
     });
-  const { dataNoPageList, 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 cancelWindow=()=>{
-    props.stockDialog.visible=false;
+    return false;
+  }
+  if (seqList.value.length == 0) {
+    ElMessage({
+      message: "未选择要入库的流转卡号",
+      type: "error",
+    });
+    return false;
   }
 
-  const onHandle=()=>{
-    if(form.value.recipient==undefined||form.value.recipient==null||form.value.recipient.trim()==""){
+  form.value.seqList = seqList.value;
+  form.value.workOrderCode = props.workOrderCode;
+  addStock(form.value).then((data) => {
+    if (data.code == "200") {
       ElMessage({
-        message: "未输入 接收人",
-        type: "error",
+        message: data.msg,
+        type: "success",
       });
-      return false;
-    }
-    if(seqList.value.length==0){
+      props.stockDialog.visible = false;
+    } else {
       ElMessage({
-        message: "未选择要入库的流转卡号",
+        message: data.msg,
         type: "error",
       });
-      return false;
     }
-
-    form.value.seqList=seqList.value;
-    form.value.workOrderCode=props.workOrderCode;
-    addStock(form.value).then(
-      (data)=>{
-
-        if(data.code=="200"){
-          ElMessage({
-            message: data.msg,
-            type: "success",
-          });
-          props.stockDialog.visible=false;
-        }else {
-          ElMessage({
-            message: data.msg,
-            type: "error",
-          });
-        }
-
-      }
-    )
-
-
-  }
-  onMounted(() => {
-    // console.log("crudRef", crudRef)
-    search.value.workOrderCode=props.workOrderCode;
-    //未入库
-    search.value.isStock="0";
-    //已完工
-    search.value.state="2";
-    dataNoPageList();
-
-
   });
-  const seqList=ref([]);
-  // 设置selection: true,后监听选中改变事件,将Id存入数组
-  const selectionChanges=(rows) => {
-    seqList.value=[];
-    rows?.forEach((element) => {
-      seqList.value.push({seqId:element.id,seqNo:element.seqNo});
-    });
-
-  }
-  const onSelectedFinish=(selectedValue)=>{
-    form.value.recipient=selectedValue.userName;
-  }
-
-  // 设置表格列或者其他自定义的option
-  option.value = Object.assign(option.value, {
-    selection: true,
-    addBtn: false,
-    editBtn:false,
-    delBtn:false,
-    viewBtn:false,
-    menu:false,
-    columnBtn: false,
-    gridBtn: false,
-    column: [
-      {
-        label: "流转卡号",
-        prop: "seqNo",
-      },
-    ],
+};
+onMounted(() => {
+  // console.log("crudRef", crudRef)
+  search.value.workOrderCode = props.workOrderCode;
+  //未入库
+  search.value.isStock = "0";
+  //已完工
+  search.value.state = "2";
+  dataNoPageList();
+});
+const seqList = ref([]);
+// 设置selection: true,后监听选中改变事件,将Id存入数组
+const selectionChanges = (rows) => {
+  seqList.value = [];
+  rows?.forEach((element) => {
+    seqList.value.push({ seqId: element.id, seqNo: element.seqNo });
   });
-  const option2=ref({});
-  const data2=ref({});
-  // 设置表格列或者其他自定义的option
-  option2.value = {
-    addBtn: false,
-    editBtn:false,
-    delBtn:false,
-    viewBtn:false,
-    menu:false,
-    submitBtn:false,
-    emptyBtn:false,
-    columnBtn: false,
-    gridBtn: false,
-    refreshBtn:false,
-    column: [
-      {
-        label: "接收人",
-        prop: "recipient",
-        span:24,
-        click: ({ value, column }) => {
-          ctableRef.value.startSelect();
-        },
-        rules: [
-          {
-            required: true,
-            message: "请输入接收人",
-            trigger: "blur",
-          },
-        ],
+};
+const onSelectedFinish = (selectedValue) => {
+  form.value.recipient = selectedValue.userName;
+};
+
+// 设置表格列或者其他自定义的option
+option.value = Object.assign(option.value, {
+  selection: true,
+  addBtn: false,
+  editBtn: false,
+  delBtn: false,
+  viewBtn: false,
+  menu: false,
+  columnBtn: false,
+  gridBtn: false,
+  column: [
+    {
+      label: "流转卡号",
+      prop: "seqNo",
+    },
+  ],
+});
+const option2 = ref({});
+const data2 = ref({});
+// 设置表格列或者其他自定义的option
+option2.value = {
+  addBtn: false,
+  editBtn: false,
+  delBtn: false,
+  viewBtn: false,
+  menu: false,
+  submitBtn: false,
+  emptyBtn: false,
+  columnBtn: false,
+  gridBtn: false,
+  refreshBtn: false,
+  column: [
+    {
+      label: "接收人",
+      prop: "recipient",
+      span: 24,
+      click: ({ value, column }) => {
+        ctableRef.value.startSelect();
       },
-      {
-        label: "备注",
-        prop: "remark",
-        span:24,
-        type: "textarea",
+      change: ({ value, column }) => {
+        if (value != form.value.recipient) {
+          ctableRef.value.startSelect();
+        }
       },
-
-    ],
-  };
-
-
+      rules: [
+        {
+          required: true,
+          message: "请输入接收人",
+          trigger: "blur",
+        },
+      ],
+    },
+    {
+      label: "备注",
+      prop: "remark",
+      span: 24,
+      type: "textarea",
+    },
+  ],
+};
 </script>
 
 <style>
-  .avue-crud__header{min-height: 0px;}
-  .detail-footer{
-    float: right;
-  }
+.avue-crud__header {
+  min-height: 0px;
+}
+.detail-footer {
+  float: right;
+}
 </style>

+ 5 - 0
src/views/plan/order/index.vue

@@ -410,6 +410,11 @@ option.value = {
           dialog1.visible = true;
         }
       },
+      change: ({ value, column }) => {
+        if (value != form.value.materialCode) {
+          dialog1.visible = true;
+        }
+      },
     },
     {
       label: "产品名称",

+ 33 - 2
src/views/plan/workOrder/index.vue

@@ -542,7 +542,11 @@ const lineInfo = (value) => {
   dialog3.visible = false;
 };
 const workShopInfo = (value) => {
-  if(form.value.workshopCode && value.code && form.value.workshopCode !== value.code){
+  if (
+    form.value.workshopCode &&
+    value.code &&
+    form.value.workshopCode !== value.code
+  ) {
     form.value.productLineId = "";
     form.value.productLineName = "";
   }
@@ -603,6 +607,13 @@ option.value = Object.assign(option.value, {
           dialog.visible = true;
         }
       },
+      change: ({ value, column }) => {
+        if (column.boxType) {
+          if (value != form.value.orderCode) {
+            dialog.visible = true;
+          }
+        }
+      },
     },
     {
       label: "订单名称",
@@ -700,6 +711,13 @@ option.value = Object.assign(option.value, {
           dialog1.visible = true;
         }
       },
+      change: ({ value, column }) => {
+        if (column.boxType) {
+          if (value != form.value.processRouteName) {
+            dialog1.visible = true;
+          }
+        }
+      },
     },
     {
       label: "工艺版本",
@@ -729,7 +747,6 @@ option.value = Object.assign(option.value, {
         },
       ],
       click: ({ value, column }) => {
-        console.log(column.boxType, "22");
         if (column.boxType) {
           dialog2.visible = true;
         }
@@ -737,6 +754,13 @@ option.value = Object.assign(option.value, {
           form.value.productLineName = "";
         }
       },
+      change: ({ value, column }) => {
+        if (column.boxType) {
+          if (value != form.value.workshopName) {
+            dialog2.visible = true;
+          }
+        }
+      },
     },
     {
       label: "产线名称",
@@ -762,6 +786,13 @@ option.value = Object.assign(option.value, {
           dialog3.visible = true;
         }
       },
+      change: ({ value, column }) => {
+        if (column.boxType) {
+          if (value != form.value.productLineName) {
+            dialog3.visible = true;
+          }
+        }
+      },
     },
     {
       label: "开始时间",

+ 5 - 0
src/views/pro/traceability/components/equitCom.vue

@@ -156,6 +156,11 @@ option.value = Object.assign(option.value, {
       click: ({ value, column }) => {
         dialog.visible = true;
       },
+      change: ({ value, column }) => {
+        if (value != form.value.equitCode) {
+          dialog.visible = true;
+        }
+      },
     },
     {
       label: "计量有效期",

+ 6 - 0
src/views/pro/traceability/components/faultCom.vue

@@ -100,6 +100,12 @@ option.value = Object.assign(option.value, {
       click: ({ value, column }) => {
         ctableRef.value.startSelect();
       },
+      change: ({ value, column }) => {
+        if (value != form.value.creator) {
+          ctableRef.value.startSelect();
+        }
+      },
+      
       rules: [
         {
           required: true,

+ 32 - 27
src/views/pro/traceability/components/materialsCom.vue

@@ -12,22 +12,20 @@
     >
       <template #menu="{ size, row, index }">
         <el-button
-            v-if="
-            row.itemCode!=undefined && row.itemCode!=null
-          "
-            type="primary"
-            link
-            size="small"
-            @click="doEdit(row,index)"
-        ><i-ep-edit />编辑
+          v-if="row.itemCode != undefined && row.itemCode != null"
+          type="primary"
+          link
+          size="small"
+          @click="doEdit(row, index)"
+          ><i-ep-edit />编辑
         </el-button>
       </template>
     </avue-crud>
     <CommonTable
-        ref="ctableRef"
-        tableTitle="物料选择"
-        tableType="MARTERIAL"
-        @selected-sure="onSelectedFinish"
+      ref="ctableRef"
+      tableTitle="物料选择"
+      tableType="MARTERIAL"
+      @selected-sure="onSelectedFinish"
     />
   </div>
 </template>
@@ -36,7 +34,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, useUserStoreHook} from "@/store";
+import {
+  useCommonStoreHook,
+  useDictionaryStore,
+  useUserStoreHook,
+} from "@/store";
 
 // 数据字典相关
 const { dicts } = useDictionaryStore();
@@ -71,15 +73,14 @@ const refreshTra = (row) => {
 };
 defineExpose({ refreshTra });
 onMounted(() => {
-  if(userStore.user.userId===10000){
-    option.value.menu=true;
-
+  if (userStore.user.userId === 10000) {
+    option.value.menu = true;
   }
 });
 const onSelectedFinish = (selectedValue) => {
-   form.value.itemCode=selectedValue.materialCode;
-   form.value.itemName=selectedValue.materialName;
-   form.value.itemModel=selectedValue.spec;
+  form.value.itemCode = selectedValue.materialCode;
+  form.value.itemName = selectedValue.materialName;
+  form.value.itemModel = selectedValue.spec;
 };
 option.value = Object.assign(option.value, {
   selection: false,
@@ -95,14 +96,14 @@ option.value = Object.assign(option.value, {
   menu: false,
   header: false,
   editBtn: false,
-  rowKey: 'opId',
+  rowKey: "opId",
   column: [
-	{
-	  label: "工序Id",
-	  prop: "opId",
-		display: false,
-		hide: true,
-	},
+    {
+      label: "工序Id",
+      prop: "opId",
+      display: false,
+      hide: true,
+    },
     {
       label: "工序名称",
       prop: "opName",
@@ -127,6 +128,11 @@ option.value = Object.assign(option.value, {
       click: ({ value, column }) => {
         ctableRef.value.startSelect();
       },
+      change: ({ value, column }) => {
+        if (value != form.value.itemCode) {
+          ctableRef.value.startSelect();
+        }
+      },
       rules: [
         {
           required: true,
@@ -134,7 +140,6 @@ option.value = Object.assign(option.value, {
           trigger: "blur",
         },
       ],
-
     },
     {
       label: "采集编码",

+ 5 - 0
src/views/pro/traceability/components/mediaCom.vue

@@ -125,6 +125,11 @@ option.value = Object.assign(option.value, {
       click: ({ value, column }) => {
         ctableRef.value.startSelect();
       },
+      change: ({ value, column }) => {
+        if (value != form.value.creator) {
+          ctableRef.value.startSelect();
+        }
+      },
       rules: [
         {
           required: true,

+ 5 - 0
src/views/pro/traceability/components/traceabilityCom.vue

@@ -187,6 +187,11 @@ option.value = Object.assign(option.value, {
       click: ({ value, column }) => {
         userRef.value.startSelect();
       },
+      change: ({ value, column }) => {
+        if (value != form.value.operator) {
+          userRef.value.startSelect();
+        }
+      },
     },
     {
       label: "工时(秒)",

+ 7 - 11
src/views/pro/traceability/index.vue

@@ -15,6 +15,7 @@
           @cell-click="handleCellClick"
           @search-change="searchChange"
           @size-change="dataList"
+          @search-reset="resetChange"
           @current-change="dataList"
           @selection-change="selectionChange"
         >
@@ -190,7 +191,8 @@ const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
     src: "/api/v1/process/web/traceability",
   });
 
-const { dataList, createRow, updateRow, deleteRow, searchChange } = Methords; //增删改查
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm } = Utils; //按钮权限等工具
 
@@ -228,17 +230,11 @@ const tabsEvent = (pane, ev) => {
 const chooseTagType = (row, type) => {
   let daynamicType = "";
   if (type == "text") {
-    daynamicType = row === 'order'
-      ? "订单"
-      : row === 'workOrder'
-        ? "工单"
-        : "流转卡号";
+    daynamicType =
+      row === "order" ? "订单" : row === "workOrder" ? "工单" : "流转卡号";
   } else {
-    daynamicType = row === 'order'
-      ? "success"
-      : row === 'workOrder'
-        ? "warning"
-        : "primary";
+    daynamicType =
+      row === "order" ? "success" : row === "workOrder" ? "warning" : "primary";
   }
   return daynamicType;
 };

+ 62 - 24
src/views/report/statistics/processanomaly/index.vue

@@ -1,39 +1,77 @@
 <template>
   <div class="mainContentBox">
-    <avue-crud ref="crudRef1" v-model:search="data1.search" :data="data1.data" :option="data1.option"
-      v-model:page="data1.page" @row-save="createRow" @row-update="updateRow" @row-del="deleteRow"
-      @search-change="searchChange" @search-reset="resetChange" @size-change="dataList" @current-change="dataList"
-      @selection-change="selectionChange" @cell-click="ckickCell">
+    <avue-crud
+      ref="crudRef1"
+      v-model:search="data1.search"
+      :data="data1.data"
+      :option="data1.option"
+      v-model:page="data1.page"
+      @row-save="createRow"
+      @row-update="updateRow"
+      @row-del="deleteRow"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
+      @selection-change="selectionChange"
+      @cell-click="ckickCell"
+    >
       <template #menu="{ row, index, type }">
-        <el-button @click="ckickCell(row)" icon="el-icon-view" text type="primary">查看</el-button>
+        <el-button
+          @click="ckickCell(row)"
+          icon="el-icon-view"
+          text
+          type="primary"
+          >查看</el-button
+        >
       </template>
       <template #menu-right="{}">
-        <el-button class="ml-3" @click="
-          data1.Utils.exportData(
-            '/api/v1/process/census/abnormalOperation/export'
-          )
-          ">
+        <el-button
+          class="ml-3"
+          @click="
+            data1.Utils.exportData(
+              '/api/v1/process/census/abnormalOperation/export'
+            )
+          "
+        >
           <template #icon> <i-ep-download /> </template>导出
         </el-button>
       </template>
     </avue-crud>
-    <el-dialog v-model="editDialog.visible" :title="editDialog.title" width="1200px"
-      @close="editDialog.visible = false">
+    <el-dialog
+      v-model="editDialog.visible"
+      :title="editDialog.title"
+      width="1200px"
+      @close="editDialog.visible = false"
+    >
       <div class="mainContentBox">
-        <avue-crud ref="crudRef2" v-model:search="data2.search" :data="data2.data" :option="data2.option"
-          v-model:page="data2.page" @row-update="data2.Methords.updateRow" @row-del="data2.Methords.deleteRow"
-          @search-change="data2.Methords.dataList" @search-reset="data2.Methords.resetChange"
-          @size-change="data2.Methords.dataList" @current-change="data2.Methords.dataList"
-          @selection-change="data2.Methords.selectionChange">
+        <avue-crud
+          ref="crudRef2"
+          v-model:search="data2.search"
+          :data="data2.data"
+          :option="data2.option"
+          v-model:page="data2.page"
+          @row-update="data2.Methords.updateRow"
+          @row-del="data2.Methords.deleteRow"
+          @search-change="data2.Methords.dataList"
+          @search-reset="data2.Methords.resetChange"
+          @size-change="data2.Methords.dataList"
+          @current-change="data2.Methords.dataList"
+          @selection-change="data2.Methords.selectionChange"
+        >
           <template #menu-right="{}">
-            <el-button class="ml-3" @click="
-              data2.Utils.exportData(
-                '/api/v1/process/census/abnormalOperationDetails/export'
-              )
-              ">
+            <el-button
+              class="ml-3"
+              @click="
+                data2.Utils.exportData(
+                  '/api/v1/process/census/abnormalOperationDetails/export'
+                )
+              "
+            >
               <template #icon> <i-ep-download /> </template>导出
             </el-button>
-          </template></avue-crud>
+          </template></avue-crud
+        >
       </div>
     </el-dialog>
   </div>
@@ -72,7 +110,7 @@ const { selectionChange, multipleDelete } = data1.value.Methords;
 
 const ckickCell = (row) => {
   data2.value.search.workOrderCode = row.workOrderCode;
-  data2.value.search.operationCode = row.operationCode
+  data2.value.search.operationCode = row.operationCode;
   data2.value.search.searchTime = data1.value.search.searchTime;
   editDialog.value.visible = true;
 };

+ 18 - 5
src/views/report/statistics/stationbeat/index.vue

@@ -1,14 +1,27 @@
 <template>
   <div class="mainContentBox">
-    <avue-crud ref="crudRef1" v-model:search="data1.search" :data="data1.data" :option="data1.option"
-      v-model:page="data1.page" @row-update="updateRow" @row-del="deleteRow" @search-change="dataList"
-      @search-reset="resetChange" @size-change="dataList" @current-change="dataList"
-      @selection-change="selectionChange">
+    <avue-crud
+      ref="crudRef1"
+      v-model:search="data1.search"
+      :data="data1.data"
+      :option="data1.option"
+      v-model:page="data1.page"
+      @row-update="updateRow"
+      @row-del="deleteRow"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
+      @selection-change="selectionChange"
+    >
       <template #header="{ size }">
         <div id="dailystoragecharts"></div>
       </template>
       <template #menu-right="{}">
-        <el-button class="ml-3" @click="exportData('/api/v1/process/census/beatInfo/export')">
+        <el-button
+          class="ml-3"
+          @click="exportData('/api/v1/process/census/beatInfo/export')"
+        >
           <template #icon> <i-ep-download /> </template>导出
         </el-button>
       </template>