Browse Source

前端页面功能处理

oyq28 1 year ago
parent
commit
6fe3fa0c54

+ 10 - 0
imcs-ui/src/api/lineSideLibrary/lineSideMgr.js

@@ -6,6 +6,10 @@ const apiList = {
     method: 'POST',
     url: `/authority/stockInfo/all`
   },
+  getStockInfoList: {
+    method: 'POST',
+    url: `/authority/stockInfo/getStockInfoList`
+  },
   page: {
     method: 'POST',
     url: `/authority/stockInfo/page`
@@ -84,6 +88,12 @@ export default {
       data
     })
   },
+  getStockInfoList (data) {
+    return axiosApi({
+      ...apiList.getStockInfoList,
+      data
+    })
+  },
   page (data) {
     return axiosApi({
       ...apiList.page,

+ 10 - 0
imcs-ui/src/api/lineSideLibrary/lockingRecord.js

@@ -10,6 +10,10 @@ const apiList = {
     method: 'POST',
     url: `/authority/stockLog/page`
   },
+  getStockLogList: {
+    method: 'POST',
+    url: `/authority/stockLog/getStockLogList`
+  },
   update: {
     method: 'POST',
     url: `/authority/stockLog/update`
@@ -61,6 +65,12 @@ export default {
       data
     })
   },
+  getStockLogList (data) {
+    return axiosApi({
+      ...apiList.getStockLogList,
+      data
+    })
+  },
   save (data) {
     return axiosApi({
       ...apiList.save,

+ 6 - 4
imcs-ui/src/views/zuihou/machiningClient/touchScreen/components/View3.vue

@@ -78,9 +78,9 @@
     	</el-row>
 
     	<div slot="footer" class="dialog-footer">
-        <el-button v-if="unFeedingCount>0 || (unFeedingCount==0 && unBaitingCount==1)" type="primary" :disabled="confirmDisabled" @click="submitForm">{{ $t('machining.buttons.finished') }}</el-button>
-	      <!--<el-button v-if="unFeedingCount==0 && unBaitingCount>0" type="primary" :disabled="confirmDisabled" @click="storageForm">{{ $t('machining.buttons.inFinished') }}</el-button>-->
-        <el-button type="primary" :disabled="confirmDisabled" @click="storageForm">{{ $t('machining.buttons.inFinished') }}</el-button>
+        <el-button v-if="xbkValid && unFeedingCount>0 || (unFeedingCount==0 && unBaitingCount==1 && xbkValid)"  type="primary" :disabled="confirmDisabled" @click="submitForm">{{ $t('machining.buttons.finished') }}</el-button>
+	      <el-button v-if="(unFeedingCount==0 && unBaitingCount>0) || !xbkValid" type="primary" :disabled="confirmDisabled" @click="storageForm">{{ $t('machining.buttons.inFinished') }}</el-button>
+        <!--<el-button type="primary" :disabled="confirmDisabled" @click="storageForm">{{ $t('machining.buttons.inFinished') }}</el-button>-->
 
       </div>
     </div>
@@ -106,6 +106,7 @@ export default {
       screenWidth: 0,
       confirmDisabled: false,
       callRobotFlag: false,	
+      xbkValid: true,
       unBaitingCount: 0,
       unFeedingCount: 0,
       width: this.initWidth(),
@@ -170,7 +171,8 @@ export default {
       console.log(this.tenant)
       taskMgrApi.confirmBaiting({ "taskNodeId":this.tenant.taskNodeId}).then((res) => {
           res = res.data         
-          if (res.isSuccess) {          
+          if (res.isSuccess) {     
+            this.xbkValid = res.data.xbkValid     
             this.unBaitingCount = res.data.unBaitingCount
             this.unFeedingCount = res.data.unFeedingCount            
           }

+ 5 - 3
imcs-ui/src/views/zuihou/machiningClient/touchScreen/components/View6.vue

@@ -78,8 +78,8 @@
     	</el-row>
 
     	<div slot="footer" class="dialog-footer">
-	      <el-button v-if="unFeedingCount>0 || (unFeedingCount==0 && unBaitingCount==1)" type="primary" :disabled="confirmDisabled" @click="submitForm(6)">{{ $t('machining.buttons.finished') }}</el-button>
-        <el-button v-if="unFeedingCount==0 && unBaitingCount>0" type="primary" :disabled="confirmDisabled" @click="storageForm">{{ $t('machining.buttons.inFinished') }}</el-button>
+	      <el-button v-if="xbkValid && unFeedingCount>0 || (unFeedingCount==0 && unBaitingCount==1 && xbkValid)" type="primary" :disabled="confirmDisabled" @click="submitForm(6)">{{ $t('machining.buttons.finished') }}</el-button>
+        <el-button v-if="(unFeedingCount==0 && unBaitingCount>0) || !xbkValid" type="primary" :disabled="confirmDisabled" @click="storageForm">{{ $t('machining.buttons.inFinished') }}</el-button>
 	    </div>
     </div>
   </el-dialog>
@@ -106,6 +106,7 @@ export default {
       callRobotFlag: false,
       width: this.initWidth(),
       tenant: {},
+      xbkValid: true,
       unBaitingCount: 0,
       unFeedingCount: 0,
       queryParams: initQueryParams({}),
@@ -168,7 +169,8 @@ export default {
       console.log(this.tenant)
       taskMgrApi.confirmBaiting({ "taskNodeId":this.tenant.taskNodeId}).then((res) => {
           res = res.data         
-          if (res.isSuccess) {          
+          if (res.isSuccess) {
+            this.xbkValid = res.data.xbkValid          
             this.unBaitingCount = res.data.unBaitingCount
             this.unFeedingCount = res.data.unFeedingCount            
           }

+ 214 - 0
imcs-ui/src/views/zuihou/runManageCenter/robotMonitor/Index.vue

@@ -0,0 +1,214 @@
+<template>
+  <div class="formContaner">
+  		<div class="formTitle">{{$t("runCenter.searchForm.robotMonitor")}}</div>
+			<!-- 表单模块 -->
+			<el-descriptions :title="robotList[index].pname" class="description" direction="vertical" :column="2" v-for="(item, index) in robotList" :key="item.id" :colon="false" v-if="index%3==0" border>
+			  	
+				<template slot="extra">
+      				<el-button type="primary" icon="el-icon-refresh" size="small" @click="record(item, index)" >记录</el-button>
+					<el-button type="primary" icon="el-icon-refresh" size="small" @click="detail(item, index)" >详情</el-button>
+    		 	</template>
+			 	<el-descriptions-item label="在线状态">					   
+					<el-tag size="small" :type="robotList[index].online_status=='1'? 'warning':'success'" >{{robotList[index].online_status=='1'? '空闲':'运行中'}}</el-tag>					   
+				</el-descriptions-item>
+                <el-descriptions-item label="锁定状态">					   
+					<el-tag size="small">{{robotList[index].lock_status=='0'? '已锁定':(robotList[index].lock_status=='1')?'已放置':'未锁定'}}</el-tag>					   
+				</el-descriptions-item>
+				<el-descriptions-item label="节点名称" v-if="robotList[index].node_name">					   
+					<el-tag size="medium">{{robotList[index].node_name}}</el-tag>					   
+				</el-descriptions-item>
+				<el-descriptions-item label="目标位置" v-if="robotList[index].target_name">					   
+					<el-tag size="medium">{{robotList[index].target_name}}</el-tag>					   
+				</el-descriptions-item>
+                <el-descriptions-item label="库位状态" v-if="item.point_id!=371">					
+						<el-row :gutter="20">							
+							<el-col :span="12">
+								<el-card shadow="hover" style="width: 100%;margin-top: 20px; height:180px;">
+									<div slot="header" class="clearfix">
+										<span>{{robotList[index+1].sname}}</span>
+									</div>
+									<div class="slotDiv">
+										锁定状态:<el-tag size="small" type="success">{{robotList[index+1].lock_status=='0'? '已锁定':(robotList[index+1].lock_status=='1')?'已放置':'未锁定'}}</el-tag>
+          							</div>
+									<div class="slotDiv" v-if="robotList[index+1].node_name">
+										节点名称:<el-tag size="small" type="success">{{robotList[index+1].node_name}}</el-tag>
+          							</div>
+									  <div class="slotDiv" v-if="robotList[index+1].target_name">
+										目标位置:<el-tag size="small"  type="success">{{robotList[index+1].target_name}}</el-tag>
+          							</div>
+								</el-card>
+							</el-col>
+							<el-col :span="12">
+								<el-card shadow="hover" style="width: 100%;margin-top: 20px; height:180px;">
+									<div slot="header" class="clearfix">
+										<span>{{robotList[index+2].sname}}</span>
+									</div>
+									<div class="slotDiv">
+										锁定状态:<el-tag size="small" type="success">{{robotList[index+2].lock_status=='0'? '已锁定':(robotList[index+1].lock_status=='2')?'已放置':'未锁定'}}</el-tag>
+          							</div>
+									<div class="slotDiv" v-if="robotList[index+2].node_name">
+										节点名称:<el-tag size="small" type="success">{{robotList[index+2].node_name}}</el-tag>
+          							</div>
+									  <div class="slotDiv" v-if="robotList[index+2].target_name">
+										目标位置:<el-tag size="small"  type="success">{{robotList[index+2].target_name}}</el-tag>
+          							</div>
+								</el-card>
+							</el-col>
+						</el-row>
+				</el-descriptions-item>
+           </el-descriptions>
+		 
+	   <!--
+        <el-dialog
+		  ref="view"
+		  title="产线机器人"
+		  :visible.sync="modeVisible"
+		  width="50%"
+		  custom-class="dialogNoTop"
+		>
+		    <robot-view  @close="modeClose" @success="editModeSuccess"  />
+		</el-dialog> -->
+		<robot-view
+      	   ref="view"
+      		:dialog-visible="modeVisible"
+			@success="editModeSuccess"
+      		@close="modeClose"
+       />
+
+	   <record-view
+      	   ref="recordView"
+      		:dialog-visible="recordVisible"
+			@success="recordSuccess"
+      		@close="recordClose"
+       />
+    </div>
+</template>
+
+<script>
+	// 【产线管理】-API	
+	import areaMgrApi from "@/api/resourceProductMgr/areaMgr"
+	import elDragDialog from '@/directive/el-drag-dialog'	
+	import { initQueryParams, initDicts } from '@/utils/commons'
+	import RobotView from "./components/View"
+	import RecordView from "./components/Record"
+	export default {
+	  name: "robotMonitor",
+	  directives: { elDragDialog },
+	  components: {RobotView, RecordView},
+	  props: {
+	  },
+	  data () {
+	    return {
+		  dicts: {
+			ROBOT_TYPE: {}  //机器人类型
+		  },
+		  modeVisible: false,
+		  recordVisible: false,
+		  rowData: {}, // row数据
+		  queryParams: initQueryParams({}),
+	      robotList: [{name:"智能生产保障系统", runMode:"2"},{name:"舱体类加工单元", runMode:"2"},{name:"框体类加工单元", runMode:"1"}],
+	      confirmDisabled: false,
+	      tenant: this.initTenant(),
+	      rules: {
+	        id: [
+	        	{ required: true, message: this.$t("rules.require"), trigger: 'change' }
+	        ]
+	      }
+	    }
+	  },
+	  // 实例已经在内存中创建好,此时data和methods已将ok,如果要操作data中的数据或是调用methods中的方法,最早只能在created中操作
+	  created() {
+		initDicts(['ROBOT_TYPE'], this.dicts)
+	  	// 获取【产线】数据下拉
+	    this.fetch()
+		},
+	  computed: {
+	    currentUser () {
+	      return this.$store.state.account.user
+	    },
+	  },
+	  mounted () {
+	  },
+	  methods: {
+	  	initTenant () {
+	      return {
+	        id: ''
+	      }
+	    },
+	    reset () {
+	      // 先清除校验,再清除表单,不然有奇怪的bug
+	      this.$refs.form.clearValidate()
+	      this.$refs.form.resetFields()
+	      this.tenant = this.initTenant()
+	    },
+	    // 获取【产线】数据下拉
+	    fetch(){	    	
+			 areaMgrApi.robotList({}).then(res => {
+	    		res = res.data
+	    		if(res.isSuccess){
+	    			this.robotList = res.data
+	    		}
+	    	})
+	    },
+		modeClose(){
+	  		this.modeVisible = false
+	  	},
+		recordClose(){
+	  		this.recordVisible = false
+	  	},
+	  	editModeSuccess(){
+	  		this.fetch()
+	  	},
+		recordSuccess(){
+			this.fetch()
+		},
+		detail(item, index){		  			  			  
+		  if(item.point_id==371){
+			item.storge_ids = item.storge_id	
+		  }else{
+			let storge_ids = [this.robotList[index].storge_id, this.robotList[index+1].storge_id,this.robotList[index+2].storge_id]	
+            item.storge_ids =  storge_ids.filter(item=>item!=null).join(",");
+		  }
+	  	  this.modeVisible = true
+		  this.$refs.view.setTenant(item)
+		},
+		record(item, index){
+		  this.recordVisible = true
+		  this.$refs.recordView.setTenant(item)
+		}
+	  }
+	}
+</script>
+
+<!-- 本组件的css -->
+<style lang="scss" scoped>
+    .slotDiv {
+		font-size: 14px;
+		text-align: center; 
+		margin-top: 5px;
+	} 
+	.formTitle{
+		font-size: 16px;
+		font-weight: 700;
+		margin: 30px 30px 20px 30px;
+		padding-bottom: 20px;
+		border-bottom: 1px solid #CCCCCC;
+	}
+	.description {
+		width:90%;
+		margin: 10px auto;
+		padding:0 3%;
+	}
+    .el-descriptions >>> .el-descriptions__table{
+		height:180px;
+	}
+	.el-descriptions >>> .el-descriptions-item__label{
+		margin-left:15px;
+	}
+	.formContaner form{
+		max-width: 600px;
+	}
+	.dialog-footer{
+		margin-left: 180px;
+	}
+</style>

+ 192 - 0
imcs-ui/src/views/zuihou/runManageCenter/robotMonitor/components/Record.vue

@@ -0,0 +1,192 @@
+<template>
+  <el-dialog
+      :title="$t(&quot;common.view&quot;)"
+      :width="width"
+      :append-to-body="true"
+      :visible.sync="isVisible"
+      class="tenant-view"
+    > 
+        
+		<!-- 列表数据 -->
+    <el-table
+      :key="tableKey"
+      ref="table"
+      v-loading="loading"
+      :data="tableData.records"
+      border
+      fit
+      row-key="id"
+      style="width: 100%;"
+      @selection-change="onSelectChange"
+      @cell-click="cellClick"
+    >
+    	<!-- 序号 -->
+    	<el-table-column :label='$t("common.serialNo")' width="55px" align="center">
+	      <template slot-scope="scope">
+	        <div>
+	          {{scope.$index+(queryParams.current - 1) * queryParams.size + 1}}
+	        </div>
+	      </template>
+      </el-table-column>      
+      <!-- 编号 -->
+	  <el-table-column prop="name" label='名称' :show-overflow-tooltip="true" width="180px"></el-table-column>
+
+      <el-table-column prop="goodsName" label='工装名称' :show-overflow-tooltip="true" width="180px"></el-table-column>
+      <!-- 产线名称 -->
+      <el-table-column prop="uniqueCode" label='唯一码' :show-overflow-tooltip="true" width="150px"></el-table-column>	 
+       
+	  <!-- 包含生产资源 -->
+      <el-table-column prop="completeBatchNo" label='批次号' width="180px"></el-table-column>	 
+      
+      <el-table-column prop="optType" label='类型'></el-table-column>
+            
+      <!-- 修改时间 -->
+      <el-table-column prop="createTime" label='创建时间' width="150px"></el-table-column>
+      <!-- 操作 -->
+    </el-table>
+    <pagination
+      v-show="tableData.total > 0"
+      :limit.sync="queryParams.size"
+      :page.sync="queryParams.current"
+      :total="Number(tableData.total)"
+      @pagination="fetch"
+    />
+    		
+</el-dialog>
+</template>
+
+<script>
+	import Pagination from "@/components/Pagination"
+	import lockingRecordApi from "@/api/lineSideLibrary/lockingRecord"
+	
+	import { initDicts, initQueryParams } from '@/utils/commons'
+	
+	
+	export default {
+	  name: "Record",
+	  directives: { },
+	  components: { Pagination},
+	  props: {
+      dialogVisible: {
+        type: Boolean,
+        default: false
+      }
+    },
+	  data () {
+	    return {
+	      rowData: {}, // row数据	    	
+	      dialog: {
+	        isVisible: false,
+	        title: ""
+	      },
+		  screenWidth: 0,
+		  width: this.initWidth(),	     
+	      tableKey: 0,
+	      queryParams: initQueryParams({}),
+	      selection: [],
+	      loading: false,
+	      tableData: {
+	        total: 0
+	      }	      
+	    }
+	  },
+	  // 实例已经在内存中创建好,此时data和methods已将ok,如果要操作data中的数据或是调用methods中的方法,最早只能在created中操作
+	  created() {
+	  	
+		},
+	  computed: {
+	    isVisible: {
+        get () {
+          return this.dialogVisible
+        },
+        set () {
+          this.close()
+        }
+      }
+	  },
+	  mounted () {
+		window.onresize = () => {
+        return (() => {
+          this.width = this.initWidth()
+        })()
+      }
+	  },
+	  methods: {	  	
+	    search () {
+	      this.fetch({
+	        ...this.queryParams
+	      })
+	    },
+		onSelectChange (selection) {
+	      this.selection = selection
+	    },
+	    reset () {
+	      this.queryParams = initQueryParams({})
+	      this.$refs.table.clearSort()
+	      this.$refs.table.clearFilter()
+	      this.search()
+	    },	   
+	    setTenant(val) {
+        	this.tenant = { ...val }
+        	console.log(val)
+       		this.fetch()
+      	},	  
+		initWidth () {
+        this.screenWidth = document.body.clientWidth
+        if (this.screenWidth < 550) {
+          return '95%'
+        } else if (this.screenWidth < 990) {
+          return '680px'
+        } else if (this.screenWidth < 1400) {
+          return '1000px'
+        } else {
+          return '850px'
+        }
+      },  
+	  close () {
+        this.$emit('close')
+      },
+	    fetch (params = {}) {
+	      this.loading = true
+	      if (this.queryParams.timeRange) {
+	        this.queryParams.map.createTime_st = this.queryParams.timeRange[0]
+	        this.queryParams.map.createTime_ed = this.queryParams.timeRange[1]
+	      }
+	
+	      this.queryParams.current = params.current ? params.current : this.queryParams.current
+	      this.queryParams.size = params.size ? params.size : 10
+		  this.queryParams.model.storgeId = this.tenant.storge_id
+	      lockingRecordApi.getStockLogList(this.queryParams).then(response => {
+	        const res = response.data
+	        if (res.isSuccess) {
+	          this.tableData = res.data
+	        }
+	        // eslint-disable-next-line no-return-assign
+	      }).finally(() => this.loading = false)
+	     
+	    },
+	    cellClick (row, column) {
+	      if (column['columnKey'] === "operation") {
+	        return
+	      }
+	      let flag = false
+	      this.selection.forEach((item) => {
+	        if (item.id === row.id) {
+	          flag = true
+	          this.$refs.table.toggleRowSelection(row)
+	        }
+	      })
+	
+	      if (!flag) {
+	        this.$refs.table.toggleRowSelection(row, true)
+	      }
+	    }
+	  }
+	}
+</script>
+<style type="text/css">
+	.dialogNoTop .el-dialog__body{
+		padding: 0;
+	}
+</style>
+<style lang="scss" scoped></style>

+ 202 - 0
imcs-ui/src/views/zuihou/runManageCenter/robotMonitor/components/View.vue

@@ -0,0 +1,202 @@
+<template>
+    <el-dialog
+      :title="$t(&quot;common.view&quot;)"
+      :width="width"
+      :append-to-body="true"
+      :visible.sync="isVisible"
+      class="tenant-view"
+    >      
+      <el-row :gutter="10">
+        <el-col :xs="24" :sm="12">
+          <div class="view-item">
+            <i class="el-icon-user" />
+            <span>机器编码:</span>
+            {{ tenant.CODE }}
+          </div>
+        </el-col>
+        <el-col :xs="24" :sm="12">
+          <div class="view-item">
+            <i class="el-icon-suitcase" />
+            <span>机器名称:</span>
+            {{ tenant.pname }}
+          </div>
+        </el-col>
+      </el-row>
+      <el-row :gutter="10">
+        <el-col :xs="24" :sm="12" v-if="tenant.node_name">
+          <div class="view-item">
+            <i class="el-icon-trophy" />
+            <span>节点名称:</span>
+            {{ tenant.node_name }}
+          </div>
+        </el-col>
+        <el-col :xs="24" :sm="12">
+          <div class="view-item">
+            <i class="el-icon-phone-outline" />
+            <span>锁定状态:</span>
+            {{tenant.lock_status=='0'? '已锁定':(tenant.lock_status=='1')?'已放置':'未锁定'}}
+          </div>
+        </el-col>
+      </el-row>
+      <el-row :gutter="10">
+        <el-col :xs="24" :sm="12" v-if="tenant.task_node_id">
+          <div class="view-item">
+            <i class="el-icon-star-off" />
+            <span>节点编码:</span>
+            {{ tenant.task_node_id }}
+          </div>
+        </el-col>
+        <el-col :xs="24" :sm="12" v-if="tenant.target_name">
+          <div class="view-item">
+            <i class="el-icon-bangzhu" />
+            <span>目标地址:</span>
+            {{ tenant.target_name }}
+          </div>
+        </el-col>
+      </el-row>
+      <el-row :gutter="10">        
+        <el-col :xs="24" :sm="16"  v-if="tenant.complete_batch_no">
+          <div class="view-item">
+            <i class="el-icon-brush" />
+            <span>节点批次号:</span>
+            {{tenant.complete_batch_no}}
+          </div>
+        </el-col>
+      </el-row>
+      <el-row :gutter="12">
+        <el-col :xs="24" :sm="16">
+          <div class="view-item">
+            <i class="el-icon-brush" />
+            <span>工装信息:</span>
+            <el-descriptions class="description" direction="vertical" :column="2" v-for="(item, index) in stockInfoList" :key="item.id" :colon="false" border>
+
+              <el-descriptions-item label="工装名称">					   
+					    <el-tag size="medium">{{item.goods? item.goods : "零件"}}</el-tag>					   
+				    </el-descriptions-item>
+              <el-descriptions-item label="工装编码">					   
+					    <el-tag size="small" >{{item.unique_code}}</el-tag>					   
+				      </el-descriptions-item>
+                <el-descriptions-item label="锁定状态">					   
+					    <el-tag size="small">{{item.lock_status=='0'? '已锁定':(item.lock_status=='1')?'已放置':'未锁定'}}</el-tag>					   
+				    </el-descriptions-item>
+            <el-descriptions-item label="工装位置">					   
+					    <el-tag size="small" >{{item.NAME}}</el-tag>					   
+				      </el-descriptions-item>				    
+            </el-descriptions>           
+          </div>
+        </el-col>
+      </el-row>  
+    </el-dialog>
+  </template>
+  <script>
+  import lineSideMgrApi from "@/api/lineSideLibrary/lineSideMgr"
+  import { initQueryParams } from '@/utils/commons'
+  export default {
+    name: 'TenantView',    
+    props: {
+      dialogVisible: {
+        type: Boolean,
+        default: false
+      }
+    },
+    data () {
+      return {
+        screenWidth: 0,
+        queryParams: initQueryParams({}),
+        width: this.initWidth(),
+        tenant: {          
+        },
+        stockInfoList: []
+      }
+    },
+    watch: {
+	  	
+	 },    
+    computed: {
+      isVisible: {
+        get () {
+          return this.dialogVisible
+        },
+        set () {
+          this.close()
+        }
+      }
+    },
+    mounted () {
+      window.onresize = () => {
+        return (() => {
+          this.width = this.initWidth()
+        })()
+      }
+    },
+    methods: {
+      initWidth () {
+        this.screenWidth = document.body.clientWidth
+        if (this.screenWidth < 550) {
+          return '95%'
+        } else if (this.screenWidth < 990) {
+          return '580px'
+        } else if (this.screenWidth < 1400) {
+          return '600px'
+        } else {
+          return '650px'
+        }
+      },
+      setTenant (val) {
+        this.tenant = { ...val }
+        console.log(val)
+        this.fetch()
+      },
+      fetch(){
+        let params ={}
+        if(this.tenant.point_id=="371"){
+          params['storgeId'] = this.tenant.storge_id
+        }else{
+          params['storgeIds'] = this.tenant.storge_ids
+        }
+        console.log(params)
+        if(params['storgeId'] || params['storgeIds']){
+            lineSideMgrApi.getStockInfoList(params).then(res => {
+	    		    res = res.data
+	    		    if(res.isSuccess){
+	    			    this.stockInfoList = res.data
+	    		    }
+	    	    })
+        }else{
+          this.stockInfoList = []
+        }
+      },
+      close () {
+        this.$emit('close')
+      }
+    }
+  }
+  </script>
+  <style lang="scss" scoped>
+  .description {
+		width:90%;
+		margin: 10px auto;
+		padding:0 3%;
+	}
+  .tenant-view {
+    .img-wrapper {
+      text-align: center;
+      margin-top: -1.5rem;
+      margin-bottom: 10px;
+      img {
+        width: 4rem;
+        border-radius: 50%;
+      }
+    }
+    .view-item {
+      margin: 7px;
+      i {
+        font-size: 0.97rem;
+      }
+      span {
+        margin-left: 5px;
+      }
+    }
+  }
+  </style>
+