Merge remote-tracking branch 'origin/master'
| | |
| | | font-size: 12px; |
| | | line-height: 32px; |
| | | } |
| | | .single-line-ellipsis { |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | } |
| | | </style> |
| | |
| | | deleteDataAcquisitionConfiguration: "/deviceScope/deleteDataAcquisitionConfiguration", // å 餿°éé
ç½® |
| | | determineWhetherToCollectData: "/deviceScope/determineWhetherToCollectData", // å¤æè¯¥è®¾å¤æ¯å¦å¯ä»¥æ°é |
| | | dataCollection: "/deviceScope/dataCollection", // æ°é-æ°æ®éé |
| | | treeDevice: "/deviceScope/treeDevice", // è®¾å¤æ å½¢ |
| | | temDataAcquisition: "/deviceScope/temDataAcquisition", // PK8000æ°é |
| | | } |
| | | |
| | | const insOrder = { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div>设å¤åç¨</div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div>è®¾å¤æ ¡å</div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div>设å¤éªæ¶</div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div>è®¾å¤æ ¸æ¥</div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div>è®¾å¤æ
é</div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="page"> |
| | | <div class="page-header"> |
| | | <h4><span class="line"></span><span>è®¾å¤æ¡£æ¡</span></h4> |
| | | <div class="btns"> |
| | | <el-button type="primary" size="small">修订档æ¡</el-button> |
| | | <el-button type="primary" size="small">æ·»å éä»¶</el-button> |
| | | </div> |
| | | </div> |
| | | <el-divider></el-divider> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | | <el-image src="" fit="fill" style="width: 200px;height: 300px;border: 1px solid #000;border-radius: 10px;margin-left: 30px;margin-top: 20px;"> |
| | | <div slot="error" class="image-slot"> |
| | | <i class="el-icon-picture-outline" style="font-size: 40px;"></i> |
| | | </div> |
| | | </el-image> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <div class="form-item"> |
| | | <label>设å¤åç§°</label> |
| | | <p>{{ handleData('æ«æçµé(带è½è°±)') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>大类</label> |
| | | <p>{{ handleData('åæä»ªå¨') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>å
é¨ç¼å·</label> |
| | | <p>{{ handleData('æ«æçµé(带è½è°±)') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>ç产åå®¶</label> |
| | | <p>{{ handleData('æ«æçµé(带è½è°±)') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>èµäº§ç¼ç </label> |
| | | <p>{{ handleData('æ«æçµé(带è½è°±)') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>åºåæ¥æ</label> |
| | | <p>{{ handleData('2024-7-20') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>å¯ç¨æ¥æ</label> |
| | | <p>{{ handleData('2024-7-20') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>æ ¸å卿(æ)</label> |
| | | <p>{{ handleData('12') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>æ£æµç±»å</label> |
| | | <p>{{ handleData('12') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>æ¥åºæ¶é´</label> |
| | | <p>{{ handleData('12') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>å确度éå¼</label> |
| | | <p>{{ handleData('12') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>被ææäºº</label> |
| | | <p>{{ handleData('12') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>维修记å½</label> |
| | | <p>{{ handleData('12') }}</p> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <div class="form-item"> |
| | | <label>è§æ ¼åå·</label> |
| | | <p>{{ handleData('JSM-6010LA') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>ç»ç±»</label> |
| | | <p>{{ handleData('åæä»ªå¨') }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>设å¤ç¶æ</label> |
| | | <el-radio-group v-model="form.value1" disabled> |
| | | <el-radio :label="0" style="width: 40px;">åæ ¼</el-radio> |
| | | <el-radio :label="1" style="width: 40px;">ç»´ä¿®</el-radio> |
| | | <el-radio :label="2" style="width: 40px;">åç¨</el-radio> |
| | | <el-radio :label="3" style="width: 40px;">æ¥åº</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>åºåç¼å·</label> |
| | | <p>{{ handleData() }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>åæ¾ç¹</label> |
| | | <p>{{ handleData() }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>è´ç½®æ¥æ</label> |
| | | <p>{{ handleData() }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>产å°</label> |
| | | <p>{{ handleData() }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>æè¿æº¯æºæ¥æ</label> |
| | | <p>{{ handleData() }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>éè´è´¹ç¨(å
)</label> |
| | | <p>{{ handleData() }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>åç¨æ¶é´</label> |
| | | <p>{{ handleData() }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>设å¤è´è´£äºº</label> |
| | | <p>{{ handleData() }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>éªæ¶è®°å½</label> |
| | | <p>{{ handleData() }}</p> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>æ ¸åè¯ä¹¦</label> |
| | | <p>{{ handleData() }}</p> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <h4 style="margin-bottom: 10px;margin-top: 10px;"><span class="line"></span><span>éä»¶åç¸å
³ææ¡£</span></h4> |
| | | <div class="tables"> |
| | | <ValueTable ref="ValueTable" |
| | | :url="$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursDay" |
| | | :delUrl="$api.auxiliaryWorkingHoursDay.deleteAuxiliaryWorkingHoursDay" :componentData="componentData" :key="upIndex" style="min-height: 400px;"/> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from '../../tool/value-table.vue' |
| | | export default { |
| | | components: { |
| | | ValueTable |
| | | }, |
| | | data(){ |
| | | return{ |
| | | componentData: { |
| | | entity: { |
| | | week: null, |
| | | weekDay: null, |
| | | dateTime: null, |
| | | name:null, |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'desc' |
| | | } |
| | | }, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | | isPage:false, |
| | | do: [{ |
| | | id: 'getFile', |
| | | font: 'éä»¶', |
| | | type: 'text', |
| | | method: 'getFile' |
| | | }, { |
| | | id: 'handleLook', |
| | | font: 'æ¥ç', |
| | | type: 'text', |
| | | method: 'handleLook' |
| | | },{ |
| | | id: 'delete', |
| | | font: 'å é¤', |
| | | type: 'text', |
| | | method: 'doDiy', |
| | | disabFun: (row, index) => { |
| | | return row.state === 'å·²å®¡æ ¸' || row.state === 'å·²æ¹å' |
| | | } |
| | | }], |
| | | tagField: { |
| | | shift:{ |
| | | select:[] |
| | | }, |
| | | state:{ |
| | | select:[ |
| | | { |
| | | label:'å·²æäº¤', |
| | | value:'å·²æäº¤', |
| | | type:'primary' |
| | | }, |
| | | { |
| | | label:'å·²å®¡æ ¸', |
| | | value:'å·²å®¡æ ¸', |
| | | type:'warning' |
| | | }, |
| | | { |
| | | label:'å·²æ¹å', |
| | | value:'å·²æ¹å', |
| | | type:'success' |
| | | }, |
| | | ] |
| | | }, |
| | | weekDay:{ |
| | | select:[] |
| | | } |
| | | }, |
| | | linkEvent: {}, |
| | | selectField: { |
| | | shift:{ |
| | | select:[] |
| | | }, |
| | | state:{ |
| | | select:[ |
| | | { |
| | | label:'å·²æäº¤', |
| | | value:'å·²æäº¤', |
| | | type:'primary' |
| | | }, |
| | | { |
| | | label:'å·²å®¡æ ¸', |
| | | value:'å·²å®¡æ ¸', |
| | | type:'warning' |
| | | }, |
| | | { |
| | | label:'å·²æ¹å', |
| | | value:'å·²æ¹å', |
| | | type:'success' |
| | | }, |
| | | ] |
| | | }, |
| | | weekDay:{ |
| | | select:[] |
| | | } |
| | | }, |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | upIndex:0, |
| | | form: { |
| | | value1:'' |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | handleData(m){ |
| | | if(m){ |
| | | return m |
| | | }else{ |
| | | return '-' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .page{ |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow-y: auto; |
| | | overflow-x: hidden; |
| | | } |
| | | .page-header{ |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | h4{ |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | h4 .line{ |
| | | display: inline-block; |
| | | width: 3px; |
| | | height: 16px; |
| | | background: #3A7BFA; |
| | | margin-right: 4px; |
| | | } |
| | | .tables{ |
| | | width: calc(100vw - 390px); |
| | | } |
| | | .el-image { |
| | | position: relative; |
| | | } |
| | | .el-icon-picture-outline{ |
| | | position: absolute; |
| | | left: 50%; |
| | | top: 50%; |
| | | transform: translate(-50%,-50%); |
| | | } |
| | | .form-item{ |
| | | line-height: 34px; |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 14px; |
| | | } |
| | | .form-item label{ |
| | | width: 110px; |
| | | display: inline-block; |
| | | text-align: right; |
| | | margin-right: 20px; |
| | | color: #999; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div>设å¤ç»´æ¤</div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="page"> |
| | | <echart-module :id="'page-left'" :config="chartConfig" :datas="chartData" class="page-left"></echart-module> |
| | | <div class="page-right"> |
| | | <div class="form-item"> |
| | | <label>æ
鿬¡æ°</label> |
| | | <span>0</span> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>æè¿æ
鿥æ</label> |
| | | <el-date-picker |
| | | v-model="form.value1" |
| | | type="date" |
| | | size="small" |
| | | placeholder="éæ©æ¥æ" style="width: calc(100% - 200px);" readonly> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>æè¿æ ¡åæ¥æ</label> |
| | | <el-date-picker |
| | | v-model="form.value1" |
| | | type="date" |
| | | size="small" |
| | | placeholder="éæ©æ¥æ" style="width: calc(100% - 200px);" readonly> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>䏿¬¡æ ¡åæ¥æ</label> |
| | | <el-date-picker |
| | | v-model="form.value1" |
| | | type="date" |
| | | size="small" |
| | | placeholder="éæ©æ¥æ" style="width: calc(100% - 200px);" readonly> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>æ ¡åæ»ç»è®º</label> |
| | | <el-radio-group v-model="form.value1" disabled> |
| | | <el-radio :label="0">åæ ¼</el-radio> |
| | | <el-radio :label="1">ä¸åæ ¼</el-radio> |
| | | <el-radio :label="2">å
¶ä»</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>æè¿æ ¸æ¥æ¥æ</label> |
| | | <el-date-picker |
| | | v-model="form.value1" |
| | | type="date" |
| | | size="small" |
| | | placeholder="éæ©æ¥æ" style="width: calc(100% - 200px);" readonly> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>䏿¬¡æ ¸æ¥æ¥æ</label> |
| | | <el-date-picker |
| | | v-model="form.value1" |
| | | type="date" |
| | | size="small" |
| | | placeholder="éæ©æ¥æ" style="width: calc(100% - 200px);" readonly> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>æ ¸æ¥æ»ç»è®º</label> |
| | | <el-radio-group v-model="form.value1" disabled> |
| | | <el-radio :label="0">åæ ¼</el-radio> |
| | | <el-radio :label="1">ä¸åæ ¼</el-radio> |
| | | <el-radio :label="2">å
¶ä»</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>æè¿ç»´æ¤æ¥æ</label> |
| | | <el-date-picker |
| | | v-model="form.value1" |
| | | type="date" |
| | | size="small" |
| | | placeholder="éæ©æ¥æ" style="width: calc(100% - 200px);" readonly> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>䏿¬¡ç»´æ¤æ¥æ</label> |
| | | <el-date-picker |
| | | v-model="form.value1" |
| | | type="date" |
| | | size="small" |
| | | placeholder="éæ©æ¥æ" style="width: calc(100% - 200px);" readonly> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>ç»´æ¤ç±»å</label> |
| | | <el-radio-group v-model="form.value1" disabled> |
| | | <el-radio :label="0">使ç¨ååç»´æ¤</el-radio> |
| | | <el-radio :label="1">计åä¸ç»´æ¤</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | <div class="form-item"> |
| | | <label>æµé项ç®</label> |
| | | <span>1111111</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import EchartModule from '../../tool/echart.vue' |
| | | export default { |
| | | components: {EchartModule}, |
| | | data(){ |
| | | return { |
| | | chartConfig:{ |
| | | height: '', |
| | | isLoading:true, |
| | | type:'gauge' |
| | | }, |
| | | chartData:{ |
| | | xData:[], |
| | | yData:[ |
| | | { |
| | | title:'任塿¥æ¶é', |
| | | data:[] |
| | | } |
| | | ] |
| | | }, |
| | | form:{ |
| | | value1:'' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .page{ |
| | | width: 100%; |
| | | height: 100%; |
| | | display: flex; |
| | | } |
| | | .page-left{ |
| | | width: 420px; |
| | | height: 420px; |
| | | margin-top: 40px; |
| | | margin-right: 40px; |
| | | } |
| | | .page-right{ |
| | | flex: 1; |
| | | /* background: red; */ |
| | | } |
| | | .form-item{ |
| | | line-height: 42px; |
| | | font-size: 14px; |
| | | } |
| | | .page-right label{ |
| | | color: #999; |
| | | width: 110px; |
| | | display: inline-block; |
| | | text-align: right; |
| | | margin-right: 20px; |
| | | } |
| | | >>>.el-radio__input.is-disabled+span.el-radio__label{ |
| | | color: #606266 !important; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div>设å¤è®°å½</div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div>设å¤åç¨/å¯ç¨</div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | .opticalProject { |
| | | width: 38%; |
| | | } |
| | | .temperatureList { |
| | | width: 60%; |
| | | .temperatureListTitle { |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | line-height: 30px; |
| | | } |
| | | } |
| | | } |
| | | .opticalProject { |
| | | width: 38%; |
| | | } |
| | | .temperatureList { |
| | | width: 60%; |
| | | } |
| | | .temperatureListTitle { |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | line-height: 30px; |
| | | } |
| | | </style> |
| | | <style> |
| | |
| | | } |
| | | |
| | | .ins_order_add .el-table .warning-row .cell { |
| | | color: #bababa; |
| | | color: #3A7BFA; |
| | | } |
| | | |
| | | .ins_order_add .el-select .is-disabled { |
| | |
| | | <el-table-column prop="manHour" label="å·¥æ¶ç³»æ°" width="100" show-overflow-tooltip></el-table-column> --> |
| | | <!-- <el-table-column prop="deviceGroup" label="设å¤ç»" width="120" show-overflow-tooltip></el-table-column> --> |
| | | <el-table-column prop="section" label="åºé´" min-width="120" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="ask" label="è¦æ±å¼" min-width="220px"> |
| | | <el-table-column prop="ask" label="è¦æ±å¼" min-width="220px" v-if="isAskOnlyRead"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="è¦æ±å¼" v-model="scope.row.ask" clearable type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)" |
| | | :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row,'ask')" |
| | | v-if="active==1&&isAskOnlyRead"></el-input> |
| | | <span v-else> |
| | | <!-- <template v-if="(scope.row.ask.indexOf('D')>-1 |
| | |
| | | </template> |
| | | <template v-else>{{ scope.row.ask }}</template> --> |
| | | <template >{{ scope.row.ask }}</template> |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="tell" label="è¦æ±æè¿°" min-width="220px"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" placeholder="è¦æ±æè¿°" v-model="scope.row.tell" clearable type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row,'tell')" |
| | | v-if="active==1&&isAskOnlyRead"></el-input> |
| | | <span v-else> |
| | | <template >{{ scope.row.tell }}</template> |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <equipConfig :currentId="currentId" v-if="equipConfigShow" :active="active" /> |
| | | <cableConfig v-if="cableConfigShow" :active="active" /> |
| | | <!-- åéç¹æ®å¼å¤çæ¡--> |
| | | <el-dialog title="æ£æµå°ç¹æ®é¡¹ï¼è¯·ä½åºä»¥ä¸éæ©" :visible.sync="bsm1Dia" width="500px" :show-close="false" |
| | | <el-dialog title="æ£æµå°ç¹æ®é¡¹ï¼è¯·ä½åºä»¥ä¸éæ©" :visible.sync="bsm1Dia" min-width="400px" :show-close="false" |
| | | :before-close="beforeClose"> |
| | | <div class="body" style="max-height: 60vh;"> |
| | | <el-row v-if="bsm1"> |
| | | <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;"> |
| | | <div class="search_label"><span class="required-span">* </span>é项ï¼</div> |
| | | <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;"> |
| | | <div class="search_label" style="width: 80px;"><span class="required-span">* </span>é项ï¼</div> |
| | | <div class="search_input"> |
| | | <el-radio-group v-model="bsm1Val" @input="upBsm1"> |
| | | <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;"> |
| | | <div class="search_label">è¦æ±å¼ï¼</div> |
| | | <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;"> |
| | | <div class="search_label" style="width: 80px;">è¦æ±å¼ï¼</div> |
| | | <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''"> |
| | | <el-radio-group v-model="bsm1Val" @input="upBsm1"> |
| | | <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" |
| | |
| | | </div> |
| | | </el-dialog> |
| | | <!-- å
¨éç¹æ®å¼å¤çæ¡--> |
| | | <el-dialog title="æ£æµå°ç¹æ®é¡¹ï¼è¯·ä½åºä»¥ä¸éæ©" :visible.sync="bsm1DiaAll" width="500px" :show-close="false" |
| | | <el-dialog title="æ£æµå°ç¹æ®é¡¹ï¼è¯·ä½åºä»¥ä¸éæ©" :visible.sync="bsm1DiaAll" min-width="400px" :show-close="false" |
| | | :before-close="beforeClose"> |
| | | <div class="body" style="max-height: 60vh;" v-for="(item, index) in bsm1DiaList" :key="index"> |
| | | <el-row v-if="item.bsm1"> |
| | | <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;"> |
| | | <div class="search_label"><span class="required-span">* </span>é项ï¼</div> |
| | | <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;"> |
| | | <div class="search_label" style="width: 80px;"><span class="required-span">* </span>é项ï¼</div> |
| | | <div class="search_input"> |
| | | <el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)"> |
| | | <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.section)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;"> |
| | | <div class="search_label">è¦æ±å¼ï¼</div> |
| | | <el-col class="search_thing" :span="24" style="height: initial;margin: 5px 0;"> |
| | | <div class="search_label" style="width: 80px;">è¦æ±å¼ï¼</div> |
| | | <div class="search_input" v-show="item.bsm1Val!==null&&item.bsm1Val!==''"> |
| | | <el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)"> |
| | | <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.section)" :key="ai" |
| | |
| | | this.selectEnumByCategoryForType() |
| | | this.getUserNow() |
| | | this.selectStandardTreeList() |
| | | this.selectInsOrderTemplate() |
| | | // this.selectInsOrderTemplate() |
| | | this.getAuthorizedPerson(); |
| | | this.selectEnumByCategoryForUnit() |
| | | this.selectStandardMethods() |
| | |
| | | this.addObj.code = selects.code |
| | | this.addObj.companyId = selects.id |
| | | this.selectUserDia = false |
| | | if(this.active==1){ |
| | | // TODO |
| | | this.selectInsOrderTemplate() |
| | | } |
| | | }, |
| | | containsValue(str) { |
| | | if(str){ |
| | |
| | | this.addObj.companyId = selects.departId |
| | | this.addObj.production = '/' |
| | | this.addObj.productionEn = '/' |
| | | if(this.active==1){ |
| | | this.selectInsOrderTemplate() |
| | | } |
| | | }) |
| | | }, |
| | | getProNum() { |
| | |
| | | rowIndex |
| | | }) { |
| | | if (row.state === 0) { |
| | | return 'warning-row'; |
| | | return ''; |
| | | } |
| | | return ''; |
| | | return 'warning-row'; |
| | | }, |
| | | selectInsOrderTemplate() { |
| | | this.$axios.get(this.$api.insOrder.selectInsOrderTemplate).then(res => { |
| | | this.$axios.get(this.$api.insOrder.selectInsOrderTemplate+'?company='+this.addObj.company).then(res => { |
| | | if (res.code == 201) return |
| | | this.templates = res.data |
| | | }) |
| | |
| | | } |
| | | }, |
| | | // è¦æ±å¼ååæ¶ |
| | | requestChange(e, row) { |
| | | requestChange(e, row,type) { |
| | | this.sampleList.map(item => { |
| | | if (this.sampleIds.indexOf(item.id) > -1) { |
| | | item.insProduct.map(m => { |
| | | if (m.id == row.id) { |
| | | m.ask = e; |
| | | m[type] = e; |
| | | } |
| | | return m; |
| | | }) |
| | |
| | | <span style="margin-left: 4px;">%</span> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-button type="primary" size="small" v-if="dataAcquisitionEidt>0&&PROJECT=='æ£æµä¸å¿'&&state==1" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">æ°æ®éé</el-button> |
| | | <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="dataAcquisitionEidt>0&&PROJECT=='æ£æµä¸å¿'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'å
³éç¼è¾':'ç¼è¾æ°é'}}</el-button> |
| | | <el-button type="primary" size="small" v-if="(dataAcquisitionEidt>0||tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='æ¸©åº¦å¾ªç¯æ£éªåå§è®°å½'&&temDataAcquisition)&&PROJECT=='æ£æµä¸å¿'&&state==1" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">æ°æ®éé</el-button> |
| | | <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="(dataAcquisitionEidt>0)&&PROJECT=='æ£æµä¸å¿'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'å
³éç¼è¾':'ç¼è¾æ°é'}}</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||(tableLists.find(m=>m.templateId==currentTable).templateName!='æ¸©åº¦å¾ªç¯æ£éªåå§è®°å½'&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('ç循ç¯')&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('温åè¯éª'))"> |
| | |
| | | <el-table-column |
| | | label="åºå·" |
| | | type="index" |
| | | width="60" |
| | | width="59" |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="bushColor" |
| | | label="ç®¡è²æ " |
| | | width="80" |
| | | width="75" |
| | | align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="code" |
| | | label="å
纤带ç¼å·" |
| | | width="110" |
| | | width="105" |
| | | align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | prop="value0" |
| | | label="å¤ç«¯" |
| | | align="center" |
| | | width="80" :key="(new Date())+'1'"> |
| | | width="100" :key="(new Date().getTime())+'1234567'"> |
| | | <template slot="header"> |
| | | {{ 'å¤ç«¯'+(index+1) }} |
| | | </template> |
| | |
| | | prop="value1" |
| | | label="å
端" |
| | | align="center" |
| | | width="80" :key="(new Date())+'2'"> |
| | | width="100" :key="(new Date().getTime())+'23333333'"> |
| | | <template slot="header"> |
| | | {{ 'å
端'+(index+1) }} |
| | | </template> |
| | |
| | | <el-table-column |
| | | prop="comValue" |
| | | align="center" |
| | | min-width="150" :key="(new Date())+'3'"> |
| | | min-width="150" :key="(new Date().getTime())+'364654654'"> |
| | | <template slot="header"> |
| | | {{ 'è¡°åç³»æ°'+item }} |
| | | </template> |
| | |
| | | label="è¡°åå·®" |
| | | align="center" |
| | | v-if="wareForm.inspectionItemSubclass!='20(常温)'" |
| | | min-width="90" :key="(new Date())+'4'"> |
| | | min-width="90" :key="(new Date().getTime())+'434634634634'"> |
| | | <template slot="header"> |
| | | {{ 'è¡°åå·®'+(index+1) }} |
| | | </template> |
| | |
| | | prop="insResult" |
| | | label="ç»è®º" |
| | | align="center" |
| | | min-width="70" v-if="wareForm.inspectionItemSubclass!='20(常温)'" :key="(new Date())+'5'"> |
| | | min-width="70" v-if="wareForm.inspectionItemSubclass!='20(常温)'" :key="(new Date().getTime())+'53457689809808-'"> |
| | | <template slot="header"> |
| | | {{ 'ç»è®º'+(index+1) }} |
| | | </template> |
| | |
| | | inspectionItemClass:null, |
| | | }, |
| | | thermalCyclingLoading:false, |
| | | temDataAcquisition:false, |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | methods: { |
| | | // æ°æ®éé |
| | | getDataAcquisitionDevice(){ |
| | | this.dataAcquisitionLoading = true |
| | | this.$axios.get(this.$api.deviceScope.dataCollection+'?entrustCode='+this.insOrder.entrustCode+'&sampleCode='+this.currentSample.sampleCode + '&id=' + this.currentSample.id).then(res=>{ |
| | | this.dataAcquisitionLoading = false |
| | | if(res.code!=200){ |
| | | return |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='æ¸©åº¦å¾ªç¯æ£éªåå§è®°å½'){ |
| | | // æ¸©åº¦å¾ªç¯æ£éªåå§è®°å½----æ°é----PK8000 |
| | | let temperature = this.wareForm.inspectionItemSubclass; |
| | | if(typeof temperature == 'string'&&temperature.includes('(常温)')){ |
| | | temperature = `20â(常温)` |
| | | }else{ |
| | | temperature = temperature + 'â' |
| | | } |
| | | this.dataAcquisitionInfo = res.data |
| | | try { |
| | | // å Worker åéæ¶æ¯ï¼å¼å§å¤çé»è¾ |
| | | this.worker0.postMessage(JSON.stringify({ |
| | | dataAcquisitionInfo: this.dataAcquisitionInfo, |
| | | list:this.tableList[0].arr |
| | | })); |
| | | } catch (error) { |
| | | console.log(1111,error); |
| | | } |
| | | // çå¬ Worker è¿åçç»æ |
| | | this.worker0.onmessage = (event) => { |
| | | let result = JSON.parse(event.data); |
| | | if(result.method=='changeInput'){ |
| | | let {list,n} = result.value |
| | | this.$set(this.tableList[0],'arr',list) |
| | | this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n) |
| | | this.dataAcquisitionLoading = true |
| | | this.$axios.post(this.$api.deviceScope.temDataAcquisition,{ |
| | | entrustCode:this.insOrder.entrustCode, |
| | | sampleCode:this.currentSample.sampleCode, |
| | | model:this.wareForm0.model, |
| | | cycles:this.wareForm.inspectionItem, |
| | | temperature:temperature, |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | }, |
| | | noQs:true |
| | | }).then(res=>{ |
| | | this.dataAcquisitionLoading = false |
| | | if(res.code!=200){ |
| | | return |
| | | } |
| | | }; |
| | | // let list = this.tableList[0].arr |
| | | // list.forEach((item,index)=>{ |
| | | // let num = 0; |
| | | // let str = '' |
| | | // item.forEach(m=>{ |
| | | // if(m.v.ps&&(m.v.ps.value=='æ£éªå项'||m.v.ps.value=='æ£éªé¡¹')){ |
| | | // if(m.v.ps&&m.v.ps.value=='æ£éªé¡¹'){ |
| | | // if(num==0){ |
| | | // str = m.v.v+',' |
| | | // num++ |
| | | // } |
| | | // } |
| | | // if(m.v.ps&&m.v.ps.value=='æ£éªå项'){ |
| | | // if(num==1){ |
| | | // str = str+m.v.v |
| | | // } |
| | | // } |
| | | // if(this.dataAcquisitionInfo[str]){ |
| | | // let num = 0; |
| | | // list[index].forEach(n=>{ |
| | | // if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('æ£éªå¼')){ |
| | | // num++ |
| | | // } |
| | | // }) |
| | | // list[index].forEach((n,i)=>{ |
| | | // if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('æ£éªå¼')){ |
| | | // let arr = n.v.ps.value.split('å¼') |
| | | // if(arr[1] ==this.dataAcquisitionInfo.frequency){ |
| | | // setTimeout(()=>{ |
| | | // this.$delete(n.v,'v') |
| | | // this.$set(n.v,'v',this.dataAcquisitionInfo[str]) |
| | | // this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n) |
| | | // },1000) |
| | | // }else if(Number(this.dataAcquisitionInfo.frequency)>num){ |
| | | // if(n.v.ps.value.includes(num)){ |
| | | // setTimeout(()=>{ |
| | | // this.$delete(n.v,'v') |
| | | // this.$set(n.v,'v',this.dataAcquisitionInfo[str]) |
| | | // this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n) |
| | | // },1000) |
| | | // } |
| | | // } |
| | | // } |
| | | // }) |
| | | // } |
| | | // } |
| | | // }) |
| | | // }) |
| | | }) |
| | | // console.log(res.data) |
| | | this.wareFormChange() |
| | | }) |
| | | }else{ |
| | | // ä¸è¬çæ°æ®éé |
| | | this.dataAcquisitionLoading = true |
| | | this.$axios.get(this.$api.deviceScope.dataCollection+'?entrustCode='+this.insOrder.entrustCode+'&sampleCode='+this.currentSample.sampleCode + '&id=' + this.currentSample.id).then(res=>{ |
| | | this.dataAcquisitionLoading = false |
| | | if(res.code!=200){ |
| | | return |
| | | } |
| | | this.dataAcquisitionInfo = res.data |
| | | try { |
| | | // å Worker åéæ¶æ¯ï¼å¼å§å¤çé»è¾ |
| | | this.worker0.postMessage(JSON.stringify({ |
| | | dataAcquisitionInfo: this.dataAcquisitionInfo, |
| | | list:this.tableList[0].arr |
| | | })); |
| | | } catch (error) { |
| | | console.log(1111,error); |
| | | } |
| | | // çå¬ Worker è¿åçç»æ |
| | | this.worker0.onmessage = (event) => { |
| | | let result = JSON.parse(event.data); |
| | | if(result.method=='changeInput'){ |
| | | let {list,n} = result.value |
| | | this.$set(this.tableList[0],'arr',list) |
| | | this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n) |
| | | } |
| | | }; |
| | | }) |
| | | } |
| | | }, |
| | | // å¤çº¿ç¨ |
| | | startWorker() { |
| | |
| | | }, |
| | | // 温度循ç¯---å¼å§ |
| | | changeItem(row){ |
| | | if(row.value0&&row.value1){ |
| | | if(row.value0&&!row.value1){ |
| | | this.$set(row,'comValue',Number(row.value0).toFixed(3)) |
| | | }else if(!row.value0&&row.value1){ |
| | | this.$set(row,'comValue',Number(row.value1).toFixed(3)) |
| | | }else if(row.value0&&row.value1){ |
| | | this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(3)) |
| | | }else{ |
| | | return |
| | |
| | | let arr1 = [] |
| | | this.wareLength = []; |
| | | for(let i=0;i<arr.length;i++){ |
| | | arr1.push([]) |
| | | this.wareLength.push(arr[i][0].inspectionItemClass) |
| | | } |
| | | for(let i=0;i<arr[0].length;i++){ |
| | | arr1.push([]) |
| | | } |
| | | arr.forEach((item,index)=>{ |
| | | item.forEach((m,i)=>{ |
| | |
| | | let fileDel = false |
| | | let fileAdd = false |
| | | let collected = false |
| | | let temDataAcquisition = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'uploadFile') { |
| | | fileAdd = true |
| | |
| | | if (power[i].menuMethod == 'isItAllowedToModifyTheCollectedValues') { |
| | | collected = true |
| | | } |
| | | if (power[i].menuMethod == 'temDataAcquisition') { |
| | | temDataAcquisition = true |
| | | } |
| | | } |
| | | if (!fileDel) { |
| | | this.componentData0.do.splice(1, 1) |
| | | } |
| | | this.fileAdd = fileAdd |
| | | this.collected = collected |
| | | this.temDataAcquisition = temDataAcquisition |
| | | }, |
| | | async getCurrentProduct(id,type){ |
| | | this.tableLoading = true; |
| | |
| | | conclusionList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === 'ç»è®º') |
| | | finalList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === 'æç»å¼') |
| | | a.template.forEach( b => { |
| | | if (b.v.ps != undefined && b.v.ps.value === 'åºå·' && (b.v.mc == undefined || Object.keys(b.v.mc) |
| | | .length === 4)) { |
| | | if (b.v.ps != undefined && b.v.ps.value === 'åºå·' && (b.v.mc == undefined || Object.keys(b.v.mc).length === 4)) { |
| | | count1++ |
| | | b.v.v = count1 |
| | | } |
| | |
| | | b.v.v = this.getAsk(b.i) |
| | | } |
| | | if (b.v.ps != undefined && typeof b.v.ps.value ==='string'&&b.v.ps.value.includes('æ£éªå¼')) { |
| | | b.v.v = '' |
| | | this.$set(b.v, 'v','' ) |
| | | // b.v.v = '' |
| | | b.u = '' |
| | | b.i && this.param[b.i].insValue.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '计ç®å¼') { |
| | | b.v.v = '' |
| | | this.$set(b.v, 'v','' ) |
| | | // b.v.v = '' |
| | | b.i && this.param[b.i].comValue.push(b) |
| | | } |
| | | if (b.v.ps != undefined && b.v.ps.value === '设å¤ç¼ç ') { |
| | |
| | | return sum |
| | | }, |
| | | handleInput (n) { |
| | | n.v.v = n.v.v.replace(/[^\d.^e\-/+]/g, ''); |
| | | n.v.v = n.v.v.replace(/\.{2,}/g,"."); //åªä¿ç第ä¸ä¸ª. æ¸
é¤å¤ä½ç |
| | | n.v.v = n.v.v.replace(".","$#$").replace(/\./g,"").replace("$#$","."); |
| | | n.v.v = n.v.v.replace(/\/{2,}/g,"/"); //åªä¿ç第ä¸ä¸ª/æ¸
é¤å¤ä½ç |
| | | n.v.v = n.v.v.replace("/","$#$").replace(/\//g,"").replace("$#$","/"); |
| | | try { |
| | | n.v.v = n.v.v.replace(/[^\d.^e\-/+]/g, ''); |
| | | n.v.v = n.v.v.replace(/\.{2,}/g,"."); //åªä¿ç第ä¸ä¸ª. æ¸
é¤å¤ä½ç |
| | | n.v.v = n.v.v.replace(".","$#$").replace(/\./g,"").replace("$#$","."); |
| | | n.v.v = n.v.v.replace(/\/{2,}/g,"/"); //åªä¿ç第ä¸ä¸ª/æ¸
é¤å¤ä½ç |
| | | n.v.v = n.v.v.replace("/","$#$").replace(/\//g,"").replace("$#$","/"); |
| | | } catch (error) { |
| | | console.log(error); |
| | | } |
| | | |
| | | }, |
| | | getInspectionItemType(id) { |
| | | for (var a in this.currentSample.insProduct) { |
| | |
| | | this.$message.error("请æå®å¤æ ¸äººå") |
| | | return |
| | | } |
| | | if(!this.otherForm.humidity){ |
| | | this.$message.error("请è¾å
¥æ¹¿åº¦") |
| | | return |
| | | } |
| | | if(!this.otherForm.temperature){ |
| | | this.$message.error("请è¾å
¥æ¸©åº¦") |
| | | return |
| | | } |
| | | this.addVerifyDia = false |
| | | this.submitLoading = true; |
| | | this.$axios.post(this.$api.insOrderPlan.checkSubmitPlan, { |
| | |
| | | if (this.equipOptions[i].value === val) { |
| | | for (let i1 in this.param[n.i].equipName) { |
| | | if (this.param[n.i].equipName[i1].i === n.i && this.param[n.i].equipName[i1].r === n.r) { |
| | | this.$delete(this.param[n.i].equipValue[i1].v,'v') |
| | | this.$set(this.param[n.i].equipValue[i1].v,'v',val) |
| | | this.$delete(this.param[n.i].equipName[i1].v,'v') |
| | | this.$set(this.param[n.i].equipName[i1].v,'v',this.equipOptions[i].label) |
| | | this.param[n.i].equipValue[i1].isItADataAcquisitionDevice = this.equipOptions[i].isItADataAcquisitionDevice |
| | | } |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="inspectionItem" label="æ£éªé¡¹" min-width="100" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItemSubclass" label="æ£éªé¡¹åç±»" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="inspectionItemSubclass" label="æ£éªé¡¹åç±»" min-width="100" show-overflow-tooltip v-if="PROJECT=='è£
å¤çµç¼'"></el-table-column> |
| | | <el-table-column prop="laboratory" label="å®éªå®¤" min-min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="unit" label="åä½" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="equipName" label="设å¤" min-width="100" show-overflow-tooltip> |
| | | <el-table-column prop="equipValue" label="设å¤" min-width="100" show-overflow-tooltip> |
| | | <template slot-scope="scope"> |
| | | {{handleData(scope.row.equipName)}} |
| | | {{handleData(scope.row.equipValue)}} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="entrustCode" label="å§æç¼å·" min-width="100" show-overflow-tooltip></el-table-column> |
| | |
| | | }) |
| | | }, |
| | | handleData(e){ |
| | | let info = JSON.parse(e).map(item => { |
| | | let info = '' |
| | | if(e){ |
| | | info = JSON.parse(e).map(item => { |
| | | return item.v; |
| | | }).join(',') |
| | | } |
| | | return info |
| | | } |
| | | } |
| | |
| | | this.title = 'å®¡æ ¸' |
| | | this.formData0 = row; |
| | | this.checkVisible = true |
| | | this.formData0.reviewerNumber = this.formData0.amount |
| | | }, |
| | | handleRatify(row){ |
| | | this.title = 'æ¹å' |
| | | this.formData0 = row; |
| | | this.checkVisible = true |
| | | this.formData0.reviewerNumber = this.formData0.amount |
| | | }, |
| | | handleChangeTask (row) { |
| | | this.ValueTable0Selected = JSON.parse(JSON.stringify(row)) |
| | |
| | | case 'pie': |
| | | iuCharts.drawPie(this.chart,this.datas) |
| | | break; |
| | | case 'gauge': |
| | | iuCharts.drawGauge(this.chart,this.datas) |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | |
| | | <template> |
| | | <div class="device-page"> |
| | | <div class="device-left"> |
| | | <el-input placeholder="è¾å
¥è®¾å¤åç§°" suffix-icon="el-icon-search" v-model="search" size="small" |
| | | style="margin-bottom: 5px;" clearable></el-input> |
| | | <el-input placeholder="è¾å
¥è®¾å¤åç§°" suffix-icon="el-icon-search" v-model="deviceName" size="small" |
| | | @keyup.enter="geList" |
| | | style="margin-bottom: 5px;" clearable @change="geList"></el-input> |
| | | <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="id" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" |
| | | @node-collapse="nodeClose" v-loading="loading" :expand-on-click-node="false" |
| | | :default-expanded-keys="expandedKeys" |
| | | style="height:calc(100% - 46px);overflow-y: scroll;scrollbar-width: none;"> |
| | | <div class="custom-tree-node" slot-scope="{ node, data }"> |
| | | <el-row style="width: 100%;"> |
| | | <el-col :span="21" :title="data.label"> |
| | | <span class="single-line-ellipsis" style="width: 100%;display: inline-block;"> |
| | | <i :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i> |
| | | {{ data.label }} |
| | | </span> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | <div class="device-right"></div> |
| | | <div class="device-right"> |
| | | <el-radio-group v-model="currentPage" size="small"> |
| | | <el-radio-button :label="item.id" v-for="(item,index) in tabList" :key="index" |
| | | size="small">{{ item.title }}</el-radio-button> |
| | | </el-radio-group> |
| | | <div class="device-right-content"> |
| | | <component :is="currentPage"></component> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import operationOverview from '../do/a6-device/operation-overview.vue'; |
| | | import files from '../do/a6-device/files.vue'; |
| | | import checkAndAccept from '../do/a6-device/check-and-accept.vue'; |
| | | import calibration from '../do/a6-device/calibration.vue'; |
| | | import check from '../do/a6-device/check.vue'; |
| | | import maintenance from '../do/a6-device/maintenance.vue'; |
| | | import borrow from "../do/a6-device/borrow.vue"; |
| | | import fault from "../do/a6-device/fault.vue"; |
| | | import record from '../do/a6-device/record.vue'; |
| | | import state from '../do/a6-device/state.vue'; |
| | | export default { |
| | | components:{ |
| | | operationOverview, |
| | | files, |
| | | checkAndAccept, |
| | | calibration, |
| | | check, |
| | | maintenance, |
| | | borrow, |
| | | fault, |
| | | record, |
| | | state, |
| | | }, |
| | | data(){ |
| | | return { |
| | | search:'' |
| | | deviceName:'', |
| | | loading:false, |
| | | tabList:[ |
| | | { |
| | | id:'operationOverview', |
| | | title:'设å¤è¿è¡æ»è§', |
| | | }, |
| | | { |
| | | id:'files', |
| | | title:'è®¾å¤æ¡£æ¡', |
| | | }, |
| | | { |
| | | id:'checkAndAccept', |
| | | title:'设å¤éªæ¶', |
| | | }, |
| | | { |
| | | id:'calibration', |
| | | title:'è®¾å¤æ ¡å', |
| | | }, |
| | | { |
| | | id:'check', |
| | | title:'è®¾å¤æ ¸æ¥', |
| | | }, |
| | | { |
| | | id:'maintenance', |
| | | title:'设å¤ç»´æ¤', |
| | | }, |
| | | { |
| | | id:'borrow', |
| | | title:'设å¤åç¨', |
| | | }, |
| | | { |
| | | id:'fault', |
| | | title:'è®¾å¤æ
é', |
| | | }, |
| | | { |
| | | id:'record', |
| | | title:'使ç¨è®°å½', |
| | | }, |
| | | { |
| | | id:'state', |
| | | title:'设å¤åç¨/å¯ç¨', |
| | | }, |
| | | ], |
| | | currentPage:'operationOverview', |
| | | expandedKeys:[], |
| | | selectTree:'', |
| | | list:[] |
| | | } |
| | | }, |
| | | mounted(){ |
| | | this.geList() |
| | | }, |
| | | methods:{ |
| | | geList(){ |
| | | this.loading = true; |
| | | this.$axios.get(this.$api.deviceScope.treeDevice+'?deviceName='+this.deviceName).then(res => { |
| | | this.loading = false; |
| | | let data = res.data |
| | | data.forEach((item,index) => { |
| | | item.id = index +1 |
| | | item.label = item.largeCategory |
| | | item.children.forEach((m,i)=>{ |
| | | m.label = m.deviceName |
| | | }) |
| | | }) |
| | | this.list = data |
| | | }) |
| | | }, |
| | | handleNodeClick(val, node, el) { //æ çå¼ |
| | | this.selectTree = '' |
| | | this.getNodeParent(node) |
| | | this.selectTree = this.selectTree.replace(' - ', '') |
| | | let data = this.selectTree.split(' - ') |
| | | let data2 = '' |
| | | for (let index = data.length - 1; index >= 0; index--) { |
| | | data2 += " - " + data[index] |
| | | } |
| | | this.selectTree = data2.replace(' - ', '') |
| | | |
| | | this.currentPage = 'operationOverview'; |
| | | }, |
| | | getNodeParent(val) { |
| | | if (val.parent != null) { |
| | | if(val.data.children === null){ |
| | | this.selectTree += ' - ' + val.label + ' - ' + 'null' |
| | | }else{ |
| | | this.selectTree += ' - ' + val.label |
| | | } |
| | | this.getNodeParent(val.parent) |
| | | } |
| | | }, |
| | | nodeOpen(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') |
| | | }, |
| | | nodeClose(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | padding-top: 10px; |
| | | padding-bottom: 10px; |
| | | box-sizing: border-box; |
| | | width: 100%; |
| | | } |
| | | .device-left{ |
| | | width: 200px; |
| | |
| | | background: #fff; |
| | | margin-right: 10px; |
| | | border-radius: 16px; |
| | | box-sizing: border-box; |
| | | padding: 10px 16px; |
| | | } |
| | | .device-right{ |
| | | background: #fff; |
| | | flex: 1; |
| | | border-radius: 16px; |
| | | box-sizing: border-box; |
| | | padding: 10px 16px; |
| | | } |
| | | .device-right-content{ |
| | | margin-top: 10px; |
| | | height: calc(100% - 42px); |
| | | width: 100%; |
| | | } |
| | | .custom-tree-node { |
| | | width: 100%; |
| | | /* line-height: 32px; */ |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .node_i { |
| | | color: orange; |
| | | font-size: 18px; |
| | | } |
| | | </style> |
| | |
| | | //æ¬å° |
| | | // Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80"; |
| | | // const javaApi = 'http://127.0.0.1:8001'; |
| | | const javaApi = 'http://192.168.92.249:8001'; |
| | | const javaApi = 'http://192.168.92.2:8001'; |
| | | |
| | | //äº |
| | | // Vue.prototype.LOCATIONVUE = "http://114.132.189.42:8080"; |
| | |
| | | ] |
| | | }; |
| | | chart.setOption(option); |
| | | }, |
| | | drawGauge:function(chart,params){ |
| | | let option = { |
| | | tooltip: { |
| | | formatter: "{a} <br/>{b} : {c}%" |
| | | }, |
| | | toolbox: { |
| | | feature: { |
| | | restore: {}, |
| | | saveAsImage: {} |
| | | } |
| | | }, |
| | | series: [ |
| | | { |
| | | type: 'gauge', |
| | | axisLine: { |
| | | lineStyle: { |
| | | width: 28, |
| | | color: [ |
| | | [0.3, '#67e0e3'], |
| | | [0.7, '#37a2da'], |
| | | [1, '#fd666d'] |
| | | ] |
| | | } |
| | | }, |
| | | pointer: { |
| | | itemStyle: { |
| | | color: 'auto' |
| | | } |
| | | }, |
| | | axisTick: { |
| | | distance: -28, |
| | | length: 8, |
| | | lineStyle: { |
| | | color: '#fff', |
| | | width: 2 |
| | | } |
| | | }, |
| | | splitLine: { |
| | | distance: -28, |
| | | length: 28, |
| | | lineStyle: { |
| | | color: '#fff', |
| | | width: 4 |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | color: 'inherit', |
| | | distance: 40, |
| | | fontSize: 14 |
| | | }, |
| | | detail: { |
| | | valueAnimation: true, |
| | | formatter: '{value} %', |
| | | color: 'inherit', |
| | | textStyle: { |
| | | fontSize: 30, |
| | | align: 'center', |
| | | }, |
| | | }, |
| | | data: [ |
| | | { |
| | | value: 70 |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | }; |
| | | chart.setOption(option,true); |
| | | } |
| | | } |
| | | |
| | |
| | | try{ |
| | | if(comResult==0){ |
| | | a[b].v.v = 0 |
| | | }else if(a[b].v.ct&&a[b].v.ct.fa&&typeof a[b].v.ct.fa == 'string'&&a[b].v.ct.fa.includes('.')){ |
| | | let num = 0 |
| | | let str = n.v.ct.fa.split('.')[1] |
| | | num = str.length |
| | | a[b].v.v = comResult?Number(comResult).toFixed(num):0 |
| | | }else{ |
| | | let val = parseFloat(comResult.toFixed(3)) |
| | | let val = parseFloat(Number(comResult).toFixed(3)) |
| | | a[b].v.v = isNaN(val) ? '' : val |
| | | } |
| | | }catch(error){ |
| | |
| | | } else if (isPoint) { |
| | | return str.replace('ABS', '').replace(/\(|\)/g, '') |
| | | }else { |
| | | // console.log('str', str,eval(str)) |
| | | // console.log('str', str) |
| | | return eval(str) |
| | | } |
| | | } catch (error) { |
| | |
| | | let arr = n.v.ps.value.split('å¼') |
| | | if(arr[1] ==dataAcquisitionInfo.frequency){ |
| | | setTimeout(()=>{ |
| | | n.v.v = dataAcquisitionInfo[str] |
| | | let num = 0 |
| | | if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){ |
| | | let str = n.v.ct.fa.split('.')[1] |
| | | num = str.length |
| | | n.v.v = dataAcquisitionInfo[str]?dataAcquisitionInfo[str].toFixed(num):0 |
| | | }else{ |
| | | n.v.v = dataAcquisitionInfo[str] |
| | | } |
| | | result = { |
| | | method:'changeInput', |
| | | value:{ |
| | |
| | | }else if(Number(dataAcquisitionInfo.frequency)>num){ |
| | | if(n.v.ps.value.includes(num)){ |
| | | setTimeout(()=>{ |
| | | n.v.v = dataAcquisitionInfo[str] |
| | | let num = 0 |
| | | if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){ |
| | | let str = n.v.ct.fa.split('.')[1] |
| | | num = str.length |
| | | n.v.v = dataAcquisitionInfo[str]?Number(dataAcquisitionInfo[str]).toFixed(num):0 |
| | | }else{ |
| | | n.v.v = dataAcquisitionInfo[str] |
| | | } |
| | | result = { |
| | | method:'changeInput', |
| | | value:{ |
| | |
| | | } |
| | | self.postMessage(JSON.stringify(result)) |
| | | },2000) |
| | | // n.v.v = dataAcquisitionInfo[str] |
| | | // result = { |
| | | // method:'changeInput', |
| | | // value:{ |
| | | // list:list, |
| | | // n:n |
| | | // } |
| | | // } |
| | | // self.postMessage(JSON.stringify(result)) |
| | | // setTimeout(()=>{ |
| | | // this.$delete(n.v,'v') |
| | | // this.$set(n.v,'v',this.dataAcquisitionInfo[str]) |
| | | // this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n) |
| | | // },1000) |
| | | } |
| | | } |
| | | } |