Merge remote-tracking branch 'origin/master'
| | |
| | | certification, |
| | | sealScope, |
| | | informationNotification, |
| | | performanceShift, |
| | | } |
| | | } |
| | | |
| | |
| | | triggerModificationStatusToRead:"/informationNotification/triggerModificationStatusToRead",//ç¹å»è¯¦æ
触åä¿®æ¹ç¶æä¸ºå·²è¯» |
| | | } |
| | | |
| | | const performanceShift = { |
| | | add:"/performanceShift/add",//绩æç®¡ç-çæ¬¡-æç |
| | | page:"/performanceShift/page",//绩æç®¡ç-çæ¬¡-å页æ¥è¯¢ |
| | | update:"/performanceShift/update/",//绩æç®¡ç-çæ¬¡-çæ¬¡ç¶æä¿®æ¹ |
| | | } |
| | | |
| | |
| | | <el-button type="primary" @click="confirmExport" :loading="upLoadExport">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="åºä½ç»´æ¤" :visible.sync="keepVisible" width="350px"> |
| | | <el-dialog title="åºä½ç»´æ¤" :visible.sync="keepVisible" width="350px" :append-to-body="true"> |
| | | <el-tree :data="warehouse" ref="tree" :props="{ children: 'warehouseShelfList', label: 'name' }" node-key="id" |
| | | :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" |
| | | @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" v-if="keepVisible" |
| | |
| | | <el-col :span="20"> |
| | | <span><i |
| | | :class="`node_i ${node.level<2 ? 'el-icon-folder-opened': 'el-icon-tickets'}`"></i> |
| | | {{ data.name }}{{ node.level }}</span> |
| | | {{ data.name }}</span> |
| | | </el-col> |
| | | <el-col :span="4" v-if="node.level<3"> |
| | | <el-button type="text" size="mini" icon="el-icon-edit" @click.stop="handleEdit(data,node.level)"> |
| | |
| | | this.entity.shelfId = this.shelf[0].id |
| | | this.handleShelf(this.entity.shelfId) |
| | | } |
| | | }else if(this.warehouse.length>0){ |
| | | this.warehouseChange(this.entity.warehouseId) |
| | | if(this.shelf.length>0){ |
| | | this.entity.shelfId = this.shelf[0].id |
| | | this.handleShelf(this.entity.shelfId) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | |
| | | }).then(res => { |
| | | this.upLoadWarehouse = false; |
| | | this.warehouseVisible = false |
| | | // this.keepVisible = false |
| | | this.currentEdit = null; |
| | | if (res.code == 201) { |
| | | this.$message.error('ä¿®æ¹å¤±è´¥') |
| | |
| | | } |
| | | this.$message.success('ä¿®æ¹æå') |
| | | this.selectList() |
| | | this.name = '' |
| | | this.warehouseChange(this.entity.warehouseId) |
| | | }) |
| | | }else{ |
| | | // æ°å¢ä»åº |
| | |
| | | } |
| | | this.$message.success('æ·»å æå') |
| | | this.selectList() |
| | | this.name = '' |
| | | this.warehouseChange(this.entity.warehouseId) |
| | | }) |
| | | } |
| | | this.name = '' |
| | | this.warehouseChange(this.entity.warehouseId) |
| | | }, |
| | | // æ·»å /ä¿®æ¹è´§æ¶ |
| | | confirmShelves() { |
| | |
| | | }).then(res => { |
| | | this.upLoadShelves = false; |
| | | this.shelvesVisible = false |
| | | // this.keepVisible = false |
| | | if (res.code == 201) { |
| | | this.$message.error('æ·»å 失败') |
| | | this.$message.error('ä¿®æ¹å¤±è´¥') |
| | | return |
| | | } |
| | | this.$message.success('æ·»å æå') |
| | | this.$message.success('ä¿®æ¹æå') |
| | | this.selectList() |
| | | this.currentEdit ={}; |
| | | }) |
| | |
| | | }, |
| | | nodeOpen(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') |
| | | this.selectTree[node.level-1] = data.id; |
| | | }, |
| | | nodeClose(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') |
| | |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-input v-model="query.name" placeholder="请è¾å
¥äººååç§°" size="small" style="width: 140px;margin: 0 16px;" clearable ></el-input> |
| | | <el-select v-model="query.addr" placeholder="è¯·éæ©å®éªå®¤" style="width: 140px;" size="small" clearable > |
| | | <el-input v-model="query.userName" placeholder="请è¾å
¥äººååç§°" size="small" style="width: 140px;margin: 0 16px;" clearable ></el-input> |
| | | <el-select v-model="query.laboratory" placeholder="è¯·éæ©å®éªå®¤" style="width: 140px;" size="small" clearable > |
| | | <el-option |
| | | v-for="item in labOptions" |
| | | v-for="item in laboratory" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | |
| | | </div> |
| | | <div class="search_thing btns" style="padding-left: 30px;"> |
| | | <el-button size="small" type="primary">导 åº</el-button> |
| | | <el-button size="small" type="primary" @click="handleScheduling">æ ç</el-button> |
| | | <el-button size="small" type="primary" @click="schedulingVisible = true">æ ç</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="center"> |
| | | <div class="fixed-left"> |
| | | <div class="content-title" style="padding-left: 16px;box-sizing: border-box;"> |
| | | 人ååç§° |
| | | </div> |
| | | <div class="content-user" :class="{hoverType:currentUserIndex==index}" v-for="(item,index) in userList" :key="'e'+index" v-on:mouseenter="onMouseEnter(index)" |
| | | v-on:mouseleave="currentUserIndex=null"> |
| | | <div class="user-pic">{{ item.name.charAt(0) }}</div> |
| | | <div class="user-info"> |
| | | <p style="font-size: 14px;color: #3A7BFA;line-height: 24px;">{{ item.name }} ({{ item.part }})</p> |
| | | <p style="color: #999999;font-size: 12px;transform: scale(0.8) translateX(-20px);white-space: nowrap;width: 150px;overflow-x: show;">æ©:{{ item.day0 }}, ä¸:{{ item.day1 }}, å¤:{{ item.day2 }}, ä¼:{{ item.day3 }}, å:{{ item.day4 }}</p> |
| | | <p style="margin-top: 4px;"><span style="color: #999999;font-size: 12px;display: inline-block;transform: scale(0.8) translateX(-10px);">å计åºå¤: </span><span style="font-size: 16px; |
| | | color: #FF4902;">{{ item.day5 }}天</span></p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="scroll-right"> |
| | | <div class="content"> |
| | | <div class="content-title content-title-right" style="border-bottom: 0;"> |
| | | <div class="content-title-item" v-for="(item,index) in weeks" :key="'b'+index"> |
| | | <span class="month" v-if="item.day==1">{{ item.month }}</span> |
| | | <span class="day">{{ item.day }}</span> |
| | | <span class="week">{{ item.week }}</span> |
| | | <div class="center" v-loading="pageLoading"> |
| | | <scroll-pagination @load="init" :finishLoding="finishLoding"> |
| | | <div> |
| | | <div class="fixed-left"> |
| | | <div class="content-title" style="padding-left: 16px;box-sizing: border-box;"> |
| | | 人ååç§° |
| | | </div> |
| | | <div class="content-user" :class="{hoverType:currentUserIndex==index}" v-for="(item,index) in list" :key="'e'+index" v-on:mouseenter="onMouseEnter(index)" |
| | | v-on:mouseleave="currentUserIndex=null"> |
| | | <div class="user-pic">{{ item.name.charAt(0) }}</div> |
| | | <div class="user-info"> |
| | | <p style="font-size: 14px;color: #3A7BFA;line-height: 24px;">{{ item.name }}</p> |
| | | <p style="color: #999999;font-size: 12px;transform: scale(0.8) translateX(-20px);white-space: nowrap;width: 150px;overflow-x: show;">æ©: {{ item.day0 }}ï¼ä¸: {{ item.day1 }}ï¼å¤: {{ item.day2 }}ï¼ä¼: {{ item.day3 }}ï¼å: {{ item.day4 }}</p> |
| | | <p style="margin-top: 4px;"><span style="color: #999999;font-size: 12px;display: inline-block;transform: scale(0.8) translateX(-10px);">å计åºå¤: </span><span style="font-size: 16px; |
| | | color: #FF4902;">{{ item.totalAttendance }}天</span></p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="content-body" v-for="(item,index) in 5" :key="'c'+index" |
| | | :class="{hoverType:currentUserIndex==index}"v-on:mouseenter="onMouseEnter(index)" |
| | | v-on:mouseleave="currentUserIndex=null"> |
| | | <div class="content-body-item" v-for="(m,i) in workList" :key="'d'+i"> |
| | | <div class="work-box" :class="{type0:m.type=='æ©ç',type1:m.type=='ä¸ç',type2:m.type=='å¤ç',}"> |
| | | <div class="work-box-left"> |
| | | <span>{{ m.type }}</span> |
| | | <div class="scroll-right"> |
| | | <div class="content"> |
| | | <div class="content-title content-title-right" style="border-bottom: 0;"> |
| | | <div class="content-title-item" v-for="(item,index) in weeks" :key="'b'+index"> |
| | | <span class="month">{{ item.weekNum }}å¨</span> |
| | | <span class="day">{{ item.day }}</span> |
| | | <span class="week">{{ item.week }}</span> |
| | | </div> |
| | | <el-dropdown trigger="click" placement="bottom" @command="e=>handleCommand(e,m)"> |
| | | <i class="el-icon-arrow-down el-icon--right" style="font-size: 20px;color: #fff;cursor: pointer;"></i> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item v-for="(n,j) in classType" :key="'h'+j" :command="n.value">{{ n.label }}</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </div> |
| | | <div class="content-body" v-for="(item,index) in list" :key="'c'+index" |
| | | :class="{hoverType:currentUserIndex==index}"v-on:mouseenter="onMouseEnter(index)" |
| | | v-on:mouseleave="currentUserIndex=null"> |
| | | <div class="content-body-item" v-for="(m,i) in item.list" :key="'d'+i"> |
| | | <div class="work-box" :class="{type0:m.shift==='0',type1:m.shift==='1',type2:m.shift==='2',type3:m.shift==='3',type4:m.shift==='4',}"> |
| | | <div class="work-box-left"> |
| | | <span>{{ getShiftByDic(m.shift) }}</span> |
| | | </div> |
| | | <el-dropdown trigger="click" placement="bottom" @command="e=>handleCommand(e,m)"> |
| | | <i class="el-icon-arrow-down el-icon--right" style="font-size: 20px;color: #fff;cursor: pointer;"></i> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item v-for="(n,j) in classType" :key="'h'+j" :command="n.value">{{ n.label }}</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </scroll-pagination> |
| | | </div> |
| | | <el-dialog title="æç" :visible.sync="schedulingVisible" width="400px"> |
| | | <div class="search_thing"> |
| | |
| | | <div class="search_thing"> |
| | | <div class="search_label" style="width:90px">人ååç§°ï¼</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="schedulingQuery.person" placeholder="è¯·éæ©" style="width: 100%;" multiple clearable > |
| | | <el-select v-model="schedulingQuery.userId" placeholder="è¯·éæ©" style="width: 100%;" multiple clearable collapse-tags > |
| | | <el-option |
| | | v-for="item in personList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | <div class="search_thing"> |
| | | <div class="search_label" style="width:90px">çæ¬¡ï¼</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="schedulingQuery.person" placeholder="è¯·éæ©" style="width: 100%;"> |
| | | <el-select v-model="schedulingQuery.shift" placeholder="è¯·éæ©" style="width: 100%;"> |
| | | <el-option |
| | | v-for="item in classType" |
| | | :key="item.value" |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getYearAndMonthAndDays |
| | | } from '../../util/date' |
| | | import ScrollPagination from '../tool/scroll-paging.vue' |
| | | export default { |
| | | components: { |
| | | ScrollPagination |
| | | }, |
| | | data () { |
| | | return{ |
| | | currentYear:new Date().getFullYear(), |
| | | currentMonth:new Date().getMonth()+1, |
| | | query:{ |
| | | name:'', |
| | | addr:'', |
| | | userName:'', |
| | | laboratory:'', |
| | | year:'', |
| | | month:'' |
| | | }, |
| | |
| | | label:'12æ' |
| | | }, |
| | | ], |
| | | labOptions:[], |
| | | weeks:[ |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:1, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨äº', |
| | | day:2, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:3, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨å', |
| | | day:4, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨äº', |
| | | day:5, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨å
', |
| | | day:6, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'卿¥', |
| | | day:7, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:8, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨äº', |
| | | day:9, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:10, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨å', |
| | | day:11, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨äº', |
| | | day:12, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨å
', |
| | | day:13, |
| | | },{ |
| | | month:'14å¨', |
| | | week:'卿¥', |
| | | day:14, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:15, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:16, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:17, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:18, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:19, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:20, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:21, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:22, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:23, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:24, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:25, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:26, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:27, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:28, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:29, |
| | | }, |
| | | { |
| | | month:'14å¨', |
| | | week:'å¨ä¸', |
| | | day:30, |
| | | }, |
| | | ], |
| | | laboratory:[], |
| | | weeks:[], |
| | | workList:[ |
| | | { |
| | | type:'æ©ç', |
| | |
| | | }, |
| | | ], |
| | | classType:[], |
| | | userList:[ |
| | | { |
| | | name:'æåªåª', |
| | | part:'ææ', |
| | | day0:12,//æ© |
| | | day1:12,//ä¸ |
| | | day2:12,//å¤ |
| | | day3:12,//ä¼ |
| | | day4:12,//请å |
| | | day5:12,//æ»è®¡ |
| | | }, |
| | | { |
| | | name:'æåªåª', |
| | | part:'ææ', |
| | | day0:12,//æ© |
| | | day1:12,//ä¸ |
| | | day2:12,//å¤ |
| | | day3:12,//ä¼ |
| | | day4:12,//请å |
| | | day5:12,//æ»è®¡ |
| | | }, |
| | | { |
| | | name:'æåªåª', |
| | | part:'ææ', |
| | | day0:12,//æ© |
| | | day1:12,//ä¸ |
| | | day2:12,//å¤ |
| | | day3:12,//ä¼ |
| | | day4:12,//请å |
| | | day5:12,//æ»è®¡ |
| | | }, |
| | | { |
| | | name:'æåªåª', |
| | | part:'ææ', |
| | | day0:12,//æ© |
| | | day1:12,//ä¸ |
| | | day2:12,//å¤ |
| | | day3:12,//ä¼ |
| | | day4:12,//请å |
| | | day5:12,//æ»è®¡ |
| | | }, |
| | | { |
| | | name:'æåªåª', |
| | | part:'ææ', |
| | | day0:12,//æ© |
| | | day1:12,//ä¸ |
| | | day2:12,//å¤ |
| | | day3:12,//ä¼ |
| | | day4:12,//请å |
| | | day5:12,//æ»è®¡ |
| | | }, |
| | | ], |
| | | currentUserIndex:null, |
| | | schedulingVisible:false, |
| | | personList:[], |
| | | loading:false, |
| | | schedulingQuery:{ |
| | | week:'', |
| | | person:'' |
| | | } |
| | | userId:null, |
| | | shift:'' |
| | | }, |
| | | list:[], |
| | | currentPage: 1, // å½å页 |
| | | pageSize: 10, // ä¸é¡µ10æ¡ |
| | | total: '', |
| | | pageLoading: true, // ç»ä»¶loadingçå±ç¤º,é»è®¤ä¸ºtrue |
| | | finishLoding: false // å è½½å®æï¼æ¾ç¤ºå·²ç»æ²¡ææ´å¤äº |
| | | } |
| | | }, |
| | | mounted(){ |
| | | this.selectEnumByCategory() |
| | | this.obtainItemParameterList() |
| | | this.getUsers() |
| | | this.init() |
| | | }, |
| | | methods: { |
| | | refresh(){}, |
| | | refreshTable(){}, |
| | | refresh(){ |
| | | this.list = []; |
| | | this.currentPage = 1 |
| | | this.query = { |
| | | userName:'', |
| | | laboratory:'', |
| | | year:'', |
| | | month:'' |
| | | } |
| | | this.init() |
| | | }, |
| | | refreshTable(){ |
| | | this.list = []; |
| | | this.currentPage = 1 |
| | | this.init() |
| | | }, |
| | | init(){ |
| | | if(this.currentPage==1){ |
| | | this.pageLoading = true |
| | | } |
| | | this.$axios.post(this.$api.performanceShift.page, { |
| | | size:this.pageSize, |
| | | current:this.currentPage, |
| | | time:this.query.month?this.query.year+'-'+this.query.month:this.query.year, |
| | | userName:this.query.userName, |
| | | laboratory:this.query.laboratory, |
| | | }).then(res => { |
| | | this.pageLoading = false |
| | | if (res.code == 201) return |
| | | this.total = res.data.total |
| | | let list = res.data.records.map(item=>{ |
| | | for (let key in item) { |
| | | let type = this.getDayByDic(key) |
| | | if(type!=undefined||type!=null){ |
| | | item[`day${type}`] = item[key] |
| | | } |
| | | } |
| | | return item |
| | | }); |
| | | // å³ä¾§æ¥æè·å |
| | | if(this.currentPage==1){ |
| | | if(list&&list.length>0){ |
| | | this.weeks = []; |
| | | list[0].list&&list[0].list.forEach(item=>{ |
| | | let obj = { |
| | | weekNum:item.weekly, |
| | | week:item.headerTime.split(' ')[1], |
| | | day:item.headerTime.split(' ')[0] |
| | | } |
| | | this.weeks.push(obj) |
| | | }) |
| | | } |
| | | } |
| | | if(list.length==0){ |
| | | this.finishLoding = true; |
| | | }else{ |
| | | if(list.length<this.pageSize){ |
| | | this.finishLoding = true; |
| | | } |
| | | this.list = this.list.concat(list) |
| | | if(this.total==this.list.length){ |
| | | this.finishLoding = true; |
| | | } |
| | | this.currentPage++; |
| | | } |
| | | }) |
| | | }, |
| | | onMouseEnter(index){ |
| | | this.currentUserIndex = index |
| | | }, |
| | | handleScheduling(){ |
| | | this.schedulingVisible = true |
| | | confirmScheduling(){ |
| | | if(!this.schedulingQuery.week){ |
| | | this.$message.error('è¯·éæ©å¨æ¬¡') |
| | | return |
| | | } |
| | | let time = this.schedulingQuery.week.getTime() |
| | | let startWeek =getYearAndMonthAndDays(new Date(time - 24 * 60 * 60 * 1000)) + ' 00:00:00' |
| | | let endWeek = getYearAndMonthAndDays(new Date(time + 24 * 60 * 60 * 1000 * 5))+ ' 00:00:00' |
| | | if(!this.schedulingQuery.userId||this.schedulingQuery.userId.length==0){ |
| | | this.$message.error('è¯·éæ©äººå') |
| | | return |
| | | } |
| | | if(!this.schedulingQuery.shift){ |
| | | this.$message.error('è¯·éæ©çæ¬¡') |
| | | return |
| | | } |
| | | this.loading = true |
| | | this.$axios.post(this.$api.performanceShift.add, { |
| | | startWeek, |
| | | endWeek, |
| | | userId:this.schedulingQuery.userId.join(','), |
| | | shift:this.schedulingQuery.shift}, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.loading = false |
| | | if (res.code == 201) return |
| | | this.$message.success('æä½æå') |
| | | this.schedulingVisible = false |
| | | this.schedulingQuery = { |
| | | week:'', |
| | | userId:null, |
| | | shift:'' |
| | | } |
| | | this.refresh() |
| | | }) |
| | | }, |
| | | confirmScheduling(){}, |
| | | selectEnumByCategory() { |
| | | this.$axios.post(this.$api.enums.selectEnumByCategory, { |
| | | category: "çæ¬¡ç±»å" |
| | |
| | | this.classType = res.data |
| | | }) |
| | | }, |
| | | obtainItemParameterList() { |
| | | this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | | data.push({ |
| | | label: a.laboratoryName, |
| | | value: a.id |
| | | }) |
| | | }) |
| | | this.laboratory = data |
| | | }) |
| | | }, |
| | | handleCommand(e,m){ |
| | | console.log(e,m) |
| | | if(e!=m.shift){ |
| | | this.$axios.put(this.$api.performanceShift.update+m.id, { |
| | | id:m.id, |
| | | shift:e |
| | | }).then(res => { |
| | | if (res.code == 201) return |
| | | this.$message.success('æä½æå') |
| | | m.shift = e |
| | | }) |
| | | } |
| | | }, |
| | | getUsers(){ |
| | | this.$axios.post(this.$api.user.selectUserList, { |
| | | page: { |
| | | current: -1, |
| | | size: -1, |
| | | }, |
| | | entity: { |
| | | name: null, |
| | | } |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code === 201) { |
| | | return |
| | | } |
| | | let arr = res.data.body.records |
| | | this.personList = arr |
| | | }) |
| | | }, |
| | | getDayByDic(e){ |
| | | let obj = this.classType.find(m=>m.label==e) |
| | | if(obj){ |
| | | return obj.value |
| | | } |
| | | }, |
| | | getShiftByDic(e){ |
| | | let obj = this.classType.find(m=>m.value==e) |
| | | if(obj){ |
| | | return obj.label |
| | | } |
| | | return 'æªæç' |
| | | } |
| | | } |
| | | } |
| | |
| | | left: 0; |
| | | top: 0; |
| | | width: 220px; /* 左边åºå宽度 */ |
| | | min-height: calc(100% - 10px); /* è§å£é«åº¦ */ |
| | | /* min-height: calc(100% - 10px); è§å£é«åº¦ */ |
| | | background-color: #fff; |
| | | box-shadow: 2px -2px 5px rgba(51,51,51,0.12); /* 左边é´å½± */ |
| | | } |
| | |
| | | |
| | | .content { |
| | | min-height: calc(100% - 10px); /* è§å£é«åº¦ */ |
| | | min-width: 2000px; |
| | | /* min-width: 2000px; */ |
| | | } |
| | | .content-title{ |
| | | height: 52px; |
| | |
| | | border-bottom: 1px solid #EEEEEE; |
| | | } |
| | | .content-title-right{ |
| | | min-width: 2000px; |
| | | /* min-width: 2000px; */ |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-around; |
| | | background: rgba(58,123,250,0.15); |
| | | background: #F5F7FB; |
| | | border-radius: 8px 8px 8px 8px; |
| | | color: #3A7BFA; |
| | | color: #999; |
| | | font-size: 14px; |
| | | } |
| | | .work-box.type0{ |
| | |
| | | background: #FAE2CA; |
| | | color: #BC8D5E; |
| | | } |
| | | .work-box.type3{ |
| | | background: #E1F3D8; |
| | | color: #67C23A; |
| | | } |
| | | .work-box.type4{ |
| | | background: #FDE2E2; |
| | | color: #F56C6C; |
| | | } |
| | | .work-box-left{ |
| | | display: flex; |
| | | justify-content: center; |
| | |
| | | }, |
| | | pageData:{}, |
| | | loading:false, |
| | | timers:null, |
| | | } |
| | | }, |
| | | mounted(){ |
| | | this.init() |
| | | this.timers&&clearInterval(this.timers); |
| | | setInterval(this.init,1000*60*5) |
| | | }, |
| | | methods:{ |
| | | init(){ |
| | |
| | | return '0' |
| | | } |
| | | } |
| | | }, |
| | | deactivated(){ |
| | | this.timers&&clearInterval(this.timers); |
| | | } |
| | | } |
| | | </script> |
| | |
| | | }, |
| | | chartData2:{ |
| | | title:'仿¥é¡¹ç®åæ ¼ç', |
| | | percentage:'68%', |
| | | percentage:'0', |
| | | color:['#1CCAB8','#E1E4E8'], |
| | | data:[ |
| | | { |
| | |
| | | }, |
| | | chartData3:{ |
| | | title:'仿¥é¡¹ç®å®æç', |
| | | percentage:'68%', |
| | | percentage:'0', |
| | | color:['#FBB647','#E1E4E8'], |
| | | data:[ |
| | | { |
| | | name:'宿', |
| | | value:'68' |
| | | value:'0' |
| | | }, |
| | | { |
| | | name:'æªå®æ', |
| | | value:'32' |
| | | value:'0' |
| | | }, |
| | | ] |
| | | }, |
| | |
| | | }, |
| | | chartData4:{ |
| | | title:'仿¥é¡¹å»¶æç', |
| | | percentage:'68%', |
| | | percentage:'0', |
| | | color:['#FF3838','#E1E4E8'], |
| | | data:[ |
| | | { |
| | | name:'å»¶æ', |
| | | value:'68' |
| | | value:'0' |
| | | }, |
| | | { |
| | | name:'æªå»¶æ', |
| | | value:'32' |
| | | value:'0' |
| | | }, |
| | | ] |
| | | }, |
| | | loading:false, |
| | | pageData:{} |
| | | pageData:{}, |
| | | timers:null |
| | | } |
| | | }, |
| | | mounted(){ |
| | | this.init() |
| | | // this.init() |
| | | this.timers&&clearInterval(this.timers); |
| | | setInterval(this.init,1000*60*5) |
| | | }, |
| | | methods:{ |
| | | init(){ |
| | |
| | | this.chartConfig3.isLoading = true |
| | | this.chartConfig4.isLoading = true |
| | | }) |
| | | }, |
| | | }, |
| | | handleData(val){ |
| | | if(val){ |
| | | return Math.abs(val)*100; |
| | |
| | | return '0' |
| | | } |
| | | } |
| | | }, |
| | | deactivated(){ |
| | | this.timers&&clearInterval(this.timers); |
| | | } |
| | | } |
| | | </script> |