Browse Source

完善功能修改

v2
蟑螂恶霸 2 years ago
parent
commit
3ddd5dcb28
  1. 1
      src/api/administrative.js
  2. 2
      src/api/enterprise.js
  3. 1
      src/api/user.js
  4. 4
      src/common/globalRouter.js
  5. 2
      src/components/footer-nav/index.vue
  6. 4
      src/views/Home.vue
  7. 2
      src/views/HomeWx.vue
  8. 117
      src/views/administrative/appointment.vue
  9. 60
      src/views/administrative/appointmentEdit.vue
  10. 6
      src/views/administrative/appointmentList.vue
  11. 63
      src/views/administrative/deptFilter.vue
  12. 17
      src/views/enforce/enforcementPlan.vue
  13. 14
      src/views/enforce/enforcementPlanAdd.vue
  14. 8
      src/views/enforce/enterpriseBaseInfo.vue
  15. 2
      src/views/enforce/historyCheck.vue
  16. 5
      src/views/enforce/lawFilter.vue
  17. 83
      src/views/enforce/sign.vue
  18. 7
      src/views/enforceHome.vue
  19. 4
      src/views/enterprise/caseFilter.vue
  20. 12
      src/views/enterprise/complaintList.vue
  21. 45
      src/views/enterprise/enterpriseInspectionDetail.vue
  22. 1
      src/views/enterprise/enterpriseInspectionList.vue
  23. 28
      src/views/enterprise/registrationDetail.vue
  24. 26
      src/views/enterprise/registrationEdit.vue
  25. 4
      src/views/enterprise/registrationList.vue

1
src/api/administrative.js

@ -10,6 +10,7 @@ export const editEnterpriseLawEnforcementDeputyOrder = (params, success, error)
export const getEnterpriseLawEnforcement = (id, success, error) => _get("/app/code/enforcement/getById/" + id,null,success,error) export const getEnterpriseLawEnforcement = (id, success, error) => _get("/app/code/enforcement/getById/" + id,null,success,error)
export const getByUserIdAndZero = (userId, success, error) => _get("/app/code/enforcement/getByUserIdAndZero/"+ userId,null,success,error) export const getByUserIdAndZero = (userId, success, error) => _get("/app/code/enforcement/getByUserIdAndZero/"+ userId,null,success,error)
export const getByIdToDataFillIn = (id, success, error) => _get("/app/code/enforcement/getByIdToDataFillIn/" + id,null,success,error) export const getByIdToDataFillIn = (id, success, error) => _get("/app/code/enforcement/getByIdToDataFillIn/" + id,null,success,error)
export const cancelEnterpriseLawEnforcement = (id, success, error) => _get("/app/code/enforcement/cancel/" + id,null,success,error)
//查询历史检查信息 //查询历史检查信息
export const queryEnterpriseLawEnforcementList = (params, success, error) => _get("/app/code/enforcement/queryList",params,success,error) export const queryEnterpriseLawEnforcementList = (params, success, error) => _get("/app/code/enforcement/queryList",params,success,error)

2
src/api/enterprise.js

@ -8,6 +8,8 @@ export const queryEnterpriseInformationQrCode = (enterpriseNumber, success, erro
//查询企业执法登记列表 //查询企业执法登记列表
export const queryRegistrationList = (params, success, error) => _get("/app/code/registration/queryList",params,success,error) export const queryRegistrationList = (params, success, error) => _get("/app/code/registration/queryList",params,success,error)
//查询企业执法登记列表 - 剔除执法日期距离今天超过5天的执法记录
export const queryRegistrationList2 = (params, success, error) => _get("/app/code/registration/queryList2",params,success,error)
//保存在线投诉 //保存在线投诉
export const addEnterpriseComplaint = (params, success, error) => _post("/app/code/complaint/add",params,success,error) export const addEnterpriseComplaint = (params, success, error) => _post("/app/code/complaint/add",params,success,error)

1
src/api/user.js

@ -6,3 +6,4 @@ export const queryAUsers = (params, success, error) => _get("/app/listAApp",para
//查询部门列表 //查询部门列表
export const queryDepts = (params, success, error) => _get("/app/listDeptApp",params,success,error) export const queryDepts = (params, success, error) => _get("/app/listDeptApp",params,success,error)
export const nextDeptByparentId = (params, success, error) => _get("/app/nextDeptByparentId",params,success,error)

4
src/common/globalRouter.js

@ -3,8 +3,8 @@ import { createRouter, createWebHashHistory } from "vue-router";
let routes = [ let routes = [
{ {
path: "/", path: "/",
redirect: "/home", // redirect: "/home",
// redirect: "/enforceHome", redirect: "/enforceHome",
name: "App", name: "App",
}, },
{ {

2
src/components/footer-nav/index.vue

@ -5,7 +5,7 @@
$t("common.lang_home") $t("common.lang_home")
}}</van-tabbar-item> }}</van-tabbar-item>
<van-tabbar-item name="Classify" replace icon="description-o" to="/enterprise/enterpriseInspectionList"> <van-tabbar-item name="Classify" replace icon="description-o" to="/enterprise/enterpriseInspectionList">
行政检查通知 行政检查预告
</van-tabbar-item> </van-tabbar-item>
<!-- <van-tabbar-item name="Classify" replace icon="description-o" to="/enterprise/complaintList">--> <!-- <van-tabbar-item name="Classify" replace icon="description-o" to="/enterprise/complaintList">-->
<!-- 工单--> <!-- 工单-->

4
src/views/Home.vue

@ -49,7 +49,7 @@
</template> </template>
<script setup name="Home"> <script setup name="Home">
// import Vconsolefrom from 'vconsole'; import Vconsolefrom from 'vconsole';
import * as w6s from 'szient-js-sdk'; import * as w6s from 'szient-js-sdk';
import sha1 from 'crypto-js/sha1'; import sha1 from 'crypto-js/sha1';
import { Loading } from 'vant'; import { Loading } from 'vant';
@ -150,7 +150,7 @@
onMounted(() => { onMounted(() => {
// console.log(useCommon.phonenumber) // console.log(useCommon.phonenumber)
// useCommon.SET_USER_PHONENUMBER(success.data.phonenumber); // useCommon.SET_USER_PHONENUMBER(success.data.phonenumber);
// new Vconsolefrom(); new Vconsolefrom();
// const access_key = '6374106c5eb449a4ad6c2430f30796e6'; // const access_key = '6374106c5eb449a4ad6c2430f30796e6';
// const access_secret = '434fec85aa5846e88bbeb8fac6cf6d7f'; // const access_secret = '434fec85aa5846e88bbeb8fac6cf6d7f';

2
src/views/HomeWx.vue

@ -147,7 +147,7 @@
onMounted(() => { onMounted(() => {
// console.log(useCommon.phonenumber) // console.log(useCommon.phonenumber)
// useCommon.SET_USER_PHONENUMBER(success.data.phonenumber); // useCommon.SET_USER_PHONENUMBER(success.data.phonenumber);
new Vconsolefrom(); // new Vconsolefrom();
const access_key = '6374106c5eb449a4ad6c2430f30796e6'; const access_key = '6374106c5eb449a4ad6c2430f30796e6';
const access_secret = '434fec85aa5846e88bbeb8fac6cf6d7f'; const access_secret = '434fec85aa5846e88bbeb8fac6cf6d7f';

117
src/views/administrative/appointment.vue

@ -42,30 +42,52 @@
:rules="[{ required: true, message: '必填项' }]" :rules="[{ required: true, message: '必填项' }]"
@click="data.showTimePicker = true" @click="data.showTimePicker = true"
/> />
<van-field <van-field
v-model="data.checkItemText" v-model="submitData.checkItemText"
required
readonly
label="检查事项" label="检查事项"
:rules="[{ required: true, message: '必填项' }]" rows="2"
@click="data.showItem = true"
type="textarea"
rows="1"
autosize autosize
type="textarea"
maxlength="50"
placeholder="请输入检查事项"
show-word-limit
/> />
<van-field v-model="submitData.checkItem" v-show="false"/>
<van-field <van-field
v-model="data.checkRequireText" v-model="submitData.checkRequireText"
required
readonly
label="检查要求" label="检查要求"
:rules="[{ required: true, message: '必填项' }]" rows="2"
@click="data.showGA = true"
type="textarea"
rows="1"
autosize autosize
type="textarea"
maxlength="50"
placeholder="请输入检查要求"
show-word-limit
/> />
<van-field v-model="submitData.checkRequire" v-show="false"/>
<!-- <van-field-->
<!-- v-model="data.checkItemText"-->
<!-- required-->
<!-- readonly-->
<!-- label="检查事项"-->
<!-- :rules="[{ required: true, message: '必填项' }]"-->
<!-- @click="data.showItem = true"-->
<!-- type="textarea"-->
<!-- rows="1"-->
<!-- autosize-->
<!-- />-->
<!-- <van-field v-model="submitData.checkItem" v-show="false"/>-->
<!-- <van-field-->
<!-- v-model="data.checkRequireText"-->
<!-- required-->
<!-- readonly-->
<!-- label="检查要求"-->
<!-- :rules="[{ required: true, message: '必填项' }]"-->
<!-- @click="data.showGA = true"-->
<!-- type="textarea"-->
<!-- rows="1"-->
<!-- autosize-->
<!-- />-->
<!-- <van-field v-model="submitData.checkRequire" v-show="false"/>-->
<van-field <van-field
v-model="submitData.lawEnforcement" v-model="submitData.lawEnforcement"
readonly readonly
@ -115,8 +137,8 @@
<van-action-bar> <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="tmpSave">提交</van-button>
<van-button round block type="info" native-type="submit" @click="submit112">提交</van-button> <van-button round block type="info" native-type="submit" @click="submit112">发送</van-button>
</van-action-bar> </van-action-bar>
</van-form> </van-form>
@ -159,6 +181,11 @@
<DeptPopup :visible="data.deptChecked" :content="data.deptContent" @close="closePopup" <DeptPopup :visible="data.deptChecked" :content="data.deptContent" @close="closePopup"
@reciveData="reciveDept"/> @reciveData="reciveDept"/>
<van-notify v-model:show="data.notifyShow" type="success">
<van-icon name="bell" style="margin-right: 4px;" />
<span>{{data.notifyContent}}</span>
</van-notify>
</div> </div>
</template> </template>
@ -169,7 +196,8 @@
import { import {
getByUserIdAndZero, getByUserIdAndZero,
addEnterpriseLawEnforcement, addEnterpriseLawEnforcement,
editEnterpriseLawEnforcement editEnterpriseLawEnforcement,
queryEnterpriseLawEnforcementList
} from '../../api/administrative' } from '../../api/administrative'
import {queryUserInfo} from '../../api/enforce' import {queryUserInfo} from '../../api/enforce'
import {queryEnterpriseInfoList} from '../../api/enterprise' import {queryEnterpriseInfoList} from '../../api/enterprise'
@ -177,6 +205,7 @@
import {getDict} from "../../api/Home"; import {getDict} from "../../api/Home";
import {queryLinkage, queryLinkageDictByValueAndParentId} from "../../api/linkage"; import {queryLinkage, queryLinkageDictByValueAndParentId} from "../../api/linkage";
import {uploadFile} from "../../util/fileUpload"; import {uploadFile} from "../../util/fileUpload";
import { showNotify } from 'vant';
//用户筛选弹窗 //用户筛选弹窗
import UserPopup from './userFilter.vue'; import UserPopup from './userFilter.vue';
import DeptPopup from './deptFilter.vue'; import DeptPopup from './deptFilter.vue';
@ -200,6 +229,9 @@
checked: false, checked: false,
deptChecked: false, deptChecked: false,
deptContent: '', deptContent: '',
notifyShow: false,
notifyContent: "",
tempDate: null,
}); });
//保存参数 //保存参数
const submitData = reactive({ const submitData = reactive({
@ -221,8 +253,10 @@
checkTime: "", checkTime: "",
/** 检查事项 */ /** 检查事项 */
checkItem: "", checkItem: "",
checkItemText: "",
/** 检查要求 */ /** 检查要求 */
checkRequire: "", checkRequire: "",
checkRequireText: "",
/** 执法部门 */ /** 执法部门 */
lawEnforcement: "", lawEnforcement: "",
/** 执法部门ID */ /** 执法部门ID */
@ -259,8 +293,30 @@
if (time != null) { if (time != null) {
var times = time.selectedValues; var times = time.selectedValues;
submitData.checkTime = times[0] + "-" + times[1] + "-" + times[2]; submitData.checkTime = times[0] + "-" + times[1] + "-" + times[2];
data.tempDate = times[1] + "月" + times[2] + "号";
} }
data.showTimePicker = false; data.showTimePicker = false;
// 查询设定的检查时间是否有别的企业对该部门进行检查, 如果有这提示可进行联合执法
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 validator = (val) => /^1[34578]\d{9}$/.test(val); const validator = (val) => /^1[34578]\d{9}$/.test(val);
@ -344,7 +400,6 @@
} }
const tmpSave = () => { const tmpSave = () => {
// showSuccessToast('临时保存');
submitData.lawCertificateNum = null; submitData.lawCertificateNum = null;
submitData.isUnite = 0; submitData.isUnite = 0;
if (data.checked) { submitData.isUnite = 1; } if (data.checked) { submitData.isUnite = 1; }
@ -457,11 +512,31 @@
}) })
const reciveData = (item) => { const reciveData = (item) => {
console.log(item);
submitData.enterpriseName = item.enterpriseName; submitData.enterpriseName = item.enterpriseName;
submitData.linkTel = item.enterpriseTel; submitData.linkTel = item.enterpriseTel;
submitData.linkMan = item.legalPerson; submitData.linkMan = item.legalPerson;
submitData.enterpriseNumber = item.enterpriseNumber; submitData.enterpriseNumber = item.enterpriseNumber;
// 查询设定的检查时间是否有别的企业对该部门进行检查, 如果有这提示可进行联合执法
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);
}
});
}
} }
</script> </script>
<script> <script>

60
src/views/administrative/appointmentEdit.vue

@ -38,30 +38,52 @@
:rules="[{ required: true, message: '必填项' }]" :rules="[{ required: true, message: '必填项' }]"
@click="data.showTimePicker = true" @click="data.showTimePicker = true"
/> />
<van-field <van-field
v-model="data.checkItemText" v-model="submitData.checkItemText"
required
readonly
label="检查事项" label="检查事项"
:rules="[{ required: true, message: '必填项' }]" rows="2"
@click="data.showItem = true"
type="textarea"
rows="1"
autosize autosize
type="textarea"
maxlength="50"
placeholder="请输入检查事项"
show-word-limit
/> />
<van-field v-model="submitData.checkItem" v-show="false" />
<van-field <van-field
v-model="data.checkRequireText" v-model="submitData.checkRequireText"
required
readonly
label="检查要求" label="检查要求"
:rules="[{ required: true, message: '必填项' }]" rows="2"
@click="data.showGA = true"
type="textarea"
rows="1"
autosize autosize
type="textarea"
maxlength="50"
placeholder="请输入检查要求"
show-word-limit
/> />
<van-field v-model="submitData.checkRequire" v-show="false" />
<!-- <van-field-->
<!-- v-model="data.checkItemText"-->
<!-- required-->
<!-- readonly-->
<!-- label="检查事项"-->
<!-- :rules="[{ required: true, message: '必填项' }]"-->
<!-- @click="data.showItem = true"-->
<!-- type="textarea"-->
<!-- rows="1"-->
<!-- autosize-->
<!-- />-->
<!-- <van-field v-model="submitData.checkItem" v-show="false" />-->
<!-- <van-field-->
<!-- v-model="data.checkRequireText"-->
<!-- required-->
<!-- readonly-->
<!-- label="检查要求"-->
<!-- :rules="[{ required: true, message: '必填项' }]"-->
<!-- @click="data.showGA = true"-->
<!-- type="textarea"-->
<!-- rows="1"-->
<!-- autosize-->
<!-- />-->
<!-- <van-field v-model="submitData.checkRequire" v-show="false" />-->
<van-field <van-field
v-model="submitData.lawEnforcement" v-model="submitData.lawEnforcement"
readonly readonly
@ -111,8 +133,8 @@
<div class="warp_body"> <div class="warp_body">
<van-action-bar> <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="tmpSave">提交</van-button>
<van-button round block type="info" native-type="submit" @click="submit112">提交</van-button> <van-button round block type="info" native-type="submit" @click="submit112">发送</van-button>
</van-action-bar> </van-action-bar>
</div> </div>
</van-form> </van-form>
@ -213,8 +235,10 @@
checkTime:"", checkTime:"",
/** 检查事项 */ /** 检查事项 */
checkItem:"", checkItem:"",
checkItemText:"",
/** 检查要求 */ /** 检查要求 */
checkRequire:"", checkRequire:"",
checkRequireText:"",
/** 执法部门 */ /** 执法部门 */
lawEnforcement:"", lawEnforcement:"",
/** 执法部门ID */ /** 执法部门ID */

6
src/views/administrative/appointmentList.vue

@ -54,10 +54,8 @@
<div class="card_box"> <div class="card_box">
<div class="card_box_span"> <div class="card_box_span">
<p>执法时间:{{ formattedTimeYYYYmmdd(item.checkTime) }} <p>执法时间:{{ formattedTimeYYYYmmdd(item.checkTime) }}
<!-- <span class="card_box_action">--> <!-- <span class="card_box_action" v-if="item.isSubmit == 0">-->
<!-- <van-button @click="toComplaintView(item.id,item.lawEnforcementIncident)" type="primary" size="mini">投诉</van-button>--> <span class="card_box_action" v-if="item.isReg != 1 && item.status != 1 && item.status != 3">
<!-- </span>-->
<span class="card_box_action" v-if="item.isSubmit == 0">
<van-button @click="toEditView(item.id)" type="primary" <van-button @click="toEditView(item.id)" type="primary"
size="mini">编辑</van-button> size="mini">编辑</van-button>
</span> </span>

63
src/views/administrative/deptFilter.vue

@ -3,7 +3,8 @@
<div v-if="visible" class="popup"> <div v-if="visible" class="popup">
<div class="popup-title">部门查询</div> <div class="popup-title">部门查询</div>
<!-- 关闭按钮 --> <!-- 关闭按钮 -->
<label class="close-button" @click="closePopup"></label> <!-- <label class="close-button" @click="closePopup"></label>-->
<label class="close-button" @click="next"></label>
<!-- 弹窗的内容 --> <!-- 弹窗的内容 -->
<div class="popup-content"> <div class="popup-content">
@ -17,19 +18,28 @@
</div> </div>
<div class="search-result"> <div class="search-result">
<!-- <van-checkbox-group v-model="checked">-->
<!-- <van-cell-group inset>-->
<!-- <van-cell v-for="(item, index) in dataList" :key="item" @click="toggle(index)" :title="item.deptName" clickable>-->
<!-- <template #right-icon>-->
<!-- <van-checkbox :name="item" :ref="el => checkboxRefs[index] = el" @click.stop />-->
<!-- </template>-->
<!-- </van-cell>-->
<!-- </van-cell-group>-->
<!-- </van-checkbox-group>-->
<van-checkbox-group v-model="checked"> <van-checkbox-group v-model="checked">
<van-cell-group inset> <van-cell-group inset>
<van-cell v-for="(item, index) in dataList" :key="item" @click="toggle(index)" :title="item.deptName" clickable> <van-cell v-for="(item, index) in dataList" :key="item" clickable>
<template #right-icon> <div style="display: flex; justify-content: space-between;">
<van-checkbox :name="item" :ref="el => checkboxRefs[index] = el" @click.stop/> <div style="width: 70%;" @click="toggle(item.deptId)">
</template> <van-checkbox :name="item.deptId+';-;'+item.deptName" :ref="el => checkboxRefs[item.deptId] = el" @click.stop>
{{item.deptName}}
</van-checkbox>
</div>
<div style="width: 30%;" @click="toDrill(item.deptId, item.parentId)"><van-icon name="arrow" size="0.5rem" /></div>
</div>
</van-cell> </van-cell>
</van-cell-group> </van-cell-group>
<!-- <div class="case-item" v-for="(item, index) in dataList" :key="index" @click="selectData(item)">-->
<!-- <div class="case-title">部门:{{ item.deptName }}</div>-->
<!-- <div class="case-depart">电话:{{ item.phonenumber }}</div>-->
<!-- <div class="case-time">执法证件号:{{ item.lawCertificateNum }}</div>-->
<!-- </div>-->
</van-checkbox-group> </van-checkbox-group>
</div> </div>
@ -39,9 +49,11 @@
<script> <script>
import {ref} from 'vue' import {ref} from 'vue'
import {queryDepts} from '../../api/user' import {queryDepts, nextDeptByparentId} from '../../api/user'
import {Icon} from 'vant';
const {useCommon} = $globalStore const {useCommon} = $globalStore
const router = useRouter();
export default { export default {
props: { props: {
visible: { visible: {
@ -59,25 +71,41 @@
//搜索框 //搜索框
dataScopeId: useCommon.userId, dataScopeId: useCommon.userId,
deptName: '', deptName: '',
parentId: 0,
}, },
dataList: [], dataList: [],
checked: ref([]), checked: ref([]),
checkboxRefs: ref([]), checkboxRefs: ref([]),
nextParentId: 0,
} }
}, },
created() { created() {
// this.queryList() this.queryList()
}, },
methods: { methods: {
toggle(index) { toggle(index) {
this.checkboxRefs[index].toggle(); this.checkboxRefs[index].toggle();
}, },
toDrill(deptId, parentId) {
this.nextParentId = parentId;
this.searchParam.parentId = deptId;
this.queryList();
},
next() {
if (null != this.nextParentId) {
this.searchParam.parentId = this.nextParentId;
nextDeptByparentId(this.searchParam, success => {
this.nextParentId = success.data.parentId;
this.queryList();
}, error => {
})
}
},
closePopup() { closePopup() {
this.$emit('close'); this.$emit('close');
}, },
queryList() { queryList() {
queryDepts(this.searchParam, success => { queryDepts(this.searchParam, success => {
console.log(success);
this.dataList = success.data this.dataList = success.data
}, error => { }, error => {
}) })
@ -87,7 +115,14 @@
this.queryList() this.queryList()
}, },
selectData() { selectData() {
this.$emit("reciveData", JSON.parse(JSON.stringify(this.checked))); let res = [];
let checkeds = JSON.parse(JSON.stringify(this.checked));
for (var i=0; i<checkeds.length; i++) {
var item = checkeds[i].split(";-;");
res.push({"deptId":item[0], "deptName":item[1]});
}
// this.$emit("reciveData", JSON.parse(JSON.stringify(this.checked)));
this.$emit("reciveData", res);
this.$emit('close'); this.$emit('close');
}, },
} }

17
src/views/enforce/enforcementPlan.vue

@ -67,8 +67,13 @@
</div> </div>
<!-- <van-divider :style="{ color: '#1989fa', borderColor: '#1989fa',padding: '0 5px' }" /> --> <!-- <van-divider :style="{ color: '#1989fa', borderColor: '#1989fa',padding: '0 5px' }" /> -->
<div class="van-hairline--bottom"></div> <div class="van-hairline--bottom"></div>
<div class="card_box_span card-title"> <!-- <div class="card_box_span card-title">-->
<p>{{ item.planName }}</p> <!-- <p>{{ item.planName }}</p>-->
<!-- </div>-->
<div class="card_box_span">
<p style="display: flex;"><span class="card_box_label">执法计划:</span> <a style="color: #2b75fd;">{{
null!=item.fileObject?item.fileObject.fileName:"" }}</a></p>
</div> </div>
<div class="card_box_span"> <div class="card_box_span">
@ -78,10 +83,10 @@
<p><span class="card_box_label">执法部门:</span> {{ item.enforcementDepartment }} <p><span class="card_box_label">执法部门:</span> {{ item.enforcementDepartment }}
</p> </p>
</div> </div>
<div class="card_box_span"> <!-- <div class="card_box_span">-->
<p style="display: flex;"><span class="card_box_label">执法计划:</span> <a style="color: #2b75fd;">{{ <!-- <p style="display: flex;"><span class="card_box_label">执法计划:</span> <a style="color: #2b75fd;">{{-->
null!=item.fileObject?item.fileObject.fileName:"" }}</a></p> <!-- null!=item.fileObject?item.fileObject.fileName:"" }}</a></p>-->
</div> <!-- </div>-->
<!-- <div class="card_box_span"> <!-- <div class="card_box_span">
<p><span class="card_box_label">执法计划:</span> {{ item.fileObject.fileName }}</p> <p><span class="card_box_label">执法计划:</span> {{ item.fileObject.fileName }}</p>
</div> --> </div> -->

14
src/views/enforce/enforcementPlanAdd.vue

@ -33,13 +33,13 @@
@cancel="cancelSelectDate" @cancel="cancelSelectDate"
/> />
</van-popup> </van-popup>
<van-field <!-- <van-field-->
v-model="submitData.planName" <!-- v-model="submitData.planName"-->
label="计划名称" <!-- label="计划名称"-->
placeholder="请输入" <!-- placeholder="请输入"-->
required <!-- required-->
:rules="[{ required: true, message: '请输入计划名称' }]" <!-- :rules="[{ required: true, message: '请输入计划名称' }]"-->
/> <!-- />-->
<van-field <van-field
v-model="submitData.enforcementDepartment" v-model="submitData.enforcementDepartment"
label="执法部门" label="执法部门"

8
src/views/enforce/enterpriseBaseInfo.vue

@ -100,10 +100,10 @@
<!-- {{formattedTimeYYYYmmdd(item.c601005)}}, {{ item.lawEnforcerTwo }}</p>--> <!-- {{formattedTimeYYYYmmdd(item.c601005)}}, {{ item.lawEnforcerTwo }}</p>-->
{{formattedTimeYYYYmmdd(item.c601005)}}</p> {{formattedTimeYYYYmmdd(item.c601005)}}</p>
</div> </div>
<div class="card_box_span"> <!-- <div class="card_box_span">-->
<p v-if="item.c601015 == '01'"><span class="card_box_label">检查结果:</span> 合格</p> <!-- <p v-if="item.c601015 == '01'"><span class="card_box_label">检查结果:</span> 合格</p>-->
<p v-if="item.c601015 == '02'"><span class="card_box_label">检查结果:</span> 不合格</p> <!-- <p v-if="item.c601015 == '02'"><span class="card_box_label">检查结果:</span> 不合格</p>-->
</div> <!-- </div>-->
</div> </div>
</van-swipe-cell> </van-swipe-cell>
</div> </div>

2
src/views/enforce/historyCheck.vue

@ -57,7 +57,7 @@
<div class="goods_box" v-for="(item, index) in data?.dataList" :key="index"> <div class="goods_box" v-for="(item, index) in data?.dataList" :key="index">
<van-swipe-cell class="swipe_cell"> <van-swipe-cell class="swipe_cell">
<div class="card_box"> <div class="card_box">
<div class="card_box_span"> <div class="card_box_span" :style="item.isComplaint==1?'background-color: #fdffab':''">
<p>执法时间:{{ item.enforcementTime }} <p>执法时间:{{ item.enforcementTime }}
<span v-if="null != item.enforce" class="remsty">未扫码</span> <span v-if="null != item.enforce" class="remsty">未扫码</span>
</p> </p>

5
src/views/enforce/lawFilter.vue

@ -18,8 +18,9 @@
<div class="search-result"> <div class="search-result">
<div class="case-item" v-for="(item, index) in dataList" :key="index" @click="selectData(item)"> <div class="case-item" v-for="(item, index) in dataList" :key="index" @click="selectData(item)">
<div class="case-title">企业名:{{ item.enterpriseName }}</div> <div class="case-title">企业名:{{ item.enterpriseName }}</div>
<div class="case-depart">执法事项:{{ item.checkItem }}</div> <!-- <div class="case-depart">执法事项:{{ item.checkItem }}</div>-->
<!-- <div class="case-time">执法证件号:{{ item.lawCertificateNum }}</div>--> <div class="case-depart">执法事项:{{ item.checkItemText }}</div>
<div class="case-time">执法时间:{{ item.checkTime }}</div>
</div> </div>
</div> </div>

83
src/views/enforce/sign.vue

@ -10,6 +10,14 @@
<van-form @failed="onFailed" ref="form"> <van-form @failed="onFailed" ref="form">
<van-cell-group> <van-cell-group>
<div class="zf-name">执法信息</div> <div class="zf-name">执法信息</div>
<van-field
v-model="submitData.lawText"
label="是否关联预约"
maxlength="50"
placeholder="请选择"
readonly
@click="data.lawChecked=true"
/>
<van-field <van-field
v-model="submitData.lawEnforcement" v-model="submitData.lawEnforcement"
label="执法部门" label="执法部门"
@ -58,17 +66,29 @@
readonly readonly
placeholder="请选择" placeholder="请选择"
/> />
<van-field <van-field
v-model="data.lawEnforcementItemText" v-model="submitData.lawEnforcementItemText"
required label="检查事项"
readonly rows="2"
label="检查事项" autosize
placeholder="检查事项" type="textarea"
@click="data.showItem = true" maxlength="50"
type="textarea" placeholder="请输入检查事项"
rows="1" show-word-limit
autosize
/> />
<!-- <van-field-->
<!-- v-model="data.lawEnforcementItemText"-->
<!-- required-->
<!-- readonly-->
<!-- label="检查事项"-->
<!-- placeholder="检查事项"-->
<!-- @click="data.showItem = true"-->
<!-- type="textarea"-->
<!-- rows="1"-->
<!-- autosize-->
<!-- />-->
<van-field v-model="submitData.lawEnforcementItem" v-show="false" /> <van-field v-model="submitData.lawEnforcementItem" v-show="false" />
<van-field <van-field
v-model="data.lawEnforcementBasisText" v-model="data.lawEnforcementBasisText"
@ -83,19 +103,19 @@
autosize autosize
/> />
<van-field v-model="submitData.lawEnforcementBasis" v-show="false" /> <van-field v-model="submitData.lawEnforcementBasis" v-show="false" />
<van-field <!-- <van-field-->
v-model="submitData.reslut" <!-- v-model="submitData.reslut"-->
required <!-- required-->
label="检查结果" <!-- label="检查结果"-->
:rules="[{ required: true, message: '必填项' }]" <!-- :rules="[{ required: true, message: '必填项' }]"-->
> <!-- >-->
<template #input> <!-- <template #input>-->
<div> <!-- <div>-->
<van-tag :color="data.good" @click="tapGood">合格</van-tag> <!-- <van-tag :color="data.good" @click="tapGood">合格</van-tag>-->
<van-tag :color="data.bad" @click="tapBad" style="margin-left: 0.4rem;">不合格</van-tag> <!-- <van-tag :color="data.bad" @click="tapBad" style="margin-left: 0.4rem;">不合格</van-tag>-->
</div> <!-- </div>-->
</template> <!-- </template>-->
</van-field> <!-- </van-field>-->
<van-field <van-field
v-model="submitData.remark" v-model="submitData.remark"
label="备注" label="备注"
@ -107,15 +127,6 @@
show-word-limit show-word-limit
/> />
<van-field
v-model="submitData.lawText"
label="检查事项"
maxlength="50"
placeholder="请选择"
readonly
@click="data.lawChecked=true"
/>
<van-divider class="divdsty" /> <van-divider class="divdsty" />
<div class="file-upload"> <div class="file-upload">
@ -254,6 +265,7 @@ const submitData = reactive({
subsidiaryerText: "", subsidiaryerText: "",
//执法事项 //执法事项
lawEnforcementItem:"", lawEnforcementItem:"",
lawEnforcementItemText:"",
//执法依据 //执法依据
lawEnforcementBasis:"", lawEnforcementBasis:"",
//执法结果 //执法结果
@ -514,7 +526,14 @@ const reciveDataqz = (item) =>{
} }
const reciveLaw = (item) => { const reciveLaw = (item) => {
submitData.lawId = item.id; submitData.lawId = item.id;
submitData.lawText = item.checkItem; // 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.lawEnforcementItemText = item.checkItemText;
submitData.uniteCheck = item.uniteCheck; submitData.uniteCheck = item.uniteCheck;
} }

7
src/views/enforceHome.vue

@ -1,6 +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="header_body"> <!-- <div class="header_body">
<header-nav :leftArrow="false" titelText="执法监督码"></header-nav> <header-nav :leftArrow="false" titelText="执法监督码"></header-nav>
@ -215,7 +216,7 @@
}; };
onMounted(() => { onMounted(() => {
new Vconsolefrom(); // new Vconsolefrom();
let fullUrl = window.location.href; let fullUrl = window.location.href;
let code = fullUrl.substring(fullUrl.indexOf('code=') + 5, fullUrl.indexOf('&state=')); let code = fullUrl.substring(fullUrl.indexOf('code=') + 5, fullUrl.indexOf('&state='));
console.log(useCommon.firstLoad) console.log(useCommon.firstLoad)

4
src/views/enterprise/caseFilter.vue

@ -112,7 +112,7 @@
<script> <script>
import {ref} from 'vue' import {ref} from 'vue'
import {queryRegistrationList} from '../../api/enterprise' import {queryRegistrationList2} from '../../api/enterprise'
import {queryLinkageDictByValueAndParentId, queryLinkage, queryLinkageById} from '@/api/linkage' import {queryLinkageDictByValueAndParentId, queryLinkage, queryLinkageById} from '@/api/linkage'
const {useCommon} = $globalStore const {useCommon} = $globalStore
@ -177,7 +177,7 @@
console.log("该用户没有关联企业!"); console.log("该用户没有关联企业!");
return; return;
} }
queryRegistrationList(this.searchParam, success => { queryRegistrationList2(this.searchParam, success => {
success.data.forEach(res => { success.data.forEach(res => {
this.lawEnforcementItemList.forEach(r => { this.lawEnforcementItemList.forEach(r => {
console.log(r); console.log(r);

12
src/views/enterprise/complaintList.vue

@ -137,14 +137,16 @@ const data = reactive({
const mssq = () => { const mssq = () => {
let params = { let params = {
assessServiceCode: "082407081009143119701", assessServiceCode: "672407221630025057401",
assessObjectName: "气象局", // assessObjectName: "气象局",
assessObjectName: "深圳市卫生健康委员会",
// assessObjectName: "深圳市司法局", // 实际使用环境用这个 // assessObjectName: "深圳市司法局", // 实际使用环境用这个
assessObjectCode: "082407081009143119701", assessObjectCode: "672407221630025057401",
deptCode: "151615", // deptCode: "151615",
deptCode: "152076",
// deptCode: "151617", // 司法局的deptCode // deptCode: "151617", // 司法局的deptCode
evaluatorName: "测试", evaluatorName: "测试",
evaluatorPapersPhone: "18528845598", evaluatorPapersPhone: "18520089969",
// backUrl: "http://jdm.szssfj.cn/enterprise", // 正式环境用这个 // backUrl: "http://jdm.szssfj.cn/enterprise", // 正式环境用这个
backUrl: "http://192.168.31.196:3301/", backUrl: "http://192.168.31.196:3301/",
} }

45
src/views/enterprise/enterpriseInspectionDetail.vue

@ -52,17 +52,20 @@
readonly readonly
/> />
<van-field <van-field
v-if="!data.isEnterprise"
v-model="submitData.lawEnforcement" v-model="submitData.lawEnforcement"
readonly readonly
label="执法部门" label="执法部门"
/> />
<van-field <van-field
v-if="!data.isEnterprise"
v-model="submitData.lawEnforcer" v-model="submitData.lawEnforcer"
readonly readonly
label="执法人员" label="执法人员"
/> />
<van-field <van-field
v-if="!data.isEnterprise"
v-model="submitData.lawEnforcerTwo" v-model="submitData.lawEnforcerTwo"
readonly readonly
label="执法人员" label="执法人员"
@ -75,6 +78,10 @@
type="textarea" type="textarea"
readonly readonly
/> />
<van-action-bar v-if="submitData.isReg != 1 && submitData.status != 1 && submitData.status != 3">
<van-button round block type="info" native-type="submit" @click="cancel">取消</van-button>
</van-action-bar>
</van-form> </van-form>
<!-- </van-cell-group>--> <!-- </van-cell-group>-->
</div> </div>
@ -99,7 +106,7 @@
<script setup name="register"> <script setup name="register">
import {getEnterpriseLawEnforcement} from '../../api/administrative' import {getEnterpriseLawEnforcement, cancelEnterpriseLawEnforcement} from '../../api/administrative'
import { reactive, ref } from "vue"; import { reactive, ref } from "vue";
import {getDict} from "../../api/Home"; import {getDict} from "../../api/Home";
import {queryLinkageById} from "../../api/linkage"; import {queryLinkageById} from "../../api/linkage";
@ -111,6 +118,7 @@ let queryaddressId = ref("");
const data = reactive({ const data = reactive({
showLawEnforcerFlag:false, showLawEnforcerFlag:false,
showTimePicker:false, showTimePicker:false,
isEnterprise: false,
}); });
//保存参数 //保存参数
let submitData = reactive({ let submitData = reactive({
@ -144,6 +152,10 @@ let submitData = reactive({
lawEnforcerIdTwo:"", lawEnforcerIdTwo:"",
/** 备注 */ /** 备注 */
remark:"", remark:"",
/** 是否已登记 */
isReg:1,
/** 状态 0:正常;1:取消 */
status:1,
}) })
const onConfirm = (time) => { const onConfirm = (time) => {
@ -165,6 +177,12 @@ const goBack = () => {
router.go(-1); router.go(-1);
}; };
const cancel = () => {
cancelEnterpriseLawEnforcement(route?.query?.id,success =>{
router.go(-1);
});
};
const setLinkageItem = (id) => { const setLinkageItem = (id) => {
queryLinkageById({"id": id}, success => { queryLinkageById({"id": id}, success => {
submitData.checkItem = success.title submitData.checkItem = success.title
@ -178,6 +196,7 @@ const setLinkageGA = (id) => {
//初始化参数,获取扫码的企业统一信用编码 //初始化参数,获取扫码的企业统一信用编码
onMounted(() =>{ onMounted(() =>{
data.isEnterprise = route?.query?.isEnterprise
getEnterpriseLawEnforcement(route?.query?.id,success =>{ getEnterpriseLawEnforcement(route?.query?.id,success =>{
//跳转企业二维码地址 //跳转企业二维码地址
if(success.success){ if(success.success){
@ -185,13 +204,17 @@ onMounted(() =>{
submitData.lawEnforcement = success.data.lawEnforcement; submitData.lawEnforcement = success.data.lawEnforcement;
submitData.lawEnforcer = success.data.lawEnforcer; submitData.lawEnforcer = success.data.lawEnforcer;
submitData.lawEnforcerTwo = success.data.lawEnforcerTwo; submitData.lawEnforcerTwo = success.data.lawEnforcerTwo;
submitData.checkItem = success.data.checkItem; // submitData.checkItem = success.data.checkItem;
submitData.checkRequire = success.data.checkRequire; // submitData.checkRequire = success.data.checkRequire;
submitData.checkItem = success.data.checkItemText;
submitData.checkRequire = success.data.checkRequireText;
submitData.enterpriseName = success.data.enterpriseName; submitData.enterpriseName = success.data.enterpriseName;
submitData.linkMan = success.data.linkMan; submitData.linkMan = success.data.linkMan;
submitData.linkTel = success.data.linkTel; submitData.linkTel = success.data.linkTel;
submitData.checkTime = formattedTimeYYYYmmdd(success.data.checkTime); submitData.checkTime = formattedTimeYYYYmmdd(success.data.checkTime);
submitData.remark = success.data.remark; submitData.remark = success.data.remark;
submitData.isReg = success.data.isReg;
submitData.status = success.data.status;
setLinkageItem(submitData.checkItem); setLinkageItem(submitData.checkItem);
setLinkageGA(submitData.checkRequire); setLinkageGA(submitData.checkRequire);
@ -232,5 +255,21 @@ onMounted(() =>{
margin-top: 0.15rem; margin-top: 0.15rem;
} }
: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;
}
/deep/ .van-action-bar {
box-shadow: 0 0 0.27rem #e5e5e5;
}
</style> </style>

1
src/views/enterprise/enterpriseInspectionList.vue

@ -242,6 +242,7 @@
path: "/enterprise/enterpriseInspectionDetail", path: "/enterprise/enterpriseInspectionDetail",
query: { query: {
id: id, id: id,
isEnterprise: true
} }
}); });
} }

28
src/views/enterprise/registrationDetail.vue

@ -62,20 +62,20 @@
rows="1" rows="1"
autosize autosize
/> />
<van-field <!-- <van-field-->
v-model="submitData.reslut" <!-- v-model="submitData.reslut"-->
required <!-- required-->
label="检查结果" <!-- label="检查结果"-->
:rules="[{ required: true, message: '必填项' }]" <!-- :rules="[{ required: true, message: '必填项' }]"-->
readonly <!-- readonly-->
> <!-- >-->
<template #input> <!-- <template #input>-->
<div> <!-- <div>-->
<van-tag :color="data.good">合格</van-tag> <!-- <van-tag :color="data.good">合格</van-tag>-->
<van-tag :color="data.bad" style="margin-left: 15px;">不合格</van-tag> <!-- <van-tag :color="data.bad" style="margin-left: 15px;">不合格</van-tag>-->
</div> <!-- </div>-->
</template> <!-- </template>-->
</van-field> <!-- </van-field>-->
<van-field <van-field
v-model="submitData.remark" v-model="submitData.remark"
label="备注" label="备注"

26
src/views/enterprise/registrationEdit.vue

@ -68,19 +68,19 @@
autosize autosize
/> />
<van-field v-model="submitData.lawEnforcementBasis" v-show="false" /> <van-field v-model="submitData.lawEnforcementBasis" v-show="false" />
<van-field <!-- <van-field-->
v-model="submitData.reslut" <!-- v-model="submitData.reslut"-->
required <!-- required-->
label="检查结果" <!-- label="检查结果"-->
:rules="[{ required: true, message: '必填项' }]" <!-- :rules="[{ required: true, message: '必填项' }]"-->
> <!-- >-->
<template #input> <!-- <template #input>-->
<div> <!-- <div>-->
<van-tag :color="data.good" @click="tapGood">合格</van-tag> <!-- <van-tag :color="data.good" @click="tapGood">合格</van-tag>-->
<van-tag :color="data.bad" @click="tapBad" style="margin-left: 0.4rem;">不合格</van-tag> <!-- <van-tag :color="data.bad" @click="tapBad" style="margin-left: 0.4rem;">不合格</van-tag>-->
</div> <!-- </div>-->
</template> <!-- </template>-->
</van-field> <!-- </van-field>-->
<van-field <van-field
v-model="submitData.remark" v-model="submitData.remark"
label="备注" label="备注"

4
src/views/enterprise/registrationList.vue

@ -74,7 +74,7 @@
<div class="card_box_span"> <div class="card_box_span">
<p>执法时间:{{ item.createTime }} <span class="card_box_action"> <p>执法时间:{{ item.createTime }} <span class="card_box_action">
</span></p> </span></p>
<van-button class="trbtn" <van-button v-if="item.outTimeDayNum<=5" class="trbtn"
@click="toComplaintView(item.id,item.lawEnforcementItem,item.lawEnforcementItemText)" @click="toComplaintView(item.id,item.lawEnforcementItem,item.lawEnforcementItemText)"
type="primary" type="primary"
size="mini">投诉 size="mini">投诉
@ -194,7 +194,7 @@
}); });
} }
const queryList = () => { const queryList = () => {
console.log(searchParam.enterpriseNumber) // searchParam.enterpriseNumber = "92440300MACQUM2M9D";
//TODO 临时注释 //TODO 临时注释
if (searchParam.enterpriseNumber == '' || searchParam.enterpriseNumber == null) { if (searchParam.enterpriseNumber == '' || searchParam.enterpriseNumber == null) {
console.log("该用户没有关联企业!"); console.log("该用户没有关联企业!");

Loading…
Cancel
Save