| @@ -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", | |||
| @@ -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", | |||
| @@ -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 | |||
| }) | |||
| } | |||
| @@ -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', | |||
| @@ -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>--> | |||
| @@ -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; | |||
| } | |||
| } | |||
| } | |||
| @@ -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:{ | |||
| }, | |||
| 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> | |||
| @@ -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> | |||
| @@ -18,7 +18,7 @@ | |||
| <script> | |||
| import Scaner from '@/components/qrcode//Scaner'; | |||
| import Scaner from '@/components/qrcode/Scaner'; | |||
| import Cookies from "js-cookie"; | |||
| export default { | |||