Compare commits

...

5 Commits

Author SHA1 Message Date
xiaofajia
7e88642740 修改 2024-12-17 17:17:58 +08:00
xiaofajia
1fc379e0ae 修改 2024-12-17 16:07:08 +08:00
xiaofajia
cd7502f958 修改 2024-12-17 14:29:58 +08:00
xiaofajia
3ca0bad453 修改 2024-12-17 13:52:08 +08:00
xiaofajia
f5128e32d8 修改 2024-12-17 13:04:20 +08:00
9 changed files with 1381 additions and 1086 deletions

View File

@ -2,7 +2,7 @@
module.exports = {
// baseUrl: 'https://www.nuoyunr.com/admin-api',
baseUrl: 'http://127.0.0.1:48080/admin-api',
// baseUrl: 'http://i3472v.natappfree.cc/admin-api',
// baseUrl: 'http://xp5ane.natappfree.cc/admin-api',
imagesUrl: 'http://www.nuoyunr.com/lananRsc',
baseImageUrl: 'https://www.nuoyunr.com/minio',
wsUrl: 'ws://127.0.0.1:48080',

View File

@ -38,16 +38,17 @@
<view class="a-box" v-for="(item,index) in goodsList" :key="index">
<view class="t-box">
<label>
<checkbox :value="item.id" color="#FFCC33" style="transform:scale(0.7)"/>
<checkbox :value="item.id+''" color="#FFCC33" style="transform:scale(0.7)"/>
</label>
<view class="s-img">
<image :src="item.avatar" mode="aspectFill"></image>
</view>
<view class="s-right">
<view class="s-title">{{ item.nickname }}</view>
<view class="s-hui">电话{{ item.mobile }}</view>
<view class="s-title">{{ item.nickname || item.username }}</view>
<view class="s-hui">岗位{{item.roleName}}</view>
<view class="s-hui">电话{{ item.mobile || item.username }}</view>
</view>
<view class="bottom-box" @click="gettel(item.mobile)">
<view class="bottom-box" @click="gettel(item)">
<uni-icons type="phone-filled" color="#0D2E8D" size="18"></uni-icons>
<text>电话</text>
<!-- @click="getdelete(item.id)" -->
@ -138,7 +139,7 @@ export default {
gwindex: 0,
gwid: 0,
roleId:undefined,
addRoleId:undefined
addRoleId:undefined,
}
},
onLoad() {
@ -170,8 +171,9 @@ export default {
},
methods: {
gettel(num) {
const value = num.mobile || num.username
uni.makePhoneCall({
phoneNumber: num //
phoneNumber: value //
});
},
xgang(index, id) {
@ -239,7 +241,18 @@ export default {
let total = res.total
this.totalPages = Math.ceil(total / this.pageSize);
}
const newUsers = this.goodsList.filter(item => !item.roleName)
if (newUsers && newUsers.length > 0){
const ids = newUsers.map(item => item.id)
request({
url: '/inspection/util/getRoleNameByIds?ids=' + ids,
method: 'get'
}).then(res => {
this.goodsList.filter(item => !item.roleName).map(item => {
this.$set(item, "roleName", res.data[item.id])
})
})
}
},
//
getedit(id) {

View File

@ -17,6 +17,11 @@
<view class="sou" @click="handleSearch">搜索</view>
<view class="sou" @click="handleReset">重置</view>
</view>
<view style="display: flex; flex-wrap: wrap; gap: 1rem; margin: 0.5rem auto; justify-content: flex-start;">
<view v-for="[key, value] in countMap" :key="key" style="flex: 0 0 auto;">
<view>{{key}}: {{value}}</view>
</view>
</view>
<view class="table-container">
<view class="table-row header-row">
<view class="table-cell">序号</view>
@ -75,13 +80,13 @@ export default {
value: "3",
},
],
countMap: []
countMap:[]
};
},
onReady() {
this.setLandscape();
this.getTableData();
this.getCountMap()
this.getTableData();
this.getDictData()
},
onUnload() {
@ -105,7 +110,7 @@ export default {
method: 'get',
params: this.queryParams
}).then(res => {
console.log(res)
this.countMap = Object.entries(res.data)
})
},
handleShow(id) {
@ -140,17 +145,18 @@ export default {
chooseStatus: "1"
};
this.tableData = []; //
this.getTableData();
this.getCountMap()
this.getTableData();
},
handleSearch() {
this.tableData = []
this.queryParams.pageNum = 1
if (this.queryParams.queryTime) {
this.queryParams.startTime = this.queryParams.queryTime[0];
this.queryParams.endTime = this.queryParams.queryTime[1];
this.getTableData();
this.getCountMap()
}
this.getCountMap()
this.getTableData();
},
getTableData(isLoadMore = false) {
this.loading = true; //

View File

@ -28,24 +28,24 @@
</view>
</view> -->
<view class="threebox">
<!-- @click="gostatistics()" -->
<view class="t-box">
<view class="xbai">合规合格</view>
<view class="dbai">{{threenum.hgNum}}</view>
<!-- <view class="threebox">-->
<!-- &lt;!&ndash; @click="gostatistics()" &ndash;&gt;-->
<!-- <view class="t-box">-->
<!-- <view class="xbai">合规合格</view>-->
<!-- <view class="dbai">{{threenum.hgNum}}</view>-->
</view>
<view class="t-box">
<view class="xbai">当日订单</view>
<view class="dbai">{{threenum.todayOrderNum}}</view>
<!-- </view>-->
<!-- <view class="t-box">-->
<!-- <view class="xbai">当日订单</view>-->
<!-- <view class="dbai">{{threenum.todayOrderNum}}</view>-->
</view>
<view class="t-box">
<view class="xbai">双燃料合格</view>
<view class="dbai">{{threenum.srlNum}}</view>
<!-- </view>-->
<!-- <view class="t-box">-->
<!-- <view class="xbai">双燃料合格</view>-->
<!-- <view class="dbai">{{threenum.srlNum}}</view>-->
</view>
</view>
<!-- </view>-->
<!-- </view>-->
<!-- <view class="threebox" @click="gocode">
扫一扫
</view> -->
@ -110,6 +110,16 @@
</view>
<text class="h-text">上门取车</text>
</view>
<view class="f-box" @click="goPresent">
<view class="j-icon" v-if="appAndPick.pickNum != 0">
<text>{{appAndPick.pickNum }}</text>
</view>
<view class="jgbox" style="width: 32px;height: 32px">
<image src="../../static/detection/present.png" mode=""></image>
</view>
<text class="h-text">使用说明</text>
</view>
</view>
</view>
@ -173,24 +183,59 @@
appAndPick: {
appointNum: 0,
pickNum: 0
}
},
present: {},
}
},
onLoad() {
this.baseUrl = this.$baseUrl
this.startScrolling();
this.getPresent()
},
onShow() {
this.getindex()
this.getAppointAndPickNum()
this.getbottom()
},
components: {
tabBar,
},
methods: {
goPresent(){
if (!this.present?.filePath){
uni.showToast({
title: '暂无使用说明',
icon: 'none'
})
return
}
let old = this.present.filePath
if (old[0] !== '/'){
old = "/" + old
}
uni.downloadFile({
url: this.$baseImageUrl+old,
success: function (res) {
var filePath = res.tempFilePath;
uni.openDocument({
filePath: filePath,
showMenu: true,
success: function (res) {
}
});
}
});
},
getPresent(){
request({
url: '/inspectionFile/inspectionFile/getPresent',
method: 'get'
}).then(res => {
if (res.data){
this.present = res.data
}
})
},
async getAppointAndPickNum() {
let res = await request({
url: '/partnerOwn/partner/getAppointAndPickNum',

View File

@ -454,6 +454,7 @@
justify-content: space-between;
box-sizing: border-box;
padding: 5px 15px;
margin-top: 2rem;
}
.t-title{
font-size: 17px;

View File

@ -1,385 +1,455 @@
<!-- 发起订单 -->
<template>
<view class="content">
<view class="c-top">
<view class="" @click="getback()">
<uni-icons type="left" size="18"></uni-icons>
</view>
<view class="c-title" v-if="type == 'add'">新增设备</view>
<view class="c-title" v-if="type == 'edit'">编辑设备</view>
<view class=""></view>
</view>
<view class="dil">
<view class="tinput">
<view class="content">
<view class="c-top">
<view class="" @click="getback()">
<uni-icons type="left" size="18"></uni-icons>
</view>
<view class="c-title" v-if="type == 'add'">新增设备</view>
<view class="c-title" v-if="type == 'edit'">编辑设备</view>
<view class=""></view>
</view>
<view class="dil">
<view class="tinput">
<view class="text1" > <text class="hong1">*</text> 设备名称</view>
<view class="you">
<input type="text" placeholder="请输入设备名称" v-model="box.equName">
</view>
</view>
<view class="tinput">
<view class="text1">
<text class="hong1">*</text>
设备名称
</view>
<view class="you">
<input type="text" placeholder="请输入设备名称" v-model="box.equName">
</view>
</view>
<view class="tinput">
<view class="text1" > <text class="hong1">*</text> 设备型号</view>
<view class="you">
<input type="text" placeholder="请输入设备型号" v-model="box.equModel">
</view>
</view>
<view class="tinput">
<view class="text1">
<text class="hong1">*</text>
设备型号
</view>
<view class="you">
<input type="text" placeholder="请输入设备型号" v-model="box.equModel">
</view>
</view>
<view class="tinput">
<view class="text1" > <text class="hong1">*</text> 设备编号</view>
<view class="you">
<input type="text" placeholder="请输入设备编号" v-model="box.equNumber">
</view>
</view>
<view class="tinput">
<view class="text1">
<text class="hong1">*</text>
设备编号
</view>
<view class="you">
<input type="text" placeholder="请输入设备编号" v-model="box.equNumber">
</view>
</view>
<view class="tinput" @click="typeShow = true">
<view class="text1">
设备类别
</view>
<view class="you">
<input type="text" placeholder="请选择设备类别" v-model="typeName">
</view>
</view>
<view class="tinput">
<view class="text1" > <text class="hong1">*</text> 设备检定周期</view>
<view class="you">
<input type="text" placeholder="请输入设备检定周期" v-model="box.equZq">
</view>
</view>
<view class="tinput">
<view class="text1">
<text class="hong1">*</text>
设备检定周期
</view>
<view class="you">
<input type="text" placeholder="请输入设备检定周期" v-model="box.equZq">
</view>
</view>
<view class="tinput">
<view class="text1" > <text class="hong1">*</text> 上次检定单位</view>
<view class="you">
<input type="text" placeholder="请输入上次检定单位" v-model="box.lastUnit">
</view>
</view>
<view class="text1">
<text class="hong1">*</text>
上次检定单位
</view>
<view class="you">
<input type="text" placeholder="请输入上次检定单位" v-model="box.lastUnit">
</view>
</view>
<view class="tinput">
<view class="text1">
<text class="hong1">*</text>
有效期
</view>
<!-- validTime -->
<view class="you" @click="show = true ">
<text>{{ time || '' }}</text>
</view>
</view>
<view class="tinput">
<view class="text1">
<text class="hong1">*</text>
下次检定时间
</view>
<!-- nextCheckTime -->
<view class="you" @click="show1 = true ">
<text>{{ time1 || '' }}</text>
</view>
</view>
<u-datetime-picker
:show="show"
v-model="box.validTime"
@cancel="cancels"
@confirm="confirms"
mode="date"
return-type='string'
></u-datetime-picker>
<u-datetime-picker
:show="show1"
v-model="box.nextCheckTime"
@cancel="cancels1"
@confirm="confirms1"
mode="date"
return-type='string'
></u-datetime-picker>
<view class="tinput" >
<view class="text1"> <text class="hong1">*</text> 有效期</view>
<!-- validTime -->
<view class="you" @click="show = true ">
<text>{{time|| ''}}</text>
</view>
</view>
<view class="tinput" >
<view class="text1"> <text class="hong1">*</text> 下次检定时间</view>
<!-- nextCheckTime -->
<view class="you" @click="show1 = true ">
<text>{{time1|| ''}}</text>
</view>
</view>
<u-datetime-picker
:show="show"
v-model="box.validTime"
@cancel="cancels"
@confirm="confirms"
mode="date"
return-type='string'
></u-datetime-picker>
<u-datetime-picker
:show="show1"
v-model="box.nextCheckTime"
@cancel="cancels1"
@confirm="confirms1"
mode="date"
return-type='string'
></u-datetime-picker>
<u-picker :show="typeShow" :columns="columns" @confirm="confirmsType" @cancel="typeShow = false"
keyName="label"></u-picker>
<view class="anniu" @click="getnewsadd()">
<text>保存</text>
</view>
<view style="width: 100%; height: 60px;"></view>
</view>
<view class="anniu" @click="getnewsadd()">
<text>保存</text>
</view>
<view style="width: 100%; height: 60px;"></view>
</view>
</view>
</view>
</template>
<script>
import request from '../../utils/request'
import config from '@/config'
import { getToken } from '@/utils/auth'
import upload from '@/utils/upload.js'
var wvCurrent;
export default{
data(){
return{
import request from '../../utils/request'
import config from '@/config'
import {getToken} from '@/utils/auth'
import upload from '@/utils/upload.js'
import {getDictDataByType} from "../../utils/utils";
time:'请选择有效期',
time1:'请选择下次检定时间',
value1:'2023-10-10',
baseUrl:this.$baseUrl,
show:false,
show1:false,
fileId:null,
id:'',
type:'add',
box:{},
}
},
onLoad(option) {
this.type = option.type
if(option.type == 'edit'){
this.box.id = option.id
}
var wvCurrent;
export default {
data() {
return {
},
time: '请选择有效期',
time1: '请选择下次检定时间',
value1: '2023-10-10',
baseUrl: this.$baseUrl,
show: false,
show1: false,
fileId: null,
id: '',
type: 'add',
box: {},
typeShow: false,
columns: [],
typeName: null,
}
},
onLoad(option) {
this.type = option.type
if (option.type == 'edit') {
this.box.id = option.id
}
this.getInsType()
},
onShow() {
if(this.type == 'edit') this.getDetail();
},
methods:{
async getDetail(){
let res = await request({
url: '/system/equInfo/'+this.box.id,
method: 'get'
})
if(res.code == 200){
this.box = res.data
// this.maneizhi = this.box.type
this.time = this.box.validTime
this.time1 = this.box.nextCheckTime
}
},
cancels(){
this.show = false
},
cancels1(){
this.show1 = false
},
confirms(e){
var timestamp = e.value;
var date = new Date(timestamp);
var year = date.getFullYear();
var month = ("0" + (date.getMonth() + 1)).slice(-2);
var day = ("0" + date.getDate()).slice(-2);
var formattedDate = year + "-" + month + "-" + day;
this.box.validTime = formattedDate
this.time = formattedDate
this.show = false
onShow() {
if (this.type == 'edit') this.getDetail();
},
methods: {
confirmsType(e){
console.log(e)
this.box.type = e.value[0].value
this.typeName = e.value[0].label
this.typeShow = false
},
getInsType(){
if (!this.columns || this.columns.length === 0){
this.columns = [getDictDataByType("ins_equ_type")]
}
console.log(this.columns)
},
async getDetail() {
let res = await request({
url: '/system/equInfo/' + this.box.id,
method: 'get'
})
if (res.code == 200) {
this.box = res.data
// this.maneizhi = this.box.type
this.time = this.box.validTime
this.time1 = this.box.nextCheckTime
}
if (this.box.type){
const data = this.columns[0]
const index = data.findIndex(item => item.value === this.box.type)
if (index !== -1){
this.typeName = data[index].label
}
}
},
cancels() {
this.show = false
},
cancels1() {
this.show1 = false
},
confirms(e) {
var timestamp = e.value;
var date = new Date(timestamp);
var year = date.getFullYear();
var month = ("0" + (date.getMonth() + 1)).slice(-2);
var day = ("0" + date.getDate()).slice(-2);
var formattedDate = year + "-" + month + "-" + day;
this.box.validTime = formattedDate
this.time = formattedDate
this.show = false
},
confirms1(e){
var timestamp = e.value;
var date = new Date(timestamp);
var year = date.getFullYear();
var month = ("0" + (date.getMonth() + 1)).slice(-2);
var day = ("0" + date.getDate()).slice(-2);
var formattedDate = year + "-" + month + "-" + day;
this.box.nextCheckTime = formattedDate
this.time1 = formattedDate
this.show1 = false
},
confirms1(e) {
var timestamp = e.value;
var date = new Date(timestamp);
var year = date.getFullYear();
var month = ("0" + (date.getMonth() + 1)).slice(-2);
var day = ("0" + date.getDate()).slice(-2);
var formattedDate = year + "-" + month + "-" + day;
this.box.nextCheckTime = formattedDate
this.time1 = formattedDate
this.show1 = false
},
//
async getnewsadd(){
},
//
async getnewsadd() {
// if(this.box.filePath==''||this.box.fileName==''||this.box.warnTime==''){
// uni.showToast({
// title:'',
// icon:'none'
// })
// if(this.box.filePath==''||this.box.fileName==''||this.box.warnTime==''){
// uni.showToast({
// title:'',
// icon:'none'
// })
if (this.type == 'add') {
if(this.type == 'add'){
let res = await request({
url: '/system/equInfo/add',
method: 'post',
data: this.box
})
if (res.code == 200) {
uni.showToast({
title: '发布成功'
})
setTimeout(() => {
uni.navigateBack({
delta: 1
});
}, 1000);
}
}
if (this.type == 'edit') {
let res = await request({
url: '/system/equInfo/edit',
method: 'post',
data: this.box
})
if (res.code == 200) {
uni.showToast({
title: '发布成功'
})
setTimeout(() => {
uni.navigateBack({
delta: 1
});
}, 1000);
let res = await request({
url: '/system/equInfo/add',
method: 'post',
data:this.box
})
if(res.code == 200){
uni.showToast({
title:'发布成功'
})
setTimeout(() => {
uni.navigateBack({
delta: 1
});
}, 1000);
}
}
if(this.type == 'edit'){
let res = await request({
url: '/system/equInfo/edit',
method: 'post',
data:this.box
})
if(res.code == 200){
uni.showToast({
title:'发布成功'
})
setTimeout(() => {
uni.navigateBack({
delta: 1
});
}, 1000);
}
}
}
}
},
},
getback(){
uni.navigateBack({
delta:1,
})
},
getback() {
uni.navigateBack({
delta: 1,
})
},
}
}
}
}
</script>
<style scoped lang="scss">
.content{
width: 100%;
height: calc(100vh);
background-color: #F6F6F6;
box-sizing: border-box;
// padding-top: 45px;
}
.content {
width: 100%;
height: calc(100vh);
background-color: #F6F6F6;
box-sizing: border-box;
// padding-top: 45px;
}
.dil{
box-sizing: border-box;
background-color: #F6F6F6;
padding: 0px 12px;
.dil {
box-sizing: border-box;
background-color: #F6F6F6;
padding: 0px 12px;
}
.top-icon{
margin-bottom: 45px;
}
.c-top{
width: 100%;
box-sizing: border-box;
padding: 15px;
display: flex;
justify-content: space-between;
align-items: center;
background-color: white;
padding-top: 40px;
}
.c-title{
font-size: 18px;
font-weight: bold
}
.top{
box-sizing: border-box;
padding: 0px 15px;
width: 100%;
background-color: white;
}
.top-box{
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
padding: 20px 0px;
}
.tb-left{
height: 100%;
width: 80%;
display: flex;
align-items: center;
}
.uicon{
width: 18px;
height: 18px;
border-radius: 4px;
color: white;
background: orangered;
display: flex;
justify-content: center;
align-items: center;
font-size: 12px;
font-weight: bold;
margin-right: 6px;
}
}
.tb-right{
width: 20px;
height: 26px;
.top-icon {
margin-bottom: 45px;
}
image{
width: 100%;
height: 100%;
}
}
.text1{
font-size: 16px;
font-weight: bold;
color: #363636;
}
.hong1{
margin-top: 5px;
font-size: 12px;
font-weight: 400;
color: #FF5453;
}
.hong2{
margin-top: 5px;
font-size: 12px;
font-weight: 400;
.c-top {
width: 100%;
box-sizing: border-box;
padding: 15px;
display: flex;
justify-content: space-between;
align-items: center;
background-color: white;
padding-top: 40px;
}
}
.tinput{
width: 100%;
display: flex;
background: white;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 16px;
margin-top: 14px;
margin-bottom: 14px;
}
.xinput{
width: 100%;
background: white;
box-sizing: border-box;
padding: 16px;
margin-top: 14px;
}
.you{
text-align: right;
.c-title {
font-size: 18px;
font-weight: bold
}
}
.xz{
margin-top: 10px;
display: flex;
align-items: center;
.top {
box-sizing: border-box;
padding: 0px 15px;
width: 100%;
background-color: white;
}
}
.kuang{
width: 80px;
height: 23px;
background: #ECECEC;
border-radius: 5px;
display: flex;
justify-content: center;
align-items: center;
color: #666666;
font-size: 14px;
margin-right: 15px;
}
.xlan{
background: #CDE7FF !important;
color: #1D62FF !important;
border: 1px solid #2A96FE;
}
.anniu{
width: 100%;
background: linear-gradient(180deg, #3F61C0 0%, #0D2E8D 100%);
border-radius: 50px ;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
color: #542F0E;
margin-top: 20px;
color: white;
.top-box {
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
padding: 20px 0px;
}
}
.tb-left {
height: 100%;
width: 80%;
display: flex;
align-items: center;
}
.uicon {
width: 18px;
height: 18px;
border-radius: 4px;
color: white;
background: orangered;
display: flex;
justify-content: center;
align-items: center;
font-size: 12px;
font-weight: bold;
margin-right: 6px;
}
.tb-right {
width: 20px;
height: 26px;
image {
width: 100%;
height: 100%;
}
}
.text1 {
font-size: 16px;
font-weight: bold;
color: #363636;
}
.hong1 {
margin-top: 5px;
font-size: 12px;
font-weight: 400;
color: #FF5453;
}
.hong2 {
margin-top: 5px;
font-size: 12px;
font-weight: 400;
}
.tinput {
width: 100%;
display: flex;
background: white;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 16px;
margin-top: 14px;
margin-bottom: 14px;
}
.xinput {
width: 100%;
background: white;
box-sizing: border-box;
padding: 16px;
margin-top: 14px;
}
.you {
text-align: right;
}
.xz {
margin-top: 10px;
display: flex;
align-items: center;
}
.kuang {
width: 80px;
height: 23px;
background: #ECECEC;
border-radius: 5px;
display: flex;
justify-content: center;
align-items: center;
color: #666666;
font-size: 14px;
margin-right: 15px;
}
.xlan {
background: #CDE7FF !important;
color: #1D62FF !important;
border: 1px solid #2A96FE;
}
.anniu {
width: 100%;
background: linear-gradient(180deg, #3F61C0 0%, #0D2E8D 100%);
border-radius: 50px;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
color: #542F0E;
margin-top: 20px;
color: white;
}
button::after {
border: none;
}
button::after {
border: none;
}
</style>

View File

@ -1,16 +1,16 @@
<!-- 默认复制 -->
<template>
<view class="content">
<view class="top-heder">
<view class="t-left" @click="getback()">
<uni-icons type="left" size="18"></uni-icons>
</view>
<view class="t-title">
<text>设备管理</text>
</view>
<view class="t-you"></view>
</view>
<view class="content">
<view class="top-heder">
<view class="t-left" @click="getback()">
<uni-icons type="left" size="18"></uni-icons>
</view>
<view class="t-title">
<text>设备管理</text>
</view>
<view class="t-you"></view>
</view>
<view class="searchContent">
<view class="t-input">
@ -20,439 +20,537 @@
<view class="sou" @click="getlistindex()">搜索</view>
</view>
<view class="cont">
<view class="cont">
<view @click="goadd('add')" style="width: 100%; display: flex; justify-content: center;background:white; margin: 10px 0px; box-sizing: border-box; padding: 10px;font-weight: bold;border-radius: 8px;">
<text > + 新增设备</text>
</view>
<view class="bjimg" v-if="arrlist == ''">
<image src="http://www.nuoyunr.com/lananRsc/detection/qs.png" mode=""></image>
</view>
<view class="c-box" v-for="(item,index) in arrlist" :key="index" >
<view class="box-top">
<view class="">{{item.equName || '设备名称'}}</view>
<view style="display: flex;align-items: center; justify-content: space-between; width: 25%;">
<view style="color: #43A045;" @click="goadd('edit',item.id)">编辑</view>
<view style="color: #FF7272;" @click="dialogToggle(item.id)" >删除</view>
</view>
</view>
<view class="box-hui">
<view class="box-left">设备型号:</view>
<view class="">{{item.equModel || ''}}</view>
</view>
<view class="box-hui">
<view class="box-left">设备编号:</view>
<view class="">{{item.equNumber || ''}}</view>
</view>
<view class="box-hui">
<view class="box-left">检定/校准周期:</view>
<view class="">{{item.equZq || ''}}</view>
</view>
<view class="box-hui">
<view class="box-left">有效期:</view>
<view class="">{{item.validTime || ''}}</view>
</view>
<view class="box-hui">
<view class="box-left">检定单位:</view>
<view class="">{{item.lastUnit || ''}}</view>
</view>
<view class="box-hui">
<view class="box-left">计划检定时间:</view>
<view class="">{{item.nextCheckTime || ''}}</view>
</view>
<view @click="goadd('add')"
style="width: 100%; display: flex; justify-content: center;background:white; margin: 10px 0px; box-sizing: border-box; padding: 10px;font-weight: bold;border-radius: 8px;">
<text> + 新增设备</text>
</view>
<view class="box-bottom">
<view class="tap-box" v-for="(item,index) in tabList" :key="index" @click="gettap(item.value)">
<view :class="{'lan' : tapindex == item.value}">{{ item.label }}</view>
<view class="gang" v-if="tapindex == item.value"></view>
</view>
</view>
<view class="bjimg" v-if="arrlist == ''">
<image src="http://www.nuoyunr.com/lananRsc/detection/qs.png" mode=""></image>
</view>
<view class="c-box" v-for="(item,index) in arrlist" :key="index">
<view class="box-top">
<view class="">{{ item.equName || '设备名称' }}</view>
<view style="display: flex;align-items: center; justify-content: space-between; width: 25%;">
<view style="color: #43A045;" @click="goadd('edit',item.id)">编辑</view>
<view style="color: #FF7272;" @click="dialogToggle(item.id)">删除</view>
</view>
</view>
<view class="box-hui">
<view class="box-left">设备型号:</view>
<view class="">{{ item.equModel || '' }}</view>
</view>
<view class="box-hui">
<view class="box-left">设备编号:</view>
<view class="">{{ item.equNumber || '' }}</view>
</view>
<view class="box-hui">
<view class="box-left">检定/校准周期:</view>
<view class="">{{ item.equZq || '' }}</view>
</view>
<view class="box-hui">
<view class="box-left">有效期:</view>
<view class="">{{ item.validTime || '' }}</view>
</view>
<view class="box-hui">
<view class="box-left">检定单位:</view>
<view class="">{{ item.lastUnit || '' }}</view>
</view>
<view class="box-hui">
<view class="box-left">计划检定时间:</view>
<view class="">{{ item.nextCheckTime || '' }}</view>
</view>
</view>
<uni-popup ref="alertDialog" type="dialog">
<uni-popup-dialog cancelText="关闭" confirmText="同意" title="通知" content="您确认要删除吗" @confirm="dialogConfirm"
@close="dialogClose"></uni-popup-dialog>
</uni-popup>
</view>
<uni-popup ref="alertDialog" type="dialog">
<uni-popup-dialog cancelText="关闭" confirmText="同意" title="通知" content="您确认要删除吗"
@confirm="dialogConfirm"
@close="dialogClose"></uni-popup-dialog>
</uni-popup>
</view>
</view>
</view>
</view>
</template>
<script>
import config from '@/config'
import config from '@/config'
import code from '../../uni_modules/uview-ui/libs/config/props/code';
import request from '../../utils/request';
import request from '../../utils/request';
import {getDictDataByType} from "../../utils/utils";
export default{
data(){
return{
export default {
data() {
return {
partnerId:'',
arrlist:[],
pageNum: 1,//
pageSize: 20,//
totalPages: 0,//
deleteid:'',
equName: null
}
},
partnerId: '',
arrlist: [
],
pageNum: 1,//
pageSize: 20,//
totalPages: 0,//
deleteid: '',
equName: null,
tabList:[
{
label: "全部",
value: "0"
}
],
tapindex: 0,
type: null
}
},
onLoad(){
this.partnerId = uni.getStorageSync('partnerId')
this.getlistindex()
},
onShow() {
this.getlistindex()
onLoad() {
this.partnerId = uni.getStorageSync('partnerId')
this.getlistindex()
this.getTab()
},
onShow() {
this.getlistindex()
},
onReachBottom() {
if (this.pageNum >= this.totalPages) {
uni.showToast({
title: '没有下一页数据',
icon: 'none'
})
},
onReachBottom() {
if (this.pageNum >= this.totalPages) {
uni.showToast({
title: '没有下一页数据',
icon: 'none'
})
} else {
this.pageNum++
this.getlistindex()
}
},
methods:{
dialogToggle(id) {
this.deleteid = id
this.$refs.alertDialog.open()
},
async dialogConfirm(id) {
} else {
this.pageNum++
this.getlistindex()
}
},
methods: {
gettap(value){
this.tapindex = value
this.type = value === '0' ? null : value
this.getlistindex()
},
getTab(){
if (!this.tabList || this.tabList.length === 1){
this.tabList = [...this.tabList, ...getDictDataByType("ins_equ_type")]
}
console.log(this.tabList)
},
dialogToggle(id) {
this.deleteid = id
this.$refs.alertDialog.open()
},
async dialogConfirm(id) {
let res = await request({
url: '/system/equInfo/' + this.deleteid,
method: 'delete',
let res = await request({
url: '/system/equInfo/' + this.deleteid,
method: 'delete',
})
if(res.code == 200){
this.$refs.alertDialog.close()
uni.showToast({
icon:'none',
title:'删除成功'
})
this.getlistindex()
}
})
if (res.code == 200) {
this.$refs.alertDialog.close()
uni.showToast({
icon: 'none',
title: '删除成功'
})
this.getlistindex()
}
},
dialogClose() {
this.$refs.alertDialog.close
},
goadd(type,id){
uni.navigateTo({
url:'/pages/manage/informationAdd?type='+type+'&id='+id
})
},
dialogClose() {
this.$refs.alertDialog.close
},
goadd(type, id) {
uni.navigateTo({
url: '/pages/manage/informationAdd?type=' + type + '&id=' + id
})
},
getback(){
uni.navigateBack()
},
async getlistindex(){
let res = await request({
url: '/system/equInfo/list',
method: 'get',
data: {
partnerId:this.partnerId,
pageSize:this.pageSize,
pageNum:this.pageNum,
equName: this.equName
}
})
// this.arrlist = res.rows
if (this.pageNum != 1){
this.arrlist = this.arrlist.concat(res.rows)
},
getback() {
uni.navigateBack()
},
async getlistindex() {
let res = await request({
url: '/system/equInfo/list',
method: 'get',
data: {
partnerId: this.partnerId,
pageSize: this.pageSize,
pageNum: this.pageNum,
equName: this.equName,
type: this.type
}
})
// this.arrlist = res.rows
if (this.pageNum != 1) {
this.arrlist = this.arrlist.concat(res.rows)
}else{
this.arrlist = res.rows
}
let total = res.total
this.totalPages = Math.ceil(total / this.pageSize);
},
} else {
this.arrlist = res.rows
}
let total = res.total
this.totalPages = Math.ceil(total / this.pageSize);
},
},
},
}
}
</script>
<style scoped lang="scss">
.content{
width: 100%;
height: calc(100vh);
background-color: #F6F6F6;
box-sizing: border-box;
// padding-top: 45px;
}
.top-icon{
margin-bottom: 45px;
}
.q-fab{
position: fixed;
bottom: 50px;
right: 15px;
width: 55px;
height: 55px;
border-radius: 50%;
overflow: hidden;
image{
width: 100%;
height: 100%;
}
}
.fab-z1{
position: fixed;
bottom: 115px;
right: 15px;
width: 50px;
height: 50px;
border-radius: 50%;
overflow: hidden;
image{
width: 100%;
height: 100%;
}
}
.fab-z2{
position: fixed;
bottom: 50px;
right: 80px;
width: 50px;
height: 50px;
border-radius: 50%;
overflow: hidden;
image{
width: 100%;
height: 100%;
}
}
.c-tap{
width: 100%;
height: 40px;
box-sizing: border-box;
padding: 15px;
display: flex;
background-color: white;
align-items: center;
}
.c-top{
display: flex;
align-items: center;
justify-content: space-between;
}
.c-title{
font-size: 18px;
font-weight: bold
}
.cont{
width: 100%;
padding: 15px;
padding-top: 0px ;
box-sizing: border-box;
background-color: #F6F6F6;
.content {
width: 100%;
height: calc(100vh);
background-color: #F6F6F6;
box-sizing: border-box;
// padding-top: 45px;
}
}
.hongdian{
width: 15px;
height: 15px;
background-color: crimson;
border-radius: 50%;
overflow: hidden;
position: absolute;
top: 5px;
right: 5px;
z-index: 9999;
}
.c-box{
width: 100%;
box-sizing: border-box;
padding: 10px;
background-color: white;
margin-top: 10px;
border-radius: 10px;
.top-icon {
margin-bottom: 45px;
}
.q-fab {
position: fixed;
bottom: 50px;
right: 15px;
width: 55px;
height: 55px;
border-radius: 50%;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.fab-z1 {
position: fixed;
bottom: 115px;
right: 15px;
width: 50px;
height: 50px;
border-radius: 50%;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.fab-z2 {
position: fixed;
bottom: 50px;
right: 80px;
width: 50px;
height: 50px;
border-radius: 50%;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.c-tap {
width: 100%;
height: 40px;
box-sizing: border-box;
padding: 15px;
display: flex;
background-color: white;
align-items: center;
}
.c-top {
display: flex;
align-items: center;
justify-content: space-between;
}
.c-title {
font-size: 18px;
font-weight: bold
}
.cont {
width: 100%;
padding: 15px;
padding-top: 0px;
box-sizing: border-box;
background-color: #F6F6F6;
}
.hongdian {
width: 15px;
height: 15px;
background-color: crimson;
border-radius: 50%;
overflow: hidden;
position: absolute;
top: 5px;
right: 5px;
z-index: 9999;
}
.c-box {
width: 100%;
box-sizing: border-box;
padding: 10px;
background-color: white;
margin-top: 10px;
border-radius: 10px;
}
.c-b-top{
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.t-left{
width: 40%;
height: 100px;
border-radius: 7px;
margin-right: 10px;
overflow: hidden;
image{
width: 100%;
height: 100%;
}
}
}
.t-right{
width: 60%;
}
.t-tilte{
font-size: 20px;
font-weight: bold;
color: #333333;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
.c-b-top {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
}
.tw-tilte{
width: 100%;
text-align: right;
font-size: 16px;
font-weight: bold;
color: #5e5e5e;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
.t-left {
width: 40%;
height: 100px;
border-radius: 7px;
margin-right: 10px;
overflow: hidden;
}
.t-zi{
font-size: 14px;
font-weight: 400;
color: #666666;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.bjimg{
width: 255px;
height: 236px;
margin: 0px auto;
margin-top: 100px;
image{
width: 100%;
height: 100%;
}
}
.c-b-bom{
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 5px;
}
.b-left{
color: #0D2E8D;
font-size: 14px;
}
.b-right{
display: flex;
justify-content: space-between;
align-items: center;
}
.z-lv{
display: flex;
align-items: center;
color: #0D2E8D;
font-size: 15px;
margin-right: 10px;
}
.y-hong{
display: flex;
align-items: center;
color: #fa3534;
font-size: 15px;
margin-right: 15px;
}
.z-img{
width: 20px;
height: 15px;
image{
width: 100%;
height: 100%;
}
margin-right: 2px;
}
.tap-box{
width: 30%;
text-align: center;
}
.gang{
height: 4px;
background: #0D2E8D;
width: 80%;
margin: 0px auto;
}
.lan{
color: #0D2E8D;
}
.top-heder{
width: 100%;
height: 68px;
background: white;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 5px 15px;
}
.t-title{
font-size: 17px;
font-weight: bold;
color: #333333;
}
.t-left{
width: 20%;
height: 20px;
}
.t-you{
width: 20%;
height: 20px;
}
.box-top{
font-size: 16px;
font-weight: bold;
color: #333333;
box-sizing: border-box;
padding-bottom: 10px;
border-bottom: 1px solid #EEEEEE;
margin-bottom: 10px;
display: flex;
align-items: center;
justify-content: space-between;
}
.box-hui{
font-size: 15px;
font-weight: 400;
color: #999999;
display: flex;
margin-bottom: 5px;
}
.box-left{
margin-right: 10px;
}
.t-input{
width: 75%;
height: 36px;
background: #F0F0F0;
border-radius: 50px;
box-sizing: border-box;
padding: 0 15px;
display: flex;
align-items: center;
image {
width: 100%;
height: 100%;
}
.sou{
width: 10%;
margin-left: 5px;
display: flex;
justify-content: center;
align-items: center;
}
.t-right {
width: 60%;
}
.t-tilte {
font-size: 20px;
font-weight: bold;
color: #333333;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tw-tilte {
width: 100%;
text-align: right;
font-size: 16px;
font-weight: bold;
color: #5e5e5e;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.t-zi {
font-size: 14px;
font-weight: 400;
color: #666666;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.bjimg {
width: 255px;
height: 236px;
margin: 0px auto;
margin-top: 100px;
image {
width: 100%;
height: 100%;
}
}
.c-b-bom {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 5px;
}
.b-left {
color: #0D2E8D;
font-size: 14px;
}
.b-right {
display: flex;
justify-content: space-between;
align-items: center;
}
.z-lv {
display: flex;
align-items: center;
color: #0D2E8D;
font-size: 15px;
margin-right: 10px;
}
.y-hong {
display: flex;
align-items: center;
color: #fa3534;
font-size: 15px;
margin-right: 15px;
}
.z-img {
width: 20px;
height: 15px;
image {
width: 100%;
height: 100%;
}
.searchContent{
display: flex;
justify-content: center;
}
margin-right: 2px;
}
.tap-box {
width: 30%;
text-align: center;
}
.gang {
height: 4px;
background: #0D2E8D;
width: 80%;
margin: 0px auto;
}
.lan {
color: #0D2E8D;
}
.top-heder {
width: 100%;
height: 68px;
background: white;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 5px 15px;
margin-top: 2rem;
}
.t-title {
font-size: 17px;
font-weight: bold;
color: #333333;
}
.t-left {
width: 20%;
height: 20px;
}
.t-you {
width: 20%;
height: 20px;
}
.box-top {
font-size: 16px;
font-weight: bold;
color: #333333;
box-sizing: border-box;
padding-bottom: 10px;
border-bottom: 1px solid #EEEEEE;
margin-bottom: 10px;
display: flex;
align-items: center;
justify-content: space-between;
}
.box-hui {
font-size: 15px;
font-weight: 400;
color: #999999;
display: flex;
margin-bottom: 5px;
}
.box-left {
margin-right: 10px;
}
.t-input {
width: 75%;
height: 36px;
background: #F0F0F0;
border-radius: 50px;
box-sizing: border-box;
padding: 0 15px;
display: flex;
align-items: center;
}
.sou {
width: 10%;
margin-left: 5px;
display: flex;
justify-content: center;
align-items: center;
}
.searchContent {
display: flex;
justify-content: center;
}
.box-bottom {
display: flex;
justify-content: space-between;
//width: 100%;
//height: 30px;
//box-sizing: border-box;
//white-space: nowrap;
}
.tap-box {
width: 20%;
display: inline-block;
text-align: center;
}
.gang {
height: 4px;
background: #0D2E8D;
width: 80%;
margin: 0px auto;
}
.lan {
color: #0D2E8D;
}
</style>

View File

@ -1,316 +1,378 @@
<!-- 默认复制 -->
<template>
<view class="content">
<view class="top-heder">
<view class="t-left" @click="getback()">
<uni-icons type="left" size="18"></uni-icons>
</view>
<view class="t-title">
<text>内部管理</text>
</view>
<view class="t-you"></view>
</view>
<view class="cont">
<!-- <view class="bjimg" v-if="arrlist == ''">
<image src="http://www.nuoyunr.com/lananRsc/detection/qs.png" mode=""></image>
</view> -->
<view class="c-box" @click="gostaff">员工管理</view>
<view class="c-box" @click="goinformation">设备管理</view>
<view class="c-box" @click="godevice">资料管理</view>
</view>
</view>
<view class="content">
<view class="top-heder">
<view class="t-left" @click="getback()">
<uni-icons type="left" size="18"></uni-icons>
</view>
<view class="t-title">
<text>内部管理</text>
</view>
<view class="t-you"></view>
</view>
<view class="cont">
<!-- <view class="bjimg" v-if="arrlist == ''">
<image src="http://www.nuoyunr.com/lananRsc/detection/qs.png" mode=""></image>
</view> -->
<view class="c-box">
<view>员工管理({{ typeCount.get('staff') }})</view>
<view class="btn" @click="gostaff">去查看</view>
</view>
<view class="c-box">
<view>设备管理({{ typeCount.get('equ') }})</view>
<view class="btn" @click="goinformation">去查看</view>
</view>
<view class="c-box">
<view>资料管理({{ typeCount.get('file') }})</view>
<view class="btn" @click="godevice">去查看</view>
</view>
</view>
</view>
</template>
<script>
import config from '@/config'
import request from '../../utils/request';
import config from '@/config'
import request from '../../utils/request';
export default{
data(){
return{
}
},
onLoad(){
},
onShow() {
},
methods:{
getback(){
uni.navigateBack()
},
gostaff(){
uni.navigateTo({
url:'/pages/index/Staffmanagement'
})
},
goinformation(){
uni.navigateTo({
url:'/pages/manage/informationManage'
})
},
godevice(){
uni.navigateTo({
url:'/pages/manage/deviceManage'
})
},
},
}
export default {
data() {
return {
typeCount: {},
partnerId: uni.getStorageSync('partnerId')
}
},
onLoad() {
this.getTypeCount()
},
onShow() {
this.getTypeCount()
},
methods: {
getTypeCount() {
request({
url: '/inspection/util/getTypeCount?partnerId=' + this.partnerId,
method: 'get',
}).then(res => {
this.typeCount = new Map(Object.entries(res.data))
})
},
getback() {
uni.navigateBack()
},
gostaff() {
uni.navigateTo({
url: '/pages/index/Staffmanagement'
})
},
goinformation() {
uni.navigateTo({
url: '/pages/manage/informationManage'
})
},
godevice() {
uni.navigateTo({
url: '/pages/manage/deviceManage'
})
},
},
}
</script>
<style scoped lang="scss">
.content{
width: 100%;
height: calc(100vh);
background-color: #F6F6F6;
box-sizing: border-box;
// padding-top: 45px;
}
.top-icon{
margin-bottom: 45px;
}
.q-fab{
position: fixed;
bottom: 50px;
right: 15px;
width: 55px;
height: 55px;
border-radius: 50%;
overflow: hidden;
image{
width: 100%;
height: 100%;
}
}
.fab-z1{
position: fixed;
bottom: 115px;
right: 15px;
width: 50px;
height: 50px;
border-radius: 50%;
overflow: hidden;
image{
width: 100%;
height: 100%;
}
}
.fab-z2{
position: fixed;
bottom: 50px;
right: 80px;
width: 50px;
height: 50px;
border-radius: 50%;
overflow: hidden;
image{
width: 100%;
height: 100%;
}
}
.c-tap{
width: 100%;
height: 40px;
box-sizing: border-box;
padding: 15px;
display: flex;
background-color: white;
align-items: center;
}
.c-top{
display: flex;
align-items: center;
justify-content: space-between;
}
.c-title{
font-size: 18px;
font-weight: bold
}
.cont{
width: 100%;
padding: 15px;
padding-top: 50px ;
box-sizing: border-box;
background-color: #F6F6F6;
}
.hongdian{
width: 15px;
height: 15px;
background-color: crimson;
border-radius: 50%;
overflow: hidden;
position: absolute;
top: 5px;
right: 5px;
z-index: 9999;
}
.c-box{
width: 100%;
box-sizing: border-box;
padding: 10px;
background-color: white;
margin-top: 10px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 30px;
font-weight: bold;
height: 200px;
}
.c-b-top{
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.t-left{
width: 40%;
height: 100px;
border-radius: 7px;
margin-right: 10px;
overflow: hidden;
image{
width: 100%;
height: 100%;
}
}
.t-right{
width: 60%;
}
.t-tilte{
font-size: 20px;
font-weight: bold;
color: #333333;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
.content {
width: 100%;
height: calc(100vh);
background-color: #F6F6F6;
box-sizing: border-box;
// padding-top: 45px;
}
}
.tw-tilte{
width: 100%;
text-align: right;
font-size: 16px;
font-weight: bold;
color: #5e5e5e;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.t-zi{
font-size: 14px;
font-weight: 400;
color: #666666;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
.top-icon {
margin-bottom: 45px;
}
}
.bjimg{
width: 255px;
height: 236px;
margin: 0px auto;
margin-top: 100px;
image{
width: 100%;
height: 100%;
}
}
.c-b-bom{
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 5px;
}
.b-left{
color: #0D2E8D;
font-size: 14px;
}
.b-right{
display: flex;
justify-content: space-between;
align-items: center;
}
.z-lv{
display: flex;
align-items: center;
color: #0D2E8D;
font-size: 15px;
margin-right: 10px;
}
.y-hong{
display: flex;
align-items: center;
color: #fa3534;
font-size: 15px;
margin-right: 15px;
}
.z-img{
width: 20px;
height: 15px;
image{
width: 100%;
height: 100%;
}
margin-right: 2px;
}
.tap-box{
width: 30%;
text-align: center;
}
.gang{
height: 4px;
background: #0D2E8D;
width: 80%;
margin: 0px auto;
}
.lan{
color: #0D2E8D;
}
.top-heder{
width: 100%;
height: 68px;
background: white;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 5px 15px;
}
.t-title{
font-size: 17px;
font-weight: bold;
color: #333333;
}
.t-left{
width: 20%;
height: 20px;
}
.t-you{
width: 20%;
height: 20px;
}
</style>
.q-fab {
position: fixed;
bottom: 50px;
right: 15px;
width: 55px;
height: 55px;
border-radius: 50%;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.fab-z1 {
position: fixed;
bottom: 115px;
right: 15px;
width: 50px;
height: 50px;
border-radius: 50%;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.fab-z2 {
position: fixed;
bottom: 50px;
right: 80px;
width: 50px;
height: 50px;
border-radius: 50%;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.c-tap {
width: 100%;
height: 40px;
box-sizing: border-box;
padding: 15px;
display: flex;
background-color: white;
align-items: center;
}
.c-top {
display: flex;
align-items: center;
justify-content: space-between;
}
.c-title {
font-size: 18px;
font-weight: bold
}
.cont {
width: 100%;
padding: 15px;
padding-top: 25px;
box-sizing: border-box;
background-color: #F6F6F6;
}
.hongdian {
width: 15px;
height: 15px;
background-color: crimson;
border-radius: 50%;
overflow: hidden;
position: absolute;
top: 5px;
right: 5px;
z-index: 9999;
}
.c-box {
width: 100%;
box-sizing: border-box;
padding: 10px;
background-color: white;
margin-top: 10px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 20px;
font-weight: bold;
height: 50px;
}
.c-b-top {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.t-left {
width: 40%;
height: 100px;
border-radius: 7px;
margin-right: 10px;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.t-right {
width: 60%;
}
.t-tilte {
font-size: 20px;
font-weight: bold;
color: #333333;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tw-tilte {
width: 100%;
text-align: right;
font-size: 16px;
font-weight: bold;
color: #5e5e5e;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.t-zi {
font-size: 14px;
font-weight: 400;
color: #666666;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.bjimg {
width: 255px;
height: 236px;
margin: 0px auto;
margin-top: 100px;
image {
width: 100%;
height: 100%;
}
}
.c-b-bom {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 5px;
}
.b-left {
color: #0D2E8D;
font-size: 14px;
}
.b-right {
display: flex;
justify-content: space-between;
align-items: center;
}
.z-lv {
display: flex;
align-items: center;
color: #0D2E8D;
font-size: 15px;
margin-right: 10px;
}
.y-hong {
display: flex;
align-items: center;
color: #fa3534;
font-size: 15px;
margin-right: 15px;
}
.z-img {
width: 20px;
height: 15px;
image {
width: 100%;
height: 100%;
}
margin-right: 2px;
}
.tap-box {
width: 30%;
text-align: center;
}
.gang {
height: 4px;
background: #0D2E8D;
width: 80%;
margin: 0px auto;
}
.lan {
color: #0D2E8D;
}
.top-heder {
width: 100%;
height: 68px;
background: white;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 5px 15px;
margin-top: 2rem;
}
.t-title {
font-size: 17px;
font-weight: bold;
color: #333333;
}
.t-left {
width: 20%;
height: 20px;
}
.t-you {
width: 20%;
height: 20px;
}
.btn {
font-size: 18px;
font-weight: normal;
padding: 5px 10px;
border-radius: 5px;
background-color: #326ef6;
color: white;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB