Browse Source

执法依据

master
蟑螂恶霸 2 years ago
parent
commit
fa0edd897a
  1. 1
      src/api/linkage.js
  2. 34
      src/views/enforce/sign.vue
  3. 245
      src/views/enforce/zqyjjdmFilter.vue

1
src/api/linkage.js

@ -3,4 +3,5 @@ import { _get, _post,_form,_delete } from "../http/index";
export const queryLinkage = (params, success, error) => _post("/app/code/linkage/list",params,success,error) export const queryLinkage = (params, success, error) => _post("/app/code/linkage/list",params,success,error)
export const queryLinkageById = (params, success, error) => _post("/app/code/linkage/objById",params,success,error) export const queryLinkageById = (params, success, error) => _post("/app/code/linkage/objById",params,success,error)
export const queryLinkageDictByValueAndParentId = (params, success, error) => _post("/app/code/linkage/selectLinkageDictByValueAndParentId",params,success,error) export const queryLinkageDictByValueAndParentId = (params, success, error) => _post("/app/code/linkage/selectLinkageDictByValueAndParentId",params,success,error)
export const queryZqyjjdm = (params, success, error) => _get("/app/zqyjjdm/list",params,success,error)

34
src/views/enforce/sign.vue

@ -78,7 +78,7 @@
label="检查依据" label="检查依据"
:rules="[{ required: true, message: '必填项' }]" :rules="[{ required: true, message: '必填项' }]"
placeholder="必填 执法依据" placeholder="必填 执法依据"
@click="data.showGA = true" @click="showPopupqz"
type="textarea" type="textarea"
rows="1" rows="1"
autosize autosize
@ -162,13 +162,14 @@
@cancel="gaCancel" @cancel="gaCancel"
/> />
</van-popup> </van-popup>
<van-popup v-model:show="data.showGA" position="bottom" :style="{ height: '30%' }"> <Popupzq :visible="data.popupVisibleqz" :content="data.popupContentqz" @close="closePopup" @reciveData="reciveDataqz" />
<van-picker title="依据" <!-- <van-popup v-model:show="data.showGA" position="bottom" :style="{ height: '30%' }">-->
:columns="data.ga_columns" <!-- <van-picker title="依据"-->
@confirm="gaConfirm" <!-- :columns="data.ga_columns"-->
@cancel="gaCancel" <!-- @confirm="gaConfirm"-->
/> <!-- @cancel="gaCancel"-->
</van-popup> <!-- />-->
<!-- </van-popup>-->
</div> </div>
</template> </template>
@ -185,6 +186,7 @@ import Compressor from 'compressorjs'
//用户筛选弹窗 //用户筛选弹窗
import Popup from './userFilter.vue'; import Popup from './userFilter.vue';
import PopupA from './assistUserFilter.vue'; import PopupA from './assistUserFilter.vue';
import Popupzq from './zqyjjdmFilter.vue';
import {getDict} from "../../api/Home"; import {getDict} from "../../api/Home";
import { queryLinkage, queryLinkageDictByValueAndParentId } from "../../api/linkage"; import { queryLinkage, queryLinkageDictByValueAndParentId } from "../../api/linkage";
import {addEnterpriseLawEnforcement, getByUserIdAndZero} from "../../api/administrative"; import {addEnterpriseLawEnforcement, getByUserIdAndZero} from "../../api/administrative";
@ -204,7 +206,9 @@ const data = reactive({
popupVisible: false, popupVisible: false,
popupContent: '', popupContent: '',
popupVisible2: false, popupVisible2: false,
popupVisibleqz: false,
popupContent2: '', popupContent2: '',
popupContentqz: '',
showGA:false, showGA:false,
showItem:false, showItem:false,
lawEnforcementBasisText:"", lawEnforcementBasisText:"",
@ -374,7 +378,7 @@ const deleteFile = (file,index) =>{
/* 检查要求 start */ /* 检查要求 start */
const gaConfirm = ({ selectedOptions }) => { const gaConfirm = ({ selectedOptions }) => {
data.lawEnforcementBasisText = selectedOptions[0].text; // data.lawEnforcementBasisText = selectedOptions[0].text;
submitData.lawEnforcementBasis = selectedOptions[0].value; submitData.lawEnforcementBasis = selectedOptions[0].value;
data.showGA = false; data.showGA = false;
data.showItem = false; data.showItem = false;
@ -408,7 +412,7 @@ const dataFillIn = () => {
} }
}) })
data.lawEnforcementItemText =success.data['params'].lawEnforcementItemText; data.lawEnforcementItemText =success.data['params'].lawEnforcementItemText;
data.lawEnforcementBasisText =success.data['params'].lawEnforcementBasisText; // data.lawEnforcementBasisText =success.data['params'].lawEnforcementBasisText;
// submitData.lawCertificateNumText =success.data['lawEnforcer']; // submitData.lawCertificateNumText =success.data['lawEnforcer'];
submitData.lawCertificateNumTwoText =success.data['lawEnforcerTwo']; submitData.lawCertificateNumTwoText =success.data['lawEnforcerTwo'];
submitData.subsidiaryerText =success.data['subsidiaryer']; submitData.subsidiaryerText =success.data['subsidiaryer'];
@ -462,9 +466,13 @@ const showPopup = () =>{
const showPopup2 = () =>{ const showPopup2 = () =>{
data.popupVisible2 = true; data.popupVisible2 = true;
} }
const showPopupqz = () =>{
data.popupVisibleqz = true;
}
const closePopup = () =>{ const closePopup = () =>{
data.popupVisible = false; data.popupVisible = false;
data.popupVisible2 = false; data.popupVisible2 = false;
data.popupVisibleqz = false;
} }
const reciveData = (item) =>{ const reciveData = (item) =>{
submitData.lawEnforcerTwo = item.userName; submitData.lawEnforcerTwo = item.userName;
@ -478,6 +486,12 @@ const reciveData2 = (item) =>{
// submitData.subsidiaryerText = item.userName + " " + item.lawCertificateNum; // submitData.subsidiaryerText = item.userName + " " + item.lawCertificateNum;
submitData.subsidiaryerText = item.userName; submitData.subsidiaryerText = item.userName;
} }
const reciveDataqz = (item) =>{
console.log(item);
submitData.lawEnforcementBasis = item.id;
// submitData.subsidiaryerText = item.userName + " " + item.lawCertificateNum;
data.lawEnforcementBasisText = item.lawName;
}
const beforeRead = (file) =>{ const beforeRead = (file) =>{
if (file.type !== 'image/jpeg' && file.type !== 'image/png' && file.type !== 'image/jpg') { if (file.type !== 'image/jpeg' && file.type !== 'image/png' && file.type !== 'image/jpg') {

245
src/views/enforce/zqyjjdmFilter.vue

@ -0,0 +1,245 @@
<template>
<div v-if="visible" class="van-overlay"></div>
<div v-if="visible" class="popup">
<div class="popup-title">检查依据</div>
<!-- 关闭按钮 -->
<label class="close-button" @click="closePopup"></label>
<!-- 弹窗的内容 -->
<div class="popup-content">
<div class="subsearch">
<input class="searchbox" v-model="searchParam.searchValue" placeholder="请输入关键词" />
</div>
<div class="btnbox">
<button class='btn-reset' @click="cancel()">重置</button>
<button class='btn-search' @click="queryList()">搜索</button>
</div>
<div class="search-result">
<div class="case-item" v-for="(item, index) in dataList" :key="index" @click="selectData(item)">
<div class="case-title">法律名称:{{ item.lawName }}</div>
<div class="case-time">内容:{{ item.content }}</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { ref } from 'vue'
import {queryZqyjjdm} from '../../api/linkage'
const { useCommon } = $globalStore
export default {
props: {
visible: {
type: Boolean,
default: false
},
content: {
type: String,
default: ''
},
},
data(){
return{
searchParam: {
//搜索框
userName: '',
userId:'',
dataScopeId:"",
searchValue:"",
},
dataList:[]
}
},
created(){
// this.queryList()
console.log(useCommon.userId);
if(useCommon.userId == null || useCommon.userId == ''){
this.searchParam.dataScopeId = 1731;
}else{
this.searchParam.dataScopeId = useCommon.userId;
}
},
methods: {
closePopup() {
this.$emit('close');
},
queryList(){
queryZqyjjdm({'searchValue':this.searchParam.searchValue},success=>{
console.log(success)
this.dataList = success
},error =>{})
},
cancel() {
this.searchParam.searchValue = '';
// this.queryList()
},
selectData(item){
this.$emit("reciveData",item);
this.$emit('close');
},
}
}
</script>
<style scoped>
.popup {
position: fixed;
z-index: 999;
top: 3rem;
left: 0;
width: 100%;
height: calc(100% - 3rem);;
background: #fff;
overflow: hidden;
}
.popup-title {
margin: 0.3rem 0 0;
width: 100%;
height: 1rem;
border-bottom: 1px solid #f3f4f5;
text-align: center;
font-size: 0.42rem;
font-weight: 550;
}
.close-button {
position: absolute;
top: 0.15rem;
right: 0.1rem;
width: 0.8rem;
height: 0.8rem;
background-color: rgba(255, 255, 255, .5);
border: 0.05rem solid rgba(255, 255, 255, .7);
border-radius: 50%;
transform: rotate(45deg);
}
.close-button:before,
.close-button:after {
content: '';
position: absolute;
top: 50%;
left: 50%;
background: #333;
border-radius: 50%;
transform: translate(-50%, -50%);
height: 0.4rem;
width: 0.02rem;
}
.close-button:after {
height: 0.02rem;
width: 0.4rem;
}
.popup-content {
margin: 0.25rem 3% 0;
padding-bottom: 3rem;
width: 94%;
height: calc(100% - 1.6rem);
overflow-y: auto;
font-size: 0.38rem;
}
.subsearch {
width: 100%;
height: 1.25rem;
}
.searchbox {
margin: 2% 3%;
padding: 0.15rem 0.3rem 0.1rem 1.15rem;
width: 94%;
height: 1.0rem;
background: #f6f7fe url(../../assets/images/icon_sou.png) no-repeat;
background-position: left 0.5rem center;
background-size: auto 50%;
box-sizing: border-box;
border: 1px solid rgba(0,0,0,.05);
border-radius: 0.5rem;
color: #999999;
outline: none;
}
.subtitle {
margin: 0.5rem 0 0.25rem;
font-size: 0.4rem;
font-weight: 600;
}
.quick-item {
display: flex;
}
.quick-item span {
display: inline-block;
margin: 1% 0 2% 3.5%;
padding: 2% 3.75%;
background: #f2f3f4;
border: 0;
border-radius: 8px;
color: #4c4c4c;
}
.quick-item span.seled {
background: #e9f2fb;
color: #1367fe;
}
.btnbox {
display: flex;
justify-content: center;
margin: 5% 2%;
width: 96%;
height: 1.0rem;
}
.btn-reset,
.btn-search {
display: inline-block;
margin: 0 2%;
padding: 0;
width: 60%;
color: #fff;
font-size: 0.35rem;
border-radius: 1rem;
background: #1367fe;
border: 1px solid #1367fe;
text-align: center;
}
.btn-reset {
width: 35%;
background-color: #fff;
border-color: rgba(19, 103, 254, .7);
color: #1367fe;
}
.search-result {
width: 100%;
padding-bottom: 2rem;
}
.case-item {
margin: 3% 2%;
padding: 2% 0;
width: 96%;
font-size: 0.3rem;
border-bottom: 1px solid #f4f4f4;
color: #999;
line-height: 2;
}
.case-title {
margin: 2% 0;
font-size: 0.38rem;
color: #333;
line-height: 1.25;
}
</style>
Loading…
Cancel
Save