Merge branch 'bjxz-dev' into chenH

This commit is contained in:
cjp 2024-04-29 18:34:41 +08:00
commit 6d56422b44
32 changed files with 303 additions and 191 deletions

View File

@ -1,4 +1,4 @@
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>人员录入</title><link href=/doc/h5Entry/static/css/app.6e05954c69bddd6a6b28e29ab82d9930.css rel=stylesheet></head><body><div id=app></div><script>var host = window.location.origin;
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>人员录入</title><link href=/doc/h5Entry/static/css/app.2894818dffea468ddc2107034baa0082.css rel=stylesheet></head><body><div id=app></div><script>var host = window.location.origin;
var rootURL = host + "/";
// var rootURL = "http://192.168.34.221:28888/";
// var rootURL = "http://192.168.34.221:9111/"; //本地
@ -16,4 +16,4 @@
// rootURL = "http://192.168.34.155:19111/" //本地
// locationURL=rootURL+'doc/h5Entry/index.html?userId=4&projectSn=a2ef0238b59146aa814b93f47710dbf2#/'
locationURL=rootURL+'doc/h5Entry/index.html?userId=1779721457571291137&projectSn=BD3137498CB84BF0969979E0342CDBCA&educationId=1666278624304615426#/'
}</script><script type=text/javascript src=/doc/h5Entry/static/js/manifest.2197ea6cd2c0e28f3627.js></script><script type=text/javascript src=/doc/h5Entry/static/js/vendor.08fb8d13d88c906352f9.js></script><script type=text/javascript src=/doc/h5Entry/static/js/app.8c1a3bfdc0f0fe08ad2f.js></script></body></html>
}</script><script type=text/javascript src=/doc/h5Entry/static/js/manifest.57836df18953bdc17acc.js></script><script type=text/javascript src=/doc/h5Entry/static/js/vendor.08fb8d13d88c906352f9.js></script><script type=text/javascript src=/doc/h5Entry/static/js/app.c6b3cb802133ea2879cb.js></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
webpackJsonp([2],{"2NXm":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("mvHQ"),o=n.n(i),a=n("woOf"),r=n.n(a),s=n("bOdI"),c=n.n(s),l={data:function(){return{userData:{}}},created:function(){this.httpUrl=rootURL;var t=locationURL,e=t.split("?")[1];console.log(t);var n={};e.split("&").forEach(function(t,e){if(console.log(t),2==e){var i=t.split("=")[0],o=t.split("=")[1].split("#")[0],a=c()({},i,o);r()(n,a)}else{var s=t.split("=")[0],l=t.split("=")[1],u=c()({},s,l);r()(n,u)}}),console.log(n,777888),localStorage.setItem("userData",o()(n)),this.userData=n},methods:{memberRegister:function(){this.$router.push({path:"/infoInput"})},educationEnter:function(){window.open(window.location.origin+"#/authentication?eduId="+this.userData.educationId+"&projectSn="+this.userData.projectSn)},entryCodeEnter:function(){window.open(window.location.origin+"#/entryCode?projectSn="+this.userData.projectSn)}}},u={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"home"},[n("div",{staticClass:"content-part"},[n("div",{staticClass:"part-title"},[t._v("人员登记考试系统")]),t._v(" "),n("div",{staticClass:"part-alarm"},[t._v("请先进行人员登记,再进行考试")]),t._v(" "),n("div",{staticClass:"btn member",on:{click:t.memberRegister}},[t._v("人员登记")]),t._v(" "),n("div",{staticClass:"btn education",on:{click:t.educationEnter}},[t._v("教育培训")]),t._v(" "),n("div",{staticClass:"btn entry",on:{click:t.entryCodeEnter}},[t._v("准入二维码")])])])},staticRenderFns:[]};var d=n("VU/8")(l,u,!1,function(t){n("hxHY")},"data-v-aafdc6ca",null);e.default=d.exports},"9bBU":function(t,e,n){n("mClu");var i=n("FeBl").Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}},C4MV:function(t,e,n){t.exports={default:n("9bBU"),__esModule:!0}},bOdI:function(t,e,n){"use strict";e.__esModule=!0;var i,o=n("C4MV"),a=(i=o)&&i.__esModule?i:{default:i};e.default=function(t,e,n){return e in t?(0,a.default)(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},hxHY:function(t,e){},mClu:function(t,e,n){var i=n("kM2E");i(i.S+i.F*!n("+E39"),"Object",{defineProperty:n("evD5").f})}});
//# sourceMappingURL=2.71d89ea01849e20a56e5.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
webpackJsonp([3],{"2NXm":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n("mvHQ"),o=n.n(i),a=n("woOf"),r=n.n(a),s=n("bOdI"),c=n.n(s),l={data:function(){return{userData:{}}},created:function(){this.httpUrl=rootURL;var t=locationURL,e=t.split("?")[1];console.log(t);var n={};e.split("&").forEach(function(t,e){if(console.log(t),2==e){var i=t.split("=")[0],o=t.split("=")[1].split("#")[0],a=c()({},i,o);r()(n,a)}else{var s=t.split("=")[0],l=t.split("=")[1],u=c()({},s,l);r()(n,u)}}),console.log(n,777888),localStorage.setItem("userData",o()(n)),this.userData=n},methods:{memberRegister:function(){this.$router.push({path:"/infoInput"})},educationEnter:function(){window.open(window.location.origin+"#/authentication?eduId="+this.userData.educationId+"&projectSn="+this.userData.projectSn)},entryCodeEnter:function(){window.open(window.location.origin+"#/entryCode")}}},u={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"home"},[n("div",{staticClass:"content-part"},[n("div",{staticClass:"part-title"},[t._v("人员登记考试系统")]),t._v(" "),n("div",{staticClass:"part-alarm"},[t._v("请先进行人员登记,再进行考试")]),t._v(" "),n("div",{staticClass:"btn member",on:{click:t.memberRegister}},[t._v("人员登记")]),t._v(" "),n("div",{staticClass:"btn education",on:{click:t.educationEnter}},[t._v("教育培训")]),t._v(" "),n("div",{staticClass:"btn entry",on:{click:t.entryCodeEnter}},[t._v("准入二维码")])])])},staticRenderFns:[]};var d=n("VU/8")(l,u,!1,function(t){n("TRHa")},"data-v-2745a1dd",null);e.default=d.exports},"9bBU":function(t,e,n){n("mClu");var i=n("FeBl").Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}},C4MV:function(t,e,n){t.exports={default:n("9bBU"),__esModule:!0}},TRHa:function(t,e){},bOdI:function(t,e,n){"use strict";e.__esModule=!0;var i,o=n("C4MV"),a=(i=o)&&i.__esModule?i:{default:i};e.default=function(t,e,n){return e in t?(0,a.default)(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},mClu:function(t,e,n){var i=n("kM2E");i(i.S+i.F*!n("+E39"),"Object",{defineProperty:n("evD5").f})}});
//# sourceMappingURL=3.f5c5b68b5db93c9b6b8d.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,a){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(n&&n(r,c,a);l.length;)l.shift()();if(a)for(s=0;s<a.length;s++)f=o(o.s=a[s]);return f};var r={},t={8:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+e+"."+{0:"fbf64467c6abbbc1eb98",1:"578ea456fe8c81e20520",2:"b40a0ecff2f58dd786e6",3:"f5c5b68b5db93c9b6b8d",4:"cc318b807ecd505f3946",5:"ef7329314c5270b36976"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="/doc/h5Entry/",o.oe=function(e){throw console.error(e),e}}([]);
//# sourceMappingURL=manifest.110ee1417059aafd2aa2.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,a){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(n&&n(r,c,a);l.length;)l.shift()();if(a)for(s=0;s<a.length;s++)f=o(o.s=a[s]);return f};var r={},t={8:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+e+"."+{0:"fbf64467c6abbbc1eb98",1:"578ea456fe8c81e20520",2:"71d89ea01849e20a56e5",3:"4dbc61fae8f9d7188195",4:"cc318b807ecd505f3946",5:"ef7329314c5270b36976"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="/doc/h5Entry/",o.oe=function(e){throw console.error(e),e}}([]);
//# sourceMappingURL=manifest.57836df18953bdc17acc.js.map

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 KiB

View File

@ -85,4 +85,6 @@ export const deleteSafeRegionListApi = data => post('xmgl/hiddenDangerInspectReg
// 准入二维码
export const entryCodeApi = data => post('xmgl/workerInfo/selectWorkerInfoByIdCard', data);
export const reduceScoreListApi = data => get('xmgl/xzDeductScoreRecord/list', data);

View File

@ -296,6 +296,8 @@ Vue.prototype.getViewFilePath = function(row) {
//路由监听
router.beforeEach((to, form, next) => {
const whitepage = [
'/entryCodeDetail',
'/entryCode',
'/authentication',
'/test',
'/videoLearning',

View File

@ -3009,18 +3009,18 @@ const routes2 = [
import("@/views/projectFront/examination/videoLearning.vue"),
},
//准入二维码-验证
// {
// path: "/entryCode",
// name: "准入二维码_验证",
// component: () =>
// import("@/views/projectFront/entryCode/myLogin.vue"),
// },
// {
// path: "/entryCodeDetail",
// name: "准入二维码_详情",
// component: () =>
// import("@/views/projectFront/entryCode/myHome.vue"),
// },
{
path: "/entryCode",
name: "准入二维码_验证",
component: () =>
import("@/views/projectFront/entryCode/myLogin.vue"),
},
{
path: "/entryCodeDetail",
name: "准入二维码_详情",
component: () =>
import("@/views/projectFront/entryCode/myHome.vue"),
},
// 用户中心
{
path: "/userPage",

View File

@ -134,7 +134,7 @@
></el-input>
</el-form-item>
<el-form-item label="选择违章人员" prop="workerInfoList" v-if="addEditForm.handleResult != 2">
<el-select :disabled="isDetail" multiple v-model="selectList" placeholder="请选择" clearable @change="dutySelectChange">
<el-select :disabled="isDetail" filterable multiple v-model="selectList" placeholder="请选择" clearable @change="dutySelectChange">
<el-option v-for="(item, index) in workerListOptions" :key="index" :label="item.workerName" :value="item.id"> </el-option>
</el-select>
</el-form-item>

View File

@ -1,7 +1,7 @@
<template>
<div class="home">
<div class="nav">
<div class="iconBack"><i
<div class="iconBack" @click="$router.back()"><i
class="el-icon-arrow-left"
style="color: white"
></i></div>
@ -32,16 +32,14 @@
>
<div
class="hear"
:style="{ fontSize: backimgFontSize * 0.9 + 'px', padding: backimgFontSize * 0.7 + 'px' }"
:style="{ fontSize: backimgFontSize * 0.9 + 'px' }"
>
{{ currentTime }}
</div>
<div class="qr">
<div
:style="{ paddingTop: backimgFontSize + 'px' }"
v-if="backimgwidth != 0"
>
<vue-qr
<!-- <vue-qr
:text="qrUrl"
:callback="qrCallBack"
:size="qrsize"
@ -51,7 +49,8 @@
:logoScale="0.2"
:dotScale="0.7"
>
</vue-qr>
</vue-qr> -->
<div id="qrCode" ref="qrCodeDiv"></div>
</div>
<div
@ -90,7 +89,7 @@
paddingBottom: backimgFontSize * 0.4 + 'px'
}"
>
<div class="down-up">
<div class="down-up" style="margin-bottom: 8%;">
<div class="left-downHear">姓名</div>
<div class="right-downHear">{{ WorkerInfo.workerName | hideName }}</div>
</div>
@ -103,7 +102,7 @@
<div
class="text"
v-if="WorkerInfo.safeScore >= 90 && backimgwidth != 0"
:style="{ 'color': fontColor, paddingTop: backimgFontSize * 0.3 + 'px', height: backimgFontSize * 8.27 + 'px' }"
:style="{ 'color': fontColor, paddingTop: backimgFontSize * 0.3 + 'px', height: backimgFontSize * 7 + 'px' }"
>
通过后台查询到您无扣分风险
</div>
@ -111,7 +110,7 @@
<div
class="text2"
v-if="WorkerInfo.safeScore < 90 && backimgwidth != 0"
:style="{ 'color': fontColor, paddingTop: backimgFontSize * 0.3 + 'px', paddingBottom: backimgFontSize * 0.3 + 'px', height: backimgFontSize * 8.27 + 'px', width: backimgFontSize * 13.35 + 'px' }"
:style="{ 'color': fontColor, paddingTop: backimgFontSize * 0.3 + 'px', paddingBottom: backimgFontSize * 0.3 + 'px', height: backimgFontSize * 7 + 'px', width: backimgFontSize * 13.35 + 'px' }"
>
<div
class="text2-title"
@ -121,7 +120,7 @@
class="text2-content"
v-infinite-scroll="load"
style="overflow:auto"
:style="{ fontSize: backimgFontSize * 0.5 + 'px', height: backimgFontSize * 7.5 + 'px', }"
:style="{ fontSize: backimgFontSize * 0.5 + 'px', height: backimgFontSize * 6 + 'px', }"
>
<li
class="text2-item"
@ -141,14 +140,14 @@
<div
class="foot"
v-if="WorkerInfo.safeScore >= 80 && WorkerInfo.safeScore < 90"
:style="{ 'color': fontColor, paddingTop: backimgFontSize * 0.4 + 'px', fontSize: backimgFontSize * 0.9 + 'px' }"
:style="{ 'color': fontColor, paddingTop: backimgFontSize * 0.2 + 'px', fontSize: backimgFontSize * 0.9 + 'px' }"
>
安全分已经低于90分
</div>
<div
class="foot"
v-if="WorkerInfo.safeScore < 80"
:style="{ 'color': fontColor, paddingTop: backimgFontSize * 0.4 + 'px', fontSize: backimgFontSize * 0.9 + 'px' }"
:style="{ 'color': fontColor, paddingTop: backimgFontSize * 0.2 + 'px', fontSize: backimgFontSize * 0.9 + 'px' }"
>
安全分已经低于80分
</div>
@ -163,13 +162,15 @@
</template>
<script>
import vueQr from 'vue-qr'
// import vueQr from 'vue-qr'
// import imgerr from '../assets'
import { reduceScoreListApi } from '@/assets/js/api/safeManage.js'
import QRCode from "qrcodejs2";
export default {
name: 'myLogin',
components: {
vueQr
},
// components: {
// vueQr
// },
data () {
return {
//
@ -202,9 +203,9 @@ export default {
//
// imgUrl: ["../../assets/.png", "../../assets/.png", "../../assets/.png"],
imgUrl: {
img1: require("../../assets/健康.png"),
img2: require("../../assets/低险.png"),
img3: require("../../assets/危险.png")
img1: require("../../../assets/images/entryCodeImg/健康.png"),
img2: require("../../../assets/images/entryCodeImg/低险.png"),
img3: require("../../../assets/images/entryCodeImg/危险.png")
},
id: "",
// url
@ -212,11 +213,15 @@ export default {
// base64
qrDownloadUrl: "",
//
codeColor: "green",
//
fontColor: "green",
//
flag: true,
//
WorkerInfo: {},
//Sn
projectSn: "",
}
},
@ -234,6 +239,7 @@ export default {
mounted () {
this.setColor(this.WorkerInfo.safeScore);
this.setCodeColor(this.WorkerInfo.safeScore)
this.setImg(this.WorkerInfo.safeScore);
this.getScoreRecord();
@ -291,9 +297,10 @@ export default {
async getScoreRecord () {
const params = {
workerId: this.id,
workerId: this.WorkerInfo.id,
projectSn: this.projectSn
};
const { data: res } = await this.$http.get('/xmgl/xzDeductScoreRecord/list', params);
const res = await reduceScoreListApi(params);
console.log(res);
if (res.success == true && res.result.length != 0) {
this.scoreRecord = res.result;
@ -327,29 +334,59 @@ export default {
if (fenshu >= 90) {
this.fontColor = "green";
} else if (fenshu >= 80 && fenshu < 90) {
this.fontColor = "rgb(255, 230, 0)";
// this.fontColor = "rgb(255, 230, 0)";
this.fontColor = "#D47300"
} else if (fenshu < 80) {
this.fontColor = "red";
// this.fontColor = "red";
this.fontColor = "#EA3941"
}
},
setCodeColor (fenshu) {
if (fenshu >= 90) {
this.codeColor = "green";
} else if (fenshu >= 80 && fenshu < 90) {
// this.fontColor = "rgb(255, 230, 0)";
this.codeColor = "#F7C409"
} else if (fenshu < 80) {
// this.fontColor = "red";
this.codeColor = "#F0212A"
}
},
getId () {
let that = this;
// console.log(this.$route.params);
this.WorkerInfo = this.$route.params.WorkerInfo;
this.projectSn = this.$route.params.projectSn;
console.log(this.WorkerInfo);
this.qrUrl = this.WorkerInfo.id;
this.$nextTick(() => {
that.bindQRCode();
})
},
//
bindQRCode: function() {
document.getElementById("qrCode").innerHTML = "";
let httpUrl = window.location.origin;
let userId = localStorage.getItem("userData").userId;
let projectSn = this.$store.state.projectSn;
new QRCode(this.$refs.qrCodeDiv, {
text: this.qrUrl,
width: 230,
height: 230,
colorDark: this.codeColor,
colorLight: "white",
logoScale: 0.2,
dotScale: 0.7,
// colorDark: "#333333", //
// colorLight: "#ffffff", //
correctLevel: QRCode.CorrectLevel.L, //L/M/H
});
},
//
qrCallBack (qrUrl) {
this.qrDownloadUrl = qrUrl;
},
//
downloadQrcode () {
let a = document.createElement('a');
a.download = '我的二维码';
a.href = this.qrDownloadUrl;
a.click();
},
//
handleQrCode (type) {
switch (type) {
@ -379,7 +416,12 @@ export default {
}
</script>
<style scoped>
<style lang="less" scoped>
#qrCode{
/deep/ img {
margin: 0 auto;
}
}
.content {
display: flex;
align-items: center;
@ -391,7 +433,7 @@ export default {
.place {
width: 90%;
height: 100%;
background-image: url(../../assets/健康.png);
background-image: url("~@/assets/images/entryCodeImg/健康.png");
background-size: contain;
background-repeat: no-repeat;
background-position: center;
@ -403,10 +445,11 @@ export default {
.content-up {
width: 100%;
height: 54.5%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
margin-top: 10%;
}
.content-down {
@ -421,7 +464,6 @@ export default {
transform: translateX(-50%); */
display: flex;
flex-direction: column;
justify-content: flex-end;
/* height: 500px; */
}
@ -429,13 +471,21 @@ export default {
display: flex;
align-items: center;
justify-content: center;
color: #272D45;
}
.qr {}
.qr {
margin-top: 16%;
}
.tip {
font-weight: bold;
border-bottom: 0.16rem dashed gray;
margin-top: 5%;
padding-bottom: 5%;
p{
text-align: center;
}
}
.text2-title {
@ -485,6 +535,7 @@ li {
.foot {
font-size: 1.3rem;
font-weight: bold;
text-align: center;
}
.down-up {

View File

@ -1,12 +1,5 @@
<template>
<div class="login">
<div class="nav">
<div class="iconBack"><i class="el-icon-arrow-left"></i></div>
<div class="pageName">
<h2 class="tou">准入二维码</h2>
</div>
</div>
<div class="content">
<div class="title">
<p>准入二维码</p>
@ -67,12 +60,13 @@ export default {
idCard: this.value
};
// const idCard = this.value;
const { data: res } = await entryCodeApi(params);
const res = await entryCodeApi(params);
console.log(res);
if (res.success == true) {
this.id = res.result.id;
console.log("this.id:" + this.id);
this.$router.push({ name: 'home', params: { WorkerInfo: res.result } })
this.$router.push({ name: '准入二维码_详情', params: { WorkerInfo: res.result, projectSn: this.projectSn } })
// this.$router.push({path: '/entryCodeDetail'});
} else {
console.log("没有查到信息");
}
@ -107,27 +101,33 @@ export default {
.p {
color: red;
font-size: 1rem;
text-align: center;
margin-top: 2%;
}
.anniu {
color: white;
margin: 3.3rem 2.5rem;
height: 4.16rem;
width: 90%;
margin: 0 auto;
margin-top: 10%;
height: 2.5rem;
line-height: 2.5rem;
font-size: 1.2rem;
background-color: rgb(74, 137, 238);
border-radius: 2.5rem;
align-items: center;
line-height: 4.16rem;
text-align: center;
}
.input {
margin: 0 20px;
width: 90%;
margin: 0 auto;
margin-top: 40%;
}
input {
font-size: 1.3rem;
text-align: center;
height: 3.33rem;
height: 2.5rem;
width: 100%;
border: rgb(165, 165, 165) solid 0.08rem;
border-radius: 0.41rem;
@ -148,42 +148,27 @@ input::-webkit-input-placeholder {
}
.title {
font-size: 2.2rem;
font-size: 1.6rem;
font-weight: bold;
padding: 3.5rem 0;
}
.iconBack {
position: absolute;
left: 0;
font-size: 2.08rem;
}
.pageName {}
.tou {
margin: 0;
margin-top: 30%;
p{
text-align: center;
}
}
.login {
width: 100%;
height: 100%;
}
.nav {
width: 100%;
height: 3.33rem;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
.content {
width: 100%;
height: calc(100% - 3.33rem);
height: 100vh;
background-size: cover;
background-position: right;
background-image: url("../../assets/工地背景.jpg");
background-image: url("~@/assets/images/entryCodeImg/工地背景.jpg");
}
h1 {

View File

@ -2572,7 +2572,7 @@ export default {
ufaceDevList({ projectSn: this.$store.state.projectSn }).then((res) => {
console.log("获取人脸设备", res);
if (res.code == 200) {
this.ufaceDevAllList = res.result;
this.ufaceDevAllList = res.result || [];
// console.log(this.workerInfo.ufaceDevId);
if (this.$store.state.userInfo.accountType == 6) {
this.ufaceDevAllList.forEach((item) => {
@ -2633,6 +2633,7 @@ export default {
let data = JSON.parse(JSON.stringify(res.result));
console.log("基本人员信息", data.workerInfo);
this.workerInfo = data.workerInfo; //
if (this.workerInfo.ruleId == 0) {
this.workerInfo.ruleId = "";
}
@ -2680,7 +2681,7 @@ export default {
}
}
this.ufaceDevIdChange(this.workerInfo.ufaceDevId);
this.ufaceDevIdChange(this.workerInfo?.ufaceDevId);
}
this.uGroupNameList = [];
if (data.workerInfo.ufaceDevGroupId) {

View File

@ -1919,7 +1919,7 @@
></el-table-column>
<el-table-column prop="isSuccess" label="执行结果" align="center">
<template v-slot="{ row }">{{
row.isSuccess === 0 ? "成功" : "失败"
row.isSuccess === 1 ? "成功" : "失败"
}}</template>
</el-table-column>

View File

@ -2164,7 +2164,7 @@
></el-table-column>
<el-table-column prop="isSuccess" label="执行结果" align="center">
<template v-slot="{ row }">{{
row.isSuccess === 0 ? "成功" : "失败"
row.isSuccess === 1 ? "成功" : "失败"
}}</template>
</el-table-column>

View File

@ -2754,16 +2754,16 @@ export default {
// console.log(this.workerInfo.ufaceDevId, this.ufaceDevNameList)
this.longTerm = this.workerInfo.longTerm == 1 ? true : false; //
//
if(data.workerInfo.contractImage){
data.workerInfo.contractImage = JSON.parse(data.workerInfo.contractImage)
let arr = data.workerInfo.contractImage[0].imageUrl.split(",");
if(data.workerInfo.contractInfo){
data.workerInfo.contractInfo = JSON.parse(data.workerInfo.contractInfo)
let arr = data.workerInfo.contractInfo[0].imageUrl.split(",");
let fileList = [];
arr.forEach((item) => {
let valArr = item.split("*");
fileList.push({ name: valArr[0], url: valArr[1] });
});
data.workerInfo.contractImage[0].fileList = fileList;
this.contractList = data.workerInfo.contractImage; //
data.workerInfo.contractInfo[0].fileList = fileList;
this.contractList = data.workerInfo.contractInfo; //
} else {
this.contractList = []; //
}
@ -2782,9 +2782,9 @@ export default {
// }
// this.contractList = data.contractList; //
//
if (data.workerInfo.specialCertificateImage) {
data.workerInfo.specialCertificateImage = JSON.parse(data.workerInfo.specialCertificateImage)
data.workerInfo.specialCertificateImage.forEach((item) => {
if (data.workerInfo.specialCertificateInfo) {
data.workerInfo.specialCertificateInfo = JSON.parse(data.workerInfo.specialCertificateInfo)
data.workerInfo.specialCertificateInfo.forEach((item) => {
item.certificateState = false; //
if (item.photoUrl) {
let arr = item.photoUrl.split("*");
@ -2793,7 +2793,7 @@ export default {
item.fileList = [];
}
});
this.certificateList = data.workerInfo.specialCertificateImage; //
this.certificateList = data.workerInfo.specialCertificateInfo; //
}
// if (data.certificateList.length > 0) {
// data.certificateList.forEach((item) => {
@ -2817,12 +2817,12 @@ export default {
// this.physicalsList = data.physicalsList; //
//
if (data.workerInfo.examinationImage) {
data.workerInfo.examinationImage = JSON.parse(data.workerInfo.examinationImage)
data.workerInfo.examinationImage.forEach((item) => {
if (data.workerInfo.insuranceInfo) {
data.workerInfo.insuranceInfo = JSON.parse(data.workerInfo.insuranceInfo)
data.workerInfo.insuranceInfo.forEach((item) => {
item.insuranceState = false; //
});
this.insuranceList = data.workerInfo.examinationImage; //
this.insuranceList = data.workerInfo.insuranceInfo; //
}
// if (data.insuranceList.length > 0) {
// data.insuranceList.forEach((item) => {
@ -3283,13 +3283,13 @@ export default {
let requestData = {
...this.workerInfo,
id: this.workerInfo.id,
contractImage: JSON.stringify(this.contractList)
contractInfo: JSON.stringify(this.contractList)
}
if(requestData.specialCertificateImage){
requestData.specialCertificateImage = JSON.stringify(requestData.specialCertificateImage)
if(requestData.specialCertificateInfo){
requestData.specialCertificateInfo = JSON.stringify(requestData.specialCertificateInfo)
}
if(requestData.examinationImage){
requestData.examinationImage = JSON.stringify(requestData.examinationImage)
if(requestData.insuranceInfo){
requestData.insuranceInfo = JSON.stringify(requestData.insuranceInfo)
}
updateMemberDetailDataList(requestData).then(res => {
if(res.code == 200){
@ -3524,13 +3524,13 @@ export default {
let requestData = {
...this.workerInfo,
id: this.workerInfo.id,
specialCertificateImage: JSON.stringify(this.certificateList)
specialCertificateInfo: JSON.stringify(this.certificateList)
}
if(requestData.contractImage){
requestData.contractImage = JSON.stringify(requestData.contractImage)
if(requestData.contractInfo){
requestData.contractInfo = JSON.stringify(requestData.contractInfo)
}
if(requestData.examinationImage){
requestData.examinationImage = JSON.stringify(requestData.examinationImage)
if(requestData.insuranceInfo){
requestData.insuranceInfo = JSON.stringify(requestData.insuranceInfo)
}
updateMemberDetailDataList(requestData).then(res => {
if(res.code == 200){
@ -3545,13 +3545,13 @@ export default {
let requestData = {
...this.workerInfo,
id: this.workerInfo.id,
specialCertificateImage: JSON.stringify(this.certificateList)
specialCertificateInfo: JSON.stringify(this.certificateList)
}
if(requestData.contractImage){
requestData.contractImage = JSON.stringify(requestData.contractImage)
if(requestData.contractInfo){
requestData.contractInfo = JSON.stringify(requestData.contractInfo)
}
if(requestData.examinationImage){
requestData.examinationImage = JSON.stringify(requestData.examinationImage)
if(requestData.insuranceInfo){
requestData.insuranceInfo = JSON.stringify(requestData.insuranceInfo)
}
updateMemberDetailDataList(requestData).then(res => {
if(res.code == 200){
@ -3586,13 +3586,13 @@ export default {
let requestData = {
...this.workerInfo,
id: this.workerInfo.id,
examinationImage: JSON.stringify(this.insuranceList)
insuranceInfo: JSON.stringify(this.insuranceList)
}
if(requestData.contractImage){
requestData.contractImage = JSON.stringify(requestData.contractImage)
if(requestData.contractInfo){
requestData.contractInfo = JSON.stringify(requestData.contractInfo)
}
if(requestData.specialCertificateImage){
requestData.specialCertificateImage = JSON.stringify(requestData.specialCertificateImage)
if(requestData.specialCertificateInfo){
requestData.specialCertificateInfo = JSON.stringify(requestData.specialCertificateInfo)
}
updateMemberDetailDataList(requestData).then(res => {
if(res.code == 200){
@ -3607,13 +3607,13 @@ export default {
let requestData = {
...this.workerInfo,
id: this.workerInfo.id,
examinationImage: JSON.stringify(this.insuranceList)
insuranceInfo: JSON.stringify(this.insuranceList)
}
if(requestData.contractImage){
requestData.contractImage = JSON.stringify(requestData.contractImage)
if(requestData.contractInfo){
requestData.contractInfo = JSON.stringify(requestData.contractInfo)
}
if(requestData.specialCertificateImage){
requestData.specialCertificateImage = JSON.stringify(requestData.specialCertificateImage)
if(requestData.specialCertificateInfo){
requestData.specialCertificateInfo = JSON.stringify(requestData.specialCertificateInfo)
}
updateMemberDetailDataList(requestData).then(res => {
if(res.code == 200){

View File

@ -863,7 +863,7 @@
></el-table-column>
<el-table-column prop="isSuccess" label="执行结果" align="center">
<template v-slot="{ row }">{{
row.isSuccess === 0 ? "成功" : "失败"
row.isSuccess === 1 ? "成功" : "失败"
}}</template>
</el-table-column>

View File

@ -219,7 +219,7 @@ export default {
if (!val) {
this.selectVal = "";
this.selectTreeData = {};
this.queryInfo.enterpriseId = "";
this.queryInfo.id = "";
}
},
//
@ -231,7 +231,7 @@ export default {
this.selectVal = data.enterpriseName;
this.queryInfo.id = data.id
this.selectTreeData = data;
this.queryInfo.enterpriseId = data.enterpriseId;
this.queryInfo.id = data.enterpriseId;
this.$refs.selectRef.blur();
}
},

View File

@ -25,16 +25,16 @@
>
</el-table-column>
<el-table-column
align="center"
align="center"
prop="regionCode"
:label="$t('message.quality.unit')"
prop="enterpriseName"
label="整改单位"
>
</el-table-column>
<el-table-column
align="center"
prop="dutyName"
prop="dutyUserName"
:label="$t('message.quality.rectificationPeople')"
>
</el-table-column>
@ -94,13 +94,13 @@
]"
>
<el-input
placeholder="请输入区域名称"
placeholder="请输入区域名称"
v-model="form.regionName"
:disabled="dialogType == 2"
></el-input>
</el-form-item>
<!-- 责任单位 start -->
<el-form-item :label="$t('message.quality.personWork')">
<!-- 整改单位 -->
<el-form-item label="整改单位">
<el-select
v-model="form.dutyId"
filterable
@ -117,18 +117,15 @@
:label="item.enterpriseName"
:value="item.id"
>
<span style="float: left">{{ item.enterpriseName }}</span>
</el-option>
</el-select>
</el-form-item>
<!-- 责任单位 end -->
<!-- 责任人 start -->
<el-form-item :label="$t('message.quality.personLiable')">
<!-- 整改人 start -->
<el-form-item label="整改人">
<el-select
v-model="form.personId"
filterable
multiple
@change="changeDutyId"
:placeholder="$t('message.quality.pleaseSelect')"
style="width: 100%"
prop="personId"
@ -137,10 +134,9 @@
<el-option
v-for="item in notifierOrPeopleList"
:key="item.userId"
:label="item.notifierOrPeopleList"
:label="item.realName"
:value="item.userId"
>
<span style="float: left">{{ item.realName }}</span>
</el-option>
</el-select>
</el-form-item>
@ -243,7 +239,7 @@ export default {
form: {
regionName: '',
dutyId: '',
personId: [],
personId: null,
intendanceIds: [],
intendanceNames: '',
remark: '',
@ -255,6 +251,7 @@ export default {
created() {
this.projectSn = this.$store.state.projectSn
this.getQualityRegionList()
this.getUpdateUnitListFn();
},
methods: {
//
@ -282,15 +279,10 @@ export default {
this.editDialog = true
this.title ='新增区域'
this.dialogType = 1
this.getNotifierOrPeopleList()
},
//
changeDutyId(value) {
for (let i = 0; i < this.notifierOrPeopleList.length; i++) {
if (value == this.notifierOrPeopleList[i].userId) {
this.form.dutyName = this.notifierOrPeopleList[i].workerName
}
}
this.getUpdatePersonListFn();
},
//
changeIntendanceIds(value) {
@ -315,12 +307,20 @@ export default {
}
console.log('编辑',value)
this.form.regionName = value.regionName
this.form.dutyId = value.dutyId ? value.dutyId : ''
if(value.enterpriseInfos && value.enterpriseInfos.length > 0){
this.form.dutyId = value.enterpriseInfos.map(item => {
return item.id
})
}
if(value.systemUsers && value.systemUsers.length > 0){
this.form.personId = value.systemUsers.map(item => {
return item.userId
})
}
this.form.remark = value.remark
this.form.id = value.id
this.title = '编辑区域'
this.dialogType = 2
this.getNotifierOrPeopleList()
this.editDialog = true
},
//---
@ -338,23 +338,9 @@ export default {
this.editDialog = true
this.title = this.$t('message.quality.newJunior')
this.dialogType = 3
this.getNotifierOrPeopleList()
},
//
getNotifierOrPeopleList() {
let data = {
projectSn: this.projectSn,
enterpriseId: this.enterpriseId
}
getProjectChilderSystemUserListApi(data).then((res) => {
console.log(res);
if (res.code == 200) {
console.log('------整改人', res)
console.log('------form', this.form)
this.notifierOrPeopleList = res.result
}
})
//
getUpdateUnitListFn(){
getEnterpriseInfoListApi({projectSn: this.projectSn}).then(res=>{
console.log(res);
if(res.code==200){
@ -362,12 +348,45 @@ export default {
}
})
},
//
getUpdatePersonListFn(){
let data = {
projectSn: this.projectSn,
enterpriseId: this.form.dutyId?this.form.dutyId.join(','):""
}
getProjectChilderSystemUserListApi(data).then((res) => {
console.log(res);
if (res.code == 200) {
this.notifierOrPeopleList = res.result
}
})
},
// //
// getNotifierOrPeopleList() {
// let data = {
// projectSn: this.projectSn,
// enterpriseId: this.enterpriseId
// }
// getProjectChilderSystemUserListApi(data).then((res) => {
// console.log(res);
// if (res.code == 200) {
// console.log('------', res)
// console.log('------form', this.form)
// this.notifierOrPeopleList = res.result
// }
// })
// getEnterpriseInfoListApi({projectSn: this.projectSn}).then(res=>{
// console.log(res);
// if(res.code==200){
// this.enterpriseInfoList = res.result
// }
// })
// },
//---
submit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let data = {
dutyId: this.form.dutyId,
dutyName: this.form.dutyName,
// intendanceIds: this.form.intendanceIds.join(','),
intendanceNames: this.form.intendanceNames,
@ -376,6 +395,16 @@ export default {
projectSn: this.projectSn,
parentRegion: this.form.parentRegion
}
if(this.form.dutyId && this.form.dutyId.length > 0){
data.enterpriseInfos = this.form.dutyId.map(item => {
return {id: item}
})
}
if(this.form.personId && this.form.personId.length > 0){
data.systemUsers = this.form.personId.map(item => {
return {userId: item}
})
}
if (this.dialogType == 1) {
addQualityRegionApi(data).then((res) => {
// console.log(res);

View File

@ -635,7 +635,7 @@
prop="inspectTime"
>
<el-date-picker
:disabled="type == 'detail'"
:disabled="true"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 400px"
v-model="addForm1.inspectTime"
@ -742,7 +742,7 @@
prop="verifyManId"
>
<el-select
:disabled="type == 'detail'"
:disabled="true"
v-model="addForm1.verifyManId"
filterable
style="width: 400px"
@ -1101,7 +1101,7 @@
prop="inspectTime"
>
<el-date-picker
:disabled="type == 'detail'"
:disabled="true"
style="width: 400px"
value-format="yyyy-MM-dd HH:mm:ss"
v-model="addForm2.inspectTime"
@ -1949,7 +1949,7 @@ import { VueCropper } from 'vue-cropper'
import {
getSubdivisionProjectApi //
} from '@/assets/js/api/quality'
import moment from 'moment'
var VUE = null
export default {
components: {
@ -2389,6 +2389,7 @@ export default {
let pathLabels =
this.$refs['formRegion1'].getCheckedNodes()[0].pathLabels
let data = this.$refs['formRegion1'].getCheckedNodes()[0].data
console.log(data,666)
// console.log(pathLabels,data)
let text = ''
for (let i = 0; i < pathLabels.length; i++) {
@ -2407,7 +2408,7 @@ export default {
this.addForm1.regionName = text
// console.log(data.intendanceIds.split(','))
// console.log(text)
if (data.intendanceIds.split(',') > 0) {
if (data.intendanceIds && data.intendanceIds.split(',') > 0) {
for (let j = 0; j < data.intendanceIds.split(',').length; j++) {
if (this.addForm1.notifyPerson > 0) {
this.addForm1.notifyPerson = []
@ -2419,6 +2420,10 @@ export default {
}
this.addForm1.notifyPerson = data.intendanceIds ? data.intendanceIds.split(',') : []
console.log(' this.addForm1.notifyPerson================', this.addForm1.notifyPerson);
this.subcontractList = data.enterpriseInfos;
this.crewUpdateList = data.systemUsers;
console.log(this.subcontractList,777)
console.log(this.crewUpdateList,888)
} else if (this.recordType == 2) {
let pathLabels =
this.$refs['addFormRegion2'].getCheckedNodes()[0].pathLabels
@ -2605,11 +2610,25 @@ export default {
this.fileList3 = []
}
let date = new Date()
let nowDate = moment(date).format('YYYY-MM-DD HH:mm:ss')
this.addForm1.inspectTime = nowDate
this.addForm2.inspectTime = nowDate
//
let index = this.crewList.findIndex(item => {
return item.userId == this.$store.state.userInfo.userId
})
if(index != -1){
this.addForm1.verifyManId = this.$store.state.userInfo.userId
} else {
this.addForm1.verifyManId = this.$store.state.userInfo.realName
}
//
this.addDialog = true
this.getPositionList()
this.getDescribeClassifyList()
this.getPeopleList()
this.getPeopleUpdateList();
// this.getPeopleUpdateList();
this.getRoutineInspect()
this.close()
this.rectifyRecordList = []
@ -2748,12 +2767,8 @@ export default {
this.addForm1.remark = ''
}
},
//
getEnterprise(type) {
if (type != 1) {
this.showEnterpriseDialog = true
}
//
getDivisionUnitFn(){
let data = {
// enterpriseTypeId: this.subcontractType,
pageNo: 1,
@ -2766,6 +2781,12 @@ export default {
}
})
},
//
getEnterprise(type) {
if (type != 1) {
this.showEnterpriseDialog = true
}
},
//
changeSubcontractType(val) {
this.subcontractType = val
@ -2785,7 +2806,7 @@ export default {
}
this.addForm1.changeId = "";
this.getPeopleList();
this.getPeopleUpdateList();
// this.getPeopleUpdateList();
this.showEnterpriseDialog = false
},
@ -3068,6 +3089,9 @@ export default {
data.notifyPerson = this.addForm1.notifyPerson.join(',')
data.imageUrl = imgUrl.join(',')
data.fileUrl = fileUrl.join(',')
if(data.verifyManId == this.$store.state.userInfo.realName){
data.verifyManId = this.$store.state.userInfo.userId
}
} else {
data = JSON.parse(JSON.stringify(this.addForm2))
data.regionId =

View File

@ -244,23 +244,23 @@
"
></el-table-column>
<!-- 操作 -->
<el-table-column
<!-- <el-table-column
width="80"
prop="id"
align="center"
:label="$t('message.safeMangeCheck.operate')"
v-if="COMPANY != 'nanchang'"
>
<!-- 删除 -->
删除
<template slot-scope="scope">
<div class="tableBtns">
<!-- <div @click="detailsPoint(scope.row)" class="operationText last">
<div @click="detailsPoint(scope.row)" class="operationText last">
<i
class="el-icon-tickets"
style="color: #8dacfa; font-size: 16px; margin-right: 2px"
></i>
<span>详情</span>
</div> -->
</div>
<div
@click.stop="deleteTaskFn(scope.row)"
class="operationText redText last"
@ -273,7 +273,7 @@
</div>
</div>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
<el-pagination
class="pagerBox"