@@ -13,7 +13,14 @@ export const login = (data) => {
data: { ...data }
})
};
-
+//退出登录
+export const logout = (data) => {
+ return apiResquest({
+ url: `/auth/logout`,
+ method: 'GET',
+ data: data,
+ })
+};
//查询公共配置
export const configInfo = (data) => {
return apiResquest({
@@ -23,6 +30,16 @@ export const configInfo = (data) => {
+//获取实验室列表
+export const systemAppletSubjectList = (data) => {
+ url: `/system/applet/subject/list`,
+ method: 'POST',
+ data: { ...data }
+
/* 分类获取公共配置
* category 1.系统参数 2.公共配置
* configType 1.基础配置 2.管控一体机 3.化学品终端 4.小程序配置 5.开发配置 6.首页配置
@@ -1,10 +1,10 @@
const config = {
//base_url: 'http://192.168.1.8/api',//V3
//base_url: 'http://192.168.1.9:8080',//柴
- //base_url: 'http://192.168.1.24:8080',//林总
+ base_url: 'http://192.168.1.24:8080',//林总
// base_url: 'http://192.168.1.7:8080',//刘波
// base_url: 'http://192.168.1.17:8080',//小飞
- base_url: 'http://192.168.1.20:8080',//志伟
+ // base_url: 'http://192.168.1.20:8080',//志伟
// base_url: 'http://192.168.1.8:8080',//高升
// base_url: 'http://192.168.1.29:8080',//何成
// base_url: 'http://192.168.1.43:9800',//43服务器
@@ -158,6 +158,13 @@
url: item.routeUrl,
});
}
+ if (item.route === 'studentGasBottle') {//气瓶管理
+ uni.navigateTo({
+ url: item.routeUrl,
+ });
+ }
}else if (item.buttonType === 'button') {
@@ -120,9 +120,7 @@
} else if (item.buttonType === 'button') {
- if (item.route === 'fingerprint') {
- this.fingerprintClick();
- }
} else if (item.buttonType === 'none') {
uni.showToast({
title: '暂未开放',
@@ -27,7 +27,7 @@
</template>
<script>
- import { infoTotalCount } from '@/api/basicsModules/index.js'
+ import { infoTotalCount } from '@/api/apiDemo/index.js'
export default {
data() {
return {
@@ -30,17 +30,29 @@
"navigationBarBackgroundColor": "#0183FA" ,//导航背景色
"navigationStyle": "custom"
+ },
+ /*供应商*/
+ {
+ "path": "pages/supplier/forbidden",
+ "style": {
+ "navigationBarTitleText": "供应商管理平台"
+ "path": "pages/supplier/reject",
+ "navigationBarTitleText": "驳回"
+ "path": "pages/supplier/hasten",
+ "navigationBarTitleText": "立即催办"
],
"subPackages": [
- {
- /* 供应商端分包 */
- "root": "pages_supplier", //分包根路径
- "name": "supplier", //分包名字可写可不写
- "pages": [
- ]
- },
{
/* 基础分包 */
"root": "pages_basics", //分包根路径
@@ -108,6 +120,170 @@
]
},
+ /* 供应商端分包 */
+ "root": "pages_supplier", //分包根路径
+ "name": "supplier", //分包名字可写可不写
+ "pages": [
+ /* 待办事项 */
+ "path": "backlogManage/backlogManage",
+ "navigationBarTitleText": "待办清单"
+ "path": "backlogManage/backlogManageAirDetail",
+ "navigationBarTitleText": "配送申请"
+ "path": "backlogManage/backlogManageRecycleDetail",
+ "navigationBarTitleText": "回收申请"
+ "path": "backlogManage/backlogManageIssueDetail",
+ "navigationBarTitleText": "货品问题"
+ /* 气瓶管理 */
+ "path": "gasManage/gasManageDetail",
+ "navigationBarTitleText": "气瓶详情"
+ "path": "gasManage/gasManageAdd",
+ "navigationBarTitleText": "新增气瓶"
+ "path": "gasManage/gasManage",
+ "navigationBarTitleText": "气瓶管理"
+ /* 运输车辆 */
+ "path": "transportCar/transportCar",
+ "navigationBarTitleText": "运输车辆管理"
+ "path": "transportCar/transportCarDetail",
+ "navigationBarTitleText": "查看运输车辆"
+ "path": "transportCar/transportCarAdd",
+ "navigationBarTitleText": "新增运输车辆"
+ /* 运输人员 */
+ "path": "transportPerson/transportPersonDetail",
+ "navigationBarTitleText": "查看运输人员"
+ "path": "transportPerson/transportPersonAdd",
+ "navigationBarTitleText": "新增运输人员"
+ "path": "transportPerson/transportPerson",
+ "navigationBarTitleText": "运输人员管理"
+ /* 供气回收记录 */
+ "path": "gasRecycle/gasRecycleAirDetail",
+ "path": "gasRecycle/gasRecycleRecycleDetail",
+ "path": "gasRecycle/gasRecycleIssueDetail",
+ "path": "gasRecycle/gasRecycle",
+ "navigationBarTitleText": "供气回收记录"
+ /* 个人中心 */
+ "path": "mine/changePassword",
+ "navigationBarTitleText": "修改密码"
+ "path": "mine/mine",
+ "navigationBarTitleText": "资料信息"
+ /* 注册 */
+ "path": "register/forgotPassword",//忘记密码
+ "navigationBarTitleText": "密码重置申请"
+ "path": "register/registerSuccess",//注册
+ "navigationBarTitleText": "申请入驻"
+ "path": "register/register",//注册
+ "navigationBarTitleText": "注册"
+ "path": "register/registerTow",//注册
+ ]
/* 学生端分包 */
"root": "pages_student", //分包根路径
"name": "student", //分包名字可写可不写
@@ -169,6 +345,151 @@
"style": {
"navigationBarTitleText": "我的准入"
+ "path": "gasBottle/leaveConfirm/amendAir",
+ "navigationBarTitleText": "修改气压"
+ "path": "gasBottle/leaveConfirm/leaveConfirm",
+ "navigationBarTitleText": "出库确认"
+ "path": "gasBottle/useRegister/giveRegister",
+ "navigationBarTitleText": "归还登记"
+ "path": "gasBottle/useRegister/useRegister",
+ "navigationBarTitleText": "使用登记"
+ "path": "gasBottle/useRecord/useRecordDetail",
+ "navigationBarTitleText": "使用详情"
+ "path": "gasBottle/useRecord/useRecord",
+ "navigationBarTitleText": "使用记录"
+ "path": "gasBottle/gasList/gasListBinding",
+ "path": "gasBottle/gasList/gasUseDetail",
+ "path": "gasBottle/gasList/gasListDetail",
+ "path": "gasBottle/gasList/gasList",
+ "navigationBarTitleText": "气瓶列表"
+ "path": "gasBottle/gasApply/awaitStorage",
+ "navigationBarTitleText": "待入库"
+ "path": "gasBottle/gasApply/gasApplyReject",
+ "navigationBarTitleText": "拒收气瓶"
+ "path": "gasBottle/gasApply/gasApplyList",
+ "navigationBarTitleText": "申请详情"
+ "path": "gasBottle/gasApply/gasApplyAdd",//添加
+ "navigationBarTitleText": "申请气瓶"
+ "path": "gasBottle/gasApply/gasApply",
+ "navigationBarTitleText": "气瓶申请"
+ "path": "gasBottle/examination/examinationSelect",//添加
+ "navigationBarTitleText": "选择气瓶"
+ "path": "gasBottle/examination/examinationDetail",//详情
+ "navigationBarTitleText": "资格申请"
+ "path": "gasBottle/examination/examinationAdd",//添加
+ "path": "gasBottle/examination/examinationSucceed",
+ "path": "gasBottle/examination/examination",
+ "path": "gasBottle/gasManage/gasManage",
+ "navigationBarTitleText": "用气管理"
+ "path": "gasBottle/useGasApply/useGasApply",
+ "navigationBarTitleText": "用气申请"
+ "path": "gasBottle/useGasApply/useGasApplyAdd",
+ "navigationBarTitleText": "申请用气"
+ "path": "gasBottle/useGasApply/useGasApplyDetail",
@@ -4,9 +4,9 @@
<nav-bar :title="title"></nav-bar>
<img class="top-big-img" :src="homepageBanner">
<top-warn></top-warn>
<homeConfigurationSlot v-for="(item,index) in homeConfigData" :key="index" :homeConfig="item"></homeConfigurationSlot>
<view class="for-max-box-one" v-if="alarmList[0]">
<view class="for-box" v-for="(item,index) in alarmList" :key="index">
<view class="title-box">
@@ -62,7 +62,7 @@
import $mqtt from '@/utils/mqtt.min.js';
import { config } from '@/api/request/config.js'
import { appReceivePhotoNote,getApprovalCount,subject_class,getSafeWarnList,
- laboratoryInfo,laboratoryList,getLoginUserInfo,outSubjectPhoto,
+ laboratoryInfo,systemAppletSubjectList,getLoginUserInfo,outSubjectPhoto,
gradingControl,listData,getGentleIdentifier,systemAppletLayoutSelect} from '@/api/basicsModules/index.js'
import { tabBar } from '@/component/tabBar.vue'
import { topWarn } from '@/component/topWarn.vue'
@@ -115,7 +115,7 @@ export default {
this.appReceivePhotoNote();
this.getApprovalCount();
this.subject_class();
- this.laboratoryList();
+ this.systemAppletSubjectList();
this.getSafeWarnList();
this.getLoginUserInfo();
this.getGrading();
@@ -216,7 +216,7 @@ export default {
//获取报警信息详情
async laboratoryInfo(item){
- let self=this;
+ let self=this;
const {data} = await laboratoryInfo(item.subDiyVo.id);
if(data.code == 200){
let obj = data.data[0];
@@ -286,55 +286,13 @@ export default {
//获取实验室列表
- async laboratoryList(){
+ async systemAppletSubjectList(){
let self = this;
- let obj = {
- deptId:this.facultyIndex?this.facultyList[this.facultyIndex].deptId:'',
- subDept:this.subjectIndex?this.subjectList[this.subjectIndex].dictValue:'',
- level:this.levelIndex?this.levelList[this.levelIndex].dictValue:'',
- };
- const {data} = await laboratoryList(obj);
+ const {data} = await systemAppletSubjectList();
- for(let o=0;o<data.data.length;o++){
- if(data.data[o].labHardwareVOList){
- data.data[o].hardwareList = [];
- for(let i=0;i<data.data[o].labHardwareVOList.length;i++){
- if(data.data[o].labHardwareVOList[i].hardwareTypeEnum.code == 4 &&data.data[o].labHardwareVOList[i].hardwareNUM){
- if(data.data[o].hardwareNUM){
- data.data[o].hardwareNUM = data.data[o].hardwareNUM + ',' + data.data[o].labHardwareVOList[i].hardwareNUM
- }else{
- data.data[o].hardwareNUM = data.data[o].labHardwareVOList[i].hardwareNUM
- name:"",
- type:"",
- obj.name = data.data[o].labHardwareVOList[i].hardwareTypeEnum.hardwareTypeName
- obj.type = data.data[o].labHardwareVOList[i].state.code;
- obj.id = data.data[o].labHardwareVOList[i].id;
- data.data[o].hardwareList.push(obj);
- this.dataList = data.data;
+ this.dataList = data.data.records;
+ console.log()
let list = [];
- type:"lab/function/data",
- idList:[],
- for(let i=0;i<self.dataList.length;i++){
- let num = 0;
- for(let o=0;o<obj.idList.length;o++){
- if(obj.idList[o] == self.dataList[i].id){
- num++
- if(num == 0){
- obj.idList.push(self.dataList[i].id)
list.push({type:"lab/riskPlan/trigger/notice",});
getApp().appMqttOn(1,list);
@@ -3,9 +3,9 @@
<view class="supplier" style="display: flex;flex-direction: column;flex: 1;">
<view v-if="pageType==0">
<view class="supplier_h" @click="handleClick('mine')">
- <img src="@/images/Version3.0/img_gysglpt_bg.png">
- <img src="@/images/Version3.0/img_gysglpt_icom.png">
- <img src="@/images/Version3.0/icon_gyspt_gd.png">
+ <img src="@/images/basicsModules/img_gysglpt_bg.png">
+ <img src="@/images/basicsModules/img_gysglpt_icom.png">
+ <img src="@/images/basicsModules/icon_04.png">
<view>{{form.companyName}}</view>
</view>
<view class="supplier_tab">
@@ -27,9 +27,9 @@
<scroll-view scroll-y @scrolltolower="scrollGet" class="for-max-box">
<view class="for-big-box">
<view class="backlog" @click="handleClick('backlog')">
- <img class="backlog_l" src="@/images/Version3.0/icon_glpt_dbqd.png">
+ <img class="backlog_l" src="@/images/basicsModules/icon_glpt_dbqd.png">
<view class="backlog_c">待办清单</view>
- <img class="backlog_r" src="@/images/icon_wdwg_gd.png">
+ <img class="backlog_r" src="@/images/basicsModules/icon_wdwg_gd.png">
<view class="for-box" @click="goInfo(item)" v-for="(item,index) in dataList" :key="index">
<view class="for-title-box">
@@ -40,21 +40,21 @@
<view v-if="item.remark=='gq'" ><text v-for="(item2,index2) in item.detailListVO" :key="index2" v-if="index2<2">{{item2.airName}}-{{item2.configName}}*{{item2.bottleNumber}}<text>{{index2<1?' ':'...'}}</text></text></view>
<view class="for-address-box">
- <img src="@/images/Version2.2/icon_wtzg_xx.png">
+ <img src="@/images/basicsModules/icon_wtzg_xx.png">
<view >{{item.campus}}-{{item.building}}-{{item.room}}</view>
<view class="for-time-box">
- <img src="@/images/Version2.2/icon_wtzg_sj.png">
+ <img src="@/images/basicsModules/icon_wtzg_sj.png">
<view>{{item.createTime}}</view>
<img class="null-img" v-if="!dataList[0]" src="@/images/basicsModules/null-data-1.png">
</scroll-view>
- <img class="supernatant" @click="handleClick('recycle')" src="@/images/Version3.0/icon_glpt_gqhsjl.png">
+ <img class="supernatant" @click="handleClick('recycle')" src="@/images/basicsModules/icon_glpt_gqhsjl.png">
<view class="empty" v-if="emptyList==4 && pageType==0">
- <img class="for-back-img" src="@/images/Version3.0/img_ysrygl_zwsj.png">
+ <img class="for-back-img" src="@/images/basicsModules/img_ysrygl_zwsj.png">
<view>暂无数据</view>
<hasten-page v-if="pageType==1"></hasten-page>
@@ -67,9 +67,9 @@
import { supplierDetail,storageListTaskIndex} from '@/api/basicsModules/index.js'
-import { hastenPage } from '@/pages/supplier/mine/hasten.vue'
-import { rejectPage } from '@/pages/supplier/mine/reject.vue'
-import { forbiddenPage } from '@/pages/supplier/mine/forbidden.vue'
+import { hastenPage } from '@/pages/supplier/hasten.vue'
+import { rejectPage } from '@/pages/supplier/reject.vue'
+import { forbiddenPage } from '@/pages/supplier/forbidden.vue'
name: "rectifyList",
components: {
@@ -38,7 +38,7 @@
import md5 from '@/utils/md5.js'
-import { login,configInfo,getConfigByType,getGentleIdentifier,systemAppletRolePermission} from '@/api/basicsModules/index.js'
+import { login,configInfo,getConfigByType,systemAppletRolePermission} from '@/api/basicsModules/index.js'
import { Encrypt,Decrypt} from '@/utils/secret.js'
@@ -46,8 +46,8 @@ export default {
identityStatus:1,
// username:"superadmin",
// password:"zd123456",
- username:"heyang",
- password:"123456",
+ username:"789654",
+ password:"zd123456",
checkedType:false,
loginBanner:uni.getStorageSync('loginBanner'),
infoList:[],//模板消息Id
@@ -91,7 +91,8 @@ export default {
uni.setStorageSync('token',data.data.token);
uni.setStorageSync('userId',data.data.userId);
// userType 0-系统 1-教职工 2-学生 3-大屏
- //uni.setStorageSync('userType',data.data.userType==0||data.data.userType==1?'1':
+ uni.setStorageSync('userType',data.data.userType==0||data.data.userType==1?'1':
+ (data.data.userType==2?'2':(data.data.userType==3?'3':'none')));
uni.setStorageSync('userType','1');
if(this.checkedType){
uni.setStorageSync('userName',this.username)
@@ -117,11 +118,6 @@ export default {
duration: 3000
- //获取身份标识
- // this.getGentleIdentifier();
//获取权限字段
@@ -132,44 +128,6 @@ export default {
uni.setStorageSync('permissions',data.data.data)
- //获取用户身份标识"adminGentle": false,
- //管理员身份 "rectifyGentle": false,
- //整改身份"applyGentle": false 检查者身份
- async getGentleIdentifier(){
- let self = this;
- const {data} = await getGentleIdentifier();
- if(data.code==200){
- uni.setStorageSync('gentleIdentifierData',data.data)
- let list=[];
- if(data.data.adminGentle || data.data.collegeGentle){//校级管理员
- list.push({name:'管理员',pageType:1})
- if(data.data.applyGentle ||data.data.myApplyGentle){
- list.push({name:'检查者',pageType:2})
- if(data.data.rectifyGentle){
- list.push({name:'整改者',pageType:3})
- if(!data.data.adminGentle && !data.data.applyGentle && !data.data.myApplyGentle && !data.data.applyGentle && !data.data.collegeGentle){
- self.pageType='mine'
- list.push({name:'暂无权限',pageType:'mine'})
- uni.setStorageSync('gentleIdentifier',list)
- if(uni.getStorageSync('saoCode')){
- uni.redirectTo({
- url: '/pages/saoCode/saoCode'
- });
- }else if(self.pageType=='mine'){
- url: '/pages/mine/mine',
- url: '/pages/home/home',
switchClick(){
if(this.identityStatus==1){
this.identityStatus=2;
@@ -162,7 +162,7 @@ export default {
onlyFromCamera: true,
success: function (res) {
uni.navigateTo({
- url: '/pages_student/mine/codeSuccess?q='+encodeURIComponent(JSON.stringify(res.result))
+ url: '/pages_student/integralManage/codeSuccess?q='+encodeURIComponent(JSON.stringify(res.result))
@@ -288,7 +288,7 @@ export default {
uni.removeStorageSync('userId');
uni.removeStorageSync('userType');
uni.redirectTo({
- url: '/pages/login',
+ url: '/pages/login/login',
@@ -0,0 +1,88 @@
+<!-- 停用 -->
+<template>
+ <view class="register">
+ <view class="register_li">
+ <img class="register_li_t" src="@/images/basicsModules/img_xgzl_zgty.png">
+ <view class="register_li_m">
+ <text>您的供应商资格已被停用,详情请联系管理人员; </text>
+ <text>联系电话:13227872231</text>
+ </view>
+</template>
+<script>
+ import { config } from '@/api/request/config.js'
+ export default {
+ data() {
+ return {
+ form:{
+ name:'',
+ onLoad(option) {
+ onShow(){
+ methods: {
+</script>
+<style lang="stylus" scoped>
+ .register{
+ height:100%;
+ width:100%;
+ display flex
+ flex-direction column;
+ //padding-bottom: 220rpx;
+ .register_li{
+ background #fff;
+ border-radius:20rpx;
+ margin:20rpx 20rpx 0;
+ padding:20rpx 0;
+ box-sizing: border-box;
+ .register_li_t{
+ width:204rpx;
+ height:200rpx;
+ margin: 125rpx 0 0 258rpx;
+ .register_li_m{
+ margin-top: 92rpx;
+ margin-bottom: 60rpx;
+ text-align: left;
+ padding: 0 50rpx;
+ >text{
+ display: block;
+ >text:nth-child(1){
+ font-size: 28rpx;
+ font-family: PingFang SC;
+ font-weight: 500;
+ color: #333333;
+ line-height: 28rpx;
+ margin-bottom: 24rpx;
+ >text:nth-child(2){
+ /deep/.input-value-border{
+ display :none !important;
+</style>
@@ -0,0 +1,96 @@
+<!-- 催办 -->
+ <img class="register_li_t" src="@/images/basicsModules/icon_xgzl_shz.png">
+ <view class="register_li_m">您提交的信息正在审核中,请耐心等待</view>
+ <view class="sub_btn" @click="hasten()">立即催办</view>
+ hasten(){
+ uni.showToast({
+ title: '催办成功!',
+ icon:"none",
+ mask:true,
+ duration: 2000
+ width:156rpx;
+ margin: 128rpx 0 0 276rpx;
+ margin-top: 80rpx;
+ margin-bottom: 116rpx;
+ text-align: center;
+ /* 按钮 */
+ .sub_btn{
+ width: 650rpx;
+ height: 100rpx;
+ background: #FFAE00;
+ border-radius: 20rpx;
+ color: #FFFFFF;
+ line-height: 100rpx;
+ margin-left: 50rpx;
+ position: fixed;
+ bottom:30rpx;
+ z-index: 1000;
@@ -0,0 +1,117 @@
+<!-- 驳回 -->
+ <text>您提交申请被驳回</text>
+ <text>驳回原因为:{{infoData}}</text>
+ <view class="sub_btn" @click="againSubmit()">重新申请</view>
+ props:{
+ infoData:{}
+ methods:{
+ //重新提交
+ againSubmit(){
+ uni.redirectTo({
+ url: '/pages_supplier/register/register?pageStatus=1',
+ mounted(){
+ margin-top: 42rpx;
+ line-height: 48rpx;
+ margin-top: 48rpx;
+ background: #0183FA;
@@ -57,6 +57,7 @@
import { laboratoryList,subject_class,listDepartments,mangerControl,laboratoryInfo } from '@/api/apiDemo/index.js'
+ import { systemAppletSubjectList } from '@/api/basicsModules/index.js'
@@ -127,19 +128,19 @@
facultyChange: function(e) {
if(this.facultyArray[0]){
this.facultyIndex = parseInt(e.target.value);
subjectChange: function(e) {
if(this.subjectArray[0]){
this.subjectIndex = parseInt(e.target.value);
levelChange: function(e) {
if(this.levelArray[0]){
this.levelIndex = parseInt(e.target.value);
//设备开关按钮
@@ -213,18 +214,18 @@
list.unshift('全部分类');
this.subjectList = data.data;
this.subjectList.unshift({dictLabel:"全部分类", dictValue:""})
- this.laboratoryList()
+ this.systemAppletSubjectList()
let obj = {
deptId:this.facultyIndex?this.facultyList[this.facultyIndex].deptId:'',
subDept:this.subjectIndex?this.subjectList[this.subjectIndex].dictValue:'',
level:this.levelIndex?this.levelList[this.levelIndex].dictValue:'',
+ const {data} = await systemAppletSubjectList(obj);
for(let o=0;o<data.data.length;o++){
if(data.data[o].labHardwareVOList){
@@ -0,0 +1,200 @@
+<!--资格申请-->
+ <view id="transportPerson">
+ <scroll-view scroll-y @scrolltolower="scrollGet" class="scroll-box">
+ <view class="list">
+ <view class="list_li" v-for="(item,index) in dataList" @click="goInfo(item)">
+ <img class="for-back-img" src="@/pages_student/images/icon_yqsq_sys.png">
+ <text class="list_li_text">{{item.room}}</text>
+ <text :class="item.remark=='1'?'list_li_text2':(item.remark=='0'?'colorA':(item.remark=='2'?'colorB':''))">{{item.remark=='1'?'有效期:'+item.startTime+'至'+item.endTime+'':(item.remark=='0'?'审核中':(item.remark=='2'?'审核驳回':''))}}</text>
+ </scroll-view>
+ <view class="empty" v-if="pageType==4">
+ <img class="for-back-img" src="@/pages_student/images/img_ysrygl_zwsj.png">
+ <view>暂无数据</view>
+ <view class="sub_btn" @click="subBtn()">申请资格</view>
+ import { qualificationList } from '@/api/apiDemo/index.js'
+ name: "transportPerson",
+ pageType:0,
+ //列表请求参数
+ getData:{
+ pageNum:1,
+ pageSize:20,
+ dataList:[],
+ status:0,
+ onLoad() {
+ onShow() {
+ //今天页面返回,清除存储气瓶信息
+ uni.removeStorageSync('listDetail');
+ subBtn(){
+ url:'/pages_student/examination/examinationAdd?status=0'
+ goInfo(d){
+ url:'/pages_student/examination/examinationDetail?item='+encodeURIComponent(JSON.stringify(d))
+ //滚动加载事件
+ scrollGet(){
+ this.getData.pageNum += 1;
+ this.getList();
+ //查询实验室
+ async getList(){
+ const {data} = await qualificationList(this.getData)
+ if(data.code == 200){
+ let _this=this;
+ let res=data.rows
+ if(_this.getData.pageNum==1){
+ _this.dataList=res;
+ if(res.length>0){
+ _this.pageType=0;
+ }else{
+ _this.pageType=4;
+ _this.dataList=_this.dataList.concat(res);
+ #transportPerson {
+ height: auto;
+ width: 100%;
+ flex :1;
+ display flex;
+ flex-direction column
+ overflow hidden;
+ padding-bottom: 220rpx;
+ .scroll-box{
+ // flex:1;
+ overflow-y scroll;
+ .list{
+ background: #FFFFFF;
+ margin: 20rpx 20rpx 0;
+ padding: 0 20rpx;
+ .list_li{
+ height: 110rpx;
+ display: flex;
+ align-items: center;
+ border-bottom:1px solid #f5f5f5;
+ >img{
+ width: 60rpx;
+ height: 60rpx;
+ display: inline-block;
+ .list_li_text{
+ margin-left: 30rpx;
+ width: 150rpx;
+ .list_li_text2{
+ flex: 1;
+ text-align: right;
+ font-size: 24rpx;
+ color: #999999;
+ line-height: 24rpx;
+ .colorA{
+ color: #FF8A00;
+ .colorB{
+ color: #FF6F6F;
+ .empty{
+ margin-top: 316rpx;
+ width: 336rpx;
+ height: 222rpx;
+ margin-left: 208rpx;
+ >view{
+ font-size: 30rpx;
+ color: #E0E0E0;
+ line-height: 30rpx;
@@ -0,0 +1,743 @@
+<!-- 资质申请/填写资料-->
+ <view id="register">
+ <view class="register_li_min">
+ <img class="icon_img" src="@/pages_student/images/icon_zgsq_sqr.png">
+ <view>申请人:</view>
+ <input v-model="form.applyUser" disabled type="text" >
+ <img class="icon_img" src="@/pages_student/images/icon_zgsq_dhh.png">
+ <view>联系方式:</view>
+ <input v-model="form.phone" type="text" >
+ </view style="border: none;">
+ <view class="add_gas">
+ <view class="add_gas_list">
+ <view class="add_gas_list_li" v-for="(item,index) in listDetailArr">
+ <text>{{item.airName}}-{{item.configName}}</text>
+ <text>X{{item.bottleNumber}}</text>
+ <view @click="deleteGas(item)" class="icon_img"><img src="@/images/basicsModules/icon_sczl_sc.png"></view>
+ <text></text>
+ <text @click="addGas()">重新选择</text>
+ <view class="add_gas_btn" @click="addGas()">
+ <img class="icon_img" src="@/pages_student/images/icon_zgsq_j.png">
+ 添加气瓶
+ <view class="register_li2">
+ <picker @change="bindPickerChange" :value="pickerIndex" :range="pickerArray">
+ <view>*</view>
+ <view>实验地点:</view>
+ <input v-model="form.location" disabled type="text" placeholder="请选择实验地点" placeholder-style="color:#999;">
+ </picker>
+ <!-- 使用期限 -->
+ <view class="register_li_min2">
+ <view><text style="color: #f00;margin-right: 10rpx;">*</text>使用期限:</view>
+ <picker mode="date" @change="startChange($event)">
+ <input class="picker-text" v-model="form.startTime" disabled type="text" placeholder="开始时间" placeholder-style="color:#999;">
+ <view>-</view>
+ <picker mode="date" @change="endChange($event)">
+ <input class="picker-text2" v-model="form.endTime" disabled type="text" placeholder="结束时间" placeholder-style="color:#999;">
+ <view>气体用途:</view>
+ <input v-model="form.gasUse" type="text" placeholder="请输入气体用途" placeholder-style="color:#999;">
+ <view>安全措施:</view>
+ <input v-model="form.safetyPrecautions" type="text" placeholder="请输入主要安全管理措施" placeholder-style="color:#999;">
+ <view class="issue_li" style="border-bottom:0;">
+ <view>用气申请表:</view>
+ <view @click="selectImage">
+ <img :src="baseUrl+form.applyCertificate">
+ <text>+上传图片</text>
+ <view v-if="listType==0" class="sub_btn" @click="submitVerify()">提交</view>
+ <view v-if="listType==2" class="sub_btn">重新申请</view>
+ import {labList,getLoginUser,qualificationApplyManageAdd,qualificationDetail,qualificationApplyAmend,qualificationVerify,gasApplyVerify} from '@/api/apiDemo/index.js'
+ baseUrl:config.base_url,
+ listType:0,
+ applyUser:'',//申请人
+ applyUserid:'',//申请人id
+ phone:'',// 联系方式
+ location:'',//实验地点
+ subjectId:'',//实验地点Id
+ startTime:'',//期限开始
+ endTime:'',//期限结束
+ gasUse:'',//气体用途
+ safetyPrecautions:'',//安全措施
+ applyCertificate:'',//用气申请表
+ listDetail:[],
+ listDetailArr:[],
+ checkStatus:0,
+ pickerArray:[],
+ pickerArrayList:[],
+ status:null,//0添加1编辑
+ id:null,
+ amount:0,
+ this.status=option.status;
+ this.id=option.id;
+ if(option.form){
+ this.form=JSON.parse(decodeURIComponent(option.form));
+ //气瓶数据
+ if(uni.getStorageSync('listDetail')){
+ this.listDetailArr=JSON.parse(decodeURIComponent(uni.getStorageSync('listDetail')));
+ //添加气瓶按钮
+ addGas(){
+ url:'/pages_student/examination/examinationSelect?status='+this.status+'&id='+this.id+'&form='+encodeURIComponent(JSON.stringify(this.form))
+ //删除气瓶
+ deleteGas(d){
+ _this.listDetailArr.forEach(function(item){
+ if(d.id==item.id){
+ _this.listDetailArr.splice(item,1);
+ uni.setStorageSync('listDetail',encodeURIComponent(JSON.stringify(_this.listDetailArr)))
+ async labList(){
+ const {data} = await labList()
+ let res=data.data
+ _this.pickerArrayList=res;
+ res.forEach(function(item){
+ _this.pickerArray.push(item.name);
+ //查询用户信息
+ async getLoginUser(){
+ const {data} = await getLoginUser()
+ let res=data.data;
+ _this.form.applyUser=res.nickName;
+ _this.form.applyUserid=res.id;
+ _this.form.phone=res.phonenumber;
+ //选择实验室
+ async bindPickerChange(e){
+ let index=e.target.value
+ //获取实验室名称
+ _this.form.location=_this.pickerArray[index]
+ //循环获取实验室id
+ _this.pickerArrayList.forEach(function(item){
+ if(_this.pickerArray[index]==item.name){
+ _this.form.subjectId=item.id;
+ //校验当前用户有乜有当前实验室使用 权限
+ const {data} = await qualificationVerify({subjectId:_this.form.subjectId})
+ if(data.code==200){
+ if(res.count>0){//有资格
+ }else{//没资格
+ title:'在申请资格前需要先申请对应实验地点的安全准人资格!',
+ _this.form.location='';
+ _this.form.subjectId='';
+ //时间选中
+ startChange(e){
+ if(new Date(e.target.value).getTime()>=new Date(this.form.endTime).getTime()){
+ title: '结束时间不能小于开始时间',
+ this.form.startTime = e.target.value
+ endChange(e){
+ if(new Date(this.form.startTime).getTime()>=new Date(e.target.value).getTime()){
+ this.form.endTime = e.target.value
+ // 图片上传
+ selectImage() {
+ let self = this;
+ wx.chooseImage({
+ count: 1,
+ sizeType: ["original", "compressed"],
+ sourceType: ["album", "camera"],
+ success: function(res) {
+ let tempFilePaths = res.tempFilePaths[0];
+ self.uploadImg(tempFilePaths);
+ async uploadImg(tempFilePaths){
+ var self = this;
+ uni.showLoading({
+ title: '上传中',
+ mask: true
+ uni.uploadFile({
+ url: config.base_url+'/base/file/upload', //仅为示例,非真实的接口地址
+ header:{'Authorization':uni.getStorageSync('token')},
+ filePath: tempFilePaths,
+ name: 'file',
+ formData: {
+ 'user': 'test'
+ success: (uploadFileRes) => {
+ let res = JSON.parse(uploadFileRes.data);
+ if(res.code == 200){
+ self.form.applyCertificate=res.data.url
+ title: res.msg,
+ fail: err => {},
+ complete: () => {
+ uni.hideLoading()
+ //删除图片
+ delImg(index){
+ this.newData.imgList.splice(index,1);
+ //获取详情
+ async getInfo(){
+ let _this = this;
+ const {data} = await qualificationDetail({id:this.id})
+ _this.form=res.apply;
+ //编辑的时候判断气瓶状态,是选择首次进入列表数据还是修改后的数据
+ _this.listDetailArr=res.airBottlelist
+ //校验气瓶数量
+ async submitVerify(){
+ if(_this.form.location==''){
+ title: '请先选择实验室!',
+ return;
+ _this.amount=0;
+ this.listDetailArr.forEach(function(item){
+ _this.amount+=item.bottleNumber;
+ const {data} = await gasApplyVerify({subjectId:_this.form.subjectId});
+ if(!res.flgSubject){
+ title: '请先配置实验室气瓶总量数',
+ return
+ if(!res.flgUser){
+ title: '请先配置实验室个人气瓶总量数',
+ if(_this.amount>res.subjectNum){
+ title: '当前申请气瓶个数大于当前实验室气瓶存量!',
+ if(_this.amount>res.userNum){
+ title: '当前申请气瓶个数大于个人气瓶存量!',
+ _this.submitForm();
+ //提交
+ async submitForm(){
+ if(!this.form.location){
+ title: '请选择实验地点',
+ if(!this.form.startTime || !this.form.endTime){
+ title: '请选择使用期限',
+ if(!this.form.gasUse){
+ title: '请输入气体有用途',
+ if(!this.form.safetyPrecautions){
+ title: '请输入安全措施',
+ if(!this.form.applyCertificate){
+ title: '请上传用气申请表',
+ if(_this.listDetailArr.length<=0){
+ title: '请选择气瓶',
+ // _this.listDetailArr.forEach(function(item){
+ // item.gasLevel=item.parent
+ // item.gasNorms=item.specValue
+ // })
+ _this.form.listDetailVo=_this.listDetailArr
+ if(_this.status==0){//添加
+ const {data} = await qualificationApplyManageAdd(_this.form);
+ title: '提交成功',
+ setTimeout(function(){
+ url: '/pages_student/examination/examination'
+ },2000);
+ }else if(_this.status==1){//编辑
+ const {data} = await qualificationApplyAmend(_this.form);
+ this.labList()
+ this.getLoginUser()
+ if(this.status==1){
+ this.getInfo();
+ #register{
+ height:auto;
+ /* 添加气瓶按钮 */
+ .add_gas{
+ width: 710rpx;
+ margin: 20rpx;
+ .add_gas_list{
+ .add_gas_list_li{
+ justify-content: space-between;
+ border-bottom: 1px dotted #f5f5f5;
+ >text:nth-of-type(1){
+ width: 260rpx;
+ >text:nth-of-type(2){
+ >text:nth-of-type(3){
+ width: 2rpx;
+ height: 30rpx;
+ background: #E0E0E0;
+ margin: 0 24rpx 0;
+ >text:nth-of-type(4){
+ color: #0183FA;
+ .icon_img{
+ width: 30rpx;
+ margin-right: 12rpx;
+ width: 28rpx;
+ margin-left: 128rpx;
+ .add_gas_btn{
+ justify-content: center;
+ margin-right: 14rpx;
+ .register_li_min{
+ margin:0 26rpx;
+ align-items center;
+ border-bottom: 1px solid #F5F5F5;
+ view{
+ line-height:100rpx;
+ font-size:28rpx;
+ view:nth-child(1){
+ color:red;
+ line-height:28rpx;
+ view:nth-child(2){
+ //width:140rpx;
+ >input{
+ flex:1;
+ .register_li2{
+ color: #333;
+ /* 时间 */
+ .register_li_min2{
+ border-bottom: 1px solid #f5f5f5;
+ justify-content: flex-start;
+ >view:nth-child(1){
+ margin-right: 120rpx;
+ .picker-text{
+ width: 188rpx;
+ >view:nth-child(2){
+ .picker-text2{
+ .issue_li{
+ margin:34rpx 26rpx 0;
+ view:nth-child(3){
+ width: 668rpx;
+ height: 270rpx;
+ border: 1px solid #E0E0E0;
+ border-radius: 10rpx;
+ margin-top: 34rpx;
+ position: relative;
+ position: absolute;
+ z-index: 10;
+ line-height: 270rpx;
+ left: 278rpx;
+ z-index: 20;
+ .issue_img{
+ width: 210rpx;
+ height: 210rpx;
+ margin-left:250rpx;
@@ -0,0 +1,286 @@
+<!-- 资质审核-->
+ <viwe v-if="status==0" class="tip">信息正在审核中,请耐心等待...</viwe>
+ <viwe v-if="status==2" class="reject">{{form.centerAuditStatus==2?'您提交的审核被驳回,驳回原因为:'+form.centerAuditCause:'您提交的审核被驳回,驳回原因为:'+form.leadAuditCause}}</viwe>
+ <view class="register_li_min" style="border: none;">
+ <input v-model="form.phone" disabled type="text" >
+ <view class="register_li_min" v-for="(item,index) in form.airBottlelist" style="border-bottom:0;" >
+ <view></view>
+ <view>{{item.airName}}-{{item.configName}}:</view>
+ <input v-model="'数量:'+item.bottleNumber" disabled type="text" >
+ <input v-model="form.location" disabled type="text" >
+ <view><text style="color: #f00;margin-right: 10rpx;"></text>使用期限:</view>
+ <picker mode="date" disabled @change="startChange($event)">
+ <input class="picker-text" v-model="form.startTime" disabled type="text" placeholder="开始时间">
+ <picker mode="date" disabled @change="endChange($event)">
+ <input class="picker-text2" v-model="form.endTime" disabled type="text" placeholder="结束时间">
+ <input v-model="form.gasUse" disabled type="text" >
+ <input v-model="form.safetyPrecautions" disabled type="text" >
+ <view class="issue_li" style="border-bottom:0;" @click="lookItem(form.applyCertificate)">
+ <img class="issue_img" :src="baseUrl+form.applyCertificate">
+ <view class="sub_btn" v-if="status=='2'" @click="submitForm()">重新申请</view>
+ import {qualificationDetail} from '@/api/apiDemo/index.js'
+ form:{},
+ id:'',
+ status:null,
+ if(decodeURIComponent(option.item)){
+ this.id=JSON.parse(decodeURIComponent(option.item)).id;
+ this.status=JSON.parse(decodeURIComponent(option.item)).remark;
+ _this.form.airBottlelist=res.airBottlelist
+ lookItem(item){
+ //查看图片
+ wx.previewImage({
+ urls: [config.base_url+item], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+ current: '', // 当前显示图片的http链接,默认是第一个
+ success: function(res) {},
+ fail: function(res) {},
+ complete: function(res) {},
+ url:'/pages_student/examination/examinationAdd?status=1&id='+this.id
+ mounted() {
+ /* 审核中 */
+ .tip{
+ width: 750rpx;
+ background: rgba(255,144,0,0.2);
+ color: #FF9000;
+ padding: 36rpx 20rpx;
+ /* 驳回 */
+ .reject{
+ background: #F3DCDC;
+ color: #DC0000;
+ line-height: 36rpx;
+ margin-right: 140rpx;
@@ -0,0 +1,412 @@
+<!--资质申请-->
+ <view class="search">
+ <view class="search_t">
+ <view class="search_n">
+ <input v-model="params.searchValue" @blur="search()" type="text" placeholder="请输入气体名称或供应商的关键字">
+ <img class="icon_img" src="@/images/basicsModules/icon_aqjc_ss.png"/>
+ <!-- <view class="search_b">
+ <text>气体名称</text>
+ <text>气体级别</text>
+ <text>气体规格</text>
+ </view> -->
+ <view class="list_li" v-for="(item,index) in listDetail">
+ <view class="list_li_l">
+ <view class="list_li_l_t">{{item.airName}}-{{item.configName}}</view>
+ <view class="list_li_l_b">
+ <img src="@/images/basicsModules/icon_14.png">
+ <text>{{item.companyName}}</text>
+ <view class="list_li_r">
+ <view class="minus" @click="minus(item)"><img src="@/pages_student/images/icon_zgsq_jian.png"></view>
+ <input v-model="item.bottleNumber" disabled type="text" >
+ <view class="add" @click="add(item)"><img src="@/pages_student/images/icon_zgsq_j.png"></view>
+ <view v-if="amount>0" class="sub_btn">
+ <view class="sub_btn_l">已选择{{amount}}个气瓶</view>
+ <view class="sub_btn_r" @click="submitForm()">提交</view>
+ <view v-if="amount==0" class="sub_btn2">
+ <view class="sub_btn_l">暂未选择气瓶</view>
+ <view class="sub_btn_r">提交</view>
+ import { taskListGood } from '@/api/apiDemo/index.js'
+ params:{
+ searchValue:'',
+ search(){
+ minus(d) {
+ if(d.bottleNumber>0){
+ d.bottleNumber--;
+ this.listDetail.forEach(function(item){
+ add(d) {
+ d.bottleNumber++;
+ //获取列表数据
+ const {data} = await taskListGood(this.params);
+ let res=data.rows;
+ if(res){
+ let arr=[];
+ item.bottleNumber=0;
+ _this.listDetail=res;
+ if(_this.status==0){//新增
+ //如果有值回显
+ arr=JSON.parse(decodeURIComponent(uni.getStorageSync('listDetail')));
+ _this.listDetail.forEach(function(item){
+ arr.forEach(function(item2){
+ if(item.id==item2.id){
+ item.bottleNumber=item2.bottleNumber;
+ _this.amount+=item.bottleNumber
+ if(item.id==item2.airBottleConfigId){
+ //注册提交
+ if(_this.listDetail){
+ if(item.bottleNumber>0){
+ arr.push(item)
+ uni.setStorageSync('listDetail',encodeURIComponent(JSON.stringify(arr)))
+ url: '/pages_student/examination/examinationAdd?status='+this.status+'&id='+this.id+'&form='+encodeURIComponent(JSON.stringify(this.form)),
+ this.getList()
+ height: 100%;
+ /* 搜索 */
+ .search{
+ .search_t{
+ padding: 20rpx;
+ .search_n{
+ height: 80rpx;
+ border-radius: 40rpx;
+ padding:0 40rpx;
+ width: 640rpx;
+ color: #CCCCCC;
+ .search_b{
+ margin: 20rpx 0;
+ width: 200rpx;
+ border-radius: 30rpx;
+ font-size: 26rpx;
+ line-height: 60rpx;
+ margin-right: 20rpx;
+ padding-top: 30rpx;
+ padding-bottom: 180rpx;
+ margin: 0 20rpx;
+ height: 180rpx;
+ .list_li_l{
+ .list_li_l_t{
+ margin-top: 44rpx;
+ .list_li_l_b{
+ margin: 42rpx 0 34rpx 0;
+ margin-right: 18rpx;
+ font-weight: 400;
+ color: #666666;
+ .list_li_r{
+ width: 222rpx;
+ .minus{
+ width: 96rpx;
+ height: 96rpx;
+ width: 36rpx;
+ height: 36rpx;
+ margin-top: 30rpx;
+ .add{
+ width: 90rpx;
+ height: 120rpx;
+ bottom: 0;
+ padding: 0 20rpx 0 40rpx;
+ .sub_btn_l{
+ line-height: 120rpx;
+ .sub_btn_r{
+ height: 70rpx;
+ border-radius: 35rpx;
+ line-height: 70rpx;
+ .sub_btn2{
@@ -0,0 +1,207 @@
+ <viwe :class="checkStatus==0?'tip':'reject'">信息正在审核中,请耐心等待...</viwe>
+ <input v-model="form.name" disabled type="text" >
+ <view class="register_li_min" style="border-bottom:0;">
+ <view>氧气-工业级(10L):</view>
+ <view>使用期限:</view>
+ <img class="issue_img" src="@/pages_student/images/img_gysglpt_bg.png">
+ <view v-if="listType==0" class="sub_btn">重新提交</view>
+ import {} from '@/api/apiDemo/index.js'
+ listType:0,//0回收申请 1配送申请 2货品问题
+ pickerArray:['1号车']
+ bindPickerChange(e){
@@ -0,0 +1,529 @@
+<!-- 待入库 -->
+ <view class="title">{{item.airName}}-{{item.configName}}</view>
+ <view>司机姓名:</view>
+ <input v-model="infoForm.user.userName" type="text" >
+ <view>司机号牌:</view>
+ <input v-model="infoForm.car.carCode" type="text" >
+ <input v-model="infoForm.user.phone" type="text" >
+ <view class="register_li_min" v-for="(item,index) in list">
+ <view>{{item.name}}</view>
+ <view class="radio_group">
+ <view class="radio" v-for="(item2,index2) in item.radioList" @click="radioClick(item,item2)">
+ <img v-if="!item2.checked" src="@/images/basicsModules/icon_5.png">
+ <img v-if="item2.checked" src="@/images/basicsModules/icon_6.png">
+ <text>{{item2.name}}</text>
+ <view>气表压力:</view>
+ <input v-model="form.gasPressure" maxlength="4" type="text" placeholder-style="color:#999;" placeholder="请输入气表压力">
+ <!-- 检验有效期 -->
+ <view><text style="color: #f00;margin-right: 10rpx;">*</text>检验有效期:</view>
+ <input class="picker-text" v-model="form.validateStartTime" disabled type="text" placeholder-style="color:#999;" placeholder="开始时间">
+ <input class="picker-text2" v-model="form.validateEndTime" disabled type="text" placeholder-style="color:#999;" placeholder="结束时间">
+ <view class="register_li_min" >
+ <view>电子标签:</view>
+ <input v-model="form.electronicTag" type="text" placeholder-style="color:#999;" placeholder="请输入电子标签ID">
+ <img @click.stop="saoCode" class="code_img" src="@/images/basicsModules/icon_aqjc_sm.png">
+ <view>验收备注:</view>
+ <input v-model="form.validateRemark" type="text" placeholder-style="color:#999;" placeholder="请输入验收备注">
+ <view class="sub_btn">
+ <view class="sub_btn_l" @click="rejection()">拒收</view>
+ <view class="sub_btn_r" @click="submitForm()">确认信息并入库</view>
+ import {gasApplyDetailDrkDetail,gasApplyStorageAdd} from '@/api/apiDemo/index.js'
+ gasPressure:'',
+ validateStartTime:'',
+ validateEndTime:'',
+ electronicTag:'',
+ validateRemark:'',
+ infoForm:{},
+ item:{},
+ id:{},
+ list:[
+ id:'0',
+ name:'瓶身颜色:',
+ lab:'color',
+ radioList:[
+ id:1,
+ name:'灰',
+ checked:true,
+ id:2,
+ name:'白',
+ checked:false,
+ id:3,
+ name:'蓝',
+ name:'有无手轮:',
+ lab:'isHandwheel',
+ name:'有',
+ id:0,
+ name:'无',
+ name:'是否固定:',
+ lab:'isFixed',
+ name:'是',
+ name:'否',
+ name:'电子标签:',
+ lab:'isElectronicTag',
+ name:'气瓶状态标牌:',
+ lab:'isStatusSign',
+ name:'标牌已拍照:',
+ lab:'isPhoto',
+ this.item=JSON.parse(decodeURIComponent(option.item));
+ this.getInfo()
+ //开始时间选中事件
+ this.form.validateStartTime=e.target.value
+ //结束时间选中事件
+ this.form.validateEndTime=e.target.value
+ //单选按钮
+ radioClick(p,d){
+ d.checked=!d.checked
+ if(d.checked){
+ //如果有选中的,循环把其他选中的取消
+ p.radioList.forEach(function(item){
+ if(item.id==d.id){
+ item.checked=false;
+ //调用摄像头
+ saoCode(){
+ uni.scanCode({
+ onlyFromCamera: true,
+ success: function (res) {
+ _this.form.electronicTag=res.result
+ const {data} = await gasApplyDetailDrkDetail({id:_this.item.id});
+ let res = data.data;
+ _this.infoForm=res
+ //拒收
+ async rejection(){
+ url: '/pages_student/gasApply/gasApplyReject?item='+encodeURIComponent(JSON.stringify(this.item))+'&item2='+encodeURIComponent(JSON.stringify(this.infoForm))
+ if(!this.form.gasPressure){
+ title: '请输入气表压力',
+ if(!this.form.validateStartTime || !this.form.validateEndTime){
+ title: '请选择检验有效期',
+ if(!this.form.electronicTag){
+ title: '请输入电子标签',
+ if(!this.form.validateRemark){
+ title: '请输入验收备注',
+ _this.list.forEach(function(item){
+ item.radioList.forEach(function(item2){
+ if(item.lab=='color' && item2.checked){
+ _this.form.color=item2.id;
+ }else if(item.lab=='isHandwheel' && item2.checked){
+ _this.form.isHandwheel=item2.id;
+ }else if(item.lab=='isFixed' && item2.checked){
+ _this.form.isFixed=item2.id;
+ }else if(item.lab=='isElectronicTag' && item2.checked){
+ _this.form.isElectronicTag=item2.id;
+ }else if(item.lab=='isStatusSign' && item2.checked){
+ _this.form.isStatusSign=item2.id;
+ }else if(item.lab=='isPhoto' && item2.checked){
+ _this.form.isPhoto=item2.id;
+ _this.form.currentPressure=_this.form.gasPressure
+ _this.form.driverName=_this.infoForm.user.userName
+ _this.form.driverId=_this.infoForm.user.id
+ _this.form.carCode=_this.infoForm.car.carCode
+ _this.form.carCodeId =_this.infoForm.car.id
+ _this.form.phone=_this.infoForm.user.phone
+ _this.form.airStatus=0;
+ _this.form.taskId=_this.item.taskId;
+ _this.form.taskDetailId=_this.item.id;
+ _this.form.airName=_this.item.airName;
+ _this.form.parent=_this.item.parent;
+ _this.form.configName=_this.item.configName;
+ _this.form.companyName=_this.item.companyName;
+ _this.form.airConstituents=_this.item.airConstituents;
+ _this.form.airBottleConfigId=_this.item.airBottleConfigId;
+ _this.form.airBottleId =_this.item.airBottleId;
+ const {data} = await gasApplyStorageAdd(_this.form);
+ url: '/pages_student/gasApply/gasApply'
+ .title{
+ padding-left: 40rpx;
+ width 400rpx;
+ .code_img{
+ height: 28rpx;
+ margin-left: 26rpx;
+ /* 单选按钮 */
+ .radio_group{
+ .radio{
+ margin-left: 80rpx;
+ margin-right: 0;
+ margin-left: 34rpx;
+ margin-right: 96rpx;
+ bottom: 30rpx;
+ left: 50rpx;
+ width: 325rpx;
+ background: linear-gradient(-45deg, #FA9901, #F28E26);
+ border-radius: 50rpx 0px 0px 50rpx;
+ background: linear-gradient(-35deg, #309CFF, #0183FA);
+ border-radius: 0px 50rpx 50rpx 0px;
@@ -0,0 +1,205 @@
+<!--气瓶申请-->
+ <view class="list_li_t">
+ <img class="for-back-img" src="@/pages_student/images/icon_ysclgl_cl.png">
+ <text>申请时间:{{item.createTime}}</text>
+ <text v-if="item.applyNum==item.storageNum">已全部入库</text>
+ <view class="list_li_b">
+ <view>申请:<text>{{item.applyNum}}</text></view>
+ <view>入库:<text>{{item.storageNum}}</text></view>
+ <view class="sub_btn" @click="subBtn()">提交申请</view>
+ import { gasApplyList } from '@/api/apiDemo/index.js'
+ url:'/pages_student/gasApply/gasApplyAdd?status=0'
+ url:'/pages_student/gasApply/gasApplyList?item='+encodeURIComponent(JSON.stringify(d))
+ const {data} = await gasApplyList(this.getData);
+ margin-top: 20rpx;
+ padding: 30rpx 0 20rpx 0;
+ .list_li_t{
+ margin-right: 16rpx;
+ width: 220rpx;
+ color: #00CC26;
+ .list_li_b{
+ line-height: 26rpx;
+ >view:nth-of-type(2){
@@ -0,0 +1,467 @@
+<!--申请气瓶-->
+ <view class="title">
+ <viwe class="title_l">实验地点:</viwe>
+ <input class="title_r" v-model="form.location" disabled type="text" placeholder="请选择实验地点">
+ <img class="for-back-img" src="@/pages_student/images/icon_sqqp_sqys.png">
+ <view>
+ <text>气瓶已全部向供应商申请运输</text>
+ <text>如需更多气瓶请重新提交资格申请</text>
+ <view class="sub_btn_r" @click="submitVerify()">提交</view>
+ <view class="sub_btn2" v-if="pageType==4">提交申请</view>
+ import { taskListGood,labList,gasApplyAdd,gasApplyVerify} from '@/api/apiDemo/index.js'
+ location:'',
+ this.params.pageNum += 1;
+ _this.form.locationId=item.id;
+ if(_this.params.pageNum==1){
+ _this.listDetail=_this.listDetail.concat(res);
+ const {data} = await gasApplyVerify({subjectId:_this.form.locationId});
+ let supplierId='';
+ item.supplierId=item.companyId
+ supplierId=item.companyId
+ _this.form.detailListVO=arr;
+ const {data} = await gasApplyAdd(_this.form);
+ height: 118rpx;
+ padding: 0 40rpx;
+ margin-bottom: 20rpx;
+ .title_l{
+ line-height: 118rpx;
+ .title_r{
+ height: 700rpx;
+ border-radius: 20px;
+ margin:20rpx;
+ width: 430rpx;
+ height: 280rpx;
+ margin-left: 142rpx;
+ margin-top: 72rpx;
+ line-height: 44rpx;
@@ -0,0 +1,311 @@
+<!--申请详情-->
+ <viwe class="title_l">申请时间:</viwe>
+ <viwe class="title_r">{{createTime}}</viwe>
+ <view class="tabTitle">
+ <view class="tabTitle_li" @tap="tabClick(index)" :key="index" v-for="(item,index) in tabText">
+ <view :class="{on:curTab==index}" class="tabTitle_text">{{item}}</view>
+ <view :class="{on:curTab==index}" class="tabTitle_across"></view>
+ <view class="list_li" v-for="(item,index) in dataList">
+ <view class="list_li_l" >
+ <view v-if="pageType==2 || pageType==3" class="list_li_l_b">
+ <img src="@/images/basicsModules/icon_aqbj_sj.png">
+ <text v-if="pageType==2">入库时间:{{item.createTime}}</text>
+ <text v-if="pageType==3">拒收时间:{{item.rejectionApplyTime}}</text>
+ <view v-if="pageType==3" class="list_li_l_b">
+ <img src="@/pages_student/images/icon_sqxq_jsyy.png">
+ <view class="cause"><text>拒收原因:</text><text>{{item.rejectionApplyRemark}}</text></view>
+ <view v-if="pageType==0" class="list_li_r" @click="enterStockFun(item)">入库</view>
+ import { gasApplyDetailDrk,gasApplyDetailWps,gasApplyDetailYrk,gasApplyDetailYjs} from '@/api/apiDemo/index.js'
+ userType:uni.getStorageSync('userType'),
+ curTab:0,
+ tabText:['待入库','未派送','已入库','已拒收'],
+ createTime:'',
+ let item=JSON.parse(decodeURIComponent(option.item));
+ this.createTime=item.createTime;
+ this.id=item.id;
+ //顶部tab点击
+ tabClick(index) {
+ this.curTab = index;
+ this.pageType=index;
+ this.dataList=[];
+ if(this.pageType==0){
+ }else if(this.pageType==1){
+ this.getList2()
+ }else if(this.pageType==2){
+ this.getList3()
+ }else if(this.pageType==3){
+ this.getList4()
+ //待审核入库按钮
+ enterStockFun(d){
+ url:'/pages_student/gasApply/awaitStorage?item='+encodeURIComponent(JSON.stringify(d))
+ //待入库
+ const {data} = await gasApplyDetailDrk({id:_this.id});
+ let res = data.data.list;
+ _this.dataList=res
+ //未派送
+ async getList2(){
+ const {data} = await gasApplyDetailWps({id:_this.id});
+ //已入库
+ async getList3(){
+ const {data} = await gasApplyDetailYrk({id:_this.id});
+ let res = data.rows;
+ //已拒收
+ async getList4(){
+ const {data} = await gasApplyDetailYjs({id:_this.id});
+ .tabTitle{
+ .tabTitle_li{
+ width:146rpx;
+ text-align center;
+ .tabTitle_text{
+ &.on{
+ color:#0183FA;
+ .tabTitle_across{
+ width: 50rpx;
+ height: 6rpx;
+ border-radius: 3rpx;
+ margin-left 50rpx;
+ display none;
+ display block;
+ padding: 44rpx 0 28rpx 0;
+ margin-top:38rpx;
+ .cause{
+ margin-top: 26rpx;
@@ -0,0 +1,256 @@
+<!-- 拒收气瓶 -->
+ <view>拒收原因:</view>
+ <input v-model="form.rejectionApplyRemark" type="text" placeholder="请输入拒收原因">
+ <view class="up-img-box">
+ <view class="title-view">问题照片:</view>
+ <view class="img-max-box">
+ <view class="img-box" v-for="(item,index) in imgList" :key="index">
+ <img class="img-data" :src="baseUrl+item">
+ <img class="position-img" src="@/images/basicsModules/icon_ssp_closure.png" @click="delImg(index)">
+ <img class="add-button" src="@/images/basicsModules/icon_07.png" @click="selectImage" v-if="imgList.length<5">
+ <view class="sub_btn" @click="submitForm()">提交</view>
+ import {gasApplyYjsAdd } from '@/api/apiDemo/index.js'
+ rejectionApplyRemark:'',
+ rejectionApplyImg:'',
+ imgList:[],
+ item:{},//从列表传过来的值
+ item2:{},//从列表传过来的值
+ this.item2=JSON.parse(decodeURIComponent(option.item2));
+ selectImage(index) {
+ if(self.imgList.length>4){
+ title: '最多上传5张图片',
+ self.uploadImg(tempFilePaths,index);
+ async uploadImg(tempFilePaths,index){
+ self.imgList.push(res.data.url);
+ this.imgList.splice(index,1);
+ if(!_this.form.rejectionApplyRemark){
+ title: '请输入拒收原因',
+ _this.form.carCode=_this.item2.car.carCode
+ _this.form.carCodeId =_this.item2.car.id
+ _this.form.phone=_this.item2.user.phone
+ _this.form.driverName=_this.item2.user.userName
+ _this.form.driverId=_this.item2.user.id
+ _this.form.airStatus=1;
+ _this.form.rejectionApplyImg=_this.imgList.join(',')
+ const {data} = await gasApplyYjsAdd(_this.form);
+ width:140rpx;
+ width 490rpx;
+ .up-img-box{
+ margin:34rpx 26rpx;
+ .title-view{
+ width:160rpx;
+ line-height:80rpx;
+ color:#333;
+ .img-max-box{
+ width:510rpx;
+ .img-box{
+ display inline-block
+ height:146rpx;
+ position relative
+ margin:0 20rpx 20rpx 0;
+ .img-data{
+ .position-img{
+ position absolute
+ right:0;
+ top:0;
+ width:36rpx;
+ height:36rpx;
+ .add-button{
+ height:150rpx;
+ width:150rpx;
@@ -0,0 +1,167 @@
+<!--气瓶列表-->
+ <view id="gasRecycle">
+ <view class="for-big-box" v-for="(item,index) in dataList" :key="index">
+ <view class="for-time-p">{{item.location}}</view>
+ <img class="for-back-img" src="@/images/basicsModules/for_min_bg.png">
+ <view class="for-box" @click="goInfo(item2)" v-for="(item2,index2) in item.airGoodsConfigRelationVo" :key="index2">
+ <view class="for-box_t">{{item2.airName}}-{{item2.configName}}</view>
+ <view class="for-box_b">
+ <img class="for-back-img" src="@/pages_student/images/icon_qpgl_syl.png">
+ <text>余量: {{item2.pressure==null?'':item2.pressure}}Mpa</text>
+ <img class="for-back-img" src="@/images/basicsModules/icon_wtzg_sj.png">
+ <text>最近使用时间: {{item2.useTimeApp==null?'':item2.useTimeApp}}</text>
+ <view class="get-null-box" v-if="noData">暂无更多数据</view>
+ import { gasList } from '@/api/apiDemo/index.js'
+ name: "gasRecycle",
+ remark:'login',
+ noData:false,
+ url:'/pages_student/gasList/gasListDetail?item='+encodeURIComponent(JSON.stringify(d))
+ const {data} = await gasList(_this.getData);
+ if(res && res.length>0){
+ _this.noData=true;
+ #gasRecycle {
+ .for-big-box:last-child{
+ margin-bottom:180rpx;
+ .for-big-box{
+ margin:0 20rpx 20rpx;
+ overflow hidden
+ border-bottom-left-radius :20rpx;
+ border-bottom-right-radius :20rpx;
+ .for-time-p{
+ background #fff
+ line-height:87rpx;
+ font-size:30rpx;
+ padding:0 22rpx;
+ border-top-left-radius:20rpx;
+ border-top-right-radius:20rpx;
+ .for-back-img{
+ height:30rpx;
+ width:710rpx;
+ .for-box{
+ background: #fff;
+ .for-box_t{
+ margin: 28rpx 0 40rpx 0;
+ .for-box_b{
+ border-bottom: 1px solid #E0E0E0;
+ margin-right: 10rpx;
+ font-size: 22rpx;
+ width: 190rpx;
+ /*暂无数据*/
+ .get-null-box{
+ height:100rpx;
+ color:#999;
+ text-align center
@@ -0,0 +1,202 @@
+ <input v-model="form.newTag" type="text" placeholder="请输入电子标签ID">
+ <view class="sub_btn" @click="getBinding()">确认绑定</view>
+ import { gasTagBinding } from '@/api/apiDemo/index.js'
+ newTag:'',
+ this.form.id=this.item.bottleStorageId;
+ async getBinding(){
+ const {data} = await gasTagBinding(this.form);
+ title: '绑定成功!',
+ url: '/pages_student/gasList/gasListDetail?item='+encodeURIComponent(JSON.stringify(this.item))
+ _this.form.newTag='';
+ uni.showModal({
+ showCancel:false,
+ confirmColor:'#0183FA',
+ content: '该RFID已被绑定,请重新选择 RFID标签',
+ if (res.confirm) {
+ console.log('用户点击确定');
+ _this.form.newTag=res.result;
+ _this.getBinding();
+ /* border-bottom: 1px solid #F5F5F5; */
+ .binding{
+ margin-left: 24rpx;
@@ -0,0 +1,351 @@
+ <view class="title">{{specificationName.airName}}-{{specificationName.gasLevel}}</view>
+ <view>编号:</view>
+ <input v-model="form.airNumber" disabled type="text" >
+ <view class="register_li_min" v-if="form.electronicTag" style="border: none;">
+ <input v-model="form.electronicTag" disabled type="text" >
+ <view class="binding" @click="binding()">更换</view>
+ <view class="register_li_min" v-if="!form.electronicTag" style="border: none;">
+ <input v-model="form.electronicTag" disabled type="text" placeholder="暂未绑定电子标签">
+ <view class="binding" @click="binding()">去绑定</view>
+ <view class="small_title" @click="handleClick('useRecord')">使用记录</view>
+ <view class="register_li2" >
+ <viwe class="register_li2_min" @tap="useRecordInfo(item)" v-for="(item,index) in dataList">
+ <view class="register_li2_t">{{item.contacts}}</view>
+ <view class="register_li2_b">
+ <img src="@/pages_student/images/icon_qpgl_syl.png">
+ <view>使用量: {{item.amount}}Mpa</view>
+ <view class="register_li2_b2">
+ <view>使用时间: {{item.useTimeApp==null?'':item.useTimeApp}}-{{item.backTimeApp==null?'':item.backTimeApp}}</view>
+ </viwe>
+ <view class="sub_btn" @click="outStock()"> 申请出库</view>
+ import {gasDetail,gasDetailRecord } from '@/api/apiDemo/index.js'
+ pageSize:10,
+ storageId:'',
+ specificationName:{},
+ this.id=this.item.bottleStorageId;
+ this.getData.storageId=this.item.bottleStorageId;
+ if(this.getData.getType){
+ //使用记录详情
+ useRecordInfo(d){
+ url:'/pages_student/gasList/gasUseDetail?item='+encodeURIComponent(JSON.stringify(d))
+ //标签绑定
+ binding(){
+ url:'/pages_student/gasList/gasListBinding?item='+encodeURIComponent(JSON.stringify(this.item))
+ //出库申请
+ outStock(){
+ url:'/pages_student/leaveConfirm/leaveConfirm?item='+encodeURIComponent(JSON.stringify(this.item))
+ const {data} = await gasDetail({id:_this.id});
+ _this.form=res;
+ _this.specificationName=JSON.parse(res.specificationName)
+ const {data} = await gasDetailRecord(this.getData);
+ if(_this.dataList.length<=0){
+ _this.pageType=4
+ margin-top: 46rpx;
+ .small_title{
+ line-height: 80rpx;
+ margin: 0 40rpx;
+ width: 24rpx;
+ height: 24rpx;
+ overflow: hidden
+ margin:0 20rpx 0;
+ padding:0 20rpx;
+ .register_li2_min{
+ .register_li2_t{
+ margin-top: 28rpx;
+ .register_li2_b{
+ padding-bottom: 28rpx;
+ .register_li2_b2{
+ border-bottom: 1rpx solid #f5f5f5;
@@ -0,0 +1,242 @@
+ <input v-model="form.storageVo.airNumber" disabled type="text" >
+ <view>使用人:</view>
+ <input v-model="form.contacts" disabled type="text" >
+ <!-- 使用时间 -->
+ <view>使用时间:</view>
+ <input class="picker-text" v-model="form.useTimeApp" disabled type="text" placeholder="开始时间">
+ <input class="picker-text2" v-model="form.backTimeApp" disabled type="text" placeholder="结束时间">
+ <view>使用量:</view>
+ <view>{{form.amount+'Mpa'}}</view>
+ <view v-if="form.beforeUse" class="register_li_min">
+ <view>使用前气压:</view>
+ <view>{{form.beforeUse+'Mpa'}}</view>
+ <view v-if="form.beforeUsePic" class="meter_img" @click="lookItem(form.beforeUsePic)">
+ <view>气表照片:</view>
+ <img :src="baseUrl+form.beforeUsePic" >
+ <view v-if="form.afterUse" class="register_li_min">
+ <view>使用后气压:</view>
+ <view>{{form.afterUse+'Mpa'}}</view>
+ <view v-if="form.afterUsePic" class="meter_img" style="border:0;" @click="lookItem(form.afterUsePic)">
+ <img :src="baseUrl+form.afterUsePic" >
+ import { gasDetailRecordDetail } from '@/api/apiDemo/index.js'
+ name:'C123(第一实验室)',
+ const {data} = await gasDetailRecordDetail(_this.item.id);
+ _this.specificationName=JSON.parse(res.storageVo.specificationName)
+ margin-right: 46rpx;
+ width: 240rpx;
+ .meter_img{
+ height: 150rpx;
+ margin:42rpx 0 20rpx 0;
@@ -0,0 +1,346 @@
+<!-- 回收申请 -->
+ <view class="register_li_min" @click="handleClick('examination')">
+ <view>资格申请</view>
+ <view>{{zgCount}}</view>
+ <view class="register_li_min" @click="handleClick('gas')" style="border: none;">
+ <view>用气申请</view>
+ <view>{{yqCount}}</view>
+ <view v-if="dataList2.length>0" class="small_title" @click="handleClick('gasList')">气瓶信息<img src="@/images/basicsModules/icon_wdwg_gd.png"></view>
+ <view v-if="dataList2.length>0" class="register_li2" >
+ <viwe class="register_li2_min" @tap="goInfo2(item2)" v-for="(item2,index2) in dataList2" :key="index2">
+ <view class="register_li2_t">{{item2.airName}}-{{item2.configName}}</view>
+ <view>余量: {{item2.pressure==null?'-':item2.pressure}}Mpa</view>
+ <view>最近使用时间: {{item2.useTimeApp==null?'-':item2.useTimeApp}}</view>
+ <view v-if="dataList.length>0" class="small_title" @click="handleClick('useRecord')">使用记录<img src="@/images/basicsModules/icon_wdwg_gd.png"></view>
+ <view v-if="dataList.length>0" class="register_li2">
+ <viwe class="register_li2_min" @tap="goInfo(item)" v-for="(item,index) in dataList" :key="index">
+ <view class="register_li2_t">{{item.airName}}-{{item.configName}}</view>
+ <view class="register_li2_b" style="border:none">
+ <view>使用量: {{item.pressure==null?'-':item.pressure}}Mpa</view>
+ <view class="register_li2_b2" style="border-bottom: 1rpx solid #f5f5f5;">
+ <view>使用时间: {{item.useTimeApp==null?'-':item.useTimeApp}} - {{item.backTimeApp==null?'-':item.backTimeApp}}</view>
+ <view class="btn" v-if="userApplyNumberYq || userApplyNumberZg">
+ <view class="btn_l" @click="handleClick('gasApply')">气瓶申请</view>
+ <view class="btn_r" @click="handleClick('QRcode')">使用/归还</view>
+ import {useRecordList,listuseRecordByUserId,getUserApplyCount,useRegisterDetail } from '@/api/apiDemo/index.js'
+ pageSize:3,
+ dataList2:[],
+ yqCount:0,
+ zgCount:0,
+ userApplyNumberYq:null,//大于0显示使用人,等于零显示规格
+ userApplyNumberZg:null,//大于0显示使用人,等于零显示规格
+ this.getCount();
+ handleClick(doType) {
+ if(doType=='examination'){//资格申请
+ url:'/pages_student/examination/examination'
+ }else if(doType=='gas'){//用气申请
+ url:'/pages_student/useGasApply/useGasApply'
+ }else if(doType=='audit'){//资格审核
+ url:'/pages_student/aptitudeAudit/aptitudeAudit'
+ }else if(doType=='useRecord'){//使用记录
+ url:'/pages_student/useRecord/useRecord'
+ }else if(doType=='gasApply'){//气瓶申请
+ url:'/pages_student/gasApply/gasApply'
+ }else if(doType=='gasList'){//气瓶列表
+ url:'/pages_student/gasList/gasList'
+ }else if(doType=='QRcode'){//
+ _this.electronicTag=res.result
+ _this.getInfo()
+ //使用记录跳转详情
+ url:'/pages_student/useRecord/useRecordDetail?item='+encodeURIComponent(JSON.stringify(d))
+ //气瓶信息跳转详情
+ goInfo2(d){
+ const {data} = await useRegisterDetail({electronicTag:_this.electronicTag});
+ let userId=uni.getStorageSync('userId');
+ if(res.currentStatus==4 && res.currentUserId==userId){
+ url:'/pages_student/useRegister/giveRegister?code='+_this.electronicTag
+ url:'/pages_student/useRegister/useRegister?code='+_this.electronicTag
+ //获取使用记录列表
+ const {data} = await useRecordList(_this.getData)
+ //获取气瓶信息列表
+ const {data} = await listuseRecordByUserId(_this.getData)
+ _this.dataList2=res
+ //获取数量
+ async getCount(){
+ const {data} = await getUserApplyCount()
+ _this.yqCount=res.yqCount;
+ _this.zgCount=res.zgCount;
+ _this.userApplyNumberYq=res.userApplyNumberYq;
+ _this.userApplyNumberZg=res.userApplyNumberZg;
+ this.getList2();
+ margin-right: 38rpx;
+ width: 12rpx;
+ >view:nth-of-type(1){
+ width: 230rpx;
+ .btn{
+ .btn_l{
+ width: 250rpx;
+ background: #F28E26;
+ .btn_r{
+ width: 500rpx;
@@ -0,0 +1,211 @@
+<!--修改气压-->
+ <input v-model="item.location" disabled type="text" >
+ <input v-model="item.airNumber" disabled type="text" >
+ <view>实际气压:</view>
+ <input v-model="form.afterEdit" type="text" placeholder="请输入实际气压">
+ import { gasBottleError } from '@/api/apiDemo/index.js'
+ item2:{},
+ this.specificationName=JSON.parse(this.item.specificationName)
+ _this.form.storageId=_this.item.id
+ _this.form.location=_this.item.location
+ _this.form.locationId=_this.item.locationId
+ _this.form.beforeEdit=_this.item2.beforeUse
+ const {data} = await gasBottleError(_this.form);
+ title: '修改气压成功!',
+ url: '/pages_student/gasManage/gasManage'
+ padding-bottom: 400rpx;
+ margin:36rpx 0 20rpx 280rpx;
@@ -0,0 +1,357 @@
+<!--出库确认-->
+ <view class="register_li" v-if="form3.isShow">
+ <view>实际气压值:</view>
+ <view>{{form3.afterEdit+'Mpa'}}</view>
+ <view>修改人:</view>
+ <input v-model="form3.createBy" disabled type="text" >
+ <view>修改时间:</view>
+ <input v-model="form3.opTime" disabled type="text" >
+ <view class="register_li" v-if="form2.contacts">
+ <input v-model="form2.contacts" disabled type="text" >
+ <input class="picker-text" v-model="form2.useTimeApp" disabled type="text" placeholder="开始时间">
+ <input class="picker-text2" v-model="form2.backTimeApp" disabled type="text" placeholder="结束时间">
+ <view>{{form2.amount+'Mpa'}}</view>
+ <view v-if="form2.beforeUse" class="register_li_min">
+ <view>{{form2.beforeUse+'Mpa'}}</view>
+ <view v-if="form2.beforeUsePic" class="meter_img" :style="!form2.afterUse?'border:none;':''" @click="lookItem(form2.beforeUsePic)">
+ <img :src="baseUrl+form2.beforeUsePic" >
+ <view v-if="form2.afterUse" class="register_li_min">
+ <view>{{form2.afterUse+'Mpa'}}</view>
+ <view v-if="form2.afterUsePic" class="meter_img" style="border:0;" @click="lookItem(form2.afterUsePic)">
+ <img :src="baseUrl+form2.afterUsePic" >
+ <view class="sub_btn2" @click="barometer()">气压有误</view>
+ <view class="sub_btn" @click="submitForm()">确认出库</view>
+ import { gasDetail,gasDetailRecord,gasBottleErrorList,gasStorageOut } from '@/api/apiDemo/index.js'
+ pageSize:1,
+ form2:{},
+ form3:{
+ opTime:'',
+ specificationName:null,
+ this.getData.storageId=this.item.id
+ //判断两个日期的大小
+ compareDate (d1, d2) {
+ let reg = new RegExp('-', 'g')
+ if(((new Date(d1.replace(reg, '/'))) > (new Date(d2.replace(reg, '/'))))){
+ return true;
+ return false;
+ //气压有误
+ barometer(){
+ url:'/pages_student/leaveConfirm/amendAir?item='+encodeURIComponent(JSON.stringify(this.form))+'&item2='+encodeURIComponent(JSON.stringify(this.form2))
+ const {data} = await gasDetail({id:_this.item.id});
+ _this.form2=res[0]
+ //获取气压修改列表数据
+ const {data} = await gasBottleErrorList(this.getData);
+ _this.form3=res[0]
+ _this.form3.isShow=_this.compareDate(_this.form3.opTime,_this.form2.createTime)
+ let obj={
+ storageId:_this.item.id,
+ const {data} = await gasStorageOut(obj);
+ title: '出库成功!',
+ padding-bottom: 300rpx;
+ border: 2rpx solid #0072DB;
+ bottom:158rpx;
+<!--用气申请-->
+ <view class="sub_btn" @click="subBtn()">申请用气</view>
+ import { useAgsApplyList } from '@/api/apiDemo/index.js'
+ url:'/pages_student/useGasApply/useGasApplyAdd?status=0'
+ url:'/pages_student/useGasApply/useGasApplyDetail?item='+encodeURIComponent(JSON.stringify(d))
+ const {data} = await useAgsApplyList(this.getData)
@@ -0,0 +1,612 @@
+<!-- 用气申请-->
+ <picker @change="bindPickerChange2" :value="pickerIndex2" :range="pickerArray2">
+ <view>使用气体:</view>
+ <input v-model="form.useGasName" disabled type="text" placeholder="请选择使用气体" placeholder-style="color:#999;">
+ <view v-if="listType==0" class="sub_btn" @click="submitForm()">提交</view>
+ import {labList,getLoginUser,useAgsApplyAdd,useAgsApplyDetail,useAgsApplyAmend,qualificationVerify,googsList} from '@/api/apiDemo/index.js'
+ useGasName:'',//气体名称
+ useGasId:'',//气体名称Id
+ pickerArray2:[],//气体名称
+ pickerArrayList2:[],//气体名称
+ //获取气体名称列表
+ async googsList(){
+ const {data} = await googsList({id:this.id})
+ _this.pickerArrayList2=res;
+ _this.pickerArray2.push(item.goodsName);
+ //选择气体名称
+ async bindPickerChange2(e){
+ _this.form.useGasName=_this.pickerArray2[index]
+ _this.pickerArrayList2.forEach(function(item){
+ if(_this.pickerArray2[index]==item.goodsName){
+ _this.form.useGasId=item.id;
+ title:'申请用气资格前需要先申请对应实验地点的安全准人资格!',
+ const {data} = await useAgsApplyDetail({id:this.id})
+ if(!this.form.applyUser){
+ title: '请输入申请人',
+ if(!this.form.phone){
+ title: '请输入联系方式',
+ title: '请输入实验地点',
+ if(!this.form.startTime){
+ title: '请输入期限开始',
+ if(!this.form.endTime){
+ title: '请输入期限结束',
+ title: '请输入气体用途',
+ title: '请输入用气申请表',
+ _this.form.listDetail=_this.listDetailArr;
+ const {data} = await useAgsApplyAdd(_this.form);
+ url: '/pages_student/useGasApply/useGasApply'
+ const {data} = await useAgsApplyAmend(_this.form);
+ this.googsList()
+ margin-right: 110rpx;
@@ -0,0 +1,291 @@
+ <!-- <view class="register_li">
+ <view>{{item.airConstituents}}-{{item.parent}}({{item.specValue}}):</view>
+ <input v-model="form.useGasName" disabled type="text" >
+ import {useAgsApplyDetail} from '@/api/apiDemo/index.js'
+ url:'/pages_manage/useGasApply/useGasApplyAdd?status=1&id='+this.id
@@ -0,0 +1,171 @@
+ <view class="for-big-box" >
+ <view class="for-box" @click="goInfo(item)" v-for="(item,index) in dataList" :key="index">
+ <view class="for-box_t">{{item.airName}}-{{item.configName}}</view>
+ <text>使用量: {{item.pressure==null?'':item.pressure}}Mpa</text>
+ <view class="for-box_b2">
+ import { useRecordList } from '@/api/apiDemo/index.js'
+ isCg:0,
+ zgStatus:"",
+ getType:true,
+ nullDataType:true,
+ //获取列表
+ const {data} = await useRecordList({id:this.id})
+ .for-box_b2{
@@ -0,0 +1,243 @@
+<!--使用详情-->
+ <view class="title">{{form.storageVo.airName}}-{{form.storageVo.configName}}</view>
+ <view v-if="form.beforeUsePic" class="meter_img" :style="!form.afterUse?'border:none;':''" @click="lookItem(form.beforeUsePic)">
+ import { useRecordDetail } from '@/api/apiDemo/index.js'
+ const {data} = await useRecordDetail(this.id)
@@ -0,0 +1,352 @@
+<!--归还登记-->
+ <view class="title">{{form.airName}}-{{form.configName}}</view>
+ <view class="register_li2" v-if="pageType==0 || pageType==1">
+ <view>当前气压:</view>
+ <input v-model="form.afterUse" type="text" >
+ <view class="asterisk">*</view>
+ <view class="title-view">气表图片:</view>
+ <img class="add-button" src="@/images/basicsModules/icon_07.png" @click="selectImage" v-if="imgList.length<1">
+ <img class="add-button" src="@/pages_student/images/img_sydj_sltp.png" >
+ <view class="sub_btn" @click="submitForm()">确认归还</view>
+ import { useRegisterDetail,giveRegisterAdd } from '@/api/apiDemo/index.js'
+ afterUse:null,
+ afterUsePic:'',
+ this.electronicTag=option.code;
+ if(self.imgList.length>1){
+ title: '最多上传1张图片',
+ if(!_this.form.afterUse){
+ title: '请输入当前气压!',
+ if(_this.imgList.length<=0){
+ title: '请选择气表图片!',
+ _this.form.afterUse=Number( _this.form.afterUse)
+ _this.form.storageId=_this.form.id
+ _this.form.afterUsePic=_this.imgList.join(',')
+ const {data} = await giveRegisterAdd(_this.form);
+ /* 照片 */
+ .asterisk{
+ padding-top:30rpx;
+ width:480rpx;
@@ -0,0 +1,455 @@
+<!--使用登记-->
+ <view class="register_li_min" v-if="pageType==0">
+ <view>当前压力:</view>
+ <input v-model="form.currentPressure" disabled type="text" >
+ <view class="register_li_min" v-if="pageType==1">
+ <input v-model="form.beforeUse" type="text" >
+ <view class="title-view">气表照片:</view>
+ <view class="empty" v-if="pageType==2">
+ <img class="add-button" src="@/pages_student/images/icon_sydj_sqyqzg.png" >
+ <view>请您在申请用气资格后再使用气瓶</view>
+ <view class="empty" v-if="pageType==3">
+ <img class="add-button" src="@/pages_student/images/icon_xgzl_shz.png" >
+ <view>该气瓶正在使用中,请重新选择气瓶</view>
+ <img class="add-button" src="@/pages_student/images/icon_sydj_yubz.png" >
+ <view>气压余量不足,请使用其他气瓶</view>
+ <view v-if="pageType==0" class="sub_btn2" @click="handleClick('inconformity')">余量不符</view>
+ <view v-if="pageType==0" class="sub_btn" @click="submitForm(1)">确认使用</view>
+ <view v-if="pageType==1" class="sub_btn" @click="submitForm(2)">提交余量不符并使用</view>
+ <view v-if="pageType==2" class="sub_btn" @click="handleClick('useGasApply')">申请用气资格</view>
+ <view v-if="pageType==3" class="sub_btn" @click="handleClick('QRcode')">重新扫描</view>
+ import { useRegisterDetail,useRegisterAdd } from '@/api/apiDemo/index.js'
+ currentStatus:null,
+ electronicTag:'333',
+ /* uni.showModal({
+ content: '该气瓶最低安全气压值为1mPA,当前气压值即将达到安全值,请您使用气瓶中随时观察气压,避免发生风险。',
+ }); */
+ //点击事件
+ if(doType=='inconformity'){//余量不符
+ _this.pageType=1;
+ }else if(doType=='QRcode'){//重新扫描
+ }else if(doType=='useGasApply'){//申请用气资格
+ if(res.currentStatus==1){//正常状态
+ _this.pageType=0
+ }else if(res.currentStatus==2){//余量不足
+ }else if(res.currentStatus==3){//用户没有用气资格
+ _this.pageType=2
+ }else if(res.currentStatus==4){//气瓶正在使用中
+ _this.pageType=3
+ async submitForm(type){
+ bottleName:_this.form.airName,
+ beforeUse:_this.form.currentPressure,
+ beforeUsePic:_this.imgList.join(','),
+ isSurplus:0,
+ location:_this.form.location,
+ storageId:_this.form.id,
+ if(type==1){//确认使用
+ obj.isSurplus=0
+ }else if(type==2){//余量不符
+ obj.isSurplus=1
+ obj.beforeUse=_this.form.beforeUse
+ const {data} = await useRegisterAdd(obj);
+ /* 空 */
+ width: 100rpx;
+ margin-top: 124rpx;
+ margin-left: 300rpx;
+ padding-bottom: 106rpx;
@@ -0,0 +1,279 @@
+<!--待办清单-->
+ <view class="for-time-p">{{item.createTimeApp}}</view>
+ <img class="for-back-img" src="@/pages_supplier/images/Version2.2/for_min_bg.png">
+ <!-- 供气 -->
+ <view class="for-box" @click="goInfo(item2)" v-for="(item2,index2) in item.taskVOList" :key="index2">
+ <view class="for-title-box">
+ <view class="viewColor1">供气</view>
+ <view><text v-for="(item3,index3) in item2.detailListVO" :key="index3" v-if="index3<2">{{item3.airName}}-{{item3.configName}}*{{item3.bottleNumber}}<text>{{index3<1?' ':'...'}}</text></text></view>
+ <view class="for-address-box">
+ <img src="@/pages_supplier/images/Version2.2/icon_wtzg_sj.png">
+ <view>{{item2.createTime}}</view>
+ <view class="for-time-box">
+ <img src="@/pages_supplier/images/Version2.2/icon_wtzg_xx.png">
+ <view>{{item2.campus}}-{{item2.building}}-{{item2.room}}</view>
+ <!-- 回收 -->
+ <view class="for-box" @click="goInfo(item4)" v-for="(item4,index4) in item.bottleStorageOutVOList" :key="index4">
+ <view class="viewColor3">回收</view>
+ <view><text v-for="(item5,index5) in item4.detailListVO" :key="index5" v-if="index5<2">{{item5.airName}}-{{item5.configName}}<text>{{index5<1?' ':'...'}}</text></text></view>
+ <view>{{item4.createTime}}</view>
+ <view>{{item4.campus}}-{{item4.building}}-{{item4.room}}</view>
+ <!-- 问题 -->
+ <view class="for-box" @click="goInfo(item6)" v-for="(item6,index6) in item.bottleStorageVOList" :key="index6">
+ <view class="viewColor2">问题</view>
+ <view><text v-for="(item7,index7) in item6.detailListVO" :key="index7" v-if="index7<2">{{item7.airName}}-{{item7.configName}}<text>{{index7<1?' ':'...'}}</text></text></view>
+ <view>{{item6.createTime}}</view>
+ <view>{{item6.campus}}-{{item6.building}}-{{item6.room}}</view>
+ import { supplierBacklogList } from '@/api/apiDemo/index.js'
+ tabText:['待处理','已处理',],
+ if(d.remark=='gq'){
+ url:'/pages_supplier/backlogManage/backlogManageAirDetail?item='+encodeURIComponent(JSON.stringify(d))
+ }else if(d.remark=='hs'){
+ url:'/pages_supplier/backlogManage/backlogManageRecycleDetail?item='+encodeURIComponent(JSON.stringify(d))
+ }else if(d.remark=='wt'){
+ url:'/pages_supplier/backlogManage/backlogManageIssueDetail?item='+encodeURIComponent(JSON.stringify(d))
+ const {data} = await supplierBacklogList(_this.getData);
+ .for-list-box:nth-child(3){
+ .min-for-title-box{
+ border:none;
+ .for-title-box{
+ display:flex;
+ margin:0 26rpx 0;
+ border-top:1rpx solid #dedede;
+ padding-top:45rpx;
+ width:98rpx;
+ line-height:38rpx;
+ height:38rpx;
+ border-radius:6rpx;
+ font-size:20rpx;
+ margin-right:10rpx;
+ lin-height:36rpx;
+ display:block;
+ overflow:hidden;
+ text-overflow:ellipsis;
+ white-space:nowrap;
+ color:#D80000;
+ .viewColor1{
+ background #ffe6e6;
+ color:#ff5555;
+ .viewColor2{
+ background #fef2dd;
+ color:#f6a71d;
+ .viewColor3{
+ background #e0f1e2;
+ color:#30a23d;
+ .viewColor4{
+ background #f2dddd;
+ color:#a51919;
+ .viewColor5{
+ background #e2f6f8;
+ color:#3ac3d3;
+ .viewColor6{
+ background #d9edfe;
+ color:#0183fa;
+ .for-address-box{
+ margin:33rpx 26rpx 0;
+ img{
+ width:28rpx;
+ height:28rpx;
+ margin-right:20rpx;
+ color:#666;
+ .for-time-box{
+ margin:26rpx 26rpx 0;
+ padding-bottom:32rpx;
@@ -0,0 +1,284 @@
+<!-- 回收申请-->
+ <input v-model="form.qpTask.location" disabled type="text" >
+ <view>联系人:</view>
+ <input v-model="form.qpTask.userName" disabled type="text" >
+ <input v-model="form.qpTask.phone" disabled type="text" >
+ <view class="register_li" >
+ <view class="register_li_min" v-for="(item,index) in form.detailList">
+ <picker @change="bindPickerPerson" :value="pickerIndex" :range="personList">
+ <view>运输人员:</view>
+ <input v-model="form.userName" disabled type="text" placeholder="请选择运输人员">
+ <picker @change="bindPickerCar" :value="pickerIndex" :range="carList">
+ <view>运输车辆:</view>
+ <input v-model="form.carCode" disabled type="text" placeholder="请选择运输车辆">
+ <view class="sub_btn" @click="submitForm()">配送</view>
+ import {supplierBacklogDetail,
+ supplierBacklogRecycleDetail,
+ supplierBacklogIssueDetail,
+ supplierBacklogPersonCar,
+ supplierBacklogDistribution,
+ } from '@/api/apiDemo/index.js'
+ listType:0,//0回收申请 1供气配送申请 2货品问题 3回收
+ id:'',//查询详情的id
+ distributionId:'',//配送的id
+ status:'',//gq hs wt
+ personList:[],
+ personListArr:[],
+ carList:[],
+ carListArr:[],
+ editForm:{
+ remark:'1',
+ transportUser:{
+ userName:'',
+ transportCar:{
+ carCode:'',
+ },//配送
+ this.id=JSON.parse(decodeURIComponent(option.item)).detailListVO[0].id;
+ this.distributionId=JSON.parse(decodeURIComponent(option.item)).id;
+ this.getPersonCarList();
+ //供气人员点击
+ bindPickerPerson(e){
+ _this.form.userName=this.personList[index]
+ _this.personListArr.forEach(function(item){
+ if(item.userName==_this.personList[index]){
+ _this.editForm.transportUser.id=item.id
+ _this.editForm.transportUser.userName=item.userName
+ //供气车辆点击
+ bindPickerCar(e){
+ _this.form.carCode=this.carList[index]
+ _this.carListArr.forEach(function(item){
+ if(item.carCode==_this.carList[index]){
+ _this.editForm.transportCar.id=item.id
+ _this.editForm.transportCar.carCode=item.carCode
+ async getPersonCarList(){
+ const {data} = await supplierBacklogPersonCar()
+ //车辆
+ _this.carListArr=res.carlist;
+ if(res.carlist){
+ res.carlist.forEach(function(item){
+ _this.carList.push(item.carCode)
+ //人员
+ _this.personListArr=res.userlist;
+ if(res.userlist){
+ res.userlist.forEach(function(item){
+ _this.personList.push(item.userName)
+ const {data} = await supplierBacklogDetail({id:this.id})
+ //配送
+ if(!this.form.userName){
+ title: '请选择运输人员',
+ if(!this.form.carCode){
+ title: '请选择运输车辆',
+ _this.editForm.id=_this.distributionId;
+ const {data} = await supplierBacklogDistribution(_this.editForm);
+ url: '/pages_supplier/backlogManage/backlogManage'
@@ -0,0 +1,239 @@
+ <input v-model="form.bottleStorage.location" disabled type="text" >
+ <input v-model="form.bottleStorage.refuseName" disabled type="text" >
+ <input v-model="form.bottleStorage.refusePhonen" disabled type="text" >
+ <input v-model="form.bottleStorage.driverName" disabled type="text" >
+ <view>拒收发起时间:</view>
+ <input v-model="form.bottleStorage.rejectionApplyTime" disabled type="text" >
+ <view>问题描述:</view>
+ <input v-model="form.bottleStorage.rejectionApplyRemark" disabled type="text" >
+ <view class="issue_li" style="border-bottom:0;" @click="lookItem(form.bottleStorage.rejectionApplyImg)">
+ <view>问题照片:</view>
+ <view class="issue_img">
+ <img v-for="(item,index) in form.bottleStorage.rejectionApplyImg.split(',')" :src="baseUrl+item">
+ <view class="register_li" v-if="listType==0">
+ <view>{{specificationName.airName}}-{{specificationName.gasLevel}}:</view>
+ <input v-model="'数量:'+form.detailList.bottleNumber" disabled type="text" >
+ <view class="sub_btn" @click="submitForm()">同意拒收</view>
+ supplierBacklogRejection,
+ remark:'2',
+ specificationName:{},//回收
+ let arr=item.split(',')
+ let arr2=[]
+ arr2.push(config.base_url+item2)
+ urls: arr2, //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+ const {data} = await supplierBacklogIssueDetail({id:this.id})
+ _this.specificationName=JSON.parse(res.detailList.applyDescribe)
+ //同意拒收
+ _this.editForm.id=_this.id;
+ const {data} = await supplierBacklogRejection(_this.editForm);
+ width:220rpx;
+ flex-wrap: wrap;
+ margin-bottom: 20rpx
@@ -0,0 +1,299 @@
+ <view>申请回收时间:</view>
+ <input v-model="form.bottleStorageOut.createTime" disabled type="text" >
+ <input v-model="'数量:'+form.taskDetail.bottleNumber" disabled type="text" >
+ <view v-if="form.bottleStorageOut.outStatus==0" class="register_li">
+ <view v-if="form.bottleStorageOut.outStatus==0" class="sub_btn" @click="submitForm(1)">确认回收</view>
+ <view v-if="form.bottleStorageOut.outStatus==1" class="sub_btn" @click="submitForm(2)">已回收</view>
+ supplierBacklogStorageOut,
+ transportId:'',
+ transportName:'',
+ carId:'',
+ carNumber:'',
+ remark:'1',//确认回收1,已回收2
+ outStatus:'1',//确认回收1,已回收2
+ _this.editForm.transportName=this.personList[index]
+ _this.editForm.transportId=item.id
+ _this.editForm.carNumber=this.carList[index]
+ _this.editForm.carId=item.id
+ const {data} = await supplierBacklogRecycleDetail({id:this.id})
+ _this.specificationName=JSON.parse(res.taskDetail.applyDescribe)
+ //确认回收
+ if(type==1){
+ this.editForm.remark=1
+ this.editForm.outStatus=1
+ this.editForm.remark=2
+ this.editForm.outStatus=2
+ this.editForm.carId=null
+ this.editForm.carNumber=null
+ this.editForm.transportId=null
+ this.editForm.transportName=null
+ const {data} = await supplierBacklogStorageOut(_this.editForm);
+ margin-left:310rpx;
@@ -0,0 +1,173 @@
+<!-- 气瓶管理 -->
+ <view class="register_li" @click="goPage(item)" v-for="(item,index) in dataList" >
+ <view class="register_li_min" :style="index2===item.configVos.length-1?'border:none':''" v-for="(item2,index2) in item.configVos">
+ <view class="register_li_min_t">
+ <img class="right-img" src="@/pages_supplier/images/Version3.0/icon_qpgl_qp.png">
+ <text>{{item.airName}}</text>
+ <view class="register_li_min_b" >
+ <text >{{item2.configName}}</text>
+ <img class="for-back-img" src="@/pages_supplier/images/Version3.0/img_ysrygl_zwsj.png">
+ <view class="sub_btn" @click="subBtn()"><img class="right-img" src="@/pages_supplier/images/Version3.0/icon_gysqpgl_xzqp.png">新增气瓶</view>
+ import {bottleList} from '@/api/apiDemo/index.js'
+ url:'/pages_supplier/gasManage/gasManageAdd?status=0'
+ goPage(d){
+ url:'/pages_supplier/gasManage/gasManageDetail?status=1&id='+d.id
+ const {data} = await bottleList(this.getData)
+ let res =data.rows
+ overflow: hidden;
+ .register_li_min_t{
+ width: 34rpx;
+ height: 34rpx;
+ margin-left: 14rpx;
+ .register_li_min_b{
+ margin-top: 24rpx;
@@ -0,0 +1,321 @@
+ <view style="color: #333333;">气体名称:</view>
+ <input v-model="form.airName" disabled type="text" placeholder="请选择气体名称">
+ <view style="margin-left: 12rpx;"></view>
+ <view style="color: #333333;">气体组分:</view>
+ <input v-model="form.airConstituents" maxlength="20" type="text" placeholder="请输入气体组分">
+ <view class="small_title" v-if="specsList.length>0">气瓶规格</view>
+ <view class="register_li2" v-if="specsList.length>0">
+ <view v-for="(item,index) in specsList" :class="item.checked==false?'register_li2_btn':'colorB'" @tap="tabClickSpecs(item)" >{{item.configName}}</view>
+ import {googsList,googsInfoList,bottleAdd,bottleAmend,bottleDetail} from '@/api/apiDemo/index.js'
+ airName:'',
+ airConstituents:'',
+ configId:'',
+ configDtos:[],
+ googsArray:[],
+ specsList:[],
+ //气瓶规格选中事件
+ tabClickSpecs(data){
+ this.specsList.forEach(function(item){
+ if(data.configId==item.configId){
+ item.checked=item.checked==true?false:true;
+ //气体选中事件
+ _this.form.airName=this.pickerArray[index]
+ _this.googsArray.forEach(function(item){
+ if(_this.pickerArray[index]==item.goodsName){
+ _this.getGoogsInfoList(item.id)
+ _this.form.configId=item.id
+ //获取气体列表数据
+ async getGoogsList(){
+ const {data} = await googsList()
+ _this.googsArray=res;
+ _this.pickerArray.push(item.goodsName)
+ async getGoogsInfoList(id){
+ const {data} = await googsInfoList(id)
+ _this.specsList.push({'configName':item.name,'configId':item.id,'checked':false,})
+ //重新组装
+ arr.push({'configName':item.name,'configId':item.id,'checked':false,})
+ //循环对比
+ arr.forEach(function(item){
+ _this.specsList.forEach(function(item2){
+ if(item.configId==item2.configId){
+ item.checked=true;
+ item.id=item2.id;
+ _this.specsList=arr;
+ const {data} = await bottleDetail(this.id)
+ this.form.id=res.id;
+ this.form.airName=res.airName;
+ this.form.airConstituents=res.airConstituents;
+ this.form.configId=res.configId;
+ if(res.configVos){
+ this.specsList=res.configVos;
+ _this.getGoogsInfoList(res.configId)
+ if(!this.form.airName){
+ title: '请选择气体名称!',
+ //提交的时候过滤空数据
+ _this.specsList.forEach(function(item){
+ if(item.checked==true){
+ _this.form.configDtos=arr;
+ if(this.status==0){//新增
+ const {data} = await bottleAdd(_this.form);
+ url: '/pages/supplierWorkbench',
+ }else if(this.status==1){//编辑
+ const {data} = await bottleAmend(_this.form);
+ this.getGoogsList()
+ if(this.status==1 || this.status==2){
+ padding:44rpx 0 20rpx 20rpx;
+ .register_li2_btn{
+ background: #F5F5F5;
+ margin-right: 22rpx;
@@ -0,0 +1,255 @@
+<!-- 气瓶详情-->
+ <picker @change="bindPickerChange" disabled :value="pickerIndex" :range="pickerArray">
+ <input v-model="form.airConstituents" disabled maxlength="20" type="text" placeholder="请输入气体组分">
+ <view v-for="(item,index) in specsList" :class="item.checked==false?'register_li2_btn':'colorB'" >{{item.configName}}</view>
+ <view v-if="status==1" class="sub_btn" @click="submitForm()">编辑</view>
+ status:null,//0添加1编辑2查看
+ this.form=res;
+ this.specsList=res.configVos
+ url:'/pages_supplier/gasManage/gasManageAdd?status=1&id='+this.id
@@ -0,0 +1,330 @@
+<!--供气回收记录-->
+ import { gasRecycleList } from '@/api/apiDemo/index.js'
+ remarkStatus:0,//0 未处理, 1 已处理
+ this.getData.pageNum=1;
+ this.getData.remarkStatus=index;
+ url:'/pages_supplier/gasRecycle/gasRecycleAirDetail?item='+encodeURIComponent(JSON.stringify(d))+'&status='+this.curTab
+ url:'/pages_supplier/gasRecycle/gasRecycleRecycleDetail?item='+encodeURIComponent(JSON.stringify(d))+'&status='+this.curTab
+ url:'/pages_supplier/gasRecycle/gasRecycleIssueDetail?item='+encodeURIComponent(JSON.stringify(d))+'&status='+this.curTab
+ const {data} = await gasRecycleList(_this.getData);
+ margin-bottom 16rpx;
+ margin-top: 16rpx;
+ line-height: 64rpx;
@@ -0,0 +1,303 @@
+ <view v-if="pageType==1" class="register_li_min">
+ <input v-model="form.user.userName" disabled type="text" >
+ <input v-model="form.car.carCode" disabled type="text" >
+ <view>配送时间:</view>
+ <input v-model="form.taskDetail.disposeTime2" disabled type="text" >
+ <view v-if="pageType==1" class="register_li_min" style="border: none;">
+ <view>接收时间:</view>
+ <input v-model="form.taskDetail.createTime" disabled type="text" >
+ <view v-if="pageType==0" class="register_li">
+ <view v-if="pageType==0" class="sub_btn" @click="submitForm()">配送</view>
+ pageType:0,//0待处理1已处理
+ this.pageType=option.status;
+ url: '/pages_supplier/gasRecycle/gasRecycle'
@@ -0,0 +1,244 @@
+ <view>同意拒收时间:</view>
+ <view>{{specificationName.airName}}-{{specificationName.configName}}:</view>
+ <view v-if="pageType==0" class="sub_btn" @click="submitForm()">同意拒收</view>
@@ -0,0 +1,312 @@
+ <view v-if="pageType==1 || form.bottleStorageOut.outStatus==1" class="register_li_min">
+ <input v-model="form.bottleStorageOut.transportName" disabled type="text" >
+ <input v-model="form.bottleStorageOut.carNumber" disabled type="text" >
+ <view v-if="pageType==1 || form.bottleStorageOut.outStatus==1" class="register_li_min" style="border: none;">
+ <view>确认回收时间:</view>
+ <input v-model="form.bottleStorageOut.disposeTime" disabled type="text" >
+ <view v-if="pageType==0 || form.bottleStorageOut.outStatus==0" class="register_li">
@@ -0,0 +1,208 @@
+<!-- 修改密码 -->
+ <view>原密码:</view>
+ <input v-model="form.oldPassword" @blur="verifyOldPassword()" type="text" placeholder="请输入原密码">
+ <view>新密码:</view>
+ <input v-model="form.newPassword" @blur="verify()" type="text" placeholder="请输入原密码">
+ <view>确认密码:</view>
+ <input @blur="affirm()" v-model="repassword" type="text" placeholder="请再次确认密码">
+ import {updatePwd} from '@/api/apiDemo/index.js'
+ oldPassword:'',
+ newPassword:'',
+ repassword:'',
+ //校验特殊字符
+ verify(){
+ if(!this.form.oldPassword){
+ title: '请先输入原密码',
+ this.form.newPassword='';
+ if(this.form.newPassword.length<6 || this.form.newPassword.length>16){
+ title: '原密码不能超出16位、不能低于6位',
+ let reg=/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]|[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】、;‘’,。、\s+]/;
+ let aa= reg.test(this.form.newPassword)
+ if(reg.test(this.form.newPassword)){
+ title: '密码中有中文,空格或特殊字符,请重新输入',
+ affirm(){
+ if(this.form.newPassword===this.repassword){
+ title: '两次密码不一样,请重新输入',
+ this.repassword='';
+ //校验老的密码
+ async verifyOldPassword(){
+ title: '请输入原密码',
+ if(!this.form.newPassword){
+ title: '请输入新密码',
+ if(!this.repassword){
+ title: '请输入确认密码',
+ const {data} = await updatePwd(this.form);
+ title: '修改成功!',
+ url: '/pages/login',
@@ -0,0 +1,158 @@
+<!-- 个人中心 -->
+ <view class="register_li_min" @click="goPage('datum')">
+ <view>修改资料</view>
+ <view class="view-three-type" :class="state==0?'colorA':'colorB'">{{state==0?'审核未通过':'审核已通过'}}</view>
+ <img class="right-img" src="@/pages_supplier/images/icon_04.png">
+ <view class="register_li_min" @click="goPage('password')" style="border: none;">
+ <view>修改密码</view>
+ <view class="sub_btn" @click="clickOut()">退出登录</view>
+ import {logout} from '@/api/apiDemo/index.js'
+ state:null,
+ onLoad(option) {//审核状态(0:未审核,1:审核通过,2:审核未通过)
+ this.state=option.state
+ //页面跳转
+ goPage(type){
+ if(type == 'datum'){//修改资料
+ url: '/pages_supplier/register/register?pageStatus=1',//注册页面
+ }else if(type == 'password'){//修改密码
+ url: '/pages_supplier/mine/changePassword',
+ //退出按钮
+ clickOut(){
+ // title: '确认要退出吗?',
+ content: '确认要退出吗',
+ cancelColor:"#999",
+ confirmColor:"#0183FA",
+ self.logout();
+ } else if (res.cancel) {
+ console.log('用户点击取消');
+ //退出登录
+ async logout() {
+ const {data} = await logout();
+ uni.removeStorageSync('token');
+ uni.removeStorageSync('userId');
+ uni.removeStorageSync('userType');
+ line-height:110rpx;
+ line-height: 110rpx;
+ color:#FF3131!important;
+ color:#999999!important;
@@ -0,0 +1,113 @@
+<!-- 注册 -->
+ <view>登录账号:</view>
+ <input v-model="form.name" type="text" placeholder="请输入账号">
+ <view>手机号:</view>
+ <input v-model="form.name" type="text" placeholder="请输入注册时填写的手机号码">
+ <view class="sub_btn">提交</view>
+ width 500rpx;
@@ -0,0 +1,317 @@
+ <view class="register_li" v-if="pageStatus==0">
+ <input v-model="form.sysUserDto.userName" type="text" placeholder-style="color:#999;" placeholder="请输入登录账号">
+ <view>登录密码:</view>
+ <input v-model="form.sysUserDto.password" type="text" placeholder-style="color:#999;" placeholder="请输入登录密码">
+ <input v-model="form.sysUserDto.repassword" type="text" placeholder-style="color:#999;" placeholder="请再次确认密码">
+ <view>企业名称:</view>
+ <input v-model="form.companyName" @blur="nameCheck()" maxlength="20"type="text" placeholder-style="color:#999;" placeholder="请输入供应商名称">
+ <view>企业简称:</view>
+ <input v-model="form.companyShort" maxlength="10" type="text" placeholder-style="color:#999;" placeholder="请输入供应商简称">
+ <input v-model="form.contacts" maxlength="10" type="text" placeholder-style="color:#999;" placeholder="请输入联系人姓名">
+ <input v-model="form.phone" type="text" placeholder-style="color:#999;" placeholder="请输入联系方式">
+ <view>经营地址:</view>
+ <input v-model="form.businessAddress" maxlength="30" type="text" placeholder-style="color:#999;" placeholder="请输入经营地址">
+ <view class="sub_btn" @click="nextStep()">下一步</view>
+ import {supplierCheck,supplierDetail} from '@/api/apiDemo/index.js'
+ sysUserDto:{
+ password:'',
+ companyName:'',
+ companyShort:'',
+ contacts:'',
+ phone:'',
+ businessAddress:'',
+ pageStatus:null,//判断是从那个页面进入 0登录页,1驳回页面
+ license:null,//证件数据
+ this.pageStatus=option.pageStatus;
+ //校验企业名称是否重复
+ async nameCheck(){
+ const {data} = await supplierCheck({name:this.form.companyName,})
+ const {data} = await supplierDetail()
+ this.form.id=res.id
+ this.form.companyName=res.companyName
+ this.form.companyShort=res.companyShort
+ this.form.contacts=res.contacts
+ this.form.phone=res.phone
+ this.form.businessAddress=res.businessAddress
+ this.license=res.qpSupplierCredentialsVos
+ nextStep(){
+ if(!this.form.sysUserDto.userName && this.pageStatus==0){
+ title: '请输入登陆账号',
+ if(this.form.sysUserDto.userName){
+ if(_this.form.sysUserDto.userName.length<6 || _this.form.sysUserDto.userName.length>16){
+ title: '登录账号不能超出16位、不能低于6位',
+ form.sysUserDto.userName='';
+ let reg=/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]|[`~@!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】、;‘’,。、\s+]/;
+ let aa= reg.test(_this.form.sysUserDto.userName)
+ if(reg.test(_this.form.sysUserDto.userName)){
+ title: '登录密码中有中文,空格或特殊字符,请重新输入!',
+ _this.form.sysUserDto.userName='';
+ if(!this.form.sysUserDto.password && this.pageStatus==0){
+ title: '请输入登陆密码',
+ if(_this.form.sysUserDto.password){
+ if(_this.form.sysUserDto.password.length<6 || _this.form.sysUserDto.password.length>16){
+ title: '登录密码不能超出16位、不能低于6位',
+ _this.form.sysUserDto.password='';
+ let aa= reg.test(this.form.sysUserDto.password)
+ if(reg.test(this.form.sysUserDto.password)){
+ this.form.sysUserDto.password='';
+ if(!this.form.sysUserDto.repassword && this.pageStatus==0){
+ if(this.form.sysUserDto.password!==this.form.sysUserDto.repassword){
+ title: '密码输入不一致,请重新输入!',
+ if(!this.form.companyName){
+ title: '请输入企业名称',
+ if(!this.form.contacts){
+ title: '请输入联系人',
+ title: '请输入手机号码',
+ if(this.form.phone){
+ let reg=/^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(16[0-9])|(17[0,3,5-8])|(18[0-9])|(147))+\d{8}$/;
+ let aa= reg.test(this.form.phone)
+ if(!reg.test(this.form.phone)){
+ title: '请输入正确的手机号!',
+ this.form.phone='';
+ url: '/pages_supplier/register/registerTow?form='+encodeURIComponent(JSON.stringify(this.form))+'&license='+encodeURIComponent(JSON.stringify(this.license)),//安全检查
+ if(this.pageStatus==1){
+ //
+ width 460rpx;
@@ -0,0 +1,142 @@
+<!-- 申请成功 -->
+ <img class="register_li_t" src="@/pages_supplier/images/Version3.0/img_zc_zccg.png">
+ <text>申请提交成功,请牢记您的账号密码,</text>
+ <text>为避免丢失和遗忘,建议您截图保存。</text>
+ <view class="register_li_b">
+ <text>登陆账号</text>
+ <text>{{form.sysUserDto.userName}}</text>
+ <text>登陆密码</text>
+ <text>{{form.sysUserDto.password}}</text>
+ <view class="sub_btn" @click="back()">返回</view>
+ back(){
+ url: '/pages/login?status=3',
+ width:336rpx;
+ height:190rpx;
+ margin: 60rpx 0 0 186rpx;
+ margin-top: 64rpx;
+ .register_li_b{
+ margin-top: 60rpx;
+ margin-left: 22rpx;
+ padding: 44rpx 34rpx;
@@ -0,0 +1,350 @@
+<!-- 注册2 -->
+ <view class="register_li" v-for="(item,index) in qpSupplierCredentialsDtos">
+ <view class="register_li_t"><text v-if="item.required==1" style="color: #f00;margin-right: 10rpx;">*</text>{{item.naturalName}}</view>
+ <img src="@/pages_supplier/images/Version3.0/icon_zc_scbg.png">
+ <img v-if="item.naturalName" :src="baseUrl+item.naturalUrl">
+ <img src="@/pages_supplier/images/Version3.0/icon_zc_sc.png" @click="selectImage(item)">
+ <view class="register_li_b2">
+ <view><text v-if="item.required==1" style="color: #f00;margin-right: 10rpx;">*</text>有效期</view>
+ <picker mode="date" @change="startChange(item,$event)">
+ <input class="picker-text" disabled type="text" v-model="item.startTime" placeholder="开始时间">
+ <picker mode="date" @change="endChange(item,$event)">
+ <input class="picker-text2" disabled type="text" v-model="item.endTime" placeholder="结束时间">
+ <view class="register_li_b3">{{item.remark}}</view>
+ import {supplierRegister,certificateList,supplierAmend} from '@/api/apiDemo/index.js'
+ qpSupplierDto:null,
+ qpSupplierCredentialsDtos:[],
+ license:null,
+ let form=JSON.parse(decodeURIComponent(option.form));
+ if(JSON.parse(decodeURIComponent(option.license))){
+ this.license=JSON.parse(decodeURIComponent(option.license));
+ this.qpSupplierDto=form;
+ selectImage(item) {
+ self.uploadImg(item,tempFilePaths);
+ async uploadImg(item,tempFilePaths){
+ item.naturalUrl=res.data.url;
+ startChange(item,e){
+ if(new Date(e.target.value).getTime()>=new Date(item.endTime).getTime()){
+ item.startTime=e.target.value
+ endChange(item,e){
+ if(new Date(item.startTime).getTime()>=new Date(e.target.value).getTime()){
+ item.endTime=e.target.value
+ const {data} = await certificateList({type:1})
+ //重新渲染后台返回数据
+ data.data.forEach(function(item){
+ _this.qpSupplierCredentialsDtos.push({'required':item.required,'naturalName':item.name,'naturalUrl':'','startTime':'','endTime':'','remark':item.remark,'certificateId':item.id})
+ //循环对比把详情的值渲染到资料模板上
+ if(_this.license){
+ _this.qpSupplierCredentialsDtos.forEach(function(item){
+ _this.license.forEach(function(item2){
+ if(item.certificateId==item2.certificateId){
+ item.naturalUrl=item2.naturalUrl
+ item.startTime=item2.startTime
+ item.endTime=item2.endTime
+ let isPass=true;
+ for(let i=0;i<_this.qpSupplierCredentialsDtos.length;i++){
+ if(_this.qpSupplierCredentialsDtos[i].required==1){
+ if(!_this.qpSupplierCredentialsDtos[i].naturalUrl){
+ isPass=false;
+ title: '未上传'+_this.qpSupplierCredentialsDtos[i].naturalName+',请上传'+_this.qpSupplierCredentialsDtos[i].naturalName,
+ if(!_this.qpSupplierCredentialsDtos[i].startTime || !_this.qpSupplierCredentialsDtos[i].endTime){
+ title: '请选择'+_this.qpSupplierCredentialsDtos[i].naturalName+'有效期',
+ arr.push(_this.qpSupplierCredentialsDtos[i])
+ if(isPass){
+ _this.qpSupplierDto.qpSupplierCredentialsDtos=arr;
+ //修改
+ if(_this.qpSupplierDto.id){
+ const {data} = await supplierAmend(_this.qpSupplierDto);
+ }else{//注册
+ const {data} = await supplierRegister(_this.qpSupplierDto);
+ url: '/pages_supplier/register/registerSuccess?form='+encodeURIComponent(JSON.stringify(_this.qpSupplierDto)),//注册
+ margin: 36rpx 0;
+ width: 450rpx;
+ margin-left: 106rpx;
+ >img:nth-child(1){
+ left: 0;
+ top: 0;
+ >img:nth-child(2){
+ >img:nth-child(3){
+ left: 187rpx;
+ top: 86rpx;
+ .register_li_b2{
+ margin-right: 150rpx;
+ .register_li_b3{
+ margin: 34rpx 0;
@@ -0,0 +1,234 @@
+<!--运输车辆管理-->
+ <view class="list" >
+ <view class="list_li" @click="detailClick(item)" v-for="(item,index) in dataList">
+ <!-- <img class="for-back-img" src="@/images/Version3.0/icon_ysry_ry.png"> -->
+ <text class="list_li_text">{{item.carCode}}</text>
+ <text class="list_li_text2"></text>
+ <text class="list_li_text3" v-if="item.pastDue==1">证照过期</text>
+ <view class="sub_btn" @click="addBtn()">新增运输车辆</view>
+ import { transportCarList } from '@/api/apiDemo/index.js'
+ pageType:1,
+ isAudit:1,//是否已经审核(0=未审核,1=已经审核,2=审核未通过
+ tabText:['已通过','待审核','未通过'],
+ if(index==0){
+ this.params.isAudit=1
+ }else if(index==1){
+ this.params.isAudit=0
+ }else if(index==2){
+ this.params.isAudit=2
+ addBtn(){
+ url:'/pages_supplier/transportCar/transportCarAdd?status=0'
+ detailClick(d){
+ let id=d.id;
+ url:'/pages_supplier/transportCar/transportCarDetail?id='+id
+ _this.dataList=[];
+ const {data} = await transportCarList(_this.params)
+ this.dataList=res
+ this.pageType=1
+ this.pageType=2
+ width: 146rpx;
+ width: 322rpx;
+ .list_li_text3{
+ color: #FF3131;
@@ -0,0 +1,475 @@
+<!-- 运输车辆新增 -->
+ <view>车辆号牌:</view>
+ <input v-model="form.carCode" maxlength="10" type="text" placeholder-style="color:#999;" placeholder="请输入车辆号牌">
+ <view class="register_li2" v-for="(item,index) in carCredentialsDtos">
+ <img class="register_li_b_img1" src="@/pages_supplier/images/Version3.0/icon_zc_scbg.png">
+ <img class="register_li_b_img2" v-if="item.naturalName" :src="baseUrl+item.naturalUrl">
+ <img class="register_li_b_img3" src="@/pages_supplier/images/Version3.0/icon_zc_sc.png" @click="selectImage(item)">
+ import {certificateList,transportCarAdd,transportCarDetail,transportCarAmend} from '@/api/apiDemo/index.js'
+ carCredentialsDtos:[],
+ if(!(/^1[3456789]\d{9}$/.test(this.form.phone))){
+ title: '请输入正确的手机号',
+ const {data} = await certificateList({type:3})
+ _this.carCredentialsDtos.push({'required':item.required,'naturalName':item.name,'naturalUrl':'','startTime':'','endTime':'','remark':item.remark,'certificateId':item.id})
+ const {data} = await transportCarDetail(this.id)
+ this.isAudit=res.isAudit;
+ _this.carCredentialsDtos.forEach(function(item){
+ res.carCredentialsVos.forEach(function(item2){
+ let isPass=true;//判断是否为空
+ title: '请输入车辆号牌',
+ for(let i=0;i<_this.carCredentialsDtos.length;i++){
+ if(_this.carCredentialsDtos[i].required==1){
+ if(!_this.carCredentialsDtos[i].naturalUrl){
+ title: '未上传'+_this.carCredentialsDtos[i].naturalName+',请上传'+_this.carCredentialsDtos[i].naturalName,
+ if(!_this.carCredentialsDtos[i].startTime || !_this.carCredentialsDtos[i].endTime){
+ title: '请选择'+_this.carCredentialsDtos[i].naturalName+'有效期',
+ arr.push(_this.carCredentialsDtos[i])
+ // _this.carCredentialsDtos.forEach(function(item){
+ // if(item.required==1){
+ // if(!item.naturalUrl){
+ // isPass=false;
+ // uni.showToast({
+ // title: '未上传'+item.naturalName+',请上传'+item.naturalName,
+ // icon:"none",
+ // mask:true,
+ // duration: 2000
+ // });
+ // return
+ // }
+ // if(!item.startTime || !item.endTime){
+ // title: '请选择'+item.naturalName+'有效期',
+ // arr.push(item)
+ // }else{
+ _this.form.carCredentialsDtos=arr;
+ const {data} = await transportCarAdd(_this.form);
+ _this.form.userCredentialsVos=null;
+ const {data} = await transportCarAmend(_this.form);
+ // >img:nth-child(1){
+ // width: 450rpx;
+ // height: 270rpx;
+ // position: absolute;
+ // left: 0;
+ // top: 0;
+ // >img:nth-child(2){
+ // width: 100rpx;
+ // height: 100rpx;
+ // left: 187rpx;
+ // top: 86rpx;
+ .register_li_b_img1{
+ .register_li_b_img2{
+ .register_li_b_img3{
@@ -0,0 +1,257 @@
+<!-- 运输人员新增 -->
+ <viwe v-if="isAudit!=1" :class="isAudit==0?'tip':'reject'">{{isAudit==0?'信息正在审核中,请耐心等待...':'您提交的审核被驳回,驳回原因为:'+auditContent}}</viwe>
+ <view>车牌号:</view>
+ <input v-model="form.carCode" type="text" placeholder-style="color:#999;" >
+ <view v-for="(item,index) in form.carCredentialsVos">
+ <view class="driving_img" @click="lookItem(item)">
+ <view>{{item.naturalName}}:</view>
+ <img class="issue_img" :src="baseUrl+item.naturalUrl">
+ <view>有效期</view>
+ <picker mode="date" disabled @change="dateChange">
+ <view class="sub_btn" v-if="isAudit==1" @click="subBnt()">编辑</view>
+ <view class="sub_btn" v-if="isAudit==2" @click="subBnt()">重新提交</view>
+ import {transportCarDetail} from '@/api/apiDemo/index.js'
+ auditContent:'',//驳回时审核内容
+ _this.form.carCredentialsVos.forEach(function(item,idnex) {
+ if(item.naturalUrl && item.startTime && item.endTime){
+ _this.form.carCredentialsVos=arr
+ //驳回
+ if(res.syntheticalAudit){
+ this.auditContent=res.syntheticalAudit.auditContent
+ subBnt(){
+ url:'/pages_supplier/transportCar/transportCarAdd?status=1&id='+this.id
+ urls: [config.base_url+item.naturalUrl], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+ /* 驾驶证 */
+ .driving_img{
+ margin:34rpx 20rpx 0;
+ margin-left:270rpx;
+ /* 有效期 */
+ margin-left: 158rpx;
+<!--运输人员管理-->
+ <img class="for-back-img" src="@/pages_supplier/images/Version3.0/icon_ysry_ry.png">
+ <text class="list_li_text">{{item.userName}}</text>
+ <text class="list_li_text2">{{item.phone}}</text>
+ <view class="sub_btn" @click="addBtn()">新增运输人员</view>
+ import { transportUserList } from '@/api/apiDemo/index.js'
+ url:'/pages_supplier/transportPerson/transportPersonAdd?status=0'
+ url:'/pages_supplier/transportPerson/transportPersonDetail?id='+id
+ const {data} = await transportUserList(_this.params)
+ width: 126rpx;
@@ -0,0 +1,496 @@
+ <view>姓名:</view>
+ <input v-model="form.userName" maxlength="10" type="text" placeholder-style="color:#999;" placeholder="请输入姓名">
+ <view class="register_li2" v-for="(item,index) in userCredentialsDtos">
+ import {certificateList,transportUser,transportUserDetail,transportUserAmend} from '@/api/apiDemo/index.js'
+ userCredentialsDtos:[],
+ const {data} = await certificateList({type:2})
+ _this.userCredentialsDtos.push({'required':item.required,'naturalName':item.name,'naturalUrl':'','startTime':'','endTime':'','remark':item.remark,'certificateId':item.id})
+ const {data} = await transportUserDetail(this.id)
+ _this.userCredentialsDtos.forEach(function(item){
+ res.userCredentialsVos.forEach(function(item2){
+ title: '请输入联系人姓名',
+ title: '请输入手机号!',
+ for(let i=0;i<_this.userCredentialsDtos.length;i++){
+ if(_this.userCredentialsDtos[i].required==1){
+ if(!_this.userCredentialsDtos[i].naturalUrl){
+ title: '未上传'+_this.userCredentialsDtos[i].naturalName+',请上传'+_this.userCredentialsDtos[i].naturalName,
+ if(!_this.userCredentialsDtos[i].startTime || !_this.userCredentialsDtos[i].endTime){
+ title: '请选择'+_this.userCredentialsDtos[i].naturalName+'有效期',
+ arr.push(_this.userCredentialsDtos[i])
+ // let arr=[];
+ // _this.userCredentialsDtos.forEach(function(item){
+ _this.form.userCredentialsDtos=arr;
+ const {data} = await transportUser(_this.form);
+ const {data} = await transportUserAmend(_this.form);
+ height:auto
@@ -0,0 +1,263 @@
+<!-- 运输人员-详情-->
+ <input v-model="form.userName" disabled type="text" placeholder="请输入姓名">
+ <input v-model="form.phone" disabled type="text" placeholder="请输入联系方式">
+ <view v-for="(item,index) in form.userCredentialsVos">
+ import {transportUserDetail} from '@/api/apiDemo/index.js'
+ _this.form.userCredentialsVos.forEach(function(item,idnex) {
+ _this.form.userCredentialsVos=arr
+ url:'/pages_supplier/transportPerson/transportPersonAdd?status=1&id='+this.id
@@ -106,19 +106,19 @@ let routeDataList = [
buttonType:"page",
- name: "安全检查",
+ name: "气瓶管理",
limits:"",
- route: "studentSafetyInspect",
- routeUrl: "/pages_manage/workbench/problemRectification/rectifyList",
- img: require('@/images/basicsModules/icon_sy_aqjc.png'),
+ route: "studentGasBottle",
+ routeUrl: "/pages_student/gasBottle/gasManage/gasManage",
+ img: require('@/images/basicsModules/icon_sy_qpgl.png'),
- name: "气瓶管理",
+ name: "安全检查",
- route: "studentGas",
- routeUrl: "/pages_student/gasManage/gasManage",
- img: require('@/images/basicsModules/icon_sy_qpgl.png'),
+ route: "studentSafetyInspect",
+ routeUrl: "/pages_manage/workbench/problemRectification/rectifyList",
+ img: require('@/images/basicsModules/icon_sy_aqjc.png'),