Files
ba_web/src/views/backOfficeSystem/service/wokingReport/index.vue

1056 lines
28 KiB
Vue
Raw Normal View History

2025-09-22 09:01:41 +08:00
<template>
<div>
<div class="titleBox">
<div class="title">值班报备</div>
<div class="btnBox">
<el-button type="primary" @click="add">
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle">手动报备</span>
</el-button>
<el-button
:disabled="ids.length == 0"
typeof="danger"
@click="batchDelete"
>
<el-icon style="vertical-align: middle">
<Delete />
</el-icon>
<span style="vertical-align: middle">批量删除</span>
</el-button>
</div>
</div>
<div class="searchBox" ref="searchBox">
<el-form :model="listQuery" :inline="true">
<el-form-item label="值班部门">
<MOSTY.Department
width="180px"
clearable
filterable
v-model="listQuery.ssbmid"
/>
</el-form-item>
<el-form-item label="值班领导">
<el-input
v-model="listQuery.zbldXm"
placeholder="请输入值班领导姓名"
></el-input>
</el-form-item>
<el-form-item label="起止日期">
<el-date-picker
v-model="Qzrq"
type="daterange"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="upQzrq"
format="YYYY-MM-DD"
value-format="YYYY-M-D HH:mm:ss"
/>
</el-form-item>
<el-form-item>
<el-button @click="handleFilter"> 查询 </el-button>
<el-button @click="reset()"> 重置 </el-button>
</el-form-item>
</el-form>
</div>
<div class="tabBox">
<el-table
:data="tableData"
border
ref="dataTreeList"
@selection-change="handleSelectionChange"
row-key="id"
:tree-props="{ children: 'itemList', hasChildren: true }"
style="width: 100%"
:key="keyCount"
:height="tableHeight"
v-loading="loadingTable"
element-loading-background="rgba(0,0,0,0.3)"
element-loading-text="数据加载中。。"
>
<el-table-column type="selection" width="40" align="center" />
<el-table-column
type="index"
show-overflow-tooltip
align="center"
width="60px"
label="序号"
>
</el-table-column>
<el-table-column
prop="ssbm"
show-overflow-tooltip
align="center"
label="值班部门"
>
</el-table-column>
<el-table-column
prop="zbrq"
show-overflow-tooltip
align="center"
label="值班日期"
>
<template #default="{ row }">
<div>
{{ row.zbrq ? row.zbrq.substring(0, 10) : row.zbrq }}
</div>
</template>
</el-table-column>
<el-table-column
prop="kssj"
show-overflow-tooltip
align="center"
label="开始时间"
>
</el-table-column>
<el-table-column
prop="jssj"
show-overflow-tooltip
align="center"
label="结束时间"
>
</el-table-column>
<el-table-column
prop="zbldXm"
show-overflow-tooltip
align="center"
label="值班领导"
>
</el-table-column>
<el-table-column
prop="zbmj"
show-overflow-tooltip
align="center"
label="民警"
>
<template #default="{ row }">
<div>
<el-tag
class="mx-1"
v-for="item in row.zbmj"
v-show="item.jllx == '01'"
:key="item.id"
>{{ item.jlxm }}</el-tag
>
</div>
</template>
</el-table-column>
<el-table-column
prop="zbfj"
show-overflow-tooltip
align="center"
label="辅警"
>
<template #default="{ row }">
<div>
<el-tag
class="mx-1"
v-for="item in row.zbfj"
v-show="item.jllx == '02'"
:key="item.id"
>{{ item.jlxm }}</el-tag
>
</div>
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
fixed="right"
width="280px"
>
<template #default="{ row }">
<el-button @click="infDate(row)" size="small">详情</el-button>
<el-button
v-if="row.bbzt != 1 && row.bbzt != 0"
@click="update(row)"
size="small"
>修改</el-button
>
<el-button
v-if="row.bbzt != 0 && row.bbzt != 1"
size="small"
@click="baoBei(row, '0')"
>报备</el-button
>
<el-button
v-if="row.bbzt == 0"
size="small"
@click="baoBei(row, '1')"
>结束报备</el-button
>
<el-button type="danger" size="small" @click="delDictItem(row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<div class="fenye" :style="{ top: tableHeight + 'px' }">
<el-pagination
class="pagination"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="listQuery.pageCurrent"
:page-sizes="[10, 20, 50, 100]"
:page-size="listQuery.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
>
</el-pagination>
</div>
</div>
<div v-if="dialogFormVisible" class="dialog">
<div class="head_box">
<span class="title">{{ title }}</span>
<div>
<el-button
type="primary"
size="small"
@click="submit"
:loading="btnLoading"
>{{ infoLoad ? "开始报备" : "结束报备" }}</el-button
>
<el-button size="small" @click="close">关闭</el-button>
</div>
</div>
<el-form
ref="elform"
:model="form"
:rules="rules"
:inline="true"
label-position="top"
>
<el-form-item label="值班部门" prop="ssbmid">
<!-- <el-input
style="width: 100%"
v-model="form.ssbm"
v-if="chackipt"
@focus="chackipt = false"
></el-input> -->
<MOSTY.Department
width="180px"
clearable
filterable
v-model="form.ssbmid"
/>
</el-form-item>
<el-form-item label="值班日期" prop="zbrq">
<el-date-picker
:disabled="ischooseTime"
style="width: 100%"
v-model="form.zbrq"
placeholder="请选择"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-row class="main_contain">
<el-row class="zbbcList">
<div style="display: flex; flex-wrap: wrap">
<el-form-item label="值班领导">
<el-input
clearable
@click="handleChoose(index, i, 'zzld')"
style="width: 100%"
v-model="form.zbldXm"
placeholder="请选择"
></el-input>
</el-form-item>
<el-form-item prop="zbzhzXm" label="值班指挥长">
<el-input
clearable
@click="handleChoose(index, i, 'zhz')"
style="width: 100%"
v-model="form.zbzhzXm"
placeholder="请选择"
></el-input>
</el-form-item>
<el-form-item prop="zzzhzXm" label="专职指挥长">
<el-input
clearable
style="width: 100%"
v-model="form.zzzhzXm"
@click="handleChoose(index, i, 'zzzhz')"
placeholder="请选择"
></el-input>
</el-form-item>
<el-form-item prop="fzzbXm" label="法制值班">
<el-input
clearable
style="width: 100%"
v-model="form.fzzbXm"
@click="handleChoose(index, i, 'fzzb')"
placeholder="请选择"
></el-input>
</el-form-item>
<el-form-item prop="zbldDh" label="值班领导电话">
<el-input
style="width: 100%"
v-model="form.zbldDh"
placeholder="请填写值班电话"
></el-input>
</el-form-item>
<el-form-item prop="hh" label="呼号">
<el-input
style="width: 100%"
v-model="form.hh"
placeholder="请填写呼号"
></el-input>
</el-form-item>
<el-form-item
label="值班民警"
@click.stop="choosePolice('MJ', i, index)"
>
<div class="ipt">
<el-tag
v-for="(tag, index) in form.mjList"
:key="tag.id"
class="mx-1"
closable
:type="tag.type"
@close="handleClose(tag, 'mj', index)"
>
{{ tag.jlxm }}
</el-tag>
</div>
</el-form-item>
<el-form-item
label="值班辅警"
@click.stop="choosePolice('FJ', index, i)"
>
<div class="ipt">
<el-tag
v-for="(tag, index) in form.fjList"
:key="tag.id"
class="mx-1"
closable
:type="tag.type"
@close="handleClose(tag, 'fj', index)"
>
{{ tag.jlxm }}
</el-tag>
</div>
</el-form-item>
<el-form-item style="width: 100%" label="选择班次" prop="qwbcid">
<el-radio-group @change="setQwbc" v-model="form.qwbcid">
<el-radio
v-for="item in qwbaDataList"
:key="item.id"
:label="item.id"
>
<div class="tags" :style="{ borderColor: item.bcys }">
<span>{{ setHm(item.kssj) }}-{{ setHm(item.jssj) }}</span>
<span>{{ item.bcmc }}</span>
</div>
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item prop="kssj" label="开始时间">
<el-time-picker
style="width: 100%"
v-model="form.kssj"
format="HH时mm分"
@change="setZqsc"
value-format="HH:mm:ss"
placeholder="请选择开始时间"
/>
</el-form-item>
<el-form-item prop="jssj" label="结束时间">
<el-time-picker
style="width: 100%"
format="HH时mm分"
value-format="HH:mm:ss"
v-model="form.jssj"
@change="setZqsc"
placeholder="请选择结束时间"
/>
</el-form-item>
<el-form-item prop="zbsc" label="值班时长">
<el-input class="min" v-model="form.zbsc" style="width: 100%" />
</el-form-item>
<div class="zblistLine"></div>
</div>
</el-row>
</el-row>
<el-form-item label="备注" style="width: 100%">
<el-input
v-model="form.bz"
placeholder="请输入关键字"
show-word-limit
type="textarea"
/></el-form-item>
</el-form>
</div>
<!-- 值班领导\值班指挥长\专职指挥长/法制值班 -->
<ChooseUser
v-model="chooseUserVisible"
:LeaderType="LeaderType"
@choosedUsersLeader="hanlderChoose"
></ChooseUser>
<!-- 民警 辅警 -->
<template v-if="PoliceType == 'MJ'">
<MjLoad v-model="choosePoliceVisible" @choosedUsers="choosedPolice" />
</template>
<template v-else>
<FjLoad v-model="choosePoliceVisible" @choosedUsers="choosedPolice" />
</template>
<!-- <ChoosePolice
v-model="choosePoliceVisible"
:PoliceType="PoliceType"
@choosedPolice="choosedPolice"
>
</ChoosePolice> -->
</div>
</template>
<script setup>
import MjLoad from "@/components/MyComponents/ChooseJz/MjLoad.vue";
import FjLoad from "@/components/MyComponents/ChooseJz/FjLoad.vue";
import ChooseUser from "@/components/MyComponents/ChooseUser";
import ChoosePolice from "@/components/MyComponents/choosePolice";
import {
BbZbbb,
getZbbb,
addZbbb,
getZbbbInfo,
updateZbbb,
deletezBbb,
getMyBbInfoToday,
getMyZbpbToday
} from "@/api/service/workingReport.js";
import { getQwbc } from "@/api/service/shift.js";
import * as MOSTY from "@/components/MyComponents/index";
import { selectDeptPage } from "@/api/user-manage";
import { getqwdj } from "@/api/service/grade.js";
import { getJzList } from "@/api/basicsmanage/servicejz.js";
import { getKfd } from "@/api/basicsmanage/quick-rebate.js";
import { getXfqy } from "@/api/basicsmanage/patrolArea.js";
import {
ref,
reactive,
onMounted,
onUnmounted,
getCurrentInstance,
watch
} from "vue";
const { proxy } = getCurrentInstance();
const { D_ZDY_XFFWLX, D_BZ_ZZLX, D_BZ_WZLX, D_BZ_XLFS } = proxy.$dict(
"D_ZDY_XFFWLX",
"D_BZ_ZZLX",
"D_BZ_WZLX",
"D_BZ_XLFS"
);
const loadingTable = ref(false);
const tableData = ref([]); //表格数据
//搜索数据
const listQuery = ref({
pageCurrent: 1,
pageSize: 20
});
const dialogFormVisible = ref(false); //弹窗
const Qzrq = ref([]); // 搜索时间
const tableHeight = ref(); // 表格高度
const qwbaDataList = ref([]); //勤务班次数据
const form = ref({}); //表单数据
const chooseUserVisible = ref(false); //选择领导
const choosePoliceVisible = ref(false); //民警\辅警弹窗
const LeaderType = ref(""); //领导弹窗
const PoliceType = ref(""); //民警辅警弹窗
const InNum = reactive({
numl: "",
num2: ""
}); //下标
const chackAdd = ref(false); //修改或者增加判断
const btnLoading = ref(false); //按钮截流
const depList = ref([]); //部门数据
const infoLoad = ref(false); //显示新增按钮
const total = ref(0);
const searchBox = ref(null); // 搜索盒子
const ids = ref([]); //批量删除的ID
const chackipt = ref(true);
const keyCount = ref(0); //tabel组件刷新值
const title = ref("巡防报备新增");
const elform = ref(null);
//表单验证
const rules = ref({
zbrq: [
{
required: true,
message: "请选择开始日期",
trigger: "change"
}
],
ssbmid: [
{
required: true,
message: "请选择值班部门",
trigger: "change"
}
]
});
const nowYear = ref(new Date().getFullYear());
const nowmonth = ref(new Date().getMonth() + 1);
const nowDay = ref(new Date().getDate());
const nowtime = ref("");
// 获取当天的值班报备信息或排班信息 没有报备信息则查询排班
const ischooseTime = ref(false);
function getZbbbXx() {
getMyBbInfoToday().then((res) => {
if (res === null) {
getMyZbpbToday().then((respb) => {
if (respb != null) {
let time_month = nowmonth.value; //现在的月份
let time_day = nowDay.value; //现在的天数
if (nowmonth.value < 10) {
time_month = 0 + "" + nowmonth.value;
}
if (nowDay.value < 10) {
time_day = 0 + "" + nowDay.value;
}
nowtime.value = nowYear.value + "-" + time_month + "-" + time_day;
infoLoad.value = true;
form.value = respb;
form.value.ssbmdm = form.value.ssbmdm * 1;
form.value.mjList = JSON.parse(form.value.zbmj);
form.value.fjList = JSON.parse(form.value.zbfj);
form.value.zbrq = nowtime.value;
ischooseTime.value = true;
}
});
} else {
infoLoad.value = false;
form.value = res;
form.value.ssbmdm = form.value.ssbmdm * 1;
form.value.mjList = JSON.parse(form.value.zbmj);
form.value.fjList = JSON.parse(form.value.zbfj);
ischooseTime.value = false;
}
});
}
onMounted(() => {
handleFilter(); //查询
getQwbcData();
selectDeptPage({}).then((res) => {
depList.value = res.records;
}); //查询部门
tabHeightFn();
window.onresize = function () {
tabHeightFn();
};
});
//搜索
function handleFilter() {
listQuery.value.pageCurrent = 1;
getListData();
}
//获取列表数据
function getListData() {
loadingTable.value = true;
getZbbb(listQuery.value).then((res) => {
tableData.value = res.records ? res.records : [];
tableData.value.forEach((item) => {
item.zbmj = JSON.parse(item.zbmj);
item.zbfj = JSON.parse(item.zbfj);
});
total.value = res.total;
loadingTable.value = false;
}).catch(()=>{
loadingTable.value = false;
});
}
// 搜索时间处理
function upQzrq() {
if (Qzrq.value.length == 2) {
listQuery.value.startTime = Qzrq.value[0];
listQuery.value.endTime = Qzrq.value[1];
}
}
//新增
function add() {
getZbbbXx();
infoLoad.value = true;
chackAdd.value = true;
chackipt.value = false;
title.value = "值班报备新增";
dialogFormVisible.value = true;
}
// 获取班次
function getQwbcData() {
let params = {
pageCurrent: 1,
pageSize: 1000,
bclx: "01"
};
getQwbc(params).then((res) => {
qwbaDataList.value = res.records.map((item) => {
return {
bcys: item.bcys,
kssj: item.kssj,
jssj: item.jssj,
id: item.id,
zqsc: item.zqsc,
bcmc: item.bcmc
};
});
});
}
// 时分秒截取
function setHm(item) {
return item.split(":")[0] + ":" + item.split(":")[1];
}
// 选择领导menq
function handleChoose(num1, num2, type) {
InNum.num1 = num1;
InNum.num2 = num2;
LeaderType.value = type;
chooseUserVisible.value = true;
}
//选则民警、辅警
function choosePolice(type, num1, num2) {
InNum.num1 = num1;
InNum.num2 = num2;
PoliceType.value = type;
choosePoliceVisible.value = true;
}
//用户领导
function hanlderChoose(users) {
let type = users.type;
const user = users.userList;
if (type == "zzld") {
form.value.zbldXm = user[0].userName;
form.value.zbldId = user[0].id;
form.value.zbldDh = user[0].mobile;
form.value.zbldSfzh = user[0].idEntityCard;
}
if (type == "zhz") {
form.value.zbzhzXm = user[0].userName;
form.value.zbzhzDh = user[0].mobile;
form.value.zbzhzId = user[0].id;
form.value.zbzhzSfzh = user[0].idEntityCard;
}
if (type == "zzzhz") {
form.value.zzzhzXm = user[0].userName;
form.value.zzzhzDh = user[0].mobile;
form.value.zzzhzId = user[0].id;
form.value.zzzhzSfzh = user[0].idEntityCard;
}
if (type == "fzzb") {
form.value.fzzbXm = user[0].userName;
form.value.fzzbDh = user[0].mobile;
form.value.fzzbId = user[0].id;
form.value.fzzbSfzh = user[0].idEntityCard;
}
if (type == "MJ") {
form.value.mjList = user.map((item) => {
return {
jlId: item.id,
jllx: "01",
jlxm: item.userName,
sfzh: item.idEntityCard,
xbdm: item.sex,
lxdh: item.mobile
};
});
}
InNum.num1 = "";
InNum.num2 = "";
}
// 选择辅警\民警
function choosedPolice(police) {
if (PoliceType.value == "FJ") {
form.value.fjList = police.map((item) => {
return {
jlId: item.id,
jllx: "02",
jlxm: item.xm,
sfzh: item.sfzh,
xbdm: item.xbdm,
lxdh: item.lxdh
};
});
} else if (PoliceType.value == "MJ") {
form.value.mjList = police.map((item) => {
return {
jlId: item.ryid,
jllx: "01",
jlxm: item.xm,
sfzh: item.sfzh,
xbdm: item.xbdm,
lxdh: item.lxdh
};
});
}
InNum.num1 = "";
InNum.num2 = "";
}
// 点击班次选取
function setQwbc() {
qwbaDataList.value.forEach((v) => {
if (v.id == form.value.qwbcid) {
form.value.kssj = v.kssj;
form.value.jssj = v.jssj;
form.value.qwbcid = v.id;
form.value.zbsc = v.zqsc;
}
});
}
//提交
function submit() {
if (infoLoad.value) {
elform.value.validate((valid) => {
if (valid) {
let params = JSON.parse(JSON.stringify(form.value));
params.jlList = [];
if (form.value.fjList) {
params.jlList = params.jlList.concat(form.value.fjList);
}
if (form.value.mjList) {
params.jlList = params.jlList.concat(form.value.mjList);
}
params.bbzt = "02";
btnLoading.value = true;
if (chackAdd.value) {
addZbbb(params)
.then((res) => {
// proxy.$message({
// type: "success",
// message: "新增成功"
// });
BbZbbb({ id: res, bbzt: 0 }).then(() => {
proxy.$message({
type: "success",
message: `新增成功`
});
btnLoading.value = false;
close();
getListData();
});
})
.catch(() => {
btnLoading.value = false;
});
} else {
updateZbbb(params)
.then(() => {
proxy.$message({
type: "success",
message: "修改成功"
});
close();
btnLoading.value = false;
dialogFormVisible.value = false;
getListData();
})
.catch(() => {
btnLoading.value = false;
dialogFormVisible.value = false;
});
}
}
});
} else {
BbZbbb({ id: form.value.id, bbzt: 1 }).then(() => {
proxy.$message({
type: "success",
message: `结束报备成功`
});
btnLoading.value = false;
dialogFormVisible.value = false;
getListData();
});
}
}
//关闭弹窗
function close() {
dialogFormVisible.value = false;
form.value = {};
}
// 点击详情
function infDate(row) {
infoLoad.value = false;
title.value = "巡防报备详情";
getDetail(row);
}
//点击修改
function update(row) {
infoLoad.value = true;
title.value = "巡防报备修改";
getDetail(row);
}
// 获取详情信息数据
function getDetail(row) {
chackAdd.value = false;
getZbbbInfo(row.id).then((res) => {
form.value = res;
form.value.mjList = JSON.parse(res.zbmj);
form.value.fjList = JSON.parse(res.zbfj);
chackipt.value = true;
dialogFormVisible.value = true;
});
}
//巡防力量弹框相关
function handleClose(tag, type, index) {
if (type == "mj") {
form.value.mjList.splice(index, 1);
} else {
form.value.fjList.splice(index, 1);
}
}
//重置
function reset() {
Qzrq.value = [];
listQuery.value = {
pageCurrent: 1,
pageSize: 20
};
getListData();
}
//计算执勤时长
function setZqsc() {
if (form.value.jssj && form.value.kssj) {
let end = new Date();
end.setHours(form.value.jssj.split(":")[0]);
end.setMinutes(form.value.jssj.split(":")[1]);
let start = new Date();
start.setHours(form.value.kssj.split(":")[0]);
start.setMinutes(form.value.kssj.split(":")[1]);
let time;
if (end >= start) {
time = parseInt(end - start) / 1000 / 60;
} else {
end.setDate(end.getDate() + 1);
time = parseInt(end - start) / 1000 / 60;
}
form.value.zbsc = time;
}
}
//报备
function baoBei(row, zt) {
let text = "报备";
if (zt == 1) {
text = "结束报备";
const bbjssj = "";
} else {
text = "开始报备";
}
proxy
.$confirm(`是否${text}`)
.then(() => {
BbZbbb({ id: row.id, bbzt: zt }).then(() => {
proxy.$message({
type: "success",
message: `${text}成功`
});
getListData();
});
})
.catch(() => {
proxy.$message.info("已取消操作");
});
}
//删除
function delDictItem(row) {
proxy
.$confirm("确定删除报备数据?", "警告", { type: "warning" })
.then(() => {
deletezBbb([row.id]).then(() => {
proxy.$message({
type: "success",
message: "删除成功"
});
getListData();
});
})
.catch(() => {
proxy.$message.info("已取消");
});
}
// //批量数据
const handleSelectionChange = (val) => {
ids.value = [];
if (val) {
val.forEach((item) => {
ids.value.push(item.id);
});
}
};
// 删除方法
function batchDelete() {
proxy
.$confirm("确定批量删除报备数据?", "警告", { type: "warning" })
.then(() => {
deletezBbb(ids.value).then(() => {
proxy.$message({
type: "success",
message: "删除成功"
});
getListData();
});
})
.catch(() => {
proxy.$message.info("已取消");
});
}
/**
* pageSize 改变触发
*/
const handleSizeChange = (currentSize) => {
listQuery.value.pageSize = currentSize;
getListData();
};
/**
* 页码改变触发
*/
const handleCurrentChange = (currentPage) => {
listQuery.value.pageCurrent = currentPage;
getListData();
};
// 表格高度计算
const tabHeightFn = () => {
tableHeight.value = window.innerHeight - searchBox.value.offsetHeight - 240;
};
</script>
<style lang="scss" scoped>
@import "~@/assets/css/layout.scss";
@import "~@/assets/css/element-plus.scss";
.min {
position: relative;
}
.min::after {
position: absolute;
top: 0;
right: 12px;
bottom: 0;
content: "分钟";
}
.tongji {
line-height: 28px;
color: #81c3ed;
> span {
font-size: 24px;
}
}
.echarts {
height: 160px;
color: #81c3ed;
display: flex;
justify-content: space-between;
.item {
width: 23%;
}
}
.chooce-bc {
width: 100%;
min-height: 120px;
box-sizing: border-box;
display: flex;
.chooce-bc-top {
padding: 12px;
flex: 1;
border: 1px solid #03438b;
.bc-title {
width: 100%;
height: 30px;
font-size: 14px;
color: #fff;
display: flex;
justify-content: space-between;
align-items: center;
.colose {
cursor: pointer;
}
}
}
.choose-bc-bottom {
padding: 12px;
flex: 1;
border: 1px solid #03438b;
.bc-title {
width: 100%;
height: 30px;
font-size: 14px;
color: #fff;
}
}
.chooce-bc-btn-box {
height: 120px;
overflow: hidden;
overflow-y: auto;
.chooce-bc-btn-item {
float: left;
cursor: pointer;
margin-right: 7px;
margin-bottom: 4px;
line-height: 12px;
text-align: center;
font-size: 12px;
padding: 4px;
background: orange;
border-radius: 10px;
.item {
line-height: 14px;
}
}
}
}
.from_label {
width: 100%;
line-height: 2.5em;
text-indent: -68px;
font-size: 16px;
}
.ipt {
border: 1px solid rgb(7, 85, 188);
width: 100%;
line-height: 32px;
min-height: 32px;
border-radius: 4px;
}
.tags {
padding: 4px 12px;
border-radius: 4px;
color: #fff;
border: 2px solid;
display: flex;
flex-direction: column-reverse;
align-content: center;
align-items: center;
> span {
line-height: 1em;
font-size: 12px;
}
}
.el-radio {
margin-bottom: 14px;
}
.check_b {
.active {
background: linear-gradient(0deg, #1983e5, #1b67dd);
}
}
</style>