搬运起点
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -7,7 +7,7 @@ yarn-error.log*
|
|||||||
/test/unit/coverage/
|
/test/unit/coverage/
|
||||||
/test/e2e/reports/
|
/test/e2e/reports/
|
||||||
selenium-debug.log
|
selenium-debug.log
|
||||||
/static/Magic4/
|
/static/Magic4*/
|
||||||
|
|
||||||
# Editor directories and files
|
# Editor directories and files
|
||||||
.idea
|
.idea
|
||||||
|
|||||||
@@ -24,6 +24,9 @@ export const queryTaskList = () => post('api/task/queryTaskList', {})
|
|||||||
export const deleteTask = (taskNum) => post('api/task/deleteTask', {
|
export const deleteTask = (taskNum) => post('api/task/deleteTask', {
|
||||||
task_num: taskNum
|
task_num: taskNum
|
||||||
})
|
})
|
||||||
|
export const deleteSingleTask = (taskNum) => post('api/task/deleteSingleTask', {
|
||||||
|
task_num: taskNum
|
||||||
|
})
|
||||||
// 1.5调整任务顺序
|
// 1.5调整任务顺序
|
||||||
export const updateTask = (arr) => post('api/task/updateTask', {
|
export const updateTask = (arr) => post('api/task/updateTask', {
|
||||||
param: arr
|
param: arr
|
||||||
|
|||||||
122
src/config/mork.js
Normal file
122
src/config/mork.js
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
/* eslint-disable */
|
||||||
|
export const queryTaskList = () => {
|
||||||
|
let res = {
|
||||||
|
code: '1',
|
||||||
|
result: [{next_point_code: '3', task_status: '01'}, {next_point_code: '4', task_status: '00'}, {next_point_code: '5', task_status: '00'}]
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
export const queryPoint = () => {
|
||||||
|
let res = {
|
||||||
|
code: '1',
|
||||||
|
result: [
|
||||||
|
{
|
||||||
|
point_code: '01',
|
||||||
|
code_name: '18-一线起升电机',
|
||||||
|
en_code_name: 'english-test'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '02',
|
||||||
|
code_name: '二楼中间层休息点位与茶水间的充电桩交叉点1',
|
||||||
|
en_code_name: 'english-002'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '3',
|
||||||
|
code_name: 'A-ZD103'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '4',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '5',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '6',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '7',
|
||||||
|
code_name: '二楼中间层休息点位与茶水间的充电桩交叉点1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '8',
|
||||||
|
code_name: '我是一个超级长的标题,显示不下'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '9',
|
||||||
|
code_name: 'aaammm brown head big so daijgsd jigna whcignaig ijanoghoniojojio jsi '
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '10',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '11',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '12',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '13',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '14',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '15',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '16',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '17',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '18',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '19',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '20',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '21',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '22',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '23',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '24',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '25',
|
||||||
|
code_name: 'A-ZD101'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
point_code: '26',
|
||||||
|
code_name: '二楼中间层休息点位与茶水间的充电桩交叉点1二楼中间层休息点位与茶水间的充电桩交叉点1'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
}
|
||||||
@@ -28,7 +28,8 @@ module.exports = {
|
|||||||
button1: 'Auto Pickup',
|
button1: 'Auto Pickup',
|
||||||
button2: 'Auto Release',
|
button2: 'Auto Release',
|
||||||
button3: 'Input Target Position',
|
button3: 'Input Target Position',
|
||||||
button4: 'Set Target Position'
|
button4: 'Set Target Position',
|
||||||
|
button5: 'Task Distribution'
|
||||||
},
|
},
|
||||||
tasklists: {
|
tasklists: {
|
||||||
topinfo: 'Task Management',
|
topinfo: 'Task Management',
|
||||||
|
|||||||
@@ -28,7 +28,8 @@ module.exports = {
|
|||||||
button1: '自动取货',
|
button1: '自动取货',
|
||||||
button2: '自动放货',
|
button2: '自动放货',
|
||||||
button3: '输入点位',
|
button3: '输入点位',
|
||||||
button4: '定位目标站点'
|
button4: '定位目标站点',
|
||||||
|
button5: '任务下发'
|
||||||
},
|
},
|
||||||
tasklists: {
|
tasklists: {
|
||||||
topinfo: '任务管理',
|
topinfo: '任务管理',
|
||||||
|
|||||||
BIN
src/images/new/button_gray.png
Normal file
BIN
src/images/new/button_gray.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
@@ -5,448 +5,167 @@
|
|||||||
<div class="title_wrap">
|
<div class="title_wrap">
|
||||||
<h2>{{ $t('carrypoint.topinfo') }}</h2>
|
<h2>{{ $t('carrypoint.topinfo') }}</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="box1">
|
<div class="page_container">
|
||||||
<div class="point-box">
|
<div class="grid_wrapper">
|
||||||
<div class="point" :class="{'statusbg':startObj === e.point_code,'returnbg':returnObj === e.point_code}" v-for="e in dataList" :key="e.point_code" @click="toRadio(e)">
|
<div class="point_item" v-for="e in dataList" :key="e.point_code" :class="{'point_checked': pkId === e.point_code}" ref="point" @click="toRadio(e)">
|
||||||
<div class="popover" v-if="hover.length > 20 && hover === e.code_name">
|
<p>{{e.code_name}}</p>
|
||||||
{{hover}}
|
<div v-show="pkId === e.point_code" class="point_item point_item_hover">{{e.code_name}}</div>
|
||||||
<span class="popper_arrow"></span>
|
|
||||||
</div>
|
|
||||||
{{e.code_name}}
|
|
||||||
<!-- <span class="ellipsis">{{e.code_name}}</span> -->
|
|
||||||
<!-- <span style="display: inline-block; width: 0;">{{e.code_name}}</span> -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="buttons_wrapper">
|
||||||
<div class="box2 buttons_wrapper">
|
<button class="button_control button_control_disabled" :class="{'button_control_gray': !pkId || !active}" :disabled="disabled" @click="_deleteSingleTask"><p>{{ $t('tasklists.button3') }}</p></button>
|
||||||
<!-- <button class="button_control" :class="{'button_control_disabled':returnObj}" @click="toSure(startObj, '3')"><p>{{ $t('carrypoint.button1') }}</p></button> -->
|
<button class="mgl20 button_control" :class="{'button_control_gray': !pkId || active}" :disabled="disabled" @click="_confirmPoint('1')"><p>{{ $t('carrypoint.button5') }}</p></button>
|
||||||
<button class="button_control" @click="toSure(startObj, '3')"><p>{{ $t('carrypoint.button1') }}</p></button>
|
|
||||||
<button class="button_control" @click="toSure(startObj, '4')"><p>{{ $t('carrypoint.button2') }}</p></button>
|
|
||||||
<button class="button_control" @click="showDialog('1')"><p>{{ $t('carrypoint.button3') }}</p></button>
|
|
||||||
<!-- <button class="button_control" @click="showDialog('2')"><p>{{ $t('carrypoint.button4') }}</p></button> -->
|
|
||||||
<button class="button_control" @click="toSure(startObj, '1', returnObj)"><p>{{ $t('carrypoint.button4') }}</p></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<jxDialog
|
|
||||||
ref="child"
|
|
||||||
:title="type === '1' ? $t('carrypoint.dialoginfo') : $t('carrypoint.dialogtip')"
|
|
||||||
:type="type"
|
|
||||||
:unclick="unclick"
|
|
||||||
@toSure="toSureDialog"
|
|
||||||
@toCancle="toCancle"
|
|
||||||
>
|
|
||||||
<div v-if="type === '1'" class="form_wraper">
|
|
||||||
<div class="form">
|
|
||||||
<div class="form_item">
|
|
||||||
<div class="form_item__label"><i>*</i>{{ $t('carrypoint.pointcode') }}</div>
|
|
||||||
<div class="form_item__content">
|
|
||||||
<!-- <input type="text" class="form_item__input" v-model="pointcode" @focus="show" data-layout="normal"> -->
|
|
||||||
<keyboard-input
|
|
||||||
inputClass="form_item__input"
|
|
||||||
keyboardClass="pointcode"
|
|
||||||
:value="pointcode"
|
|
||||||
@inputChange="inputChange1"
|
|
||||||
@inputFocus="inputFocus"
|
|
||||||
></keyboard-input>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form_item">
|
|
||||||
<div class="form_item__label">{{ $t('carrypoint.returnsitecode') }}</div>
|
|
||||||
<div class="form_item__content">
|
|
||||||
<!-- <input type="text" class="form_item__input" v-model="returnsitecode" @focus="show" data-layout="normal"> -->
|
|
||||||
<keyboard-input
|
|
||||||
inputClass="form_item__input"
|
|
||||||
keyboardClass="returnsitecode"
|
|
||||||
:value="returnsitecode"
|
|
||||||
@inputChange="inputChange2"
|
|
||||||
@inputFocus="inputFocus2"
|
|
||||||
></keyboard-input>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="type === '2'" class="form_wraper">
|
|
||||||
<div class="form">
|
|
||||||
<div class="form_item">
|
|
||||||
<div class="form_item__label">{{ $t('carrypoint.returnsite') }}</div>
|
|
||||||
<div class="form_item__content">
|
|
||||||
<el-select v-model="value" filterable :placeholder="$t('common.pleaseselect')">
|
|
||||||
<el-option
|
|
||||||
v-for="item in options"
|
|
||||||
:key="item.point_code"
|
|
||||||
:label="$i18n.locale === 'en-us' ? item.en_code_name : item.code_name"
|
|
||||||
:value="item.point_code">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</jxDialog>
|
|
||||||
</div>
|
|
||||||
<vue-touch-keyboard id="keyboard" :options="keyoptions" v-if="visible" :layout="layout" :cancel="hide" :accept="accept" :input="input" :next="next" />
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import jxDialog from '@components/dialog.vue'
|
// import {queryTaskList, queryPoint} from '@/config/mork.js'
|
||||||
import KeyboardInput from '@components/keyboard-input'
|
import {queryTaskList, queryPoint, confirmPoint, deleteSingleTask} from '@/config/getData.js'
|
||||||
import {queryPoint, confirmPoint} from '@/config/getData.js'
|
|
||||||
export default {
|
export default {
|
||||||
name: 'CarryPoint',
|
name: 'CarryPoint',
|
||||||
components: {
|
|
||||||
jxDialog,
|
|
||||||
KeyboardInput
|
|
||||||
},
|
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
type: '',
|
type: '',
|
||||||
title: '',
|
title: '',
|
||||||
pointcode: '',
|
|
||||||
returnsitecode: '',
|
|
||||||
unclick: false,
|
|
||||||
disabled: false,
|
disabled: false,
|
||||||
visible: false,
|
pkId: '',
|
||||||
layout: 'normal',
|
dataList: [],
|
||||||
input: null,
|
active: false
|
||||||
keyoptions: {
|
|
||||||
useKbEvents: false,
|
|
||||||
preventClickEvent: false
|
|
||||||
},
|
|
||||||
statusbg: false,
|
|
||||||
selectObj: {},
|
|
||||||
startObj: '', // 起始点
|
|
||||||
returnObj: '', // 返回点
|
|
||||||
value: '',
|
|
||||||
hover: '', // 隐藏内容
|
|
||||||
dataList: []
|
|
||||||
// dataList: [
|
|
||||||
// {
|
|
||||||
// point_code: '01',
|
|
||||||
// code_name: '18-一线起升电机',
|
|
||||||
// en_code_name: 'english-test'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '02',
|
|
||||||
// code_name: 'A-ZD102',
|
|
||||||
// en_code_name: 'english-002'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '3',
|
|
||||||
// code_name: 'A-ZD103'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '4',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '5',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '6',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '7',
|
|
||||||
// code_name: '二楼中间层休息点位与茶水间的充电桩交叉点1'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '8',
|
|
||||||
// code_name: '我是一个超级长的标题,显示不下'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '9',
|
|
||||||
// code_name: 'aaammm brown head big so daijgsd jigna whcignaig ijanoghoniojojio jsi '
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '10',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '11',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '12',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '13',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '14',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '15',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '16',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '17',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '18',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '19',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '20',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '21',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '22',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '23',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '24',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '25',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// point_code: '26',
|
|
||||||
// code_name: 'A-ZD101'
|
|
||||||
// }
|
|
||||||
// ]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
this.initData()
|
this.initData()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
showDialog (type, e) {
|
|
||||||
this.type = type
|
|
||||||
this.$refs.child.active = true
|
|
||||||
switch (type) {
|
|
||||||
case '1':
|
|
||||||
this.startObj = ''
|
|
||||||
this.returnObj = ''
|
|
||||||
this.pointcode = ''
|
|
||||||
this.returnsitecode = ''
|
|
||||||
this.unclick = true
|
|
||||||
break
|
|
||||||
case '2':
|
|
||||||
this.options = [...this.dataList]
|
|
||||||
this.unclick = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
},
|
|
||||||
toSureDialog (type) {
|
|
||||||
switch (type) {
|
|
||||||
case '1':
|
|
||||||
this.confirmPoint(this.pointcode, '1', this.returnsitecode)
|
|
||||||
this.$refs.child.active = false
|
|
||||||
break
|
|
||||||
case '2':
|
|
||||||
if (this.value) {
|
|
||||||
this.confirmPoint(this.startObj, '1', this.value)
|
|
||||||
this.value = ''
|
|
||||||
}
|
|
||||||
break
|
|
||||||
}
|
|
||||||
},
|
|
||||||
toCancle (type) {
|
|
||||||
switch (type) {
|
|
||||||
case '1':
|
|
||||||
break
|
|
||||||
case '2':
|
|
||||||
this.confirmPoint(this.startObj, '1', '')
|
|
||||||
this.value = ''
|
|
||||||
break
|
|
||||||
}
|
|
||||||
this.hide()
|
|
||||||
},
|
|
||||||
inputFocus () {
|
|
||||||
this.visible = false
|
|
||||||
},
|
|
||||||
inputFocus2 () {
|
|
||||||
this.visible = false
|
|
||||||
},
|
|
||||||
hide () {
|
|
||||||
this.visible = false
|
|
||||||
},
|
|
||||||
inputChange1 (val) {
|
|
||||||
this.pointcode = val
|
|
||||||
// 限制只能输入数字,后端校验
|
|
||||||
// this.pointcode = val.replace(/[^\d]/g, '')
|
|
||||||
},
|
|
||||||
inputChange2 (val) {
|
|
||||||
this.returnsitecode = val
|
|
||||||
},
|
|
||||||
// 这个接口需要放到agv上去才行
|
|
||||||
async initData () {
|
async initData () {
|
||||||
let res = await queryPoint()
|
let res = await queryPoint()
|
||||||
if (res.code === '1') {
|
if (res.code === '1') {
|
||||||
this.dataList = res.result
|
this.dataList = [...res.result]
|
||||||
|
this.dataList.map(el => {
|
||||||
|
this.$set(el, 'checked', false)
|
||||||
|
})
|
||||||
|
this._queryTaskList()
|
||||||
} else {
|
} else {
|
||||||
this.toast(res.desc)
|
this.toast(res.desc)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async confirmPoint (pcode, type, ncode) {
|
async _queryTaskList () {
|
||||||
let res = await confirmPoint(pcode, type, ncode)
|
let res = await queryTaskList()
|
||||||
|
if (res.code === '1') {
|
||||||
|
let arr = this.dataList.filter(i => res.result.some(j => j.next_point_code === i.point_code && j.task_status === '01'))
|
||||||
|
if (arr.length > 0) {
|
||||||
|
this.pkId = arr[0].point_code
|
||||||
|
this.active = true
|
||||||
|
this.dataList.map(el => {
|
||||||
|
el.checked = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.toast(res.desc)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async _deleteSingleTask () {
|
||||||
|
this.disabled = true
|
||||||
|
if (!this.pkId || !this.active) {
|
||||||
|
this.disabled = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
let arr = this.dataList.filter(el => el.point_code === this.pkId)
|
||||||
|
let res = await deleteSingleTask(arr)
|
||||||
if (res.code === '1') {
|
if (res.code === '1') {
|
||||||
this.toast(res.desc)
|
this.toast(res.desc)
|
||||||
this.selectObj = {}
|
this.pkId = ''
|
||||||
|
this.active = false
|
||||||
|
setTimeout(() => {
|
||||||
|
this.initData()
|
||||||
|
}, 1000)
|
||||||
} else {
|
} else {
|
||||||
this.toast(res.desc)
|
this.toast(res.desc)
|
||||||
}
|
}
|
||||||
this.$refs.child.active = false
|
this.disabled = false
|
||||||
this.$refs.child.disabled = false
|
} catch (e) {
|
||||||
|
this.disabled = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async _confirmPoint (type) {
|
||||||
|
this.disabled = true
|
||||||
|
if (!this.pkId || this.active) {
|
||||||
|
this.disabled = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
let res = await confirmPoint(this.pkId, type)
|
||||||
|
if (res.code === '1') {
|
||||||
|
this.toast(res.desc)
|
||||||
|
this.pkId = ''
|
||||||
|
this.active = false
|
||||||
|
setTimeout(() => {
|
||||||
|
this.initData()
|
||||||
|
}, 1000)
|
||||||
|
} else {
|
||||||
|
this.toast(res.desc)
|
||||||
|
}
|
||||||
|
this.disabled = false
|
||||||
|
} catch (e) {
|
||||||
|
this.disabled = false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
toRadio (e) {
|
toRadio (e) {
|
||||||
console.log('seletobj====', e)
|
if (e.checked) {
|
||||||
this.selectObj = e
|
|
||||||
if (this.startObj && this.returnObj) {
|
|
||||||
// 已选中情况下清空
|
|
||||||
this.startObj = ''
|
|
||||||
this.returnObj = ''
|
|
||||||
// this.toast('已选点已清空')
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (!this.startObj) {
|
this.pkId = this.pkId === e.point_code ? '' : e.point_code
|
||||||
this.startObj = e.point_code
|
|
||||||
let tipText = this.$i18n.locale === 'en-us' ? 'End point selected' : '终点已选中'
|
|
||||||
this.toast(tipText)
|
|
||||||
// this.toast('终点已选中')
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
if (this.startObj && !this.returnObj) {
|
|
||||||
let tipText = this.$i18n.locale === 'en-us' ? 'End point selected' : '终点已选中'
|
|
||||||
this.toast(tipText)
|
|
||||||
// this.toast('终点已选中')
|
|
||||||
if (this.startObj !== e.point_code) {
|
|
||||||
this.returnObj = e.point_code
|
|
||||||
let tipText = this.$i18n.locale === 'en-us' ? 'Return point selected' : '返回点已选中'
|
|
||||||
this.toast(tipText)
|
|
||||||
// this.toast('返回点已选中')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
toSure (pcode, type, ncode) {
|
|
||||||
if ((type === '3' || type === '4') && this.returnObj) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if ((type === '3' || type === '4') && this.startObj) {
|
|
||||||
this.confirmPoint(pcode, type, ncode)
|
|
||||||
}
|
|
||||||
if (type === '1' && this.startObj) {
|
|
||||||
this.confirmPoint(pcode, type, ncode)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// handleMouseenter (e) {
|
|
||||||
// console.log('ee', e)
|
|
||||||
// // this.hover = e.code_name
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
.ellipsis {
|
.page_container
|
||||||
overflow: hidden; /* 确保超出容器的文本被裁剪 */
|
padding 31px 31px 31px 45px
|
||||||
white-space: nowrap; /* 确保文本在一行内显示,不换行 */
|
.grid_wrapper
|
||||||
text-overflow: ellipsis; /* 使用省略号表示文本溢出 */
|
|
||||||
width: 90%;
|
|
||||||
}
|
|
||||||
.con
|
|
||||||
float left
|
|
||||||
.box0
|
|
||||||
width 1586px
|
|
||||||
height 102px
|
|
||||||
background center / 100% 100% url(../../../images/new/bg-task-r1.png) no-repeat
|
|
||||||
.title
|
|
||||||
font-size 36px
|
|
||||||
color #F6F9FE
|
|
||||||
padding-left 39px
|
|
||||||
padding-top 48px
|
|
||||||
.box1
|
|
||||||
// width 1592px
|
|
||||||
// height 819px
|
|
||||||
height 800px
|
|
||||||
background center / 100% 100% url(../../../images/new/bg-task-r2.png) no-repeat
|
|
||||||
padding-top 28px
|
|
||||||
padding-left 44px
|
|
||||||
.point-box
|
|
||||||
width 100%
|
|
||||||
height 600px
|
|
||||||
overflow-y scroll
|
|
||||||
display flex
|
display flex
|
||||||
flex-wrap wrap
|
flex-wrap wrap
|
||||||
.point
|
justify-content flex-start
|
||||||
width 248px
|
height calc(100% - 122px)
|
||||||
height 134px
|
overflow-y auto
|
||||||
color #e1e9f4
|
.buttons_wrapper
|
||||||
font-size 26px
|
|
||||||
text-align center
|
|
||||||
margin-right 3px
|
|
||||||
margin-bottom 13px
|
|
||||||
background center / 100% 100% url(../../../images/new/bg2.png) no-repeat
|
|
||||||
display flex
|
display flex
|
||||||
justify-content center
|
justify-content center
|
||||||
align-items center
|
.point_item
|
||||||
position relative
|
position relative
|
||||||
overflow hidden
|
display: flex;
|
||||||
text-overflow ellipsis
|
align-items: center;
|
||||||
.statusbg
|
justify-content: center;
|
||||||
box-sizing border-box
|
width calc(100% / 6)
|
||||||
color #58e9ff
|
height 134px
|
||||||
background center / 100% 100% url(../../../images/new/bg1.png) no-repeat !important
|
font-family 'SourceHanSansCN-Bold'
|
||||||
.returnbg
|
|
||||||
box-sizing border-box
|
|
||||||
color #ff0
|
|
||||||
background center / 100% 100% url(../../../images/new/bg1.png) no-repeat !important
|
|
||||||
.box2
|
|
||||||
position fixed
|
|
||||||
left 310px
|
|
||||||
bottom 50px
|
|
||||||
.enClass .button_control p
|
|
||||||
font-size 28px
|
font-size 28px
|
||||||
.popover
|
line-height 32px
|
||||||
top 10px
|
color #B4C1D8
|
||||||
width 240px
|
padding 14px 20px
|
||||||
transform-origin center bottom
|
background center / 100% 100% url(../../../images/new/bg2.png) no-repeat
|
||||||
z-index 2099
|
p
|
||||||
// display none
|
display: -webkit-box;
|
||||||
padding 8px 20px
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 3; /* 定义显示的行数 */
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
.point_checked
|
||||||
|
color #3CC1FF
|
||||||
|
background-image url(../../../images/new/bg1.png)
|
||||||
|
.point_item_hover
|
||||||
position absolute
|
position absolute
|
||||||
background #fff
|
width 100%
|
||||||
min-width 150px
|
height auto
|
||||||
border-radius 4px
|
min-height 100%
|
||||||
border 1px solid #ebeef5
|
color #3CC1FF
|
||||||
padding 12px
|
background #152755 center / 100% 100% url(../../../images/new/bg1.png) no-repeat
|
||||||
z-index 2000
|
top 0
|
||||||
color #606266
|
left 0
|
||||||
line-height 1.4
|
z-index 10
|
||||||
text-align justify
|
|
||||||
font-size 14px
|
|
||||||
box-shadow 0 2px 12px 0 rgba(0,0,0,.1)
|
|
||||||
word-break break-all
|
|
||||||
.popper_arrow
|
|
||||||
position relative
|
|
||||||
width 0px
|
|
||||||
height 0px
|
|
||||||
border-style solid
|
|
||||||
top 81px
|
|
||||||
left 50%
|
|
||||||
border-width 10px
|
|
||||||
border-color #fff transparent transparent transparent
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
452
src/pages/modules/taskmanage/CarryPoint_back.vue
Normal file
452
src/pages/modules/taskmanage/CarryPoint_back.vue
Normal file
@@ -0,0 +1,452 @@
|
|||||||
|
<template>
|
||||||
|
<div class="main-container">
|
||||||
|
<div class="right_side">
|
||||||
|
<div class="content_wrap">
|
||||||
|
<div class="title_wrap">
|
||||||
|
<h2>{{ $t('carrypoint.topinfo') }}</h2>
|
||||||
|
</div>
|
||||||
|
<div class="box1">
|
||||||
|
<div class="point-box">
|
||||||
|
<div class="point" :class="{'statusbg':startObj === e.point_code,'returnbg':returnObj === e.point_code}" v-for="e in dataList" :key="e.point_code" @click="toRadio(e)">
|
||||||
|
<div class="popover" v-if="hover.length > 20 && hover === e.code_name">
|
||||||
|
{{hover}}
|
||||||
|
<span class="popper_arrow"></span>
|
||||||
|
</div>
|
||||||
|
{{e.code_name}}
|
||||||
|
<!-- <span class="ellipsis">{{e.code_name}}</span> -->
|
||||||
|
<!-- <span style="display: inline-block; width: 0;">{{e.code_name}}</span> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="box2 buttons_wrapper">
|
||||||
|
<!-- <button class="button_control" :class="{'button_control_disabled':returnObj}" @click="toSure(startObj, '3')"><p>{{ $t('carrypoint.button1') }}</p></button> -->
|
||||||
|
<button class="button_control" @click="toSure(startObj, '3')"><p>{{ $t('carrypoint.button1') }}</p></button>
|
||||||
|
<button class="button_control" @click="toSure(startObj, '4')"><p>{{ $t('carrypoint.button2') }}</p></button>
|
||||||
|
<button class="button_control" @click="showDialog('1')"><p>{{ $t('carrypoint.button3') }}</p></button>
|
||||||
|
<!-- <button class="button_control" @click="showDialog('2')"><p>{{ $t('carrypoint.button4') }}</p></button> -->
|
||||||
|
<button class="button_control" @click="toSure(startObj, '1', returnObj)"><p>{{ $t('carrypoint.button4') }}</p></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<jxDialog
|
||||||
|
ref="child"
|
||||||
|
:title="type === '1' ? $t('carrypoint.dialoginfo') : $t('carrypoint.dialogtip')"
|
||||||
|
:type="type"
|
||||||
|
:unclick="unclick"
|
||||||
|
@toSure="toSureDialog"
|
||||||
|
@toCancle="toCancle"
|
||||||
|
>
|
||||||
|
<div v-if="type === '1'" class="form_wraper">
|
||||||
|
<div class="form">
|
||||||
|
<div class="form_item">
|
||||||
|
<div class="form_item__label"><i>*</i>{{ $t('carrypoint.pointcode') }}</div>
|
||||||
|
<div class="form_item__content">
|
||||||
|
<!-- <input type="text" class="form_item__input" v-model="pointcode" @focus="show" data-layout="normal"> -->
|
||||||
|
<keyboard-input
|
||||||
|
inputClass="form_item__input"
|
||||||
|
keyboardClass="pointcode"
|
||||||
|
:value="pointcode"
|
||||||
|
@inputChange="inputChange1"
|
||||||
|
@inputFocus="inputFocus"
|
||||||
|
></keyboard-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form_item">
|
||||||
|
<div class="form_item__label">{{ $t('carrypoint.returnsitecode') }}</div>
|
||||||
|
<div class="form_item__content">
|
||||||
|
<!-- <input type="text" class="form_item__input" v-model="returnsitecode" @focus="show" data-layout="normal"> -->
|
||||||
|
<keyboard-input
|
||||||
|
inputClass="form_item__input"
|
||||||
|
keyboardClass="returnsitecode"
|
||||||
|
:value="returnsitecode"
|
||||||
|
@inputChange="inputChange2"
|
||||||
|
@inputFocus="inputFocus2"
|
||||||
|
></keyboard-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-if="type === '2'" class="form_wraper">
|
||||||
|
<div class="form">
|
||||||
|
<div class="form_item">
|
||||||
|
<div class="form_item__label">{{ $t('carrypoint.returnsite') }}</div>
|
||||||
|
<div class="form_item__content">
|
||||||
|
<el-select v-model="value" filterable :placeholder="$t('common.pleaseselect')">
|
||||||
|
<el-option
|
||||||
|
v-for="item in options"
|
||||||
|
:key="item.point_code"
|
||||||
|
:label="$i18n.locale === 'en-us' ? item.en_code_name : item.code_name"
|
||||||
|
:value="item.point_code">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</jxDialog>
|
||||||
|
</div>
|
||||||
|
<vue-touch-keyboard id="keyboard" :options="keyoptions" v-if="visible" :layout="layout" :cancel="hide" :accept="accept" :input="input" :next="next" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import jxDialog from '@components/dialog.vue'
|
||||||
|
import KeyboardInput from '@components/keyboard-input'
|
||||||
|
import {queryPoint, confirmPoint} from '@/config/getData.js'
|
||||||
|
export default {
|
||||||
|
name: 'CarryPoint',
|
||||||
|
components: {
|
||||||
|
jxDialog,
|
||||||
|
KeyboardInput
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
type: '',
|
||||||
|
title: '',
|
||||||
|
pointcode: '',
|
||||||
|
returnsitecode: '',
|
||||||
|
unclick: false,
|
||||||
|
disabled: false,
|
||||||
|
visible: false,
|
||||||
|
layout: 'normal',
|
||||||
|
input: null,
|
||||||
|
keyoptions: {
|
||||||
|
useKbEvents: false,
|
||||||
|
preventClickEvent: false
|
||||||
|
},
|
||||||
|
statusbg: false,
|
||||||
|
selectObj: {},
|
||||||
|
startObj: '', // 起始点
|
||||||
|
returnObj: '', // 返回点
|
||||||
|
value: '',
|
||||||
|
hover: '', // 隐藏内容
|
||||||
|
dataList: []
|
||||||
|
// dataList: [
|
||||||
|
// {
|
||||||
|
// point_code: '01',
|
||||||
|
// code_name: '18-一线起升电机',
|
||||||
|
// en_code_name: 'english-test'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '02',
|
||||||
|
// code_name: 'A-ZD102',
|
||||||
|
// en_code_name: 'english-002'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '3',
|
||||||
|
// code_name: 'A-ZD103'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '4',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '5',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '6',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '7',
|
||||||
|
// code_name: '二楼中间层休息点位与茶水间的充电桩交叉点1'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '8',
|
||||||
|
// code_name: '我是一个超级长的标题,显示不下'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '9',
|
||||||
|
// code_name: 'aaammm brown head big so daijgsd jigna whcignaig ijanoghoniojojio jsi '
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '10',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '11',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '12',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '13',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '14',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '15',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '16',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '17',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '18',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '19',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '20',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '21',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '22',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '23',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '24',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '25',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// point_code: '26',
|
||||||
|
// code_name: 'A-ZD101'
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
this.initData()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
showDialog (type, e) {
|
||||||
|
this.type = type
|
||||||
|
this.$refs.child.active = true
|
||||||
|
switch (type) {
|
||||||
|
case '1':
|
||||||
|
this.startObj = ''
|
||||||
|
this.returnObj = ''
|
||||||
|
this.pointcode = ''
|
||||||
|
this.returnsitecode = ''
|
||||||
|
this.unclick = true
|
||||||
|
break
|
||||||
|
case '2':
|
||||||
|
this.options = [...this.dataList]
|
||||||
|
this.unclick = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toSureDialog (type) {
|
||||||
|
switch (type) {
|
||||||
|
case '1':
|
||||||
|
this.confirmPoint(this.pointcode, '1', this.returnsitecode)
|
||||||
|
this.$refs.child.active = false
|
||||||
|
break
|
||||||
|
case '2':
|
||||||
|
if (this.value) {
|
||||||
|
this.confirmPoint(this.startObj, '1', this.value)
|
||||||
|
this.value = ''
|
||||||
|
}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toCancle (type) {
|
||||||
|
switch (type) {
|
||||||
|
case '1':
|
||||||
|
break
|
||||||
|
case '2':
|
||||||
|
this.confirmPoint(this.startObj, '1', '')
|
||||||
|
this.value = ''
|
||||||
|
break
|
||||||
|
}
|
||||||
|
this.hide()
|
||||||
|
},
|
||||||
|
inputFocus () {
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
inputFocus2 () {
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
hide () {
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
inputChange1 (val) {
|
||||||
|
this.pointcode = val
|
||||||
|
// 限制只能输入数字,后端校验
|
||||||
|
// this.pointcode = val.replace(/[^\d]/g, '')
|
||||||
|
},
|
||||||
|
inputChange2 (val) {
|
||||||
|
this.returnsitecode = val
|
||||||
|
},
|
||||||
|
// 这个接口需要放到agv上去才行
|
||||||
|
async initData () {
|
||||||
|
let res = await queryPoint()
|
||||||
|
if (res.code === '1') {
|
||||||
|
this.dataList = res.result
|
||||||
|
} else {
|
||||||
|
this.toast(res.desc)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async confirmPoint (pcode, type, ncode) {
|
||||||
|
let res = await confirmPoint(pcode, type, ncode)
|
||||||
|
if (res.code === '1') {
|
||||||
|
this.toast(res.desc)
|
||||||
|
this.selectObj = {}
|
||||||
|
} else {
|
||||||
|
this.toast(res.desc)
|
||||||
|
}
|
||||||
|
this.$refs.child.active = false
|
||||||
|
this.$refs.child.disabled = false
|
||||||
|
},
|
||||||
|
toRadio (e) {
|
||||||
|
console.log('seletobj====', e)
|
||||||
|
this.selectObj = e
|
||||||
|
if (this.startObj && this.returnObj) {
|
||||||
|
// 已选中情况下清空
|
||||||
|
this.startObj = ''
|
||||||
|
this.returnObj = ''
|
||||||
|
// this.toast('已选点已清空')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!this.startObj) {
|
||||||
|
this.startObj = e.point_code
|
||||||
|
let tipText = this.$i18n.locale === 'en-us' ? 'End point selected' : '终点已选中'
|
||||||
|
this.toast(tipText)
|
||||||
|
// this.toast('终点已选中')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (this.startObj && !this.returnObj) {
|
||||||
|
let tipText = this.$i18n.locale === 'en-us' ? 'End point selected' : '终点已选中'
|
||||||
|
this.toast(tipText)
|
||||||
|
// this.toast('终点已选中')
|
||||||
|
if (this.startObj !== e.point_code) {
|
||||||
|
this.returnObj = e.point_code
|
||||||
|
let tipText = this.$i18n.locale === 'en-us' ? 'Return point selected' : '返回点已选中'
|
||||||
|
this.toast(tipText)
|
||||||
|
// this.toast('返回点已选中')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toSure (pcode, type, ncode) {
|
||||||
|
if ((type === '3' || type === '4') && this.returnObj) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if ((type === '3' || type === '4') && this.startObj) {
|
||||||
|
this.confirmPoint(pcode, type, ncode)
|
||||||
|
}
|
||||||
|
if (type === '1' && this.startObj) {
|
||||||
|
this.confirmPoint(pcode, type, ncode)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// handleMouseenter (e) {
|
||||||
|
// console.log('ee', e)
|
||||||
|
// // this.hover = e.code_name
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="stylus" scoped>
|
||||||
|
.ellipsis {
|
||||||
|
overflow: hidden; /* 确保超出容器的文本被裁剪 */
|
||||||
|
white-space: nowrap; /* 确保文本在一行内显示,不换行 */
|
||||||
|
text-overflow: ellipsis; /* 使用省略号表示文本溢出 */
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
.con
|
||||||
|
float left
|
||||||
|
.box0
|
||||||
|
width 1586px
|
||||||
|
height 102px
|
||||||
|
background center / 100% 100% url(../../../images/new/bg-task-r1.png) no-repeat
|
||||||
|
.title
|
||||||
|
font-size 36px
|
||||||
|
color #F6F9FE
|
||||||
|
padding-left 39px
|
||||||
|
padding-top 48px
|
||||||
|
.box1
|
||||||
|
// width 1592px
|
||||||
|
// height 819px
|
||||||
|
height 800px
|
||||||
|
background center / 100% 100% url(../../../images/new/bg-task-r2.png) no-repeat
|
||||||
|
padding-top 28px
|
||||||
|
padding-left 44px
|
||||||
|
.point-box
|
||||||
|
width 100%
|
||||||
|
height 600px
|
||||||
|
overflow-y scroll
|
||||||
|
display flex
|
||||||
|
flex-wrap wrap
|
||||||
|
.point
|
||||||
|
width 248px
|
||||||
|
height 134px
|
||||||
|
color #e1e9f4
|
||||||
|
font-size 26px
|
||||||
|
text-align center
|
||||||
|
margin-right 3px
|
||||||
|
margin-bottom 13px
|
||||||
|
background center / 100% 100% url(../../../images/new/bg2.png) no-repeat
|
||||||
|
display flex
|
||||||
|
justify-content center
|
||||||
|
align-items center
|
||||||
|
position relative
|
||||||
|
overflow hidden
|
||||||
|
text-overflow ellipsis
|
||||||
|
.statusbg
|
||||||
|
box-sizing border-box
|
||||||
|
color #58e9ff
|
||||||
|
background center / 100% 100% url(../../../images/new/bg1.png) no-repeat !important
|
||||||
|
.returnbg
|
||||||
|
box-sizing border-box
|
||||||
|
color #ff0
|
||||||
|
background center / 100% 100% url(../../../images/new/bg1.png) no-repeat !important
|
||||||
|
.box2
|
||||||
|
position fixed
|
||||||
|
left 310px
|
||||||
|
bottom 50px
|
||||||
|
.enClass .button_control p
|
||||||
|
font-size 28px
|
||||||
|
.popover
|
||||||
|
top 10px
|
||||||
|
width 240px
|
||||||
|
transform-origin center bottom
|
||||||
|
z-index 2099
|
||||||
|
// display none
|
||||||
|
padding 8px 20px
|
||||||
|
position absolute
|
||||||
|
background #fff
|
||||||
|
min-width 150px
|
||||||
|
border-radius 4px
|
||||||
|
border 1px solid #ebeef5
|
||||||
|
padding 12px
|
||||||
|
z-index 2000
|
||||||
|
color #606266
|
||||||
|
line-height 1.4
|
||||||
|
text-align justify
|
||||||
|
font-size 14px
|
||||||
|
box-shadow 0 2px 12px 0 rgba(0,0,0,.1)
|
||||||
|
word-break break-all
|
||||||
|
.popper_arrow
|
||||||
|
position relative
|
||||||
|
width 0px
|
||||||
|
height 0px
|
||||||
|
border-style solid
|
||||||
|
top 81px
|
||||||
|
left 50%
|
||||||
|
border-width 10px
|
||||||
|
border-color #fff transparent transparent transparent
|
||||||
|
</style>
|
||||||
@@ -424,6 +424,8 @@
|
|||||||
_wh(331px, 88px)
|
_wh(331px, 88px)
|
||||||
.button_control_disabled
|
.button_control_disabled
|
||||||
background center url(../images/new/button_disabled.png) no-repeat
|
background center url(../images/new/button_disabled.png) no-repeat
|
||||||
|
.button_control_gray
|
||||||
|
background center url(../images/new/button_gray.png) no-repeat
|
||||||
.grid_wrapper
|
.grid_wrapper
|
||||||
width 100%
|
width 100%
|
||||||
table
|
table
|
||||||
|
|||||||
@@ -145,3 +145,6 @@ input::-webkit-input-placeholder {
|
|||||||
.mgl10 {
|
.mgl10 {
|
||||||
margin-left: .1rem !important;
|
margin-left: .1rem !important;
|
||||||
}
|
}
|
||||||
|
.mgl20 {
|
||||||
|
margin-left: .2rem !important;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user