You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1536 lines
57 KiB

<template>
<div class="address_edit">
<!-- 导航栏 -->
<!-- <div class="header_body">
<header-nav :slefBack="true" @goBack="goBack" :titelText="`执法信息登记`"></header-nav>
</div>-->
<span class="tohome" @click="toEnforceHomeView"><i class="van-badge__wrapper van-icon van-icon-wap-home-o"></i></span>
<!-- 中间 -->
<div class="warp_body">
<van-form @failed="onFailed" ref="form">
<van-cell-group>
<div class="qy-name">企业信息</div>
<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="企业名称"
required
is-link
:rules="[{ required: true, message: '必填项' }]"
placeholder="企业名称"
@click="data.popupCp = true"
/>
<van-field class="mult-line"
v-model="submitData.enterpriseNumber"
readonly
label="统一社会信用代码"
:rules="[{ required: true, message: '必填项' }]"
placeholder="统一社会信用代码"
/>
</van-cell-group>
<van-divider class="divdsty"/>
<van-cell-group>
<div class="zf-name">执法信息</div>
<van-field
v-model="submitData.lawText"
label="是否关联预告"
maxlength="100"
placeholder="请选择"
is-link
readonly
@click="data.lawChecked=true"
/>
<van-field
v-model="submitData.bureauDeptName"
label="执法单位"
readonly
required
:rules="[{ required: true, message: '请加载执法部门' }]"
/>
<van-field
v-model="submitData.lawCertificateNumText"
label="执法人员"
readonly
required
:rules="[{ required: true, message: '请加载执法人员' }]"
/>
<div class="add-box">
<div v-for="(item, index) in data.lawCer" :key="index">
<!-- <div class="item-delete" v-if="index>0" @click.stop="cancelUser(index)"><label>执法人员
{{index+1}}</label> <a>删除</a></div> -->
<van-field
v-model="item.show"
label=" "
readonly
clickable
:right-icon="(data.lawCer.length - index ) == 1 ? 'add-o' : 'close'"
@click-right-icon="(data.lawCer.length - index ) == 1 ? addLawCer(index) : cancelUser(index)"
:rules="[{ required: true, message: '必填项' }]"
placeholder="请选择"
@click-input="showPopup(index)"
/>
</div>
<!-- <div class="addbtn" @click.stop="addLawCer"><van-icon name="add-o" /></div> -->
</div>
<van-field
v-model="submitData.lawEnforceCategoryText"
label="执法类别"
placeholder="请选择"
is-link
readonly
required
:rules="[{ required: true, message: '请选择执法类别' }]"
@click="data.lawEnforceCategoryPicker = true"
/>
<van-field
v-model="submitData.checkCategoryText"
label="任务来源"
placeholder="请选择"
is-link
readonly
required
:rules="[{ required: true, message: '请选择任务来源' }]"
@click="data.showCheckCategoryPicker = true"
/>
<van-field
v-model="submitData.lawEnforcementItemText"
label="执法事项"
required
:rules="[{ required: true, message: '请输入执法事项' }]"
rows="2"
autosize
type="textarea"
maxlength="1000"
placeholder="请输入 执法事项"
show-word-limit
/>
<van-field v-model="submitData.lawEnforcementItem" v-show="false"/>
<div class="add-box">
<div v-for="(item, index) in data.lawList" :key="index">
<!-- <div class="item-delete" @click.stop="cancelEnforcement(index)"><label>执法依据 {{index+1}}</label>
<a>删除</a></div> -->
<van-field
v-model="item.text"
readonly
label="执法依据"
placeholder="请选择"
@click-input="showPopupqz(index)"
rows="1"
autosize
:right-icon="(data.lawList.length - index ) == 1 ? 'add-o' : 'close'"
@click-right-icon="(data.lawList.length - index ) == 1 ? addField(index) : cancelEnforcement(index)" />
</div>
<!-- <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'">
<!-- <van-field
v-model="submitData.enforce"
<view v-if="data.isNoScan == 'true'">
<van-field
v-model="submitData.enforceReason"
label="未扫码原因"
readonly
/> -->
<!-- <van-field v-model="submitData.enforceReason"-->
<!-- label="原&nbsp; &nbsp; &nbsp; &nbsp;因"-->
<!-- />-->
<van-field
v-model="submitData.reason"
label="原&nbsp; &nbsp; &nbsp; &nbsp;因"
readonly="true"
/>
</view>
<van-field v-if="submitData.checkCss == 3" v-model="submitData.enforcementTime" label="执法时间" readonly placeholder="请选择 执法时间" :rules="[{ required: true, message: '必填项' }]" @click="data.showTimePicker = true" />
<!-- 又改成不可输入, 补录才可以 - 杨老板提的 -->
<van-field v-if="submitData.checkCss != 3" v-model="submitData.enforcementTime" label="执法时间" readonly placeholder="请选择 执法时间" :rules="[{ required: true, message: '必填项' }]" />
<van-divider class="divdsty" />
<van-cell center title="联合执法" required>
<template #right-icon>
<van-radio-group v-model="data.union_checked" shape="square" direction="horizontal">
<van-radio name="0">否</van-radio>
<van-radio name="1">是</van-radio>
</van-radio-group>
<!-- <van-switch v-model="data.union_checked" @click="!data.union_checked"/> -->
</template>
</van-cell>
<div class="add-inspect" v-if="data.union_checked==1">
<div v-for="(item, index) in data.union_datas" :key="index" ref="radio_fales" @click="check_radio(Object.values(item)[0].unionNo, index)" class="item-inspect">
<van-icon name="circle" />
<div class="dept-inspect">
<p v-for="(item2, index2) in item" :key="index2">{{item2.bureauDeptName}}</p>
</div>
</div>
<div class="item-inspect" @click="check_radio(null, null)">
<van-icon :name="data.allNo" />
<div class="dept-inspect no-inspect">
<p>开启新的联合执法</p>
</div>
</div>
</div>
<van-divider class="divdsty" />
<van-cell center title="委托执法">
<template #right-icon>
<van-switch v-model="data.auth_checked" @click="authCheck"/>
</template>
</van-cell>
<view v-if="data.auth_checked===true">
<van-field
v-model="submitData.entrustDeptName"
label="委托单位"
placeholder="请选择"
is-link
readonly
required
:rules="[{ required: true, message: '请选择委托单位' }]"
@click="showEntrust"
/>
</view>
<div class="add-inspect" v-if="data.checked">
<!-- <p v-if="submitData.userObjs.length > 0"><label>联合执法部门+人员</label></p>-->
<p v-for="(item, index) in submitData.userObjs" :key="index">
<span class="add-name">{{nameCorrect(item.userName)}}</span>
<span class="add-dept">{{item.deptName}}</span>
</p>
<div class="addbtn" @click.stop="data.deptChecked=true"><van-icon name="add-o" /></div>
</div>
<!-- <van-divider class="divdsty"/>-->
<div class="file-upload">
<div class="file-upload-center">
<label>&nbsp; &nbsp; &nbsp; &nbsp;</label> <span>(不多于 8)</span>
</div>
<!-- :after-read="uploadFiles" -->
<van-uploader v-model="data.fileListObj" class="file" multiple max-count="8"
:after-read="uploadFiles" :before-delete="deleteFile">
<template #preview-cover="{ file }">
<div class="preview-cover van-ellipsis">{{ file.name }}</div>
</template>
</van-uploader>
</div>
</van-cell-group>
<van-action-bar>
<van-button round block type="info" native-type="submit" @click="tmpSave">保存</van-button>
<van-button round block type="info" native-type="submit" @click="submit(1)">提交</van-button>
</van-action-bar>
</van-form>
</div>
<van-popup v-model:show="data.showTimePicker" position="bottom" :style="{ height: '30%' }">
<van-date-picker
v-if="data.showNom"
type="time"
v-model="data.currentDate"
@confirm="onConfirm"
/>
<van-date-picker
v-if="data.showBl"
type="time"
v-model="data.currentDate"
:max-date="data.maxDate"
:min-date="data.minDate"
@confirm="onConfirm"
@cancel="data.showTimePicker = false"
/>
</van-popup>
<Popup :visible="data.popupVisible" :bureauDeptId="submitData.bureauDeptId" :isShowCardId="0" :lawEDid="submitData.lawEnforcerId" :LawEDs="data.lawCer" :content="data.popupContent" @close="closePopup" @reciveData="reciveData"/>
<Popup :visible="data.popupVisible2" :content="data.popupContent2" @close="closePopup"
@reciveData="reciveData2"/>
<van-popup v-model:show="data.showItem" position="bottom" :style="{ height: '30%' }">
<van-picker title="事项"
:columns="data.item_columns"
@confirm="itemConfirm"
@change="itemChange"
@cancel="gaCancel"
/>
</van-popup>
<van-popup v-model:show="data.lawFieldShow" position="bottom" :style="{ height: '30%' }">
<van-picker title="执法领域"
:columns="data.lawField_columns"
@confirm="lawFieldConfirm"
@cancel="gaCancel"
/>
</van-popup>
<Popupzq :visible="data.popupVisibleqz" :content="data.popupContentqz" @close="closePopup"
@reciveData="reciveDataqz"/>
<LawPopup :lawEnforcementId="submitData.lawEnforcementId" :enterpriseNumber="submitData.enterpriseNumber"
:visible="data.lawChecked" :content="data.lawContent" :lawEnforcerId="submitData.lawEnforcerId" @close="closePopup"
@reciveData="reciveLaw"/>
<van-overlay :show="data.overlayShow">
<div class="wrapper">
<div class="block">
<van-loading size="100" type="spinner" color="#1989fa"/>
</div>
</div>
</van-overlay>
<van-popup v-model:show="data.showLawFieldPicker" round position="bottom">
<van-picker :columns="data.lawFields" @cancel="data.showLawFieldPicker = false" @confirm="onConfirmLawField" />
</van-popup>
<van-popup v-model:show="data.showCheckCategoryPicker" round position="bottom">
<van-picker :columns="data.checkCategorys" @cancel="data.showCheckCategoryPicker = false" @confirm="onConfirmCheckCategory" />
</van-popup>
<van-popup v-model:show="data.lawEnforceCategoryPicker" round position="bottom">
<van-picker :columns="data.lawEnforceCategory" @cancel="data.lawEnforceCategoryPicker = false" @confirm="getCategory" />
</van-popup>
<popupcp :visible="data.popupCp" :content="data.popupCpContent" @close="closePopup"
@reciveData="reciveDataCp"/>
<DeptPopup :visible="data.deptChecked" :content="data.deptContent" @close="closePopup"
@reciveData="reciveDept"/>
<entrustFilter :visible="data.entrustPopup" :deptList="data.dataList" @close="closePopup" @reciveData="entrustPopupData"/>
</div>
</template>
<script setup name="register">
import {nameCorrect,encryptPhone} from'@/util/fileUpload';
import {showSuccessToast} from 'vant';
import 'vant/es/toast/style';
import {
addEnforcementRegistration,
editEnforcementRegistration,
getRegByUserIdAndZero,
getByUserIdAndEnterpriseNumber,
queryUserInfo,
queryUnionByHour
} from '@/api/enforce'
import {getEnterpriseInformation} from '../../api/enterprise'
import {reactive, ref} from "vue";
import {uploadFile} from "../../util/fileUpload";
import {formattedTime, formattedTimeYYYYmmdd} from "@/util/util";
import Compressor from 'compressorjs'
//用户筛选弹窗
import DeptPopup from '../administrative/deptFilter.vue';
import Popup from './userFilter.vue';
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 {
addEnterpriseLawEnforcement,
getByUserIdAndZero,
queryEnterpriseLawEnforcementList
} from "../../api/administrative";
import entrustFilter from '@/views/enforce/selectEntrustFilter';
const {useCommon, useMy} = $globalStore
const radio_fales = ref([]);
const router = useRouter();
//路由参数
const route = useRoute();
const form = ref(null);
let queryaddressId = ref("");
const showUserAdd = ref(true)
const showNextUserAdd = ref(false)
const data = reactive({
showLawEnforcerFlag: false,
currentPage: 1,
good: "",
bad: "",
popupVisible: false,
popupContent: '',
popupVisible2: false,
popupVisibleqz: false,
popupCp: false,
popupCpContent: '',
popupContent2: '',
popupContentqz: '',
showGA: false,
showItem: false,
lawEnforcementBasisText: "",
lawEnforcementItemText: "",
ga_columns: [],
item_columns: [],
isNoScan: false,
lawChecked: false,
lawContent: "",
lawCliekFlag: 0,
lawList: [{ text:"", id:"" }],
// lawList: [],
lawCerFlag: 0,
lawCer: [{text: "", id: ""}],
// lawCer:[],
lawFieldShow: false,
lawField_columns: [],
lawFieldText: "",
tempDate: null,
currentDate: [],
showTimePicker: false,
showBl: false,
showNom: false,
minDate: null,
maxDate: null,
overlayShow: false,
fileListObj: [],
showLawFieldPicker: false,
lawFields: [],
showCheckCategoryPicker: false,
lawEnforceCategoryPicker:false,
checkCategorys: [],
lawEnforceCategory:[],
checked: false,
deptChecked: false,
deptContent: '',
allNo: 'circle',
union_checked: '0', // 联合执法选择
auth_checked: false, // 委托执法选择
union_datas: [], // 联合执法用的分组list
check_union_no: '', // 选中的联合执法编号
radio_flag: 'circle', // 联合执法单选按钮的选择标识
entrustPopup:false
});
var fileSize = 0;
//保存参数
const submitData = reactive({
// id
id: "",
//执法单位
lawEnforcement: "",
lawEnforcementId: "",
bureauDeptId:"",
bureauDeptName:"",
//执法人员1
lawEnforcer: "",
lawEnforcerId: "",
lawCertificateNumText: "",
//执法人员2
lawEnforcerTwo: "",
lawEnforcerIdTwo: "",
lawCertificateNumTwoText: "",
//辅助人员
subsidiaryer: "",
subsidiaryerId: "",
subsidiaryerText: "",
//执法事项
lawEnforcementItem: "",
lawEnforcementItemText: "",
//执法依据
lawEnforcementBasis: "",
//执法结果
reslut: 0,
//备注
remark: "",
//企业名称
enterpriseName: "",
//统一信用码
enterpriseNumber: "",
//执法时间
enforcementTime: formattedTime(new Date()),
updateTimeFlag:0,
//后台保存图片列表
fileList: [],
//vant组件上传照片列表
fileListObj: [],
// 数据保存或提交 0 保存 1提交
isSubmit: 0,
// 选择的联合执法编号
unionNo: '',
// 联合执法选择
hasUnion: 0,
// 委托执法选择
hasAuto: 0,
lawId: "",
lawText: "",
uniteCheck: "",
enforce: "",
checkCss: "",
enforceReason: "",
lawField: "",
lawFieldText: "",
checkCategory: "",
checkCategoryText: "",
lawEnforceCategory:"",
lawEnforceCategoryText:"",
userId: useCommon.userId,
deptTexts: "",
deptObjs: [],
userObjs: [],
isUnite: 0,
// 委托单位id name
entrustDeptName:"",
entrustDeptId:""
})
// 委托执法
const authCheck=() =>{
if(data.auth_checked===false){
data.auth_checked===true
// 显示委托执法单位
}else{
data.auth_checked===false;
}
}
const showEntrust = () => {
data.entrustPopup = true;
}
// 选择委托单位
const entrustPopupData=(item)=>{
submitData.entrustDeptId=item.deptId;
submitData.entrustDeptName=item.deptName;
}
const tapGood = () => {
data.good = "#13c11a";
data.bad = "#D3D3D3";
submitData.reslut = 0;
}
const tapBad = () => {
data.good = "#D3D3D3";
data.bad = "#ff0000";
submitData.reslut = 1;
}
const check_radio = (unio_no, index) => {
for(var i=0; i<radio_fales.value.length; i++) {
radio_fales.value[i].querySelector('i').classList.remove("van-icon-checked")
radio_fales.value[i].querySelector('i').classList.add("van-icon-circle")
}
if (null == unio_no) {
data.allNo = "checked"
} else {
const itag = radio_fales.value[index].querySelector('i')
itag.classList.remove("van-icon-circle")
itag.classList.add("van-icon-checked")
data.allNo = "circle"
submitData.unionNo = unio_no
}
}
const getLinkageByValueAndParentId = (value, parentId) => {
// 查询执法要求字典信息
queryLinkageDictByValueAndParentId({
"dataScopeId": useCommon.userId,
"value": value,
"parentId": parentId
}, success => {
getLinkageByParentIdToItem(success.id)
}, error => {
});
}
const getLinkageByParentIdToItem = (parentId) => {
// 查询执法要求字典信息
queryLinkage({"dataScopeId": useCommon.userId, "parentId": parentId}, success => {
for (var i = 0; i < success.length; i++) {
data.item_columns.push({text: success[i].title, value: success[i].id, id: success[i].id})
// if (i==0) {
// data.lawEnforcementItemText = success[i].title;
// submitData.lawEnforcementItem = success[i].id;
// getLinkageByParentIdToGA(success[i].id);
// }
}
}, error => {
});
}
const getLinkageByParentIdToGA = (parentId) => {
// 查询执法要求字典信息
data.ga_columns = [];
queryLinkage({"parentId": parentId}, success => {
for (var i = 0; i < success.length; i++) {
data.ga_columns.push({text: success[i].title, value: success[i].id, id: success[i].id})
// if (i==0) {
// data.lawEnforcementBasisText = success[i].title;
// submitData.lawEnforcementBasis = success[i].id;
// }
}
}, error => {
});
}
const checkUnite = () => {
if (data.checked) {
data.deptChecked=true;
} else {
data.deptChecked=false;
}
}
const reciveDept = (item) => {
submitData.deptTexts = "";
submitData.deptObjs = [];
submitData.userObjs = [];
for (var i=0; i<item.length; i++) {
submitData.deptTexts += item[i].deptName+";";
submitData.deptObjs.push({deptId: item[i].deptId, deptName: item[i].deptName });
submitData.userObjs.push({strUserId: item[i].userId, userName: item[i].userName, deptId: item[i].deptId, deptName: item[i].deptName });
}
}
//3a0096181c184e5aa56f70923680856d$6e74ceda1463c165fd43eeeadce4f7cd
//初始化参数获取扫码的企业统一信用编码
onMounted(() => {
nameCorrect();
submitData.enterpriseNumber = route?.query?.enterpriseNumber;
// submitData.enforce = route?.query?.reason;
submitData.reason = route?.query?.reason;
submitData.checkCss = route?.query?.checkCss;
data.isNoScan = route?.query?.isNoScan;
// let dateLimit = new Date();
// data.maxDate = new Date(this.$moment(dateLimit).format('YYYY/MM/DD'));
// 行政执法领域
initlawField();
// 任务来源 原执法类别
initCheckCategory();
// 执法类别
initlawEnforceCategory();
// 数据填充
// dataFillIn();
//查询企业信息
getEnterpriseInformation(route?.query?.enterpriseNumber, success => {
if (null != success.data) {
submitData.enterpriseName = success.data.enterpriseName
submitData.enterpriseNumber = success.data.enterpriseNumber
// 查询是否有关联的执法记录
if (null != submitData.enterpriseName) {
getUnionByHour(submitData.enterpriseNumber, submitData.checkCss, submitData.enforcementTime);
}
}
}, error => {
})
//查询执法部门信息
queryUserInfo(useCommon.userId, success => {
if (null != success.data) {
submitData.lawEnforcer = success.data.userName
if(""!=success.data.lawCertificateNum && null!=success.data.lawCertificateNum){
submitData.lawCertificateNumText =nameCorrect(success.data.userName + " " + success.data.lawCertificateNum);
}else{
submitData.lawCertificateNumText =nameCorrect(success.data.userName + " " + encryptPhone(success.data.decryptPhoneNum));
}
// submitData.lawCertificateNumText = success.data.userName
submitData.lawEnforcerId = success.data.userId
submitData.lawEnforcement = success.data.dept.deptName;
submitData.lawEnforcementId = success.data.dept.deptId;
//局级部门
submitData.bureauDeptName = success.data.bureauDept.deptName;
submitData.bureauDeptId = success.data.bureauDept.deptId;
}
}, error => {
})
// getLinkageByValueAndParentId("law_item", "100");
getLinkageByValueAndParentId("check_item", "100");
//初始化时间
currentDate();
// getDateScpoe();
// submitData.enforcementTime = formattedTime(new Date());
// getDict({},success =>{
// },error =>{});
// 查询执法要求字典信息
// getDict({"dictType": "law_field"}, success => {
// for(var i=0; i<success.data.length; i++) {
// data.lawField_columns.push({ text: success.data[i].dictLabel, value: success.data[i].dictValue })
// }
// },error=>{});
// 限制指定时间实现
var a = getBeforeDate(10, new Date());
var minDate = a.split("-");
data.minDate = ref(new Date(minDate[0], minDate[1] - 1, minDate[2]));
var now = new Date();
let year = now.getFullYear();
let mon = now.getMonth() + 1;
let day = now.getDate();
mon = (mon < 10 ? ('0' + mon) : mon);
day = (day < 10 ? ('0' + day) : day);
data.maxDate = ref(new Date(year, mon - 1, day));
data.showBl = true;
})
const getUnionByHour = (enterpriseNumber, checkCss, enforcementTime) => {
// data.union_datas =
queryUnionByHour(enterpriseNumber, checkCss, enforcementTime, null, success => {
if(success.success) {
data.union_datas = success.data;
}
}, error => { console.log(error); })
}
// 返回
const goBack = () => {
router.go(-1);
};
// 返回首页
const toEnforceHomeView = () => {
router.push({
path: "/enforceHome",
});
};
const uploadFiles = (file) => {
if(Array.isArray(file)){
file.forEach((item,index)=>{
uploadFile(item, (res) => {
submitData.fileList.push(res.url)
});
});
}else{
uploadFile(file, (res) => {
submitData.fileList.push(res.url)
});
}
}
const deleteFile = (file, 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 删除
}
});
return true;
}
/* 执法要求 start */
const gaConfirm = ({selectedOptions}) => {
// data.lawEnforcementBasisText = selectedOptions[0].text;
submitData.lawEnforcementBasis = selectedOptions[0].value;
data.showGA = false;
data.showItem = false;
};
/* 执法要求 start */
const itemConfirm = ({selectedOptions}) => {
data.lawEnforcementItemText = selectedOptions[0].text;
submitData.lawEnforcementItem = selectedOptions[0].value;
data.showGA = false;
data.showItem = false;
getLinkageByParentIdToGA(selectedOptions[0].id);
};
const itemChange = ({selectedOptions}) => {
// getLinkageByParentIdToGA(selectedOptions[0].id);
}
const gaCancel = () => {
data.showGA = false;
data.showItem = false;
data.lawFieldShow = false;
}
/* 执法要求 end */
/** 行政执法领域 */
const initlawField = () => {
data.lawFields = [];
getDict({"dictType":"law_field"}, success => {
if (success.success) {
for (var i=0; i<success.data.length; i++) {
data.lawFields.push(
{"text":success.data[i].dictLabel, "value":success.data[i].dictValue}
);
}
}
});
}
/** 任务来源 */
const initCheckCategory = () => {
data.checkCategorys = [];
getDict({"dictType":"check_category"}, success => {
if (success.success) {
for (var i=0; i<success.data.length; i++) {
data.checkCategorys.push(
{"text":success.data[i].dictLabel, "value":success.data[i].dictValue}
);
}
}
});
}
/** 行政执法类别 */
const initlawEnforceCategory = () => {
data.lawEnforceCategory = [];
getDict({"dictType":"law_enforce_category"}, success => {
if (success.success) {
for (var i=0; i<success.data.length; i++) {
data.lawEnforceCategory.push(
{"text":success.data[i].dictLabel, "value":success.data[i].dictValue}
);
}
}
});
}
const dataFillIn = () => {
// getRegByUserIdAndZero(useCommon.userId,success =>{
getByUserIdAndEnterpriseNumber("add", useCommon.userId, submitData.enterpriseNumber, success => {
//跳转企业二维码地址
if (success.success) {
console.log("============> : ", success.data);
Object.keys(submitData).forEach((item) => {
if ("lawEnforcement" != item && "lawCertificateNumText" != item && "enforcementTime" != item) {
submitData[item] = success.data[item] ? success.data[item] : "";
}
})
data.lawEnforcementItemText = success.data['params'].lawEnforcementItemText;
// data.lawEnforcementBasisText =success.data['params'].lawEnforcementBasisText;
// submitData.lawCertificateNumText =success.data['lawEnforcer'];
submitData.lawCertificateNumTwoText = success.data['lawEnforcerTwo'];
submitData.subsidiaryerText = success.data['subsidiaryer'];
// 附件回显
// data.fileListObj.push({ 'url': 'https://fastly.jsdelivr.net/npm/@vant/assets/leaf.jpeg', 'file':{'name':'leaf'} });
for (var k = 0; k < success.data.fileList.length; k++) {
if (k > 8) {
break;
}
data.fileListObj.push({
'url': success.data.fileList[k],
'file': {'name': success.data.fileList[k]}
});
}
// 执法依据
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])});
}
}
if (success.data['reslut'] == 0) {
tapGood();
} else {
tapBad();
}
submitData.fileList = [];
submitData.fileListObj = [];
// showSuccessToast('保存成功');
}
}, error => {
console.log("填充失败")
})
}
const tmpSave = () => {
if (submitData.lawCertificateNumText.length <= 0
|| submitData.bureauDeptName.length <= 0
// || submitData.lawFieldText.length <= 0
|| submitData.checkCategoryText.length <= 0
|| data.lawCer[0].id.length <= 0) {
return null;
}
data.overlayShow = true; // 遮罩层
submitData.userId = useCommon.userId;
submitData.isUnite = 0;
// if (data.checked) { submitData.isUnite = 1; } // 原来的联合执法, 忘记咋用了, 就没用了.
//联合执法
if (data.union_checked == 1) {submitData.hasUnion = 1;} else {submitData.unionNo = null;}
submitData.uniteCheck = data.union_checked;
// 是否委托执法
if (data.auth_checked) {submitData.hasAuto = 1;}
// 处理回显附件auth_checked
for (var k = 0; k < data.fileListObj.length; k++) {
var url = data.fileListObj[k].url;
if (null != url) {
submitData.fileList.push(url);
}
}
// 执法依据
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);
// 执法人员
submitData.lawEnforcerIdTwo = "";
submitData.lawEnforcerTwo = "";
for (var i = 0; i < data.lawCer.length; i++) {
submitData.lawEnforcerIdTwo += data.lawCer[i].id + ",";
submitData.lawEnforcerTwo += data.lawCer[i].text + ",";
}
submitData.lawEnforcerIdTwo = submitData.lawEnforcerIdTwo.substring(0, submitData.lawEnforcerIdTwo.length - 1);
submitData.lawEnforcerTwo = submitData.lawEnforcerTwo.substring(0, submitData.lawEnforcerTwo.length - 1);
if (submitData.updateTimeFlag ===1) {
submitData.enforcementTime = submitData.enforcementTime+" 00:00:00";
}
// ****加密问题 提交之前置空
submitData.lawCertificateNumText="";
addEnforcementRegistration(submitData, success => {
data.overlayShow = false; // 遮罩层
//跳转企业二维码地址
if (success.success) {
showSuccessToast('保存成功');
router.push({path: "/enforceHome"});
}
}, error => {
console.log("保存失败")
})
}
const submit = (type) => {
if (submitData.lawCertificateNumText.length <= 0
|| submitData.bureauDeptName.length <= 0
// || submitData.lawFieldText.length <= 0
|| submitData.checkCategoryText.length <= 0
|| data.lawCer[0].id.length <= 0) {
return null;
}
data.overlayShow = true; // 遮罩层
submitData.isSubmit = type;
submitData.userId = useCommon.userId;
submitData.isUnite = 0;
// if (data.checked) { submitData.isUnite = 1; } // 原来的联合执法, 忘记咋用了, 就没用了.
//联合执法
if (data.union_checked == 1) {submitData.hasUnion = 1;} else {submitData.unionNo = null;}
submitData.uniteCheck = data.union_checked;
// 是否委托执法
if (data.auth_checked) {submitData.hasAuto = 1;}
// 处理回显附件
for (var k = 0; k < data.fileListObj.length; k++) {
var url = data.fileListObj[k].url;
if (null != url) {
submitData.fileList.push(url);
}
}
// 执法依据
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);
// 执法人员
submitData.lawEnforcerTwo = "";
submitData.lawEnforcerIdTwo = "";
for (var i = 0; i < data.lawCer.length; i++) {
submitData.lawEnforcerIdTwo += data.lawCer[i].id + ",";
submitData.lawEnforcerTwo += data.lawCer[i].text + ",";
}
submitData.lawEnforcerIdTwo = submitData.lawEnforcerIdTwo.substring(0, submitData.lawEnforcerIdTwo.length - 1);
submitData.lawEnforcerTwo = submitData.lawEnforcerTwo.substring(0, submitData.lawEnforcerTwo.length - 1);
form.value.validate().then(() => {
if(null != data.tempDate){
submitData.enforcementTime=submitData.enforcementTime+" 00:00:00"
}
submitData.lawCertificateNumText="";
editEnforcementRegistration(submitData, success => {
data.overlayShow = false; // 遮罩层
//跳转首页
if (success.success) {
showSuccessToast('登记成功');
router.push({path: "/enforceHome"});
}
}, error => {
console.log("登记失败")
})
}).catch((errors) => {
data.overlayShow = false; // 遮罩层
});
}
const currentDate = () => {
const now = new Date();
const year = now.getFullYear();
const month = (now.getMonth() + 1).toString().padStart(2, '0');
const day = now.getDate().toString().padStart(2, '0');
data.currentDate = [year, month, day]
}
const getDateScpoe = () => {
let date = new Date();
let frontDate = new Date()
let year = date.getFullYear();
frontDate.setDate(frontDate.getDate() - 5)//前7天减7,前N天减N
let dateArr1 = [frontDate.getMonth() + 1, frontDate.getDate()];
let dateArr2 = [date.getMonth() + 1, date.getDate()];
//开始格式是M,经过以下循环变为MM
for (let i = 0; i < dateArr1.length; i++) {
if (dateArr1[i] >= 1 && dateArr1[i] <= 9) {
dateArr1[i] = "0" + dateArr1[i];
}
}
for (let i = 0; i < dateArr2.length; i++) {
if (dateArr2[i] >= 1 && dateArr2[i] <= 9) {
dateArr2[i] = "0" + dateArr2[i];
}
}
data.minDate = new Date(year, dateArr1[0], dateArr1[1]);
data.maxDate = new Date(year, dateArr2[0], dateArr2[1]);
let strDate1 = year + "/" + dateArr1[0] + "/" + dateArr1[1] + " "
let strDate2 = year + "/" + dateArr2[0] + "/" + dateArr2[1] + " "
let time_list = [strDate1, strDate2] //[2023-08-31,2023-09-07]
}
const onConfirm = (time) => {
if (time != null) {
var times = time.selectedValues;
submitData.enforcementTime = times[0] + "-" + times[1] + "-" + times[2];
data.tempDate = times[1] + "月" + times[2] + "号";
submitData.updateTimeFlag=1;
}
data.showTimePicker = false;
getUnionByHour(submitData.enterpriseNumber, submitData.checkCss, submitData.enforcementTime);
// 查询设定的执法时间是否有别的企业对该部门进行执法, 如果有这提示可进行联合执法(旧的)
// if (null != submitData.enterpriseNumber && null != data.tempDate) {
// let params = {
// enterpriseNumber: submitData.enterpriseNumber,
// checkTime: submitData.checkTime,
// }
// queryEnterpriseLawEnforcementList(params, success => {
// var deptName = "";
// for (var i = 0; i < success.rows.length; i++) {
// deptName += success.rows[i].lawEnforcement + ", ";
// }
// if (success.rows.length > 0) {
// data.notifyContent = "您在" + data.tempDate + "和" + deptName + "执法部门有相同的执法企业,可以发起联合执法"
// data.notifyShow = true;
// // setTimeout(() => {
// // data.notifyShow = false;
// // }, 2000);
// }
// });
// }
}
const showPopup = (flag) => {
data.lawCerFlag = flag;
data.popupVisible = true;
}
const showPopup2 = () => {
data.popupVisible2 = true;
}
const showPopupqz = (flag) => {
data.lawCliekFlag = flag;
data.popupVisibleqz = true;
}
const cancelEnforcement = (index) => {
data.lawList.splice(index, 1);
}
const addField = () => {
data.lawList.push({text: "", id: "", "show": ""});
}
const cancelUser = (index) => {
data.lawCer.splice(index, 1);
}
const addLawCer = (index) => {
data.lawCer.push({text: "", id: ""});
showUserAdd.value = false;
showNextUserAdd.value = true;
}
const closePopup = () => {
data.popupVisible = false;
data.popupVisible2 = false;
data.popupVisibleqz = false;
data.popupCp = false;
data.lawChecked = false;
data.deptChecked = false;
data.entrustPopup=false;
}
const reciveData = (item) => {
data.lawCer[data.lawCerFlag].id = item.userId;
data.lawCer[data.lawCerFlag].text = item.userName;
data.lawCer[data.lawCerFlag].show = nameCorrect(item.userName + " " +
(null == item.lawCertificateNum || '' == item.lawCertificateNum? encryptPhone(item.decryptPhoneNum) : item.lawCertificateNum));
// submitData.lawEnforcerTwo = item.userName;
// submitData.lawCertificateNumTwoText = item.userName + " " + item.lawCertificateNum
// submitData.lawEnforcerIdTwo = item.userId;
// 查询设定的执法时间是否有别的企业对该部门进行执法, 如果有这提示可进行联合执法
if (null != submitData.enterpriseNumber && null != data.tempDate) {
let params = {
enterpriseNumber: submitData.enterpriseNumber,
checkTime: submitData.checkTime,
}
queryEnterpriseLawEnforcementList(params, success => {
var deptName = "";
for (var i = 0; i < success.data.length; i++) {
deptName += success.data[i].lawEnforcement + ", ";
}
if (success.data.length > 0) {
data.notifyContent = "您在" + data.tempDate + "和" + deptName + "执法部门有相同的执法企业,可以发起联合执法"
data.notifyShow = true;
setTimeout(() => {
data.notifyShow = false;
}, 2000);
}
});
}
}
const reciveData2 = (item) => {
submitData.subsidiaryer = item.userName;
submitData.subsidiaryerId = item.userId;
// submitData.subsidiaryerText = item.userName + " " + item.lawCertificateNum;
submitData.subsidiaryerText = item.userName;
}
const reciveDataqz = (item) => {
data.lawList[data.lawCliekFlag].id = item.id;
data.lawList[data.lawCliekFlag].text = item.lawName;
// submitData.lawEnforcementBasis = item.id;
// submitData.subsidiaryerText = item.userName + " " + item.lawCertificateNum;
// data.lawEnforcementBasisText = item.lawName;
}
const reciveDataCp = (item) => {
submitData.enterpriseName = item.enterpriseName;
submitData.enterpriseNumber = item.enterpriseNumber;
getUnionByHour(submitData.enterpriseNumber, submitData.checkCss, submitData.enforcementTime);
// 填充数据
// dataFillIn('bulu');
}
const reciveLaw = (item) => {
submitData.lawId = item.id;
// submitData.lawText = item.checkItem;
submitData.lawEnforcerTwo = item.lawEnforcerTwo;
submitData.lawEnforcerIdTwo = item.lawEnforcerTwoId;
submitData.lawCertificateNumTwoText = null == item.lawEnforcerTwo ? "" : item.lawEnforcerTwo + " " + null == item.lawCertificateNumTwo ? "" : item.lawCertificateNumTwo;
// submitData.lawText = item.enterpriseName;
submitData.lawText = item.checkItemText;
submitData.lawEnforcementItemText = item.checkItemText;
submitData.uniteCheck = item.uniteCheck;
submitData.remark = item.remark;
// 执法人员
submitData.lawEnforcerIdTwo = item.lawEnforcerTwoId;
submitData.lawEnforcerTwo = item.lawEnforcerTwo;
var lawEnforcer2ShowStr = item.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])});
}
}
}
const onConfirmLawField = (item) => {
var obj = item.selectedOptions[0];
submitData.lawField = obj.value;
submitData.lawFieldText = obj.text;
data.showLawFieldPicker = false;
}
const onConfirmCheckCategory = (item) => {
var obj = item.selectedOptions[0];
submitData.checkCategory = obj.value;
submitData.checkCategoryText = obj.text;
data.showCheckCategoryPicker = false;
}
const getCategory = (item) => {
var obj = item.selectedOptions[0];
submitData.lawEnforceCategory = obj.value;
submitData.lawEnforceCategoryText=obj.text;
data.lawEnforceCategoryPicker = false;
}
const beforeRead = (file) => {
if (file.type !== 'image/jpeg' && file.type !== 'image/png' && file.type !== 'image/jpg') {
// Toast('请上传图片格式');
return false;
}
// if(file.size<1024*1024*2){
// console.log('图片大小1',file.size)
// // Toast('请上传2M以上图片');
// return false;
// }
if (file.size > 1024 * 1024 * 1.3) {
console.log('图片大小2', file.size)
// Toast('请上传20M以下图片');
let that = this
return new Promise((resolve) => {
// compressorjs 默认开启 checkOrientation 选项
// 会将图片修正为正确方向
new Compressor(file, {
quality: 0.1,
success(result) {
let file1 = new File([result], file.name, {type: file.type})
// uploadFile(file1)
uploadFile(file1, (res) => {
submitData.fileList.push(res.url)
});
resolve(result);
},
error(err) {
console.log(err.message);
},
});
});
}
console.log('图片大小3', file.size)
// uploadFile(file)
uploadFile(file, (res) => {
submitData.fileList.push(res.url)
});
return true;
}
const getBeforeDate = (num, time) => {
let n = num;
let d = '';
if (time) {
d = new Date(time);
} else {
d = new Date();
}
let year = d.getFullYear();
let mon = d.getMonth() + 1;
let day = d.getDate();
if (day <= n) {
if (mon > 1) {
mon = mon - 1;
} else {
year = year - 1;
mon = 12;
}
}
d.setDate(d.getDate() - n);
year = d.getFullYear();
mon = d.getMonth() + 1;
day = d.getDate();
let s = year + "-" + (mon < 10 ? ('0' + mon) : mon) + "-" + (day < 10 ? ('0' + day) : day);
return s;
}
</script>
<style lang="less" scoped>
.tohome {
position: absolute;
top: 1.25%;
right: 5%;
font-size: 0.5rem;
}
.address_edit {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
background-color: #ebf3fb;
}
.warp_body {
margin: 0 3%;
padding-bottom: 3rem;
width: 94%;
height: 100%;
//border-radius: 0.25rem;
background-image: linear-gradient(to bottom, #ebf3fb, #fff);
overflow-y: auto;
margin-top: 0.15rem;
}
.qy-name, .zf-name {
margin: 0 0.27rem;
font-size: 0.42rem;
height: 1.2rem;
background-color: white;
font-weight: 600;
line-height: 3.5;
}
/* vant4的 Toast 和 Popup 样式冲突,会导致 Toast 变成白底 */
.van-popup.van-toast {
background: var(--van-toast-background) !important;
box-sizing: content-box !important;
/* 下面3条css,影响不大 */
transition: all var(--van-duration-fast) !important;
width: var(--van-toast-default-width) !important;
max-width: var(--van-toast-max-width) !important;
}
.van-popup.van-toast .van-toast__icon {
font-size: var(--van-toast-icon-size) !important;
}
.divdsty {
margin: auto;
width: 100%;
height: 0.25rem;
background-color: #f4f4f4;
border: 0;
}
.file-upload {
position: relative;
min-height: 3.0rem;
max-height: 6.5rem;
padding: 1rem 0.27rem 0.27rem 0.43rem;
box-sizing: border-box;
}
.file-upload-center {
position: absolute;
top: 0.27rem;
left: 0.43rem;
width: 90%;
height: 0.65rem;
font-size: 0.37rem;
span {
font-size: 0.32rem;
color: #b9b9b9;
}
}
.file {
position: relative;
width: 100%;
height: calc(100% - 1.5rem);
}
/deep/ .van-uploader__upload, /deep/ .van-uploader__preview-image {
width: 1.95rem !important;
}
.preview-cover {
position: absolute;
bottom: 0;
box-sizing: border-box;
width: 100%;
padding: 0.13rem;
color: #fff;
font-size: 0.32rem;
text-align: center;
background: rgba(0, 0, 0, 0.3);
}
/deep/ .van-button {
margin: 5% 3%;
padding: 0;
width: 94%;
height: 1rem;
color: #fff;
font-size: 0.4rem;
border-radius: 1rem;
background: #1367fe;
border: 1px solid #1367fe;
text-align: center;
}
.van-action-bar .van-button:first-child {
background: #fff;
color: #1367fe;
/*width: 40%;*/
}
/deep/ .van-action-bar {
box-shadow: 0 0 0.27rem #e5e5e5;
}
.add-box {
position: relative;
margin-top: -1px;
}
.add-box::after {
position: absolute;
left: 0.43rem;
bottom: 0;
width: calc(100% - 0.86rem);
border-bottom: 1px solid #ebedf0;
content: "";
transform: scaleY(.5);
}
.addbtn {
margin: 3% 0;
width: 100%;
text-align: right;
}
.addbtn i {
font-size: 0.5rem;
color: #999;
}
.add-inspect {
margin: 0 0.425rem;
padding-bottom: 0.3rem;
min-height: 2rem;
font-size: 0.37rem;
color: #323233;
}
.add-inspect p {
margin: 0.1rem 0;
padding: 0.2rem 0.1rem;
//border-bottom: 1px solid #f4f5f6;
}
/*.add-inspect p:nth-child(1) {
background-color: #fff;
}*/
.add-inspect span {
display: block;
margin-right: 0.2rem;
color: #666;
line-height: 1.75;
}
.add-inspect span.add-dept {
color: #999;
font-size: 0.3rem;
line-height: 1.25;
}
.item-delete {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1% 4.5%;
width: 100%;
background: #f3f4f5;
line-height: 2.0;
font-size: 0.3rem;
color: #999;
box-sizing: border-box;
}
.item-delete a {
font-size: 0.35rem;
color: #1367fe;
}
.item-inspect {
display: flex;
justify-content: space-between;
}
.item-inspect > i {
margin: 5% 2% 0 0;
color: #dfdddd;
font-size: 0.5rem;
}
.item-inspect > i.van-icon-checked {
color: #1367fe;
}
.dept-inspect {
margin: 2% 0;
padding: 0 2%;
width: calc(100% - 1rem);
background: #f3f4f5;
color: #666;
}
.dept-inspect p {
margin: 3% 0;
padding: 0;
}
.no-inspect {
background: none;
}
.wrapper {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
.block {
width: 120px;
height: 120px;
text-align: center;
}
/deep/ .mult-line .van-field__label {
padding-right: 0.5rem;
line-height: 1.25;
}
/deep/ .van-picker-column__item--selected {
background: #e5eef9;
color: #000;
font-weight: 600;
}
/deep/ .van-field .van-field__control {
color: #666;
}
/deep/ .van-field__label--required:before {
margin-left: -0.2rem;
}
</style>