Merge branch 'hcb' of SH-Arbitrate/Arbitrate-Frontend into dev

This commit was merged in pull request #88.
This commit is contained in:
2023-10-20 17:27:07 +08:00
committed by Gitea
14 changed files with 718 additions and 245 deletions
@@ -113,4 +113,13 @@ export function selectSignSealUrl(data) {
method: 'post',
data: data
})
}
// 重新生成裁决书
export function regenerationDocument(data) {
return request({
url: '/adjudication/regenerationDocument',
method: 'post',
data: data
})
}
+32
View File
@@ -65,3 +65,35 @@ export function caseLogRecordList(data) {
params: data,
});
}
// 案件证据查询
export function getFileList(data) {
return request({
url: "/evidence/fileList",
method: "get",
params: data,
});
}
//案件状态进度
export function selectCaseProgress(data) {
return request({
url: "/caseApplication/selectCaseProgress",
method: "post",
data: data,
});
}
// 批量上传证据
export function batchUpload(data) {
return request({
url: "/evidence/batchUpload",
method: "post",
data: data,
});
}
// 修改开庭时间
export function updateHeardate(data) {
return request({
url: "/caseApplication/updateHeardate",
method: "post",
data: data,
});
}
@@ -1,12 +1,6 @@
<template>
<div>
<el-dialog
:title="title"
:visible="openDialog"
width="1000px"
@close="cancel"
:destroy-on-close="true"
>
<el-dialog :title="title" :visible="openDialog" width="1000px" @close="cancel" :destroy-on-close="true">
<el-descriptions title="案件信息" border style="margin-bottom: 30px">
<el-descriptions-item label="案件编号">{{
form.caseNum
@@ -33,112 +27,49 @@
form.claimLiquidDamag
}}</el-descriptions-item>
<el-descriptions-item label="申请人案件证据资料">
<p
@click="toFile(index, 2)"
v-for="(item, index) in applicantFileArr"
:key="index"
>
<p @click="toFile(index, 2)" v-for="(item, index) in applicantFileArr" :key="index">
<a href="#">{{ item }}</a>
</p>
</el-descriptions-item>
<el-descriptions-item label="被申请人案件证据资料">
<p
v-for="(item, index) in respondentFileArr"
:key="index"
@click="toFile(index, 6)"
>
<p v-for="(item, index) in respondentFileArr" :key="index" @click="toFile(index, 6)">
<a href="#">{{ item }}</a>
</p>
</el-descriptions-item>
<el-descriptions-item label="裁决书附件">
<p
v-for="(item, index) in awardFileArr"
:key="index"
@click="toFile(index, 3)"
>
<p v-for="(item, index) in awardFileArr" :key="index" @click="toFile(index, 3)">
<a href="#">{{ item }}</a>
</p>
</el-descriptions-item>
</el-descriptions>
<el-form
ref="form"
:model="arbitrateRecord"
label-width="300px"
label-position="left"
:rules="rules"
:disabled="flag == 3"
>
<el-form-item
label="经庭审质证,对各方提供的证据认定如下"
prop="evidenDetermi"
>
<el-input
type="textarea"
autosize
:disabled="flag == 2 || flag == 1"
placeholder="请输入内容"
v-model="arbitrateRecord.evidenDetermi"
/>
<el-form ref="form" :model="arbitrateRecord" label-width="300px" label-position="left" :rules="rules"
:disabled="flag == 3">
<el-form-item label="经庭审质证,对各方提供的证据认定如下" prop="evidenDetermi">
<el-input type="textarea" autosize :disabled="flag == 2" placeholder="请输入内容"
v-model="arbitrateRecord.evidenDetermi" />
</el-form-item>
<el-form-item
label="仲裁庭经审理查明(写明仲裁庭认定的事实)"
prop="factDetermi"
>
<el-input
type="textarea"
autosize
:disabled="flag == 2 || flag == 1"
placeholder="请输入内容"
v-model="arbitrateRecord.factDetermi"
/>
<el-form-item label="仲裁庭经审理查明(写明仲裁庭认定的事实)" prop="factDetermi">
<el-input type="textarea" autosize :disabled="flag == 2" placeholder="请输入内容"
v-model="arbitrateRecord.factDetermi" />
</el-form-item>
<el-form-item label="综上所述" prop="caseSketch">
<el-input
type="textarea"
autosize
:disabled="flag == 2 || flag == 1"
placeholder="请输入内容"
v-model="arbitrateRecord.caseSketch"
/>
<el-input type="textarea" autosize :disabled="flag == 2" placeholder="请输入内容"
v-model="arbitrateRecord.caseSketch" />
</el-form-item>
<el-form-item label="本庭认为" prop="arbitrateThink">
<el-input
type="textarea"
autosize
:disabled="flag == 2 || flag == 1"
placeholder="请输入内容"
v-model="arbitrateRecord.arbitrateThink"
/>
<el-input type="textarea" autosize :disabled="flag == 2" placeholder="请输入内容"
v-model="arbitrateRecord.arbitrateThink" />
</el-form-item>
<el-form-item label="裁决如下" prop="rulingFollows">
<el-input
type="textarea"
autosize
:disabled="flag == 2 || flag == 1"
placeholder="请输入内容"
v-model="arbitrateRecord.rulingFollows"
/>
<el-input type="textarea" autosize :disabled="flag == 2" placeholder="请输入内容"
v-model="arbitrateRecord.rulingFollows" />
</el-form-item>
<el-form-item label="核验裁决书意见:" prop="verificaOpinion">
<el-input
type="textarea"
autosize
:disabled="flag == 2"
placeholder="请输入内容"
v-model="arbitrateRecord.verificaOpinion"
/>
<el-input type="textarea" autosize :disabled="flag == 2" placeholder="请输入内容"
v-model="arbitrateRecord.verificaOpinion" />
</el-form-item>
<el-form-item
label="审核裁决书意见:"
prop="checkOpinion"
v-if="flag == 2"
>
<el-input
type="textarea"
autosize
placeholder="请输入内容"
v-model="arbitrateRecord.checkOpinion"
/>
<el-form-item label="审核裁决书意见:" prop="checkOpinion" v-if="flag == 2">
<el-input type="textarea" autosize placeholder="请输入内容" v-model="arbitrateRecord.checkOpinion" />
</el-form-item>
</el-form>
<!-- 画布 -->
@@ -147,22 +78,13 @@
<vue-esign ref="esign" :width="900" :height="300" bgColor="#ffffff" />
</div>
<!-- 清除画布 -->
<el-button v-if="flag == 3" type="info" @click="handleReset"
>清除画布</el-button
>
<el-button v-if="flag == 3" type="info" @click="handleReset">清除画布</el-button>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm(0)" v-if="flag == 1"
>提 交</el-button
>
<el-button type="primary" @click="submitForm(1)" v-if="flag == 2"
>同 意</el-button
>
<el-button type="danger" @click="submitForm(2)" v-if="flag == 2"
>驳 回</el-button
>
<el-button type="primary" @click="submitForm(3)" v-if="flag == 3"
>提 交</el-button
>
<el-button type="danger" @click="submitForm(4)" v-if="flag == 1">重新生成裁决书</el-button>
<el-button type="primary" @click="submitForm(0)" v-if="flag == 1">提 交</el-button>
<el-button type="primary" @click="submitForm(1)" v-if="flag == 2">同 意</el-button>
<el-button type="danger" @click="submitForm(2)" v-if="flag == 2">驳 回</el-button>
<el-button type="primary" @click="submitForm(3)" v-if="flag == 3">提 交</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
@@ -173,7 +95,8 @@
import {
verificationArbitrateRecord,
checkArbitrateRecord,
adjudicationSignature
adjudicationSignature,
regenerationDocument
} from "@/api/awardManagement/awardManagement";
export default {
props: ["openDialog", "title", "flag", "detailform"],
@@ -273,6 +196,8 @@ export default {
this.respondentFileArr.push(item.annexName);
this.respondenPathArr.push(item.annexPath);
} else if (item.annexType == 3) {
this.awardFileArr = [];
this.awardPathArr = [];
this.awardFileArr.push(item.annexName);
this.awardPathArr.push(item.annexPath);
}
@@ -314,6 +239,16 @@ export default {
this.$message("成功");
})
},
// 重新生成裁决书
getRegenerationDocument(params) {
regenerationDocument(params).then(res => {
console.log(res.data, "重新生成裁决书");
this.awardFileArr = [];
this.awardPathArr = [];
this.awardFileArr[0] = res.data.annexName;
this.awardPathArr[0] = res.data.annexPath;
})
},
submitForm(parms) {
this.$refs["form"].validate((valid) => {
if (valid) {
@@ -338,6 +273,11 @@ export default {
this.adjudicationSignatureFn({
id: this.form.id,
});
} else if (parms == 4) {
let paramsData = {};
paramsData.arbitrateRecord = this.arbitrateRecord;
paramsData.id = this.form.id
this.getRegenerationDocument(paramsData)
}
}
});
@@ -361,6 +301,7 @@ export default {
.esign {
border: 1px solid;
}
a {
color: blue;
}
+48 -37
View File
@@ -7,8 +7,8 @@
<el-form-item label="案件状态" prop="caseStatus">
<el-select v-model="queryParams.caseStatus" placeholder="请选择案件状态" clearable
@keyup.enter.native="handleQuery">
<el-option v-for="dict in dict.type.case_status" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
<el-option v-for="dict in caseStatus" :key="dict.dictSort" :label="dict.dictLabel"
:value="dict.dictSort"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="开庭日期" prop="hearDate">
@@ -35,28 +35,38 @@
<!-- 缴费人 -->
<!-- <el-table-column label="案件状态" align="center" prop="caseStatusName" /> -->
<el-table-column label="案件状态" align="center" prop="caseStatusName">
<template slot-scope="scope">
<el-tag type="success">{{ scope.row.caseStatusName }}</el-tag>
</template>
<template slot-scope="scope">
<el-tag type="success">{{ scope.row.caseStatusName }}</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-reading" v-if="scope.row.filearbitraUrl && scope.row.filearbitraUrl !== ''" @click="showModel(scope.row, 0)">查看裁决书</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 11 && checkPermi(['awardManagement:list:check'])" @click="showModel(scope.row, 1)"
>核查</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 12 && checkPermi(['awardManagement:list:confirmaward'])" @click="showModel(scope.row, 2)"
>确认裁决书</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 13 && checkPermi(['awardManagement:list:sign'])" @click="showModel(scope.row, 3)"
>签名</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 14 && checkPermi(['awardManagement:list:signprint'])" @click="showaffixModel(scope.row, 4)"
>用印申请</el-button>
<!-- v-if="scope.row.caseStatus > 15" -->
<el-button size="mini" type="text" icon="el-icon-truck" v-if="scope.row.caseStatus > 15 && checkPermi(['delivery:list:detail'])" @click="showDeliveryModel(scope.row, 4)">快递信息</el-button>
<!-- v-if="scope.row.caseStatus == 15" 送达裁决书 -->
<el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 15 && checkPermi(['awardManagement:list:sendaward'])" @click="showMailaward(scope.row)"
>送达裁决书</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 16 && checkPermi(['awardManagement:list:file'])" @click="showCasefilingModel(scope.row, 6)"
>案件归档</el-button>
<el-button size="mini" type="text" icon="el-icon-reading"
v-if="scope.row.filearbitraUrl && scope.row.filearbitraUrl !== ''"
@click="showModel(scope.row, 0)">查看裁决书</el-button>
<el-button size="mini" type="text" icon="el-icon-edit"
v-if="scope.row.caseStatus == 11 && checkPermi(['awardManagement:list:check'])"
@click="showModel(scope.row, 1)">核查</el-button>
<el-button size="mini" type="text" icon="el-icon-edit"
v-if="scope.row.caseStatus == 12 && checkPermi(['awardManagement:list:confirmaward'])"
@click="showModel(scope.row, 2)">确认裁决书</el-button>
<el-button size="mini" type="text" icon="el-icon-edit"
v-if="scope.row.caseStatus == 13 && checkPermi(['awardManagement:list:sign'])"
@click="showModel(scope.row, 3)">签名</el-button>
<el-button size="mini" type="text" icon="el-icon-edit"
v-if="scope.row.caseStatus == 14 && checkPermi(['awardManagement:list:signprint'])"
@click="showaffixModel(scope.row, 4)">用印申请</el-button>
<!-- v-if="scope.row.caseStatus > 15" -->
<el-button size="mini" type="text" icon="el-icon-truck"
v-if="scope.row.caseStatus > 15 && checkPermi(['delivery:list:detail'])"
@click="showDeliveryModel(scope.row, 4)">快递信息</el-button>
<!-- v-if="scope.row.caseStatus == 15" 送达裁决书 -->
<el-button size="mini" type="text" icon="el-icon-edit"
v-if="scope.row.caseStatus == 15 && checkPermi(['awardManagement:list:sendaward'])"
@click="showMailaward(scope.row)">送达裁决书</el-button>
<el-button size="mini" type="text" icon="el-icon-edit"
v-if="scope.row.caseStatus == 16 && checkPermi(['awardManagement:list:file'])"
@click="showCasefilingModel(scope.row, 6)">案件归档</el-button>
</template>
</el-table-column>
</el-table>
@@ -66,19 +76,11 @@
<paymentdetailsDialog :openDialog="openDialog" :detailform="detailform" :title="title" :flag="flag"
@cancelpaymentdetails="cancelpaymentdetails" @updataList="updataList"></paymentdetailsDialog>
<!-- 送达裁决书页面 -->
<mailawardDialog
:openMailawardDialog="openMailawardDialog"
@closeMailaward="closeMailaward"
@updataList="updataList"
:mailawardata="mailawardata"
></mailawardDialog>
<mailawardDialog :openMailawardDialog="openMailawardDialog" @closeMailaward="closeMailaward"
@updataList="updataList" :mailawardata="mailawardata"></mailawardDialog>
<!-- 快递信息页面 -->
<expressDeliveryDialog
:showDelivery="showDelivery"
:deliveryDataArr="deliveryDataArr"
@closeDeliveryModel="closeDeliveryModel"
:flagLoading="flagLoading"
></expressDeliveryDialog>
<expressDeliveryDialog :showDelivery="showDelivery" :deliveryDataArr="deliveryDataArr"
@closeDeliveryModel="closeDeliveryModel" :flagLoading="flagLoading"></expressDeliveryDialog>
</div>
</template>
@@ -96,7 +98,7 @@ import {
import paymentdetailsDialog from "./components/paymentdetailsDialog.vue";
import mailawardDialog from './components/MailawardDialog.vue';
import expressDeliveryDialog from './components/expressDeliveryDialog.vue';
import { getDicts } from '@/api/system/dict/data.js'
export default {
name: "paymentList",
dicts: ["case_status"],
@@ -107,6 +109,7 @@ export default {
pageNum: 1,
pageSize: 10,
},
caseStatus: [],
// 遮罩层
loading: false,
// 总条数
@@ -136,10 +139,17 @@ export default {
};
},
created() {
getDicts("case_status").then(res => {
this.caseStatus = res.data;
let params = this.$route.params.status;
if (params) {
this.queryParams.caseStatus = params;
}
this.queryParams.caseStatusList = [11, 12, 13, 14, 15, 16]
this.getList(this.queryParams);
})
// 裁决书列表不显示 生成裁决书
// this.queryParams.caseStatusList = [10, 11, 12, 13, 14, 15, 16]
this.queryParams.caseStatusList = [11, 12, 13, 14, 15, 16]
this.getList(this.queryParams);
},
methods: {
updataList() {
@@ -240,7 +250,8 @@ export default {
showCasefilingModel(row) {
this.$modal.confirm('是否确认立即进行案件扫描?').then(
function () {
return adjudicationCaseFile({ id: row.id })
// return adjudicationCaseFile({ id: row.id })
return adjudicationCaseFile({ ids:[row.id] })
}
).then(() => {
this.getList(this.queryParams);
+118 -5
View File
@@ -41,9 +41,17 @@
v-hasPermi="['caseManagement:list:add']">案件录入</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="batchApplication"
v-hasPermi="['caseManagement:list:import']">案件批量导入</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="operateClick(0)"
v-hasPermi="['caseManagement:list:submit']">案件批量提交</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="operateClick(1)"
v-hasPermi="['caseManagement:list:delete']">案件批量删除</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="operateClick(2)"
v-hasPermi="['caseManagement:list:check']">案件批量立案审查</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="dataList" style="width: 100%">
<el-table-column type="selection">
</el-table-column>
<el-table-column label="序号" type="index" align="center">
<template slot-scope="scope">
<span>{{
@@ -67,6 +75,7 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-zoom-in" @click="detailRow(scope.row)">详情</el-button>
<el-button size="mini" type="text" icon="el-icon-zoom-in" @click="viewProcess(scope.row)">查看流程</el-button>
<!-- 案件日志 -->
<el-button size="mini" type="text" icon="el-icon-notebook-2" @click="caselogRow(scope.row)">案件日志</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="editRow(scope.row)" v-if="scope.row.caseStatus == 0 &&
@@ -113,6 +122,14 @@
scope.row.arbitratMethod == 1 &&
checkPermi(['caseManagement:list:hear'])
">开庭审理</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus < 8 &&
checkPermi(['caseManagement:list:evidenceUpdate'])" @click="evidenceUpload(scope.row)">证据修改</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 31"
@click="timeUpdata(scope.row)">开庭时间</el-button>
<el-button size="mini" type="text" icon="el-icon-lock" v-if="checkPermi(['caseManagement:list:lock'])"
@click="lockClick(scope.row)">锁定</el-button>
<el-button size="mini" type="text" icon="el-icon-unlock" v-if="checkPermi(['caseManagement:list:lock'])"
@click="ulockClick(scope.row)">解锁</el-button>
<!-- <el-button
size="mini"
type="text"
@@ -165,6 +182,18 @@
<!-- 案件日志 -->
<caselogDialog :showcaseLog="showcaseLog" @cancelcaseLog="cancelcaseLog" :flagLoading="flagLoading"
:caselogDataArr="caselogDataArr"></caselogDialog>
<!-- 案件流程 -->
<viewprocessDialog :processVisable="processVisable" @cancelViewProcess="cancelViewProcess" :processData="processData">
</viewprocessDialog>
<!-- 证据修改 -->
<evidenceDialog :evidenceVisable="evidenceVisable" @cancelEvidence="cancelEvidence" :evidenceData="evidenceData">
</evidenceDialog>
<!-- 开庭时间修改 -->
<timeDialog :timeVisable="timeVisable" :getcaseApply="getcaseApply" @cancelTime="cancelTime" :timeData="timeData">
</timeDialog>
<!-- 批量操作弹窗 -->
<operateDialog :operateVisable="operateVisable" :getcaseApply="getcaseApply" :operateTitle="operateTitle" @cancelOperate="cancelOperate" :operateData="operateData">
</operateDialog>
</div>
</template>
@@ -179,7 +208,10 @@ import trialincourtDialog from "./components/trialincourtDialog.vue";
import payDialog from "./components/payDialog.vue";
import filingreviewDialog from "./components/filingreviewDialog.vue";
import caselogDialog from "./components/caselogDialog.vue";
import viewprocessDialog from "./components/viewprocessDialog.vue";
import evidenceDialog from './components/evidenceDialog.vue'
import timeDialog from './components/timeDialog.vue'
import operateDialog from './components/operateDialog.vue'
import { caseApplicationDetail } from "@/api/pay/pay";
import {
caseApply,
@@ -207,6 +239,10 @@ export default {
payDialog,
filingreviewDialog,
caselogDialog,
viewprocessDialog,
evidenceDialog,
timeDialog,
operateDialog
},
data() {
return {
@@ -221,7 +257,7 @@ export default {
queryParams: {
caseNum: undefined,
// caseStatusList: [0, 1, 2, 5, 6, 7, 8, 9, 10, 16],
caseStatusList: [0, 1, 2, 5, 6, 7, 8, 9, 10],
caseStatusList: [0, 1, 2, 5, 6, 7, 8, 9, 10, 31],
// hearDate: "",
caseStatus: null,
applicantName: "",
@@ -250,6 +286,9 @@ export default {
adjudicatename: {}, //书面仲裁(被)申请人姓名
showtrialincourt: false, //开庭审理
openPay: false, //缴费弹框
processVisable: false,//案件流程弹窗
evidenceVisable: false,//修改证据弹窗
evidenceData: {},
payTitle: "",
payForm: {},
caseAttachList: [], //案件质证资料
@@ -258,7 +297,13 @@ export default {
caselogDataArr: [],
options: [], //机构数据
payId: null,
caseStatus: []
caseStatus: [],
processData: {},
timeVisable: false,
timeData: {},
operateVisable:false,
operateData:{},
operateTitle:""
};
},
created() {
@@ -280,6 +325,68 @@ export default {
cancelBatch() {
this.openbatch = false;
},
cancelTime() {
this.timeVisable = false;
},
cancelOperate(){
this.operateVisable = false;
},
// 批量操作弹窗
operateClick(type){
this.operateVisable = true;
if(type == 0){
this.operateTitle = '批量提交'
}else if(type == 1){
this.operateTitle = '批量删除'
}else if(type == 2){
this.operateTitle = '批量立案申请'
}
},
// 修改开庭时间
timeUpdata(row) {
this.timeData = row;
this.timeVisable = true;
},
// 锁定案件
lockClick(row) {
this.$modal
.confirm("是否锁定案件")
.then(function () {
// return removeCaseApply({ id: row.id });
})
.then((res) => {
// this.getcaseApply(this.queryParams);
this.$modal.msgSuccess("锁定成功");
})
.catch(() => { });
},
// 解锁案件
ulockClick(row) {
this.$modal
.confirm("是否解锁锁案件")
.then(function () {
// return removeCaseApply({ id: row.id });
})
.then((res) => {
// this.getcaseApply(this.queryParams);
this.$modal.msgSuccess("解锁成功");
})
.catch(() => { });
},
// 修改证据
evidenceUpload(row) {
this.evidenceData = row;
this.evidenceVisable = true;
},
// 取消弹窗(证据弹窗)
cancelEvidence() {
this.evidenceVisable = false;
},
// 查看流程
viewProcess(row) {
this.processVisable = true;
this.processData = row;
},
// 机构发生变化
changeDept(data) {
this.queryParams.nameId = data[0];
@@ -388,6 +495,10 @@ export default {
cancelcaseLog() {
this.showcaseLog = false;
},
//关闭案件流程
cancelViewProcess() {
this.processVisable = false;
},
// 修改
editRow(row) {
this.flag = "1";
@@ -401,7 +512,8 @@ export default {
this.$modal
.confirm("是否提交立案申请?")
.then(function () {
return submitCaseApply({ id: row.id });
// return submitCaseApply({ id: row.id });
return submitCaseApply({ids: [row.id] });
})
.then(() => {
this.getcaseApply(this.queryParams);
@@ -549,7 +661,8 @@ export default {
this.$modal
.confirm("是否确认删除?")
.then(function () {
return removeCaseApply({ id: row.id });
// return removeCaseApply({ id: row.id });
return removeCaseApply({ids:[row.id]});
})
.then((res) => {
this.getcaseApply(this.queryParams);
@@ -56,11 +56,12 @@ export default {
submitForm(val) {
let paramsdata = {
opinion: val,
ids: [this.choosetrialmethodata.id]
};
let id = {
id: this.choosetrialmethodata.id,
};
arbitrateMethod(paramsdata, id)
// let id = {
// id: this.choosetrialmethodata.id,
// };
arbitrateMethod(paramsdata)
.then((res) => {
this.$modal.msgSuccess("提交成功");
this.cancel();
@@ -0,0 +1,130 @@
<template>
<div>
<el-dialog title="修改证据" :visible="evidenceVisable" @close="cancel" center :distroy-on-close="true">
<el-descriptions title="案件内容" :column="2" border>
<el-descriptions-item label="案件编号">{{ evidenceData.caseNum }}</el-descriptions-item>
<el-descriptions-item label="申请人(机构)">{{ evidenceData.applicantName }}</el-descriptions-item>
<el-descriptions-item label="案件标的">{{ evidenceData.caseSubjectAmount }}</el-descriptions-item>
<el-descriptions-item label="案件状态">
<el-tag size="small">{{ evidenceData.caseStatusName }}</el-tag>
</el-descriptions-item>
<el-descriptions-item label="仲裁方式">{{ evidenceData.arbitratMethodName }}</el-descriptions-item>
<el-descriptions-item label="申请人证据">
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in fileListData"
@click="preview(item.annexPath)" :key="index">
{{ item.annexName }}</div>
</el-descriptions-item>
</el-descriptions>
<div style="margin-top: 30px;">
<el-upload class="upload-demo" ref="upload" action="" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
:auto-upload="false" :http-request="uploadFile" :on-change="beforeAvatarUpload" multiple>
<el-button type="primary"><span>修改证据</span></el-button>
</el-upload>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
<el-button @click="upload" class="endbutton1"><span>点击上传</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getFileList, batchUpload } from '@/api/caseManagement/caseManagement'
import { getToken } from "@/utils/auth";
export default {
props: ["evidenceVisable", "evidenceData"],
data() {
return {
fileListData: [],
// 上传文件的列表
uploadFiles: [],
// 上传文件的个数
filesLength: 0,
info: {
annexType: 2,
},
// headers: {
// Authorization: "Bearer " + getToken(),
// },
};
},
watch: {
evidenceVisable(val) {
if (val) {
this.getEvidenceList({ caseAppliId: this.evidenceData.id, annexTypeList: "2" })
}
}
},
created() {
this.info.id = this.evidenceData.id;
},
methods: {
preview(data) {
window.open(
window.location.origin + "/API" + data,
"_blank"
);
},
UploadUrl() {
return window.location.origin + "/API/evidence/upload";
},
cancel() {
this.$emit("cancelEvidence");
},
// // 修改当前文件列表长度
// changeFileLength(file, fileList) {
// this.filesLength = fileList.length
// },
// 文件上传之前处理
beforeAvatarUpload(file) {
this.uploadFiles.push(file)
},
// 用户点击上传调用
async upload() {
// 触发上传 调用配置 :http-request="uploadFile"
// 即触发 uploadFile函数
this.uploadFile()
// await this.$refs.upload.submit();
// 上传完成后执行的操作 ...
},
// 该函数还是会被调用多次
// 每次param参数传入一个文件
uploadFile() {
// 将文件加入需要上传的文件列表
// 当uploadFiles长度等于用户需要上传的文件数时进行上传
// 创建FormData上传
if (this.uploadFiles.length === 0) {
this.$message.warning('请选取文件')
return
}
let fd = new FormData()
// 将全部文件添加至FormData中
this.uploadFiles.forEach(file => {
fd.append('file', file.raw)
})
// // 将附加信息添加至FormData
fd.append("id", this.evidenceData.id)
fd.append("annexType", this.info.annexType)
// 上传文件
batchUpload(fd).then(res => {
this.$modal.msgSuccess("上传成功");
this.cancel()
})
},
// 获取案件申请人证据列表
getEvidenceList(data) {
getFileList(data).then(res => {
this.fileListData = res.data;
})
}
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
</style>
@@ -43,7 +43,7 @@ export default {
submitForm() {
let paramsdata = {
agreeOrNotCheck: this.radio,
id: this.filingreviewdata.id,
ids: [this.filingreviewdata.id],
};
submitCaseApplicationCheck(paramsdata)
.then((res) => {
@@ -0,0 +1,87 @@
<template>
<div>
<el-dialog :title="operateTitle" :visible="operateVisable" @close="cancel" center :distroy-on-close="true">
<el-table v-loading="loading" :data="dataList" style="width: 100%">
<el-table-column type="selection">
</el-table-column>
<el-table-column label="序号" type="index" align="center">
<template slot-scope="scope">
<span>{{
(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
}}</span>
</template>
</el-table-column>
<el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
<el-table-column label="申请人(机构)" align="center" prop="applicantName" :show-overflow-tooltip="true" />
<el-table-column label="案件标的" align="center" prop="caseSubjectAmount" />
<el-table-column label="仲裁方式" align="center" prop="arbitratMethodName" :show-overflow-tooltip="true" />
<!-- 仲裁员 -->
<el-table-column label="仲裁员" align="center" prop="arbitratorName" />
<!-- 开庭日期 -->
<el-table-column label="开庭日期" align="center" prop="hearDate" :show-overflow-tooltip="true" />
<el-table-column label="案件状态" align="center" prop="caseStatusName">
<template slot-scope="scope">
<el-tag type="success">{{ scope.row.caseStatusName }}</el-tag>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getcaseApply(queryParams)" />
</el-dialog>
</div>
</template>
<script>
import {
caseApply,
} from "@/api/caseAccess/caseEntry";
export default {
props: ["operateVisable", "operateData", "operateTitle"],
data() {
return {
// 遮罩层
loading: true,
// 总条数
total: 0,
// 查询参数
queryParams: {
caseStatus: null,
pageNum: 1,
pageSize: 10,
},
// 表格数据
dataList: [],
};
},
watch: {
operateVisable(val) {
if (val) {
this.getcaseApply()
}
}
},
created() {
},
methods: {
cancel() {
this.$emit("cancelOperate");
},
/** 查询列表 */
getcaseApply(val) {
this.loading = true;
caseApply(val).then((response) => {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
});
},
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
</style>
@@ -0,0 +1,78 @@
<template>
<div>
<el-dialog title="修改开庭时间" :visible="timeVisable" @close="cancel" center :distroy-on-close="true">
<el-descriptions title="案件内容" :column="2" border>
<el-descriptions-item label="案件编号">{{ timeData.caseNum }}</el-descriptions-item>
<el-descriptions-item label="申请人(机构)">{{ timeData.applicantName }}</el-descriptions-item>
<el-descriptions-item label="案件标的">{{ timeData.caseSubjectAmount }}</el-descriptions-item>
<el-descriptions-item label="案件状态">
<el-tag size="small">{{ timeData.caseStatusName }}</el-tag>
</el-descriptions-item>
<el-descriptions-item label="仲裁方式">{{ timeData.arbitratMethodName }}</el-descriptions-item>
<el-descriptions-item label="开庭时间">
<el-date-picker v-model="loanStartDate" type="datetime" placeholder="开庭时间">
</el-date-picker>
</el-descriptions-item>
</el-descriptions>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
<el-button @click="submitTime" class="endbutton1"><span>提 交</span></el-button>
</div>
</el-dialog>
</div>
</template>
<!-- hearDate -->
<script>
import { updateHeardate } from '@/api/caseManagement/caseManagement'
import { getToken } from "@/utils/auth";
import moment from "moment";
export default {
props: ["timeVisable", "timeData"],
data() {
return {
loanStartDate: ""
};
},
watch: {
timeVisable(val) {
if (val) {
// this.getEvidenceList({ caseAppliId: this.timeData.id, annexTypeList: "2" })
this.loanStartDate = this.timeData.hearDate
}
}
},
created() {
},
methods: {
cancel() {
this.$emit("cancelTime");
},
// 提交时间
updateHeardateFn(data) {
updateHeardate(data).then(res => {
this.$modal.msgSuccess("修改成功");
this.cancel();
this.$emit("getcaseApply");
})
},
submitTime() {
this.loanStartDate = moment(
this.loanStartDate
).format("YYYY-MM-DD HH:mm:ss");
this.updateHeardateFn({
id: this.timeData.id,
hearDate: this.loanStartDate
})
}
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
</style>
@@ -121,6 +121,65 @@
</el-dialog>
<el-dialog title="生成庭审笔录" :visible="showArbitrationresults" @close="closeArbitrationresults" center>
<el-form ref="form2" :model="form2" label-width="150px">
<el-col :span="12">
<el-form-item label="申请人是否缺席:" prop="isAbsence" :rules="[
{
required: true,
message: '请输入',
},
]">
<el-radio-group v-model="form2.isAbsence">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人是否缺席:" prop="appliIsAbsen" :rules="[
{
required: true,
message: '请输入',
},
]">
<el-radio-group v-model="form2.appliIsAbsen">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人质证意见:" prop="responCrossOpin" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" v-model="form2.responCrossOpin" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人质证意见:" prop="applicaCrossOpin" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" v-model="form2.applicaCrossOpin" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="被申请人的答辩意见:" prop="responDefenOpini" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" v-model="form2.responDefenOpini" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="经庭审质证,对各方提供的证据认定如下:" prop="evidenDetermi" :rules="[
{
@@ -181,65 +240,6 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人是否缺席:" prop="isAbsence" :rules="[
{
required: true,
message: '请输入',
},
]">
<el-radio-group v-model="form2.isAbsence">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人是否缺席:" prop="appliIsAbsen" :rules="[
{
required: true,
message: '请输入',
},
]">
<el-radio-group v-model="form2.appliIsAbsen">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人质证意见:" prop="responCrossOpin" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" v-model="form2.responCrossOpin" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人质证意见:" prop="applicaCrossOpin" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" v-model="form2.applicaCrossOpin" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="被申请人的答辩意见:" prop="responDefenOpini" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" v-model="form2.responDefenOpini" placeholder="请输入" />
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="submitForm" class="endbutton">
@@ -0,0 +1,60 @@
<template>
<div>
<el-dialog title="案件流程" :visible="processVisable" @close="cancel" center :distroy-on-close="true">
<div>
<el-steps class="steps" :active="pageData.caseStatus">
<el-step :title="item.caseNodeName || item.content" v-for="(item,index) in pageData.allCasenode" :description="(item.createNickName || '') + (item.caseNodeTime || '')"></el-step>
</el-steps>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {selectCaseProgress} from '@/api/caseManagement/caseManagement'
export default {
props: ["processVisable","processData"],
data() {
return {
processId:null,
pageData:{}
};
},
watch: {
processVisable(val){
if(val){
this.processId = this.processData.id;
this.selectCaseProgressFn({id:this.processId});
}
}
},
methods: {
cancel() {
this.$emit("cancelViewProcess");
},
selectCaseProgressFn(data){
selectCaseProgress(data).then(res=>{
console.log(res,"请求成功");
this.pageData = res.data.data;
})
}
},
};
</script>
<style lang="scss" scoped>
.steps{
display: flex;
flex-wrap: wrap;
}
::v-deep .el-step{
// width: 150px;
flex-basis:25% !important;
margin-right: 20px;
margin-bottom: 20px;
}
</style>
+23 -18
View File
@@ -14,7 +14,7 @@
<div class="imgTitle">待立案申请</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyCheck']" @click="pushPage(1)">
<div class="cardList" v-hasPermi="['home:caseApplyCheck']" @click="pushPage(1)">
<div class="badge">{{ dataCount.caseApplyCheck }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -23,7 +23,7 @@
<div class="imgTitle">待立案审查</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyPay']" @click="pushPage(2)">
<div class="cardList" v-hasPermi="['home:caseApplyPay']" @click="pushPage(2)">
<div class="badge">{{ dataCount.caseApplyPay }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -32,7 +32,7 @@
<div class="imgTitle">待缴费</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyPayCheck']" @click="pushPage(3)">
<div class="cardList" v-hasPermi="['home:caseApplyPayCheck']" @click="pushPage(3)">
<div class="badge">{{ dataCount.caseApplyPayCheck }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -41,7 +41,7 @@
<div class="imgTitle">待缴费确认</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyEvidence']" @click="pushPage(4)">
<div class="cardList" v-hasPermi="['home:caseApplyEvidence']" @click="pushPage(4)">
<div class="badge">{{ dataCount.caseApplyEvidence }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -50,7 +50,7 @@
<div class="imgTitle">待案件质证</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyGroupCheck']" @click="pushPage(5)">
<div class="cardList" v-hasPermi="['home:caseApplyGroupCheck']" @click="pushPage(5)">
<div class="badge">{{ dataCount.caseApplyGroupCheck }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -59,7 +59,7 @@
<div class="imgTitle">待组庭审核</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyGroupConfirm']" @click="pushPage(6)">
<div class="cardList" v-hasPermi="['home:caseApplyGroupConfirm']" @click="pushPage(6)">
<div class="badge">{{ dataCount.caseApplyGroupConfirm }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -68,7 +68,7 @@
<div class="imgTitle">待组庭确定</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyArbitrateWay']" @click="pushPage(7)">
<div class="cardList" v-hasPermi="['home:caseApplyArbitrateWay']" @click="pushPage(7)">
<div class="badge">{{ dataCount.caseApplyArbitrateWay }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -77,7 +77,7 @@
<div class="imgTitle">待审核仲裁方式</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyGroupOnline']" @click="pushPage(8)">
<div class="cardList" v-hasPermi="['home:caseApplyGroupOnline']" @click="pushPage(8)">
<div class="badge">{{ dataCount.caseApplyGroupOnline }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -86,7 +86,7 @@
<div class="imgTitle">待开庭审理</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyGroupOffline']" @click="pushPage(9)">
<div class="cardList" v-hasPermi="['home:caseApplyGroupOffline']" @click="pushPage(9)">
<div class="badge">{{ dataCount.caseApplyGroupOffline }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -95,7 +95,7 @@
<div class="imgTitle">待书面审理</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyAwardCheck']" @click="pushPage(11)">
<div class="cardList" v-hasPermi="['home:caseApplyAwardCheck']" @click="pushPage(11)">
<div class="badge">{{ dataCount.caseApplyAwardCheck }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -104,7 +104,7 @@
<div class="imgTitle">待核验仲裁文书</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyAwardConfirm']" @click="pushPage(12)">
<div class="cardList" v-hasPermi="['home:caseApplyAwardConfirm']" @click="pushPage(12)">
<div class="badge">{{ dataCount.caseApplyAwardConfirm }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -113,7 +113,7 @@
<div class="imgTitle">待审核仲裁文书</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyAwardSignature']" @click="pushPage(13)">
<div class="cardList" v-hasPermi="['home:caseApplyAwardSignature']" @click="pushPage(13)">
<div class="badge">{{ dataCount.caseApplyAwardSign }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -122,7 +122,7 @@
<div class="imgTitle">待仲裁文书签名</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyAwardSignature']" @click="pushPage(14)">
<div class="cardList" v-hasPermi="['home:caseApplyAwardSignature']" @click="pushPage(14)">
<div class="badge">{{ dataCount.caseApplyAwardSeal }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -131,7 +131,7 @@
<div class="imgTitle">待仲裁文书用印</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyAwardSend']" @click="pushPage(15)">
<div class="cardList" v-hasPermi="['home:caseApplyAwardSend']" @click="pushPage(15)">
<div class="badge">{{ dataCount.caseApplyAwardSend }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -140,7 +140,7 @@
<div class="imgTitle">待仲裁文书送达</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyStored']" @click="pushPage(16)">
<div class="cardList" v-hasPermi="['home:caseApplyStored']" @click="pushPage(16)">
<div class="badge">{{ dataCount.caseApplyStored }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
@@ -174,8 +174,12 @@ export default {
})
},
// 点击代办案件按钮
pushPage(status){
this.$router.push({name:'CaseManagement/caseList',params: {status:status}})
pushPage(status) {
if (status < 10) {
this.$router.push({ name: 'CaseManagement/caseList', params: { status: status } })
} else if (status > 10) {
this.$router.push({ name: 'AwardManagement/listofAwards', params: { status: status } })
}
}
// goTarget(href) {
// window.open(href, "_blank");
@@ -261,5 +265,6 @@ export default {
}
}
}
}</style>
}
</style>
@@ -1,12 +1,6 @@
<template>
<div>
<el-dialog
:title="title"
:visible="openDialog"
@close="cancel"
:destroy-on-close="true"
center
>
<el-dialog :title="title" :visible="openDialog" @close="cancel" :destroy-on-close="true" center>
<el-form ref="form" :model="form" label-width="90px" :disabled="true">
<el-form-item label="案件编号:" prop="caseNum">
<el-input v-model="form.caseNum" placeholder="" />
@@ -33,15 +27,15 @@
{{ form.paymentStatusName }}
</el-tag>
</el-form-item>
<el-form-item label="缴费凭证:" prop="caseStatusName">
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.payOrderList" :key="index" @click="preview(item.annexPath)">
{{ item.annexName }}
</div>
<!-- <el-tag>{{ form.caseStatusName }}</el-tag> -->
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button
type="primary"
@click="submitForm"
v-if="flag == 0"
class="endbutton"
>确认已缴费</el-button
>
<el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton">确认已缴费</el-button>
<el-button @click="cancel" class="endbutton1">取 消</el-button>
</div>
</el-dialog>
@@ -56,6 +50,7 @@ export default {
return {
// key: value
form: {},
srcList: []
};
},
watch: {
@@ -63,11 +58,18 @@ export default {
handler(val) {
if (val) {
this.form = val;
}
},
},
},
methods: {
preview(data) {
window.open(
window.location.origin + "/API" + data,
"_blank"
);
},
// 确认缴费
submitForm() {
confirmPay({ id: this.form.id }).then((res) => {
@@ -94,11 +96,13 @@ export default {
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 124px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 32px;
height: 15px;
@@ -109,12 +113,14 @@ export default {
// line-height: 48px;
}
}
.endbutton1 {
width: 124px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;