dedsudiyu пре 2 година
родитељ
комит
ccbca4274f

+ 1 - 1
src/api/medicUniversity-3_1/index.js

@@ -672,7 +672,7 @@ export function hxpapplyAudit(id) {
   })
 }
 
-// 审批详情
+// 审批/查看详情
 export function hxpapply(id) {
   return request({
     url: '/chemical/hxpapply/'+id,

+ 52 - 0
src/api/studentApi/chemicalManagement/index.js

@@ -53,6 +53,15 @@ export function getHxpapplyMyList(query) {
   })
 }
 
+//采购申请草稿列表
+export function getHxpapplyDraftsList(query) {
+  return request({
+    url: '/chemical/hxpapply/myDraftsList',
+    method: 'get',
+    params: query
+  })
+}
+
 //学生端申购草稿箱列表接口
 export function getHxpapplyMyDraftsList(query) {
   return request({
@@ -70,3 +79,46 @@ export function getHxpapply(id) {
     method: 'get',
   })
 }
+
+// 新增申购
+export function addHxpapply(data) {
+  return request({
+    url: '/chemical/hxpapply/myadd',
+    method: 'post',
+    data: data
+  })
+}
+
+//删除申购/草稿
+export function delHxpapply(id) {
+  return request({
+    url: '/chemical/hxpapply/myDel/'+id,
+    method: 'delete',
+  })
+}
+
+//申购撤销接口
+export function approvalRevoke(data) {
+  return request({
+    url: '/chemical/hxpapply/myApprovalRevoke',
+    method: 'put',
+    data: data
+  })
+}
+
+//获取化学品信息列表
+export function hxpChemicalList(query) {
+  return request({
+    url: '/chemical/hxpChemical/noAuthlist',
+    method: 'get',
+    params: query
+  })
+}
+
+//获取化学品信息详情接口
+export function getHxpChemicalInfo(id) {
+  return request({
+    url: '/chemical/hxpChemical/myInfo/'+id,
+    method: 'get',
+  })
+}

+ 12 - 2
src/views/comprehensive/laboratoryManagement/subject/index.vue

@@ -41,7 +41,12 @@
                 <el-input maxlength="4" type="text" oninput ="value=value.replace(/[^0-9.]/g,'')" v-model="scope.row.diyOrder" @focus="liveSort(scope.row)" @blur="editSort(scope.row)"></el-input>
               </template>
             </el-table-column>
-            <el-table-column label="实验室名称" align="left" prop="name" show-overflow-tooltip/>
+            <el-table-column label="实验室名称" align="left" prop="name" width="230" show-overflow-tooltip/>
+            <el-table-column label="位置" align="left" prop="name" width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.buildName}}{{scope.row.floorName}}{{scope.row.room}}
+              </template>
+            </el-table-column>
             <!--<el-table-column label="类型" align="left" prop="moldName" width="100" show-overflow-tooltip/>-->
             <el-table-column label="安全分类" align="left" prop="typeName" width="100" show-overflow-tooltip/>
             <el-table-column label="安全分级" align="left" prop="levelName" width="80" show-overflow-tooltip>
@@ -49,8 +54,10 @@
                 <span :style="'color:'+scope.row.fiedColor+';'">{{scope.row.levelName}}</span>
               </template>
             </el-table-column>
+            <el-table-column label="危化品危险指标" align="left" prop="riskIndicator" width="130" show-overflow-tooltip/>
             <el-table-column label="学院" align="left" prop="deptName" width="150" show-overflow-tooltip/>
-            <el-table-column label="负责人" align="left" prop="adminName" width="106" show-overflow-tooltip/>
+            <el-table-column label="责任人" align="left" prop="adminName" width="106" show-overflow-tooltip/>
+            <el-table-column label="安全责任人" align="left" prop="adminName" width="200" show-overflow-tooltip/>
             <el-table-column label="操作" align="left" width="160">
               <template slot-scope="scope">
                 <div style="display: flex;height:30px;">
@@ -598,6 +605,9 @@
                     }
                   }
                 });
+              }else{
+                this.$set(this.newData,'videoData',[]);
+                this.pageType = 6;
               }
             }
           })

+ 1 - 1
src/views/comprehensive/laboratoryManagement/subject/infoPage.vue

@@ -23,7 +23,7 @@
           </div>
           <div class="user-max-box">
             <div class="left-box">
-              <p>实验室责人:<span>{{newData.adminName}}</span></p>
+              <p>实验室责人:<span>{{newData.adminName}}</span></p>
               <p>联系方式:<span>{{newData.adminPhone}}</span></p>
             </div>
             <div class="right-box">

+ 37 - 16
src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/addPage.vue

@@ -29,20 +29,30 @@
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="属性:" prop="classifyAttribute" label-width="70px">
-            <el-select
-              style="width:250px;"
-              v-model="formData.classifyAttribute"
-              multiple
-              collapse-tags
-              placeholder="请选择属性">
-              <el-option
-                v-for="item in optionsListTwo"
-                :key="item.dictValue"
-                :label="item.dictLabel"
-                :value="item.dictValue">
-              </el-option>
-            </el-select>
+          <!--<el-form-item label="属性:" prop="classifyAttribute" label-width="70px">-->
+            <!--<el-select-->
+              <!--style="width:250px;"-->
+              <!--v-model="formData.classifyAttribute"-->
+              <!--multiple-->
+              <!--collapse-tags-->
+              <!--placeholder="请选择属性">-->
+              <!--<el-option-->
+                <!--v-for="item in optionsListTwo"-->
+                <!--:key="item.dictValue"-->
+                <!--:label="item.dictLabel"-->
+                <!--:value="item.dictValue">-->
+              <!--</el-option>-->
+            <!--</el-select>-->
+          <!--</el-form-item>-->
+          <el-form-item label="临界量(T):" prop="criticality" label-width="100px">
+            <el-input
+              maxlength="5"
+              style="width:220px;"
+              v-model="formData.criticality"
+              onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
+              placeholder="请输入化学品名"
+              clearable
+              size="small"/>
           </el-form-item>
         </div>
         <div class="form-min-box">
@@ -73,12 +83,19 @@
               <!--<el-option label="个数" :value="3"></el-option>-->
             </el-select>
           </el-form-item>
-          <el-form-item label="单位:" prop="chemicalUnit" label-width="70px">
-            <el-select v-model="formData.chemicalUnit" clearable placeholder="请选择单位" style="width:250px;">
+          <el-form-item label="单位:" prop="chemicalUnit" label-width="100px">
+            <el-select v-model="formData.chemicalUnit" clearable placeholder="请选择单位" style="width:220px;">
               <el-option label="g" value="g"></el-option>
             </el-select>
           </el-form-item>
         </div>
+        <div>
+          <el-form-item label="属性:" prop="classifyAttribute">
+            <el-checkbox-group v-model="formData.classifyAttribute" style="margin-top:2px;">
+              <el-checkbox :label="item.dictLabel" v-for="item in optionsListTwo"></el-checkbox>
+            </el-checkbox-group>
+          </el-form-item>
+        </div>
         <!--<div class="form-min-box">-->
           <!--<el-form-item label="检验方式:" prop="verification">-->
             <!--<el-select v-model="formData.verification" clearable placeholder="请选择检验方式" style="width:500px;">-->
@@ -194,6 +211,10 @@
             { required: true, message: '请选择计量方式', trigger: 'blur' },
             { required: true, message: "请选择计量方式", validator: this.spaceJudgment, trigger: "blur" }
           ],
+          criticality:[
+            { required: true, message: '请输入临界量', trigger: 'blur' },
+            { required: true, message: "请输入临界量", validator: this.spaceJudgment, trigger: "blur" }
+          ],
           chemicalUnit:[
             { required: true, message: '请选择单位', trigger: 'blur' },
             { required: true, message: "请选择单位", validator: this.spaceJudgment, trigger: "blur" }

+ 2 - 2
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/approvalPage.vue

@@ -27,7 +27,7 @@
           <p class="el-icon-info"></p>
           <p>勾选的化学品为已同意申购</p>
         </div>
-        <!--学生-->
+        <!--审批单-->
         <div class="table-title-box-one" v-if="approvalPagePropsData.type == 2">
           <img @click="allCheckClick" :class="approvalPagePropsData.type==1?'cursor-img':''" v-if="!allCheckType" src="@/assets/ZDimages/medicUniversity-3_1/icon_sp_wxz.png">
           <img @click="allCheckClick" :class="approvalPagePropsData.type==1?'cursor-img':''" v-if="allCheckType" src="@/assets/ZDimages/medicUniversity-3_1/icon_ytg_xz.png">
@@ -52,7 +52,7 @@
           <p>{{item.remainingStorage}}</p>
           <p>{{item.applyNum}}</p>
         </div>
-        <!--管理-->
+        <!--审批-->
         <div class="table-title-box-two" v-if="approvalPagePropsData.type == 1">
           <img @click="allCheckClick" :class="approvalPagePropsData.type==1?'cursor-img':''" v-if="!allCheckType" src="@/assets/ZDimages/medicUniversity-3_1/icon_sp_wxz.png">
           <img @click="allCheckClick" :class="approvalPagePropsData.type==1?'cursor-img':''" v-if="allCheckType" src="@/assets/ZDimages/medicUniversity-3_1/icon_ytg_xz.png">

+ 14 - 6
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/index.vue

@@ -54,6 +54,7 @@
           <el-col :span="1.5">
             <p class="inquire-button-one"
                style="width:100px;"
+               v-hasPermi="['chemical:hxpapply:add']"
                @click="pageToggle(3)"
             >申购</p>
           </el-col>
@@ -62,6 +63,7 @@
           <el-col :span="1.5">
             <p class="add-button-one-90"
                style="width:100px;"
+               v-hasPermi="['chemical:hxpapply:draftsList']"
                @click="pageToggle(2)"
             >草稿箱</p>
           </el-col>
@@ -107,14 +109,19 @@
             </div>
           </template>
         </el-table-column>
-        <el-table-column label="操作" align="center" width="220" class-name="small-padding fixed-width">
+        <el-table-column label="操作" align="center" width="220" class-name="small-padding fixed-width" v-if="tableButtonType">
           <template slot-scope="scope">
             <div class="button-box">
-              <p class="table-min-button" v-show="scope.row.approvalStatus == 2 || scope.row.approvalStatus == 3" style="margin-right:10px;" @click="pageToggle(5,scope.row)">编辑</p>
-              <p class="table-min-button" v-show="scope.row.approvalStatus == 1 && !scope.row.lsName" style="margin-right:10px;" @click="approvalRevoke(scope.row)">撤销</p>
-              <p class="table-min-button" v-show="scope.row.approvalType == 1" style="margin-right:10px;" @click="pageToggle(6,scope.row)">审批</p>
-              <p class="table-min-button" style="margin-right:10px;" @click="pageToggle(7,scope.row)">审批单</p>
-              <p class="table-min-button" v-show="scope.row.approvalStatus == 2 || scope.row.approvalStatus == 3" @click="delHxpapply(scope.row)">删除</p>
+              <p class="table-min-button"
+                 v-show="scope.row.approvalStatus == 2 || scope.row.approvalStatus == 3" style="margin-right:10px;" @click="pageToggle(5,scope.row)">编辑</p>
+              <p class="table-min-button"
+                 v-show="scope.row.approvalStatus == 1 && !scope.row.lsName" style="margin-right:10px;" @click="approvalRevoke(scope.row)">撤销</p>
+              <p class="table-min-button" v-hasPermi="['chemical:hxpapply:edit']"
+                 v-show="scope.row.approvalType == 1" style="margin-right:10px;" @click="pageToggle(6,scope.row)">审批</p>
+              <p class="table-min-button" v-hasPermi="['chemical:hxpapply:query']"
+                 style="margin-right:10px;" @click="pageToggle(7,scope.row)">审批单</p>
+              <p class="table-min-button" v-hasPermi="['chemical:hxpapply:remove']"
+                 v-show="scope.row.approvalStatus == 2 || scope.row.approvalStatus == 3" @click="delHxpapply(scope.row)">删除</p>
             </div>
           </template>
         </el-table-column>
@@ -160,6 +167,7 @@
     },
     data(){
       return{
+        tableButtonType:this.hasPermiDom(['chemical:hxpapply:remove','chemical:hxpapply:query','chemical:hxpapply:edit']),
         // 传参数据
         listPagePropsData:{},
         approvalPagePropsData:{},

+ 2 - 1
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/addPage.vue

@@ -101,7 +101,8 @@
 </template>
 
 <script>
-  import { getNoAdminSubjectListNopage,getCabinetBySubId,getRestStock,addHxpapply,getHxpapply } from "@/api/medicUniversity-3_1/index";
+  import { getNoAdminSubjectListNopage,getCabinetBySubId,getRestStock } from "@/api/medicUniversity-3_1/index";
+  import { getHxpapply,addHxpapply } from "@/api/studentApi/chemicalManagement/index";
   export default {
     name: "addPage",
     props:{

+ 4 - 7
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/approvalPage.vue

@@ -27,7 +27,7 @@
           <p class="el-icon-info"></p>
           <p>勾选的化学品为已同意申购</p>
         </div>
-        <!--学生-->
+        <!--审批单-->
         <div class="table-title-box-one" v-if="approvalPagePropsData.type == 2">
           <img @click="allCheckClick" :class="approvalPagePropsData.type==1?'cursor-img':''" v-if="!allCheckType" src="@/assets/ZDimages/medicUniversity-3_1/icon_sp_wxz.png">
           <img @click="allCheckClick" :class="approvalPagePropsData.type==1?'cursor-img':''" v-if="allCheckType" src="@/assets/ZDimages/medicUniversity-3_1/icon_ytg_xz.png">
@@ -141,10 +141,6 @@
           </div>
           <p class="approval-for-min-p">{{refuseContentText}}</p>
         </div>
-        <div class="bottom-button-box" v-if="approvalPagePropsData.type == 1">
-          <p class="add-button-two-90" @click="rejectButton">拒绝</p>
-          <p class="inquire-button-one" @click="agreeButton">同意</p>
-        </div>
       </div>
     </div>
     <el-dialog title="化学品详情" :visible.sync="infoDialogType" v-if="infoDialogType" width="900px" append-to-body class="approvalPage-info-dialog-box">
@@ -213,7 +209,8 @@
 </template>
 
 <script>
-  import { classifyList,hxpapplyAudit,hxpapply,approvalTask,approvalRefuse,getHxpChemicalInfo } from "@/api/medicUniversity-3_1/index";
+  import { getHxpapply,getHxpChemicalInfo } from "@/api/studentApi/chemicalManagement/index";
+  import { classifyList,hxpapplyAudit,approvalTask,approvalRefuse } from "@/api/medicUniversity-3_1/index";
   export default {
     name: "approvalPage",
     props:{
@@ -423,7 +420,7 @@
             this.$set(this,'pageType',1);
           });
         }else if(this.approvalPagePropsData.type == 2){
-          hxpapply(this.approvalPagePropsData.id).then(response => {
+          getHxpapply(this.approvalPagePropsData.id).then(response => {
             //处理添加勾选状态
             for(let i=0;i<response.data.actHxpapplyDetailList.length;i++){
               if(response.data.actHxpapplyDetailList[i].tickStatus == 1){

+ 79 - 5
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/draftPage.vue

@@ -1,7 +1,7 @@
 <!--草稿箱-->
 <template>
   <div class="draftPage">
-    <div class="draftPage-min">
+    <div class="draftPage-min" v-if="pageType == 1">
       <el-form :model="queryParamsData" class="form-box" ref="queryForm" :inline="true">
         <el-form-item label="关键字" prop="searchValue">
           <el-input
@@ -48,11 +48,11 @@
             <div class="button-box">
               <p class="table-min-button"
                  style="margin:0!important;"
-                 @click="goPageInfo(2,scope.row)"
+                 @click="pageToggle(2,scope.row.id)"
               >编辑</p>
               <p class="table-min-button"
                  style="margin:0!important;"
-                 @click="goPageInfo(2,scope.row)"
+                 @click="delHxpapply(scope.row.id)"
               >删除</p>
             </div>
           </template>
@@ -67,13 +67,18 @@
         @pagination="getList"
       />
     </div>
+    <edit-page :editPagePropsData="editPagePropsData" v-if="pageType == 2"></edit-page>
   </div>
 </template>
 
 <script>
-  import { getHxpapplyMyDraftsList } from "@/api/studentApi/chemicalManagement/index";
+  import editPage from "./editPage.vue"
+  import { getHxpapplyDraftsList,delHxpapply,getHxpapply } from "@/api/studentApi/chemicalManagement/index";
   export default {
     name: "draftPage",
+    components: {
+      editPage
+    },
     data(){
       return{
         // 遮罩层
@@ -96,6 +101,8 @@
         total:0,
         //数据数组
         tableList:[],
+        //详情数据
+        editPagePropsData:{}
       }
     },
     created() {
@@ -105,6 +112,73 @@
       this.getList();
     },
     methods: {
+      //编辑页面
+      pageToggle(type,id){
+        if(type == 1){
+          this.pageType = 1;
+          this.resetQuery();
+        }else if(type == 2){
+          this.getHxpapply(id);
+        }
+      },
+      //查询详情
+      getHxpapply(id){
+        getHxpapply(id).then(response => {
+          let maxObj = {
+            id:id,
+            subId:parseInt(response.data.subId),
+            applyReason:response.data.applyReason,
+            maxList:[],
+          }
+          for(let i=0;i<response.data.actHxpapplyDetailList.length;i++){
+            let num = 0;
+            for(let o=0;o<maxObj.maxList.length;o++){
+              if(maxObj.maxList[o].chemicalId == response.data.actHxpapplyDetailList[i].chemicalId){
+                num++
+              }
+            }
+            if(num == 0){
+              let obj = {
+                chemicalId:parseInt(response.data.actHxpapplyDetailList[i].chemicalId),
+                chemicalName:response.data.actHxpapplyDetailList[i].chemicalName,
+                list:[],
+              }
+              maxObj.maxList.push(obj);
+            }
+          }
+          for(let i=0;i<response.data.actHxpapplyDetailList.length;i++){
+            for(let o=0;o<maxObj.maxList.length;o++){
+              console.log('maxObj.maxList[o].chemicalId',maxObj.maxList[o].chemicalId)
+              console.log('response.data.actHxpapplyDetailList[i].chemicalId',response.data.actHxpapplyDetailList[i].chemicalId)
+              if(maxObj.maxList[o].chemicalId == response.data.actHxpapplyDetailList[i].chemicalId){
+                let minObj = {
+                  cabinetId:parseInt(response.data.actHxpapplyDetailList[i].cabinetId),
+                  applyNum:parseInt(response.data.actHxpapplyDetailList[i].applyNum),
+                  applyText:response.data.actHxpapplyDetailList[i].remainingStorage,
+                };
+                maxObj.maxList[o].list.push(minObj);
+              }
+            }
+          }
+          this.$set(this,'editPagePropsData',maxObj);
+          this.pageType = 2;
+        });
+      },
+      //删除
+      delHxpapply(id){
+        let self = this;
+        this.$confirm('是否确认删除?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          delHxpapply(id).then(response => {
+            self.msgSuccess(response.msg);
+            self.resetQuery();
+          });
+        }).then(() => {
+        }).catch(() => {});
+      },
       //获取数据列表
       getList(){
         this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
@@ -115,7 +189,7 @@
           this.queryParamsData.beginCreateTime = null
           this.queryParamsData.endCreateTime = null
         }
-        getHxpapplyMyDraftsList(this.queryParamsData).then(response => {
+        getHxpapplyDraftsList(this.queryParamsData).then(response => {
           this.total = response.total;
           this.tableList = response.rows;
         });

+ 2 - 1
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/editCheckPage.vue

@@ -75,7 +75,8 @@
 </template>
 
 <script>
-  import { hxpChemicalList,classifyList } from "@/api/medicUniversity-3_1/index";
+  import { classifyList } from "@/api/medicUniversity-3_1/index";
+  import { hxpChemicalList } from "@/api/studentApi/chemicalManagement/index";
   import addPage from "./addPage.vue"
   export default {
     name: "editCheckPage",

+ 2 - 1
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/editPage.vue

@@ -105,7 +105,8 @@
 
 <script>
   import editCheckPage from "./editCheckPage.vue"
-  import { getNoAdminSubjectListNopage,getCabinetBySubId,getRestStock,addHxpapply,getHxpapply } from "@/api/medicUniversity-3_1/index";
+  import { getNoAdminSubjectListNopage,getCabinetBySubId,getRestStock } from "@/api/medicUniversity-3_1/index";
+  import { getHxpapply,addHxpapply } from "@/api/studentApi/chemicalManagement/index";
   export default {
     name: "editPage",
     components: {

+ 2 - 1
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/index.vue

@@ -120,7 +120,7 @@
 </template>
 
 <script>
-  import { getHxpapplyMyList,getHxpapply,approvalRevoke,delHxpapply } from "@/api/studentApi/chemicalManagement/index";
+  import { getHxpapplyMyList,approvalRevoke,getHxpapply,delHxpapply } from "@/api/studentApi/chemicalManagement/index";
   import draftPage from "./draftPage.vue"
   import listPage from "./listPage.vue"
   import approvalPage from "./approvalPage.vue"
@@ -184,6 +184,7 @@
         }else if(type == 5){
           //编辑
           getHxpapply(row.id).then(response => {
+            console.log("row,id",row.id);
             let maxObj = {
               id:row.id,
               subId:parseInt(response.data.subId),

+ 2 - 1
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/listPage.vue

@@ -79,7 +79,8 @@
 </template>
 
 <script>
-  import { hxpChemicalList,classifyList } from "@/api/medicUniversity-3_1/index";
+  import { classifyList } from "@/api/medicUniversity-3_1/index";
+  import { hxpChemicalList } from "@/api/studentApi/chemicalManagement/index";
   import addPage from "./addPage.vue"
   export default {
     name: "listPage",