Browse Source

行政执法登记功能中,检查依据仅选择法律名称,不展示具体细节条款项目之类的,同时补充一个可输入框对执法依据的补充(可补充多个)

v2
蟑螂恶霸 2 years ago
parent
commit
2206200f5c
  1. 3
      src/common/globalRouter.js
  2. 76
      src/views/enforce/sign.vue
  3. 2
      src/views/enforce/zqyjjdmFilter.vue
  4. 179
      src/views/login.vue

3
src/common/globalRouter.js

@ -4,7 +4,8 @@ let routes = [
{ {
path: "/", path: "/",
// redirect: "/home", // redirect: "/home",
redirect: "/enforceHome", // redirect: "/enforceHome",
redirect: "/login",
name: "App", name: "App",
}, },
{ {

76
src/views/enforce/sign.vue

@ -100,18 +100,28 @@
<!-- autosize--> <!-- autosize-->
<!-- />--> <!-- />-->
<van-field v-model="submitData.lawEnforcementItem" v-show="false" /> <van-field v-model="submitData.lawEnforcementItem" v-show="false" />
<van-field <!-- <van-field-->
v-model="data.lawEnforcementBasisText" <!-- v-model="data.lawEnforcementBasisText"-->
required <!-- required-->
readonly <!-- readonly-->
:rules="[{ required: true, message: '必填项' }]" <!-- :rules="[{ required: true, message: '必填项' }]"-->
label="检查依据" <!-- label="检查依据"-->
placeholder="检查依据" <!-- placeholder="检查依据"-->
@click="showPopupqz" <!-- @click="showPopupqz"-->
type="textarea" <!-- type="textarea"-->
rows="1" <!-- rows="1"-->
autosize <!-- autosize-->
<!-- />-->
<van-field v-for="(item, index) in data.lawList" :key="index"
v-model="item.text"
readonly
label="检查依据"
placeholder="检查依据"
@click="showPopupqz(index)"
rows="1"
autosize
/> />
<van-button icon="add-o" block="true" square="true" type="default" @click.stop="addField" />
<van-field v-model="submitData.lawEnforcementBasis" v-show="false" /> <van-field v-model="submitData.lawEnforcementBasis" v-show="false" />
<!-- <van-field--> <!-- <van-field-->
<!-- v-model="submitData.reslut"--> <!-- v-model="submitData.reslut"-->
@ -251,6 +261,8 @@ const data = reactive({
isNoScan: false, isNoScan: false,
lawChecked: false, lawChecked: false,
lawContent: "", lawContent: "",
lawList: [{text:"", id:""}],
lawCliekFlag: 0,
}); });
var fileSize = 0; var fileSize = 0;
//保存参数 //保存参数
@ -278,6 +290,7 @@ const submitData = reactive({
lawEnforcementItemText:"", lawEnforcementItemText:"",
//执法依据 //执法依据
lawEnforcementBasis:"", lawEnforcementBasis:"",
lawEnforcementBasisText:"",
//执法结果 //执法结果
reslut:0, reslut:0,
//备注 //备注
@ -451,6 +464,7 @@ const gaCancel = () => {
const dataFillIn = () => { const dataFillIn = () => {
// getRegByUserIdAndZero(useCommon.userId,success =>{ // getRegByUserIdAndZero(useCommon.userId,success =>{
getByUserIdAndEnterpriseNumber(useCommon.userId, submitData.enterpriseNumber,success =>{ getByUserIdAndEnterpriseNumber(useCommon.userId, submitData.enterpriseNumber,success =>{
console.log("========> : ", success);
//跳转企业二维码地址 //跳转企业二维码地址
if(success.success){ if(success.success){
Object.keys(submitData).forEach((item) => { Object.keys(submitData).forEach((item) => {
@ -463,6 +477,16 @@ const dataFillIn = () => {
// 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'];
submitData.lawEnforcementBasis = success.data['lawEnforcementBasis'];
submitData.lawEnforcementBasisText = success.data['lawEnforcementBasisText'];
var tmpBasis = submitData.lawEnforcementBasis.split(',');
var tmpBasisText = submitData.lawEnforcementBasisText.split(',');
data.lawList = [];
for (var i=0; i<tmpBasis.length; i++) {
data.lawList.push({
index: i, text:tmpBasisText[i], id:tmpBasis[i]
});
}
if(success.data['reslut']==0) { if(success.data['reslut']==0) {
tapGood(); tapGood();
} else { } else {
@ -470,7 +494,6 @@ const dataFillIn = () => {
} }
submitData.fileList = []; submitData.fileList = [];
submitData.fileListObj = []; submitData.fileListObj = [];
showSuccessToast('保存成功');
} }
},error=>{ },error=>{
console.log("保存失败") console.log("保存失败")
@ -480,6 +503,14 @@ const dataFillIn = () => {
const tmpSave = () => { const tmpSave = () => {
showSuccessToast('临时保存'); showSuccessToast('临时保存');
submitData.userId = useCommon.userId; submitData.userId = useCommon.userId;
submitData.lawEnforcementBasis = "";
submitData.lawEnforcementBasisText = "";
for (var i=0; i<data.lawList.length; i++) {
submitData.lawEnforcementBasis += data.lawList[i].id +",";
submitData.lawEnforcementBasisText += data.lawList[i].text +",";
}
submitData.lawEnforcementBasis = submitData.lawEnforcementBasis.substring(0, submitData.lawEnforcementBasis.length - 1);
submitData.lawEnforcementBasisText = submitData.lawEnforcementBasisText.substring(0, submitData.lawEnforcementBasisText.length - 1);
addEnforcementRegistration(submitData,success =>{ addEnforcementRegistration(submitData,success =>{
//跳转企业二维码地址 //跳转企业二维码地址
if(success.success){ if(success.success){
@ -494,6 +525,14 @@ const tmpSave = () => {
const submit = (type) =>{ const submit = (type) =>{
submitData.isSubmit = type; submitData.isSubmit = type;
submitData.userId = useCommon.userId; submitData.userId = useCommon.userId;
submitData.lawEnforcementBasis = "";
submitData.lawEnforcementBasisText = "";
for (var i=0; i<data.lawList.length; i++) {
submitData.lawEnforcementBasis += data.lawList[i].id +",";
submitData.lawEnforcementBasisText += data.lawList[i].text +",";
}
submitData.lawEnforcementBasis = submitData.lawEnforcementBasis.substring(0, submitData.lawEnforcementBasis.length - 1);
submitData.lawEnforcementBasisText = submitData.lawEnforcementBasisText.substring(0, submitData.lawEnforcementBasisText.length - 1);
form.value.validate().then(() => { form.value.validate().then(() => {
editEnforcementRegistration(submitData, success => { editEnforcementRegistration(submitData, success => {
//跳转首页 //跳转首页
@ -513,9 +552,13 @@ const showPopup = () =>{
const showPopup2 = () =>{ const showPopup2 = () =>{
data.popupVisible2 = true; data.popupVisible2 = true;
} }
const showPopupqz = () =>{ const showPopupqz = (flag) =>{
data.lawCliekFlag = flag;
data.popupVisibleqz = true; data.popupVisibleqz = true;
} }
const addField = () =>{
data.lawList.push({ text:"", id:"" });
}
const closePopup = () =>{ const closePopup = () =>{
data.popupVisible = false; data.popupVisible = false;
data.popupVisible2 = false; data.popupVisible2 = false;
@ -535,10 +578,11 @@ const reciveData2 = (item) =>{
submitData.subsidiaryerText = item.userName; submitData.subsidiaryerText = item.userName;
} }
const reciveDataqz = (item) =>{ const reciveDataqz = (item) =>{
console.log(item); data.lawList[data.lawCliekFlag].id = item.id;
submitData.lawEnforcementBasis = item.id; data.lawList[data.lawCliekFlag].text = item.lawName;
// submitData.lawEnforcementBasis = item.id;
// submitData.subsidiaryerText = item.userName + " " + item.lawCertificateNum; // submitData.subsidiaryerText = item.userName + " " + item.lawCertificateNum;
data.lawEnforcementBasisText = item.lawName; // data.lawEnforcementBasisText = item.lawName;
} }
const reciveLaw = (item) => { const reciveLaw = (item) => {
submitData.lawId = item.id; submitData.lawId = item.id;

2
src/views/enforce/zqyjjdmFilter.vue

@ -18,7 +18,7 @@
<div class="search-result"> <div class="search-result">
<div class="case-item" v-for="(item, index) in dataList" :key="index" @click="selectData(item)"> <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-title">法律名称:{{ item.lawName }}</div>
<div class="case-time">内容:{{ item.content }}</div> <!-- <div class="case-time">内容:{{ item.content }}</div>-->
</div> </div>
</div> </div>
</div> </div>

179
src/views/login.vue

@ -1,67 +1,70 @@
<template> <template>
<div class="login-page"> <div class="login-page">
<div class="login-content"> <div class="login-content">
<van-nav-bar > <van-nav-bar>
<template #title> <template #title>
<div class="title"> <div class="title">
登录 登录
</div> </div>
</template> </template>
</van-nav-bar> </van-nav-bar>
<van-form @submit="onSubmit"> <van-form @submit="onSubmit">
<van-field v-model="loginParam.secretName" name="secretName" label="用户名" placeholder="用户名" <van-field v-model="loginParam.secretName" name="secretName" label="用户名" placeholder="用户名"
:rules="[{ required: true, message: '请填写用户名' }]" /> :rules="[{ required: true, message: '请填写用户名' }]"/>
<van-field v-model="loginParam.secretKey" type="password" name="secretKey" label="密码" placeholder="密码" <van-field v-model="loginParam.secretKey" type="password" name="secretKey" label="密码" placeholder="密码"
:rules="[{ required: true, message: '请填写密码' }]" /> :rules="[{ required: true, message: '请填写密码' }]"/>
<div style="margin: 0.42rem"> <div style="margin: 0.42rem">
<van-button block type="primary" native-type="submit">登录</van-button> <van-button block type="primary" native-type="submit">登录</van-button>
</div> </div>
</van-form> </van-form>
<router-link to="/register" class="link">还没有账号,去注册</router-link> <router-link to="/register" class="link">还没有账号,去注册</router-link>
</div> </div>
</div> </div>
</template> </template>
<script setup> <script setup>
import { reactive } from 'vue'; import {reactive} from 'vue';
import {userLogin, testLogin} from '../api/Home'; import {userLogin, testLogin} from '../api/Home';
import CryptoJS from "crypto-js"; import CryptoJS from "crypto-js";
const { useCommon } = $globalStore;
const router = useRouter(); const {useCommon} = $globalStore;
const loginParam = reactive({ const router = useRouter();
secretName:"", const loginParam = reactive({
secretKey:"" secretName: "",
}) secretKey: ""
const userLoginParam = {}; })
userLoginParam.username = loginParam.username; const userLoginParam = {};
userLoginParam.password = loginParam.password; userLoginParam.username = loginParam.username;
const onSubmit = async (values) => { userLoginParam.password = loginParam.password;
console.log(values); const onSubmit = async (values) => {
// await getGoodsnum(); // await getGoodsnum();
// await getLang(); // await getLang();
// values.secretName = values.name; // values.secretName = values.name;
values.secretKey = Encrypt(values.secretKey); values.secretKey = Encrypt(values.secretKey);
// return; // return;
// userLogin(values,success=>{ // userLogin(values,success=>{
testLogin({"secretName": loginParam.secretName, "secretKey": values.secretKey},success=>{ testLogin({"secretName": loginParam.secretName, "secretKey": values.secretKey}, success => {
console.log(success); if (success.success) {
// router.push({ name: "Home" }); // router.push({ name: "Home" });
router.push({ name: "enforceHome" }); router.push({name: "enforceHome"});
//设置全局变量 //设置全局变量
useCommon.SET_USER_PHONENUMBER(success.data.phonenumber.toString()); useCommon.SET_USER_PHONENUMBER(success.data.phonenumber.toString());
useCommon.SET_USER_ID(success.data.userId); useCommon.SET_USER_ID(success.data.userId);
useCommon.SET_TOKEN(success.data.token); useCommon.SET_TOKEN(success.data.token);
// 监听uni-app发送的消息 // 监听uni-app发送的消息
window.addEventListener('message', (event) => { window.addEventListener('message', (event) => {
console.log('Received message from uni-app:', event.data); console.log('Received message from uni-app:', event.data);
// 向uni-app返回消息 // 向uni-app返回消息
window.parent.postMessage('Hello, uni-app!', '*'); window.parent.postMessage('Hello, uni-app!', '*');
}); });
},error=>{ } else {
console.log("登录失败") console.log("登录失败")
}) }
}; }, error => {
console.log("登录失败")
})
};
const Encrypt = (passWord) =>{ const Encrypt = (passWord) => {
var keyStr = '1234567898745621'; var keyStr = '1234567898745621';
var ivStr = keyStr; var ivStr = keyStr;
var key = CryptoJS.enc.Utf8.parse(keyStr); var key = CryptoJS.enc.Utf8.parse(keyStr);
@ -77,33 +80,35 @@ const Encrypt = (passWord) =>{
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.login-page { .login-page {
width: 100%; width: 100%;
height: 100%; height: 100%;
display: flex; display: flex;
overflow: hidden; overflow: hidden;
background-image: url("~@/assets/images/login.jpg"); background-image: url("~@/assets/images/login.jpg");
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;
opacity: 0.9; opacity: 0.9;
.login-content {
margin: auto; .login-content {
padding: 0.27rem 0.27rem 0.52rem 0.27rem; margin: auto;
background-color: #fff; padding: 0.27rem 0.27rem 0.52rem 0.27rem;
border-radius: 0.27rem; background-color: #fff;
box-shadow: 0 0 0.27rem rgba(0, 0, 0, 0.2); border-radius: 0.27rem;
opacity: 0.9; box-shadow: 0 0 0.27rem rgba(0, 0, 0, 0.2);
.title{ opacity: 0.9;
font-size: 0.52rem;
font-weight: 600; .title {
font-size: 0.52rem;
font-weight: 600;
}
} }
}
.link { .link {
font-size: 0.32rem; font-size: 0.32rem;
color: #069; color: #069;
float: right; float: right;
margin-right: 0.4rem; margin-right: 0.4rem;
} }
} }
</style> </style>

Loading…
Cancel
Save