| | |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8e5c2ad7-336b-4cca-a14a-35776502c69d.vsidx |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c52e40b6-c48b-4b97-b45c-c5cb4389287a.vsidx |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d00db2db-d8c4-429a-bbb5-be0caac522d5.vsidx |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/091a3753-b9c0-44be-a409-27a05baf991c.vsidx |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/43d237a3-be27-4d7c-8b7a-3579428633ed.vsidx |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/96550164-889f-4451-bb42-472ed42c702f.vsidx |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-07-29/Info_è°åº¦ä»»å¡æ§å¶_17-26-35.log |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Debug/net6.0/WIDESEAWCS_BasicInfoRepository.dll |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log_PLCReadWrite/äºå·å åæº/Logs_20250730111710.txt |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Debug/net6.0/WIDESEAWCS_Model.pdb |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Debug/net6.0/WIDESEAWCS_BasicInfoRepository.pdb |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Debug/net6.0/WIDESEAWCS_BasicInfoRepository.pdb |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Debug/net6.0/WIDESEAWCS_Common.dll |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Debug/net6.0/WIDESEAWCS_Common.pdb |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Debug/net6.0/WIDESEAWCS_DTO.dll |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Debug/net6.0/WIDESEAWCS_DTO.pdb |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Debug/net6.0/WIDESEAWCS_IBasicInfoRepository.dll |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Debug/net6.0/WIDESEAWCS_IBasicInfoRepository.pdb |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Debug/net6.0/WIDESEAWCS_IBasicInfoRepository.pdb |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Debug/net6.0/WIDESEAWCS_Model.dll |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/83a81fe9-7165-4cd5-bb46-607acaa174b7.vsidx |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/976c1c18-4a0b-4906-b9c6-4de0821e413d.vsidx |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9f056991-1c02-4f45-af7c-d12f835ac7f3.vsidx |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9f056991-1c02-4f45-af7c-d12f835ac7f3.vsidx |
| | | /项ç®ä»£ç /WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/665fe3b3-a2a4-414f-bc89-34892fd3a2b8.vsidx |
| | |
| | | <template> |
| | | <div> |
| | | 111 |
| | | </div> |
| | | <div class="title"> |
| | | <el-row :gutter="20" style="height:100%"> |
| | | <el-row :gutter="20" style="height:85%"> |
| | | <el-col :span="8"> |
| | | <span style="position: relative; top: 100px;left: 30px;">第ä¸å±</span> |
| | | <span style="position: relative; top: 100px;left: 30px;"> |
| | | <h4>䏿¥¼è®¾å¤çæ§</h4> |
| | | </span> |
| | | <el-row :gutter="20" style="height:1000px"> |
| | | <el-col :span="8"></el-col> |
| | | <el-col :span="8"> |
| | | <div> |
| | | <div v-for="(group, index) in groupedLines(linescopy7)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" |
| | | :equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX" |
| | | :positionY="line.positionY" :condition="line.condition" |
| | | url="api/Equipment/GetLineInfoByNo" /> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 118px;"></div> |
| | | <div v-for="(group, index) in groupedLines(linescopy8)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" |
| | | :equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX" |
| | | :positionY="line.positionY" :condition="line.condition" |
| | | url="api/Equipment/GetLineInfoByNo" /> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 115px;"></div> |
| | | <div v-for="(group, index) in groupedLines(linescopy9)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" |
| | | :equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX" |
| | | :positionY="line.positionY" :condition="line.condition" |
| | | url="api/Equipment/GetLineInfoByNo" /> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 112px;"></div> |
| | | <div v-for="(group, index) in groupedLines(linescopy10)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" |
| | | :equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX" |
| | | :positionY="line.positionY" :condition="line.condition" /> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 109px;"></div> |
| | | <div v-for="(group, index) in groupedLines(linescopy11)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" |
| | | :equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX" |
| | | :positionY="line.positionY" :condition="line.condition" /> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 107px;"></div> |
| | | <div v-for="(group, index) in groupedLines(linescopy12)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" |
| | | :equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX" |
| | | :positionY="line.positionY" :condition="line.condition" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <div class="line-container"> |
| | | <div class="RGVline"></div> |
| | | <div :class="updateRGVOne()" :style="{ marginTop: RGV01.LevelPoint + 'px' }" ref="childDot" @click="mouseClick">1</div> |
| | | <div :class="updateRGVTwo()" :style="{ marginTop: RGV02.LevelPoint + 'px' }" ref="childDot" @click="mouseClick">2</div> |
| | | <div :class="updateRGVOne()" :style="{ marginTop: RGV01.LevelPoint + 'px' }" |
| | | @click="mouseClickRGVFirst">1</div> |
| | | <div :class="updateRGVTwo()" :style="{ marginTop: 1000 + 'px' }" @click="mouseClickSecond">2 |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" |
| | | :equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX" |
| | | :positionY="line.positionY" :condition="line.condition" /> |
| | | :positionY="line.positionY" :condition="line.condition" |
| | | url="api/Equipment/GetLineInfoByNo" /> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 118px;"></div> |
| | |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" |
| | | :equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX" |
| | | :positionY="line.positionY" :condition="line.condition" /> |
| | | :positionY="line.positionY" :condition="line.condition" |
| | | url="api/Equipment/GetLineInfoByNo" /> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 115px;"></div> |
| | |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" |
| | | :equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX" |
| | | :positionY="line.positionY" :condition="line.condition" /> |
| | | :positionY="line.positionY" :condition="line.condition" |
| | | url="api/Equipment/GetLineInfoByNo" /> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 112px;"></div> |
| | |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <!-- <el-col :span="8"> |
| | | <div> |
| | | <div v-for="(group, index) in groupedLines(linescopy3)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" :equipNo="line.equipNo" |
| | | :imgType="line.imgType" :positionX="line.positionX" :positionY="line.positionY" |
| | | url="api/Equipment/GetLineInfoByNo" :condition="line.condition" /> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 105px;"></div> |
| | | <div v-for="(group, index) in groupedLines(linescopy3)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" :equipNo="line.equipNo" |
| | | :imgType="line.imgType" :positionX="line.positionX" :positionY="line.positionY" |
| | | url="api/Equipment/GetLineInfoByNo" :condition="line.condition" /> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 105px;"></div> |
| | | <div v-for="(group, index) in groupedLines(linescopy3)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" :equipNo="line.equipNo" |
| | | :imgType="line.imgType" :positionX="line.positionX" :positionY="line.positionY" |
| | | url="api/Equipment/GetLineInfoByNo" :condition="line.condition" /> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 105px;"></div> |
| | | <div v-for="(group, index) in groupedLines(linescopy3)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" :equipNo="line.equipNo" |
| | | :imgType="line.imgType" :positionX="line.positionX" :positionY="line.positionY" |
| | | url="api/Equipment/GetLineInfoByNo" :condition="line.condition" /> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 100px;"></div> |
| | | <div v-for="(group, index) in groupedLines(linescopy3)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" :equipNo="line.equipNo" |
| | | :imgType="line.imgType" :positionX="line.positionX" :positionY="line.positionY" |
| | | url="api/Equipment/GetLineInfoByNo" :condition="line.condition" /> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 100px;"></div> |
| | | <div v-for="(group, index) in groupedLines(linescopy3)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" :equipNo="line.equipNo" |
| | | :imgType="line.imgType" :positionX="line.positionX" :positionY="line.positionY" |
| | | url="api/Equipment/GetLineInfoByNo" :condition="line.condition" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-col> --> |
| | | </el-row> |
| | | <el-row :gutter="20" class="cardWidthrow"> |
| | | <el-col :span="12"> |
| | | <div> |
| | | <span style="position: relative; top: 120px;left: 30px;">第äºå±</span> |
| | | <div v-for="(group, index) in groupedLines(linescopy4)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" :equipNo="line.equipNo" |
| | | :imgType="line.imgType" :positionX="line.positionX" :positionY="line.positionY" |
| | | url="api/Equipment/GetLineInfoByNo" :condition="line.condition" /> |
| | | |
| | | <el-row :gutter="20" style="height:1000px;margin-top:50px;"> |
| | | <span style="position: relative; top: 150px;left: 30px;">第äºå±</span> |
| | | <div> |
| | | <div v-for="(group, index) in groupedLines(linescopy13)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfo v-for="(line, lineIndex) in group.lines" :key="lineIndex" |
| | | :equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX" |
| | | :positionY="line.positionY" :condition="line.condition" |
| | | url="api/Equipment/GetLineInfoByNo" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="line-containerThird"> |
| | | <div class="lineThird"></div> |
| | | <div :class="updateRGVThird()" |
| | | :style="{ transform: `translateX(${RGV03.LevelPoint}px)`, marginTop: '3px' }" |
| | | @click="mouseClickThird">3</div> |
| | | </div> |
| | | <div style="margin-top:180px;margin-right:100px"> |
| | | <div v-for="(group, index) in groupedLines(linescopy14)" :key="index"> |
| | | <div class="positionY-group"> |
| | | <LineInfo v-for="(line, lineIndex) in group.lines" :key="lineIndex" |
| | | :equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX" |
| | | :positionY="line.positionY" :condition="line.condition" |
| | | url="api/Equipment/GetLineInfoByNo" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-row> |
| | | </div> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | |
| | | |
| | | </div> |
| | | |
| | | <el-dialog v-model="RGVFirst" title="RGVä¿¡æ¯æ¥ç" :before-close="handleClose"> |
| | | <el-form ref="$form" :model="StackerCrane" label-position="left" label-width="120px" size="medium"> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="设å¤ç¼å·ï¼"> |
| | | <j-el-description :value="RGV01.DeviceName" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="设å¤ç¶æ:"> |
| | | <j-el-description :value="RGV01.Fault" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="工使¨¡å¼:"> |
| | | <j-el-description :value="RGV01.Automatic" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä»»å¡å·ï¼"> |
| | | <j-el-description :value="RGV01.CurrentTaskNum" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä½ä¸ç¶æ:"> |
| | | <j-el-description :value="RGV01.Running" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="å½åæ°´å¹³ä½ç½®ï¼"> |
| | | <j-el-description :value="RGV01.LevelPoint" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;"> |
| | | <el-col :span="24" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="æ¥è¦ä¿¡æ¯:"> |
| | | <j-el-description :value="RGV01.Alarm" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider /> |
| | | <h4 style="margin-bottom: 50px;">æå¨æä½</h4> |
| | | <el-form ref="form" :model="formRGV" label-width="90px"> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä»»å¡å½ä»¤" prop="TargetAddress"> |
| | | <el-select size="large" v-model="formRGV.TaskType" placeholder="è¯·éæ©ä»»å¡å½ä»¤"> |
| | | <el-option label="åå®ä½" value="1" /> |
| | | <el-option label="æ¾å®ä½" value="2" /> |
| | | <el-option label="åè´§" value="3" /> |
| | | <el-option label="æ¾è´§" value="4" /> |
| | | <el-option label="åæ¾è´§" value="5" /> |
| | | <el-option label="éå" value="6" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="åè´§ä½:"> |
| | | <el-input size="large" v-model="formRGV.SourceAddress" style="width: 800px" placeholder="åè´§ä½" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="æ¾è´§ä½:"> |
| | | <el-input size="large" v-model="formRGV.TargetAddress" style="width: 800px" placeholder="æ¾è´§ä½" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-divider /> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="primary" size="small" plain @click="SendCommand(RGV01.DeviceCode)"> |
| | | <i class="el-icon-check">åéå½ä»¤</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="warning" size="small" plain @click="RGVReset(RGV01.DeviceCode)"> |
| | | <i class="el-icon-check">å¤ä½</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="RGVemergencyStop(RGV01.DeviceCode)"> |
| | | <i class="el-icon-check">æ¥å</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="RGVPause(RGV01.DeviceCode)"> |
| | | <i class="el-icon-check">忢</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="RGVCancel(RGV01.DeviceCode)"> |
| | | <i class="el-icon-check">åæ¶ä»»å¡</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="RGVInitialize(RGV01.DeviceCode)"> |
| | | <i class="el-icon-check">å·¥ä½åå§å</i> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button @click="RGVFirst = false">åæ¶</el-button> |
| | | <el-button type="primary" @click="RGVFirst = false"> |
| | | 确认 |
| | | </el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog v-model="RGVSecond" title="RGVä¿¡æ¯æ¥ç" :before-close="handleClose"> |
| | | <el-form ref="$form" :model="StackerCrane" label-position="left" label-width="120px" size="medium"> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="设å¤ç¼å·ï¼"> |
| | | <j-el-description :value="RGV02.DeviceName" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="设å¤ç¶æ:"> |
| | | <j-el-description :value="RGV02.Fault" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="工使¨¡å¼:"> |
| | | <j-el-description :value="RGV02.Automatic" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä»»å¡å·ï¼"> |
| | | <j-el-description :value="RGV02.CurrentTaskNum" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä½ä¸ç¶æ:"> |
| | | <j-el-description :value="RGV02.Running" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="å½åæ°´å¹³ä½ç½®ï¼"> |
| | | <j-el-description :value="RGV02.LevelPoint" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;"> |
| | | <el-col :span="24" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="æ¥è¦ä¿¡æ¯:"> |
| | | <j-el-description :value="RGV02.Alarm" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider /> |
| | | <h4 style="margin-bottom: 50px;">æå¨æä½</h4> |
| | | <el-form ref="form" :model="formRGV" label-width="90px"> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä»»å¡å½ä»¤" prop="TargetAddress"> |
| | | <el-select size="large" v-model="formRGV.TaskType" placeholder="è¯·éæ©ä»»å¡å½ä»¤"> |
| | | <el-option label="åå®ä½" value="1" /> |
| | | <el-option label="æ¾å®ä½" value="2" /> |
| | | <el-option label="åè´§" value="3" /> |
| | | <el-option label="æ¾è´§" value="4" /> |
| | | <el-option label="åæ¾è´§" value="5" /> |
| | | <el-option label="éå" value="6" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="åè´§ä½:"> |
| | | <el-input size="large" v-model="formRGV.SourceAddress" style="width: 800px" placeholder="åè´§ä½" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="æ¾è´§ä½:"> |
| | | <el-input size="large" v-model="formRGV.TargetAddress" style="width: 800px" placeholder="æ¾è´§ä½" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-divider /> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="primary" size="small" plain @click="SendCommand(RGV02.DeviceCode)"> |
| | | <i class="el-icon-check">åéå½ä»¤</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="warning" size="small" plain @click="RGVReset(RGV02.DeviceCode)"> |
| | | <i class="el-icon-check">å¤ä½</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="RGVemergencyStop(RGV02.DeviceCode)"> |
| | | <i class="el-icon-check">æ¥å</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="RGVPause(RGV02.DeviceCode)"> |
| | | <i class="el-icon-check">忢</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="RGVCancel(RGV02.DeviceCode)"> |
| | | <i class="el-icon-check">åæ¶ä»»å¡</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="RGVInitialize(RGV02.DeviceCode)"> |
| | | <i class="el-icon-check">å·¥ä½åå§å</i> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button @click="RGVSecond = false">åæ¶</el-button> |
| | | <el-button type="primary" @click="RGVSecond = false"> |
| | | 确认 |
| | | </el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog v-model="RGVThird" title="RGVä¿¡æ¯æ¥ç" :before-close="handleClose"> |
| | | <el-form ref="$form" :model="StackerCrane" label-position="left" label-width="120px" size="medium"> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="设å¤ç¼å·ï¼"> |
| | | <j-el-description :value="RGV03.DeviceName" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="设å¤ç¶æ:"> |
| | | <j-el-description :value="RGV03.Fault" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="工使¨¡å¼:"> |
| | | <j-el-description :value="RGV03.Automatic" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä»»å¡å·ï¼"> |
| | | <j-el-description :value="RGV03.CurrentTaskNum" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä½ä¸ç¶æ:"> |
| | | <j-el-description :value="RGV03.Running" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="å½åæ°´å¹³ä½ç½®ï¼"> |
| | | <j-el-description :value="RGV03.LevelPoint" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;"> |
| | | <el-col :span="24" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="æ¥è¦ä¿¡æ¯:"> |
| | | <j-el-description :value="RGV03.Alarm" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider /> |
| | | <h4 style="margin-bottom: 50px;">æå¨æä½</h4> |
| | | <el-form ref="form" :model="formRGV" label-width="90px"> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä»»å¡å½ä»¤" prop="TargetAddress"> |
| | | <el-select size="large" v-model="formRGV.TaskType" placeholder="è¯·éæ©ä»»å¡å½ä»¤"> |
| | | <el-option label="åå®ä½" value="1" /> |
| | | <el-option label="æ¾å®ä½" value="2" /> |
| | | <el-option label="åè´§" value="3" /> |
| | | <el-option label="æ¾è´§" value="4" /> |
| | | <el-option label="åæ¾è´§" value="5" /> |
| | | <el-option label="éå" value="6" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="åè´§ä½:"> |
| | | <el-input size="large" v-model="formRGV.SourceAddress" style="width: 800px" placeholder="åè´§ä½" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="æ¾è´§ä½:"> |
| | | <el-input size="large" v-model="formRGV.TargetAddress" style="width: 800px" placeholder="æ¾è´§ä½" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-divider /> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="primary" size="small" plain @click="SendCommand(RGV03.DeviceCode)"> |
| | | <i class="el-icon-check">åéå½ä»¤</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="warning" size="small" plain @click="RGVReset(RGV03.DeviceCode)"> |
| | | <i class="el-icon-check">å¤ä½</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="RGVemergencyStop(RGV03.DeviceCode)"> |
| | | <i class="el-icon-check">æ¥å</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="RGVPause(RGV03.DeviceCode)"> |
| | | <i class="el-icon-check">忢</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="RGVCancel(RGV03.DeviceCode)"> |
| | | <i class="el-icon-check">åæ¶ä»»å¡</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="RGVInitialize(RGV03.DeviceCode)"> |
| | | <i class="el-icon-check">å·¥ä½åå§å</i> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button @click="RGVThird = false">åæ¶</el-button> |
| | | <el-button type="primary" @click="RGVThird = false"> |
| | | 确认 |
| | | </el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import { onMounted, ref, reactive } from "vue"; |
| | | // import StackerInfo from "./StackerInfo.vue"; |
| | | // import LineInfo from "./LineInfo.vue"; |
| | | import LineInfo from "./LineInfo.vue"; |
| | | import LineInfoCopy from "./LineInfocopy.vue"; |
| | | import LineComponent from './LineComponent.vue'; |
| | | import eventBus from "../uitils/eventBus"; |
| | | |
| | | import JElDescription from "./JElDescription"; |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | condition: false, |
| | | }, |
| | | ], |
| | | linescopy7: [ |
| | | { |
| | | equipNo: "1001", |
| | | imgType: "1", |
| | | positionX: 5, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "1002", |
| | | imgType: "1", |
| | | positionX: 5, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | |
| | | { |
| | | equipNo: "1003", |
| | | imgType: "1", |
| | | positionX: 5, |
| | | positionY: 20, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "1004", |
| | | imgType: "1", |
| | | positionX: 5, |
| | | positionY: 20, |
| | | condition: false, |
| | | }, |
| | | ], |
| | | linescopy8: [ |
| | | { |
| | | equipNo: "1039", |
| | | imgType: "1", |
| | | positionX: 6, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "1040", |
| | | imgType: "1", |
| | | positionX: 6, |
| | | positionY: 16, |
| | | condition: false, |
| | | }, |
| | | ], |
| | | linescopy9: [ |
| | | { |
| | | equipNo: "1013", |
| | | imgType: "1", |
| | | positionX: 6, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "1014", |
| | | imgType: "1", |
| | | positionX: 6, |
| | | positionY: 16, |
| | | condition: false, |
| | | }, |
| | | ], |
| | | linescopy10: [ |
| | | { |
| | | equipNo: "1015", |
| | | imgType: "1", |
| | | positionX: 6, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "1016", |
| | | imgType: "1", |
| | | positionX: 6, |
| | | positionY: 16, |
| | | condition: false, |
| | | }, |
| | | ], |
| | | linescopy11: [ |
| | | { |
| | | equipNo: "1027", |
| | | imgType: "1", |
| | | positionX: 6, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "1028", |
| | | imgType: "1", |
| | | positionX: 6, |
| | | positionY: 16, |
| | | condition: false, |
| | | }, |
| | | |
| | | ], |
| | | linescopy12: [ |
| | | { |
| | | equipNo: "1029", |
| | | imgType: "1", |
| | | positionX: 6, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "1030", |
| | | imgType: "1", |
| | | positionX: 6, |
| | | positionY: 16, |
| | | condition: false, |
| | | }, |
| | | ], |
| | | linescopy13: [ |
| | | { |
| | | equipNo: "3005", |
| | | imgType: "2", |
| | | positionX: 5, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3006", |
| | | imgType: "2", |
| | | positionX: 5, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, |
| | | |
| | | { |
| | | equipNo: "3007", |
| | | imgType: "2", |
| | | positionX: 6, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3008", |
| | | imgType: "2", |
| | | positionX: 6, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, { |
| | | equipNo: "3010", |
| | | imgType: "2", |
| | | positionX: 8, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3009", |
| | | imgType: "2", |
| | | positionX: 8, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3012", |
| | | imgType: "2", |
| | | positionX: 9, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3011", |
| | | imgType: "2", |
| | | positionX: 9, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3014", |
| | | imgType: "2", |
| | | positionX: 11, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3013", |
| | | imgType: "2", |
| | | positionX: 11, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3016", |
| | | imgType: "2", |
| | | positionX: 12, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3015", |
| | | imgType: "2", |
| | | positionX: 12, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3018", |
| | | imgType: "2", |
| | | positionX: 14, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3017", |
| | | imgType: "2", |
| | | positionX: 14, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3020", |
| | | imgType: "2", |
| | | positionX: 15, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3019", |
| | | imgType: "2", |
| | | positionX: 15, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, |
| | | |
| | | { |
| | | equipNo: "3022", |
| | | imgType: "2", |
| | | positionX: 17, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3021", |
| | | imgType: "2", |
| | | positionX: 17, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3024", |
| | | imgType: "2", |
| | | positionX: 18, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3023", |
| | | imgType: "2", |
| | | positionX: 18, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, |
| | | |
| | | { |
| | | equipNo: "3026", |
| | | imgType: "2", |
| | | positionX: 20, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3025", |
| | | imgType: "2", |
| | | positionX: 20, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3028", |
| | | imgType: "2", |
| | | positionX: 21, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3027", |
| | | imgType: "2", |
| | | positionX: 21, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3030", |
| | | imgType: "2", |
| | | positionX: 23, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3029", |
| | | imgType: "2", |
| | | positionX: 23, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3032", |
| | | imgType: "2", |
| | | positionX: 24, |
| | | positionY: 8, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3031", |
| | | imgType: "2", |
| | | positionX: 24, |
| | | positionY: 9, |
| | | condition: false, |
| | | }, |
| | | ], |
| | | linescopy14: [ |
| | | { |
| | | equipNo: "3004", |
| | | imgType: "2", |
| | | positionX: -8, |
| | | positionY: 1, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3002", |
| | | imgType: "2", |
| | | positionX: -6, |
| | | positionY: 1, |
| | | condition: false, |
| | | }, |
| | | { |
| | | equipNo: "3001", |
| | | imgType: "2", |
| | | positionX: -5, |
| | | positionY: 2, |
| | | condition: false, |
| | | }, |
| | | ], |
| | | |
| | | |
| | | StackerCrane: { |
| | | Automatic: "", |
| | | Fault: "", |
| | |
| | | CurrentTaskNum: "", |
| | | Running: "", |
| | | DeviceName: "", |
| | | DeviceCOde: "", |
| | | StackerAlarm: "", |
| | | }, |
| | | RGVFirst: false, |
| | | RGVSecond: false, |
| | | RGVThird: false, |
| | | xValue1: 0, |
| | | xValue2: 0, |
| | | xValue3: 0, |
| | |
| | | xValue6: 0, |
| | | timer1: null, // 宿¶å¨åé |
| | | timer2: null, // 宿¶å¨åé |
| | | RGV01:{ |
| | | RGV01: { |
| | | Automatic: "", |
| | | Fault: "", |
| | | LevelPoint:0, |
| | | LevelPoint: 0, |
| | | CurrentTaskNum: "", |
| | | Running: "", |
| | | DeviceName: "", |
| | | DeviceCode:"RGV01", |
| | | DeviceCode: "RGV01", |
| | | Alarm:"", |
| | | }, |
| | | RGV02:{ |
| | | RGV02: { |
| | | Automatic: "", |
| | | Fault: "", |
| | | LevelPoint:1280, |
| | | LevelPoint: 1280, |
| | | CurrentTaskNum: "", |
| | | Running: "", |
| | | DeviceName: "", |
| | | DeviceCode:"RGV02", |
| | | DeviceCode: "RGV02", |
| | | Alarm:"", |
| | | }, |
| | | RGV03:{ |
| | | RGV03: { |
| | | Automatic: "", |
| | | Fault: "", |
| | | LevelPoint:0, |
| | | LevelPoint: 0, |
| | | CurrentTaskNum: "", |
| | | Running: "", |
| | | DeviceName: "", |
| | | DeviceCode:"", |
| | | DeviceCode: "RGV03", |
| | | Alarm:"", |
| | | }, |
| | | formRGV: { |
| | | TaskType: "", |
| | | SourceAddress: "", |
| | | TargetAddress: "", |
| | | DeviceCode: "", |
| | | }, |
| | | }; |
| | | }, |
| | | components: { |
| | | LineInfoCopy, |
| | | LineInfo, |
| | | LineComponent, |
| | | JElDescription, |
| | | }, |
| | | methods: { |
| | | groupedLines(linescopy) { |
| | |
| | | }); |
| | | return Object.values(groups); |
| | | }, |
| | | updateRGVOne(){ |
| | | if(this.RGV01.Automatic=="èæºæ¨¡å¼"&&this.RGV01.Fault!="æ
é"&&this.RGV01.Running=="å¾
æº"){ |
| | | return 'dot-Automatic '; |
| | | } |
| | | else if(this.RGV01.Automatic=="èæºæ¨¡å¼"&&this.RGV01.Fault!="æ
é"&&this.RGV01.Running=="è¿è¡ä¸"){ |
| | | return 'dot-Running '; |
| | | }else if(this.RGV01.Fault=="æ
é"){ |
| | | return 'dot-Fault '; |
| | | }else{ |
| | | return 'dot-Fault '; |
| | | } |
| | | updateRGVOne() { |
| | | if (this.RGV01.Automatic == "èæºæ¨¡å¼" && this.RGV01.Fault != "æ
é" && this.RGV01.Running == "å¾
æº") { |
| | | return 'dot-Automatic '; |
| | | } |
| | | else if (this.RGV01.Automatic == "èæºæ¨¡å¼" && this.RGV01.Fault != "æ
é" && this.RGV01.Running == "è¿è¡ä¸") { |
| | | return 'dot-Running '; |
| | | } else if (this.RGV01.Fault == "æ
é") { |
| | | return 'dot-Fault '; |
| | | } else { |
| | | return 'dot-Fault '; |
| | | } |
| | | }, |
| | | updateRGVTwo(){ |
| | | if(this.RGV02.Automatic=="èæºæ¨¡å¼"&&this.RGV02.Fault!="æ
é"&&this.RGV02.Running=="å¾
æº"){ |
| | | return 'dot-Automatic '; |
| | | } |
| | | else if(this.RGV02.Automatic=="èæºæ¨¡å¼"&&this.RGV01.Fault!="æ
é"&&this.RGV02.Running=="è¿è¡ä¸"){ |
| | | return 'dot-Running '; |
| | | }else if(this.RGV02.Fault=="æ
é"){ |
| | | return 'dot-Fault '; |
| | | }else{ |
| | | return 'dot-Fault '; |
| | | } |
| | | updateRGVTwo() { |
| | | if (this.RGV02.Automatic == "èæºæ¨¡å¼" && this.RGV02.Fault != "æ
é" && this.RGV02.Running == "å¾
æº") { |
| | | return 'dot-Automatic '; |
| | | } |
| | | else if (this.RGV02.Automatic == "èæºæ¨¡å¼" && this.RGV01.Fault != "æ
é" && this.RGV02.Running == "è¿è¡ä¸") { |
| | | return 'dot-Running '; |
| | | } else if (this.RGV02.Fault == "æ
é") { |
| | | return 'dot-Fault '; |
| | | } else { |
| | | return 'dot-Fault '; |
| | | } |
| | | }, |
| | | updateRGV03(){ |
| | | if(this.RGV03.Automatic=="èæºæ¨¡å¼"&&this.RGV03.Fault!="æ
é"&&this.RGV03.Running=="å¾
æº"){ |
| | | return 'dot-Automatic '; |
| | | } |
| | | else if(this.RGV03.Automatic=="èæºæ¨¡å¼"&&this.RGV03.Fault!="æ
é"&&this.RGV03.Running=="è¿è¡ä¸"){ |
| | | return 'dot-Running '; |
| | | }else if(this.RGV03.Fault=="æ
é"){ |
| | | return 'dot-Fault '; |
| | | }else{ |
| | | return 'dot-Fault '; |
| | | } |
| | | updateRGVThird() { |
| | | if (this.RGV03.Automatic == "èæºæ¨¡å¼" && this.RGV03.Fault != "æ
é" && this.RGV03.Running == "å¾
æº") { |
| | | return 'dot-Automatic '; |
| | | } |
| | | else if (this.RGV03.Automatic == "èæºæ¨¡å¼" && this.RGV03.Fault != "æ
é" && this.RGV03.Running == "è¿è¡ä¸") { |
| | | return 'dot-Running '; |
| | | } else if (this.RGV03.Fault == "æ
é") { |
| | | return 'dot-Fault '; |
| | | } else { |
| | | return 'dot-Fault '; |
| | | } |
| | | }, |
| | | mouseClickRGVFirst() { |
| | | this.fullscreenLoading = true; |
| | | this.RGVFirst = true; |
| | | this.fullscreenLoading = false; |
| | | }, |
| | | mouseClickSecond() { |
| | | this.fullscreenLoading = true; |
| | | this.RGVSecond = true; |
| | | this.fullscreenLoading = false; |
| | | }, |
| | | mouseClickThird() { |
| | | this.fullscreenLoading = true; |
| | | this.RGVThird = true; |
| | | this.fullscreenLoading = false; |
| | | }, |
| | | SendCommand(x) { |
| | | this.fullscreenLoading = true; |
| | | this.formRGV.DeviceCode = x; |
| | | this.http.post("api/DeviceInfo/RGVHandTask", this.formRGV) |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | $vue.refresh(); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | RGVReset(x) { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/RGVReset?DeviceCode=" + x, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | RGVemergencyStop(x) { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/RGVemergencyStop?DeviceCode=" + x, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | RGVPause(x) { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/RGVPause?DeviceCode=" + x, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | RGVCancel(x) { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/RGVCancel?DeviceCode=" + x, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | RGVInitialize(x) { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/RGVInitialize?DeviceCode=" + x, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | }, |
| | | computed: { |
| | |
| | | }, |
| | | created() { |
| | | eventBus.on('stackerData', eventData => { |
| | | |
| | | |
| | | const stackerComponentsMap = { |
| | | "SC01": 'stacker1', |
| | | "SC02": 'stacker2', |
| | |
| | | }; |
| | | const componentKey = stackerComponentsMap[eventData.data.deviceCode]; |
| | | if (componentKey) { |
| | | this.StackerCrane.Automatic=eventData.data.automatic; |
| | | this.StackerCrane.Fault=eventData.data.fault; |
| | | this.StackerCrane.Running=eventData.data.running; |
| | | this.StackerCrane.CurrentColumn=eventData.data.currentColumn; |
| | | this.StackerCrane.CurrentLayer=eventData.data.currentLayer; |
| | | this.StackerCrane.LevelPoint=eventData.data.levelPoint; |
| | | this.StackerCrane.DeviceName=eventData.data.deviceName; |
| | | this.StackerCrane.Automatic = eventData.data.automatic; |
| | | this.StackerCrane.Fault = eventData.data.fault; |
| | | this.StackerCrane.Running = eventData.data.running; |
| | | this.StackerCrane.CurrentColumn = eventData.data.currentColumn; |
| | | this.StackerCrane.CurrentLayer = eventData.data.currentLayer; |
| | | this.StackerCrane.LevelPoint = eventData.data.levelPoint; |
| | | this.StackerCrane.DeviceName = eventData.data.deviceName; |
| | | this.StackerCrane.DeviceCode = eventData.data.deviceCode; |
| | | this.StackerCrane.StackerAlarm = eventData.data.stackerAlarm; |
| | | |
| | | this.$nextTick(() => { |
| | | this.$refs[componentKey].moveDot(this.StackerCrane); |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | eventBus.on('RGVData', eventData => { |
| | | |
| | | if(eventData.data.deviceCode=="RGV01"){ |
| | | this.RGV01.Automatic=eventData.data.automatic; |
| | | this.RGV01.Fault=eventData.data.fault; |
| | | this.RGV01.Running=eventData.data.running; |
| | | this.RGV01.LevelPoint=eventData.data.levelPoint; |
| | | this.RGV01.DeviceName=eventData.data.deviceName; |
| | | console.log(this.RGV01.LevelPoint) |
| | | }else if(eventData.data.deviceCode=="RGV02"){ |
| | | this.RGV02.Automatic=eventData.data.automatic; |
| | | this.RGV02.Fault=eventData.data.fault; |
| | | this.RGV02.Running=eventData.data.running; |
| | | this.RGV02.LevelPoint=eventData.data.levelPoint; |
| | | this.RGV02.DeviceName=eventData.data.deviceName; |
| | | }else if(eventData.data.deviceCode=="RGV03"){ |
| | | this.RGV03.Automatic=eventData.data.automatic; |
| | | this.RGV03.Fault=eventData.data.fault; |
| | | this.RGV03.Running=eventData.data.running; |
| | | this.RGV03.LevelPoint=eventData.data.levelPoint; |
| | | this.RGV03.DeviceName=eventData.data.deviceName; |
| | | eventBus.on('RGVData', x => { |
| | | |
| | | if (x.data.deviceCode == "RGV01") { |
| | | this.RGV01.Automatic = x.data.automatic == null ? "æ
é" : x.data.automatic; |
| | | this.RGV01.Fault = x.data.fault == null ? "æ
é" : x.data.fault; |
| | | this.RGV01.Running = x.data.running == null ? "æ
é" : x.data.running; |
| | | this.RGV01.LevelPoint = x.data.levelPoint; |
| | | this.RGV01.DeviceName = x.data.deviceName; |
| | | this.RGV01.DeviceCode = x.data.deviceCode; |
| | | this.RGV01.Alarm = x.data.alarm; |
| | | } else if (x.data.deviceCode == "RGV02") { |
| | | this.RGV02.Automatic = x.data.automatic == null ? "æ
é" : x.data.automatic; |
| | | this.RGV02.Fault = x.data.fault == null ? "æ
é" : x.data.fault; |
| | | this.RGV02.Running = x.data.running == null ? "æ
é" : x.data.running; |
| | | this.RGV02.LevelPoint = x.data.levelPoint; |
| | | this.RGV02.DeviceName = x.data.deviceName; |
| | | this.RGV02.Alarm = x.data.alarm; |
| | | } else if (x.data.deviceCode == "RGV03") { |
| | | this.RGV03.Automatic = x.data.automatic == null ? "æ
é" : x.data.automatic; |
| | | this.RGV03.Fault = x.data.fault == null ? "æ
é" : x.data.fault; |
| | | this.RGV03.Running = x.data.running == null ? "æ
é" : x.data.running; |
| | | this.RGV03.LevelPoint = x.data.levelPoint; |
| | | this.RGV03.DeviceName = x.data.deviceName; |
| | | this.RGV03.Alarm = x.data.alarm; |
| | | } |
| | | |
| | | }); |
| | | |
| | | eventBus.on("LineData", eventData => { |
| | | const stationMap = { |
| | | "SC01": this.linescopy1, |
| | | "SC02": this.linescopy2, |
| | | "SC03": this.linescopy3, |
| | | "SC04": this.linescopy4, |
| | | "SC05": this.linescopy5, |
| | | "SC06": this.linescopy6, |
| | | "SC07": this.linescopy7, |
| | | "SC011F": this.linescopy1, |
| | | "SC021F": this.linescopy2, |
| | | "SC031F": this.linescopy3, |
| | | "SC041F": this.linescopy4, |
| | | "SC051F": this.linescopy5, |
| | | "SC061F": this.linescopy6, |
| | | "SC071F": this.linescopy7, |
| | | "SC081F": this.linescopy8, |
| | | "SC091F": this.linescopy9, |
| | | "SC101F": this.linescopy10, |
| | | "SC111F": this.linescopy11, |
| | | "SC121F": this.linescopy12, |
| | | "SC012F": this.linescopy13, |
| | | "SC022F": this.linescopy13, |
| | | "SC032F": this.linescopy13, |
| | | "SC042F": this.linescopy13, |
| | | "SC052F": this.linescopy13, |
| | | "SC062F": this.linescopy13, |
| | | "SC072F": this.linescopy13, |
| | | "SC082F": this.linescopy14, |
| | | }; |
| | | |
| | | var station = eventData.stationChildCode; |
| | |
| | | .cardWidthrow { |
| | | height: 40%; |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | /* margin-top: 10px; */ |
| | | box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); |
| | | } |
| | | |
| | |
| | | color: rgba(0, 195, 255, 0.822); |
| | | margin-bottom: 12px; |
| | | } |
| | | |
| | | .dot-Running { |
| | | position: absolute; |
| | | top: -5px; |
| | | width: 20px; |
| | | position: absolute; |
| | | top: -5px; |
| | | width: 20px; |
| | | height: 20px; |
| | | border-radius: 50%; |
| | | background-color: #409eff; |
| | | transition: transform 0.3s ease; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 9px; |
| | | font-weight: bold; |
| | | color: white; |
| | | border-radius: 50%; |
| | | background-color: #409eff; |
| | | transition: transform 0.3s ease; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 9px; |
| | | font-weight: bold; |
| | | color: white; |
| | | } |
| | | |
| | | .dot-Automatic { |
| | | position: absolute; |
| | | top: -5px; |
| | | width: 20px; |
| | | position: absolute; |
| | | top: -5px; |
| | | width: 20px; |
| | | height: 20px; |
| | | border-radius: 50%; |
| | | background-color: #0df705; |
| | | transition: transform 0.3s ease; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 9px; |
| | | font-weight: bold; |
| | | color: white; |
| | | border-radius: 50%; |
| | | background-color: #0df705; |
| | | transition: transform 0.3s ease; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 9px; |
| | | font-weight: bold; |
| | | color: white; |
| | | } |
| | | |
| | | .dot-Fault { |
| | | position: absolute; |
| | | top: -5px; |
| | | width: 20px; |
| | | position: absolute; |
| | | top: -5px; |
| | | width: 20px; |
| | | height: 20px; |
| | | /* right:0px; */ |
| | | border-radius: 50%; |
| | | background-color: #f80410; |
| | | transition: transform 0.3s ease; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 9px; |
| | | font-weight: bold; |
| | | color: white; |
| | | border-radius: 50%; |
| | | background-color: #f80410; |
| | | transition: transform 0.3s ease; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 9px; |
| | | font-weight: bold; |
| | | color: white; |
| | | } |
| | | |
| | | |
| | |
| | | height: 1280px; |
| | | background-color: #ecf5ff; |
| | | width: 20px; |
| | | top:30px; |
| | | left:200px |
| | | top: 30px; |
| | | left: 200px |
| | | } |
| | | |
| | | .RGVline { |
| | | position: absolute; |
| | | top: 0; |
| | |
| | | height: 2px; |
| | | background-color: #a0cfff; |
| | | } |
| | | |
| | | .line { |
| | | position: absolute; |
| | | top: 0; |
| | |
| | | height: 2px; |
| | | background-color: #a0cfff; |
| | | } |
| | | |
| | | .line-containerThird { |
| | | position: absolute; |
| | | height: 20px; |
| | | background-color: #ecf5ff; |
| | | width: 1330px; |
| | | /* margin-top:180px; */ |
| | | top: 180px; |
| | | |
| | | left: 300px; |
| | | } |
| | | |
| | | .lineThird { |
| | | /* position: absolute; */ |
| | | height: 1px; |
| | | /* margin-top:180px; */ |
| | | background-color: #a0cfff; |
| | | } |
| | | </style> |
| | |
| | | <div class="line-container"> |
| | | <div class="line"></div> |
| | | <!-- <div class="dot" :style="{ right: dotPosition + 'px' }" ref="childDot" @click="mouseClick"></div> --> |
| | | <div :class="update()" :style="{ transform: `translateX(${StackerCrane.CurrentColumn<33?StackerCrane.CurrentColumn * 30-29:0}px)` }" ref="childDot" @click="mouseClick"></div> |
| | | <div :class="update()" |
| | | :style="{ transform: `translateX(${StackerCrane.CurrentColumn < 33 ? StackerCrane.CurrentColumn * 30 - 29 : 0}px)` }" |
| | | ref="childDot" @click="mouseClick"></div> |
| | | </div> |
| | | <div> |
| | | <el-row style="padding-top: 5px;"> |
| | |
| | | </el-row> |
| | | </div> |
| | | |
| | | <el-dialog v-model="dialogVisible" title="ä¿¡æ¯æ¥ç" :before-close="handleClose"> |
| | | <el-form ref="$form" :model="StackerCrane" label-position="left" label-width="100px" size="medium"> |
| | | <el-dialog v-model="dialogVisible" title="å åæºä¿¡æ¯æ¥ç" :before-close="handleClose"> |
| | | <el-form ref="$form" :model="StackerCrane" label-position="left" label-width="120px" size="medium"> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="设å¤ç¼å·ï¼"> |
| | | <!-- <el-input v-model="equipNo"></el-input> --> |
| | | <j-el-description :value="StackerCrane.DeviceName" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="设å¤ç¶æ:"> |
| | | <j-el-description :value="StackerCrane.Fault" type="primary" |
| | | ellipsis></j-el-description> |
| | | <j-el-description :value="StackerCrane.Fault" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä½ä¸ç¶æ:"> |
| | | <j-el-description :value="StackerCrane.Running" type="primary" ellipsis></j-el-description> |
| | |
| | | :value="StackerCrane.CurrentRow + '-' + StackerCrane.CurrentColumn + '-' + StackerCrane.CurrentLayer" |
| | | type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;"> |
| | | <el-col :span="24" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="æ¥è¦ä¿¡æ¯:"> |
| | | <j-el-description :value="StackerCrane.StackerAlarm" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider /> |
| | | <h4 style="margin-bottom: 50px;">æå¨æä½</h4> |
| | | <el-form ref="form" :model="form" label-width="90px"> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä»»å¡å½ä»¤" prop="TargetAddress"> |
| | | <el-select size="large" v-model="form.TaskType" placeholder="è¯·éæ©ä»»å¡å½ä»¤"> |
| | | <el-option label="å
¥åº" value="17" /> |
| | | <el-option label="åºåº" value="18" /> |
| | | <el-option label="ç§»åº" value="20" /> |
| | | <el-option label="åè´§" value="24" /> |
| | | <el-option label="æ¾è´§" value="48" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="èµ·ç¹è¡åå±:"> |
| | | <el-input size="large" v-model="form.SourceAddress" style="width: 800px" placeholder="请è¾å
¥èµ·ç¹è¡åå±" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ç»ç¹è¡åå±:"> |
| | | <el-input size="large" v-model="form.TargetAddress" style="width: 800px" placeholder="请è¾å
¥ç»ç¹è¡åå±" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-divider /> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="8" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="primary" size="small" plain @click="start"> |
| | | <i class="el-icon-check">å¯å¨</i> |
| | | </el-button> |
| | | |
| | | </el-col> |
| | | <el-col :span="8" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="warning" size="small" plain @click="reset"> |
| | | <i class="el-icon-check">å¤ä½</i> |
| | | </el-button> |
| | | |
| | | </el-col> |
| | | <el-col :span="8" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="emergencyStop"> |
| | | <i class="el-icon-check">æ¥å</i> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | |
| | | CurrentTaskNum: "", |
| | | Running: "", |
| | | DeviceName: "", |
| | | } |
| | | DeviceCode: "", |
| | | StackerAlarm:"", |
| | | }, |
| | | form: { |
| | | TaskType: "", |
| | | SourceAddress: "", |
| | | TargetAddress: "", |
| | | DeviceCode: "", |
| | | }, |
| | | }; |
| | | }, |
| | | props: { |
| | |
| | | }, |
| | | methods: { |
| | | moveDot(x) { |
| | | this.StackerCrane.Automatic=x.Automatic==null?"æ
é":x.Automatic; |
| | | this.StackerCrane.Fault=x.Fault==null?"æ
é":x.Fault; |
| | | this.StackerCrane.Running=x.Running==null?"æ
é":x.Running; |
| | | this.StackerCrane.CurrentColumn=x.CurrentColumn==undefined?1:x.CurrentColumn; |
| | | this.StackerCrane.CurrentLayer=x.CurrentLayer==undefined?1:x.CurrentLayer; |
| | | this.StackerCrane.LevelPoint=x.LevelPoint; |
| | | this.StackerCrane.DeviceName=x.DeviceName; |
| | | this.StackerCrane.Automatic = x.Automatic == null ? "æ
é" : x.Automatic; |
| | | this.StackerCrane.Fault = x.Fault == null ? "æ
é" : x.Fault; |
| | | this.StackerCrane.Running = x.Running == null ? "æ
é" : x.Running; |
| | | this.StackerCrane.CurrentColumn = x.CurrentColumn == undefined ? 1 : x.CurrentColumn; |
| | | this.StackerCrane.CurrentLayer = x.CurrentLayer == undefined ? 1 : x.CurrentLayer; |
| | | this.StackerCrane.LevelPoint = x.LevelPoint; |
| | | this.StackerCrane.DeviceName = x.DeviceName; |
| | | this.StackerCrane.StackerAlarm = x.StackerAlarm; |
| | | this.form.DeviceCode = x.DeviceCode; |
| | | }, |
| | | update(){ |
| | | if(this.StackerCrane.Automatic=="èæºæ¨¡å¼"&&this.StackerCrane.Fault!="æ
é"&&this.StackerCrane.Running=="å¾
æº"){ |
| | | return 'dot-Automatic '; |
| | | } |
| | | else if(this.StackerCrane.Automatic=="èæºæ¨¡å¼"&&this.StackerCrane.Fault!="æ
é"&&this.StackerCrane.Running=="è¿è¡ä¸"){ |
| | | return 'dot-Running '; |
| | | }else if(this.StackerCrane.Fault=="æ
é"){ |
| | | return 'dot-Fault '; |
| | | }else{ |
| | | return 'dot-Fault '; |
| | | } |
| | | }, |
| | | update() { |
| | | if (this.StackerCrane.Automatic == "èæºæ¨¡å¼" && this.StackerCrane.Fault != "æ
é" && this.StackerCrane.Running == "å¾
æº") { |
| | | return 'dot-Automatic '; |
| | | } |
| | | else if (this.StackerCrane.Automatic == "èæºæ¨¡å¼" && this.StackerCrane.Fault != "æ
é" && this.StackerCrane.Running == "è¿è¡ä¸") { |
| | | return 'dot-Running '; |
| | | } else if (this.StackerCrane.Fault == "æ
é") { |
| | | return 'dot-Fault '; |
| | | } else { |
| | | return 'dot-Fault '; |
| | | } |
| | | }, |
| | | mouseClick() { |
| | | this.fullscreenLoading = true; |
| | | this.dialogVisible = true; |
| | | this.fullscreenLoading = false; |
| | | }, |
| | | start() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/StackerHandTask", this.form) |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success("å åæºå½ä»¤å·²ä¸å"); |
| | | // $vue.success("æå."); |
| | | this.show = false; |
| | | $vue.refresh(); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, reset() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/StackerReset?DeviceCode=" + this.form.DeviceCode) |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success("å¤ä½æå"); |
| | | // $vue.success("æå."); |
| | | this.show = false; |
| | | $vue.refresh(); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | |
| | | emergencyStop() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/StackerEmergencyStop?DeviceCode=" + this.form.DeviceCode) |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success("æ¥åå·²æä¸"); |
| | | // $vue.success("æå."); |
| | | // this.show = false; |
| | | // $vue.refresh(); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | font-weight: bold; |
| | | color: white; |
| | | } |
| | | |
| | | .dot-Automatic { |
| | | position: absolute; |
| | | top: -5px; |
| | |
| | | <template> |
| | | <div> |
| | | <el-popover placement="bottom" :title="equipNo" width="200" trigger="click"> |
| | | <template #reference> |
| | | <div :style="{ |
| | | color: equipNoFontColor, |
| | | width: width, |
| | | height: height, |
| | | left: left, |
| | | top: top, |
| | | margin_top: marginTop |
| | | }" style="position: absolute" @click="mouseClick"> |
| | | <img v-if="imgType == '1'" src="../../public/lines.png" style="width: 40px" /> |
| | | <img v-if="imgType == '1'" src="../../public/lines2.png" style="width: 40px" /> |
| | | <label v-if="equipNo != ''" style="position: relative; margin-left: 5px; top: -35px;font-size: 12px;">{{ |
| | | equipNo }}</label> |
| | | </div> |
| | | </template> |
| | | <el-row> |
| | | <el-col :span="12">æ¯å¦æç:</el-col> |
| | | <el-col :span="12">{{ lineItemInfo.r_Line_HasPallet }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12">æçæ¡ç </el-col> |
| | | <el-col :span="12">{{ lineItemInfo.r_Line_Barcode }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12">ç®æ ä½ç½®</el-col> |
| | | <el-col :span="12">{{ lineItemInfo.r_Line_Target }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12">ä»»å¡å·</el-col> |
| | | <el-col :span="12">{{ lineItemInfo.r_Line_TaskNum }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12">æ¥è¦ä»£ç </el-col> |
| | | <el-col :span="12">{{ lineItemInfo.r_Line_ErrorCode }}</el-col> |
| | | </el-row> |
| | | </el-popover> |
| | | </div> |
| | | <div :class="update()" :style="{ left: left, top: top, marginBottom: 0 + 'px', marginTop: 0 + 'px' }" |
| | | @click="mouseClick" v-loading.fullscreen.lock="fullscreenLoading"> |
| | | <img v-if="imgType === '2'" src="../../public/lines.png" /> |
| | | <img v-if="imgType === '1'" src="../../public/lines2.png" /> |
| | | <label v-if="equipNo" class="equip-no">{{ equipNo }}</label> |
| | | </div> |
| | | <el-dialog v-model="dialogVisible" title="è¾éçº¿ä¿¡æ¯æ¥ç" :before-close="handleClose"> |
| | | <el-form ref="$form" :model="lineItemInfo" label-position="left" label-width="100px" size="medium"> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="设å¤ç¼å·ï¼"> |
| | | <j-el-description :value="equipNo" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="æ¯å¦æç:"> |
| | | <j-el-description :value="lineItemInfo.r_Line_HasPallet" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="æçæ¡ç :"> |
| | | <j-el-description :value="lineItemInfo.r_Line_Barcode" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="æ¥è¦ä»£ç ï¼"> |
| | | <j-el-description :value="lineItemInfo.r_Line_ErrorCode" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | </el-form><el-divider /> |
| | | <h4 style="margin-bottom: 20px;">æå¨æä½</h4> |
| | | <el-form ref="form" :model="form" label-width="100px"> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä»» å¡ å½ ä»¤" prop="TargetAddress"> |
| | | <el-select size="large" v-model="form.TaskType" placeholder="è¯·éæ©ä»»å¡å½ä»¤"> |
| | | <el-option label="å
¥åº" value="1" /> |
| | | <el-option label="åºåº" value="2" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä¸ä¸ç®æ å°å:"> |
| | | <el-input size="large" v-model="form.SourceAddress" placeholder="请è¾å
¥èµ·ç¹è¡åå±" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-divider /> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="primary" size="small" plain @click="SendCommand"> |
| | | <i class="el-icon-check">åéå½ä»¤</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="warning" size="small" plain @click="ConveyorLineReset"> |
| | | <i class="el-icon-check">å¤ä½</i> |
| | | </el-button> |
| | | |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="ConveyorLineEmergencyStop"> |
| | | <i class="el-icon-check">忢</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="ConveyorLineReturn"> |
| | | <i class="el-icon-check">éå</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="ConveyorLineCancel"> |
| | | <i class="el-icon-check">åæ¶ä»»å¡</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="ConveyorLineInitialize"> |
| | | <i class="el-icon-check">å·¥ä½åå§å</i> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">åæ¶</el-button> |
| | | <el-button type="primary" @click="dialogVisible = false"> |
| | | 确认 |
| | | </el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import { defineComponent } from "vue"; |
| | | import JElDescription from "./JElDescription"; |
| | | export default defineComponent({ |
| | | props: { |
| | | equipNoFontColor: { |
| | | type: String, |
| | | default: "blue", |
| | | }, |
| | | width: { |
| | | type: String, |
| | | default: "40px", |
| | | }, |
| | | height: { |
| | | type: String, |
| | | default: "40px", |
| | | }, |
| | | equipNo: { |
| | | type: String, |
| | | default: "0", |
| | | }, |
| | | imgType: { |
| | | type: String, |
| | | default: "1", |
| | | }, |
| | | positionX: { |
| | | type: Int32Array, |
| | | default: 1, |
| | | }, |
| | | positionY: { |
| | | type: Int32Array, |
| | | default: 1, |
| | | }, |
| | | url: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | marginTop: { |
| | | type: String, |
| | | default: "10px", |
| | | } |
| | | // mouseClick: { |
| | | // type: Function, |
| | | // default: function () { |
| | | // alert(this.equipNo); |
| | | // }, |
| | | // }, |
| | | }, |
| | | data() { |
| | | return { |
| | | left: "20px", |
| | | top: "260px", |
| | | lineItemInfo: { |
| | | r_Line_Barcode: "", |
| | | r_Line_HasPallet: "", |
| | | r_Line_TaskNum: "", |
| | | r_Line_ErrorCode: "", |
| | | r_Line_Target: "", |
| | | }, |
| | | }; |
| | | }, |
| | | mounted: function () { |
| | | var axisX = (this.positionX - 1) * 40 + 100; |
| | | this.left = axisX + "px"; |
| | | components: { |
| | | JElDescription |
| | | }, |
| | | props: { |
| | | equipNoFontColor: { |
| | | type: String, |
| | | default: "blue", |
| | | }, |
| | | equipNo: { |
| | | type: String, |
| | | default: "0", |
| | | }, |
| | | imgType: { |
| | | type: String, |
| | | default: "1", |
| | | }, |
| | | positionX: { |
| | | type: Int32Array, |
| | | default: 1, |
| | | }, |
| | | positionY: { |
| | | type: Int32Array, |
| | | default: 1, |
| | | }, |
| | | url: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | condition: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | left: "500px", |
| | | top: "400px", |
| | | dialogVisible: false, |
| | | lineItemInfo: { |
| | | r_Line_Barcode: "", |
| | | r_Line_HasPallet: "", |
| | | r_Line_TaskNum: "", |
| | | r_Line_ErrorCode: "", |
| | | r_Line_Target: "", |
| | | }, |
| | | form: { |
| | | TaskType: "", |
| | | TargetAddress: "", |
| | | DeviceCode: "", |
| | | }, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | const axisX = (this.positionX - 1) * 40 + 100; |
| | | const axisY = (this.positionY - 1) + 50; |
| | | this.$nextTick(() => { |
| | | this.left = `${axisX}px`; |
| | | this.top = `${axisY}px`; |
| | | }); |
| | | }, |
| | | methods: { |
| | | mouseClick() { |
| | | this.fullscreenLoading = true; |
| | | this.dialogVisible = true; |
| | | // å¤çç¹å»äºä»¶ |
| | | this.http.post("api/DeviceInfo/GetConveyorLineInfo?DeviceChildCode=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (x.status) { |
| | | this.lineItemInfo = x.data; |
| | | } else { |
| | | this.$message({ |
| | | type: "error", |
| | | message: x.message, |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | var axisY = (this.positionY - 1) * 40 + 50; |
| | | this.top = axisY + "px"; |
| | | }, |
| | | methods: { |
| | | mouseClick() { |
| | | if (this.url != "") { |
| | | this.http |
| | | .post(this.url + "?equipNo=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (x.status) { |
| | | this.lineItemInfo = x.data; |
| | | } else { |
| | | this.$message({ |
| | | type: "error", |
| | | message: x.message, |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | this.fullscreenLoading = false; |
| | | }, |
| | | |
| | | SendCommand() { |
| | | this.fullscreenLoading = true; |
| | | this.form.DeviceCode=this.equipNo; |
| | | this.http.post("api/DeviceInfo/ConveyorLineHandTask" ,this.form) |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | ConveyorLineReset() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/ConveyorLineReset?DeviceChildCode=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | ConveyorLineEmergencyStop() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/ConveyorLineEmergencyStop?DeviceChildCode=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | ConveyorLineReturn() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/ConveyorLineReturn?DeviceChildCode=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | ConveyorLineCancel() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/ConveyorLineCancel?DeviceChildCode=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | ConveyorLineInitialize() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/ConveyorLineInitialize?DeviceChildCode=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | update() { |
| | | return !this.condition ? 'custom-img' : 'custom-img-color' |
| | | }, |
| | | startTimer() { |
| | | // å¼å¯å®æ¶å¨ï¼æ¯3ç§æ§è¡ä¸æ¬¡ |
| | | this.timer1 = setInterval(() => { |
| | | update(); |
| | | }, 500); |
| | | }, |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped></style> |
| | | <style scoped> |
| | | .custom-img { |
| | | position: relative; |
| | | display: inline-block; |
| | | /* background-color: #d9ecff ; */ |
| | | } |
| | | |
| | | .custom-img-color { |
| | | position: relative; |
| | | display: inline-block; |
| | | background-color: #05fa7f; |
| | | color: white; |
| | | text-align: center; |
| | | } |
| | | |
| | | /* .custom-img-color::before { |
| | | content: ""; |
| | | position: absolute; |
| | | top: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | left: 0; |
| | | background-color: #05fa7f; |
| | | border-radius: 50%; |
| | | } */ |
| | | |
| | | .custom-img img { |
| | | width: 40px; |
| | | height: 40px; |
| | | } |
| | | |
| | | .custom-img-color img { |
| | | width: 40px; |
| | | height: 40px; |
| | | } |
| | | |
| | | .equip-no { |
| | | position: absolute; |
| | | top: 15px; |
| | | font-size: 12px; |
| | | margin-left: -35px; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div :class="update()" :style="{ left: left, top: top, marginBottom:0+'px',marginTop:15+'px'} " @click="mouseClick" v-loading.fullscreen.lock="fullscreenLoading"> |
| | | <div :class="update()" :style="{ left: left, top: top, marginBottom: 0 + 'px', marginTop: 15 + 'px' }" |
| | | @click="mouseClick" v-loading.fullscreen.lock="fullscreenLoading"> |
| | | <img v-if="imgType === '2'" src="../../public/lines.png" /> |
| | | <img v-if="imgType === '1'" src="../../public/lines2.png" /> |
| | | <label v-if="equipNo" class="equip-no">{{ equipNo }}</label> |
| | | </div> |
| | | <el-dialog v-model="dialogVisible" title="ä¿¡æ¯æ¥ç" :before-close="handleClose"> |
| | | <el-dialog v-model="dialogVisible" title="è¾éçº¿ä¿¡æ¯æ¥ç" :before-close="handleClose"> |
| | | <el-form ref="$form" :model="lineItemInfo" label-position="left" label-width="100px" size="medium"> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="æ¯å¦æç:"> |
| | | <j-el-description :value="lineItemInfo.r_Line_HasPallet" type="primary" |
| | | ellipsis></j-el-description> |
| | | <j-el-description :value="lineItemInfo.r_Line_HasPallet" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="æçæ¡ç :"> |
| | | <j-el-description :value="lineItemInfo.r_Line_Barcode" type="primary" |
| | | ellipsis></j-el-description> |
| | | <j-el-description :value="lineItemInfo.r_Line_Barcode" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="æ¥è¦ä»£ç ï¼"> |
| | | <j-el-description :value="lineItemInfo.r_Line_ErrorCode" type="primary" |
| | | ellipsis></j-el-description> |
| | | <j-el-description :value="lineItemInfo.r_Line_ErrorCode" type="primary" ellipsis></j-el-description> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | </el-form><el-divider /> |
| | | <h4 style="margin-bottom: 20px;">æå¨æä½</h4> |
| | | <el-form ref="form" :model="form" label-width="100px"> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä»» å¡ å½ ä»¤" prop="TargetAddress"> |
| | | <el-select size="large" v-model="form.TaskType" placeholder="è¯·éæ©ä»»å¡å½ä»¤"> |
| | | <el-option label="å
¥åº" value="1" /> |
| | | <el-option label="åºåº" value="2" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-form-item label="ä¸ä¸ç®æ å°å:"> |
| | | <el-input size="large" v-model="form.SourceAddress" placeholder="请è¾å
¥èµ·ç¹è¡åå±" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-divider /> |
| | | <el-row :gutter="20" type="flex" justify="start" align="top" tag="div"> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="primary" size="small" plain @click="SendCommand"> |
| | | <i class="el-icon-check">åéå½ä»¤</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="warning" size="small" plain @click="ConveyorLineReset"> |
| | | <i class="el-icon-check">å¤ä½</i> |
| | | </el-button> |
| | | |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="ConveyorLineEmergencyStop"> |
| | | <i class="el-icon-check">忢</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="ConveyorLineReturn"> |
| | | <i class="el-icon-check">éå</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="ConveyorLineCancel"> |
| | | <i class="el-icon-check">åæ¶ä»»å¡</i> |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div"> |
| | | <el-button type="danger" size="small" plain @click="ConveyorLineInitialize"> |
| | | <i class="el-icon-check">å·¥ä½åå§å</i> |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">åæ¶</el-button> |
| | |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | condition:{ |
| | | condition: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | |
| | | r_Line_ErrorCode: "", |
| | | r_Line_Target: "", |
| | | }, |
| | | form: { |
| | | TaskType: "", |
| | | TargetAddress: "", |
| | | DeviceCode: "", |
| | | }, |
| | | }; |
| | | }, |
| | | mounted() { |
| | |
| | | this.fullscreenLoading = true; |
| | | this.dialogVisible = true; |
| | | // å¤çç¹å»äºä»¶ |
| | | if (this.url != "") { |
| | | this.http.post(this.url + "?equipNo=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (x.status) { |
| | | this.lineItemInfo = x.data; |
| | | } else { |
| | | this.$message({ |
| | | type: "error", |
| | | message: x.message, |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | this.http.post("api/DeviceInfo/GetConveyorLineInfo?DeviceChildCode=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (x.status) { |
| | | this.lineItemInfo = x.data; |
| | | } else { |
| | | this.$message({ |
| | | type: "error", |
| | | message: x.message, |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | this.fullscreenLoading = false; |
| | | // this.dialogVisible = false; |
| | | }, |
| | | |
| | | update(){ |
| | | return !this.condition ? 'custom-img' : 'custom-img-color' |
| | | |
| | | SendCommand() { |
| | | this.fullscreenLoading = true; |
| | | this.form.DeviceCode=this.equipNo; |
| | | this.http.post("api/DeviceInfo/ConveyorLineHandTask" ,this.form) |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | ConveyorLineReset() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/ConveyorLineReset?DeviceChildCode=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | ConveyorLineEmergencyStop() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/ConveyorLineEmergencyStop?DeviceChildCode=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | ConveyorLineReturn() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/ConveyorLineReturn?DeviceChildCode=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | ConveyorLineCancel() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/ConveyorLineCancel?DeviceChildCode=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | ConveyorLineInitialize() { |
| | | this.fullscreenLoading = true; |
| | | this.http.post("api/DeviceInfo/ConveyorLineInitialize?DeviceChildCode=" + this.equipNo, null, "") |
| | | .then((x) => { |
| | | if (!x.status) { |
| | | this.$message.error(x.message); |
| | | } else { |
| | | this.$Message.success(x.message); |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | }, |
| | | update() { |
| | | return !this.condition ? 'custom-img' : 'custom-img-color' |
| | | }, |
| | | startTimer() { |
| | | // å¼å¯å®æ¶å¨ï¼æ¯3ç§æ§è¡ä¸æ¬¡ |
| | |
| | | display: inline-block; |
| | | /* background-color: #d9ecff ; */ |
| | | } |
| | | |
| | | .custom-img-color { |
| | | position: relative; |
| | | display: inline-block; |
| | | background-color: #05fa7f ; |
| | | background-color: #05fa7f; |
| | | color: white; |
| | | text-align: center; |
| | | } |
| | |
| | | width: 40px; |
| | | height: 40px; |
| | | } |
| | | |
| | | .custom-img-color img { |
| | | width: 40px; |
| | | height: 40px; |
| | |
| | | "WorkspaceRootPath": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\", |
| | | "Documents": [ |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | } |
| | | ], |
| | | "DocumentGroupContainers": [ |
| | |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "SelectedChildIndex": 7, |
| | | "SelectedChildIndex": 3, |
| | | "Children": [ |
| | | { |
| | | "$type": "Bookmark", |
| | |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 6, |
| | | "DocumentIndex": 3, |
| | | "Title": "CommonRGV_FirstFloorJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "ViewState": "AgIAAIYAAAAAAAAAAAAIwJ8AAAAYAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-30T09:52:26.156Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "DeviceInfoService.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "ViewState": "AgIAAEMAAAAAAAAAAADwv9gCAAA/AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-30T01:59:05.153Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 8, |
| | | "Title": "TaskStatusEnum.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs", |
| | | "ViewState": "AgIAAEUAAAAAAAAAAAAewFQAAAAMAAAAAAAAAA==", |
| | | "ViewState": "AgIAAMcAAAAAAAAAAAAAwM8AAAAeAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-29T03:10:22.341Z", |
| | | "EditorCaption": "" |
| | | "WhenOpened": "2025-07-29T03:10:22.341Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 3, |
| | | "DocumentIndex": 5, |
| | | "Title": "CommonConveyorLineJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ViewState": "AgIAALEAAAAAAAAAAAAvwNIAAAAlAAAAAAAAAA==", |
| | | "ViewState": "AgIAAN8AAAAAAAAAAAAYwB4BAACTAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-24T03:47:03.579Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 5, |
| | | "Title": "CommonRGV_FirstFloorJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "ViewState": "AgIAAMsCAAAAAAAAAAD4v+QCAAA7AAAAAAAAAA==", |
| | | "DocumentIndex": 6, |
| | | "Title": "CommonStackerCraneJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ViewState": "AgIAAGMAAAAAAAAAAAAuwKgAAACSAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-28T02:06:53.534Z", |
| | | "WhenOpened": "2025-07-24T03:54:34.335Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "IDeviceInfoService.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs", |
| | | "ViewState": "AgIAAHEAAAAAAAAAAAAAAJQAAAA1AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-30T02:35:39.48Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "DeviceInfoController.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs", |
| | | "ViewState": "AgIAAEMAAAAAAAAAAAAwwGMAAAAuAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-30T02:36:25.787Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 9, |
| | | "Title": "RequestInbound.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs", |
| | | "ViewState": "AgIAABQAAAAAAAAAAAAowC4AAAAxAAAAAAAAAA==", |
| | | "ViewState": "AgIAADQAAAAAAAAAAAAWwDgAAACkAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-24T04:21:01.123Z", |
| | | "EditorCaption": "" |
| | | "WhenOpened": "2025-07-24T04:21:01.123Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs", |
| | | "ViewState": "AgIAAJIAAAAAAAAAAAAAAKsAAACWAAAAAAAAAA==", |
| | | "ViewState": "AgIAAKMAAAAAAAAAAAAQwMkAAABaAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-28T04:13:17.74Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "TaskService.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ViewState": "AgIAALkCAAAAAAAAAAAAAJwCAABKAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-24T03:47:03.559Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 7, |
| | | "Title": "ITaskService.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs", |
| | | "ViewState": "AgIAAFIAAAAAAAAAAAAnwGIAAAAiAAAAAAAAAA==", |
| | | "Title": "StackerCraneDBName.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs", |
| | | "ViewState": "AgIAAG4AAAAAAAAAAADwv5EAAAAQAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-28T11:23:22.437Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "CommonStackerCraneJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ViewState": "AgIAAMUAAAAAAAAAAAAUwNQAAABEAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-24T03:54:34.335Z", |
| | | "EditorCaption": "" |
| | | "WhenOpened": "2025-07-30T05:32:19.549Z" |
| | | } |
| | | ] |
| | | } |
| | |
| | | "WorkspaceRootPath": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\", |
| | | "Documents": [ |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | } |
| | | ], |
| | | "DocumentGroupContainers": [ |
| | |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "SelectedChildIndex": 4, |
| | | "SelectedChildIndex": 5, |
| | | "Children": [ |
| | | { |
| | | "$type": "Bookmark", |
| | |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 6, |
| | | "DocumentIndex": 4, |
| | | "Title": "CommonRGV_FirstFloorJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "ViewState": "AgIAAIYAAAAAAAAAAAAIwJ8AAAAYAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-30T09:52:26.156Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "DeviceInfoService.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "ViewState": "AgIAAPUCAAAAAAAAAAAIwNkCAAAIAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-30T01:59:05.153Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 8, |
| | | "Title": "TaskStatusEnum.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs", |
| | | "ViewState": "AgIAAEUAAAAAAAAAAAAewFQAAAAMAAAAAAAAAA==", |
| | | "ViewState": "AgIAAMcAAAAAAAAAAAAAwM8AAAAeAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-29T03:10:22.341Z", |
| | | "EditorCaption": "" |
| | | "WhenOpened": "2025-07-29T03:10:22.341Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 4, |
| | | "DocumentIndex": 0, |
| | | "Title": "CommonConveyorLineJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ViewState": "AgIAALEAAAAAAAAAAAAvwNIAAAAlAAAAAAAAAA==", |
| | | "ViewState": "AgIAAHEAAAAAAAAAAAAQwIYAAADHAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-24T03:47:03.579Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "CommonRGV_FirstFloorJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs", |
| | | "ViewState": "AgIAAL8AAAAAAAAAAAAtwNUAAAAcAAAAAAAAAA==", |
| | | "DocumentIndex": 6, |
| | | "Title": "CommonStackerCraneJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ViewState": "AgIAAGMAAAAAAAAAAAAuwKgAAACSAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-28T02:06:53.534Z", |
| | | "WhenOpened": "2025-07-24T03:54:34.335Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "IDeviceInfoService.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs", |
| | | "ViewState": "AgIAAHEAAAAAAAAAAAAAAJQAAAA1AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-30T02:35:39.48Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 3, |
| | | "Title": "DeviceInfoController.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs", |
| | | "ViewState": "AgIAAEMAAAAAAAAAAAAwwGMAAAAuAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-30T02:36:25.787Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 9, |
| | | "Title": "RequestInbound.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs", |
| | | "ViewState": "AgIAABQAAAAAAAAAAAAowC4AAAAxAAAAAAAAAA==", |
| | | "ViewState": "AgIAADQAAAAAAAAAAAAWwDgAAACkAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-24T04:21:01.123Z", |
| | | "EditorCaption": "" |
| | | "WhenOpened": "2025-07-24T04:21:01.123Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs", |
| | | "ViewState": "AgIAAJIAAAAAAAAAAAAAAKsAAACWAAAAAAAAAA==", |
| | | "ViewState": "AgIAAKMAAAAAAAAAAAAQwMkAAABaAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-28T04:13:17.74Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "TaskService.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ViewState": "AgIAAH0CAAAAAAAAAAAuwJwCAABKAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-24T03:47:03.559Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 7, |
| | | "Title": "ITaskService.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs", |
| | | "ViewState": "AgIAAFIAAAAAAAAAAAAnwGIAAAAiAAAAAAAAAA==", |
| | | "Title": "StackerCraneDBName.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs", |
| | | "ViewState": "AgIAAG4AAAAAAAAAAADwv5EAAAAQAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-28T11:23:22.437Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "CommonStackerCraneJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ViewState": "AgIAAMUAAAAAAAAAAAAUwNQAAABEAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-24T03:54:34.335Z", |
| | | "EditorCaption": "" |
| | | "WhenOpened": "2025-07-30T05:32:19.549Z" |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace WIDESEAWCS_DTO.StackerHandTask |
| | | { |
| | | public class HandTask |
| | | { |
| | | public string DeviceCode { get; set; } |
| | | public string TaskType { get; set; } |
| | | public string SourceAddress { get; set; } |
| | | public string TargetAddress { get; set; } |
| | | } |
| | | } |
| | |
| | | #endregion << ç æ¬ 注 é >> |
| | | |
| | | using AutoMapper; |
| | | using HslCommunication; |
| | | using Newtonsoft.Json; |
| | | using SixLabors.ImageSharp.ColorSpaces; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_BasicInfoRepository; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseRepository; |
| | | using WIDESEAWCS_Core.BaseServices; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_DTO.StackerHandTask; |
| | | using WIDESEAWCS_IBasicInfoRepository; |
| | | using WIDESEAWCS_Model.BasicInfo; |
| | | using WIDESEAWCS_QuartzJob.DeviceBase; |
| | | using WIDESEAWCS_QuartzJob.DeviceEnum; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | using WIDESEAWCS_QuartzJob.Models; |
| | | using WIDESEAWCS_QuartzJob.Repository; |
| | | using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; |
| | | using static WIDESEAWCS_QuartzJob.Service.DeviceInfoService; |
| | | |
| | | namespace WIDESEAWCS_QuartzJob.Service |
| | | { |
| | | public class DeviceInfoService : ServiceBase<Dt_DeviceInfo, IDeviceInfoRepository>, IDeviceInfoService |
| | | { |
| | | private readonly IUnitOfWorkManage _unitOfWorkManage; |
| | | private readonly IDt_StationManagerRepository _stationManagerRepository; |
| | | private readonly IMapper _mapper; |
| | | public DeviceInfoService(IDeviceInfoRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, IMapper mapper) : base(BaseDal) |
| | | public DeviceInfoService(IDeviceInfoRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, IMapper mapper, IDt_StationManagerRepository stationManagerRepository) : base(BaseDal) |
| | | { |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | | _mapper = mapper; |
| | | _stationManagerRepository = stationManagerRepository; |
| | | } |
| | | |
| | | public override WebResponseContent AddData(SaveModel saveModel) |
| | |
| | | List<Dt_DeviceInfo> deviceInfos = await Db.Queryable<Dt_DeviceInfo>().Where(x => x.DeviceStatus == ((int)DeviceStatusEnum.Enable).ToString()).Includes(x => x.ProtocolList).ToListAsync(); |
| | | return _mapper.Map<List<DeviceInfoDTO>>(deviceInfos); |
| | | } |
| | | |
| | | #region å åæºæå¨å½ä»¤ |
| | | |
| | | public WebResponseContent StackerHandTask(HandTask stackerhand) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand(); |
| | | |
| | | if (stackerhand == null || stackerhand.TaskType == "") |
| | | { |
| | | return content.Error("请è¾å
¥ä»»å¡å½ä»¤"); |
| | | } |
| | | stackerCraneTaskCommand.WorkType = (byte)Convert.ToSByte(stackerhand.TaskType); |
| | | //å
¥åº |
| | | if (stackerhand.TaskType == "17") |
| | | { |
| | | string[] sourceCodes = stackerhand.SourceAddress.Split("-"); |
| | | if (sourceCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]); |
| | | stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]); |
| | | stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"èµ·ç¹é误ï¼ã{stackerhand.SourceAddress}ã"); |
| | | } |
| | | |
| | | string[] targetCodes = stackerhand.TargetAddress.Split("-"); |
| | | if (targetCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]); |
| | | stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]); |
| | | stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"ç»ç¹é误ï¼ã{stackerhand.TargetAddress}ã"); |
| | | } |
| | | } |
| | | //åºåº |
| | | else if (stackerhand.TaskType == "18") |
| | | { |
| | | string[] sourceCodes = stackerhand.SourceAddress.Split("-"); |
| | | if (sourceCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]); |
| | | stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]); |
| | | stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"èµ·ç¹é误ï¼ã{stackerhand.SourceAddress}ã"); |
| | | } |
| | | string[] targetCodes = stackerhand.TargetAddress.Split("-"); |
| | | if (targetCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]); |
| | | stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]); |
| | | stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"ç»ç¹é误ï¼ã{stackerhand.TargetAddress}ã"); |
| | | } |
| | | } |
| | | //ç§»åº |
| | | else if (stackerhand.TaskType == "20") |
| | | { |
| | | string[] sourceCodes = stackerhand.SourceAddress.Split("-"); |
| | | if (sourceCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]); |
| | | stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]); |
| | | stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"èµ·ç¹é误ï¼ã{stackerhand.SourceAddress}ã"); |
| | | } |
| | | |
| | | string[] targetCodes = stackerhand.TargetAddress.Split("-"); |
| | | if (targetCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]); |
| | | stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]); |
| | | stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"ç»ç¹é误ï¼ã{stackerhand.TargetAddress}ã"); |
| | | } |
| | | } |
| | | //åè´§ |
| | | else if (stackerhand.TaskType == "24") |
| | | { |
| | | string[] sourceCodes = stackerhand.SourceAddress.Split("-"); |
| | | if (sourceCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]); |
| | | stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]); |
| | | stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]); |
| | | |
| | | stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(0); |
| | | stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(0); |
| | | stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(0); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"èµ·ç¹é误ï¼ã{stackerhand.SourceAddress}ã"); |
| | | } |
| | | } |
| | | //æ¾è´§ |
| | | else if (stackerhand.TaskType == "48") |
| | | { |
| | | string[] targetCodes = stackerhand.TargetAddress.Split("-"); |
| | | if (targetCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(0); |
| | | stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(0); |
| | | stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(0); |
| | | |
| | | stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]); |
| | | stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]); |
| | | stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"ç»ç¹é误ï¼ã{stackerhand.SourceAddress}ã"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return content.Error("æªæ¾å°ä»»å¡å½ä»¤"); |
| | | } |
| | | StackerSendCommand(stackerCraneTaskCommand, stackerhand.DeviceCode); |
| | | return content; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | public WebResponseContent StackerReset(string DeviceCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode); |
| | | |
| | | if (device != null) |
| | | { |
| | | CommonStackerCrane commonStackerCrane = (CommonStackerCrane)device; |
| | | |
| | | commonStackerCrane.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(2)); |
| | | return content.OK(); |
| | | } |
| | | else |
| | | { |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | public WebResponseContent StackerEmergencyStop(string DeviceCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode); |
| | | |
| | | if (device != null) |
| | | { |
| | | CommonStackerCrane commonStackerCrane = (CommonStackerCrane)device; |
| | | |
| | | commonStackerCrane.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(2)); |
| | | return content.OK(); |
| | | } |
| | | else |
| | | { |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | public void StackerSendCommand(StackerCraneTaskCommand? command,string DeviceCode) |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode); |
| | | |
| | | if (device != null) |
| | | { |
| | | CommonStackerCrane commonStackerCrane = (CommonStackerCrane)device; |
| | | if (commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.Automatic) && !commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.Fault) && !commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.Running)) |
| | | { |
| | | commonStackerCrane.SetValue(StackerCraneDBName.TaskNum, (short)Convert.ToInt16(1)); |
| | | Thread.Sleep(100); |
| | | |
| | | commonStackerCrane.SetValue(StackerCraneDBName.StartRow, command.StartRow); |
| | | Thread.Sleep(100); |
| | | |
| | | commonStackerCrane.SetValue(StackerCraneDBName.StartColumn, command.StartColumn); |
| | | Thread.Sleep(100); |
| | | |
| | | commonStackerCrane.SetValue(StackerCraneDBName.StartColumn, command.StartLayer); |
| | | Thread.Sleep(100); |
| | | |
| | | commonStackerCrane.SetValue(StackerCraneDBName.EndRow, command.EndRow); |
| | | Thread.Sleep(100); |
| | | |
| | | commonStackerCrane.SetValue(StackerCraneDBName.EndColumn, command.EndColumn); |
| | | Thread.Sleep(100); |
| | | commonStackerCrane.SetValue(StackerCraneDBName.EndLayer, command.EndLayer); |
| | | Thread.Sleep(100); |
| | | commonStackerCrane.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(command.WorkType)); |
| | | } |
| | | else |
| | | { |
| | | throw new Exception("请å¨å åæºèæºæ¨¡å¼ãå¾
æºç¶æãæ æ
éçæ
åµä¸ä¸åä»»å¡"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | throw new Exception("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | } |
| | | |
| | | |
| | | public class StackerCraneTaskCommand |
| | | { |
| | | #region <Public Menber> |
| | | |
| | | /// <summary> |
| | | /// èµ·å§è¡ |
| | | /// </summary> |
| | | public byte StartRow { get; set; } |
| | | |
| | | /// <summary> |
| | | /// èµ·å§å |
| | | /// </summary> |
| | | public byte StartColumn { get; set; } |
| | | |
| | | /// <summary> |
| | | /// èµ·å§å± |
| | | /// </summary> |
| | | public byte StartLayer { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç®æ è¡ |
| | | /// </summary> |
| | | public byte EndRow { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç®æ å |
| | | /// </summary> |
| | | public byte EndColumn { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç®æ å± |
| | | /// </summary> |
| | | public byte EndLayer { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// ä½ä¸ç±»å |
| | | /// </summary> |
| | | public byte WorkType { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// é¢çåè |
| | | /// </summary> |
| | | public byte Spare { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡å· |
| | | /// </summary> |
| | | public short TaskNum { get; set; } |
| | | |
| | | #endregion <Public Menber> |
| | | } |
| | | public enum StackerCraneDBName |
| | | { |
| | | /// <summary> |
| | | /// ä»»å¡å· |
| | | /// </summary> |
| | | TaskNum, |
| | | |
| | | /// <summary> |
| | | /// ä½ä¸ç±»å |
| | | /// </summary> |
| | | WorkType, |
| | | |
| | | /// <summary> |
| | | /// èµ·å§è¡ |
| | | /// </summary> |
| | | StartRow, |
| | | |
| | | /// <summary> |
| | | /// èµ·å§å |
| | | /// </summary> |
| | | StartColumn, |
| | | |
| | | /// <summary> |
| | | /// èµ·å§å± |
| | | /// </summary> |
| | | StartLayer, |
| | | |
| | | /// <summary> |
| | | /// ç®æ è¡ |
| | | /// </summary> |
| | | EndRow, |
| | | |
| | | /// <summary> |
| | | /// ç®æ å |
| | | /// </summary> |
| | | EndColumn, |
| | | |
| | | /// <summary> |
| | | /// ç®æ å± |
| | | /// </summary> |
| | | EndLayer, |
| | | |
| | | /// <summary> |
| | | /// æçå· |
| | | /// </summary> |
| | | Barcode, |
| | | |
| | | /// <summary> |
| | | /// èµ·ç¹ |
| | | /// </summary> |
| | | StartAddress, |
| | | |
| | | /// <summary> |
| | | /// ç»ç¹ |
| | | /// </summary> |
| | | EndAddress, |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡å®æ |
| | | /// </summary> |
| | | TaskCompleted, |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡åé |
| | | /// </summary> |
| | | SendTask, |
| | | |
| | | /// <summary> |
| | | /// èªå¨ç¶æ |
| | | /// </summary> |
| | | Automatic, |
| | | |
| | | /// <summary> |
| | | /// ä½ä¸å®æ |
| | | /// </summary> |
| | | WorkCompleted, |
| | | |
| | | /// <summary> |
| | | /// è¿è¡ä¸ |
| | | /// </summary> |
| | | Running, |
| | | |
| | | /// <summary> |
| | | /// æ
é |
| | | /// </summary> |
| | | Fault, |
| | | |
| | | /// <summary> |
| | | /// ä½ä¸ç±»å |
| | | /// </summary> |
| | | TaskType, |
| | | |
| | | /// <summary> |
| | | /// å½åä»»å¡å· |
| | | /// </summary> |
| | | CurrentTaskNum, |
| | | |
| | | /// <summary> |
| | | /// æè´§ |
| | | /// </summary> |
| | | InStock, |
| | | PickupLocation, |
| | | PutcargoLocation, |
| | | |
| | | /// <summary> |
| | | /// å½åå |
| | | /// </summary> |
| | | CurrentColumn, |
| | | |
| | | /// <summary> |
| | | /// å½åå± |
| | | /// </summary> |
| | | CurrentLayer, |
| | | |
| | | /// <summary> |
| | | /// æ°´å¹³ç¹ä½ |
| | | /// </summary> |
| | | LevelPoint, |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region è¾é线æå¨å½ä»¤ |
| | | |
| | | public WebResponseContent GetConveyorLineInfo(string DeviceChildCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == DeviceChildCode); |
| | | if (stationManager != null) |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC); |
| | | if (device != null) |
| | | { |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)device; |
| | | ushort x = conveyorLine.GetValue<ConveyorLineDBName, ushort>(ConveyorLineDBName.InteractiveSignal, stationManager.stationChildCode); |
| | | var structs = BitConverter.GetBytes(x).ToArray().ToBoolArray(); |
| | | short ConveyorLineTaskNum = conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.ConveyorLineTaskNum, stationManager.stationChildCode); |
| | | int ConveyorLineAlarm = conveyorLine.GetValue<ConveyorLineDBName, int>(ConveyorLineDBName.ConveyorLineAlarm, stationManager.stationChildCode); |
| | | ConveyorLineTaskCommand obj = new() |
| | | { |
| | | InStock = structs[2] == true ? "æè´§" : "空é²", |
| | | TaskNum = ConveyorLineTaskNum.ToString(), |
| | | Alarm = AlarmInfo(ConveyorLineAlarm) |
| | | }; |
| | | return content.OK(data:obj); |
| | | } |
| | | } |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | public WebResponseContent ConveyorLineHandTask(HandTask ConveyorLinehand) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | if (ConveyorLinehand == null || ConveyorLinehand.TaskType == "") |
| | | { |
| | | return content.Error("请è¾å
¥ä»»å¡å½ä»¤"); |
| | | } |
| | | Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == ConveyorLinehand.DeviceCode); |
| | | if (stationManager != null) |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC); |
| | | if (device != null) |
| | | { |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)device; |
| | | //å
¥åº |
| | | if (ConveyorLinehand.TaskType == "1") |
| | | { |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTargetAddress, Convert.ToInt16(ConveyorLinehand.TargetAddress), stationManager.stationChildCode); |
| | | Thread.Sleep(100); |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTaskNum, Convert.ToInt16(1), stationManager.stationChildCode); |
| | | Thread.Sleep(100); |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(ConveyorLinehand.TaskType), stationManager.stationChildCode); |
| | | return content.OK("åéè¾é线å
¥åºä»»å¡æå!"); |
| | | } |
| | | //åºåº |
| | | else if (ConveyorLinehand.TaskType == "2") |
| | | { |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTargetAddress, Convert.ToInt16(ConveyorLinehand.TargetAddress), stationManager.stationChildCode); |
| | | Thread.Sleep(100); |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTaskNum, Convert.ToInt16(1), stationManager.stationChildCode); |
| | | Thread.Sleep(100); |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(ConveyorLinehand.TaskType), stationManager.stationChildCode); |
| | | return content.OK("åéè¾é线åºåºä»»å¡æå!"); |
| | | } |
| | | else |
| | | { |
| | | return content.Error("æªæ¾å°ä»»å¡å½ä»¤"); |
| | | } |
| | | } |
| | | } |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | public WebResponseContent ConveyorLineReset(string DeviceChildCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == DeviceChildCode); |
| | | if (stationManager != null) |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC); |
| | | if (device != null) |
| | | { |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)device; |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(7), stationManager.stationChildCode); |
| | | return content.OK("å¤ä½æå"); |
| | | } |
| | | } |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | public WebResponseContent ConveyorLineEmergencyStop(string DeviceChildCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == DeviceChildCode); |
| | | if (stationManager != null) |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC); |
| | | if (device != null) |
| | | { |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)device; |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(7), stationManager.stationChildCode); |
| | | return content.OK("忢æå"); |
| | | } |
| | | } |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | public WebResponseContent ConveyorLineReturn(string DeviceChildCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == DeviceChildCode); |
| | | if (stationManager != null) |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC); |
| | | if (device != null) |
| | | { |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)device; |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode); |
| | | return content.OK("éåæå"); |
| | | } |
| | | } |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | public WebResponseContent ConveyorLineCancel(string DeviceChildCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == DeviceChildCode); |
| | | if (stationManager != null) |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC); |
| | | if (device != null) |
| | | { |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)device; |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(4), stationManager.stationChildCode); |
| | | return content.OK("åæ¶æå"); |
| | | } |
| | | } |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | public WebResponseContent ConveyorLineInitialize(string DeviceChildCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == DeviceChildCode); |
| | | if (stationManager != null) |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC); |
| | | if (device != null) |
| | | { |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)device; |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(6), stationManager.stationChildCode); |
| | | return content.OK("åå§åæå"); |
| | | } |
| | | } |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | string AlarmInfo(int Alarm) => Alarm switch |
| | | { |
| | | 0 => "æ¥å", |
| | | 1 => "åé¢å¨æ¥è¦1", |
| | | 2 => "åé¢å¨æ¥è¦2", |
| | | 3 => "å·¦è¶
宽", |
| | | 4 => "å³è¶
宽", |
| | | 5 => "è¶
é«", |
| | | 6 => "读ç 失败", |
| | | 7 => "è´§ç©è¶
é", |
| | | 8 => "è¿è¡è¶
æ¶", |
| | | 9 => "å·¥ä½ä¼ æå¨å¼å¸¸", |
| | | 10 => "é¢ç1", |
| | | 11 => "é¢ç2", |
| | | 12 => "é¢ç3", |
| | | 13 => "é¢ç4", |
| | | 14 => "é¢ç5", |
| | | 15 => "é¢ç6", |
| | | }; |
| | | |
| | | public enum ConveyorLineDBName |
| | | { |
| | | InteractiveSignal, |
| | | ConveyorLineBarcode, |
| | | ConveyorLineAlarm, |
| | | ConveyorLineTargetAddress, |
| | | ConveyorLineTaskNum, |
| | | |
| | | WriteInteractiveSignal, |
| | | WriteConveyorLineTargetAddress, |
| | | WriteConveyorLineTaskNum, |
| | | } |
| | | public class ConveyorLineTaskCommand |
| | | { |
| | | public string InStock { get; set; } |
| | | |
| | | public string TaskNum { get; set; } |
| | | |
| | | public string Alarm { get; set; } |
| | | } |
| | | #endregion |
| | | |
| | | #region RGVæå¨å½ä»¤ |
| | | public WebResponseContent RGVHandTask(HandTask RGVhand) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | if (RGVhand == null || RGVhand.TaskType == "") |
| | | { |
| | | return content.Error("请è¾å
¥ä»»å¡å½ä»¤"); |
| | | } |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == RGVhand.DeviceCode); |
| | | if (device != null) |
| | | { |
| | | if (RGVhand.DeviceCode == "RGV01" || RGVhand.DeviceCode == "RGV02") |
| | | { |
| | | CommonRGV_FirstFloor RGVcommand = (CommonRGV_FirstFloor)device; |
| | | if (RGVhand.TaskType == "1") |
| | | { |
| | | if (RGVhand.SourceAddress != null) |
| | | { |
| | | RGVTaskCommand command = new RGVTaskCommand() |
| | | { |
| | | PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress), |
| | | TaskType = (byte)Convert.ToSByte(RGVhand.TaskType), |
| | | }; |
| | | SendCommandFirstFloor(RGVcommand, command); |
| | | return content.OK($"{device.DeviceName}åå®ä½å½ä»¤ä¸åæå"); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"{device.DeviceName}åå®ä½å½ä»¤åè´§ä½ä¸è½ä¸ºç©º"); |
| | | } |
| | | |
| | | } |
| | | else if (RGVhand.TaskType == "2") |
| | | { |
| | | if (RGVhand.TargetAddress != null) |
| | | { |
| | | RGVTaskCommand command = new RGVTaskCommand() |
| | | { |
| | | PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress), |
| | | TaskType = (byte)Convert.ToSByte(RGVhand.TaskType), |
| | | }; |
| | | SendCommandFirstFloor(RGVcommand, command); |
| | | return content.OK($"{device.DeviceName}æ¾å®ä½å½ä»¤ä¸åæå"); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"{device.DeviceName}æ¾å®ä½å½ä»¤æ¾è´§ä½ä¸è½ä¸ºç©º"); |
| | | } |
| | | } |
| | | else if (RGVhand.TaskType == "3") |
| | | { |
| | | if (RGVhand.SourceAddress != null) |
| | | { |
| | | RGVTaskCommand command = new RGVTaskCommand() |
| | | { |
| | | PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress), |
| | | TaskType = (byte)Convert.ToSByte(RGVhand.TaskType), |
| | | }; |
| | | SendCommandFirstFloor(RGVcommand, command); |
| | | return content.OK($"{device.DeviceName}åè´§å½ä»¤ä¸åæå"); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"{device.DeviceName}åè´§å½ä»¤åè´§ä½ä¸è½ä¸ºç©º"); |
| | | } |
| | | } |
| | | else if (RGVhand.TaskType == "4") |
| | | { |
| | | if (RGVhand.TargetAddress != null) |
| | | { |
| | | RGVTaskCommand command = new RGVTaskCommand() |
| | | { |
| | | PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress), |
| | | TaskType = (byte)Convert.ToSByte(RGVhand.TaskType), |
| | | }; |
| | | SendCommandFirstFloor(RGVcommand, command); |
| | | return content.OK($"{device.DeviceName}æ¾è´§å½ä»¤ä¸åæå"); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"{device.DeviceName}æ¾è´§å½ä»¤æ¾è´§ä½ä¸è½ä¸ºç©º"); |
| | | } |
| | | } |
| | | else if (RGVhand.TaskType == "5") |
| | | { |
| | | if (RGVhand.TargetAddress != null && RGVhand.TargetAddress != null) |
| | | { |
| | | RGVTaskCommand command = new RGVTaskCommand() |
| | | { |
| | | PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress), |
| | | PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress), |
| | | TaskType = (byte)Convert.ToSByte(RGVhand.TaskType), |
| | | }; |
| | | SendCommandFirstFloor(RGVcommand, command); |
| | | return content.OK($"{device.DeviceName}åæ¾è´§å½ä»¤ä¸åæå"); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"{device.DeviceName}åæ¾è´§å½ä»¤æ¾è´§ä½ååè´§ä½ä¸è½ä¸ºç©º"); |
| | | } |
| | | } |
| | | else if (RGVhand.TaskType == "6") |
| | | { |
| | | if (RGVhand.TargetAddress != null) |
| | | { |
| | | RGVTaskCommand command = new RGVTaskCommand() |
| | | { |
| | | PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress), |
| | | TaskType = (byte)Convert.ToSByte(RGVhand.TaskType), |
| | | }; |
| | | SendCommandFirstFloor(RGVcommand, command); |
| | | return content.OK($"{device.DeviceName}éå½ä»¤ä¸åæå"); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"{device.DeviceName}éåå½ä»¤æ¾è´§ä½ä¸è½ä¸ºç©º"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"{device.DeviceName}æªç¥ä»»å¡å½ä»¤"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | CommonRGV RGVcommand = (CommonRGV)device; |
| | | if (RGVhand.TaskType == "1") |
| | | { |
| | | if (RGVhand.SourceAddress != null) |
| | | { |
| | | RGVTaskCommand command = new RGVTaskCommand() |
| | | { |
| | | PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress), |
| | | TaskType = (byte)Convert.ToSByte(RGVhand.TaskType), |
| | | }; |
| | | SendCommandSecondFloor(RGVcommand, command); |
| | | return content.OK($"{device.DeviceName}åå®ä½å½ä»¤ä¸åæå"); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"{device.DeviceName}åå®ä½å½ä»¤åè´§ä½ä¸è½ä¸ºç©º"); |
| | | } |
| | | |
| | | } |
| | | else if (RGVhand.TaskType == "2") |
| | | { |
| | | if (RGVhand.TargetAddress != null) |
| | | { |
| | | RGVTaskCommand command = new RGVTaskCommand() |
| | | { |
| | | PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress), |
| | | TaskType = (byte)Convert.ToSByte(RGVhand.TaskType), |
| | | }; |
| | | SendCommandSecondFloor(RGVcommand, command); |
| | | return content.OK($"{device.DeviceName}æ¾å®ä½å½ä»¤ä¸åæå"); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"{device.DeviceName}æ¾å®ä½å½ä»¤æ¾è´§ä½ä¸è½ä¸ºç©º"); |
| | | } |
| | | } |
| | | else if (RGVhand.TaskType == "3") |
| | | { |
| | | if (RGVhand.SourceAddress != null) |
| | | { |
| | | RGVTaskCommand command = new RGVTaskCommand() |
| | | { |
| | | PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress), |
| | | TaskType = (byte)Convert.ToSByte(RGVhand.TaskType), |
| | | }; |
| | | SendCommandSecondFloor(RGVcommand, command); |
| | | return content.OK($"{device.DeviceName}åè´§å½ä»¤ä¸åæå"); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"{device.DeviceName}åè´§å½ä»¤åè´§ä½ä¸è½ä¸ºç©º"); |
| | | } |
| | | } |
| | | else if (RGVhand.TaskType == "4") |
| | | { |
| | | if (RGVhand.TargetAddress != null) |
| | | { |
| | | RGVTaskCommand command = new RGVTaskCommand() |
| | | { |
| | | PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress), |
| | | TaskType = (byte)Convert.ToSByte(RGVhand.TaskType), |
| | | }; |
| | | SendCommandSecondFloor(RGVcommand, command); |
| | | return content.OK($"{device.DeviceName}æ¾è´§å½ä»¤ä¸åæå"); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"{device.DeviceName}æ¾è´§å½ä»¤æ¾è´§ä½ä¸è½ä¸ºç©º"); |
| | | } |
| | | } |
| | | else if (RGVhand.TaskType == "5") |
| | | { |
| | | if (RGVhand.TargetAddress != null && RGVhand.TargetAddress != null) |
| | | { |
| | | RGVTaskCommand command = new RGVTaskCommand() |
| | | { |
| | | PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress), |
| | | PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress), |
| | | TaskType = (byte)Convert.ToSByte(RGVhand.TaskType), |
| | | }; |
| | | SendCommandSecondFloor(RGVcommand, command); |
| | | return content.OK($"{device.DeviceName}åæ¾è´§å½ä»¤ä¸åæå"); |
| | | } |
| | | else |
| | | { |
| | | return content.Error("åæ¾è´§å½ä»¤æ¾è´§ä½ååè´§ä½ä¸è½ä¸ºç©º"); |
| | | } |
| | | } |
| | | else if (RGVhand.TaskType == "6") |
| | | { |
| | | if (RGVhand.TargetAddress != null) |
| | | { |
| | | RGVTaskCommand command = new RGVTaskCommand() |
| | | { |
| | | PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress), |
| | | TaskType = (byte)Convert.ToSByte(RGVhand.TaskType), |
| | | }; |
| | | SendCommandSecondFloor(RGVcommand, command); |
| | | return content.OK($"{device.DeviceName}éåå½ä»¤ä¸åæå"); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"{device.DeviceName}éåå½ä»¤æ¾è´§ä½ä¸è½ä¸ºç©º"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"{device.DeviceName}æªç¥ä»»å¡å½ä»¤"); |
| | | } |
| | | } |
| | | } |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | public WebResponseContent RGVReset(string DeviceCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode); |
| | | if (device != null) |
| | | { |
| | | if (DeviceCode == "RGV01" || DeviceCode == "RGV02") |
| | | { |
| | | CommonRGV_FirstFloor commonRGV = (CommonRGV_FirstFloor)device; |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(9)); |
| | | } |
| | | else |
| | | { |
| | | CommonRGV commonRGV = (CommonRGV)device; |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(9)); |
| | | } |
| | | return content.OK($"{device.DeviceName}å¤ä½æå"); |
| | | } |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | public WebResponseContent RGVEmergencyStop(string DeviceCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode); |
| | | if (device != null) |
| | | { |
| | | if (DeviceCode == "RGV01" || DeviceCode == "RGV02") |
| | | { |
| | | CommonRGV_FirstFloor commonRGV = (CommonRGV_FirstFloor)device; |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(11)); |
| | | } |
| | | else |
| | | { |
| | | CommonRGV commonRGV = (CommonRGV)device; |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(11)); |
| | | } |
| | | return content.OK($"{device.DeviceName}忢æå"); |
| | | } |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | public WebResponseContent RGVCancel(string DeviceCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode); |
| | | if (device != null) |
| | | { |
| | | if (DeviceCode == "RGV01" || DeviceCode == "RGV02") |
| | | { |
| | | CommonRGV_FirstFloor commonRGV = (CommonRGV_FirstFloor)device; |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(9)); |
| | | } |
| | | else |
| | | { |
| | | CommonRGV commonRGV = (CommonRGV)device; |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(9)); |
| | | } |
| | | return content.OK($"{device.DeviceName}䏿æå"); |
| | | } |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | public WebResponseContent RGVInitialize(string DeviceCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode); |
| | | if (device != null) |
| | | { |
| | | if (DeviceCode == "RGV01" || DeviceCode == "RGV02") |
| | | { |
| | | CommonRGV_FirstFloor commonRGV = (CommonRGV_FirstFloor)device; |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(9)); |
| | | } |
| | | else |
| | | { |
| | | CommonRGV commonRGV = (CommonRGV)device; |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(9)); |
| | | } |
| | | return content.OK($"{device.DeviceName}åå§åæå"); |
| | | } |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | public WebResponseContent RGVPause(string DeviceCode) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode); |
| | | if (device != null) |
| | | { |
| | | if (DeviceCode == "RGV01" || DeviceCode == "RGV02") |
| | | { |
| | | CommonRGV_FirstFloor commonRGV = (CommonRGV_FirstFloor)device; |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(10)); |
| | | } |
| | | else |
| | | { |
| | | CommonRGV commonRGV = (CommonRGV)device; |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(10)); |
| | | } |
| | | return content.OK($"{device.DeviceName}æåæå"); |
| | | } |
| | | return content.Error("æªæ¾å°è®¾å¤ä¿¡æ¯è¯·èç³»IT"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | public void SendCommandFirstFloor(CommonRGV_FirstFloor commonRGV, RGVTaskCommand? rgvTaskCommand) |
| | | { |
| | | commonRGV.SetValue(StackerCraneDBName.TaskNum, Convert.ToInt16(1)); |
| | | Thread.Sleep(100); |
| | | commonRGV.SetValue(StackerCraneDBName.PutcargoLocation, (byte)Convert.ToSByte(rgvTaskCommand.PutcargoLocation)); |
| | | Thread.Sleep(100); |
| | | commonRGV.SetValue(StackerCraneDBName.PickupLocation, (byte)Convert.ToSByte(rgvTaskCommand.PickupLocation)); |
| | | Thread.Sleep(100); |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(rgvTaskCommand.TaskType)); |
| | | |
| | | } |
| | | public void SendCommandSecondFloor(CommonRGV commonRGV, RGVTaskCommand? rgvTaskCommand) |
| | | { |
| | | commonRGV.SetValue(StackerCraneDBName.TaskNum, Convert.ToInt16(1)); |
| | | Thread.Sleep(100); |
| | | commonRGV.SetValue(StackerCraneDBName.PutcargoLocation, (byte)Convert.ToSByte(rgvTaskCommand.PutcargoLocation)); |
| | | Thread.Sleep(100); |
| | | commonRGV.SetValue(StackerCraneDBName.PickupLocation, (byte)Convert.ToSByte(rgvTaskCommand.PickupLocation)); |
| | | Thread.Sleep(100); |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(rgvTaskCommand.TaskType)); |
| | | |
| | | } |
| | | |
| | | public class RGVTaskCommand |
| | | { |
| | | #region <Public Menber> |
| | | |
| | | /// <summary> |
| | | /// åè´§ä½ |
| | | /// </summary> |
| | | public byte PickupLocation { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¾è´§ä½ |
| | | /// </summary> |
| | | public byte PutcargoLocation { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡ç±»å |
| | | /// </summary> |
| | | public byte TaskType { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¢ç |
| | | /// </summary> |
| | | public byte Spare { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡å· |
| | | /// </summary> |
| | | public short TaskNum { get; set; } |
| | | |
| | | |
| | | #endregion <Public Menber> |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | } |
| | |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseServices; |
| | | |
| | | using WIDESEAWCS_DTO.StackerHandTask; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | using WIDESEAWCS_QuartzJob.Models; |
| | | |
| | |
| | | /// <returns>è¿å设å¤ä¿¡æ¯ä»¥å对åºå议信æ¯çéåã</returns> |
| | | Task<List<DeviceInfoDTO>> QueryDeviceProInfos(); |
| | | |
| | | /// <summary> |
| | | /// å åæºæå¨ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="stackerhand"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent StackerHandTask(HandTask stackerhand); |
| | | |
| | | /// <summary> |
| | | /// å åæºæ¥å |
| | | /// </summary> |
| | | /// <param name="DeviceCode"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent StackerEmergencyStop(string DeviceCode); |
| | | |
| | | /// <summary> |
| | | /// å åæºå¤ä½ |
| | | /// </summary> |
| | | /// <param name="DeviceCode"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent StackerReset(string DeviceCode); |
| | | |
| | | /// <summary> |
| | | /// è·åè¾éçº¿ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="DeviceChildCode"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent GetConveyorLineInfo(string DeviceChildCode); |
| | | |
| | | /// <summary> |
| | | /// è¾é线æå¨ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="stackerhand"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent ConveyorLineHandTask(HandTask stackerhand); |
| | | |
| | | /// <summary> |
| | | /// è¾é线å¤ä½ |
| | | /// </summary> |
| | | /// <param name="DeviceChildCode"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent ConveyorLineReset(string DeviceChildCode); |
| | | |
| | | /// <summary> |
| | | /// è¾é线æ¥å |
| | | /// </summary> |
| | | /// <param name="DeviceChildCode"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent ConveyorLineEmergencyStop(string DeviceChildCode); |
| | | |
| | | /// <summary> |
| | | /// è¾é线éå |
| | | /// </summary> |
| | | /// <param name="DeviceChildCode"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent ConveyorLineReturn(string DeviceChildCode); |
| | | |
| | | /// <summary> |
| | | /// è¾éçº¿åæ¶ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="DeviceChildCode"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent ConveyorLineCancel(string DeviceChildCode); |
| | | |
| | | /// <summary> |
| | | /// è¾é线åå§å |
| | | /// </summary> |
| | | /// <param name="DeviceChildCode"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent ConveyorLineInitialize(string DeviceChildCode); |
| | | |
| | | /// <summary> |
| | | /// RGVæå¨ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="RGVhand"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent RGVHandTask(HandTask RGVhand); |
| | | |
| | | /// <summary> |
| | | /// RGVå¤ä½ |
| | | /// </summary> |
| | | /// <param name="DeviceCode"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent RGVReset(string DeviceCode); |
| | | |
| | | /// <summary> |
| | | /// RGVæ¥å |
| | | /// </summary> |
| | | /// <param name="DeviceCode"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent RGVEmergencyStop(string DeviceCode); |
| | | |
| | | /// <summary> |
| | | /// RGVä¸æä»»å¡ |
| | | /// </summary> |
| | | /// <param name="DeviceCode"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent RGVCancel(string DeviceCode); |
| | | |
| | | /// <summary> |
| | | /// RGVåå§å |
| | | /// </summary> |
| | | /// <param name="DeviceCode"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent RGVInitialize(string DeviceCode); |
| | | |
| | | /// <summary> |
| | | /// RGVæå |
| | | /// </summary> |
| | | /// <param name="DeviceCode"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent RGVPause(string DeviceCode); |
| | | } |
| | | } |
| | |
| | | </ItemGroup> |
| | | |
| | | <ItemGroup> |
| | | <ProjectReference Include="..\WIDESEAWCS_BasicInfoRepository\WIDESEAWCS_BasicInfoRepository.csproj" /> |
| | | <ProjectReference Include="..\WIDESEAWCS_Communicator\WIDESEAWCS_Communicator.csproj" /> |
| | | <ProjectReference Include="..\WIDESEAWCS_Core\WIDESEAWCS_Core.csproj" /> |
| | | <ProjectReference Include="..\WIDESEAWCS_DTO\WIDESEAWCS_DTO.csproj" /> |
| | | </ItemGroup> |
| | | |
| | | </Project> |
| | |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseController; |
| | | using WIDESEAWCS_DTO.StackerHandTask; |
| | | using WIDESEAWCS_ISystemServices; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | |
| | | { |
| | | return await Service.QueryDeviceProInfos(); |
| | | } |
| | | |
| | | [HttpPost, Route("StackerHandTask"), AllowAnonymous] |
| | | public WebResponseContent StackerHandTask([FromBody] HandTask stackerhand) |
| | | { |
| | | return Service.StackerHandTask(stackerhand); |
| | | } |
| | | |
| | | [HttpPost, Route("StackerReset"), AllowAnonymous] |
| | | public WebResponseContent StackerReset(string DeviceCode) |
| | | { |
| | | return Service.StackerReset(DeviceCode); |
| | | } |
| | | |
| | | [HttpPost, Route("StackerEmergencyStop"), AllowAnonymous] |
| | | public WebResponseContent StackerEmergencyStop(string DeviceCode) |
| | | { |
| | | return Service.StackerEmergencyStop(DeviceCode); |
| | | } |
| | | |
| | | [HttpPost, Route("GetConveyorLineInfo"), AllowAnonymous] |
| | | public WebResponseContent GetConveyorLineInfo(string DeviceChildCode) |
| | | { |
| | | return Service.GetConveyorLineInfo(DeviceChildCode); |
| | | } |
| | | |
| | | [HttpPost, Route("ConveyorLineHandTask"), AllowAnonymous] |
| | | public WebResponseContent ConveyorLineHandTask([FromBody] HandTask ConveyorLinehand) |
| | | { |
| | | return Service.ConveyorLineHandTask(ConveyorLinehand); |
| | | } |
| | | |
| | | [HttpPost, Route("ConveyorLineReset"), AllowAnonymous] |
| | | public WebResponseContent ConveyorLineReset(string DeviceChildCode) |
| | | { |
| | | return Service.ConveyorLineReset(DeviceChildCode); |
| | | } |
| | | |
| | | [HttpPost, Route("ConveyorLineEmergencyStop"), AllowAnonymous] |
| | | public WebResponseContent ConveyorLineEmergencyStop(string DeviceChildCode) |
| | | { |
| | | return Service.ConveyorLineEmergencyStop(DeviceChildCode); |
| | | } |
| | | |
| | | [HttpPost, Route("ConveyorLineReturn"), AllowAnonymous] |
| | | public WebResponseContent ConveyorLineReturn(string DeviceChildCode) |
| | | { |
| | | return Service.ConveyorLineReturn(DeviceChildCode); |
| | | } |
| | | |
| | | [HttpPost, Route("ConveyorLineCancel"), AllowAnonymous] |
| | | public WebResponseContent ConveyorLineCancel(string DeviceChildCode) |
| | | { |
| | | return Service.ConveyorLineCancel(DeviceChildCode); |
| | | } |
| | | |
| | | [HttpPost, Route("ConveyorLineInitialize"), AllowAnonymous] |
| | | public WebResponseContent ConveyorLineInitialize(string DeviceChildCode) |
| | | { |
| | | return Service.ConveyorLineInitialize(DeviceChildCode); |
| | | } |
| | | |
| | | [HttpPost, Route("RGVHandTask"), AllowAnonymous] |
| | | public WebResponseContent RGVHandTask([FromBody] HandTask RGVhand) |
| | | { |
| | | return Service.RGVHandTask(RGVhand); |
| | | } |
| | | |
| | | [HttpPost, Route("RGVReset"), AllowAnonymous] |
| | | public WebResponseContent RGVReset(string DeviceCode) |
| | | { |
| | | return Service.RGVReset(DeviceCode); |
| | | } |
| | | |
| | | [HttpPost, Route("RGVEmergencyStop"), AllowAnonymous] |
| | | public WebResponseContent RGVEmergencyStop(string DeviceCode) |
| | | { |
| | | return Service.RGVEmergencyStop(DeviceCode); |
| | | } |
| | | |
| | | [HttpPost, Route("RGVCancel"), AllowAnonymous] |
| | | public WebResponseContent RGVCancel(string DeviceCode) |
| | | { |
| | | return Service.RGVCancel(DeviceCode); |
| | | } |
| | | |
| | | [HttpPost, Route("RGVInitialize"), AllowAnonymous] |
| | | public WebResponseContent RGVInitialize(string DeviceCode) |
| | | { |
| | | return Service.RGVInitialize(DeviceCode); |
| | | } |
| | | |
| | | [HttpPost, Route("RGVPause"), AllowAnonymous] |
| | | public WebResponseContent RGVPause(string DeviceCode) |
| | | { |
| | | return Service.RGVPause(DeviceCode); |
| | | } |
| | | } |
| | | } |
| | |
| | | foreach (var item in deviceProtocolDetails) |
| | | { |
| | | int itemValue = Convert.ToInt32(item.ProtocalDetailValue); |
| | | _noticeService.LineData(userIds?.FirstOrDefault(), userTokenIds, new { station.stationChildCode,InStock= structs[itemValue] , Roadway =station.Roadway}); |
| | | _noticeService.LineData(userIds?.FirstOrDefault(), userTokenIds, new { station.stationChildCode,InStock= structs[itemValue] , Roadway =station.Roadway+station.stationFloor}); |
| | | if (structs[itemValue] == true) |
| | | { |
| | | MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType); |
| | |
| | | } |
| | | else |
| | | { |
| | | DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault(); |
| | | DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationNextChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault(); |
| | | var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 5); |
| | | |
| | | string Barcode = Encoding.UTF8.GetString(x); |
| | |
| | | |
| | | if (Barcode == null || Barcode == "") |
| | | { |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode); |
| | | //conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode); |
| | | commonRGV.SetValue(StackerCraneDBName.PutcargoLocation, Convert.ToSByte(stationManager.stationRemark)); |
| | | commonRGV.SetValue(StackerCraneDBName.TaskNum, Convert.ToInt16(task.TaskNum)); |
| | | // commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(4)); |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(4)); |
| | | task.TaskState = (int)TaskInStatusEnum.InRetuen; |
| | | _taskRepository.UpdateData(task); |
| | | return; |
| | |
| | | TaskType, |
| | | TaskNum, |
| | | LevelPoint, |
| | | CurrentTaskNum, |
| | | CurrentTaskNum, |
| | | RGVAlarm, |
| | | } |
| | | } |
| | |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | | Console.WriteLine(DateTime.Now.ToString() + "ï¼çº¿ç¨IDï¼" + Thread.CurrentThread.ManagedThreadId); |
| | | //Console.WriteLine(DateTime.Now.ToString() + "ï¼çº¿ç¨IDï¼" + Thread.CurrentThread.ManagedThreadId); |
| | | try |
| | | { |
| | | //ç¨è¿ç§æ¹å¼è½ç¡®ä¿ç±»å转æ¢ä¸ä¼æé®é¢ |
| | |
| | | Running = RGVWorkStatus(FirstRgv.GetValue<RGVDBName, bool>(RGVDBName.Running)), |
| | | LevelPoint = FirstRgv.GetValue<RGVDBName, int>(RGVDBName.LevelPoint), |
| | | CurrentTaskNum = FirstRgv.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum), |
| | | RGVAlarm = FirstRgv.GetValue<RGVDBName, uint>(RGVDBName.RGVAlarm), |
| | | FirstRgv.DeviceCode, |
| | | FirstRgv.DeviceName, |
| | | }; |
| | |
| | | } |
| | | else |
| | | { |
| | | if (commonRGVFirst == null) |
| | | Console.WriteLine($"RGV01æªæ¾å°è®¾å¤å¯¹è±¡çå¼"); |
| | | else |
| | | Console.WriteLine($"RGV01设å¤å¯¹è±¡ç±»åé误"); |
| | | //if (commonRGVFirst == null) |
| | | // Console.WriteLine($"RGV01æªæ¾å°è®¾å¤å¯¹è±¡çå¼"); |
| | | //else |
| | | // Console.WriteLine($"RGV01设å¤å¯¹è±¡ç±»åé误"); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region RGV02è°åº¦ |
| | | if (commonRGVSecond != null && commonRGVFirst is CommonRGV_FirstFloor SecondRgv)//è¿æ ·è½çåºæ¥ä¼ åå°åºåªéæé®é¢ |
| | | if (commonRGVSecond != null && commonRGVSecond is CommonRGV_FirstFloor SecondRgv)//è¿æ ·è½çåºæ¥ä¼ åå°åºåªéæé®é¢ |
| | | { |
| | | if (SecondRgv.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.WorkCompleted)) |
| | | { |
| | |
| | | Running = RGVWorkStatus(SecondRgv.GetValue<RGVDBName, bool>(RGVDBName.Running)), |
| | | LevelPoint = SecondRgv.GetValue<RGVDBName, int>(RGVDBName.LevelPoint), |
| | | CurrentTaskNum = SecondRgv.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum), |
| | | RGVAlarm = SecondRgv.GetValue<RGVDBName, uint>(RGVDBName.RGVAlarm), |
| | | SecondRgv.DeviceCode, |
| | | SecondRgv.DeviceName, |
| | | }; |
| | |
| | | } |
| | | else |
| | | { |
| | | if (commonRGVSecond == null) |
| | | Console.WriteLine($"RGV02æªæ¾å°è®¾å¤å¯¹è±¡çå¼"); |
| | | else |
| | | Console.WriteLine($"RGV02设å¤å¯¹è±¡ç±»åé误"); |
| | | //if (commonRGVSecond == null) |
| | | // Console.WriteLine($"RGV02æªæ¾å°è®¾å¤å¯¹è±¡çå¼"); |
| | | //else |
| | | // Console.WriteLine($"RGV02设å¤å¯¹è±¡ç±»åé误"); |
| | | } |
| | | #endregion |
| | | //} |
| | |
| | | { |
| | | var tasks = _taskService.QueryRGVTask(); |
| | | Dt_Task task; |
| | | if (tasks == null && tasks.Count() == 0) |
| | | if (tasks.Count() == 0) |
| | | { |
| | | return null; |
| | | } |
| | |
| | | true => "æ
é", |
| | | false => "æ£å¸¸", |
| | | }; |
| | | string StackerCraneAlarm(uint alarm) => alarm switch |
| | | { |
| | | 0 => "æä»¤æå°åé误", |
| | | 1 => "æ¥å", |
| | | 2 => "å
éè®¯ä¸æ", |
| | | 3 => "ç»æå¤±è", |
| | | 4 => "è¡èµ°å颿
é", |
| | | 5 => "è¡èµ°æé触å", |
| | | 6 => "è¡èµ°è¿è¡è¶
æ¶", |
| | | 7 => "æåå颿
é", |
| | | 8 => "æåæé触å", |
| | | 9 => "æåè¿è¡è¶
æ¶", |
| | | 10 => "载货å°è¶
è½½", |
| | | 11 => "è½½è´§å°æ¬ è½½ï¼æ¾ç»³)", |
| | | 12 => "载货å°å¤±é", |
| | | 13 => "è´§åå颿¥è¦", |
| | | 14 => "è´§åè¿è¡è¶
æ¶", |
| | | 15 => "è´§åæé触å", |
| | | 16 => "è´§åä¸å±
ä¸", |
| | | 17 => "左侧è¶
é«", |
| | | 18 => "å³ä¾§è¶
é«", |
| | | 19 => "左侧è¶
宽", |
| | | 20 => "å³ä¾§è¶
宽", |
| | | 21 => "å·¦è¶
åº", |
| | | 22 => "å³è¶
åº", |
| | | 23 => "åè´§æ¶è½½è´§å°æè´§", |
| | | 24 => "åè´§åè½½è´§å°æ è´§", |
| | | 25 => "åæ·±è´§ä½æ¶æµ
è´§ä½æè´§", |
| | | 26 => "æ¾è´§æ¶è½½è´§å°æ è´§", |
| | | 27 => "æ¾è´§æ¶è´§æ¶æè´§", |
| | | 28 => "æ¾è´§åè½½è´§å°æè´§", |
| | | 29 => "æ¾æ·±è´§æ¶æµ
è´§ä½æè´§", |
| | | 30 => "", |
| | | 31 => "", |
| | | }; |
| | | object obj = new |
| | | { |
| | | Automatic = StackerCraneAutoStatus(commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.Automatic)), |
| | |
| | | CurrentLayer = Convert.ToInt32(commonStackerCrane.GetValue<StackerCraneDBName, byte>(StackerCraneDBName.CurrentLayer)), |
| | | LevelPoint = commonStackerCrane.GetValue<StackerCraneDBName, int>(StackerCraneDBName.LevelPoint), |
| | | CurrentTaskNum = commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.CurrentTaskNum), |
| | | StackerAlarm = StackerCraneAlarm(commonStackerCrane.GetValue<StackerCraneDBName, uint>(StackerCraneDBName.StackerAlarm)), |
| | | |
| | | commonStackerCrane.DeviceCode, |
| | | commonStackerCrane.DeviceName, |
| | | }; |
| | |
| | | /// æ°´å¹³ç¹ä½ |
| | | /// </summary> |
| | | LevelPoint, |
| | | |
| | | /// <summary> |
| | | /// æ¥è¦ä¿¡æ¯ |
| | | /// </summary> |
| | | StackerAlarm, |
| | | } |
| | | } |