Browse Source

补录, 历史登记修改

v3
蟑螂恶霸 2 years ago
parent
commit
2fd4b6581d
  1. 1
      src/api/enforce.js
  2. 40
      src/views/enforce/enforcementPlanAdd.vue
  3. 1
      src/views/enforce/historyCheck.vue
  4. 2
      src/views/enforce/noScanFilter.vue
  5. 14
      src/views/enforce/scanQrCode.vue
  6. 54
      src/views/enforce/sign.vue
  7. 4
      src/views/enterprise/registrationDetail.vue
  8. 194
      src/views/enterprise/registrationEdit.vue

1
src/api/enforce.js

@ -55,6 +55,7 @@ export const editEnforcementInspectionProgram = (params, success, error) =>_post
//保存执法信息登记
export const addEnforcementRegistration = (params, success, error) => _post("/app/code/registration/add",params,success,error)
export const editEnforcementRegistration = (params, success, error) => _post("/app/code/registration/edit",params,success,error)
export const editEnforcementRegistration2 = (params, success, error) => _post("/app/code/registration/edit2",params,success,error)
export const getRegByUserIdAndZero = (userId, success, error) => _get("/app/code/registration/getByUserIdAndZero/"+ userId,null,success,error)
export const getByUserIdAndEnterpriseNumber = (modth, userId, enterpriseNumber, success, error) => _get("/app/code/registration/getByUserIdAndEnterpriseNumber/"+ modth +"/"+ userId +"/"+ enterpriseNumber,null,success,error)
export const getByIdToDataFillIn = (id, success, error) => _get("/app/code/registration/getByIdToDataFillIn/" + id,null,success,error)

40
src/views/enforce/enforcementPlanAdd.vue

@ -171,6 +171,7 @@
</div>
<div class="warning-rule">
<span><van-icon name="warning-o" /></span>仅支持上传50MB以下的PDF格式文档<span></span>
<span><van-icon name="warning-o" /></span><a @click="downloadFile">模板下载</a><span></span>
</div>
</van-cell-group>
<van-action-bar>
@ -205,6 +206,9 @@
import {getYear,getMouth} from "@/util/timeUtil";
import {reactive, ref} from "vue";
import {showConfirmDialog} from 'vant';
import sha1 from "crypto-js/sha1";
import wx from "weixin-js-sdk";
import {szyptGetToken} from "../../api/Home";
const {useCommon, useMy} = $globalStore;
@ -379,6 +383,42 @@
// console.log(data)
}
const downloadFile = async () => {
var url = 'http://192.168.110.41:3301/#/pdfView?url=/profile/upload/2024/09/09/df8d2b5a9615603bdff8cf7fe0e2d836.pdf';
console.log(url);
szyptGetToken(param, success => {
let resMsg = success.data;
console.log(resMsg);
wx.config({
// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
debug: false,
// 必填,公众号的唯一标识
appId: resMsg.corpid,
// 必填,生成签名的时间戳
timestamp: resMsg.timestamp,
// 必填,生成签名的随机串
nonceStr: resMsg.nonceStr,
// 必填,签名,见附录1
signature: resMsg.signature,
// 必填,需要使用的JS接口列表,所有JS接口列表见附录2
jsApiList: ["scanQRCode"],
});
wx.ready(() => {
//微信扫一扫请求操作
wx.downloadImage({
serverId: '', // 需要下载的图片的服务器端ID,由uploadImage接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
var localId = res.localId; // 返回图片下载后的本地ID
}
});
});
wx.error((res) => {
console.log("获取失败");
});
}, error => {
});
}
const uploadFiles = (file) => {
uploadFile(file, (res) => {
console.log(file.fileName);

1
src/views/enforce/historyCheck.vue

@ -260,6 +260,7 @@
{
path: "/registrationEdit",
query: {
id: item.id,
enterpriseNumber: item.enterpriseNumber,
reason: item.enforce,
checkCss: item.checkCss,

2
src/views/enforce/noScanFilter.vue

@ -85,7 +85,7 @@ const props = defineProps( {
const refreshing = ref(false);
const curPage = ref(false);
const dicts = ref([]);
const reason = ref("");
const reason = ref("其它无法出示情况");
const checkCss = ref(0);
// watch: {
// 'searchParam.enterpriseName': {

14
src/views/enforce/scanQrCode.vue

@ -51,7 +51,7 @@
<!-- <div class="addinfo" @click="toRecord">补录</div>-->
<div class="record">仅限因特殊情形,需先检查,后登记相关检查信息,<a>补录 >></a></div>
<div class="record">仅限因特殊情形,需先检查,后登记相关检查信息,<a @click="toSign">补录 >></a></div>
</div>
<!-- <div class="recommend_box">
<van-cell :border="false" title="推荐" />
@ -255,14 +255,12 @@
const toSign = () => {
router.push({
path: "/record",
path: "/sign",
query: {
enterpriseNumber: data.enterpriseNumber,
// isNoScan: false,
reason: data.reason,
checkCss: data.checkCss,
isNoScan: data.isNoScan,
// enterpriseNumber: data.enterpriseNumber,
reason: '补录',
checkCss: 3,
isNoScan: true,
}
});
};

54
src/views/enforce/sign.vue

@ -12,11 +12,19 @@
<van-cell-group>
<div class="qy-name">企业信息</div>
<van-field
<van-field v-if="submitData.checkCss != 3"
v-model="submitData.enterpriseName"
label="企业名称"
:rules="[{ required: true, message: '必填项' }]"
placeholder="企业名称"
readonly="true"
/>
<van-field v-if="submitData.checkCss == 3"
v-model="submitData.enterpriseName"
label="企业名称"
:rules="[{ required: true, message: '必填项' }]"
placeholder="企业名称"
@click="data.popupCp = true"
/>
<van-field class="mult-line"
v-model="submitData.enterpriseNumber"
@ -113,22 +121,21 @@
<!-- <div class="addbtn" @click.stop="addField"><van-icon name="add-o" /></div> -->
</div>
<van-field v-model="submitData.lawEnforcementBasis" v-show="false"/>
<view v-if="data.isNoScan == 'true'">
<view v-if="data.isNoScan">
<!-- <van-field
v-model="submitData.enforce"
label="未扫码原因"
readonly
/> -->
<van-field v-if="submitData.checkCss==3"
v-model="submitData.enforceReason"
label="补录原因"
<van-field v-model="submitData.enforceReason"
label="原&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因"
rows="2"
autosize
type="textarea"
maxlength="100"
placeholder="请输入补录原因"
show-word-limit
readonly="true"
/>
</view>
<van-field
@ -241,6 +248,10 @@
<van-picker :columns="data.checkCategorys" @cancel="data.showCheckCategoryPicker = false" @confirm="onConfirmCheckCategory" />
</van-popup>
<popupcp :visible="data.popupCp" :content="data.popupCpContent" @close="closePopup"
@reciveData="reciveDataCp"/>
<DeptPopup :visible="data.deptChecked" :content="data.deptContent" @close="closePopup"
@reciveData="reciveDept"/>
@ -270,6 +281,7 @@
import LawPopup from './lawFilter.vue';
import PopupA from './assistUserFilter.vue';
import Popupzq from './zqyjjdmFilter.vue';
import popupcp from '../enterprise/companyFilter.vue';
import {getDict} from "../../api/Home";
import {queryLinkage, queryLinkageDictByValueAndParentId} from "../../api/linkage";
import {
@ -296,6 +308,8 @@
popupContent: '',
popupVisible2: false,
popupVisibleqz: false,
popupCp: false,
popupCpContent: '',
popupContent2: '',
popupContentqz: '',
showGA: false,
@ -472,9 +486,9 @@
onMounted(() => {
nameCorrect();
submitData.enterpriseNumber = route?.query?.enterpriseNumber;
submitData.enforce = route?.query?.reason;
submitData.checkCss = route?.query?.checkCss;
data.isNoScan = route?.query?.isNoScan;
submitData.enforceReason = route?.query?.reason;
submitData.checkCss = eval(route?.query?.checkCss);
data.isNoScan = eval(route?.query?.isNoScan);
// let dateLimit = new Date();
// data.maxDate = new Date(this.$moment(dateLimit).format('YYYY/MM/DD'));
@ -485,7 +499,8 @@
initCheckCategory();
// 数据填充
dataFillIn();
// if (!data.isNoScan) { dataFillIn('add'); }
//查询企业信息
getEnterpriseInformation(route?.query?.enterpriseNumber, success => {
@ -632,9 +647,9 @@
});
}
const dataFillIn = () => {
const dataFillIn = (modth) => {
// getRegByUserIdAndZero(useCommon.userId,success =>{
getByUserIdAndEnterpriseNumber("add", useCommon.userId, submitData.enterpriseNumber, success => {
getByUserIdAndEnterpriseNumber(modth, useCommon.userId, submitData.enterpriseNumber, success => {
//跳转企业二维码地址
if (success.success) {
console.log("============> : ", success.data);
@ -904,10 +919,18 @@
data.popupVisible = false;
data.popupVisible2 = false;
data.popupVisibleqz = false;
data.popupCp = false;
data.lawChecked = false;
data.deptChecked = false;
}
const reciveVisible = (item) => {
data.lawCer[data.lawCerFlag].id = item.userId;
data.lawCer[data.lawCerFlag].text = item.userName;
data.lawCer[data.lawCerFlag].num = item.lawCertificateNum;
data.lawCer[data.lawCerFlag].show = nameCorrect(item.userName + " " + item.lawCertificateNum);
}
const reciveData = (item) => {
data.lawCer[data.lawCerFlag].id = item.userId;
data.lawCer[data.lawCerFlag].text = item.userName;
@ -951,6 +974,12 @@
// submitData.subsidiaryerText = item.userName + " " + item.lawCertificateNum;
// data.lawEnforcementBasisText = item.lawName;
}
const reciveDataCp = (item) => {
submitData.enterpriseName = item.enterpriseName;
submitData.enterpriseNumber = item.enterpriseNumber;
// 填充数据
// dataFillIn('bulu');
}
const reciveLaw = (item) => {
submitData.lawId = item.id;
// submitData.lawText = item.checkItem;
@ -1061,7 +1090,6 @@
return s;
}
</script>
<style lang="less" scoped>
.tohome {
position: absolute;

4
src/views/enterprise/registrationDetail.vue

@ -129,7 +129,7 @@
<view v-if="null != submitData.enforce">
<van-field
v-model="submitData.enforce"
label="未扫码原因"
label="原&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因"
readonly
/>
</view>
@ -449,7 +449,7 @@ onMounted(() =>{
// submitData.lawEnforcerIdTwo = success.data.lawEnforcerIdTwo;
submitData.lawEnforcer = nameCorrect(success.data.lawEnforcer);
submitData.remark = success.data.remark;
submitData.enforce = success.data.enforce;
submitData.enforce = success.data.enforceReason;
// 执法领域
submitData.lawFieldText = success.data.lawFieldText;
// 执法类别

194
src/views/enterprise/registrationEdit.vue

@ -99,23 +99,32 @@
:rules="[{ required: true, message: '请选择检查类别' }]"
@click="data.showCheckCategoryPicker = true"
/>
<view v-if="data.isNoScan == 'true'">
<!-- <view v-if="data.isNoScan == 'true'">-->
<!-- <van-field-->
<!-- v-model="submitData.enforce"-->
<!-- label="未扫码原因"-->
<!-- readonly-->
<!-- placeholder="请选择"-->
<!-- is-link-->
<!-- />-->
<!-- <van-field v-if="submitData.checkCss==3"-->
<!-- v-model="submitData.enforceReason"-->
<!-- label="补录原因"-->
<!-- rows="2"-->
<!-- autosize-->
<!-- type="textarea"-->
<!-- maxlength="100"-->
<!-- placeholder="请输入补录原因"-->
<!-- show-word-limit-->
<!-- />-->
<!-- </view>-->
<view v-if="null != submitData.enforceReason">
<van-field
v-model="submitData.enforce"
label="未扫码原因"
v-model="submitData.enforceReason"
label="原&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因"
readonly
placeholder="请选择"
is-link
/>
<van-field v-if="submitData.checkCss==3"
v-model="submitData.enforceReason"
label="补录原因"
rows="2"
autosize
type="textarea"
maxlength="100"
placeholder="请输入补录原因"
show-word-limit
/>
</view>
@ -307,12 +316,14 @@
import { showSuccessToast } from 'vant';
import 'vant/es/toast/style';
import {addEnforcementRegistration, editEnforcementRegistration, getRegByUserIdAndZero, getByUserIdAndEnterpriseNumber, queryUserInfo} from '../../api/enforce'
import {addEnforcementRegistration, editEnforcementRegistration, editEnforcementRegistration2, getRegByUserIdAndZero, getByUserIdAndEnterpriseNumber, queryUserInfo} from '../../api/enforce'
import {getEnterpriseInformation} from '../../api/enterprise'
import {queryEnforcementRegistrationById, getAttr} from '@/api/enforce'
import { reactive, ref } from "vue";
import {nameCorrect, uploadFile} from "../../util/fileUpload";
import {formattedTime} from "@/util/util";
import Compressor from 'compressorjs'
import { formattedTimeYYYYmmdd } from'@/util/util';
//用户筛选弹窗
import DeptPopup from '../administrative/deptFilter.vue';
import Popup from '../enforce/userFilter.vue';
@ -380,9 +391,13 @@
lawEnforcerId:"",
lawCertificateNumText:"",
//执法人员2
lawEnforcerTwo: "",
lawEnforcerIdTwo: "",
lawEnforcerTwoId: "",
lawCertificateNum: "",
lawEnforcerTextTwo: "",
lawCertificateNumTwoText: "",
//辅助人员
subsidiaryer: "",
@ -393,6 +408,7 @@
lawEnforcementItemText:"",
//执法依据
lawEnforcementBasis:"",
lawEnforcementBasisText:"",
//执法结果
reslut:0,
//备注
@ -500,7 +516,9 @@
submitData.checkCss = route?.query?.checkCss;
data.isNoScan = route?.query?.isNoScan;
// 数据填充
dataFillIn();
// dataFillIn();
getObjById();
setAttr();
//查询企业信息
getEnterpriseInformation(route?.query?.enterpriseNumber,success =>{
@ -605,6 +623,133 @@
}
/* 检查要求 end */
const getObjById = () => {
queryEnforcementRegistrationById(route?.query?.id,success =>{
submitData.id = success.data.id;
submitData.enterpriseName = success.data.enterpriseName;
submitData.enterpriseNumber = success.data.enterpriseNumber;
// submitData.lawEnforcement = success.data.lawEnforcement;
//执法部门
submitData.lawEnforcement = success.data.bureauDeptName;
submitData.lawEnforcerTwo = success.data.lawEnforcerTwo;
submitData.subsidiaryer = success.data.subsidiaryer;
submitData.lawEnforcementId = success.data.lawEnforcementId;
submitData.lawEnforcementItem = success.data.lawEnforcementItem;
submitData.lawEnforcementItemText = success.data.lawEnforcementItemText;
// submitData.lawEnforcementBasis = success.data.lawEnforcementBasis;
// submitData.lawEnforcementBasisText = success.data.lawEnforcementBasisText;
// submitData.lawEnforcerIdTwo = success.data.lawEnforcerIdTwo;
submitData.lawEnforcer = nameCorrect(success.data.lawEnforcer);
submitData.remark = success.data.remark;
submitData.enforceReason = success.data.enforceReason;
// 执法领域
submitData.lawFieldText = success.data.lawFieldText;
// 执法类别
submitData.checkCategoryText = success.data.checkCategoryText;
// 检查时间
// submitData.enforcementTime = formattedTimeYYYYmmdd(success.data.enforcementTime);
submitData.enforcementTime = success.data.enforcementTime;
//评价信息
submitData.isEvaluate = success.data.isEvaluate;
if (null != success.data.enterpriseEvaluate && "" != success.data.enterpriseEvaluate) {
submitData.evaluateDescription = success.data.enterpriseEvaluate.evaluateDescription;
submitData.linkman = success.data.enterpriseEvaluate.linkman;
submitData.linkmanTel = success.data.enterpriseEvaluate.linkmanTel;
submitData.authorization = success.data.enterpriseEvaluate.authorization;
submitData.inspectionEfficiency = success.data.enterpriseEvaluate.inspectionEfficiency;
setEvaluateFile(success.data.enterpriseEvaluate.id)
}
if(success.data.reslut == 0){
data.good = "#7FFFD4";
data.bad = "#D3D3D3";
}else{
data.good = "#D3D3D3";
data.bad = "#7FFFD4";
}
// 执法依据
submitData.lawEnforcementBasis = success.data.lawEnforcementBasis;
submitData.lawEnforcementBasisText = success.data.lawEnforcementBasisText;
if ((null != submitData.lawEnforcementBasis && submitData.lawEnforcementBasis.length > 0)
&& (null != submitData.lawEnforcementBasisText && submitData.lawEnforcementBasisText.length > 0)) {
var tmpBasis = submitData.lawEnforcementBasis.split(',');
var tmpBasisText = submitData.lawEnforcementBasisText.split(',');
data.lawList = [];
for (var i = 0; i < tmpBasis.length; i++) {
data.lawList.push({text: tmpBasisText[i], id: tmpBasis[i]});
}
}
// 执法人员
submitData.lawEnforcerIdTwo = success.data.lawEnforcerIdTwo;
submitData.lawEnforcerTwo = success.data.lawEnforcerTwo;
var lawEnforcer2ShowStr = success.data.lawEnforcer2Show;
if ((null != submitData.lawEnforcerIdTwo && submitData.lawEnforcerIdTwo.length > 0)
&& (null != submitData.lawEnforcerTwo && submitData.lawEnforcerTwo.length > 0)) {
var tmpEnforceId = submitData.lawEnforcerIdTwo.split(',');
var tmpEnforceText = submitData.lawEnforcerTwo.split(',');
var lawEnforcer2Show = lawEnforcer2ShowStr.split(',');
data.lawCer = [];
for (var i = 0; i < tmpEnforceId.length; i++) {
data.lawCer.push({text: tmpEnforceText[i], id: tmpEnforceId[i], show: nameCorrect(lawEnforcer2Show[i])});
}
}
submitData.uniteCheck = success.data.uniteCheck;
// setLinkageItem(submitData.lawEnforcementItem);
// setLinkageGA(submitData.lawEnforcementBasis);
if(success.data.uniteCheck!= null && success.data.uniteCheck != ''){
selectRegistrationList({"uniteCheck":success.data.uniteCheck},success =>{
console.log(success.data);
for (let index = 0; index < success.data.length; index++) {
const element = success.data[index];
var arr = [];
// arr.push(nameCorrect(element.lawEnforcer));
// let tow = element.lawEnforcerTwo.split(",");
// for (const key in tow) {
// arr.push(nameCorrect(tow[key]));
// }
for (const key in element.lawEnforcer2List) {
arr.push(nameCorrect(element.lawEnforcer2List[key]));
}
var obj = {
"deptName": element.bureauDeptName,
"deptId": element.bureauDeptId,
"userList": arr
}
data.dataList.push(obj)
}
},error =>{
})
}
console.log(data.dataList)
},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 dataFillIn = () => {
// getRegByUserIdAndZero(useCommon.userId,success =>{
getByUserIdAndEnterpriseNumber("edit", useCommon.userId, submitData.enterpriseNumber,success =>{
@ -675,7 +820,6 @@
const tmpSave = () => {
showSuccessToast('临时保存');
submitData.userId = useCommon.userId;
if (submitData.lawCertificateNumText.length <= 0
|| submitData.bureauDeptName.length <= 0
// || submitData.lawFieldText.length <= 0
@ -690,11 +834,13 @@
//联合检查
// 处理回显附件
for (var k = 0; k < data.fileListObj.length; k++) {
var url = data.fileListObj[k].url;
if (null != url) {
submitData.fileList.push(url);
}
if (null != data.fileListObj) {
for (var k = 0; k < data.fileListObj.length; k++) {
var url = data.fileListObj[k].url;
if (null != url) {
submitData.fileList.push(url);
}
}
}
// 执法依据
@ -722,7 +868,7 @@
submitData.lawEnforcerTwo = submitData.lawEnforcerTwo.substring(0, submitData.lawEnforcerTwo.length - 1);
submitData.lawCertificateNum = submitData.lawCertificateNum.substring(0, submitData.lawCertificateNum.length - 1);
submitData.lawEnforcerTextTwo = submitData.lawEnforcerTextTwo.substring(0, submitData.lawEnforcerTextTwo.length - 1);
addEnterpriseLawEnforcement(submitData,success =>{
editEnforcementRegistration2(submitData,success =>{
data.overlayShow = false; // 遮罩层
//跳转企业二维码地址
if(success.success){

Loading…
Cancel
Save