Browse Source

上线以来问题修改

v4
蟑螂恶霸 1 year ago
parent
commit
9736ed8e6b
  1. 2
      src/api/enforce.js
  2. 2
      src/api/enterprise.js
  3. 8
      src/store/Common.js
  4. 43
      src/views/administrative/appointmentDetail.vue
  5. 15
      src/views/administrative/appointmentRelaunch.vue
  6. 15
      src/views/enforce/earlyWarning.vue
  7. 19
      src/views/enforce/enforceNoticeDetail.vue
  8. 20
      src/views/enforce/enforcementPlanAdd.vue
  9. 15
      src/views/enforce/enterpriseWarningInfo.vue
  10. 5
      src/views/enforce/historyCheck.vue
  11. 2
      src/views/enforce/sign.vue
  12. 47
      src/views/enforceHome.vue
  13. 42
      src/views/enterprise/complaintList.vue
  14. 383
      src/views/enterprise/systemNoticeDetail.vue

2
src/api/enforce.js

@ -74,7 +74,7 @@ export const getByUserIdAndEnterpriseNumber = (modth, userId, enterpriseNumber,
export const getByIdToDataFillIn = (id, success, error) => _get("/app/code/registration/getByIdToDataFillIn/" + id,null,success,error) export const getByIdToDataFillIn = (id, success, error) => _get("/app/code/registration/getByIdToDataFillIn/" + id,null,success,error)
//查询历史检查信息 //查询历史检查信息
export const queryRegistrationList = (params, success, error) => _get("/app/code/registration/queryList",params,success,error) export const queryRegistrationList = (params, success, error) => _post("/app/code/registration/queryList",params,success,error)
export const queryRegistrationListNew = (params, success, error) => _get("/app/code/registration/queryListNew",params,success,error) export const queryRegistrationListNew = (params, success, error) => _get("/app/code/registration/queryListNew",params,success,error)

2
src/api/enterprise.js

@ -40,7 +40,7 @@ export const mssqQueryEndInfo = (params, success, error) => _get("/app/code/comp
export const toMssqAppraise = (params, success, error) => _post("/app/code/complaint/mssqAppraise",params,success,error) export const toMssqAppraise = (params, success, error) => _post("/app/code/complaint/mssqAppraise",params,success,error)
// 诉求工单评价页面 // 诉求工单评价页面
export const queryEnterpriseComplaintList = (params, success, error) => _get("/app/code/complaint/queryList",params,success,error) export const queryEnterpriseComplaintList = (params, success, error) => _post("/app/code/complaint/queryList",params,success,error)
export const getObjByKey = (params, success, error) => _get("/app/satisfy/getObjByKey/"+params,null,success,error) export const getObjByKey = (params, success, error) => _get("/app/satisfy/getObjByKey/"+params,null,success,error)
export const mssqDownFiles = (params, success, error) => _post("/app/satisfy/mssqDownFiles",params,success,error) export const mssqDownFiles = (params, success, error) => _post("/app/satisfy/mssqDownFiles",params,success,error)
export const mssqDownFile = (params, success, error) => _post("/app/satisfy/mssqDownFile",params,success,error) export const mssqDownFile = (params, success, error) => _post("/app/satisfy/mssqDownFile",params,success,error)

8
src/store/Common.js

@ -18,7 +18,9 @@ export default defineStore('useCommon', {
//当前登录用户的手机号 //当前登录用户的手机号
phonenumber:"", phonenumber:"",
//是否初始化加载 //是否初始化加载
firstLoad: true firstLoad: true,
// 是否执法人员
hasLaw: true,
}), }),
getters: {}, getters: {},
actions: { actions: {
@ -58,6 +60,10 @@ export default defineStore('useCommon', {
SET_USER_PHONENUMBER(data){ SET_USER_PHONENUMBER(data){
this.phonenumber = data; this.phonenumber = data;
}, },
//设置是否执法人员
SET_HAS_LAW(data){
this.hasLaw = data;
},
// 获取多语言数据 // 获取多语言数据
async getLang(params) { async getLang(params) {
let url = $globalRequestUrl({ let url = $globalRequestUrl({

43
src/views/administrative/appointmentDetail.vue

@ -91,15 +91,19 @@
/>--> />-->
<div class="one-label"> <div class="one-label">
<van-field <!-- <van-field
v-show="data.lawCer.length===0" v-show="data.lawCer.length===0"
label="执法人员" label="执法人员"
readonly readonly
/> -->
<van-field
v-model="submitData.lawEnforcerText" readonly
label="执法人员"
/> />
<van-field class="no-label" <van-field class="add-box"
v-for="(item, index) in data.lawCer" :key="index" v-for="(item, index) in data.lawCer" :key="index"
v-model="item.show" v-model="item.show"
:label="index== 0 ? '执法人员' : ' '" :label="index== 0 ? ' ' : ' '"
readonly readonly
/> />
</div> </div>
@ -215,7 +219,7 @@
deptContent: '', deptContent: '',
mainDeputyOrder: 1, mainDeputyOrder: 1,
lawCerFlag: 0, lawCerFlag: 0,
lawCer:[{ text:"", id:"", show:"", num:"" }], lawCer:[],
showIsCancel: ref(false) showIsCancel: ref(false)
}); });
//保存参数 //保存参数
@ -401,22 +405,15 @@
if (success.data.userObjs.length > 1) { if (success.data.userObjs.length > 1) {
data.checked = true; data.checked = true;
} }
// submitData.deptTexts = ""; // 执法人员
// submitData.deptObjs = [];
// for (var i=0; i<success.data.deptObjs.length; i++) {
// submitData.deptTexts += success.data.deptObjs[i].deptName+";";
// submitData.deptObjs.push({ deptId: success.data.deptObjs[i].deptId, deptName: success.data.deptObjs[i].deptName });
// }
submitData.userObjs = []; submitData.userObjs = [];
console.log("success.data.userObjs : ", success.data.userObjs); console.log("success.data.userObjs : ", success.data.userObjs);
for (var i=0; i<success.data.userObjs.length; i++) { for (var i=0; i<success.data.userObjs.length; i++) {
submitData.userObjs.push({ strUserId: success.data.userObjs[i].strUserId, userName: success.data.userObjs[i].userName, deptId: success.data.userObjs[i].deptId, deptName: success.data.userObjs[i].deptName }); var userInfo_tmp = success.data.userObjs[i]
submitData.userObjs.push({ strUserId: userInfo_tmp.strUserId, userName: userInfo_tmp.userName, deptId: userInfo_tmp.deptId, deptName: userInfo_tmp.deptName });
let tmplawno = null == userInfo_tmp.lawCertificateNum?'':userInfo_tmp.lawCertificateNum;
data.lawCer.push({ id: userInfo_tmp.strUserId, text: userInfo_tmp.userName, num: userInfo_tmp.lawCertificateNum, show: userInfo_tmp.userName +" "+ tmplawno });
} }
// if(success.data['checkTimeOrder'] == 1){
// submitData.checkTimeOrderText = "9:00 ~ 12:00"
// }else{
// submitData.checkTimeOrderText = "14:00 ~ 17:00"
// }
if(success.data.checkTimeOrder == 1){ if(success.data.checkTimeOrder == 1){
submitData.checkTime = submitData.checkTime + " 上午 9:00~12:00"; submitData.checkTime = submitData.checkTime + " 上午 9:00~12:00";
}else{ }else{
@ -436,20 +433,6 @@
data.lawCer.push({text: tmpEnforceText[i], id: tmpEnforceId[i], show: nameCorrect(lawEnforcer2Show[i])}); data.lawCer.push({text: tmpEnforceText[i], id: tmpEnforceId[i], show: nameCorrect(lawEnforcer2Show[i])});
} }
} }
//查询当前登录人员信息
// if (submitData.isSubmit == 0) {
// queryUserInfo(useCommon.userId,success =>{
// console.log("queryUserInfo : ", success.data)
// submitData.lawEnforcer = success.data.userName;
// submitData.lawCertificateNum = success.data.lawCertificateNum
// submitData.lawEnforcerText = nameCorrect(submitData.lawEnforcer +" "+ submitData.lawCertificateNum)
// submitData.lawEnforcerText = submitData.lawEnforcer
// submitData.lawEnforcerId = success.data.userId;
// submitData.lawEnforcement = success.data.dept.deptName;
// submitData.lawEnforcementId = success.data.dept.deptId;
// },error=>{});
// }
} }
},error=>{ },error=>{
console.log("保存失败") console.log("保存失败")

15
src/views/administrative/appointmentRelaunch.vue

@ -95,10 +95,14 @@
:rules="[{ required: true, message: '必填项' }]" :rules="[{ required: true, message: '必填项' }]"
/> />
<van-field <!-- <van-field
v-show="data.lawCer.length===0" v-show="data.lawCer.length===0"
readonly readonly
label="执法人员" label="执法人员"
/> -->
<van-field
v-model="submitData.lawEnforcerText" readonly
label="执法人员"
/> />
<div class="add-box"> <div class="add-box">
<div v-for="(item, index) in data.lawCer" :key="index"> <div v-for="(item, index) in data.lawCer" :key="index">
@ -106,7 +110,7 @@
{{index+1}}</label> <a>删除</a></div> --> {{index+1}}</label> <a>删除</a></div> -->
<van-field <van-field
v-model="item.show" v-model="item.show"
:label="index== 0 ? '执法人员' : ' '" :label="index== 0 ? ' ' : ' '"
readonly readonly
clickable clickable
:right-icon="(data.lawCer.length - index ) == 1 ? 'add-o' : 'close'" :right-icon="(data.lawCer.length - index ) == 1 ? 'add-o' : 'close'"
@ -403,6 +407,8 @@
} }
const reciveDept = (item) => { const reciveDept = (item) => {
console.log("----------------->>")
submitData.deptTexts = ""; submitData.deptTexts = "";
submitData.deptObjs = []; submitData.deptObjs = [];
submitData.userObjs = []; submitData.userObjs = [];
@ -477,11 +483,12 @@
// 执法部门 // 执法部门
submitData.bureauDeptName = success.data.bureauDeptName; submitData.bureauDeptName = success.data.bureauDeptName;
// 执法人员 // 执法人员
submitData.lawEnforcerText = success.data.lawEnforcement; submitData.lawEnforcerText = success.data.lawEnforcer +' '+ success.data.lawEnforcerText;
console.log("dateFillInUser",success.data.userObjs) console.log("dateFillInUser",success.data.userObjs)
for (var i=0; i<success.data.userObjs.length; i++) { for (var i=0; i<success.data.userObjs.length; i++) {
var userInfo_tmp = success.data.userObjs[i] var userInfo_tmp = success.data.userObjs[i]
data.lawCer.push({ id: userInfo_tmp.strUserId, text: userInfo_tmp.userName, num: userInfo_tmp.lawCertificateNum, show: userInfo_tmp.userName +" "+ userInfo_tmp.lawCertificateNum }); let tmplawno = null == userInfo_tmp.lawCertificateNum?'':userInfo_tmp.lawCertificateNum;
data.lawCer.push({ id: userInfo_tmp.strUserId, text: userInfo_tmp.userName, num: userInfo_tmp.lawCertificateNum, show: userInfo_tmp.userName +" "+ tmplawno });
} }
if (success.data.userObjs.length===0) { if (success.data.userObjs.length===0) {
// 执法人员 // 执法人员

15
src/views/enforce/earlyWarning.vue

@ -135,7 +135,7 @@
<!-- <div class="timtit">{{ t.lawEnforcementItemText }}</div> --> <!-- <div class="timtit">{{ t.lawEnforcementItemText }}</div> -->
<div class="timtit">{{ t.enforcementTime }}</div> <div class="timtit">{{ t.enforcementTime }}</div>
<!-- <div class="prolist"><label>检查时间:</label><span>{{ t.createTime }}</span></div> --> <!-- <div class="prolist"><label>检查时间:</label><span>{{ t.createTime }}</span></div> -->
<div class="prolist"><label>检查部门:</label><span>{{ t.lawEnforcement }}</span></div> <div class="prolist"><label>检查部门:</label><span>{{ t.bureauDeptName }}</span></div>
</div> </div>
</div> </div>
@ -264,7 +264,7 @@
}else if (data.isSelectNum) { }else if (data.isSelectNum) {
data.warnText = "近30天 搜索次数为"+searchParam.numLeft+"至"+searchParam.numRight; data.warnText = "近30天 搜索次数为"+searchParam.numLeft+"至"+searchParam.numRight;
}else { }else {
data.warnText = "企业过多,请输入关键字进行查询"; data.warnText = "请输入关键字进行查询";
// data.warnText = "近30天 被检查数量:"+success.total+"家 总计检查次数:"+success.msg+"次"; // data.warnText = "近30天 被检查数量:"+success.total+"家 总计检查次数:"+success.msg+"次";
} }
if (!data.isSelectTime && (searchParam.searchValue==null || searchParam.searchValue==="")) { if (!data.isSelectTime && (searchParam.searchValue==null || searchParam.searchValue==="")) {
@ -516,11 +516,14 @@
for (let index = 0; index < data.dataList.length; index++) { for (let index = 0; index < data.dataList.length; index++) {
const element = data.dataList[index]; const element = data.dataList[index];
if(element.id == id){ if(element.id == id){
if(element.show){ // if(element.show){
element.show = false; // element.show = false;
// }else{
// element.show = true;
// }
element.show = !element.show;
} else { } else {
element.show = true; element.show = false;
}
} }
} }
searchParam.enterpriseNumber = ""; searchParam.enterpriseNumber = "";

19
src/views/enforce/enforceNoticeDetail.vue

@ -2,14 +2,14 @@
<div class="address_edit"> <div class="address_edit">
<div class="warp_body"> <div class="warp_body">
<!-- <div style="padding: 10px;background-color: white; border-radius: 5%;" v-html="data.noticeContent"></div> <div style="padding: 10px;background-color: white; border-radius: 0%;" v-html="data.noticeContent"></div>
<div v-for="(item, index) in data.fileList" :key="index"> <div v-for="(item, index) in data.fileList" :key="index">
<div class="item-text"> <div class="attach-cont">
<p><label class="card_box_label">附&nbsp; &nbsp; &nbsp; &nbsp;件:</label> <span> <a @click="toPdfView(null==item?'':item.fileUrl)">{{ null==item?'':item.fileName }}</a></span></p> <div class="attach-item"><i></i><span><a @click="toPdfView(null==item?'':item.fileUrl)">{{ null==item?'':item.fileName }}</a></span></div>
</div>
</div> </div>
</div>--> <!-- <van-form @failed="onFailed" ref="form">
<van-form @failed="onFailed" ref="form">
<van-cell-group> <van-cell-group>
<div class="notice-title"><h3>日常通知测试</h3> <div class="notice-title"><h3>日常通知测试</h3>
<div class="pub-dept">深圳市司法局</div> <div class="pub-dept">深圳市司法局</div>
@ -36,15 +36,12 @@
  <p>(七)其他问题。吃拿卡要,收受或索取财物;指定购买商品服务、接受有偿服务;办关系案、人情案、金钱案等以权谋私、权力寻租的问题等情形。</p>   <p>(七)其他问题。吃拿卡要,收受或索取财物;指定购买商品服务、接受有偿服务;办关系案、人情案、金钱案等以权谋私、权力寻租的问题等情形。</p>
</div> </div>
<div class="attach-cont"> <div class="attach-cont" v-for="(item, index) in data.fileList" :key="index">
<div class="attach-item"><i></i><span>深圳市司法局公开征集我市涉企行政执法突出问题线索有关事项公告附件.pdf</span></div> <div class="attach-item"><i></i><span><a @click="toPdfView(null==item?'':item.fileUrl)">深圳市司法局公开征集我市涉企行政执法突出问题线索有关事项公告附件.pdf</a></span></div>
</div> </div>
</van-cell-group> </van-cell-group>
</van-form> </van-form> -->
</div> </div>
</div> </div>
</template> </template>

20
src/views/enforce/enforcementPlanAdd.vue

@ -159,10 +159,10 @@
/> />
<div class="file-upload"> <div class="file-upload">
<div class="file-upload-center"> <div class="file-upload-center">
<label>附&nbsp; &nbsp; &nbsp; &nbsp;件</label> <span>(仅限PDF文档,50MB以下)</span> <label>附&nbsp; &nbsp; &nbsp; &nbsp;件</label> <span>(仅限PDF文档,5MB以下)</span>
<span class="down-mod"><van-icon name="upgrade" /><a @click="downloadFile">模板下载</a></span> <span class="down-mod"><van-icon name="upgrade" /><a @click="downloadFile">模板下载</a></span>
</div> </div>
<van-uploader v-model="data.fileListObj" max-count="1" class="file" :after-read="uploadFiles" <van-uploader v-model="data.fileListObj" max-count="1" :max-size="5 * 1024 * 1024" class="file" :after-read="uploadFiles"
multiple @oversize="onOversize" :before-delete="deleteFile" accept=".pdf" :before-read="beforeRead"> multiple @oversize="onOversize" :before-delete="deleteFile" accept=".pdf" :before-read="beforeRead">
<template #preview-cover="{ file }"> <template #preview-cover="{ file }">
<div class="preview-cover van-ellipsis">{{ file.name }}</div> <div class="preview-cover van-ellipsis">{{ file.name }}</div>
@ -170,7 +170,7 @@
</van-uploader> </van-uploader>
</div> </div>
<div class="warning-rule"> <div class="warning-rule">
<span><van-icon name="warning-o" /></span>仅支持上传50MB以下的PDF格式文档 <span><van-icon name="warning-o" /></span>仅支持上传5MB以下的PDF格式文档
</div> </div>
</van-cell-group> </van-cell-group>
<van-action-bar> <van-action-bar>
@ -270,9 +270,9 @@
//计划名称 //计划名称
planName: "", planName: "",
//执法部门 //执法部门
enforcementDepartment: "", enforcementDepartment: "123",
//执法部门ID //执法部门ID
enforcementDepartmentId: "", enforcementDepartmentId: "123",
//执法时间 //执法时间
enforcementTime: formattedTime(new Date()), enforcementTime: formattedTime(new Date()),
//执法区域 //执法区域
@ -301,14 +301,14 @@
const addPlan = (val) =>{ const addPlan = (val) =>{
submitData.isPublish = val; submitData.isPublish = val;
addEnforcementInspectionProgram(submitData, success => { addEnforcementInspectionProgram(submitData, success => {
console.log(success)
//跳转企业二维码地址 //跳转企业二维码地址
if (success.success) { if (success.success) {
console.log("保存成功");
data.showIsPublish = false; data.showIsPublish = false;
showSuccessToast('保存成功'); showSuccessToast('保存成功');
goBack(); router.push(
{
path: "enforcementPlanBase"
});
} }
}, error => { }, error => {
console.log("保存失败"); console.log("保存失败");
@ -577,7 +577,7 @@
},{deep:true}) },{deep:true})
const beforeRead = (file) => { const beforeRead = (file) => {
console.log(file.type) console.log(file)
if (file.type !== 'application/pdf') { if (file.type !== 'application/pdf') {
showToast('请上传 pdf 格式文件'); showToast('请上传 pdf 格式文件');
return false; return false;

15
src/views/enforce/enterpriseWarningInfo.vue

@ -38,7 +38,7 @@
<!-- <div class="timtit">{{ t.lawEnforcementItemText }}</div> --> <!-- <div class="timtit">{{ t.lawEnforcementItemText }}</div> -->
<div class="timtit">{{ t.createTime }}</div> <div class="timtit">{{ t.createTime }}</div>
<!-- <div class="prolist"><label>检查时间:</label><span>{{ t.createTime }}</span></div> --> <!-- <div class="prolist"><label>检查时间:</label><span>{{ t.createTime }}</span></div> -->
<div class="prolist"><label>检查部门:</label><span>{{ t.lawEnforcement }}</span></div> <div class="prolist"><label>检查部门:</label><span>{{ t.bureauDeptName }}</span></div>
</div> </div>
</div> </div>
</div> </div>
@ -276,13 +276,14 @@ const warnListInfoList = ref([])
for (let index = 0; index < data.dataList.length; index++) { for (let index = 0; index < data.dataList.length; index++) {
const element = data.dataList[index]; const element = data.dataList[index];
if(element.id == id){ if(element.id == id){
if(element.show){ // if(element.show){
element.show = false; // element.show = false;
}else{ // }else{
element.show = true; // element.show = true;
} // }
element.show = !element.show;
}else{ }else{
element.show = true; element.show = false;
} }
} }
},error =>{ },error =>{

5
src/views/enforce/historyCheck.vue

@ -210,6 +210,11 @@
const queryList = () => { const queryList = () => {
// searchParam.isSubmit = 1; // searchParam.isSubmit = 1;
searchParam.pageNum = (data.curPage-1)*searchParam.pageSize; searchParam.pageNum = (data.curPage-1)*searchParam.pageSize;
let params = {
pageNum: (data.curPage-1)*searchParam.pageSize,
pageSize: searchParam.pageSize
}
searchParam.params = params;
queryRegistrationList(searchParam, success => { queryRegistrationList(searchParam, success => {
data.curPage++; data.curPage++;
data.loading = false; // 查出结果停止加载 data.loading = false; // 查出结果停止加载

2
src/views/enforce/sign.vue

@ -804,6 +804,7 @@
// if (data.checked) { submitData.isUnite = 1; } // 原来的联合检查, 忘记咋用了, 就没用了. // if (data.checked) { submitData.isUnite = 1; } // 原来的联合检查, 忘记咋用了, 就没用了.
//联合检查 //联合检查
if (data.union_checked == 1) {submitData.hasUnion = 1;} else {submitData.unionNo = null;} if (data.union_checked == 1) {submitData.hasUnion = 1;} else {submitData.unionNo = null;}
submitData.uniteCheck = data.union_checked;
// 是否委托检查 // 是否委托检查
if (data.auth_checked) {submitData.hasAuto = 1;} if (data.auth_checked) {submitData.hasAuto = 1;}
@ -861,6 +862,7 @@
// if (data.checked) { submitData.isUnite = 1; } // 原来的联合检查, 忘记咋用了, 就没用了. // if (data.checked) { submitData.isUnite = 1; } // 原来的联合检查, 忘记咋用了, 就没用了.
//联合检查 //联合检查
if (data.union_checked == 1) {submitData.hasUnion = 1;} else {submitData.unionNo = null;} if (data.union_checked == 1) {submitData.hasUnion = 1;} else {submitData.unionNo = null;}
submitData.uniteCheck = data.union_checked;
// 是否委托检查 // 是否委托检查
if (data.auth_checked) {submitData.hasAuto = 1;} if (data.auth_checked) {submitData.hasAuto = 1;}

47
src/views/enforceHome.vue

@ -1,7 +1,7 @@
<template> <template>
<!-- <Loading class="loading-div" type="spinner" v-show="isLoading" color="#1989fa"/> <Loading class="loading-div" type="spinner" v-show="isLoading" color="#1989fa"/>
<div class="home app_content" v-if="!isLoading"> --> <div class="home app_content" v-if="!isLoading">
<div class="home app_content"> <!-- <div class="home app_content"> -->
<!-- 导航栏 --> <!-- 导航栏 -->
<!-- <div class="header_body"> <!-- <div class="header_body">
<header-nav :leftArrow="false" titelText="执法监督码"></header-nav> <header-nav :leftArrow="false" titelText="执法监督码"></header-nav>
@ -47,7 +47,7 @@
</div> </div>
<!-- 底部 --> <!-- 底部 -->
<div class="footer_body"> <div class="footer_body" v-if="useCommon.hasLaw">
<footer-enforcement-nav></footer-enforcement-nav> <footer-enforcement-nav></footer-enforcement-nav>
</div> </div>
</div> </div>
@ -55,7 +55,7 @@
<script setup name="Home"> <script setup name="Home">
import Vconsolefrom from 'vconsole'; import Vconsolefrom from 'vconsole';
import {Loading, showFailToast,showToast} from 'vant'; import {Loading, showFailToast,showToast, showSuccessToast} from 'vant';
import {getEnterpriseMerchantAuthorization, getSzyptLoginAuth} from '../api/Home'; import {getEnterpriseMerchantAuthorization, getSzyptLoginAuth} from '../api/Home';
import {queryEnforcementNotice} from "@/api/enforce"; import {queryEnforcementNotice} from "@/api/enforce";
@ -128,13 +128,21 @@
/**扫码入企 */ /**扫码入企 */
const toScanCodeView = async () => { const toScanCodeView = async () => {
if (useCommon.hasLaw) {
// 执法人员才有权限进入
router.push({path: "/enforce/scanQrCode"}); router.push({path: "/enforce/scanQrCode"});
} else {
showFailToast('需执法权限');
}
}; };
const toRegistrationListView = async () => { const toRegistrationListView = async () => {
router.push({ if (useCommon.hasLaw) {
path: "/historyCheck", // 执法人员才有权限进入
}); router.push({path: "/historyCheck"});
} else {
showFailToast('需执法权限');
}
} }
const toComplaintView = async () => { const toComplaintView = async () => {
router.push({ router.push({
@ -142,12 +150,13 @@
}); });
} }
const toAnalyseView = async () => { const toAnalyseView = async () => {
/* router.push({ /* router.push({path: "/analyse"}); */
path: "/analyse", if (useCommon.hasLaw) {
}); */ // 执法人员才有权限进入
router.push({ router.push({path: "/comprehensiveAnalysis"});
path: "/comprehensiveAnalysis", } else {
}); showFailToast('需执法权限');
}
} }
const toNoticeView = async () => { const toNoticeView = async () => {
router.push({ router.push({
@ -265,11 +274,11 @@
queryList(); queryList();
// 如果不是执法用户 则跳转 // 如果不是执法用户 则跳转
if (!success.data.lawOfficer) { if (!success.data.lawOfficer) {
router.replace( router.replace({ path: "/noAccess" });
{ // 给上是否执法人员标识
path: "/noAccess" useCommon.SET_HAS_LAW(false);
}); isLoading.value = true;
isLoading.value = false; console.log(useCommon.hasLaw)
} }
}, error => { }, error => {
queryList(); queryList();

42
src/views/enterprise/complaintList.vue

@ -77,14 +77,14 @@
<div @click="toComplaint(item.id)"> <div @click="toComplaint(item.id)">
<div class="van-hairline--bottom"></div> <div class="van-hairline--bottom"></div>
<!-- <div class="card_box_span card-title"> <!-- <div class="card_box_span" v-if="item.enforceType != 3"> -->
<p>{{ item.lawEnforcementItemText }}</p> <div class="card_box_span" v-if="null == item.complaintDepartmentList || item.complaintDepartmentList.length <= 0">
</div> --> <!-- <p><label class="card_box_label">投诉对象:</label> <span>{{ item.lawEnforcementIncident }}</span> -->
<div class="card_box_span" v-if="item.enforceType != 3">
<p><label class="card_box_label">投诉对象:</label> <span>{{ item.bureauDeptName }}</span> <p><label class="card_box_label">投诉对象:</label> <span>{{ item.bureauDeptName }}</span>
</p> </p>
</div> </div>
<div class="card_box_span" v-if="item.enforceType == 3"> <!-- <div class="card_box_span" v-if="item.enforceType == 3"> -->
<div class="card_box_span" v-else>
<p><label class="card_box_label">投诉对象:</label> <p><label class="card_box_label">投诉对象:</label>
<!-- {{ item.complaintDepartments }} --> <!-- {{ item.complaintDepartments }} -->
<div> <div>
@ -230,28 +230,34 @@
} }
const queryList = () => { const queryList = () => {
searchParam.pageNum = (data.curPage-1)*searchParam.pageSize; searchParam.pageNum = (data.curPage-1)*searchParam.pageSize;
let params = {
pageNum: (data.curPage-1)*searchParam.pageSize,
pageSize: searchParam.pageSize
}
searchParam.params = params;
searchParam.enterpriseNumber = useCommon.enterpriseNumber; searchParam.enterpriseNumber = useCommon.enterpriseNumber;
queryEnterpriseComplaintList(searchParam, success => { queryEnterpriseComplaintList(searchParam, success => {
data.curPage++; data.curPage++;
data.loading = false; // 查出结果停止加载 data.loading = false; // 查出结果停止加载
// if (success.total <= data.dataList.length) { console.log("................................")
// // 查到最后没数据 if (success.total <= data.dataList.length) {
// data.finished = ref(true);
// return;
// }
if (success.rows.length ===0 ) {
// 查到最后没数据 // 查到最后没数据
data.finished = ref(true); data.finished = ref(true);
return; return;
} }
// if (success.rows.length ===0 ) {
// // 查到最后没数据
// data.finished = ref(true);
// return;
// }
// data.dataList = success.data; // data.dataList = success.data;
for (let index = 0; index < success.rows.length; index++) { // for (let index = 0; index < success.rows.length; index++) {
const element = success.rows[index]; // const element = success.rows[index];
if(element.enforceType == 3){ // if(element.enforceType == 3){
let arr = element.complaintDepartments.split(","); // let arr = element.complaintDepartments.split(",");
element.deptList = arr; // element.deptList = arr;
} // }
} // }
data.dataList.push(...success.rows); data.dataList.push(...success.rows);
}, error => { }, error => {
}) })

383
src/views/enterprise/systemNoticeDetail.vue

@ -2,70 +2,24 @@
<div class="address_edit"> <div class="address_edit">
<div class="warp_body"> <div class="warp_body">
<div style="background-color: white; border-radius: 5%;" v-html="data.noticeContent"></div> <div style="padding: 10px;background-color: white; border-radius: 0%;" v-html="data.noticeContent"></div>
<!-- <van-divider class="divdsty"/> --> <div v-for="(item, index) in data.fileList" :key="index">
<div class="file-upload"> <div class="attach-cont">
<div class="file-upload-center"> <div class="attach-item"><i></i><span><a @click="toPdfView(null==item?'':item.fileUrl)">{{ null==item?'':item.fileName }}</a></span></div>
<label>附&nbsp; &nbsp; &nbsp; &nbsp;件</label>
</div> </div>
<div class="zoom">
<div v-for="(ite, index) in data.images" >
<!-- <img alt="预览文件" :src="ite" @click="handleViewPdf(ite)"/>-->
<!-- <van-uploader @click="handleViewPdf(ite)" title="pdf预览" v-model="data.fileList"/>-->
<van-icon @click="handleViewPdf(ite)" name="newspaper-o" title="pdf预览" size="50"></van-icon>{{data.imagesName[index]}}
</div> </div>
<!-- pdf预览 -->
<van-popup v-model:show="pdfOpen" title="'pdf预览'" style="width:80%" >
<div style="min-height: 439px" >
<vue-pdf-embed ref="pdfRef" v-if="!pdfFail" :source="pdfSrc" @rendered="handleDocumentRender" @loading-failed="handlePdfFaid" />
</div>
<a :href="data.pdfSource" class="loadPdf" target="_blank">
<van-button type="primary" icon="Download" plain>下载</van-button>
</a>
<van-button @click="pdfOpen = false" type="primary" class="closePdf">关 闭</van-button>
</van-popup>
<!-- <img-->
<!-- v-for="(ite, index) in data.images"-->
<!-- class="img"-->
<!-- :src="ite"-->
<!-- alt="预览图片"-->
<!-- @click="imagePreview(index)"-->
<!-- :key="index"-->
<!-- />-->
<!-- <van-image-preview-->
<!-- v-model:show="data.show"-->
<!-- :images="data.imageList"-->
<!-- @change="onChange"-->
<!-- ref="imagePre"-->
<!-- >-->
<!-- <template v-slot:index>第{{ indexImg + 1 }}页</template>-->
<!-- </van-image-preview>-->
</div>
</div>
</div> </div>
</div> </div>
</template> </template>
<script setup name="register"> <script setup name="register">
import {showSuccessToast, showImagePreview} from "vant"; import { queryEnforceSystemNoticeDetail } from "@/api/enforce";
import { import {reactive, ref} from "vue";
queryEnforcementRegistrationById,
getAttr, queryEnforceSystemNoticeDetail,
} from "@/api/enforce";
import {reactive, ref, nextTick} from "vue";
import {uploadFile} from "@/util/fileUpload";
import {queryLinkageById} from "@/api/linkage";
import {baseUrl} from "@/config/env"; import {baseUrl} from "@/config/env";
import VuePdfEmbed from "vue-pdf-embed";
//用户筛选弹窗
// import Popup from './userFilter.vue';
const {useMy} = $globalStore; const {useMy} = $globalStore;
@ -84,7 +38,7 @@ const data = reactive({
imgstr: "", imgstr: "",
lawList: [{text: "", id: ""}], lawList: [{text: "", id: ""}],
lawCer: [{text: "", id: ""}], lawCer: [{text: "", id: ""}],
imageList: [], fileList: [],
show: ref(false), show: ref(false),
show2: ref(false), show2: ref(false),
dataList: [], dataList: [],
@ -153,160 +107,23 @@ const submitData = reactive({
problem4: 0, problem4: 0,
problem5: 0, problem5: 0,
}); });
const pdfOpen = ref(false);
const isLoading = ref(true);
const pdfSrc = ref('');
const pdfFail = ref(false);
// pdf加载
function handleDocumentRender(val) {
isLoading.value = false;
pdfFail.value = false;
}
// pdf加载失败,或者404
function handlePdfFaid(val) {
isLoading.value = false;
pdfFail.value = true;
console.log('文档加载失败');
}
// 点击 预览
function handleViewPdf(file) {
isLoading.value = true;
pdfOpen.value = true;
// pdfSrc.value = file;
pdfSrc.value = file;
pdfFail.value = false;
}
const tapGood = () => {
data.good = "#7FFFD4";
data.bad = "#D3D3D3";
submitData.reslut = 0;
};
const tapBad = () => {
data.good = "#D3D3D3";
data.bad = "#7FFFD4";
submitData.reslut = 1;
};
const indexImg = ref(0);
const indexImg2 = ref(0);
const imagePreview = (newIndex) => {
var imgstrArr = data.imgstr.split(",");
nextTick(() => {
// console.log(this.$refs.testRef)
// this.$refs.imagePre.change(newIndex)
// const imagePre = ref("imagePre");
// imagePre.change(newIndex);
});
data.show = ref(true);
};
const imagePreview2 = (newIndex) => {
var imgstrArr = data.imgstr.split(",");
nextTick(() => {
// console.log(this.$refs.testRef)
// this.$refs.imagePre.change(newIndex)
// const imagePre = ref("imagePre");
// imagePre.change(newIndex);
});
data.show2 = ref(true);
};
const setLinkageItem = (id) => {
queryLinkageById(
{id: id},
(success) => {
submitData.lawEnforcementItem = success.title;
},
(error) => {
}
);
};
const setLinkageGA = (id) => {
queryLinkageById(
{id: id},
(success) => {
submitData.lawEnforcementBasis = success.title;
},
(error) => {
}
);
};
const setAttr = () => {
// 查询检查要求字典信息
getAttr(
route?.query?.id,
(success) => {
if (success.data.filePreview != null) {
if (success.data.filePreview.fileList != null) {
for (var i = 0; i < success.data.filePreview.fileList.length; i++) {
data.imgstr += success.data.filePreview.fileList[i] + ",";
}
data.imgstr = data.imgstr.substring(0, data.imgstr.length - 1);
}
data.imageList = success.data.filePreview.fileList;
success.data.filePreview.fileList;
for (const key in success.data.filePreview.fileList) {
console.log(success.data.filePreview.fileList[key]);
data.imageList[key] = success.data.filePreview.fileList[key];
}
}
},
(error) => {
}
);
};
const setEvaluateFile = (id) => {
// 查询检查要求字典信息
getAttr(
id,
(success) => {
if (success.data.filePreview != null) {
if (success.data.filePreview.fileList != null) {
for (var i = 0; i < success.data.filePreview.fileList.length; i++) {
data.imgstr += success.data.filePreview.fileList[i] + ",";
}
data.imgstr = data.imgstr.substring(0, data.imgstr.length - 1);
}
data.evaluateImageList = success.data.filePreview.fileList;
success.data.filePreview.fileList;
for (const key in success.data.filePreview.fileList) {
console.log(success.data.filePreview.fileList[key]);
data.evaluateImageList[key] =
baseUrl + success.data.filePreview.fileList[key];
}
}
},
(error) => {
}
);
};
const onChange = (newIndex) => {
indexImg.value = newIndex;
};
const onChange2 = (newIndex) => {
indexImg2.value = newIndex;
};
//3a0096181c184e5aa56f70923680856d$6e74ceda1463c165fd43eeeadce4f7cd //3a0096181c184e5aa56f70923680856d$6e74ceda1463c165fd43eeeadce4f7cd
//初始化参数,获取扫码的企业统一信用编码 //初始化参数,获取扫码的企业统一信用编码
onMounted(() => { onMounted(() => {
queryRegUniteById(); queryRegUniteById();
}); });
const toPdfView = (url) => {
const showArrays = (item) => { console.log(url)
if (item.downShow) { router.push(
item.downShow = false; {
data.arrayLength = data.regList.length; path: "/pdfView",
} else { query: {
data.regList[0].downShow = true; url: url
data.arrayLength = 1; }
});
} }
};
const queryRegUniteById = () => { const queryRegUniteById = () => {
queryEnforceSystemNoticeDetail( queryEnforceSystemNoticeDetail(
@ -327,6 +144,7 @@ const convertReg = (regs) => {
data.noticeContent = regs.noticeContent; data.noticeContent = regs.noticeContent;
data.bureauDeptNames = regs.bureauDeptNames; data.bureauDeptNames = regs.bureauDeptNames;
data.createTime = regs.createTime; data.createTime = regs.createTime;
data.fileList = regs.fileObjects;
if (regs.objectType != null) { if (regs.objectType != null) {
if (regs.objectType == 1) { if (regs.objectType == 1) {
data.objectType = "监督端"; data.objectType = "监督端";
@ -339,99 +157,8 @@ const convertReg = (regs) => {
} }
} }
// 附件
getAttr(
data.id,
(success) => {
if (success.data.filePreview != null) {
let images = [];
let imagesName = [];
for (const key in success.data.filePreview.fileList) {
images[key] = baseUrl + success.data.filePreview.fileList[key];
data.imageList.push(
baseUrl + success.data.filePreview.fileList[key]
);
}
for (const key in success.data.filePreview.previewRespDTOS) {
imagesName[key] = success.data.filePreview.previewRespDTOS[key].caption;
}
data.imagesName = imagesName;
data.images = images;
}
console.log(data.imageList);
},
(error) => {
} }
);
}
// 返回
const goBack = () => {
router.go(-1);
};
const uploadFiles = (file) => {
uploadFile(file, (res) => {
console.log(res);
submitData.fileList.push(res.url);
console.log(submitData.fileList);
});
};
const deleteFile = (file, index) => {
console.log(index);
submitData.fileListObj.filter((item, indexs) => {
if (index.index == indexs) {
submitData.fileListObj.splice(indexs, 1); //splice 删除
}
});
submitData.fileList.filter((item, indexs) => {
if (index.index == indexs) {
submitData.fileList.splice(indexs, 1); //splice 删除
}
});
console.log(submitData.fileList);
return true;
};
const submit = () => {
addEnforcementRegistration(
submitData,
(success) => {
//跳转首页
if (success.success) {
showSuccessToast("登记成功");
router.push({path: "/home"});
}
},
(error) => {
console.log("登记失败");
}
);
};
const showPopup = () => {
data.popupVisible = true;
};
const showPopup2 = () => {
data.popupVisible2 = true;
};
const closePopup = () => {
data.popupVisible = false;
data.popupVisible2 = false;
};
const reciveData = (item) => {
submitData.lawEnforcerTwo = item.userName;
submitData.lawEnforcerIdTwo = item.userId;
};
const reciveData2 = (item) => {
submitData.subsidiaryer = item.userName;
submitData.subsidiaryerId = item.userId;
};
</script> </script>
<script> <script>
export default { export default {
@ -913,5 +640,81 @@ export default {
width: 20px; width: 20px;
opacity: 1; opacity: 1;
} }
.notice-title {
margin: 0;
padding: 2%;
width: 96%;
min-height: 1rem;
color: #999;
font-size: 0.3rem;
font-weight: 500;
line-height: 1.75;
text-align: center;
}
.notice-title h3 {
color: #000;
font-size: 0.5rem;
font-weight: 550;
line-height: 1.25;
text-align: center;
}
.notice-content {
margin: 4%;
width: 92%;
color: #333;
font-size: 0.35rem;
line-height: 2;
text-align: justify;
text-indent: 0.7rem;
}
.notice-content > p {
margin-block-start: 0;
margin-block-end: 0;
}
.attach-cont {
position: relative;
margin: 10% 2% 2%;
width: 96%;
min-height: 1rem;
background: #f2f3f4;
}
.attach-cont::before {
position: absolute;
box-sizing: border-box;
content: " ";
pointer-events: none;
top: -0.15rem;
left: 0;
width: 100%;
border-bottom: 0.02667rem solid var(--van-cell-border-color);
transform: scaleY(0.5);
}
.attach-item {
display: flex;
align-items: center;
margin: 2%;
padding: 2% 0;
width: 96%;
font-size: 0.3rem;
}
.attach-item > i {
display: inline-block;
position: relative;
top: 0;
left: 0;
margin: 0 0.3rem 0 0;
width: 0.8rem;
height: 0.8rem;
background: #d0eaf9 url(/src/assets/images/icon_attach.png) no-repeat center;
background-size: 60% auto;
}
</style> </style>

Loading…
Cancel
Save