dedsudiyu 2 rokov pred
rodič
commit
a115fb0df9

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

@@ -43,3 +43,21 @@ export function getHxpQueryByUser(query) {
     params: query
   })
 }
+
+//学生端申购列表接口
+export function getHxpapplyMyList(query) {
+  return request({
+    url: '/chemical/hxpapply/myList',
+    method: 'get',
+    params: query
+  })
+}
+
+//学生端申购草稿箱列表接口
+export function getHxpapplyMyDraftsList(query) {
+  return request({
+    url: '/chemical/hxpapply/myDraftsList',
+    method: 'get',
+    params: query
+  })
+}

+ 1 - 4
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/draftPage.vue

@@ -74,9 +74,6 @@
   import { getHxpapplyDraftsList } from "@/api/medicUniversity-3_1/index";
   export default {
     name: "draftPage",
-    props:{
-      draftPagePropsData:{},
-    },
     data(){
       return{
         // 遮罩层
@@ -98,7 +95,7 @@
         //数据数量
         total:0,
         //数据数组
-        tableList:[{}],
+        tableList:[],
       }
     },
     created() {

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

@@ -137,7 +137,7 @@
         </div>
       </div>
     </div>
-    <draft-Page :draftPagePropsData="draftPagePropsData" v-if="pageType == 2"></draft-Page>
+    <draft-Page v-if="pageType == 2"></draft-Page>
     <list-Page :listPagePropsData="listPagePropsData" v-if="pageType == 3"></list-Page>
     <approval-page :approvalPagePropsData="approvalPagePropsData" v-if="pageType == 4"></approval-page>
   </div>
@@ -158,7 +158,6 @@
     data(){
       return{
         // 传参数据
-        draftPagePropsData:{},
         listPagePropsData:{},
         approvalPagePropsData:{},
         //页面状态
@@ -180,7 +179,7 @@
         //数据数量
         total:0,
         //数据数组
-        tableList:[{}],
+        tableList:[],
         // 选中用户组
         userIds: [],
         // 非多个禁用

+ 42 - 19
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/listPage.vue

@@ -13,16 +13,24 @@
             size="small"
           />
         </el-form-item>
-        <el-form-item label="分类" prop="deptId">
-          <el-select v-model="queryParamsData.deptId" clearable placeholder="请选择分类" style="width: 140px">
-            <el-option label="普通化学品" value="0"></el-option>
-            <el-option label="危险化学品" value="1"></el-option>
+        <el-form-item label="化学品分类" prop="chemicalClassify">
+          <el-select v-model="queryParamsData.chemicalClassify" clearable placeholder="请选择化学品分类" style="width:180px;">
+            <el-option
+              v-for="item in optionsListOne"
+              :key="item.id"
+              :label="item.classifyName"
+              :value="item.id">
+            </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="属性" prop="deptId">
-          <el-select v-model="queryParamsData.deptId" clearable placeholder="请选择属性" style="width: 140px">
-            <el-option label="有毒品" value="0"></el-option>
-            <el-option label="爆炸品" value="1"></el-option>
+        <el-form-item label="属性" prop="classifyAttribute">
+          <el-select v-model="queryParamsData.classifyAttribute" clearable placeholder="请选择属性" style="width:180px;">
+            <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>
@@ -46,13 +54,13 @@
       </el-form>
       <el-table  border :data="tableList" ref="multipleTable" @selection-change="handleSelectionChange" :row-key="getRowKeys">
         <el-table-column type="selection" width="50" align="center" :reserve-selection="true"/>
-        <el-table-column label="ID" align="center" prop="joinNum" show-overflow-tooltip/>
+        <el-table-column label="ID" align="center" prop="chemicalNum" show-overflow-tooltip/>
         <el-table-column label="化学品名" align="center" prop="chemicalName" show-overflow-tooltip/>
-        <el-table-column label="CAS号" align="center" prop="chemicalName" show-overflow-tooltip/>
-        <el-table-column label="分类" align="center" prop="chemicalName" show-overflow-tooltip/>
-        <el-table-column label="属性" align="center" prop="chemicalName" show-overflow-tooltip/>
-        <el-table-column label="形态" align="center" prop="chemicalName" show-overflow-tooltip/>
-        <el-table-column label="纯度" align="center" prop="chemicalName" show-overflow-tooltip/>
+        <el-table-column label="CAS号" align="center" prop="casNum" show-overflow-tooltip/>
+        <el-table-column label="分类" align="center" prop="classifyName" show-overflow-tooltip/>
+        <el-table-column label="属性" align="center" prop="classifyAttribute" show-overflow-tooltip/>
+        <el-table-column label="形态" align="center" prop="chemicalShapeInfo" show-overflow-tooltip/>
+        <el-table-column label="纯度" align="center" prop="purity" show-overflow-tooltip/>
       </el-table>
       <pagination
         v-show="total>0"
@@ -68,6 +76,7 @@
 </template>
 
 <script>
+  import { hxpChemicalList,classifyList } from "@/api/medicUniversity-3_1/index";
   import addPage from "./addPage.vue"
   export default {
     name: "listPage",
@@ -83,6 +92,10 @@
         loading:false,
         //页面状态
         pageType:1,
+        // 分类
+        optionsListOne:[],
+        // 属性
+        optionsListTwo:[],
         // 创建时间
         dateRange:[{}],
         // 搜索数据
@@ -111,7 +124,11 @@
 
     },
     mounted(){
-
+      this.getDicts("hxp_classifyattribute").then(response => {
+        this.optionsListTwo = response.data;
+      })
+      this.classifyList();
+      this.getList();
     },
     methods: {
       goPage(type){
@@ -124,10 +141,16 @@
       //获取数据列表
       getList(){
         this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
-        // listHardware(this.queryParamsData).then(response => {
-        //   this.total = response.total;
-        //   this.tableList = response.rows;
-        // });
+        hxpChemicalList(this.queryParamsData).then(response => {
+          this.total = response.total;
+          this.tableList = response.rows;
+        });
+      },
+      //获取化学品分类列表
+      classifyList(){
+        classifyList().then(response => {
+          this.optionsListOne = response.rows;
+        });
       },
       /** 搜索按钮操作 */
       handleQuery() {

+ 166 - 0
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/draftPage.vue

@@ -0,0 +1,166 @@
+<!--草稿箱-->
+<template>
+  <div class="draftPage">
+    <div class="draftPage-min">
+      <el-form :model="queryParamsData" class="form-box" ref="queryForm" :inline="true">
+        <el-form-item label="关键字" prop="searchValue">
+          <el-input
+            style="width:210px;"
+            maxLength="30"
+            v-model="queryParamsData.searchValue"
+            placeholder="编号/化学品名/实验室"
+            clearable
+            size="small"
+          />
+        </el-form-item>
+        <el-form-item label="创建时间" prop="terminalStatus">
+          <el-date-picker
+            :clearable="false"
+            v-model="dateRange"
+            size="small"
+            style="width: 220px"
+            value-format="yyyy-MM-dd"
+            type="daterange"
+            range-separator="-"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+          ></el-date-picker>
+        </el-form-item>
+        <el-form-item>
+          <p class="inquire-button-one" @click="handleQuery" style="margin-right:10px;">查询</p>
+          <p class="reset-button-one" @click="resetQuery">重置</p>
+        </el-form-item>
+        <el-form-item style="float: right;">
+          <el-col :span="1.5">
+            <p class="reset-button-one"
+               @click="backPage"
+            >返回</p>
+          </el-col>
+        </el-form-item>
+      </el-form>
+      <el-table  border :data="tableList"ref="multipleTable">
+        <el-table-column label="申购编号" align="center" prop="applyNum" width="210" show-overflow-tooltip/>
+        <el-table-column label="实验室" align="center" prop="subName" width="307" show-overflow-tooltip/>
+        <el-table-column label="申购信息" align="center" prop="chemicalNames" show-overflow-tooltip/>
+        <el-table-column label="创建时间" align="center" prop="createTime" width="200" show-overflow-tooltip/>
+        <el-table-column label="操作" align="center" prop="operator" width="130">
+          <template slot-scope="scope">
+            <div class="button-box">
+              <p class="table-min-button"
+                 style="margin:0!important;"
+                 @click="goPageInfo(2,scope.row)"
+              >编辑</p>
+              <p class="table-min-button"
+                 style="margin:0!important;"
+                 @click="goPageInfo(2,scope.row)"
+              >删除</p>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        v-show="total>0"
+        :total="total"
+        :page-sizes="[20, 30, 40, 50]"
+        :page.sync="queryParams.pageNum"
+        :limit.sync="queryParams.pageSize"
+        @pagination="getList"
+      />
+    </div>
+  </div>
+</template>
+
+<script>
+  import { getHxpapplyMyDraftsList } from "@/api/studentApi/chemicalManagement/index";
+  export default {
+    name: "draftPage",
+    data(){
+      return{
+        // 遮罩层
+        loading:false,
+        //页面状态
+        pageType:1,
+        // 创建时间
+        dateRange:[],
+        // 搜索数据
+        queryParamsData:{
+          pageNum:1,
+          pageSize:20,
+        },
+        // 搜索实际发送数据
+        queryParams:{
+          pageNum:1,
+          pageSize:20,
+        },
+        //数据数量
+        total:0,
+        //数据数组
+        tableList:[],
+      }
+    },
+    created() {
+
+    },
+    mounted(){
+      this.getList();
+    },
+    methods: {
+      //获取数据列表
+      getList(){
+        this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
+        if(this.dateRange[0]){
+          this.queryParamsData.beginCreateTime = this.dateRange[0];
+          this.queryParamsData.endCreateTime = this.dateRange[1];
+        }else {
+          this.queryParamsData.beginCreateTime = null
+          this.queryParamsData.endCreateTime = null
+        }
+        getHxpapplyMyDraftsList(this.queryParamsData).then(response => {
+          this.total = response.total;
+          this.tableList = response.rows;
+        });
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParamsData.pageNum = 1;
+        this.queryParamsData.pageSize = 20;
+        this.queryParams = JSON.parse(JSON.stringify(this.queryParamsData));
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.$set(this,'queryParamsData',{});
+        this.$set(this,'queryParams',{});
+        this.$set(this,'dateRange',[]);
+        this.handleQuery();
+      },
+      //返回
+      backPage(){
+        this.$parent.pageToggle(1);
+      },
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .draftPage{
+    flex:1;
+    display: flex;
+    flex-direction: column;
+    overflow: hidden;
+    p{
+      margin:0;
+      padding:0;
+    }
+    .draftPage-min{
+      flex:1;
+      display: flex;
+      flex-direction: column;
+      overflow: hidden;
+      padding:20px;
+      .button-box{
+        display: flex;
+      }
+    }
+  }
+</style>

+ 149 - 39
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/index.vue

@@ -1,7 +1,7 @@
-<!--采购申请-->
+<!--学生采购申请-->
 <template>
   <div class="app-container studentPurchaseRequisition">
-    <div class="studentPurchaseRequisition-page">
+    <div class="studentPurchaseRequisition-page" v-if="pageType == 1">
       <div class="usageRecord-min">
         <el-form :model="queryParamsData" ref="queryForm" :inline="true" label-width="68px">
           <el-form-item label="关键字" prop="searchValue">
@@ -12,53 +12,96 @@
               clearable
               size="small"/>
           </el-form-item>
-          <el-form-item label="状态" prop="status">
-            <el-select v-model="queryParamsData.status" clearable placeholder="请选择状态">
-              <el-option
-                v-for="item in optionsstatusList"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id">
-              </el-option>
+          <el-form-item label="状态" prop="approvalStatus">
+            <el-select v-model="queryParamsData.approvalStatus" clearable placeholder="请选择状态" style="width: 140px">
+              <el-option label="审批中" value="0"></el-option>
+              <el-option label="已通过" value="1"></el-option>
+              <el-option label="已拒绝" value="2"></el-option>
+              <el-option label="已撤销" value="3"></el-option>
             </el-select>
           </el-form-item>
+          <el-form-item label="申请时间" prop="terminalStatus">
+            <el-date-picker
+              :clearable="false"
+              v-model="dateRangeOne"
+              size="small"
+              style="width: 220px"
+              value-format="yyyy-MM-dd"
+              type="daterange"
+              range-separator="-"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+            ></el-date-picker>
+          </el-form-item>
+          <el-form-item label="完成时间" prop="terminalStatus">
+            <el-date-picker
+              :clearable="false"
+              v-model="dateRangeTwo"
+              size="small"
+              style="width: 220px"
+              value-format="yyyy-MM-dd"
+              type="daterange"
+              range-separator="-"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+            ></el-date-picker>
+          </el-form-item>
           <el-form-item style="float: right;">
             <el-col :span="1.5">
               <p class="inquire-button-one"
+                 style="width:100px;"
+                 @click="pageToggle(3)"
               >申购</p>
             </el-col>
           </el-form-item>
+          <el-form-item style="float: right;">
+            <el-col :span="1.5">
+              <p class="add-button-one-90"
+                 style="width:100px;"
+                 @click="pageToggle(2)"
+              >草稿箱</p>
+            </el-col>
+          </el-form-item>
           <el-form-item>
             <p class="inquire-button-one" @click="handleQuery" style="margin-right:10px;">查询</p>
             <p class="reset-button-one" @click="resetQuery">重置</p>
           </el-form-item>
         </el-form>
         <el-table v-loading="loading" border :data="tableList">
-          <el-table-column label="申购编号" align="center" prop="joinNum"  show-overflow-tooltip/>
-          <el-table-column label="实验室" align="center" prop="chemicalAmountUnit"  show-overflow-tooltip/>
-          <el-table-column label="申购信息" align="center" prop="expireTime"  show-overflow-tooltip>
+          <el-table-column label="申购编号" align="center" prop="applyNum"  show-overflow-tooltip/>
+          <el-table-column label="实验室" align="center" prop="subName"  show-overflow-tooltip/>
+          <el-table-column label="申购信息" align="center" prop="chemicalNames"  show-overflow-tooltip/>
+          <el-table-column label="申请时间" align="center" prop="createTime"  show-overflow-tooltip/>
+          <el-table-column label="完成时间" align="center" prop="overTime"  show-overflow-tooltip/>
+          <el-table-column label="状态" align="center" prop="approvalContent"  width="160px"/>
+          <el-table-column label="审批人" align="center" prop="status" width="100px">
             <template slot-scope="scope">
-              <p>123</p>
-              <p>123</p>
+              <div>
+                <el-tooltip class="item" effect="dark" :content="scope.row.dqName?'当前:'+scope.row.dqName:'当前:无'" placement="top">
+                  <div style="display: flex">
+                    <p>当前:</p>
+                    <p style="flex:1;text-align: left;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">{{scope.row.dqName?scope.row.dqName:'无'}}</p>
+                  </div>
+                </el-tooltip>
+                <el-tooltip class="item" effect="dark" :content="scope.row.lsName?'历史:'+scope.row.lsName:'历史:无'" placement="top">
+                  <div style="display: flex">
+                    <p>历史:</p>
+                    <p style="flex:1;text-align: left;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">{{scope.row.lsName?scope.row.lsName:'无'}}</p>
+                  </div>
+                </el-tooltip>
+              </div>
             </template>
           </el-table-column>
-          <el-table-column label="申请时间" align="center" prop="cabinetName"  show-overflow-tooltip/>
-          <el-table-column label="完成时间" align="center" prop="posi"  show-overflow-tooltip/>
-          <el-table-column label="状态" align="center" prop="cabinetNum"  width="160px"/>
-          <el-table-column label="审批人" align="center" prop="cabinetStatus" width="100px">
+          <el-table-column label="操作" align="center" prop="createTime" width="230px">
             <template slot-scope="scope">
-              <p>123</p>
-              <p>123</p>
+              <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(4)">编辑</p>
+                <p class="table-min-button" v-show="scope.row.approvalStatus == 1 && !scope.row.lsName" style="margin-right:10px;" @click="pageToggle(4)">撤销</p>
+                <p class="table-min-button" style="margin-right:10px;" @click="pageToggle(4)">审批单</p>
+                <p class="table-min-button" v-show="scope.row.approvalStatus == 2 || scope.row.approvalStatus == 3">删除</p>
+              </div>
             </template>
           </el-table-column>
-          <el-table-column label="操作" align="center" prop="createTime" width="300px">
-            <div class="button-box">
-              <p class="table-min-button" style="margin-right:10px;">编辑</p>
-              <p class="table-min-button" style="margin-right:10px;">撤销</p>
-              <p class="table-min-button" style="margin-right:10px;">审批单</p>
-              <p class="table-min-button">删除</p>
-            </div>
-          </el-table-column>
         </el-table>
         <pagination :page-sizes="[20, 30, 40, 50]"
           v-show="total>0"
@@ -69,18 +112,25 @@
         />
       </div>
     </div>
+    <draft-Page v-if="pageType == 2"></draft-Page>
   </div>
 </template>
 
 <script>
+  import { getHxpapplyMyList } from "@/api/studentApi/chemicalManagement/index";
+  import draftPage from "./draftPage.vue"
   export default {
     name: "index",
     components: {
-
+      draftPage,
     },
     data() {
       return {
         pageType:1,
+        // 申请时间
+        dateRangeOne:[],
+        // 完成时间
+        dateRangeTwo:[],
         // 搜索实际发送数据
         queryParams:{
           pageNum:1,
@@ -92,27 +142,85 @@
         },
         //数据数量
         total:0,
-        tableList:[{joinNum:"111"}],
+        tableList:[],
         loading:false,
-        //状态下啦列表
-        optionsstatusList:[{name:'审批中',id:'1'},{name:'已通过',id:'2'},{name:'已拒绝',id:'3'},{name:'已撤销',id:'4'},]
       };
     },
     created() {
 
     },
     mounted(){
-
+      this.getList();
     },
     methods: {
+      pageToggle(type){
+        if(type == 1){
+          this.pageType = 1;
+        }else if(type == 2){
+          this.pageType = 2
+        }else if(type == 3){
+          this.pageType = 3
+        }else if(type == 4){
+          this.pageType = 4
+        }
+      },
       //获取数据列表
       getList(){
         this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
-        this.queryParamsData.chemicalId = this.listPropsData.id;
-        // getHxpChemicalJoinCabinet(this.queryParamsData).then(response => {
-        //   this.tableList = response.rows;
-        //   this.total = response.total
-        // });
+        if(this.dateRangeOne[0]){
+          this.queryParamsData.beginCreateTime = this.dateRangeOne[0];
+          this.queryParamsData.endCreateTime = this.dateRangeOne[1];
+        }else {
+          this.queryParamsData.beginCreateTime = null
+          this.queryParamsData.endCreateTime = null
+        }
+        if(this.dateRangeTwo[0]){
+          this.queryParamsData.beginOverTime = this.dateRangeTwo[0];
+          this.queryParamsData.endOverTime = this.dateRangeTwo[1];
+        }else {
+          this.queryParamsData.beginOverTime = null
+          this.queryParamsData.endOverTime = null
+        }
+        getHxpapplyMyList(this.queryParamsData).then(response => {
+          let userId = localStorage.getItem('userId')
+          this.total = response.total;
+          for(let i=0;i<response.rows.length;i++){
+            response.rows[i].lsName = "";
+            response.rows[i].dqName = "";
+            for(let o=0;o<response.rows[i].currentUserList.length;o++){
+              if( response.rows[i].currentUserList[o].id == userId){
+                if(o == 0){
+                  response.rows[i].lsName = response.rows[i].lsName + '我';
+                }else{
+                  response.rows[i].lsName = response.rows[i].lsName + '、我';
+                }
+              }else{
+                if(o == 0){
+                  response.rows[i].lsName = response.rows[i].lsName + response.rows[i].currentUserList[o].name;
+                }else{
+                  response.rows[i].lsName = response.rows[i].lsName + '、' + response.rows[i].currentUserList[o].name;
+                }
+              }
+            }
+            for(let o=0;o<response.rows[i].historyUserList.length;o++){
+              if( response.rows[i].historyUserList[o].id == userId){
+                if(o == 0){
+                  response.rows[i].dqName = response.rows[i].dqName + '我';
+                }else{
+                  response.rows[i].dqName = response.rows[i].dqName + '、我';
+                }
+              }else{
+                if(o == 0){
+                  response.rows[i].dqName = response.rows[i].dqName + response.rows[i].historyUserList[o].name;
+                }else{
+                  response.rows[i].dqName = response.rows[i].dqName + '、'+ response.rows[i].historyUserList[o].name;
+                }
+              }
+
+            }
+          }
+          this.tableList = response.rows;
+        });
       },
       /** 搜索按钮操作 */
       handleQuery() {
@@ -125,6 +233,8 @@
       resetQuery() {
         this.$set(this,'queryParamsData',{});
         this.$set(this,'queryParams',{});
+        this.$set(this,'dateRangeOne',[]);
+        this.$set(this,'dateRangeTwo',[]);
         this.handleQuery();
       },
     },