Преглед на файлове

农业执法

wulanhaote
庞东旭 преди 2 години
родител
ревизия
1af9d835eb
променени са 12 файла, в които са добавени 833 реда и са изтрити 189 реда
  1. +128
    -4
      package-lock.json
  2. +1
    -0
      package.json
  3. +127
    -0
      src/api/lawEnforcement/index.js
  4. +10
    -1
      src/router/index.js
  5. +2
    -2
      src/views/lawEnforcement/index_new.vue
  6. +78
    -86
      src/views/lawEnforcement/record/record.vue
  7. +424
    -0
      src/views/lawEnforcement/record/recordDetail.vue
  8. +62
    -95
      src/views/lawEnforcement/record/recordDocument.vue
  9. +1
    -1
      src/views/lawEnforcement/retrospect/scan.vue
  10. Двоични данни
      static/images/lawEnforcement/new/index_icon_08.png
  11. Двоични данни
      static/images/lawEnforcement/new/index_icon_09.png
  12. Двоични данни
      static/images/lawEnforcement/new/index_icon_10.png

+ 128
- 4
package-lock.json Целия файл

@@ -24,6 +24,11 @@
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.0.tgz",
"integrity": "sha512-wjtKehFAIARq2OxK8j3JrggNlEslJfNuSm2ArteIbKyRMts2g0a7KzTxfRVNUM+O0gnBJ2hNV8nWPOYBgI1sew=="
},
"@types/json-schema": {
"version": "7.0.11",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
},
"@types/q": {
"version": "1.5.4",
"resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz",
@@ -121,8 +126,7 @@
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="
},
"align-text": {
"version": "0.1.4",
@@ -724,8 +728,7 @@
"babel-plugin-syntax-dynamic-import": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
"integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
"dev": true
"integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo="
},
"babel-plugin-syntax-exponentiation-operator": {
"version": "6.13.0",
@@ -7455,6 +7458,11 @@
"sha.js": "^2.4.8"
}
},
"pdfjs-dist": {
"version": "2.6.347",
"resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.6.347.tgz",
"integrity": "sha512-QC+h7hG2su9v/nU1wEI3SnpPIrqJODL7GTDFvR74ANKGq1AFJW16PH8VWnhpiTi9YcLSFV9xLeWSgq+ckHLdVQ=="
},
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
@@ -10178,6 +10186,63 @@
"unpipe": "1.0.0"
}
},
"raw-loader": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz",
"integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==",
"requires": {
"loader-utils": "^2.0.0",
"schema-utils": "^3.0.0"
},
"dependencies": {
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
"json5": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA=="
},
"loader-utils": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"schema-utils": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
"integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"requires": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
}
}
}
},
"read-cache": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -12300,6 +12365,19 @@
}
}
},
"vue-pdf": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/vue-pdf/-/vue-pdf-4.3.0.tgz",
"integrity": "sha512-zd3lJj6CbtrawgaaDDciTDjkJMUKiLWtbEmBg5CvFn9Noe9oAO/GNy/fc5c59qGuFCJ14ibIV1baw4S07e5bSQ==",
"requires": {
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"loader-utils": "^1.4.0",
"pdfjs-dist": "2.6.347",
"raw-loader": "^4.0.2",
"vue-resize-sensor": "^2.0.0",
"worker-loader": "^2.0.0"
}
},
"vue-qrcode-reader": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/vue-qrcode-reader/-/vue-qrcode-reader-3.1.0.tgz",
@@ -12319,6 +12397,11 @@
}
}
},
"vue-resize-sensor": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/vue-resize-sensor/-/vue-resize-sensor-2.0.0.tgz",
"integrity": "sha512-W+y2EAI/BxS4Vlcca9scQv8ifeBFck56DRtSwWJ2H4Cw1GLNUYxiZxUHHkuzuI5JPW/cYtL1bPO5xPyEXx4LmQ=="
},
"vue-router": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.1.tgz",
@@ -13504,6 +13587,47 @@
"errno": "~0.1.7"
}
},
"worker-loader": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-2.0.0.tgz",
"integrity": "sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==",
"requires": {
"loader-utils": "^1.0.0",
"schema-utils": "^0.4.0"
},
"dependencies": {
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
"schema-utils": {
"version": "0.4.7",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
"integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
"requires": {
"ajv": "^6.1.0",
"ajv-keywords": "^3.1.0"
}
}
}
},
"wrap-ansi": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",


+ 1
- 0
package.json Целия файл

@@ -31,6 +31,7 @@
"vue-baidu-map": "^0.21.22",
"vue-cookies": "^1.7.4",
"vue-esign": "^1.0.5",
"vue-pdf": "^4.3.0",
"vue-qrcode-reader": "^3.1.0",
"vue-router": "^3.0.1",
"vue-search-tree": "^1.9.9",


+ 127
- 0
src/api/lawEnforcement/index.js Целия файл

@@ -717,3 +717,130 @@ export function getMonitor(query) {
params: query
})
}

// 查询案件下拉列表
export function getCaseList(query) {
return request({
url: '/enforce/case/getCaseList',
method: 'get',
params: query
})
}

// 查询案件文书列表
export function getCaseDocumentList(query) {
return request({
url: '/enforce/case/getCaseDocumentList',
method: 'get',
params: query
})
}

// 生成下载协助调查函
export function createAssistPDF(query) {
return request({
url: '/enforce/assist/createPDF',
method: 'post',
params: query
})
}

// 生成现场检查(勘察)笔录PDF
export function createSurveyPDF(query) {
return request({
url: '/enforce/survey/createPDF',
method: 'post',
params: query
})
}

// 生成立案相关PDF
export function createPutrecordPDF(query) {
return request({
url: '/enforce/putrecord/createPDF',
method: 'post',
params: query
})
}

// 生成现场检查(勘察)笔录PDF
export function createOnrecordPDF(query) {
return request({
url: '/enforce/onrecord/createPDF',
method: 'post',
params: query
})
}

// 生成抽样产品相关PDF
export function createSamplingPDF(query) {
return request({
url: '/enforce/sampling/createPDF',
method: 'post',
params: query
})
}

// 生成PDF
export function createTreatPDF(query) {
return request({
url: '/enforce/treat/createPDF',
method: 'post',
params: query
})
}

// 生成PDF
export function createDecisionPDF(query) {
return request({
url: '/enforce/decision/createPDF',
method: 'post',
params: query
})
}

// 生成现场检查(勘察)笔录PDF
export function createEvidencePDF(query) {
return request({
url: '/enforce/evidence/createPDF',
method: 'post',
params: query
})
}

// 生成PDF
export function createExecutePDF(query) {
return request({
url: '/enforce/execute/createPDF',
method: 'post',
params: query
})
}

// 生成PDF
export function createEndingPDF(query) {
return request({
url: '/enforce/ending/createPDF',
method: 'post',
params: query
})
}

// 案件中止调查PDF
export function createBreakPDF(query) {
return request({
url: '/enforce/break/createPDF',
method: 'post',
params: query
})
}

// 案件恢复调查PDF
export function createResumePDF(query) {
return request({
url: '/enforce/resume/createPDF',
method: 'post',
params: query
})
}


+ 10
- 1
src/router/index.js Целия файл

@@ -3562,11 +3562,20 @@ export const constantRoutes = [
path: '/lawEnforcement/record',
name: 'lawEnforcementRecord',
meta: {
title: '现场检查(勘察)笔录',
title: '现场检查笔录',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/record/record'], resolve)
},
{ ////农业执法(新)-- 现场检查(勘察)笔录
path: '/lawEnforcement/recordDetail',
name: 'lawEnforcementRecordDetail',
meta: {
title: '现场检查笔录',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/record/recordDetail'], resolve)
},
{ ////农业执法(新)-- 案件列表
path: '/lawEnforcement/caseList',
name: 'lawEnforcementCaseList',


+ 2
- 2
src/views/lawEnforcement/index_new.vue Целия файл

@@ -57,8 +57,8 @@
<td rowspan="2"><img src="../../../static/images/lawEnforcement/new/index_icon_12.png" @click="$router.push({name:'lawEnforcementRecordDocument'})"></td>
</tr>
<tr>
<td><img src="../../../static/images/lawEnforcement/new/index_icon_10.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'3'}})"></td>
<td><img src="../../../static/images/lawEnforcement/new/index_icon_11.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'4'}})"></td>
<td colspan="2"><img src="../../../static/images/lawEnforcement/new/index_icon_10.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'3'}})"></td>
<!-- <td><img src="../../../static/images/lawEnforcement/new/index_icon_11.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'4'}})"></td>-->
</tr>
</table>
<!-- <van-row>-->


+ 78
- 86
src/views/lawEnforcement/record/record.vue Целия файл

@@ -6,107 +6,59 @@
</div>
<div style="height: 58px;"></div>
<div class="main_box">
<van-field v-model="value" label="案件名称" placeholder="请选择案件名称" :border="false" readonly is-link @click="$router.push({name:'lawEnforcementCaseList'})" />
<van-field v-model="value" label="执法节点" placeholder="请选择执法节点" :border="false" readonly is-link arrow-direction="down" >
<template #input>
<van-popover
v-model="showPopover"
trigger="click"
:actions="actions"
placement="bottom-start"
>
<template #reference>
<p style="color: #cccccc">请选择执法节点</p>
</template>
</van-popover>
</template>
</van-field>
<van-field v-model="value" label="签字上传" :border="false" readonly >
<template #input>
<van-uploader v-model="fileList" multiple />
</template>
</van-field>
<van-field v-model="value" label="案件名称" placeholder="请选择案件名称" :border="false" readonly is-link @click="showPicker = true" />
</div>

<div class="main_box" style="margin-top: 10px;">
<van-cell>
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/record_icon_01.png" size="20"></van-icon>
<span class="custom-title">视频地址<i class="bgBlue"></i></span>
</template>
</van-cell>
<van-field type="textarea" autosize :border="false" placeholder="输入视频地址、执法文件名称等" />
</div>

<div class="main_box" style="margin-top: 10px;">
<van-cell>
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ajwd.png" size="20"></van-icon>
<span class="custom-title">模板<i class="bgBlue"></i></span>
</template>
</van-cell>
<div class="cf">
<van-row>
<van-col :span="6">
<van-image src="../../../../static/images/lawEnforcement/icon/record_icon_02.png" width="50" />
<div class="main_box" style="margin-top: 15px">
<div class="peopleList">
<van-row v-for="(item,index) in caseDocumentList" :key="index" >
<van-col :span="17">
<img src="../../../../static/images/lawEnforcement/icon/record_icon_03.png"/>
<p>{{item.fileHalfName}}</p>
</van-col>
<van-col :span="18">
<p>现场检查(勘验)笔录.docx</p>
<van-col :span="7">
<p @click="$router.push({name:'lawEnforcementRecordDetail',query:{id:item.id,fileType:item.fileType,fileHalfName:item.fileHalfName}})">预览</p>
<a href="">下载</a>
</van-col>
</van-row>
</div>
</div>

<div class="submit_box">
<p class="submitButton">保存</p>
<p class="submitButton">处理</p>
</div>
<van-popup v-model="showPicker" round position="bottom">
<van-picker
title="选择案件"
show-toolbar
value-key="caseName"
:columns="columns"
@cancel="showPicker = false"
@confirm="onConfirm"
/>
</van-popup>
</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
import { getCaseList , getCaseDocumentList } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
showPopover: false,
// 通过 actions 属性来定义菜单选项
actions: [{ text: '选项一' }, { text: '选项二' }, { text: '选项三' }],
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{},

bankType:'',
payeeType:'',
value:'',

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],

fileList:[],
headTitle:''
headTitle:'',
showPicker:false,
columns:[],
caseDocumentList:[]
};
},
created() {
// this.getDictionaries()
this.getDictionaries()
if (this.$route.query.type == '1'){
this.headTitle = '现场检查(勘察)笔录';
this.headTitle = '勘察文书';
}
if (this.$route.query.type == '2'){
this.headTitle = '询问笔录';
this.headTitle = '立案文书';
}
if (this.$route.query.type == '3'){
this.headTitle = '当场行政处罚决定书';
this.headTitle = '取证文书';
}
if (this.$route.query.type == '4'){
this.headTitle = '责令改正通知书';
@@ -114,8 +66,23 @@
},
methods: {
getDictionaries(){
getScheme(this.$route.query.id).then((response) => {
this.form = response.data;
let query = {
caseProgress: parseInt(this.$route.query.type) + 1
}
getCaseList(query).then((response) => {
this.columns = response.data;
});
},
onConfirm(val){
console.log(val)
this.showPicker = false;
this.value = val.caseName;
let query = {
id:val.id,
caseProgress:parseInt(this.$route.query.type) + 1
}
getCaseDocumentList(query).then((response) => {
this.caseDocumentList = response.data;
});
},
goBack(){
@@ -192,16 +159,41 @@
margin-right: 0;
}
.peopleList{
padding-right: 3%;
padding: 0 3%;
text-align: left;
.van-row{
margin-bottom: 10PX;
.van-col{
text-align: center;
font-size: 14PX;
border-bottom: 1px solid #dddddd;
display: flex;
align-items: center;
&:last-child{
border: none;
}
&:first-child{
.van-col{
.van-col--17{
display: flex;
align-items: center;
p{
margin-left: 10PX;
}
}
.van-col--7{
display: flex;
justify-content: space-between;
p,a{
color: #1D6FE9;
border: 1px solid #1D6FE9;
text-align: center;
border-radius: 15PX;
display: inline-block;
padding: 5px 15px;
}
}
.van-col{
text-align: left;
font-size: 14PX;
color: #333333;
padding: 15PX 0;
img{
display: block;
}
}
}


+ 424
- 0
src/views/lawEnforcement/record/recordDetail.vue Целия файл

@@ -0,0 +1,424 @@
<template>
<div class="app-container">
<div class="header_main">
文件预览
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>
<pdf v-for="item in numPages" :key="item" :src="url" :page="item" ref="pdf"></pdf>
</div>
</template>

<script>
import { createAssistPDF,createSurveyPDF,createPutrecordPDF,createOnrecordPDF,createSamplingPDF,createTreatPDF,createDecisionPDF,createEvidencePDF,createExecutePDF,createEndingPDF,createBreakPDF,createResumePDF } from "@/api/lawEnforcement/index";
import pdf from 'vue-pdf'
export default {
components:{
pdf
},
name: "programmeDetail",
data() {
return {
url:'',
numPages: null, // pdf 总页数
};
},
created() {
const id = this.$route.query.id;
const fileType = this.$route.query.fileType;
const fileHalfName = this.$route.query.fileHalfName;
const baseURL = process.env.VUE_APP_BASE_API;
switch (fileType) {
case "assistFile": // 协助调查函
var param = {
id: id,
fileType: fileType,
fileHalfName: fileHalfName,
};
createAssistPDF(param).then(response => {
this.url = baseURL + response.msg;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})
});
break;
case "surveyRecordFile": // 现场检查(勘验)笔录
case "surveyAskRecordFile": // 询问笔录
var param = {
id: id,
fileType: fileType,
fileHalfName: fileHalfName,
};
createSurveyPDF(param).then(response => {
this.url = baseURL + response.msg;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})
});
break;
case "caseTransferLetter": // 案件移送函
case "noticeOfDesignatedJurisdiction": // 指定管辖通知书
case "notificationOfCaseSubmission": // 案件交办通知书
case "caseTransferLetter1": // 案件移送函
case "letterTransferSuspectedCriminalCase": // 涉嫌犯罪案件移送书
case "noticeOfRectificationOrder": // 责令改正通知书
case "writtenDecisionOnAdministrativePenaltyOnTheSpot": // 当场行政处罚决定书
case "noFilingExaminationAndApprovalForm": // 不予立案审批表
case "revocationOfFilingApprovalForm": // 撤销立案审批表
case "notPunishDecisionNotice": // 不予行政处罚决定书
case "caseHandlingOpinion": // 案件处理意见书
var param = {
id: id,
fileType: fileType,
fileHalfName: fileHalfName,
};
createOnrecordPDF(param).then(response => {
this.url = baseURL + response.msg;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})
});
break;
case "evidenceSaveFile": // 证据先行保存通知书
case "sealUpRecordFile": // 查封(扣押)现场笔录
case "sealUpDecisionFile": // 查封(扣押)决定书
case "sealUpDecisionGoodsList": // 查封(扣押)财物清单
case "removeSealupFile": // 解除查封(扣押)决定书
case "removeSealUpDecisionGoodsList": // 解除查封(扣押)财物清单
case "filingExaminationAndApprovalForm": // 立案审批表
var param = {
id: id,
fileType: fileType,
fileHalfName: fileHalfName,
};
createPutrecordPDF(param).then(response => {
this.url = baseURL + response.msg;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})
});
break;
case "productSureFile": // 产品确认通知书
case "samplingRecordFile": // 抽样取证凭证
var param = {
id: id,
fileType: fileType,
fileHalfName: fileHalfName,
};
createSamplingPDF(param).then(response => {
this.url = baseURL + response.msg;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})
});
break;
case "noticeOfAdministrativePenaltyInAdvance": // 行政处罚事先告知书(非听证)
case "noticeOfHearingAdministrativePenaltyInAdvance": // 行政处罚事先告知书(听证)
case "noticeOfHearingOnAdministrativeTreatment": // 行政处罚听证会通知书
case "administrativeDispositionHearingReport": // 行政处罚听证会报告书
case "hearingRecord": // 听证笔录
var param = {
id: id,
fileType: fileType,
fileHalfName: fileHalfName,
};
createTreatPDF(param).then(response => {
this.url = baseURL + response.msg;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})
});
break;
case "caseHandlingOpinionFromTreat": // 案件处理意见书(处理页面按钮点击)
var param = {
id: id,
fileType: "caseHandlingOpinion",
fileHalfName: fileHalfName,
};
createTreatPDF(param).then(response => {
this.url = baseURL + response.msg;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})
});
break;
case "proofOfService": // 送达回证
case "writtenDecisionOfAdministrativePenalty": // 行政处罚决定书
case "administrativePenaltyDecisionExaminationAndApprovalForm": // 行政处罚决定审批表
var param = {
id: id,
fileType: fileType,
fileHalfName: fileHalfName,
};
createDecisionPDF(param).then(response => {
this.url = baseURL + response.msg;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})
});
break;
case "detectResultFile": // 抽样检测结果告知书
var param = {
id: id,
fileType: fileType,
fileHalfName: fileHalfName,
};
createEvidencePDF(param).then(response => {
this.url = baseURL + response.msg;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})
});
break;
case "noticeForExecutionOfAdministrativePenaltyDecision": // 履行行政处罚决定催告书
case "applicationForEnforcement": // 强制执行申请书
case "goodsHandleNotice": // 登记保存物品处理通知书
var param = {
id: id,
fileType: fileType,
fileHalfName: fileHalfName,
};
createExecutePDF(param).then(response => {
this.url = baseURL + response.msg;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})
});
break;
case "delayedOrStageNotice": // 延期(分期)缴纳罚款通知书
case "caseEndReport": // 行政处罚结案报告
case "punishGoodsHandleNotice": // 罚没物品处理记录
var param = {
id: id,
fileType: fileType,
fileHalfName: fileHalfName,
};
createEndingPDF(param).then(response => {
this.url = baseURL + response.msg;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})
});
break;
case "breakCaseFile": // 案件中止调查决定书
var param = {
id: id,
fileType: fileType,
fileHalfName: fileHalfName,
};
createBreakPDF(param).then(response => {
this.url = baseURL + response.msg;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})
});
break;
case "resumeCaseFile": // 案件恢复调查决定书
var param = {
id: id,
fileType: fileType,
fileHalfName: fileHalfName,
};
createResumePDF(param).then(response => {
this.url = baseURL + response.msg;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})
});
break;
}

},
methods: {
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
/deep/ .van-collapse-item__content{
padding: 0;
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
display: flex;
align-items: center;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
text-align: left;
font-size: .4rem;
}
}
&:first-child{
background: transparent;
}
}
}
.header_main{
height: 116px;
background: url('../../../../static/images/lawEnforcement/new/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
z-index: 999;
.return_btn{
width: 24px;
height: 43.2px;
background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
.add_btn{
width: 56.4px;
height: 40.8px;
background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
background-size: 47px 34px;
position: absolute;
right: 38px;
top: 36px;
}
}
/deep/ .van-radio--horizontal{
margin-left: 0.32rem;
margin-right: 0;
}
.peopleList{
padding: 0 3%;
text-align: left;
.van-row{
border-bottom: 1px solid #dddddd;
display: flex;
align-items: center;
&:last-child{
border: none;
}
.van-col--17{
display: flex;
align-items: center;
p{
margin-left: 10PX;
}
}
.van-col--7{
display: flex;
justify-content: space-between;
p{
color: #1D6FE9;
border: 1px solid #1D6FE9;
text-align: center;
border-radius: 15PX;
display: inline-block;
padding: 5px 15px;
}
}
.van-col{
text-align: left;
font-size: 14PX;
color: #333333;
padding: 15PX 0;
img{
display: block;
}
}
}
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 10PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
.van-icon{
vertical-align: middle;
}
.custom-title{
font-size: 17PX;
color: #333333;
vertical-align: middle;
line-height: 1;
position: relative;
}
.tap{
color: #1D6FE9;
}
.bgBlue{
display: block;
position: absolute;
width: 17PX;
height: 17PX;
border-radius: 50%;
background-color: rgba(29,111,233,0.26);
top: -2PX;
right: -8PX;
}
}
.submitButton{
width: 40%;
margin: 0 auto;
background-image: linear-gradient(to right, #77A6EF , #2E79E9);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
&:first-child{
background-image: linear-gradient(to right, #21CAC3 , #17A8A2);
}
}
.submit_box{
display: flex;
align-items: center;
justify-content: space-around;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}

</style>

+ 62
- 95
src/views/lawEnforcement/record/recordDocument.vue Целия файл

@@ -1,77 +1,76 @@
<template>
<div class="app-container">
<div class="header_main">
文书打印
全部文书
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>

<div class="search_box">
<div class="search">
<input type="text" placeholder="请输入文书名" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_04.png">
</div>
<div class="main_box">
<van-field v-model="value" label="案件名称" placeholder="请选择案件名称" :border="false" readonly is-link @click="showPicker = true" />
</div>

<div class="main_box">
<div class="main_box" style="margin-top: 15px">
<div class="peopleList">
<van-row v-for="(item,index) in 10" :key="index" >
<van-col :span="20">
<van-row v-for="(item,index) in caseDocumentList" :key="index" >
<van-col :span="17">
<img src="../../../../static/images/lawEnforcement/icon/record_icon_03.png"/>
<p>指定管辖通知书</p>
<p>{{item.fileHalfName}}</p>
</van-col>
<van-col :span="4">
<p>打印</p>
<van-col :span="7">
<p @click="$router.push({name:'lawEnforcementRecordDetail',query:{id:item.id,fileType:item.fileType,fileHalfName:item.fileHalfName}})">预览</p>
<a href="">下载</a>
</van-col>
</van-row>
</div>
</div>

<div class="submit_box">
<p class="submitButton">进入任务</p>
</div>

<van-popup v-model="showPicker" round position="bottom">
<van-picker
title="选择案件"
show-toolbar
value-key="caseName"
:columns="columns"
@cancel="showPicker = false"
@confirm="onConfirm"
/>
</van-popup>
</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
import { getCaseList , getCaseDocumentList } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
showPopover: false,
// 通过 actions 属性来定义菜单选项
actions: [{ text: '选项一' }, { text: '选项二' }, { text: '选项三' }],
checked:'',
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{},

bankType:'',
payeeType:'',
value:'',

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],
headTitle:'',
showPicker:false,
columns:[],
caseDocumentList:[]
};
},
created() {
// this.getDictionaries()
this.getDictionaries()
},
methods: {
getDictionaries(){
getScheme(this.$route.query.id).then((response) => {
this.form = response.data;
let query = {
caseProgress: ''
}
getCaseList(query).then((response) => {
this.columns = response.data;
});
},
onConfirm(val){
console.log(val)
this.showPicker = false;
this.value = val.caseName;
let query = {
id:val.id,
caseProgress:''
}
getCaseDocumentList(query).then((response) => {
this.caseDocumentList = response.data;
});
},
goBack(){
@@ -88,58 +87,22 @@
/deep/ .van-collapse-item__content{
padding: 0;
}
/deep/ .van-checkbox{
justify-content: center;
}
.icon_box{
display: flex;
justify-content: space-around;
}
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.select_box{
border: 1px solid #1D6FE9;
border-radius: 8PX;
padding: 0 12PX ;
background: #ffffff;
height: 30PX;
line-height: 30PX;
display: flex;
justify-content: space-around;
align-items: center;
}
.search{
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin: 10PX auto;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
input{
flex: 1;
background: transparent;
}
}
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
display: flex;
align-items: center;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
text-align: left;
font-size: .4rem;
}
}
&:first-child{
@@ -193,17 +156,17 @@
&:last-child{
border: none;
}
.van-col--20{
.van-col--17{
display: flex;
align-items: center;
p{
margin-left: 10PX;
}
}
.van-col--4{
.van-col--7{
display: flex;
justify-content: right;
p{
justify-content: space-between;
p,a{
color: #1D6FE9;
border: 1px solid #1D6FE9;
text-align: center;
@@ -262,26 +225,30 @@
}
}
.submitButton{
width: 45%;
width: 40%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
background-image: linear-gradient(to right, #77A6EF , #2E79E9);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
&:first-child{
background-image: linear-gradient(to right, #21CAC3 , #17A8A2);
}
}
.submit_box{
position: fixed;
bottom: 0;
width: 100%;
background: #ffffff;
padding: 25PX 0;
display: flex;
align-items: center;
justify-content: space-around;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}

</style>

+ 1
- 1
src/views/lawEnforcement/retrospect/scan.vue Целия файл

@@ -18,7 +18,7 @@

<script>

import Scaner from '@/components/qrcode//Scaner';
import Scaner from '@/components/qrcode/Scaner';
import Cookies from "js-cookie";

export default {


Двоични данни
static/images/lawEnforcement/new/index_icon_08.png Целия файл

Преди След
Ширина: 210  |  Височина: 140  |  Големина: 7.5 KiB Ширина: 210  |  Височина: 140  |  Големина: 6.4 KiB

Двоични данни
static/images/lawEnforcement/new/index_icon_09.png Целия файл

Преди След
Ширина: 210  |  Височина: 140  |  Големина: 5.9 KiB Ширина: 210  |  Височина: 140  |  Големина: 5.8 KiB

Двоични данни
static/images/lawEnforcement/new/index_icon_10.png Целия файл

Преди След
Ширина: 210  |  Височина: 140  |  Големина: 8.2 KiB Ширина: 436  |  Височина: 140  |  Големина: 7.0 KiB

Зареждане…
Отказ
Запис