Commit f42b5af5 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 9336bc21 c4dcbba7
<template>
<div>
<a-drawer
title="报表管理"
:visible="Visible"
@close="onClose"
:maskClosable="false"
:destroyOnClose="true"
width="850"
>
<div class="search-box flex aic jcb mb20">
<div>
<a-space>
<a-button type="primary" @click="handleAdd"> 新增 </a-button>
<a-button type="danger" @click="handleDelAll"> 批量删除 </a-button>
</a-space>
</div>
<a-input-search
style="width: 300px"
placeholder="请输入报表名称搜索"
enter-button="搜索"
v-model="censusName"
allowClear
@search="onSearch"
/>
</div>
<!-- 表格 -->
<div class="table-content">
<a-table
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
:loading="loading"
bordered
:scroll="{ y: 460 }"
:columns="columns"
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
:data-source="tableData"
:rowKey="(record) => record.id"
>
<!-- 序号 -->
<span slot="num" slot-scope="text, record, index">{{
(current - 1) * size + index + 1
}}</span>
<!-- 统计类型 -->
<template slot="censusType" slot-scope="text">
{{ filterDict(text.censusType) }}
</template>
<!-- 是否开放 -->
<template slot="status" slot-scope="text">
<a-tag color="blue" v-if="text.status === 1"></a-tag>
<a-tag color="red" v-else></a-tag>
</template>
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space>
<a href="javascript:;" class="edit" @click="handleEdit(text)"
>编辑</a
>
<a href="javascript:;" class="delete" @click="handleDel(text.id)"
>删除</a
>
</a-space>
</template>
</a-table>
</div>
<!-- 新增报表 -->
<AddStatement
:addStatementVisile.sync="addStatementVisile"
:title="title"
:dict="dict"
ref="AddStatement"
@addSuccess="getStatementList"
></AddStatement>
</a-drawer>
</div>
</template>
<script>
import { getStatementList, delStatement } from "@/services/basicsetFun";
import AddStatement from "../modal/AddStatement.vue";
const columns = [
{
title: "序号",
dataIndex: "num",
width: "65px",
scopedSlots: {
customRender: "num",
},
},
{
title: "报表名称",
dataIndex: "censusName",
},
{
title: "统计类型",
scopedSlots: { customRender: "censusType" },
},
{
title: "访问路由",
dataIndex: "censusUrl",
},
{
title: "是否开放",
scopedSlots: { customRender: "status" },
},
{
title: "操作",
width: "100px",
scopedSlots: { customRender: "action" },
},
];
export default {
props: {
StatementVisible: {
type: Boolean,
require: true,
default: false,
},
},
components: {
AddStatement,
},
data() {
return {
columns,
modelInfo: {}, // 模块信息
loading: false,
total: 0,
size: 10,
current: 1,
pageSizeOptions: ["10", "30", "50", "100"],
selectedRowKeys: [],
tableData: [],
addStatementVisile: false,
title: "新增",
censusName: "",
dict: {}, // 字典
};
},
computed: {
Visible: {
get() {
return this.StatementVisible;
},
set(val) {
this.$emit("update:StatementVisible", val);
},
},
},
methods: {
// 获取模块信息
getModelInfo(modelInfo) {
this.modelInfo = modelInfo;
this.getStatementList();
},
// 获取报表列表
async getStatementList() {
this.loading = true;
let res = await getStatementList({
page: this.current,
size: this.size,
modelId: this.modelInfo.id,
censusName: `%${this.censusName}%`,
});
let { code, dict, data } = res.data;
this.dict = dict;
this.loading = false;
if (code == 1) {
if (!data.length && this.current > 1) {
this.current -= 1;
this.getStatementList();
}
this.tableData = data.data;
}
},
handleAdd() {
this.title = "新增报表";
this.addStatementVisile = true;
this.$refs.AddStatement.onAdd(this.modelInfo);
},
handleDelAll() {
if (!this.selectedRowKeys.length) {
this.$message.warning("请先勾选数据");
return;
}
let ids = this.selectedRowKeys.join(",");
this.handleDel(ids);
},
// 关闭抽屉
onClose() {
this.censusName = "";
this.selectedRowKeys = [];
this.Visible = false;
},
// 搜索
onSearch() {
this.current = 1;
this.getStatementList();
},
// 编辑
handleEdit(row) {
this.title = "编辑报表";
this.addStatementVisile = true;
this.$refs.AddStatement.onEdit(row, this.modelInfo);
},
// 翻页
handleChange(cur) {
this.current = cur;
this.getStatementList();
},
// 改变每页显示数量
showSizeChange(current, size) {
this.current = current;
this.size = size;
this.getStatementList();
},
// 删除
handleDel(id) {
let _this = this;
this.$confirm({
title: "系统提示",
content: "删除不可恢复,确定要删除吗?",
okText: "确定",
okType: "danger",
cancelText: "取消",
centered: true,
icon: "exclamation-circle",
maskClosable: true,
async onOk() {
let res = await delStatement({ id });
let { code, msg } = res.data;
if (code === 1) {
_this.$message.success(msg);
_this.getStatementList();
}
},
});
},
// 选中
onSelectChange(keys) {
this.selectedRowKeys = keys;
},
// 过滤列表数据
filterDict(dict) {
let str = "";
Object.keys(this.dict.censusType).forEach((keys) => {
if (dict == keys) {
str = this.dict.censusType[keys];
}
});
return str;
},
},
};
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
......@@ -77,12 +77,20 @@
</template>
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a href="javascript:;" class="edit" @click="handleEdit(text)"
>编辑</a
>
<a href="javascript:;" class="delete" @click="handleDel(text.id)"
>删除</a
>
<a-space>
<a
href="javascript:;"
class="primary"
@click="statementManage(text)"
>配置报表</a
>
<a href="javascript:;" class="edit" @click="handleEdit(text)"
>编辑</a
>
<a href="javascript:;" class="delete" @click="handleDel(text.id)"
>删除</a
>
</a-space>
</template>
</a-table>
</div>
......@@ -212,12 +220,18 @@
:previewVisible.sync="previewVisible"
></PrevieModal>
</a-modal>
<!-- 表别管理 -->
<StatementManage
ref="StatementManage"
:StatementVisible.sync="StatementVisible"
></StatementManage>
</div>
</template>
<script>
import { modelList, addMode, delMode } from "@/services/basicsetFun";
import PrevieModal from "@/components/PrevieModal.vue";
import StatementManage from "./components/StatementManage.vue";
const columns = [
{
title: "序号",
......@@ -262,13 +276,14 @@ const columns = [
},
{
title: "操作",
width: "120px",
width: "180px",
scopedSlots: { customRender: "action" },
},
];
export default {
components: {
PrevieModal,
StatementManage,
},
data() {
return {
......@@ -311,6 +326,8 @@ export default {
{ required: true, message: "模块图标不能为空", trigger: "change" },
],
},
StatementVisible: false,
modelInfo: {},
};
},
created() {
......@@ -485,6 +502,14 @@ export default {
// return false;
// }
// },
statementManage(row) {
let obj = {
id: row.id,
modelName: row.modelName,
};
this.StatementVisible = true;
this.$refs.StatementManage.getModelInfo(obj);
},
},
};
</script>
......@@ -508,7 +533,6 @@ export default {
// }
.edit {
color: #03d76f;
margin-right: 15px;
}
.delete {
color: #f94545;
......
<template>
<div>
<a-modal
v-model="Visible"
:maskClosable="false"
:title="title"
@cancel="handleClose"
:zIndex="1001"
destroyOnClose
>
<template slot="footer">
<a-button @click="handleReset">重置</a-button>
<a-button type="primary" @click="handleOk">确定</a-button>
</template>
<a-form-model
ref="ruleForm"
:model="formData"
:rules="rules"
:label-col="{ span: 4 }"
:wrapper-col="{ span: 20 }"
>
<a-form-model-item label="所属模块">
<a-input disabled :value="modelInfo.modelName" />
</a-form-model-item>
<a-form-model-item label="报表名称" prop="censusName">
<a-input v-model="formData.censusName" placeholder="请输入报表名称" />
</a-form-model-item>
<a-form-model-item label="报表路由" prop="censusUrl">
<a-input
v-model="formData.censusUrl"
placeholder="请输入报表访问路由"
/>
</a-form-model-item>
<a-form-model-item label="统计类型" prop="censusType">
<a-select v-model="formData.censusType" placeholder="请选择统计类型">
<a-select-option
v-for="(v, key) in dict.censusType"
:key="key"
:value="Number(key)"
>
{{ v }}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item label="是否开放" prop="status">
<YSwitch v-model="formData.status"></YSwitch>
</a-form-model-item>
</a-form-model>
</a-modal>
</div>
</template>
<script>
import { addStatement } from "@/services/basicsetFun";
import YSwitch from "@/components/yswitch/YSwitch.vue";
export default {
props: {
title: {
require: true,
type: String,
default: "",
},
addStatementVisile: {
type: Boolean,
require: true,
default: false,
},
dict: {
type: Object,
require: true,
default: () => {
return {};
},
},
},
components: {
YSwitch,
},
data() {
return {
modelInfo: {},
formData: {
modelId: "", // 模块id
censusName: "", // 报表名称
censusUrl: "", // 报表访问路由
censusType: undefined, // 统计类型
status: 1, // 状态(0:为开通,1:开通)
},
rules: {
censusName: [
{ required: true, message: "请输入报表名称", trigger: "blur" },
],
censusUrl: [
{ required: true, message: "请输入报表访问路由", trigger: "blur" },
],
censusType: [
{ required: true, message: "请选择统计类型", trigger: "change" },
],
},
};
},
computed: {
Visible: {
get() {
return this.addStatementVisile;
},
set(val) {
this.$emit("update:addStatementVisile", val);
},
},
},
methods: {
// 新增
onAdd(modelInfo) {
Object.assign(this.formData, this.$options.data().formData);
this.formData.id && this.$delete(this.formData, "id");
this.modelInfo = modelInfo;
this.formData.modelId = modelInfo.id;
},
// 编辑
onEdit(data, modelInfo) {
this.modelInfo = modelInfo;
this.formData = { ...data };
},
// 关闭弹窗
handleClose() {
this.$refs.ruleForm.resetFields();
this.Visible = false;
},
// 保存
handleOk() {
this.$refs.ruleForm.validate(async (valid) => {
if (valid) {
let res = await addStatement(this.formData);
let { code, msg } = res.data;
if (code === 1) {
this.$message.success(msg);
this.$emit("addSuccess");
this.handleClose();
}
}
});
},
// 重置
handleReset() {
this.$refs.ruleForm.resetFields();
},
},
};
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
......@@ -17,6 +17,9 @@ module.exports = {
info: `${BASE_URL}/base/model/info`,
save: `${BASE_URL}/base/model/save`,
delete: `${BASE_URL}/base/model/delete`,
saveStatement: `${BASE_URL}/base/model/census/save`,
statementList: `${BASE_URL}/base/model/census/list`,
delStatement: `${BASE_URL}/base/model/census/delete`,
},
// 区域
area: {
......
......@@ -59,3 +59,15 @@ export async function addMode(data) {
export async function delMode(data) {
return request(model.delete, METHOD.GET, data);
}
// 保存模块报表
export async function addStatement(data) {
return request(model.saveStatement, METHOD.POST, data);
}
// 模块报表列表
export async function getStatementList(data) {
return request(model.statementList, METHOD.POST, data);
}
// 删除报表
export async function delStatement(data) {
return request(model.delStatement, METHOD.GET, data);
}
// 导出表格数据
const ExportJsonExcel = require("js-export-excel");
/**
* 导出excel
* @param {导出的表头名信息} tHeader
* @param {导出的表头字段名,需要导出表格字段名} filterVal
* @param {导出数据} list
* @param {导出文件名称} fileName
*/
export const export2Excel = (tHeader, filterVal, list, fileName) => {
let option = {
fileName,
datas: [
{
sheetData: list,
sheetName: "sheet",
sheetFilter: filterVal,
sheetHeader: tHeader,
// columnWidths: columnWidths, // 列宽
},
],
};
let toExcel = new ExportJsonExcel(option);
toExcel.saveExcel(); //保存
};
......@@ -2,18 +2,30 @@
<div class="callRecord-Container">
<div class="header_box">
<div>
<a-button type="success" @click="toexportTable">
<a-button
:loading="btnLoading"
type="success"
@click="handleExportTable"
>
<span>{{ tableSelectedRows.length ? "导出" : "导出全部" }}</span>
</a-button>
<b>累计发送短信量:<i>{{allCount}}</i></b>
<b
>累计发送短信量:<i>{{ allCount }}</i></b
>
</div>
<span>
<a-space>
<a-select :value="nowSite" @change="changeSite">
<a-select-option v-for="item in siteList" :key="item.value" :value="item.value"> {{item.label}} </a-select-option>
<a-select-option
v-for="item in siteList"
:key="item.value"
:value="item.value"
>
{{ item.label }}
</a-select-option>
</a-select>
<a-button type="primary" @click="togetSMSList()">搜索</a-button>
<a-button type="primary" @click="handleSearch">搜索</a-button>
</a-space>
</span>
</div>
......@@ -33,8 +45,12 @@
:columns="tableHeaders"
:dataSource="tableSourceData"
>
<!-- 序号 -->
<span slot="index" slot-scope="text, record, index">{{
(tablePagination.current - 1) * tablePagination.pageSize + index + 1
}}</span>
<template slot="operation" slot-scope="text, record, index">
<a-button type="link" @click="gotoSMSSystem()">查看明细</a-button>
<a-button type="link" @click="gotoSMSSystem">查看明细</a-button>
</template>
</a-table>
</div>
......@@ -43,20 +59,22 @@
<script>
import table from "@/mixins/table";
import {getSMSList} from "@/api/dataAdmin"
import { export2Excel } from "@/utils/js/exportExcel";
import { getSMSList } from "@/api/dataAdmin";
export default {
mixins: [table],
name: "PortalAdminVuePickUpRecord",
data() {
return {
btnLoading: false,
tableHeaders: [
{
title: "序号",
dataIndex: "index",
width: "60px",
key: "index",
align: "center",
customRender: (text, record, index) => `${index + 1}`,
scopedSlots: {
customRender: "index",
},
},
{
title: "月度时间",
......@@ -86,99 +104,120 @@ export default {
},
],
searchName: undefined,
nowSite:null,
siteList:[],
allCount:0
nowSite: null,
siteList: [],
allCount: 0,
tableSelectedKeys: [],
tableSelectedRows: [],
tHeader: [
// 导出的表头名信息
"月度时间",
"发送量",
"账单生成时间",
],
filterVal: [
// 导出的表头字段名,需要导出表格字段名
"month",
"send_num",
"update_time",
],
};
},
components: {},
mounted() {
this.setMoment();
this.getSiteData()
this.togetSMSList()
this.getSiteData();
this.togetSMSList();
},
methods: {
//导出
toexportTable() {
let tableData = [];
if (this.tableSelectedRows.length == 0) {
// 获取表信息
getSMSList({
siteid:this.nowSite,
page:1,
size:-1,
}).then((res)=>{
const {code,data} = res
if(code==1){
tableData = JSON.parse(JSON.stringify(data.list.data));
let tableColumns = JSON.parse(JSON.stringify(this.tableHeaders));
let newTableData = tableData.map(item => {
let obj = {};
for (let key in item) {
obj[key] = item[key];
}
return obj;
})
let exprotExcelName = `${this.nowDay} / ${this.nowTime} / ${this.$route['meta']['title'] || '报表信息统计'}`;
this.exportExcel(tableColumns, newTableData, exprotExcelName);
}
})
} else {
tableData = JSON.parse(JSON.stringify(this.tableSelectedRows));
let tableColumns = JSON.parse(JSON.stringify(this.tableHeaders));
let newTableData = tableData.map(item => {
let obj = {};
for (let key in item) {
obj[key] = item[key];
}
return obj;
})
let exprotExcelName = `${this.nowDay} / ${this.nowTime} / ${this.$route['meta']['title'] || '报表信息统计'}`;
this.exportExcel(tableColumns, newTableData, exprotExcelName);
}
},
gotoSMSSystem(){
window.location.href="http://sms.wx3.com.cn/admin"
gotoSMSSystem() {
window.open("http://sms.wx3.com.cn/admin", "_blank");
},
changeSite(e){
this.nowSite = e
changeSite(e) {
this.nowSite = e;
},
// 获取当前站点和站点列表
getSiteData(){
this.nowSite = JSON.parse(localStorage.getItem('siteId'))
this.siteList = []
JSON.parse(localStorage.getItem('siteList')).forEach(item => {
getSiteData() {
this.nowSite = JSON.parse(localStorage.getItem("siteId"));
this.siteList = [];
JSON.parse(localStorage.getItem("siteList")).forEach((item) => {
this.siteList.push({
label:item.siteName,
value:item.id
})
label: item.siteName,
value: item.id,
});
});
},
togetSMSList(){
// 搜索
handleSearch() {
this.tablePagination = 1;
this.tableSelectedKeys = [];
this.tableSelectedRows = [];
this.togetSMSList();
},
togetSMSList() {
// 获取表信息
getSMSList({
siteid:this.nowSite,
page:this.tablePagination.current,
size:this.tablePagination.pageSize,
}).then((res)=>{
const {code,data} = res
if(code==1){
siteid: this.nowSite,
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
console.log(res);
this.tableSourceData = data.list.data
this.allCount=data.all_num
this.tablePagination.total = data.list.total
this.tableSourceData = data.list.data;
this.allCount = data.all_num;
this.tablePagination.total = data.list.total;
}
})
}
});
},
// 选中
onSelectChange(keys, rows) {
this.tableSelectedKeys = keys;
const res = new Map();
this.tableSelectedRows = [...this.tableSelectedRows, ...rows]
.filter((v) => {
return !res.has(v.id) && res.set(v.id, 1);
})
.filter((v) => {
return this.tableSelectedKeys.some((val) => v.id == val);
});
},
// 导出
async handleExportTable() {
this.btnLoading = true;
if (this.tableSelectedKeys.length && this.tableSelectedRows.length) {
export2Excel(
this.tHeader,
this.filterVal,
this.tableSelectedRows,
"短信记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
} else {
getSMSList({
siteid: this.nowSite,
page: 1,
size: -1,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
if (!data.list.data.length) return;
export2Excel(
this.tHeader,
this.filterVal,
data.list.data,
"短信记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
}
});
}
this.btnLoading = false;
},
},
watch: {
tablePagination() {
this.togetSMSList();
},
},
watch:{
tablePagination(){
this.togetSMSList()
}
}
};
</script>
......@@ -187,29 +226,28 @@ export default {
display: block;
}
.header_box {
padding-bottom: 1rem;
.header_box {
padding-bottom: 1rem;
display: flex;
justify-content: space-between;
align-items: center;
& > div {
display: flex;
justify-content: space-between;
justify-content: flex-start;
align-items: center;
& > div {
display: flex;
justify-content: flex-start;
align-items: center;
b {
b {
font-style: normal;
font-weight: unset;
font-size: 16px;
margin-left: 20px;
i {
color: #0595fd;
font-style: normal;
font-weight: unset;
font-size: 16px;
margin-left: 20px;
i {
color: #0595fd;
font-style: normal;
}
}
}
}
}
</style>
<template>
<div class="handling" ref="handling">
<a-drawer :destroyOnClose="true" :title="modalInfo.title" :width="modalInfo.width" :visible="modalInfo.visible"
@close="modalClose" @getContainer="() => $refs.handling">
<a-drawer
:destroyOnClose="true"
:title="modalInfo.title"
:width="modalInfo.width"
:visible="modalInfo.visible"
@close="modalClose"
@getContainer="() => $refs.handling"
>
<div class="headerInfo">
<!-- 头部耗时部分 -->
<p>
<span>总耗时:{{ dataList.alltime || "--" }}
<i v-show="dataList.alltime && compareTime(dataList.p_alltime,dataList.alltime)" class="fa fa-long-arrow-down"></i>
<span
>总耗时:{{ dataList.alltime || "--" }}
<i
v-show="
dataList.alltime &&
compareTime(dataList.p_alltime, dataList.alltime)
"
class="fa fa-long-arrow-down"
></i>
</span>
<span>等待时间:{{ dataList.waittime || "--" }}
<i v-show="dataList.waittime && compareTime(dataList.p_waittime,dataList.waittime)" class="fa fa-long-arrow-down"></i>
<span
>等待时间:{{ dataList.waittime || "--" }}
<i
v-show="
dataList.waittime &&
compareTime(dataList.p_waittime, dataList.waittime)
"
class="fa fa-long-arrow-down"
></i>
</span>
<span>办理时间:{{ dataList.bltime || "--" }}
<i v-show="dataList.bltime && compareTime(dataList.p_bltime , dataList.bltime)" class="fa fa-long-arrow-down"></i>
<span
>办理时间:{{ dataList.bltime || "--" }}
<i
v-show="
dataList.bltime &&
compareTime(dataList.p_bltime, dataList.bltime)
"
class="fa fa-long-arrow-down"
></i>
</span>
</p>
<p>
......@@ -22,7 +49,12 @@
</p>
</div>
<div :class="returnScolor">{{ $codeMap.queueState[dataList.style] }}</div>
<a-steps direction="vertical" size="small" :current="approveLs.length" class="steps_box">
<a-steps
direction="vertical"
size="small"
:current="approveLs.length"
class="steps_box"
>
<a-step :disabled="true" class="step_box">
<div class="icon_box" slot="icon"></div>
<div class="title_box" slot="title">
......@@ -30,12 +62,27 @@
</div>
<div class="description_box" slot="description">
<div class="details">
<span><i class="lable">申报人:</i>{{ dataList.people_name || "--" }}</span>
<span><i class="lable">取号时间:</i>{{ dataList.taketime || "--" }}</span>
<span><i class="lable">排队编码:</i>{{ dataList.flownum || "--" }}</span>
<span><i class="lable">取号方式:</i>{{ $codeMap.takeNumWay[dataList.wy_signin] || "--" }}</span>
<span
><i class="lable">申报人:</i
>{{ dataList.people_name || "--" }}</span
>
<span
><i class="lable">取号时间:</i
>{{ dataList.taketime || "--" }}</span
>
<span
><i class="lable">排队编码:</i
>{{ dataList.flownum || "--" }}</span
>
<span
><i class="lable">取号方式:</i
>{{ $codeMap.takeNumWay[dataList.wy_signin] || "--" }}</span
>
<span><i class="lable">注册方式:</i>{{ "--" }}</span>
<span><i class="lable">取号设备:</i>{{ dataList.take_name || "--" }}</span>
<span
><i class="lable">取号设备:</i
>{{ dataList.take_name || "--" }}</span
>
</div>
</div>
</a-step>
......@@ -46,10 +93,22 @@
</div>
<div class="description_box" slot="description">
<div class="details">
<span><i class="lable">办理窗口:</i>{{ dataList.window_name || "--" }}</span>
<span><i class="lable">办理开始时间:</i>{{ dataList.calltime || "--" }}</span>
<span><i class="lable">工作人员:</i>{{ dataList.workman_name || "--" }}</span>
<span><i class="lable">叫号设备:</i>{{ dataList.window_fromnum || "--" }}</span>
<span
><i class="lable">办理窗口:</i
>{{ dataList.window_name || "--" }}</span
>
<span
><i class="lable">办理开始时间:</i
>{{ dataList.calltime || "--" }}</span
>
<span
><i class="lable">工作人员:</i
>{{ dataList.workman_name || "--" }}</span
>
<span
><i class="lable">叫号设备:</i
>{{ dataList.window_fromnum || "--" }}</span
>
</div>
</div>
</a-step>
......@@ -60,18 +119,19 @@
</div>
<div class="description_box" slot="description">
<div class="details">
<span><i class="lable">办理结束时间:</i>{{ dataList.endtime || "--" }}</span>
<span
><i class="lable">办理结束时间:</i
>{{ dataList.endtime || "--" }}</span
>
</div>
</div>
</a-step>
</a-steps>
</a-drawer>
</div>
</div>
</template>
<script>
export default {
name: "PortalAdminVueHandlingDetails",
......@@ -81,8 +141,8 @@ export default {
modalInfo: {
confirmLoading: false,
visible: false,
title: '用户信息',
width: '38%',
title: "用户信息",
width: "38%",
},
dataList: [],
approveLs: [
......@@ -116,8 +176,7 @@ export default {
}
},
},
mounted() {
},
mounted() {},
methods: {
modalClose() {
......@@ -132,18 +191,19 @@ export default {
},
// 转换时间为秒
timeToSec(time) {
if (time !== null && time !== undefined) {
if (time) {
var s = "";
if (time.includes("分钟") && time.includes("")) {
var min = time.split("分钟")[0];
var sec = time.split("分钟")[1].split("")[0];
s = Number(min * 60) + Number(sec);
return s;
}else{
sec = time.split("")[0]
} else {
sec = time.split("")[0];
return sec;
}
} else {
return 0;
}
},
},
......@@ -253,7 +313,7 @@ export default {
display: flex;
justify-content: center;
align-items: center;
color: #BDBAB4;
color: #bdbab4;
}
.state1 {
......@@ -262,7 +322,7 @@ export default {
top: 150px;
width: 85px;
height: 85px;
border: 5px solid #FCE2D9;
border: 5px solid #fce2d9;
border-radius: 50%;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
......@@ -278,7 +338,7 @@ export default {
top: 150px;
width: 85px;
height: 85px;
border: 5px solid #D9F1E4;
border: 5px solid #d9f1e4;
border-radius: 50%;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
......@@ -315,7 +375,7 @@ export default {
}
/deep/.ant-steps-item {
&+.ant-steps-item {
& + .ant-steps-item {
margin-top: 25px !important;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment