2023-07-11 15:28:40 +08:00
|
|
|
|
<template>
|
|
|
|
|
<view class="mixWork">
|
2023-09-23 20:16:54 +08:00
|
|
|
|
<head-view :title="title" special="1" url="/pages/shipWork/documentList"></head-view>
|
2023-11-01 18:40:05 +08:00
|
|
|
|
<view class="container contentFixed">
|
|
|
|
|
<custom-tabs type="c1" :value="tabsValue" @change="changeIndex">
|
|
|
|
|
<custom-tab-pane label="人员信息" name="c1_1">
|
|
|
|
|
<view></view>
|
|
|
|
|
<view class="signBox">
|
|
|
|
|
<view class="addBtn" @click="add('add')">新增人员</view>
|
|
|
|
|
<p class="sign" @click="sign">点击签名</p>
|
2023-07-24 16:56:46 +08:00
|
|
|
|
</view>
|
2023-11-01 18:40:05 +08:00
|
|
|
|
<view class="ul">
|
|
|
|
|
<template v-if="peopleInfo.length > 0">
|
|
|
|
|
<view class="li" v-for="(item,index) in peopleInfo" :key="index"
|
|
|
|
|
@click="add('look',item,index)">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<image src="../../static/images/shipWork/hc.png" mode="widthFix"></image>
|
|
|
|
|
<text>航次:{{item.vvyName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="liInfo">
|
2023-12-27 17:57:26 +08:00
|
|
|
|
<p>贸易类型:<text>{{shipInfo.spmTradeName}}</text></p>
|
2023-11-01 18:40:05 +08:00
|
|
|
|
<p>进出口:<text>{{item.importExportFlagName}}</text></p>
|
|
|
|
|
<p>作业组数:<text>{{item.workSuite}}</text></p>
|
|
|
|
|
<p>单船人数:<text>{{item.shipPerson}}</text></p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="status didNot" v-if="item.status == 0 || item.status == 'null'">
|
2024-01-26 18:02:31 +08:00
|
|
|
|
<p>待提交</p>
|
2023-11-01 18:40:05 +08:00
|
|
|
|
</view>
|
|
|
|
|
<view class="status didNot" v-if="item.status == 1">
|
|
|
|
|
<p>待审核</p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="status didNot" v-if="item.status == 2">
|
|
|
|
|
<p>审批中</p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="status success" v-if="item.status == 3">
|
|
|
|
|
<p>审核通过</p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="status fail" v-if="item.status == 4">
|
|
|
|
|
<p>审核驳回</p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="status success" v-if="item.status == 5">
|
|
|
|
|
<p>审核通过</p>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-else>
|
|
|
|
|
<o-empty height="70vh" bg="#f5f6fa" width="100vw" />
|
|
|
|
|
</template>
|
2023-07-11 15:28:40 +08:00
|
|
|
|
</view>
|
2023-11-01 18:40:05 +08:00
|
|
|
|
</custom-tab-pane>
|
|
|
|
|
<custom-tab-pane label="工班信息" name="c1_2">
|
|
|
|
|
<view></view>
|
|
|
|
|
<view class="signBox">
|
|
|
|
|
<view class="addBtn" @click="add('add')">新增工班</view>
|
|
|
|
|
<p class="sign" @click="sign">点击签名</p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="ul shiftUl">
|
|
|
|
|
<template v-if="shiftInfo.length > 0">
|
|
|
|
|
<view class="li" v-for="(item,index) in shiftInfo" :key="index"
|
|
|
|
|
@click="lookShift(item,index)">
|
|
|
|
|
<view class="title">
|
|
|
|
|
<image src="../../static/images/shipWork/hc.png" mode="widthFix"></image>
|
|
|
|
|
<text>航次:{{item[0].vvyName}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="shift" v-for="(item2,index2) in item[0].shiftArr" :key="index2">
|
|
|
|
|
<text>{{item2.pwcTypeName}}</text>
|
|
|
|
|
<text class="text">开始时间:</text><text class="time">{{item2.workStartTime}}</text>
|
|
|
|
|
<text class="text">结束时间:</text><text class="time">{{item2.workEndTime}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="status didNot" v-if="item[0].status == 0 || item[0].status == 'null'">
|
2024-01-26 18:02:31 +08:00
|
|
|
|
<p>待提交</p>
|
2023-11-01 18:40:05 +08:00
|
|
|
|
</view>
|
|
|
|
|
<view class="status didNot" v-if="item[0].status == 1">
|
|
|
|
|
<p>待审核</p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="status didNot" v-if="item[0].status == 2">
|
|
|
|
|
<p>审批中</p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="status success" v-if="item[0].status == 3">
|
|
|
|
|
<p>审核通过</p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="status fail" v-if="item[0].status == 4">
|
|
|
|
|
<p>审核驳回</p>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="status success" v-if="item[0].status == 5">
|
|
|
|
|
<p>审核通过</p>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
<o-empty v-else height="70vh" bg="#f5f6fa" />
|
|
|
|
|
</view>
|
|
|
|
|
</custom-tab-pane>
|
|
|
|
|
</custom-tabs>
|
|
|
|
|
</view>
|
2023-07-11 15:28:40 +08:00
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
2023-08-01 09:32:45 +08:00
|
|
|
|
import sqlite from "../../common/sqlite.js"
|
2023-07-11 15:28:40 +08:00
|
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
2023-08-24 16:22:29 +08:00
|
|
|
|
title: "船只 - 杂项作业单",
|
|
|
|
|
shipInfo: {},
|
2023-11-01 18:40:05 +08:00
|
|
|
|
vtpId: "",
|
|
|
|
|
tabsValue: 0,
|
2023-07-11 17:29:53 +08:00
|
|
|
|
// 人员信息列表
|
2023-07-18 17:37:15 +08:00
|
|
|
|
peopleInfo: [],
|
2023-07-11 17:29:53 +08:00
|
|
|
|
// 工班信息列表
|
2023-08-15 09:18:52 +08:00
|
|
|
|
shiftInfo: [],
|
2023-11-01 18:40:05 +08:00
|
|
|
|
|
2023-07-11 15:28:40 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
2023-11-01 18:40:05 +08:00
|
|
|
|
onShow() {
|
|
|
|
|
uni.reLaunch({
|
|
|
|
|
url: '/pages/shipWork/mixWork'
|
|
|
|
|
})
|
|
|
|
|
},
|
2023-07-18 17:37:15 +08:00
|
|
|
|
mounted() {
|
2023-11-01 18:40:05 +08:00
|
|
|
|
this.vtpId = uni.getStorageSync('vtpId')
|
|
|
|
|
let title = uni.getStorageSync('shipWorkTitle')
|
|
|
|
|
this.title = `${title} / 杂项作业单 `
|
2023-08-15 09:18:52 +08:00
|
|
|
|
this.executeSql1('shipInfoTable')
|
2023-11-01 18:40:05 +08:00
|
|
|
|
if (this.tabsValue == 0) {
|
2023-08-01 09:32:45 +08:00
|
|
|
|
this.executeSql1('messageRespList')
|
2023-08-04 17:06:33 +08:00
|
|
|
|
} else {
|
|
|
|
|
this.executeSql1('workMessageRespList')
|
|
|
|
|
this.executeSql1('workMessageRespInfoList')
|
2023-08-15 09:18:52 +08:00
|
|
|
|
this.executeSql1('retallyMessageRespList')
|
|
|
|
|
this.executeSql1('infoRespList')
|
2023-08-01 09:32:45 +08:00
|
|
|
|
}
|
2023-07-17 17:10:05 +08:00
|
|
|
|
},
|
2023-07-11 15:28:40 +08:00
|
|
|
|
methods: {
|
2023-08-01 09:32:45 +08:00
|
|
|
|
// 查
|
2023-08-01 14:35:05 +08:00
|
|
|
|
executeSql1(tableName) {
|
2023-11-01 18:40:05 +08:00
|
|
|
|
let sql = `select * from ${tableName} WHERE vtpId = '${this.vtpId}'`
|
2023-08-01 09:32:45 +08:00
|
|
|
|
sqlite.executeSqlCeshi(sql).then((value) => {
|
2023-08-15 09:18:52 +08:00
|
|
|
|
if (tableName == 'shipInfoTable') {
|
2023-08-24 16:22:29 +08:00
|
|
|
|
this.shipInfo = value[0]
|
2023-11-01 18:40:05 +08:00
|
|
|
|
} else if (tableName == 'messageRespList') {
|
2023-08-01 09:32:45 +08:00
|
|
|
|
this.peopleInfo = value
|
2023-11-01 18:40:05 +08:00
|
|
|
|
} else if (tableName == 'workMessageRespList' && value.length > 0) {
|
|
|
|
|
this.shiftInfo = Object.values(value.reduce((res, item) => {
|
|
|
|
|
res[item.aId] ? res[item.aId].push(item) : res[item
|
|
|
|
|
.aId] = [item];
|
|
|
|
|
return res;
|
|
|
|
|
}, {}));
|
2024-01-26 18:02:31 +08:00
|
|
|
|
console.log(this.shiftInfo)
|
2023-11-01 18:40:05 +08:00
|
|
|
|
this.shiftInfo.forEach(v => {
|
|
|
|
|
v.forEach(i => {
|
|
|
|
|
this.$set(i, "shiftArr", [])
|
|
|
|
|
})
|
|
|
|
|
})
|
2023-08-01 09:32:45 +08:00
|
|
|
|
}
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
// 在reject时执行的回调函数
|
|
|
|
|
console.error(error);
|
|
|
|
|
});
|
|
|
|
|
},
|
2023-11-01 18:40:05 +08:00
|
|
|
|
// 查工班信息
|
|
|
|
|
executeSql2(vvyId) {
|
|
|
|
|
let sql = `SELECT
|
|
|
|
|
strftime('%Y-%m-%d %H:00:00', datetime(workEndTime, '0 day', 'start of day', '+22 hours')) || ',' || strftime('%Y-%m-%d %H:00:00', datetime(workEndTime, '1 day', 'start of day', '+22 hours')) AS work_shift
|
|
|
|
|
FROM workMessageRespList WHERE workMessageRespList.vtpId='${this.vtpId}' and vvyId = '${vvyId}'
|
|
|
|
|
GROUP BY work_shift
|
|
|
|
|
UNION SELECT strftime('%Y-%m-%d %H:00:00', datetime(workEndTime, '-1 day', 'start of day', '+22 hours')) || ',' || strftime('%Y-%m-%d %H:00:00', datetime(workEndTime, '0 day', 'start of day', '+22 hours')) AS work_shift
|
|
|
|
|
FROM workMessageRespList WHERE workMessageRespList.vtpId='${this.vtpId}' and vvyId = '${vvyId}'
|
|
|
|
|
GROUP BY work_shift;`
|
|
|
|
|
sqlite.executeSqlCeshi(sql).then((value) => {
|
|
|
|
|
value.forEach((v) => {
|
|
|
|
|
let startTime = v.work_shift.split(",")[0]
|
|
|
|
|
let endTime = v.work_shift.split(",")[1]
|
|
|
|
|
let sql2 =
|
|
|
|
|
`Select COUNT(*),pwcTypeName,vvyId,vvyName,MIN(workStartTime) AS workStartTime, MAX(workEndTime)
|
|
|
|
|
AS workEndTime FROM (SELECT * FROM workMessageRespList WHERE workStartTime>='${startTime}' and
|
|
|
|
|
workEndTime<'${endTime}' and workMessageRespList.vtpId='${this.vtpId}' and vvyId = '${vvyId}')
|
|
|
|
|
GROUP BY pwcTypeName ORDER BY workStartTime asc;`
|
|
|
|
|
this.executeSql22(sql2, vvyId)
|
|
|
|
|
})
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
// 在reject时执行的回调函数
|
|
|
|
|
console.error(error);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
executeSql22(sql, vvyId) {
|
|
|
|
|
sqlite.executeSqlCeshi(sql).then((value) => {
|
|
|
|
|
this.shiftInfo.forEach(v => {
|
|
|
|
|
v.forEach(i => {
|
|
|
|
|
if (i.vvyId == vvyId) {
|
|
|
|
|
i.shiftArr.push(...value)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
// 在reject时执行的回调函数
|
|
|
|
|
console.error(error);
|
|
|
|
|
});
|
|
|
|
|
},
|
2023-07-24 16:56:46 +08:00
|
|
|
|
// 点击签名
|
|
|
|
|
sign() {
|
|
|
|
|
uni.navigateTo({
|
2023-09-23 20:16:54 +08:00
|
|
|
|
url: `/pages/shipWork/mixSign`
|
2023-07-24 16:56:46 +08:00
|
|
|
|
})
|
|
|
|
|
},
|
2023-11-01 18:40:05 +08:00
|
|
|
|
// 点击tabs
|
|
|
|
|
changeIndex(e) {
|
|
|
|
|
this.tabsValue = e.value
|
|
|
|
|
if (this.tabsValue == 0) {
|
2023-08-04 17:06:33 +08:00
|
|
|
|
this.executeSql1('messageRespList')
|
2023-07-11 15:28:40 +08:00
|
|
|
|
} else {
|
2023-08-04 17:06:33 +08:00
|
|
|
|
this.executeSql1('workMessageRespList')
|
|
|
|
|
this.executeSql1('workMessageRespInfoList')
|
2023-08-15 09:18:52 +08:00
|
|
|
|
this.executeSql1('retallyMessageRespList')
|
|
|
|
|
this.executeSql1('infoRespList')
|
2023-11-01 18:40:05 +08:00
|
|
|
|
let that = this
|
|
|
|
|
setTimeout(function() {
|
|
|
|
|
that.shiftInfo.forEach((v, index) => {
|
|
|
|
|
setTimeout(function() {
|
|
|
|
|
that.executeSql2(v[0].vvyId)
|
|
|
|
|
}, 200)
|
|
|
|
|
})
|
|
|
|
|
}, 100)
|
2023-07-11 15:28:40 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
2023-07-24 16:56:46 +08:00
|
|
|
|
// 点击新增
|
2023-07-18 17:37:15 +08:00
|
|
|
|
add(state, item, index) {
|
2023-07-20 17:16:08 +08:00
|
|
|
|
if (state != 'add') {
|
|
|
|
|
uni.setStorageSync('peopleRow', item);
|
|
|
|
|
uni.setStorageSync('peopleRowIndex', index);
|
|
|
|
|
}
|
2023-07-18 17:37:15 +08:00
|
|
|
|
let obj = {
|
|
|
|
|
state: state
|
|
|
|
|
}
|
|
|
|
|
const params = encodeURIComponent(JSON.stringify(obj));
|
2023-11-01 18:40:05 +08:00
|
|
|
|
if (this.tabsValue == 0) {
|
2023-07-11 17:29:53 +08:00
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: `/pages/shipWork/peopleAdd?params=${params}`
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: `/pages/shipWork/shiftAdd?params=${params}`
|
|
|
|
|
})
|
|
|
|
|
}
|
2023-07-11 15:28:40 +08:00
|
|
|
|
},
|
2023-07-19 18:12:19 +08:00
|
|
|
|
lookShift(item, index) {
|
|
|
|
|
uni.setStorageSync('shiftRow', item);
|
2023-07-12 13:48:01 +08:00
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: `/pages/shipWork/shiftDetails`
|
|
|
|
|
})
|
2023-07-18 17:37:15 +08:00
|
|
|
|
},
|
2023-07-26 14:34:20 +08:00
|
|
|
|
},
|
2023-07-11 15:28:40 +08:00
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
|
|
.mixWork {
|
2023-08-23 17:42:44 +08:00
|
|
|
|
.headInfo {
|
|
|
|
|
/deep/.uniui-bottom {
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-11 15:28:40 +08:00
|
|
|
|
.container {
|
2023-08-24 16:22:29 +08:00
|
|
|
|
min-height: calc(100vh - 68px);
|
2023-07-11 15:28:40 +08:00
|
|
|
|
|
2023-11-01 18:40:05 +08:00
|
|
|
|
/deep/.tab .tab-bar {
|
|
|
|
|
height: 66px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.tab .tab-bar-item {
|
|
|
|
|
height: 66px;
|
|
|
|
|
line-height: 66px;
|
|
|
|
|
font-size: 20px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.tab .tab-bar-item .active-line {
|
|
|
|
|
width: 55px;
|
|
|
|
|
height: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-24 16:56:46 +08:00
|
|
|
|
.signBox {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: flex-end;
|
2023-11-01 18:40:05 +08:00
|
|
|
|
padding-right: 20px;
|
|
|
|
|
|
|
|
|
|
.addBtn {
|
2023-12-27 17:57:26 +08:00
|
|
|
|
width: 86px;
|
|
|
|
|
height: 36px;
|
|
|
|
|
line-height: 36px;
|
|
|
|
|
text-align: center;
|
2023-11-01 18:40:05 +08:00
|
|
|
|
background-color: #2979ff;
|
|
|
|
|
color: #fff;
|
|
|
|
|
margin-right: 10px;
|
2023-12-27 17:57:26 +08:00
|
|
|
|
border-radius: 4px;
|
2023-11-01 18:40:05 +08:00
|
|
|
|
}
|
2023-07-24 16:56:46 +08:00
|
|
|
|
|
|
|
|
|
.sign {
|
2023-12-27 17:57:26 +08:00
|
|
|
|
width: 86px;
|
|
|
|
|
height: 36px;
|
|
|
|
|
line-height: 36px;
|
2023-11-01 18:40:05 +08:00
|
|
|
|
text-align: center;
|
2023-07-24 16:56:46 +08:00
|
|
|
|
color: #2979ff;
|
2023-12-27 17:57:26 +08:00
|
|
|
|
border: 1px solid #2979ff;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
color: #2979ff;
|
2023-07-24 16:56:46 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-11 15:28:40 +08:00
|
|
|
|
.tabsList {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
|
|
|
|
.tabsBox {
|
|
|
|
|
width: 100px;
|
|
|
|
|
height: 50px;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
margin: 0px 10px;
|
|
|
|
|
border: 1px solid #ccc;
|
|
|
|
|
text-align: center;
|
|
|
|
|
line-height: 50px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.active {
|
|
|
|
|
background: #2979ff;
|
|
|
|
|
color: #fff;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-18 17:37:15 +08:00
|
|
|
|
.ul {
|
2023-11-01 18:40:05 +08:00
|
|
|
|
width: 100%;
|
|
|
|
|
padding: 16px;
|
2023-08-23 17:42:44 +08:00
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
2023-07-11 15:28:40 +08:00
|
|
|
|
|
2023-07-18 17:37:15 +08:00
|
|
|
|
.li {
|
2023-08-23 17:42:44 +08:00
|
|
|
|
width: 33%;
|
|
|
|
|
padding: 16px;
|
|
|
|
|
border: 1px solid #ccc;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
position: relative;
|
|
|
|
|
margin-bottom: 10px;
|
2023-07-11 15:28:40 +08:00
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
display: flex;
|
2023-08-23 17:42:44 +08:00
|
|
|
|
|
|
|
|
|
text {
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
margin-left: 8px;
|
2023-11-28 17:52:09 +08:00
|
|
|
|
margin-top: 2px;
|
2023-08-23 17:42:44 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
image {
|
|
|
|
|
width: 32px;
|
|
|
|
|
height: 32px;
|
|
|
|
|
}
|
2023-07-11 15:28:40 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-08-23 17:42:44 +08:00
|
|
|
|
.liInfo {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
justify-content: space-between;
|
2023-12-27 17:57:26 +08:00
|
|
|
|
margin-top: 24px;
|
2023-08-23 17:42:44 +08:00
|
|
|
|
|
2023-07-11 15:28:40 +08:00
|
|
|
|
p {
|
2023-08-23 17:42:44 +08:00
|
|
|
|
width: 49%;
|
|
|
|
|
margin-bottom: 12px;
|
2023-12-27 17:57:26 +08:00
|
|
|
|
color: #999;
|
2023-08-23 17:42:44 +08:00
|
|
|
|
|
|
|
|
|
text {
|
|
|
|
|
font-weight: bold;
|
2023-12-27 17:57:26 +08:00
|
|
|
|
color: #23262E;
|
2023-08-23 17:42:44 +08:00
|
|
|
|
}
|
2023-07-11 15:28:40 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-08-23 17:42:44 +08:00
|
|
|
|
.status {
|
|
|
|
|
padding: 5px;
|
|
|
|
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 16px;
|
|
|
|
|
right: 16px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.didNot {
|
|
|
|
|
background-color: #FFF7EE;
|
|
|
|
|
color: #FC8300;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.success {
|
|
|
|
|
background: #F1F8FF;
|
|
|
|
|
color: #0067CF;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fail {
|
|
|
|
|
background: #FFF0F0;
|
|
|
|
|
color: #E50101;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.shift {
|
|
|
|
|
display: flex;
|
|
|
|
|
padding: 16px 4px;
|
|
|
|
|
background-color: #f7f7f7;
|
|
|
|
|
margin: 5px 0;
|
2023-11-01 18:40:05 +08:00
|
|
|
|
font-size: 14px;
|
2023-08-23 17:42:44 +08:00
|
|
|
|
|
|
|
|
|
text:first-child {
|
|
|
|
|
color: #0067CF;
|
2023-11-01 18:40:05 +08:00
|
|
|
|
margin: 0 8px;
|
2023-08-23 17:42:44 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.text {
|
|
|
|
|
color: #999;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.time {
|
|
|
|
|
color: #23262E;
|
|
|
|
|
margin-top: 3px;
|
|
|
|
|
margin-right: 15px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-11 15:28:40 +08:00
|
|
|
|
.state {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-08-23 17:42:44 +08:00
|
|
|
|
|
|
|
|
|
.li:nth-of-type(3n - 1) {
|
|
|
|
|
margin: 0 0.5% 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/.o-empty {
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.shiftUl {
|
|
|
|
|
.li {
|
|
|
|
|
width: 49%;
|
|
|
|
|
margin-right: 0.5%;
|
|
|
|
|
}
|
2023-07-11 15:28:40 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|