zhoushihao
2024-10-11 d5d0d1c7a84b996b9bbcebfaf2c2c95f1a5a3678
UI-Project/src/views/Slicecage/slicecage.vue
@@ -16,6 +16,7 @@
const dialogFormVisiblea = ref(false)
const dialogFormVisibleb = ref(false)
const dialogFormVisiblec = ref(false)
const dialogFormVisibles = ref(false)
const tableData = ref([])
const tableDatagh = ref([])
const tableDatab = ref([])
@@ -24,6 +25,7 @@
const tableDataf = ref([])
const tableDatae = ref([])
const tableDatax = ref([])
const tableDatas = ref([])
const carPosition = ref([])
const ganghua = ref('')
const adjustedRects = ref([]);
@@ -77,6 +79,8 @@
const selectedRow = ref(null); // 存储选中的行数据  
const temperingtotal = ref(0);
const glasstotal = ref(0);
const fulltotals = ref(0);
const temperingengineerId=ref('');
    // 当前页码和每页显示的条数
    const currentPage = ref(1);
    const itemsPerPage = computed(() => {
@@ -384,6 +388,85 @@
    console.error('发生错误:', error);  
  }  
}; 
 // 指定工程
 const brokek = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('searchOrder.specifytemperinga'),
      t('searchOrder.prompt'),
      {
        confirmButtonText: t('searchOrder.yes'),
        cancelButtonText: t('searchOrder.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/appointEngineerId",{
        engineerId: row.engineer_id
    });
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
      ElMessage.error(response.message);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
// 指定工程
const broked = async() => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('searchOrder.specifytemperinga'),
      t('searchOrder.prompt'),
      {
        confirmButtonText: t('searchOrder.yes'),
        cancelButtonText: t('searchOrder.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/appointEngineerId",{
        engineerId: ""
    });
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
      ElMessage.error(response.message);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
 // 指定流程卡
 const brokes = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('searchOrder.specifytemperinga'),
      t('searchOrder.prompt'),
      {
        confirmButtonText: t('searchOrder.yes'),
        cancelButtonText: t('searchOrder.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/appointFlowCard",{
        flowCardId: row.flow_card_id,
        layer: row.layer,
    });
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
      ElMessage.error(response.message);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
// 出片队列拿走
const brokeb = async(row) => {  
  try {
@@ -518,7 +601,23 @@
  } catch (error) {  
    // console.error('Error fetching rects :', error);  
  }  
}); 
const fetchFlows = async () => {
  try {
    const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectFlowCardByCache');
    if (response.code === 200) {
      tableDatas.value = response.data
    } else {
      ElMessage.warning(response.msg)
    }
  } catch (error) {
    // console.error('Error fetching rects :', error);
  }
}
const fetchFlow = async () => {
  try  {
    const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectTemperingGlass')
@@ -526,11 +625,17 @@
      ElMessage.success(response.message);
      tableDatagh.value = response.data
      temperingtotal.value = response.data.length
      let totalCount = 0;
      let totalCount = 0;
      let fullCount = 0;
      response.data.forEach(item => { 
        totalCount += item.count || 0;
        totalCount += item.count1 || 0;
        if(item.count2-item.count1-item.count4==0){
          fullCount+=1;
        }
      });
      glasstotal.value = totalCount;
      fulltotals.value = fullCount;
    } else {
      ElMessage.error(response.message);
    }
@@ -544,8 +649,8 @@
const fetchFlowCardId = async () => {
  try  {
    const response = await request.post('/cacheVerticalGlass/work_assignment/selectWorkAssignment',{
      line: 2001,
      workingProcedure : '冷加工'
      line: 4001,
      workingProcedure : '钢化'
    })
    if (response.code == 200) {
      ElMessage.success(response.message);
@@ -597,6 +702,10 @@
const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheVerticalGlass/api/talk/slicecage`;
// 定义消息处理函数,更新 receivedData 变量
const handleMessage = (data) => {
  //当前指定工程
  if(data.bigStorageCageDetailsOutTask!=null){
    temperingengineerId.value=data.temperingengineerId[0];
  }
  // 更新 tableData 的数据
  if(data.bigStorageCageDetailsOutTask!=null){
    tableDatac.value = data.bigStorageCageDetailsOutTask[0]
@@ -775,6 +884,7 @@
    <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">{{ $t('searchOrder.productionqueue') }}</el-button>
    <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="warning" @click="handleganghua">{{ $t('searchOrder.temperingqueries') }}</el-button>
    <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
    <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="info" @click="dialogFormVisibles=true;fetchFlows()">非钢化流程卡查询</el-button>
    <el-switch style="margin-top: 5px;margin-left: 10px;" v-model="ganghua" class="mb-2" :inactive-text="$t('searchOrder.temperedswitch')" @change="handleChange" />
    <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading">
      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;">
@@ -1419,6 +1529,25 @@
              </el-form-item>
              </div>
          </el-col>
          <el-col :span="4">
              <div id="dt" style="font-size: 15px;">
              <el-form-item :label="$t('满炉数量')"  style="width: 14vw">
                {{ fulltotals }}
              </el-form-item>
              </div>
          </el-col>
          <el-col :span="4">
              <div id="dt" style="font-size: 15px;">
              <el-form-item :label="$t('当前指定工程')"  style="width: 14vw">
                {{ temperingengineerId }}
              </el-form-item>
              </div>
          </el-col>
          <el-col :span="4">
              <div id="dt" style="font-size: 15px;">
                <el-button size="mini" type="text" plain @click="broked()">{{ $t('取消指定') }}</el-button>
              </div>
          </el-col>
        </el-row>
      </el-form>
    </div>
@@ -1426,11 +1555,16 @@
        :data="tableDatagh" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
          <el-table-column prop="engineer_id" fixed align="center" :label="$t('searchOrder.projectnumber')" min-width="150"/>
          <el-table-column prop="tempering_layout_id" fixed align="center" :label="$t('searchOrder.layoutnumber')" min-width="120" />
          <el-table-column prop="count" align="center" :label="$t('searchOrder.numberglasses')" min-width="150" />
          <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" width="150">
          <el-table-column prop="count2" align="center" :label="$t('总数量')" min-width="150" />
          <el-table-column prop="count1" align="center" :label="$t('笼子内数量')" min-width="150" />
          <el-table-column prop="count3" align="center" :label="$t('缺少数量')" min-width="150" />
          <el-table-column prop="count4" align="center" :label="$t('破损/拿走数量')" min-width="150" />
          <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" width="250">
            <template #default="scope">
              <el-button size="mini" type="text" plain @click="brokee(scope.row)">{{ $t('searchOrder.specifytempering') }}</el-button>
              <el-button size="mini" type="text" plain @click="brokek(scope.row)">{{ $t('searchOrder.specifyengineerid') }}</el-button>
            </template>
        </el-table-column>
        </el-table>
</el-dialog>
@@ -1459,6 +1593,19 @@
      </div>
    </template>
</el-dialog>
<el-dialog v-model="dialogFormVisibles" top="5vh" width="85%" :title="$t('searchOrder.temperingqueries')">
    <el-table  ref="table" style="margin-top: 20px;height: 500px;"
        :data="tableDatas" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
          <el-table-column prop="flow_card_id" fixed align="center" :label="$t('searchOrder.processcards')"/>
          <el-table-column prop="layer" align="center" label="层" />
          <el-table-column prop="count" align="center" :label="$t('searchOrder.numberglasses')" />
          <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" >
            <template #default="scope">
              <el-button size="mini" type="text" plain @click="brokes(scope.row)">指定流程卡</el-button>
            </template>
        </el-table-column>
        </el-table>
</el-dialog>
</template>
<style scoped>
#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}