From 1d3f8dc16ca98b14a40da8c70a405793295faa78 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期三, 23 四月 2025 13:47:45 +0800
Subject: [PATCH] 系统配置页面修改bug,上片新增页面

---
 UI-Project/src/lang/en.js                     |    1 
 UI-Project/src/lang/py.js                     |    1 
 UI-Project/src/lang/zh.js                     |    1 
 UI-Project/src/router/index.js                |    5 
 UI-Project/src/views/Returns/upreturnsnew.vue |  635 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 UI-Project/src/views/User/userpageNo.vue      |   34 +
 6 files changed, 666 insertions(+), 11 deletions(-)

diff --git a/UI-Project/src/lang/en.js b/UI-Project/src/lang/en.js
index 9c7b146..ec50530 100644
--- a/UI-Project/src/lang/en.js
+++ b/UI-Project/src/lang/en.js
@@ -401,6 +401,7 @@
     },
     productStock: {
         configName: 'configure name',
+        configNamea:'configure name锛�',
         configCode: 'Configuration Code',
         configValue: 'Configuration value',
         addusers: 'Add user',
diff --git a/UI-Project/src/lang/py.js b/UI-Project/src/lang/py.js
index ef35afe..b10e566 100644
--- a/UI-Project/src/lang/py.js
+++ b/UI-Project/src/lang/py.js
@@ -400,6 +400,7 @@
     },
     productStock: {
         configName:'閰嶇疆鍚�',
+        configNamea:'閰嶇疆鍚嶏細',
         configCode:'閰嶇疆浠g爜',
         configValue:'閰嶇疆鍊�',
         addusers: '袛芯斜邪胁褜褌械 锌芯谢褜蟹芯胁邪褌械谢械泄.',
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index 1453cf1..762e03b 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -402,6 +402,7 @@
           addconfigName:'娣诲姞閰嶇疆',
           editconfigName:'淇敼閰嶇疆',
           configName:'閰嶇疆鍚�',
+          configNamea:'閰嶇疆鍚嶏細',
           configCode:'閰嶇疆浠g爜',
           configValue:'閰嶇疆鍊�',
           configValuea:'閰嶇疆鍊硷細',
diff --git a/UI-Project/src/router/index.js b/UI-Project/src/router/index.js
index cdc1ffb..b535f1d 100644
--- a/UI-Project/src/router/index.js
+++ b/UI-Project/src/router/index.js
@@ -55,6 +55,11 @@
             name: 'upreturns2',
             component: () => import('../views/Returns/upreturns2.vue')
           },
+          {
+            path: '/Returns/upreturnsnew',
+            name: 'upreturnsnew',
+            component: () => import('../views/Returns/upreturnsnew.vue')
+          },
         ]
       },
       /*----------- 鎺扮墖/璇嗗埆 ----------------*/
diff --git a/UI-Project/src/views/Returns/upreturnsnew.vue b/UI-Project/src/views/Returns/upreturnsnew.vue
new file mode 100644
index 0000000..b658a1f
--- /dev/null
+++ b/UI-Project/src/views/Returns/upreturnsnew.vue
@@ -0,0 +1,635 @@
+<script lang="ts" setup>
+import { onBeforeUnmount, onMounted, onUnmounted, reactive, ref, computed } from "vue";
+import { useRouter } from "vue-router"
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { useI18n } from 'vue-i18n'
+import { host, WebSocketHost } from '@/utils/constants'
+import request from "@/utils/request"
+import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService';
+const router = useRouter()
+const { t } = useI18n()
+const selectValuesa = reactive([]);
+const selectedProjectNo = ref('');
+const stationCell = ref('1');
+const filmRemove = ref('');
+const dialogFormVisible = ref(false)
+const blind = ref(false)
+const blinda = ref(false)
+const blindb = ref(false)
+const blindbd = ref(false)
+const ReportData = ref(true);
+const canSelectProjecta = ref(true);
+const canSelectProjectb = ref(true);
+const canSelectProjectc = ref(false);
+const tableDatax = ref([])
+const tableDatad = ref([])
+const upstatus = ref(t('basicData.machineaa'));
+const cuttingMachineStatusColor = ref('#911005');
+const tableDataa = ref<any[]>([]);
+const tableDatab = ref<any[]>([]);
+const stationInfos = reactive({});
+const buttonEnabledStatus = ref({});
+const globalDate = inject('globalDate');
+import { inject } from 'vue';
+import { tr } from "element-plus/es/locale";
+const tableData = ref([])
+const titleSelectJson = ref({
+  engineerId: [],
+})
+request.post("/loadGlass/up-patten-usage/setUpPattenRequest", {
+  state: null,
+  stationCell: 5
+}).then((response) => {
+  if (response.code == 200) {
+  } else {
+    // ElMessage.warning(response.msg)
+  }
+});
+const selectproject = () => {
+  dialogFormVisible.value = true;
+  selectgong();
+};
+const markingMachineStatus = ref('#911005');
+const cuttingMachineStatus = ref('#911005');
+const confirmMarkingMachine = () => {
+  markingMachineStatus.value = 'green';
+};
+const confirmCuttingMachine = () => {
+  cuttingMachineStatus.value = 'green';
+};
+onMounted(() => {
+  socket = initializeWebSocket(socketUrl, handleMessage);
+});
+onUnmounted(() => {
+  if (socket) {
+    closeWebSocket(socket);
+  }
+});
+let socket = null;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlassOne`;
+const handleMessage = (data: any) => {
+  if (data.inkageState != null) {
+    cuttingMachineStatusColor.value = data.inkageState[0] === 1 ? 'green' : '#911005';
+  }
+  if (data.stationList.length != 0) {
+    const processedData = [...data.stationList[0]];
+    if (processedData.length > 0) {
+      processedData[0] = { ...processedData[0], workstationId: 1 };
+    }
+    if (processedData.length > 1) {
+      processedData[1] = { ...processedData[1], workstationId: 2 };
+    }
+    tableDataa.value = processedData;
+  } else {
+    tableDataa.value = []
+  }
+  if (data.upPattenUsages.length != 0) {
+    tableData.value = data.upPattenUsages[0]
+    window.localStorage.setItem('engineeringIda', tableData.value[0].engineeringId)
+    canSelectProjecta.value = false;
+    canSelectProjectb.value = false;
+    canSelectProjectc.value = true;
+  }
+  else {
+    canSelectProjecta.value = true;
+    canSelectProjectb.value = true;
+    canSelectProjectc.value = false;
+    tableData.value = [];
+    window.localStorage.setItem('engineeringIda', '')
+  }
+};
+onBeforeUnmount(() => {
+  closeWebSocket();
+});
+const requestData = {
+  state: 100
+};
+const selectgong = async (queryString: string) => {
+  try {
+    const response = await request.post('/loadGlass/optimizeProject/listByState', {
+      ...requestData,
+      query: queryString
+    });
+    if (response.code == 200) {
+      titleSelectJson.value.engineerId = response.data;
+    } else {
+      // ElMessage.error(response.message);
+    }
+  } catch (error) {
+    console.error(error);
+  }
+};
+//閫夋嫨宸ョ▼棰勮纭
+const handlesure = async () => {
+  try {
+    const response = await request.post('/loadGlass/up-patten-usage/selectUpPattenUsage', {
+      stationCell: 5,
+      engineerId: selectedProjectNo.value,
+      filmRemove: parseInt(filmRemove.value, 10),
+    })
+    window.localStorage.setItem('engineeringIda', selectedProjectNo.value)
+    window.localStorage.setItem('filmRemove', filmRemove.value)
+    if (response.code == 200) {
+      ElMessage.success(response.message);
+      closeWebSocket(socket);
+      tableData.value = response.data;
+      dialogFormVisible.value = false;
+      selectedProjectNo.value = '';
+      filmRemove.value = '';
+      markingMachineStatus.value = '#911005';
+      cuttingMachineStatus.value = '#911005';
+      ReportData.value = false;
+    } else {
+      ElMessage.error(response.message);
+    }
+  } catch (error) {
+    console.error(error);
+  }
+}
+// 寮�濮嬩笂鐗�
+const handleon = async () => {
+  let filmRemove = window.localStorage.getItem('filmRemove')
+  let engineeringId = window.localStorage.getItem('engineeringIda')
+  if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
+    try {
+      const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
+        stationCell: 5,
+        filmRemove: filmRemove,
+        engineerId: engineeringId,
+        state: 1,
+      })
+      if (response.code == 200) {
+        ElMessage.success(response.message);
+        canSelectProjecta.value = false;
+        canSelectProjectb.value = false;
+        canSelectProjectc.value = true;
+        socket = initializeWebSocket(socketUrl, handleMessage);
+        blind.value = false;
+        ReportData.value = true;
+      } else {
+        ElMessage.error(response.message);
+      }
+    } catch (error) {
+      console.error(error);
+    }
+  } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') {
+    ElMessage.warning(t('basicData.pausea'));
+  }
+}
+// 鏆傚仠
+const handleup = async () => {
+  try {
+    let filmRemove = window.localStorage.getItem('filmRemove')
+    let engineeringId = window.localStorage.getItem('engineeringIda')
+    if (engineeringId !== '') {
+      const response = await request.post('/loadGlass/engineering/engineering/pause', {
+        stationCell: 5,
+        filmRemove: filmRemove,
+        engineerId: engineeringId,
+        state: 0,
+      })
+      if (response.code == 200) {
+        ElMessage.success(response.message);
+        blinda.value = false;
+      } else {
+        ElMessage.error(response.message);
+      }
+    } else {
+      ElMessage({
+        type: 'info',
+        message: t('basicData.infonull'),
+      })
+    }
+  } catch (error) {
+    console.error(error);
+  }
+}
+// 鏌ヨ鏁版嵁
+const selectReportData = async () => {
+  let stateList = []
+  if (selectValuesa[0] != null && selectValuesa[0] != 'undefined') {
+    if (selectValuesa[0] != "") {
+      stateList = [selectValuesa[0]];
+    }
+  }
+  const response = await request.post("/loadGlass/up-patten-usage/setUpPattenRequest", {
+    state: selectValuesa[0],
+    stationCell: 5
+  })
+  if (response.code === 200) {
+    tableData.value = response.data;
+    ElMessage.success(response.message);
+  } else {
+    ElMessage.error(response.message);
+  }
+};
+// 寮�濮嬩笂鐗�
+const handleBind = (row) => {
+  blind.value = true;
+};
+// 鏆傚仠
+const handleBinda = (row) => {
+  blinda.value = true;
+};
+const toggleEnableState = async (row: any) => {
+  if (!row.id) {
+    ElMessage.error(t('basicData.updatanull'));
+    return;
+  }
+  const newState = row.state === 100 ? 0 : 100;
+  try {
+    const response = await request.post('/loadGlass/up-patten-usage/updateGlassState', { id: row.id, state: newState });
+    if (response.code === 200) {
+      ElMessage.success(response.message);
+      row.state = newState;
+    } else {
+      ElMessage.error(response.message);
+    }
+  } catch (error) {
+    ElMessage.error(t('basicData.glassnull'));
+  }
+};
+// 鐮存崯
+const opena = async (row) => {
+  try {
+    const confirmResult = await ElMessageBox.confirm(
+      t('searchOrder.broke'),
+      t('productStock.prompt'),
+      {
+        confirmButtonText: t('productStock.yes'),
+        cancelButtonText: t('productStock.cancel'),
+        type: 'warning',
+      }
+    );
+    if (confirmResult === 'confirm') {
+      const response = await request.post('/loadGlass/engineering/engineering/identControls', {
+        glassId: row.glassId,
+        line: 5,
+        status: 1,
+        state: 8,
+        workingProcedure: '涓婄墖',
+      })
+      if (response.code === 200) {
+        ElMessage.success(response.message);
+      } else {
+        ElMessage.error(response.msg);
+      }
+    }
+  } catch (error) {
+    console.error('鍙戠敓閿欒:', error);
+  }
+};
+// 浜哄伐鎷胯蛋
+const openb = async (row) => {
+  try {
+    const confirmResult = await ElMessageBox.confirm(
+      t('order.takeawaya'),
+      t('productStock.prompt'),
+      {
+        confirmButtonText: t('productStock.yes'),
+        cancelButtonText: t('productStock.cancel'),
+        type: 'warning',
+      }
+    );
+    if (confirmResult === 'confirm') {
+      const response = await request.post('/loadGlass/engineering/engineering/identControls', {
+        glassId: row.glassId,
+        line: 5,
+        status: 1,
+        state: 9,
+        workingProcedure: '涓婄墖',
+      })
+      if (response.code === 200) {
+        ElMessage.success(response.message);
+      } else {
+        ElMessage.error(response.msg);
+      }
+    }
+  } catch (error) {
+    console.error('鍙戠敓閿欒:', error);
+  }
+};
+
+// 鏋跺瓙澶嶄綅
+const handleptask = async (workstationId: number) => {
+  try {
+    const confirmResult = await ElMessageBox.confirm(
+      t('basicData.prackreset'),
+      t('workOrder.prompt'),
+      {
+        confirmButtonText: t('workOrder.yes'),
+        cancelButtonText: t('workOrder.cancel'),
+        type: 'warning',
+      }
+    );
+    if (confirmResult === 'confirm') {
+
+      const slot = workstationId === 1 ? 101 : (workstationId === 2 ? 102 : null);
+      if (slot !== null) {
+        const response = await request.post('/glassStorage/rawGlassStorageDetails/shelfReset', {
+          slot: slot,
+        })
+        // const url = `/loadGlass/rawGlassStorageDetails/shelfReset?slot=${slot}`;
+        // const response = await request.post(url);
+        if (response.code === 200) {
+          ElMessage.success(response.message);
+        } else {
+          ElMessage.error(response.message);
+        }
+      } else {
+      }
+    }
+  } catch (error) {
+  }
+};
+// 缁撴潫宸ョ▼
+const deleteTask = async () => {
+  try {
+    const confirmResult = await ElMessageBox.confirm(
+      t('searchOrder.pdeleteTask'),
+      t('workOrder.prompt'),
+      {
+        confirmButtonText: t('workOrder.yes'),
+        cancelButtonText: t('workOrder.cancel'),
+        type: 'warning',
+      }
+    );
+    if (confirmResult === 'confirm') {
+      let engineeringId = window.localStorage.getItem('engineeringIda')
+      if (engineeringId !== '') {
+        const response = await request.post('/loadGlass/engineering/engineering/deleteTask', {
+          engineerId: engineeringId,
+        })
+        if (response.code == 200) {
+          ElMessage.success(response.message);
+          canSelectProjecta.value = true;
+          canSelectProjectb.value = true;
+          canSelectProjectc.value = false;
+          blindb.value = true;
+          tableDatad.value = response.data;
+        } else {
+          ElMessage.error(response.message);
+        }
+      } else {
+      }
+    }
+  } catch (error) {
+  }
+};
+// 鍘嗗彶浠诲姟
+const iframeUrl = ref('');
+const handlehistorical = (row) => {
+  blindbd.value = true;
+  iframeUrl.value = `${window.location.origin}/#/Returns/upreturnhistory`;
+};
+function getStatusType2(filmRemove) {
+  switch (filmRemove) {
+    case 0:
+      return 'success';
+    case 1:
+      return 'info';
+    case 2:
+      return 'warning';
+  }
+}
+function getStatusText2(filmRemove) {
+  switch (filmRemove) {
+    case 0:
+      return t('Mounting.noremoval');//瀹屾垚
+    case 1:
+      return t('Mounting.coarselyground');//鏂板缓
+    case 2:
+      return t('Mounting.finegrinding');//鎵ц涓�
+  }
+}
+</script>
+<template>
+  <div style="height: 500px;">
+    <div>
+      <div id="dotClass">
+        <div>{{ $t('basicData.laserprinting') }}</div>
+        <i
+          :style="{ marginTop: '2px', backgroundColor: markingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
+        <el-button @click="confirmMarkingMachine" style="margin-left: 30px;margin-top: -3px;">{{
+          $t('basicData.yes')
+        }}
+        </el-button>
+        <div style="margin-left: 70px;">{{ $t('basicData.cuttingmachine') }}</div>
+        <i
+          :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
+        <el-button @click="confirmCuttingMachine" style="margin-left: 30px;margin-top: -3px;">{{
+          $t('basicData.yes')
+        }}
+        </el-button>
+        <div style="margin-left: 70px;">{{ upstatus }}</div>
+        <i
+          :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatusColor, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
+      </div>
+      <el-button :disabled="!canSelectProjecta" style="margin-top: 5px;margin-left: 15px;" type="primary"
+        @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button>
+      <el-button :disabled="!canSelectProjectb" style="margin-top: 5px;margin-left: 20px;" type="success"
+        @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
+      <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton"
+        type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
+      <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton"
+        type="danger" @click="deleteTask">{{ $t('searchOrder.deleteTask') }}</el-button>
+      <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlehistorical">{{
+        $t('searchOrder.historicaltasks') }}</el-button>
+      <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.oneloadingline')"
+        style="margin-top: 5px;margin-left: 20px;">
+        <el-option :label="$t('Mounting.all')" value="0"></el-option>
+        <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+        <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+      </el-select>
+      <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')"
+        style="margin-top: 5px;margin-left: 20px;">
+        <el-option :label="$t('Mounting.all')" value="null"></el-option>
+        <el-option :label="$t('Mounting.waiting')" value="0"></el-option>
+        <el-option :label="$t('Mounting.pass')" value="100"></el-option>
+      </el-select>
+      <el-button :disabled="!ReportData" type="primary" style="margin-left: 10px;" @click="selectReportData()">{{
+        $t('Mounting.setparameters') }}</el-button>
+      <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;">
+        <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+          <el-table height="400" ref="table" :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }"
+            :data="tableData">
+            <el-table-column prop="engineeringId" :label="$t('Mounting.project')" width="120" align="center" />
+            <el-table-column prop="width" :label="$t('Mounting.width')" width="200" align="center" />
+            <el-table-column prop="height" :label="$t('Mounting.height')" align="center" />
+            <el-table-column prop="thickness" :label="$t('Mounting.thickness')" align="center" />
+            <el-table-column prop="filmsId" :label="$t('Mounting.loadinglinea')" align="center" />
+            <el-table-column prop="layoutSequence" :label="$t('Mounting.projectnumber')" align="center" />
+            <el-table-column align="center" :label="$t('Mounting.state')" min-width="80" prop="state">
+              <template #default="scope">
+                <el-tag :type="scope.row.state === 100 ? 'success' : 'warning'" @click="toggleEnableState(scope.row)">
+                  {{ scope.row.state === 100 ? $t('Mounting.pass') : $t('Mounting.waiting') }}
+                </el-tag>
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+      </el-card>
+      <div style="display: flex;">
+        <div style="width: 49%;float: left;margin-left: 300px;">
+          <div style="display: flex;">
+            <img src="../../assets/shangpianji.png" alt=""
+              style="max-width: 20%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
+            <el-table :data="tableDataa" border style="margin-top: 10%;margin-left: 8%;" width="500"
+              :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+              <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="65" />
+              <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="75" />
+              <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="75" />
+              <el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80" />
+              <el-table-column prop="remainQuantity" align="center" :label="$t('basicData.quantity')" min-width="80" />
+              <el-table-column prop="patternThickness" align="center" :label="$t('basicData.thickness')"
+                min-width="60" />
+              <el-table-column fixed="right" :label="$t('film.operate')" align="center" width="100">
+                <template #default="scope">
+                  <el-button :disabled="(!scope.row.patternThickness)" type="text" plain
+                    @click="handleptask(scope.row.workstationId)">{{ $t('basicData.rackreset') }}</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+        </div>
+      </div>
+      <el-dialog v-model="blind" top="30vh" width="25%" :title="$t('basicData.startfilm')">
+        <template #footer>
+          <div id="dialog-footer">
+            <el-button type="primary" @click="handleon">
+              {{ $t('basicData.confirm') }}
+            </el-button>
+            <el-button @click="blind = false">{{ $t('basicData.cancel') }}</el-button>
+          </div>
+        </template>
+      </el-dialog>
+      <!-- 缁撴潫宸ョ▼ -->
+      <el-dialog v-model="blindb" top="10vh" width="80%">
+        <el-table ref="table" style="margin-top: 20px;height: 450px;" :data="tableDatad"
+          :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+          <el-table-column prop="engineerId" fixed align="center" :label="$t('basicData.projectnumber')" />
+          <el-table-column prop="glassId" fixed align="center" :label="$t('searchOrder.glassID')" />
+          <el-table-column prop="temperingLayoutId" fixed align="center" :label="$t('searchOrder.layoutID')" />
+          <el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')" />
+          <el-table-column prop="width" align="center" :label="$t('basicData.width')" />
+          <el-table-column prop="height" align="center" :label="$t('basicData.height')" />
+          <el-table-column prop="thickness" align="center" :label="$t('basicData.thickness')" />
+          <el-table-column prop="filmsid" align="center" :label="$t('basicData.coatingtypes')" />
+          <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.processcards')" />
+          <el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="200">
+            <template #default="scope">
+              <el-button type="text" plain @click="opena(scope.row)">{{ $t('order.dilapidation') }}</el-button>
+              <el-button type="text" plain @click="openb(scope.row)">{{ $t('order.takeaway') }}</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <template #footer>
+          <div id="dialog-footer">
+            <el-button @click="blindb = false">{{ $t('large.close') }}</el-button>
+          </div>
+        </template>
+      </el-dialog>
+      <el-dialog v-model="blinda" top="24vh" width="30%" :title="$t('basicData.whetherpause')">
+        <div style="margin-left: 50px;margin-bottom: 10px;">
+          <el-form-item :label="$t('Mounting.loadingline')" :required="true">
+            <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')"
+              style="margin-left: 20px;">
+              <el-option :label="$t('Mounting.all')" value="0"></el-option>
+              <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+              <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+            </el-select>
+          </el-form-item>
+        </div>
+        <template #footer>
+          <div id="dialog-footer">
+            <el-button type="primary" @click="handleup">
+              {{ $t('basicData.confirm') }}
+            </el-button>
+            <el-button @click="blinda = false">{{ $t('basicData.cancel') }}</el-button>
+          </div>
+        </template>
+      </el-dialog>
+    </div>
+    <el-dialog v-model="dialogFormVisible" top="24vh" width="70%">
+      <div class="flex-container" style="margin-left: 50px;margin-bottom: 10px;">
+        <el-form-item :label="$t('Mounting.loadingline')" :required="true">
+          <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')">
+            <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+            <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item :label="$t('Mounting.projecta')" :required="true">
+          <el-select v-model="selectedProjectNo" filterable clearable :placeholder="$t('basicData.plselectproject')"
+            style="width: 220px" @input="handleInputChange">
+            <el-option v-for="item in titleSelectJson['engineerId']" :key="item.id" :label="item.projectNo"
+              :value="item.projectNo" />
+          </el-select>
+        </el-form-item>
+        <el-form-item :label="$t('Mounting.removalmethoda')" :required="true">
+          <el-select v-model="filmRemove" clearable :placeholder="$t('Mounting.removalmethod')">
+            <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
+            <el-option :label="$t('Mounting.coarselyground')" value="1"></el-option>
+            <el-option :label="$t('Mounting.finegrinding')" value="2"></el-option>
+          </el-select>
+        </el-form-item>
+      </div>
+      <template #footer>
+        <div id="dialog-footer">
+          <el-button type="primary" @click="handlesure">
+            {{ $t('basicData.confirm') }}
+          </el-button>
+          <el-button @click="dialogFormVisible = false">{{ $t('basicData.cancel') }}</el-button>
+        </div>
+      </template>
+    </el-dialog>
+    <!-- 鍘嗗彶浠诲姟 -->
+    <el-dialog v-model="blindbd" top="5vh" width="95%" @close="iframeUrl=''">
+      <iframe :src="iframeUrl" marginwidth="2000px" marginheight="2000px" width="100%" height="750px"
+        frameborder="0"></iframe>
+    </el-dialog>
+  </div>
+</template>
+<style scoped>
+.flex-container {
+  display: flex;
+  align-items: center;
+}
+
+.flex-container .el-form-item {
+  flex: 1;
+  margin-right: 0;
+  /* 绉婚櫎榛樿鐨勫彸渚ц竟璺� */
+}
+
+.flex-container .el-form-item:last-child {
+  margin-left: 20px;
+  /* 涓虹浜屼釜琛ㄥ崟椤规坊鍔犲乏渚ц竟璺� */
+}
+
+#dt {
+  display: block;
+  float: left;
+  line-height: 20px;
+  margin-left: 100px;
+}
+
+#dta {
+  display: block;
+  float: left;
+  line-height: 20px;
+  margin-left: 80%;
+}
+
+#dialog-footer {
+  text-align: center;
+  margin-top: -15px;
+}
+
+#dotClass {
+  display: flex;
+  margin-left: 20px;
+  size: 50px;
+  margin-top: 20px;
+  margin-bottom: 10px;
+}
+</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/User/userpageNo.vue b/UI-Project/src/views/User/userpageNo.vue
index 51a02d8..1ef997c 100644
--- a/UI-Project/src/views/User/userpageNo.vue
+++ b/UI-Project/src/views/User/userpageNo.vue
@@ -12,7 +12,9 @@
 let language = ref(localStorage.getItem('lang') || 'zh')
 const selectedProjectNoa = ref(null);
 const configName = ref('');
+const configNamesearch = ref('');
 const configCode = ref('');
+const configCodesearch = ref('');
 const tableData = ref([])
 const currentPage2 = ref(1)
 const totalRecords = ref(0)
@@ -36,8 +38,8 @@
         formattedCreateTime: formatTimestamp(record.createTime),
         formattedUpdateTime: formatTimestamp(record.updateTime),
       }));
-        tableData.value = formattedData;
-      totalRecords.value = response.data.total/2 || 0
+      tableData.value = formattedData;
+      totalRecords.value = response.data.pages*10
       } else {
       ElMessage.warning(response.data);  
     }  
@@ -52,8 +54,8 @@
     const response = await request.post('/loadGlass/sys/sysConfig/queryConfigPage',{
       pageNo: 1,
       pageSize: 10,
-      configName: configName.value,
-      configCode: configCode.value,
+      configName: configNamesearch.value,
+      configCode: configCodesearch.value,
       configValue: configValuesearch.value,
       isEnable: isEnablesearch.value !== '' ? isEnablesearch.value : -1, 
    
@@ -64,8 +66,8 @@
         formattedCreateTime: formatTimestamp(record.createTime),
         formattedUpdateTime: formatTimestamp(record.updateTime),
       }));
-        tableData.value = formattedData;
-      totalRecords.value = response.data.total/2 || 0
+      tableData.value = formattedData;
+      totalRecords.value = response.data.pages*10
       } else {
       ElMessage.warning(response.data);  
     }  
@@ -94,8 +96,8 @@
         formattedCreateTime: formatTimestamp(record.createTime),
         formattedUpdateTime: formatTimestamp(record.updateTime),
       }));
-        tableData.value = formattedData;
-      totalRecords.value = response.data.total/2 || 0
+      tableData.value = formattedData;
+      totalRecords.value = response.data.pages*10
       } else {
       ElMessage.warning(response.data);  
     }  
@@ -107,6 +109,7 @@
   adda.value = true;
   configValue.value = row.configValue
   isEnable.value = row.isEnable
+  configName.value = row.configName
   window.localStorage.setItem('id', row.id)
   window.localStorage.setItem('configName', row.configName)
   window.localStorage.setItem('configCode', row.configCode)
@@ -162,8 +165,8 @@
   <div>
     <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" >
       <div style="display: flex;width: 1770px;">
-    <el-input v-model="configName" clearable style="margin-left: 10px;margin-bottom: 10px;width: 200px;" :placeholder="$t('productStock.configName')" />
-    <el-input v-model="configCode" clearable style="margin-left: 10px;margin-bottom: 10px;width: 200px;" @input="handleInputa" :placeholder="$t('productStock.configCode')" />
+    <el-input v-model="configNamesearch" clearable style="margin-left: 10px;margin-bottom: 10px;width: 200px;" :placeholder="$t('productStock.configName')" />
+    <el-input v-model="configCodesearch" clearable style="margin-left: 10px;margin-bottom: 10px;width: 200px;" @input="handleInputa" :placeholder="$t('productStock.configCode')" />
     <el-input v-model="configValuesearch" clearable style="margin-left: 10px;margin-bottom: 10px;width: 200px;" @input="handleInputb" :placeholder="$t('productStock.configValue')" />
     <el-select v-model="isEnablesearch" clearable style="margin-left: 10px;margin-bottom: 10px;width: 200px;" :placeholder="$t('sorter.startstatus')">
             <el-option :label="$t('sorter.start')" value="1"></el-option>
@@ -213,7 +216,7 @@
     </div>
     </el-card>
   </div>
-  <el-dialog v-model="adda" top="23vh" width="37%" :title="$t('productStock.reusername')" >
+  <el-dialog v-model="adda" top="23vh" width="37%" >
     <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
             <el-form ref="formRef" label-width="150px">
       <el-form label-width="120px" label-position="right">
@@ -221,6 +224,15 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
+          <el-form-item :label="$t('productStock.configNamea')" :required="true" style="width: 25vw">
+                <el-input :placeholder="$t('productStock.configName')" disabled v-model="configName" autocomplete="off" style="width: 350px;"/>
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;margin-bottom: -2px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
           <el-form-item :label="$t('productStock.configValuea')" :required="true" style="width: 25vw">
                 <el-input :placeholder="$t('productStock.configValue')" v-model="configValue" autocomplete="off" style="width: 350px;"/>
               </el-form-item></div></div>

--
Gitblit v1.8.0