|
@@ -7,7 +7,7 @@
|
|
|
<el-col :span="8">
|
|
|
<div class="searchBox">
|
|
|
<div class="searchTitle">性质:</div>
|
|
|
- <el-select v-model="getApiData.nature" placeholder="请选择..">
|
|
|
+ <el-select v-model="getApiData.nature" placeholder="请选择.." @change="getNatureChildren">
|
|
|
<el-option
|
|
|
v-for="item in natureData"
|
|
|
:key="item.value"
|
|
@@ -21,24 +21,19 @@
|
|
|
<div class="searchBox">
|
|
|
<div class="searchTitle">性质进度:</div>
|
|
|
<el-select v-model="getApiData.nature_level" placeholder="请选择">
|
|
|
- <el-option-group
|
|
|
- v-for="group in netureLevelData"
|
|
|
- :key="group.id"
|
|
|
- :label="group.type_name">
|
|
|
- <el-option
|
|
|
- v-for="item in group.children"
|
|
|
- :key="item.id"
|
|
|
- :label="item.type_name"
|
|
|
- :value="item.id">
|
|
|
- </el-option>
|
|
|
- </el-option-group>
|
|
|
+ <el-option
|
|
|
+ v-for="item in netureLevelData"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<div class="searchBox">
|
|
|
<div class="searchTitle">类型:</div>
|
|
|
- <el-select v-model="getApiData.type" placeholder="请选择..">
|
|
|
+ <el-select v-model="getApiData.type" placeholder="请选择.." @change="getTypeChildren">
|
|
|
<el-option
|
|
|
v-for="item in typeData"
|
|
|
:key="item.value"
|
|
@@ -56,17 +51,12 @@
|
|
|
<div class="searchBox">
|
|
|
<div class="searchTitle">类型进度:</div>
|
|
|
<el-select v-model="getApiData.type_level" placeholder="请选择">
|
|
|
- <el-option-group
|
|
|
- v-for="group in typeLevelData"
|
|
|
- :key="group.id"
|
|
|
- :label="group.type_name">
|
|
|
- <el-option
|
|
|
- v-for="item in group.children"
|
|
|
- :key="item.id"
|
|
|
- :label="item.type_name"
|
|
|
- :value="item.id">
|
|
|
- </el-option>
|
|
|
- </el-option-group>
|
|
|
+ <el-option
|
|
|
+ v-for="item in typeLevelData"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</el-col>
|
|
@@ -107,6 +97,26 @@
|
|
|
<el-table-column prop="nature_level_name" label="进度"></el-table-column>
|
|
|
<el-table-column prop="type_name" label="类型"></el-table-column>
|
|
|
<el-table-column prop="type_level_name" label="类型说明"></el-table-column>
|
|
|
+ <el-table-column label="判决书">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.judgment ? '有' : '无' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="录音录像">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.audio_and_video ? '有' : '无' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="合同">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.contract ? '有' : '无' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="资质">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.qualifications ? '有' : '无' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<!-- <el-table-column prop="judgment" label="判决书"></el-table-column>
|
|
|
<el-table-column prop="audio_and_video" label="录音录像"></el-table-column>
|
|
|
<el-table-column prop="contract" label="合同"></el-table-column>
|
|
@@ -132,7 +142,7 @@
|
|
|
<div class="alignBox">
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :page-size="10" layout="total, prev, pager, next, jumper" :total="allCount"></el-pagination>
|
|
|
+ <el-pagination :current-page="getApiData.page" @size-change="handleSizeChange" @current-change="handleCurrentChange" :page-size="10" layout="total, prev, pager, next, jumper" :total="allCount"></el-pagination>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
@@ -148,7 +158,7 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="性质:" :label-width="formLabelWidth" prop="nature" class="custom-align-right">
|
|
|
<div class="formLabelFloatBox">
|
|
|
- <el-select v-model="form.nature" placeholder="请选择..">
|
|
|
+ <el-select v-model="form.nature" placeholder="请选择.." @change="getWindowNatureChildren">
|
|
|
<el-option
|
|
|
v-for="item in windowNatureData"
|
|
|
:key="item.value"
|
|
@@ -160,21 +170,16 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="性质进度:" :label-width="formLabelWidth" prop="nature_level" class="custom-align-right">
|
|
|
<el-select v-model="form.nature_level" placeholder="请选择">
|
|
|
- <el-option-group
|
|
|
- v-for="group in windowNetureLevelData"
|
|
|
- :key="group.id"
|
|
|
- :label="group.type_name">
|
|
|
- <el-option
|
|
|
- v-for="item in group.children"
|
|
|
- :key="item.id"
|
|
|
- :label="item.type_name"
|
|
|
- :value="item.id">
|
|
|
- </el-option>
|
|
|
- </el-option-group>
|
|
|
+ <el-option
|
|
|
+ v-for="item in windowNetureLevelData"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="类型:" :label-width="formLabelWidth" prop="type" class="custom-align-right">
|
|
|
- <el-select v-model="form.type" placeholder="请选择..">
|
|
|
+ <el-select v-model="form.type" placeholder="请选择.." @change="getWindowTypeChildren">
|
|
|
<el-option
|
|
|
v-for="item in typeData"
|
|
|
:key="item.value"
|
|
@@ -185,48 +190,43 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="类型进度:" :label-width="formLabelWidth" prop="type_level" class="custom-align-right">
|
|
|
<el-select v-model="form.type_level" placeholder="请选择">
|
|
|
- <el-option-group
|
|
|
- v-for="group in windowTypeLevelData"
|
|
|
- :key="group.id"
|
|
|
- :label="group.type_name">
|
|
|
- <el-option
|
|
|
- v-for="item in group.children"
|
|
|
- :key="item.id"
|
|
|
- :label="item.type_name"
|
|
|
- :value="item.id">
|
|
|
- </el-option>
|
|
|
- </el-option-group>
|
|
|
+ <el-option
|
|
|
+ v-for="item in windowTypeLevelData"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="详细说明:" :label-width="formLabelWidth" prop="" class="custom-align-right">
|
|
|
<el-input type="textarea" v-model="form.describe" class="custom-textarea" disabled></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="判决书:" :label-width="formLabelWidth" prop="" class="custom-align-right">
|
|
|
- <a v-if="form.judgment" :href="form.judgment" class="complaintListdownloadBtn" download>
|
|
|
+ <div v-if="form.judgment" @click="downloadFile(form.judgment)" class="complaintListdownloadBtn">
|
|
|
<i class="el-icon-download"></i>
|
|
|
下载
|
|
|
- </a>
|
|
|
+ </div>
|
|
|
<div v-else>暂无数据</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="录音录像:" :label-width="formLabelWidth" prop="" class="custom-align-right">
|
|
|
- <a v-if="form.audio_and_video" :href="form.judgment" class="complaintListdownloadBtn" download>
|
|
|
+ <div v-if="form.audio_and_video" @click="downloadFile(form.audio_and_video)" class="complaintListdownloadBtn">
|
|
|
<i class="el-icon-download"></i>
|
|
|
下载
|
|
|
- </a>
|
|
|
+ </div>
|
|
|
<div v-else>暂无数据</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="合同:" :label-width="formLabelWidth" prop="" class="custom-align-right">
|
|
|
- <a v-if="form.contract" :href="form.contract" class="complaintListdownloadBtn" download>
|
|
|
+ <div v-if="form.contract" @click="downloadFile(form.contract)" class="complaintListdownloadBtn">
|
|
|
<i class="el-icon-download"></i>
|
|
|
下载
|
|
|
- </a>
|
|
|
+ </div>
|
|
|
<div v-else>暂无数据</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="资质:" :label-width="formLabelWidth" prop="" class="custom-align-right">
|
|
|
- <a v-if="form.qualifications" :href="form.qualifications" class="complaintListdownloadBtn" download>
|
|
|
+ <div v-if="form.qualifications" @click="downloadFile(form.qualifications)" class="complaintListdownloadBtn">
|
|
|
<i class="el-icon-download"></i>
|
|
|
下载
|
|
|
- </a>
|
|
|
+ </div>
|
|
|
<div v-else>暂无数据</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="涉案标的金额:" :label-width="formLabelWidth" prop="" class="custom-align-right">
|
|
@@ -243,7 +243,7 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="状态:" :label-width="formLabelWidth" prop="status" class="custom-align-right">
|
|
|
<el-radio-group v-model="form.status">
|
|
|
- <el-radio label="100">待审核</el-radio>
|
|
|
+ <!-- <el-radio label="100">待审核</el-radio> -->
|
|
|
<el-radio label="101">已接案</el-radio>
|
|
|
<el-radio label="102">已拒绝</el-radio>
|
|
|
<el-radio label="103">已完结</el-radio>
|
|
@@ -318,6 +318,10 @@ export default {
|
|
|
typeData:[],//所有类型
|
|
|
typeLevelData:[],//所有类型进度
|
|
|
statusData:[],//所有状态
|
|
|
+
|
|
|
+ //暂存所有进度
|
|
|
+ allNetureLevelData:[],//性质
|
|
|
+ allTypeLevelData:[],//类型
|
|
|
//分页相关 end ------------------------------------------------------------>
|
|
|
|
|
|
//2.弹出框设置 start ------------------------------------------------------------>
|
|
@@ -386,7 +390,7 @@ export default {
|
|
|
// 判断 item.status 的状态
|
|
|
switch (item.status) {
|
|
|
case 100:
|
|
|
- item.status = "待审核";
|
|
|
+ item.status = "";
|
|
|
break;
|
|
|
case 101:
|
|
|
item.status = "已接案";
|
|
@@ -398,7 +402,7 @@ export default {
|
|
|
item.status = "已完结";
|
|
|
break;
|
|
|
default:
|
|
|
- item.status = "未知状态"; // 可选:处理未定义的状态
|
|
|
+ item.status = "";
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -406,7 +410,7 @@ export default {
|
|
|
this.allCount = res.data.count;//放入总条数
|
|
|
})
|
|
|
},
|
|
|
- //获取所有状态
|
|
|
+ //获取所有父级状态
|
|
|
getStatus(){
|
|
|
//获取性质和进度
|
|
|
let getNature = {
|
|
@@ -424,12 +428,9 @@ export default {
|
|
|
//弹窗框
|
|
|
this.windowNatureData.push(data)
|
|
|
}
|
|
|
- //把进度放进去 无需格式化
|
|
|
- this.netureLevelData = res.data;
|
|
|
- //弹窗框
|
|
|
- this.windowNetureLevelData = res.data;
|
|
|
+ //暂存所有性质进度
|
|
|
+ this.allNetureLevelData = res.data;
|
|
|
})
|
|
|
-
|
|
|
//获取类型和类型说明
|
|
|
let getType = {
|
|
|
type:2
|
|
@@ -445,11 +446,10 @@ export default {
|
|
|
//弹窗框
|
|
|
this.windowTypeData.push(data)
|
|
|
}
|
|
|
- //搜索栏
|
|
|
- this.typeLevelData = res.data;
|
|
|
- //弹窗框
|
|
|
- this.windowTypeLevelData = res.data;
|
|
|
+ //暂存所有类型进度
|
|
|
+ this.allTypeLevelData = res.data;
|
|
|
})
|
|
|
+ //获取状态
|
|
|
let getStatus = {
|
|
|
type:10
|
|
|
}
|
|
@@ -466,6 +466,102 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+
|
|
|
+ // 获取子进度 可优化 start---------------------------------------->
|
|
|
+ //获取进度性质对应的子级状态
|
|
|
+ getNatureChildren(val) {
|
|
|
+ this.getApiData.nature_level = "";
|
|
|
+ this.netureLevelData = [];
|
|
|
+ console.log(val);
|
|
|
+ // 从 allNetureLevelData 中找到 id 与 val 相同的对象
|
|
|
+ const selectedItem = this.allNetureLevelData.find(item => item.id === val);
|
|
|
+ console.log(selectedItem)
|
|
|
+ for(let item of selectedItem.children){
|
|
|
+ let data = {
|
|
|
+ value: item.id,
|
|
|
+ label: item.type_name
|
|
|
+ }
|
|
|
+ //搜索栏
|
|
|
+ this.netureLevelData.push(data)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getTypeChildren(val) {
|
|
|
+ this.getApiData.type_level = "";
|
|
|
+ this.typeLevelData = [];
|
|
|
+ console.log(val);
|
|
|
+ const selectedItem = this.allTypeLevelData.find(item => item.id === val);
|
|
|
+ console.log(selectedItem)
|
|
|
+ for(let item of selectedItem.children){
|
|
|
+ let data = {
|
|
|
+ value: item.id,
|
|
|
+ label: item.type_name
|
|
|
+ }
|
|
|
+ //搜索栏
|
|
|
+ this.typeLevelData.push(data)
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ //弹出框中的
|
|
|
+ getWindowNatureChildren(val) {
|
|
|
+ this.form.nature_level = "";
|
|
|
+ this.windowNetureLevelData = [];
|
|
|
+ console.log(val);
|
|
|
+ // 从 allNetureLevelData 中找到 id 与 val 相同的对象
|
|
|
+ const selectedItem = this.allNetureLevelData.find(item => item.id === val);
|
|
|
+ console.log(selectedItem)
|
|
|
+ for(let item of selectedItem.children){
|
|
|
+ let data = {
|
|
|
+ value: item.id,
|
|
|
+ label: item.type_name
|
|
|
+ }
|
|
|
+ this.windowNetureLevelData.push(data)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getWindowTypeChildren(val) {
|
|
|
+ this.form.type_level = "";
|
|
|
+ this.windowTypeLevelData = [];
|
|
|
+ console.log(val);
|
|
|
+ const selectedItem = this.allTypeLevelData.find(item => item.id === val);
|
|
|
+ console.log(selectedItem)
|
|
|
+ for(let item of selectedItem.children){
|
|
|
+ let data = {
|
|
|
+ value: item.id,
|
|
|
+ label: item.type_name
|
|
|
+ }
|
|
|
+ //搜索栏
|
|
|
+ this.windowTypeLevelData.push(data)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //回显数据
|
|
|
+ returnWindowNatureChildren(val) {
|
|
|
+ console.log(val);
|
|
|
+ const selectedItem = this.allNetureLevelData.find(item => item.id === val);
|
|
|
+ console.log(selectedItem)
|
|
|
+ for(let item of selectedItem.children){
|
|
|
+ let data = {
|
|
|
+ value: item.id,
|
|
|
+ label: item.type_name
|
|
|
+ }
|
|
|
+ this.windowNetureLevelData.push(data)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ returnWindowTypeChildren(val) {
|
|
|
+ this.form.type_level = "";
|
|
|
+ this.windowTypeLevelData = [];
|
|
|
+ console.log(val);
|
|
|
+ const selectedItem = this.allTypeLevelData.find(item => item.id === val);
|
|
|
+ console.log(selectedItem)
|
|
|
+ for(let item of selectedItem.children){
|
|
|
+ let data = {
|
|
|
+ value: item.id,
|
|
|
+ label: item.type_name
|
|
|
+ }
|
|
|
+ //搜索栏
|
|
|
+ this.windowTypeLevelData.push(data)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 获取子进度 可优化 end---------------------------------------->
|
|
|
+
|
|
|
//1.2 列表内容分页
|
|
|
//直接跳转
|
|
|
handleSizeChange(val) {
|
|
@@ -482,8 +578,10 @@ export default {
|
|
|
this.getApiData.is_admin = 1;
|
|
|
this.getApiData.nature = "";
|
|
|
this.getApiData.nature_level = "";
|
|
|
+ this.netureLevelData = [];
|
|
|
this.getApiData.type = "";
|
|
|
this.getApiData.type_level = "";
|
|
|
+ this.typeLevelData = [];
|
|
|
this.getApiData.status = "";
|
|
|
this.getApiData.page = 1;
|
|
|
this.getApiData.pageSize = 10;
|
|
@@ -526,6 +624,38 @@ export default {
|
|
|
|
|
|
|
|
|
//4.编辑 start ------------------------------------------------------------>
|
|
|
+ downloadFile(data){
|
|
|
+ let files = [];
|
|
|
+ let fileName = "download";
|
|
|
+ if (!Array.isArray(data)) {
|
|
|
+ data = [data];
|
|
|
+ }
|
|
|
+ console.log(data)
|
|
|
+ for(let item of data){
|
|
|
+ if(item.fileSrc){
|
|
|
+ files.push(item.fileSrc);
|
|
|
+ }else{
|
|
|
+ files.push(item)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //console.log(files)
|
|
|
+ let getData = {
|
|
|
+ files:files,
|
|
|
+ fileName:fileName
|
|
|
+ }
|
|
|
+
|
|
|
+ this.$store.dispatch('complaint/downloadFile',getData).then(res=> {
|
|
|
+ // console.log(res)
|
|
|
+ // window.open(res.data.fileUrl, '_blank');
|
|
|
+ const link = document.createElement('a');
|
|
|
+ link.href = res.data.fileUrl;
|
|
|
+ link.setAttribute('download', 'downloaded_file'); // You can set a default file name here
|
|
|
+ document.body.appendChild(link);
|
|
|
+ link.click();
|
|
|
+ document.body.removeChild(link);
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
//回显数据
|
|
|
editRow(data){
|
|
|
//先判断这条数据是否已经被其他人受理
|
|
@@ -537,23 +667,33 @@ export default {
|
|
|
console.log(data)
|
|
|
this.editId = data.id;
|
|
|
this.form.title = data.title;
|
|
|
+ //还原性质
|
|
|
this.form.nature = data.nature;
|
|
|
+ this.returnWindowNatureChildren(data.nature);
|
|
|
this.form.nature_level = data.nature_level;
|
|
|
+ //还原类型
|
|
|
this.form.type = data.type;
|
|
|
+ this.returnWindowTypeChildren(data.type);
|
|
|
this.form.type_level = data.type_level;
|
|
|
+ //详细说明
|
|
|
this.form.describe = data.describe;
|
|
|
- if(data.judgment.length > 0){
|
|
|
- this.form.judgment = data.judgment[0].fileSrc;
|
|
|
- }
|
|
|
- if(data.audio_and_video.length > 0){
|
|
|
- this.form.audio_and_video = data.audio_and_video[0].fileSrc;
|
|
|
- }
|
|
|
- if(data.contract.length > 0){
|
|
|
- this.form.contract = data.contract[0].fileSrc;
|
|
|
- }
|
|
|
- if(data.qualifications.length > 0){
|
|
|
- this.form.qualifications = data.qualifications[0].fileSrc;
|
|
|
- }
|
|
|
+ this.form.judgment = data.judgment;
|
|
|
+ this.form.audio_and_video = data.audio_and_video;
|
|
|
+ this.form.contract = data.contract;
|
|
|
+ this.form.qualifications = data.qualifications;
|
|
|
+
|
|
|
+ // if(data.judgment.length > 0){
|
|
|
+ // this.form.judgment = data.judgment[0].fileSrc;
|
|
|
+ // }
|
|
|
+ // if(data.audio_and_video.length > 0){
|
|
|
+ // this.form.audio_and_video = data.audio_and_video[0].fileSrc;
|
|
|
+ // }
|
|
|
+ // if(data.contract.length > 0){
|
|
|
+ // this.form.contract = data.contract[0].fileSrc;
|
|
|
+ // }
|
|
|
+ // if(data.qualifications.length > 0){
|
|
|
+ // this.form.qualifications = data.qualifications[0].fileSrc;
|
|
|
+ // }
|
|
|
this.form.money = data.money;
|
|
|
this.form.id_card = data.id_card;
|
|
|
this.form.like_remark = data.like_remark;
|
|
@@ -601,7 +741,8 @@ export default {
|
|
|
type:this.form.type,
|
|
|
type_level:this.form.type_level,
|
|
|
status:this.form.status,
|
|
|
- reason:this.form.reason
|
|
|
+ reason:this.form.reason,
|
|
|
+ is_admin:1 //必须,否则无法修改
|
|
|
}
|
|
|
|
|
|
//console.log(data)
|