Compare commits

..

No commits in common. "7e88642740ef20044f0e7ea3062a4974f7d04ee7" and "5813d64b0f8d97f13b21e17ae4758feef1a675cd" have entirely different histories.

9 changed files with 1086 additions and 1381 deletions

View File

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

View File

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

View File

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

View File

@ -28,24 +28,24 @@
</view> </view>
</view> --> </view> -->
<!-- <view class="threebox">--> <view class="threebox">
<!-- &lt;!&ndash; @click="gostatistics()" &ndash;&gt;--> <!-- @click="gostatistics()" -->
<!-- <view class="t-box">--> <view class="t-box">
<!-- <view class="xbai">合规合格</view>--> <view class="xbai">合规合格</view>
<!-- <view class="dbai">{{threenum.hgNum}}</view>--> <view class="dbai">{{threenum.hgNum}}</view>
<!-- </view>--> </view>
<!-- <view class="t-box">--> <view class="t-box">
<!-- <view class="xbai">当日订单</view>--> <view class="xbai">当日订单</view>
<!-- <view class="dbai">{{threenum.todayOrderNum}}</view>--> <view class="dbai">{{threenum.todayOrderNum}}</view>
<!-- </view>--> </view>
<!-- <view class="t-box">--> <view class="t-box">
<!-- <view class="xbai">双燃料合格</view>--> <view class="xbai">双燃料合格</view>
<!-- <view class="dbai">{{threenum.srlNum}}</view>--> <view class="dbai">{{threenum.srlNum}}</view>
<!-- </view>--> </view>
<!-- </view>--> </view>
<!-- <view class="threebox" @click="gocode"> <!-- <view class="threebox" @click="gocode">
扫一扫 扫一扫
</view> --> </view> -->
@ -110,16 +110,6 @@
</view> </view>
<text class="h-text">上门取车</text> <text class="h-text">上门取车</text>
</view> </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>
</view> </view>
@ -183,59 +173,24 @@
appAndPick: { appAndPick: {
appointNum: 0, appointNum: 0,
pickNum: 0 pickNum: 0
}, }
present: {},
} }
}, },
onLoad() { onLoad() {
this.baseUrl = this.$baseUrl this.baseUrl = this.$baseUrl
this.startScrolling(); this.startScrolling();
this.getPresent()
}, },
onShow() { onShow() {
this.getindex() this.getindex()
this.getAppointAndPickNum() this.getAppointAndPickNum()
this.getbottom() this.getbottom()
}, },
components: { components: {
tabBar, tabBar,
}, },
methods: { 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() { async getAppointAndPickNum() {
let res = await request({ let res = await request({
url: '/partnerOwn/partner/getAppointAndPickNum', url: '/partnerOwn/partner/getAppointAndPickNum',

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB