Explorar o código

Merge branch 'web-v2' of http://192.168.1.43:3000/git/sass-lab-web into web-v2

dedsudiyu %!s(int64=2) %!d(string=hai) anos
pai
achega
62b9bbd3a9

+ 3 - 2
src/api/laboratory/admissionConfiguration.js

@@ -1,10 +1,11 @@
 import request from '@/utils/request'
 import request from '@/utils/request'
 
 
 //获取准入模板
 //获取准入模板
-export function subjectmaterial() {
+export function subjectmaterial(query) {
   return request({
   return request({
     url: '/laboratory/subjectmaterial/listData',
     url: '/laboratory/subjectmaterial/listData',
-    method: 'get'
+    method: 'get',
+    params: query
   })
   })
 }
 }
 
 

+ 25 - 61
src/views/comprehensive/laboratoryManagement/subject/addSubject.vue

@@ -78,13 +78,20 @@
       <el-form-item label="房间号" prop="room" class="form-item">
       <el-form-item label="房间号" prop="room" class="form-item">
         <el-input
         <el-input
           style="width:320px;"
           style="width:320px;"
-          maxlength="30"
+          maxlength="10"
           v-model="form.room"
           v-model="form.room"
           placeholder="请输房间号"
           placeholder="请输房间号"
           clearable
           clearable
           size="small"
           size="small"
         />
         />
       </el-form-item>
       </el-form-item>
+      <el-form-item label="准入设备"  class="form-item">
+        <el-select v-model="form.hardwareType" placeholder="请选择整改类型" style="width:230px;">
+          <el-option label="无"  :value=null />
+          <el-option label="海康智能门禁" :value="1" />
+          <el-option label="电子信息牌" :value="2" />
+        </el-select>
+      </el-form-item>
       <!--<el-form-item label="详细位置" prop="layoutId" class="form-item">-->
       <!--<el-form-item label="详细位置" prop="layoutId" class="form-item">-->
         <!--<el-select v-model="form.layoutId"  placeholder="请选择详细位置" style="width:320px;">-->
         <!--<el-select v-model="form.layoutId"  placeholder="请选择详细位置" style="width:320px;">-->
           <!--<el-option-->
           <!--<el-option-->
@@ -153,52 +160,6 @@
             </el-select>
             </el-select>
           </el-form-item>
           </el-form-item>
         </div>
         </div>
-<!--        <div class="left-form-box">-->
-
-<!--          <el-form-item label="安全警示标识" prop="safeSigns" class="form-item">-->
-<!--            <el-select v-model="form.safeSigns" multiple  placeholder="请选择安全警示标识" style="width:500px;">-->
-<!--              <el-option-->
-<!--                v-for="dict in safetyWarning"-->
-<!--                :key="dict.dictValue"-->
-<!--                :label="dict.dictLabel"-->
-<!--                :value="dict.dictValue"-->
-<!--              ></el-option>-->
-<!--            </el-select>-->
-<!--          </el-form-item>-->
-<!--          <el-form-item label="风控防控措施" prop="riskMeasure" class="form-item">-->
-<!--            <el-select v-model="form.riskMeasure" multiple  placeholder="请选择风险防控措施" style="width:500px;">-->
-<!--              <el-option-->
-<!--                v-for="dict in riskMeasure"-->
-<!--                :key="dict.dictValue"-->
-<!--                :label="dict.dictLabel"-->
-<!--                :value="dict.dictValue"-->
-<!--              ></el-option>-->
-<!--            </el-select>-->
-<!--          </el-form-item>-->
-<!--        </div>-->
-<!--        <div class="right-form-box">-->
-
-<!--          <el-form-item label="主要危险类别" prop="hazardCategory" class="form-item">-->
-<!--            <el-select v-model="form.hazardCategory" multiple  placeholder="请选择主要危险类别" style="width:500px;">-->
-<!--              <el-option-->
-<!--                v-for="dict in hazardCategory"-->
-<!--                :key="dict.dictValue"-->
-<!--                :label="dict.dictLabel"-->
-<!--                :value="dict.dictValue"-->
-<!--              ></el-option>-->
-<!--            </el-select>-->
-<!--          </el-form-item>-->
-<!--          <el-form-item label="灭火要点" prop="outfire" class="form-item">-->
-<!--            <el-select v-model="form.outfire" multiple  placeholder="请选择灭火要点" style="width:500px;">-->
-<!--              <el-option-->
-<!--                v-for="dict in extinguishingKeyPoints"-->
-<!--                :key="dict.dictValue"-->
-<!--                :label="dict.dictLabel"-->
-<!--                :value="dict.dictValue"-->
-<!--              ></el-option>-->
-<!--            </el-select>-->
-<!--          </el-form-item>-->
-<!--        </div>-->
       </div>
       </div>
       <div class="title-box">
       <div class="title-box">
         <p class="left-title">实验室简介</p>
         <p class="left-title">实验室简介</p>
@@ -252,6 +213,7 @@
           safetyInfoList:[],
           safetyInfoList:[],
           form:{
           form:{
             details:"",
             details:"",
+            hardwareType:null,
           },
           },
           // 表单校验
           // 表单校验
           rules: {
           rules: {
@@ -325,6 +287,7 @@
           this.$set(this.form,'buildId',this.subjectData.buildId)
           this.$set(this.form,'buildId',this.subjectData.buildId)
           this.$set(this.form,'floorId',this.subjectData.floorId)
           this.$set(this.form,'floorId',this.subjectData.floorId)
           this.$set(this.form,'room',this.subjectData.room)
           this.$set(this.form,'room',this.subjectData.room)
+          this.$set(this.form,'hardwareType',this.subjectData.hardwareType)
           this.$set(this.form,'details',this.subjectData.details)
           this.$set(this.form,'details',this.subjectData.details)
           this.$refs.UEditor.text=unescape(this.subjectData.details)
           this.$refs.UEditor.text=unescape(this.subjectData.details)
           // this.$set(this.form,'layoutId',this.subjectData.layoutId)
           // this.$set(this.form,'layoutId',this.subjectData.layoutId)
@@ -364,22 +327,24 @@
               };
               };
               list.push(obj)
               list.push(obj)
             }
             }
-            if(this.subjectData.classifyList){
-              //循环取安全信息牌信息
-              let list=this.subjectData.classifyList
-              for(let i=0;i<list.length;i++){
-                let list2=[];
-                if(list[i].privateList.length>0){
-                  for(let b=0;b<list[i].privateList.length;b++){
-                    list2.push(list[i].privateList[b].id)
-                  }
-                  list[i].privateList=list2
+
+            this.optionsUserOne = list;
+            this.$set(this.form, 'safeUserId', safeUserIdList);
+          }
+          //安全信息牌
+          if(this.subjectData.classifyList){
+            //循环取安全信息牌信息
+            let list=this.subjectData.classifyList
+            for(let i=0;i<list.length;i++){
+              let list2=[];
+              if(list[i].privateList.length>0){
+                for(let b=0;b<list[i].privateList.length;b++){
+                  list2.push(list[i].privateList[b].id)
                 }
                 }
+                list[i].privateList=list2
               }
               }
-              this.safetyInfoList=list
             }
             }
-            this.optionsUserOne = list;
-            this.$set(this.form, 'safeUserId', safeUserIdList);
+            this.safetyInfoList=list
           }
           }
           //根据学院获取楼栋
           //根据学院获取楼栋
           listbuildings(this.form.deptId).then(response => {
           listbuildings(this.form.deptId).then(response => {
@@ -547,7 +512,6 @@
           if (query !== '' && query.length>1) {
           if (query !== '' && query.length>1) {
             this.userSelectListOne.nickName=query;
             this.userSelectListOne.nickName=query;
             selectTeacherList(this.userSelectListOne).then(response => {
             selectTeacherList(this.userSelectListOne).then(response => {
-              console.log('安全责任人',response.data)
               this.optionsUserOne = response.data;
               this.optionsUserOne = response.data;
             });
             });
           } else {
           } else {

+ 16 - 9
src/views/comprehensive/laboratoryManagement/subject/admissionConfiguration.vue

@@ -19,7 +19,7 @@
             disabled
             disabled
           />
           />
         </el-form-item>
         </el-form-item>
-        <el-form-item label="考勤方式"  prop="authType" class="form-item">
+        <el-form-item label="考勤方式"  prop="authType" class="form-item" v-if="subjectData.xxpCardInfoId">
           <el-select v-model="form.authType" clearable >
           <el-select v-model="form.authType" clearable >
             <el-option
             <el-option
               v-for="item in verifyWayList"
               v-for="item in verifyWayList"
@@ -29,10 +29,10 @@
             </el-option>
             </el-option>
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
-        <el-form-item label="考勤密码:" prop="password"   class="form-item">
+        <el-form-item label="考勤密码:" prop="authPwd"   class="form-item" v-if="subjectData.xxpCardInfoId">
           <el-input
           <el-input
             maxlength="16"
             maxlength="16"
-            v-model="form.password"
+            v-model="form.authPwd"
             placeholder=""
             placeholder=""
             clearable
             clearable
             size="small"
             size="small"
@@ -71,14 +71,17 @@ export default {
       //老师模板
       //老师模板
       listTeacher:[],
       listTeacher:[],
       newUpDataType:false,
       newUpDataType:false,
-      form:{},
+      form:{
+        authType:'',
+        authPwd:'',
+      },
       verifyWayList:[],
       verifyWayList:[],
       // 表单校验
       // 表单校验
       rules: {
       rules: {
         authType: [
         authType: [
           { required: true, message: "请选择考勤方式", trigger: "blur" },
           { required: true, message: "请选择考勤方式", trigger: "blur" },
         ],
         ],
-        password: [
+        authPwd: [
           { required: true, message: "考勤密码最少8位 最多16位,必须同时包含字母和数字", trigger: "blur" },
           { required: true, message: "考勤密码最少8位 最多16位,必须同时包含字母和数字", trigger: "blur" },
           { pattern:/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/, message: "考勤密码最少8位 最多16位,必须同时包含字母和数字", trigger: "blur" }
           { pattern:/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/, message: "考勤密码最少8位 最多16位,必须同时包含字母和数字", trigger: "blur" }
         ],
         ],
@@ -86,11 +89,12 @@ export default {
     }
     }
   },
   },
   created() {
   created() {
-    this.subjectmaterial();
-    this.getSignTypeList();
+
 
 
   },
   },
   mounted(){
   mounted(){
+    this.subjectmaterial();
+    this.getSignTypeList();
   },
   },
   methods:{
   methods:{
     /** 查询门禁授权类型 */
     /** 查询门禁授权类型 */
@@ -98,7 +102,6 @@ export default {
       getSignTypeList().then(response => {
       getSignTypeList().then(response => {
         if(response.code==200){
         if(response.code==200){
           this.verifyWayList=response.rows
           this.verifyWayList=response.rows
-          console.log(this.verifyWayList)
         }
         }
       });
       });
     },
     },
@@ -140,6 +143,8 @@ export default {
             teacherList:[],
             teacherList:[],
           };
           };
           newData.labSubjectList.push({id:this.subjectData.id});
           newData.labSubjectList.push({id:this.subjectData.id});
+          newData.authType=this.form.authType
+          newData.authPwd=this.form.authPwd
           for(let i=0;i<self.listStudent.length;i++){
           for(let i=0;i<self.listStudent.length;i++){
             if(self.listStudent[i].checkType){
             if(self.listStudent[i].checkType){
               let obj = {
               let obj = {
@@ -181,7 +186,7 @@ export default {
     //获取准入模板
     //获取准入模板
     subjectmaterial(){
     subjectmaterial(){
       this.loading = true;
       this.loading = true;
-      subjectmaterial().then( response => {
+      subjectmaterial({subjectId:this.subjectData.id}).then( response => {
         for(let i=0;i<response.data.listStudent.length;i++){
         for(let i=0;i<response.data.listStudent.length;i++){
           response.data.listStudent[i].checkType = false;
           response.data.listStudent[i].checkType = false;
         }
         }
@@ -190,6 +195,8 @@ export default {
         }
         }
         this.$set(this,'listStudent',response.data.listStudent);
         this.$set(this,'listStudent',response.data.listStudent);
         this.$set(this,'listTeacher',response.data.listTeacher);
         this.$set(this,'listTeacher',response.data.listTeacher);
+        this.form.authType=response.data.cardInfo.authType+'';
+        this.form.authPwd=response.data.cardInfo.authPwd;
         this.subjectId();
         this.subjectId();
       });
       });
     },
     },

+ 5 - 0
src/views/comprehensive/laboratoryManagement/subject/associationConfiguration.vue

@@ -405,6 +405,7 @@
         let obj = {
         let obj = {
           id:self.form.id,
           id:self.form.id,
           skipped:self.form.skipped,
           skipped:self.form.skipped,
+          inspectSkipped:self.form.inspectSkipped,
         }
         }
         if(self.form.skipped == 1 && self.form.checkIn[0]){
         if(self.form.skipped == 1 && self.form.checkIn[0]){
           obj.checkCount = self.form.checkCount
           obj.checkCount = self.form.checkCount
@@ -414,6 +415,8 @@
         }
         }
         if(self.form.signTime) {
         if(self.form.signTime) {
           obj.signTime = self.form.signTime;
           obj.signTime = self.form.signTime;
+        }else{
+          obj.signTime=0;
         }
         }
         if(self.form.checkOut) {
         if(self.form.checkOut) {
           obj.checkOut = self.form.checkOut.join() ;
           obj.checkOut = self.form.checkOut.join() ;
@@ -427,6 +430,8 @@
         }
         }
         if(self.form.inspectSignTime) {
         if(self.form.inspectSignTime) {
           obj.inspectSignTime = self.form.inspectSignTime;
           obj.inspectSignTime = self.form.inspectSignTime;
+        }else{
+          obj.inspectSignTime=0;
         }
         }
 
 
 
 

+ 12 - 4
src/views/comprehensive/laboratoryManagement/subject/deviceList.vue

@@ -22,10 +22,10 @@
       </div>
       </div>
       <p class="add-for-p" @click="addData(1)"><i class="el-icon-plus"></i>添加传感器</p>
       <p class="add-for-p" @click="addData(1)"><i class="el-icon-plus"></i>添加传感器</p>
     </div>
     </div>
-    <div class="title-box">
+    <div class="title-box" v-if="subjectData.hardwareType==1">
       <p class="left-title">智能门禁</p>
       <p class="left-title">智能门禁</p>
     </div>
     </div>
-    <div class="for-max-box">
+    <div class="for-max-box" v-if="subjectData.hardwareType==1">
       <div class="for-big-box" v-for="(item,index) in listHK" :key="index" style="width: 350px">
       <div class="for-big-box" v-for="(item,index) in listHK" :key="index" style="width: 350px">
         <p class="for-title-p">{{item.type.name}}-{{item.name}}</p>
         <p class="for-title-p">{{item.type.name}}-{{item.name}}</p>
         <div class="for-text-box">
         <div class="for-text-box">
@@ -117,10 +117,10 @@
       </div>
       </div>
       <p class="add-for-p-two" @click="addData(4)"><i class="el-icon-plus"></i>添加摄像头</p>
       <p class="add-for-p-two" @click="addData(4)"><i class="el-icon-plus"></i>添加摄像头</p>
     </div>
     </div>
-    <div class="title-box">
+    <div class="title-box" v-if="subjectData.hardwareType==2">
       <p class="left-title">电子信息牌</p>
       <p class="left-title">电子信息牌</p>
     </div>
     </div>
-    <div class="for-max-box">
+    <div class="for-max-box" v-if="subjectData.hardwareType==2">
       <div class="for-big-box" v-for="(item,index) in listXxp" :key="index">
       <div class="for-big-box" v-for="(item,index) in listXxp" :key="index">
         <p class="for-title-p">{{subjectData.room}}-{{item.cardName}}{{index+1}}</p>
         <p class="for-title-p">{{subjectData.room}}-{{item.cardName}}{{index+1}}</p>
         <div class="for-text-box">
         <div class="for-text-box">
@@ -820,6 +820,8 @@ export default {
         cardNum:this.form.cardNum,
         cardNum:this.form.cardNum,
         location:this.form.location,
         location:this.form.location,
         isStart:this.form.isStart,
         isStart:this.form.isStart,
+        deptId:this.subjectData.deptId,
+        deptName:this.subjectData.deptName,
       }
       }
       subjectSignAdd(obj).then(response => {
       subjectSignAdd(obj).then(response => {
         if(response.code==200){
         if(response.code==200){
@@ -838,6 +840,8 @@ export default {
         isStart:this.form.isStart,
         isStart:this.form.isStart,
         subjectId:this.subjectData.id,
         subjectId:this.subjectData.id,
         subjectName:this.subjectData.name,
         subjectName:this.subjectData.name,
+        deptId:this.subjectData.deptId,
+        deptName:this.subjectData.deptName,
       }
       }
       subjectSignEdit(obj).then(response => {
       subjectSignEdit(obj).then(response => {
         this.msgSuccess(response.msg)
         this.msgSuccess(response.msg)
@@ -900,6 +904,8 @@ export default {
           subjectId:"",
           subjectId:"",
           location:"",
           location:"",
           isStart:"",
           isStart:"",
+          deptId:"",
+          deptName:"",
         });
         });
       }
       }
       this.addType = true;
       this.addType = true;
@@ -939,8 +945,10 @@ export default {
       this.addType = true;
       this.addType = true;
       this.upType = type;
       this.upType = type;
     },
     },
+
     //获取列表
     //获取列表
     listBySubjectId(){
     listBySubjectId(){
+      console.log(this.subjectData)
       let obj = {
       let obj = {
         subjectId:this.subjectData.id
         subjectId:this.subjectData.id
       };
       };

+ 6 - 1
src/views/safetyInfo/safetyInfoCategory/safetyInfoCategory.vue

@@ -32,10 +32,12 @@
         <el-form-item style="float: right;">
         <el-form-item style="float: right;">
           <el-col :span="1.5">
           <el-col :span="1.5">
             <p class="inquire-button-one"
             <p class="inquire-button-one"
+               v-hasPermi="['laboratory:classify:edit']"
                style="width:120px;margin-right:10px;"
                style="width:120px;margin-right:10px;"
                @click="handleClick('','','deploy')"
                @click="handleClick('','','deploy')"
             >信息牌配置</p>
             >信息牌配置</p>
             <el-button
             <el-button
+              v-hasPermi="['laboratory:classify:add']"
               type="primary"
               type="primary"
               plain
               plain
               icon="el-icon-plus"
               icon="el-icon-plus"
@@ -64,9 +66,11 @@
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div class="button-box">
             <div class="button-box">
               <p class="table-min-button"
               <p class="table-min-button"
+                 v-hasPermi="['laboratory:classify:edit']"
                  @click="handleClick('',scope.row,'edit')"
                  @click="handleClick('',scope.row,'edit')"
               >编辑</p>
               >编辑</p>
               <p class="table-min-button"
               <p class="table-min-button"
+                 v-hasPermi="['laboratory:classify:remove']"
                  @click="handleClick('',scope.row,'delete')"
                  @click="handleClick('',scope.row,'delete')"
               >删除</p>
               >删除</p>
             </div>
             </div>
@@ -229,7 +233,8 @@ export default {
       },
       },
       /** 取消按钮 */
       /** 取消按钮 */
       cancel() {
       cancel() {
-        this.open = false;
+        this.$refs['form'].clearValidate()
+        this.open=false
       },
       },
       /** 提交按钮 */
       /** 提交按钮 */
       submitForm() {
       submitForm() {

+ 7 - 3
src/views/safetyInfo/safetyInfoConfig/safetyInfoConfig.vue

@@ -10,6 +10,7 @@
         </template>
         </template>
       </div>
       </div>
       <el-button
       <el-button
+        v-hasPermi="['laboratory:classifyDet:add']"
         type="primary"
         type="primary"
         plain
         plain
         icon="el-icon-plus"
         icon="el-icon-plus"
@@ -43,9 +44,11 @@
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div class="button-box">
             <div class="button-box">
               <p class="table-min-button"
               <p class="table-min-button"
+                 v-hasPermi="['laboratory:classifyDet:edit']"
                  @click="handleClick('',scope.row,'edit')"
                  @click="handleClick('',scope.row,'edit')"
               >编辑</p>
               >编辑</p>
               <p class="table-min-button"
               <p class="table-min-button"
+                 v-hasPermi="['laboratory:classifyDet:remove']"
                  @click="handleClick('',scope.row,'delete')"
                  @click="handleClick('',scope.row,'delete')"
               >删除</p>
               >删除</p>
             </div>
             </div>
@@ -97,7 +100,7 @@
             </div>
             </div>
           </el-upload>
           </el-upload>
         </el-form-item>
         </el-form-item>
-        <P v-if="form.infoType==2" style="margin-left: 80px">图片最大上传78*630,建议尺寸78*58</P>
+        <P v-if="form.infoType==2" style="margin-left: 80px">图片最大上传630*78,建议尺寸58*78</P>
       </el-form>
       </el-form>
       <div slot="footer" class="dialog-footer">
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -253,6 +256,7 @@ export default {
       },
       },
       /** 取消按钮 */
       /** 取消按钮 */
       cancel() {
       cancel() {
+        this.$refs['form'].clearValidate()
         this.open = false;
         this.open = false;
       },
       },
       /** 提交按钮 */
       /** 提交按钮 */
@@ -292,10 +296,10 @@ export default {
               image.onload = _=>{
               image.onload = _=>{
                 console.log(image.width)
                 console.log(image.width)
                 console.log(image.height)
                 console.log(image.height)
-                if(image.width <= 78 && image.height <= 630){
+                if(image.width <= 630 && image.height <= 78){
                   resolve()
                   resolve()
                 }else{
                 }else{
-                  this.$message.error('尺寸限制为最大78*630px,支持PNG格式')
+                  this.$message.error('尺寸限制为最大630*78px,支持PNG格式')
                   reject();
                   reject();
                 }
                 }
               }
               }