Bladeren bron

上下料站代码提交

oyq28 2 jaren geleden
bovenliggende
commit
7dfb00c964

+ 1 - 1
imcs-ui/src/views/zuihou/machiningClient/touchScreen/Index.vue

@@ -510,7 +510,7 @@ export default {
                 this.$refs.view7.setTenant(item)
                 this.view7Visible = true
             }           
-        }                 
+        }         
 	  },
     viewClose() {
       this.view1Visible = false

+ 270 - 0
imcs-ui/src/views/zuihou/machiningClient/touchScreen/components/View6.vue

@@ -0,0 +1,270 @@
+<template>
+  <el-dialog
+    :title='$t("common.view")'
+    width="80%"
+    :append-to-body="true"
+    :visible.sync="isVisible"
+    class="tenant-view"
+  >
+    <div class="boxDiv">
+    	<!-- 任务信息 -->
+    	<el-row>
+    		<p style="margin-top:0;text-align:center;font-size:18px;">{{$t("runCenter.form.viewSched.name")}}
+				<span style="float:right;margin-right:20px;font-size:14px;">{{$t("runCenter.form.viewSched.bomNo")+":"}}{{tenant.no}}</span>
+			</p>
+    		<table class="comtable" border="0" cellspacing="0" cellpadding="6">
+    			<tr>
+    				<td class="blodTd" align="center" width="120">{{$t("runCenter.form.viewSched.procedureNo")+":"}}</td>
+    				<td width="200">{{tenant.taskNo}}</td>
+    				<td class="blodTd" align="center" width="120">{{$t("runCenter.form.viewSched.status")+":"}}</td>
+    				<td width="120">
+                         <el-tag v-if="tenant.status == 0" type="info">{{$t("runCenter.common.schedulStatus.noStart")}}</el-tag>
+							<el-tag v-if="tenant.status == 1" type="">{{$t("runCenter.common.schedulStatus.run")}}</el-tag>
+							<el-tag v-if="tenant.status == 2" type="success">{{$t("runCenter.common.schedulStatus.finished")}}</el-tag>
+					</td>
+    			</tr>
+    			<tr>
+					<td class="blodTd" align="center">{{$t("runCenter.form.viewSched.procedureDesc")+":"}}</td>
+    				<td>{{tenant.taskName}}</td>
+					<td class="blodTd" align="center">{{$t("runCenter.form.viewSched.content")+":"}}</td>
+    				<td width="200">{{tenant.content}}</td>
+    			</tr>
+				<tr>
+                    <td class="blodTd" align="center">{{$t("runCenter.form.viewSched.prepareWorkHours")+":"}}</td>
+    				<td>{{tenant.time}}分钟</td>
+    				<td class="blodTd" align="center">{{$t("runCenter.form.viewSched.procedurePosition")+":"}}</td>
+    				<td>{{tenant.currentStationName}}</td>
+				</tr>
+    			<tr>
+    				<td class="blodTd" align="center">{{$t("runCenter.form.viewSched.startTime")+":"}}</td>
+    				<td>{{tenant.startTime}}</td>
+    				<td class="blodTd" align="center">{{$t("runCenter.form.viewSched.endTime")+":"}}</td>
+    				<td>{{tenant.endTime}}</td>
+    			</tr>
+    		</table>
+    	</el-row>
+
+    	<!-- 拆除零件 -->
+    	<el-row>
+    		<p class="titleP" style="margin-top:15px;color:#000;font-size:18px;" >ST1 拆除零件 </p>
+    		<!-- Table数据 -->
+			<el-table
+		      ref="table"
+		      v-loading="loading"
+		      :data="tableData.records"
+		      border
+		      fit
+		      style="width: 100%;"
+		    >
+        <!-- 材料编码 -->
+        <el-table-column prop="meterialCode" :label='$t("prepare.table.tools.no")' align="center" ></el-table-column>
+        <!-- 材料牌号 -->
+        <el-table-column prop="tradeMark" :label='$t("prepare.table.tools.type")' align="center" ></el-table-column>
+        <!-- 材料名称 -->
+        <el-table-column prop="equipmentName" :label='$t("prepare.table.tools.name")' align="center"></el-table-column>
+
+			  <el-table-column prop="name" :label='$t("prepare.table.tools.name")' align="center">
+				   <template slot-scope="{ row }">
+                       <el-button  size="small"  type="primary" @click.native="printCode(row)" round >打印零件编码</el-button>
+				   </template>
+			  </el-table-column>
+
+			</el-table>
+    	</el-row>
+    	<!-- 拆除夹具 -->
+    	<el-row v-show="false">
+    		<p class="titleP" style="margin-top:15px;color:#000;font-size:18px;">ST2 拆除夹具   <el-button size="small" type="primary" @click.native="release" round>拆除夹具</el-button></p>
+    		<el-tag size="medium" style="margin:10px;font-size:15px;"> 人工拆除夹具并放入夹具库</el-tag>
+    	</el-row>
+
+    	<div slot="footer" class="dialog-footer">
+	      <el-button type="primary" :disabled="confirmDisabled" @click="submitForm">{{ $t('machining.buttons.finished') }}</el-button>
+	    </div>
+    </div>
+  </el-dialog>
+</template>
+<script>
+	// 列表查询的共通参数
+	import { initQueryParams } from '@/utils/commons'
+  import taskMgrApi from "@/api/runManageCenter/taskMgr"
+  import taskNodMgrApi from "@/api/machiningClient/machiningClient"
+  import machiningClientApi from "@/api/machiningClient/machiningClient"
+export default {
+  name: 'TaskView',
+  components: { },
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false
+    }
+  },
+  data () {
+    return {
+      screenWidth: 0,
+      confirmDisabled: false,
+      width: this.initWidth(),
+      tenant: {},
+      queryParams: initQueryParams({}),
+      RFIDParams: {
+		    url: "192.168.11.130",
+		    port: "102",
+		    taskId: "",
+  		  taskNodeId: "",
+  		  data: {
+    		  content: "",
+    		  positionIndex: ""
+  		  }
+	    },
+      loading: false,
+    	tenantViewVisible: false,
+    	tableKey: 0,
+	  	tableData: {
+	    	total: 0
+	  	},
+	  	tableData1: [],
+	  	tableData2: [],
+	  	currentRow: null, // 当前选择的行
+
+	  	spanArr: [],  // 【组序】合并单元格
+	    spanArr2: [],  // 【优先级】合并单元格
+    }
+  },
+  // 实例已经在内存中创建好,此时data和methods已将ok,如果要操作data中的数据或是调用methods中的方法,最早只能在created中操作
+  created() {
+  	// 加载列表数据
+  	// this.fetch()
+	},
+  computed: {
+    isVisible: {
+      get () {
+        return this.dialogVisible
+      },
+      set () {
+        this.close()
+      }
+    }
+  },
+  mounted () {
+    window.onresize = () => {
+      return (() => {
+        this.width = this.initWidth()
+      })()
+    }
+  },
+  methods: {
+	release(){
+	    // 上下料站拆除夹具
+      taskMgrApi.releaseClamp({ "id" : this.tenant.id}).then((res) => {
+          res = res.data;
+          if (res.isSuccess) {
+              // 通知列表
+              this.$emit("success");
+          }
+      });
+	},
+	printCode(row){
+        this.loading = true        
+        taskNodMgrApi.printCode({"uniqueCode" : this.tenant.uniqueCode, "taskNodeId" : row.taskNodeId }).then((res) => {
+        res = res.data;
+        if (res.isSuccess) {
+          // 通知列表
+          this.$emit("success");
+          // // 通知列表-并关闭弹出框
+          // this.$emit("close");
+        }
+      }).finally(()=>{
+        this.loading = false
+      });
+    },
+  	submitForm(){
+        this.confirmDisabled = true
+        taskMgrApi.updateTaskStatus({ "id" : this.tenant.id, "updateType" : "end","processType" : "6","updateUser" : this.$store.state.account.user.id}).then((res) => {
+            res = res.data;
+            if (res.isSuccess) {
+                // 通知列表
+                this.$emit("success");
+                // 通知列表-并关闭弹出框
+                this.$emit("close");
+            }
+        }).finally(()=>{
+        this.confirmDisabled = false
+      });
+  	},
+    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 }
+      // 添加数据
+      this.tableData.records = []
+      this.tableData.records.push({
+          meterialCode: this.tenant.meterialCode,
+          equipmentName: this.tenant.equipmentName,
+          tradeMark: this.tenant.tradeMark,
+          armorPic: this.tenant.armorPic,
+      })
+
+      if(!this.tenant.uniqueCode){
+        this.RFIDParams.taskId =  this.tenant.id
+        this.RFIDParams.taskNodeId =  this.tenant.taskNodeId
+        this.RFIDParams.data.positionIndex = this.tenant.currentStationName.substr(-1)
+        let that = this
+        machiningClientApi.read(this.RFIDParams).then(res => {         
+         if(res.data.result){
+           this.$message({
+		          	 message: "RFID: "+res.data.result,
+		          	 type: "success"
+		      })
+           that.tenant.uniqueCode = res.data.result
+         }
+        });
+      }
+    },
+    close () {
+      this.$emit('close')
+    },
+  }
+}
+</script>
+<style lang="scss" scoped>
+	.dialog-footer{
+		text-align: center;
+		padding: 30px;
+	}
+	.titleP{
+		position: relative;
+		font-size: 16px;
+		padding-left: 15px;
+	}
+	.titleP:before{
+		content: '';
+		position: absolute;
+		left: 0;
+		top: 3px;
+		width: 5px;
+		height: 80%;
+		background: #0F79DC;
+	}
+	.comtable{
+		width: 100%;
+		border-left: 1px solid #CCCCCC;
+		border-top: 1px solid #CCCCCC;
+	}
+	.comtable td{
+		border-right: 1px solid #CCCCCC;
+		border-bottom: 1px solid #CCCCCC;
+	}
+	.blodTd{
+		background: #EEEEEE;
+		color: #333333;
+	}
+</style>

+ 407 - 0
imcs-ui/src/views/zuihou/machiningClient/touchScreen/components/View7.vue

@@ -0,0 +1,407 @@
+<template>
+  <el-dialog
+    :title='$t("common.view")'
+    width="80%"
+    :append-to-body="true"
+    :visible.sync="isVisible"
+    class="tenant-view"
+  >
+    <div class="boxDiv">
+        <!-- 任务信息 -->
+        <el-steps :active="active" finish-status="success" simple style="margin:20px 0;">
+               <el-step title="拆除零件" ></el-step>                             
+               <el-step title="安装零件" ></el-step>
+        </el-steps>
+
+        <el-row v-show="this.active==1">
+            <p style="margin-top:0;text-align:center;font-size:18px;">{{$t("runCenter.form.viewSched.name")}}
+                <span style="float:right;margin-right:20px;font-size:14px;">{{$t("runCenter.form.viewSched.bomNo")+":"}}{{tenant.no}}</span>
+            </p>
+            <table class="comtable" border="0" cellspacing="0" cellpadding="6">
+                <tr>
+                    <td class="blodTd" align="center" width="120">{{$t("runCenter.form.viewSched.procedureNo")+":"}}</td>
+                    <td width="200">{{tenant.taskNo}}</td>
+                    <td class="blodTd" align="center" width="120">{{$t("runCenter.form.viewSched.status")+":"}}</td>
+                    <td width="120">
+                         <el-tag v-if="tenant.status == 0" type="info">{{$t("runCenter.common.schedulStatus.noStart")}}</el-tag>
+                            <el-tag v-if="tenant.status == 1" type="">{{$t("runCenter.common.schedulStatus.run")}}</el-tag>
+                            <el-tag v-if="tenant.status == 2" type="success">{{$t("runCenter.common.schedulStatus.finished")}}</el-tag>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="blodTd" align="center">{{$t("runCenter.form.viewSched.procedureDesc")+":"}}</td>
+                    <td>{{tenant.taskName}}</td>
+                    <td class="blodTd" align="center">{{$t("runCenter.form.viewSched.content")+":"}}</td>
+                    <td width="200">{{tenant.content}}</td>
+                </tr>
+                <tr>
+                    <td class="blodTd" align="center">{{$t("runCenter.form.viewSched.prepareWorkHours")+":"}}</td>
+                    <td>{{tenant.time}}分钟</td>
+                    <td class="blodTd" align="center">{{$t("runCenter.form.viewSched.procedurePosition")+":"}}</td>
+                    <td>{{tenant.currentStationName}}</td>
+                </tr>
+                <tr>
+                    <td class="blodTd" align="center">{{$t("runCenter.form.viewSched.startTime")+":"}}</td>
+                    <td>{{tenant.startTime}}</td>
+                    <td class="blodTd" align="center">{{$t("runCenter.form.viewSched.endTime")+":"}}</td>
+                    <td>{{tenant.endTime}}</td>
+                </tr>
+            </table>
+        </el-row>
+
+        <!-- 安装夹具 -->
+        <el-row v-show="this.active==1">
+            <p class="titleP" style="margin-top:15px;color:#000;font-size:18px;" >ST1: 拆除零件 <span style="color:red;margin-left:5px;font-size:14px;"></span></p>
+            <!-- Table数据 -->
+            <el-table
+              ref="table"
+              v-loading="loading"
+              :data="tableData.records"
+              border
+              fit
+              style="width: 100%;"
+            >
+              <!-- 编号 -->
+              <el-table-column prop="no" :label='$t("prepare.table.tools.no")' align="center" ></el-table-column>
+               <!-- 编号 -->
+              <el-table-column prop="type" :label='$t("prepare.table.tools.type")' align="center" ></el-table-column>
+              <!-- 名称 -->
+              <el-table-column prop="name" :label='$t("prepare.table.tools.name")' align="center"></el-table-column>
+
+            </el-table>
+
+            <p class="titleP" style="margin-top:15px;color:#000;font-size:18px;"> 当前未上料零件有{{this.unFeedingCount}}个,本工序未加工完零件{{this.count}}个</p>
+        </el-row>
+        
+
+        <!-- 装夹物料 -->
+        <el-row v-show="this.active>1">
+            <p class="titleP" style="margin-top:15px;color:#000;font-size:18px;" >ST2: 装夹物料</p>
+            <!-- Table数据 -->
+            <el-table
+              ref="table1"
+              v-loading="loading"
+              :data="tableData1.records"
+              border
+              fit
+              style="width: 100%;"
+            >
+              <!-- 材料编码 -->
+              <el-table-column prop="meterialCode" :label='$t("prepare.table.tools.no")' align="center" ></el-table-column>
+               <!-- 材料牌号 -->
+              <el-table-column prop="tradeMark" :label='$t("prepare.table.tools.type")' align="center" ></el-table-column>
+              <!-- 材料名称 -->
+              <el-table-column prop="equipmentName" :label='$t("prepare.table.tools.name")' align="center"></el-table-column>
+              <!-- 装夹方式 -->
+              <el-table-column prop="clampImg" :label='$t("prepare.table.tools.clampImg")' align="center">
+                    <template slot-scope="{ row }">
+                         <div class="block">
+                             <el-image
+                                  style="width: 60px; height: 60px"
+                                  :src="row.armorPic"
+                                  fit="fill"></el-image>
+                         </div>
+                    </template>
+              </el-table-column>
+            </el-table>
+        </el-row>
+       
+
+        <!-- 输入唯一码 -->
+        <el-row v-show="this.active>1 && this.tenant.trayConf!='3'">
+          <p class="titleP" style="margin-top:15px;color:#000;font-size:18px;" >输入零件编码    
+            <el-button v-if="this.unFeedingCount==0" size="small" type="primary" @click.native="confirmCode" round>扫码确认</el-button>
+            <el-button v-if="this.unFeedingCount>0" size="small" type="primary" @click.native="generate" round>系统生成</el-button>
+          </p>
+          <el-input v-model="uniqueCode" placeholder="输入零件编码"></el-input>
+        </el-row> 
+        <el-row v-show="this.active>1 && this.tenant.trayConf==='3'">
+           <p class="titleP" style="margin-top:15px;color:#000;font-size:18px;" >更换托盘工装 
+              <el-button v-if="this.tenant.trayConf==='3'" size="medium" type="primary" :disabled="confirmDisabled" @click="callRobot" round>呼叫托盘工装</el-button>
+           </p>
+        </el-row>     
+
+        <div slot="footer" class="dialog-footer"> 
+          <el-button v-if="this.unFeedingCount>0" type="primary" @click.native="next" v-show="this.active==1">已完成,下一步进行加工零件上料</el-button>                 
+          <el-button v-if="this.count>0 && this.unFeedingCount==0" type="primary" @click.native="next" v-show="this.active==1">已完成,下一步安装本序未加工零件</el-button>
+          <el-button v-if="this.count==0 && this.unFeedingCount==0 " type="primary" @click.native="next" v-show="this.active==1">已完成,下一步安装本序已加工零件</el-button>
+          <el-button v-if="this.tenant.trayConf!='3'" type="primary" :disabled="confirmDisabled" @click.native="submitForm" v-show="this.active>1">上料完成</el-button>          
+        </div>
+    </div>
+  </el-dialog>
+</template>
+<script>
+    // 【分页】组件
+  import taskMgrApi from "@/api/runManageCenter/taskMgr";
+  import machiningClientApi from "@/api/machiningClient/machiningClient"
+    // 列表查询的共通参数
+    import { initQueryParams } from '@/utils/commons'
+export default {
+  name: 'TaskView',
+  components: { },
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false
+    }
+  },
+  data () {
+    return {
+      active: 1,
+      screenWidth: 0,
+      confirmDisabled: true,
+      confirmDisabled2: true,
+      width: this.initWidth(),
+      unFeedingCount: 0,  //未上料零件数
+      count: 0,   //工序未零件数
+      tenant: {},
+      queryParams: initQueryParams({}),        
+      loading: false,
+        uniqueCode: '',
+        tenantViewVisible: false,
+        tableKey: 0,
+          tableData: {
+            total: 0
+          },
+          tableData1: {
+           total: 0
+        },
+          tableData2: [],
+          currentRow: null, // 当前选择的行
+        currentIndex: 0,  //上下料站默认序号
+          spanArr: [],  // 【组序】合并单元格
+        spanArr2: [],  // 【优先级】合并单元格
+    }
+  },
+  // 实例已经在内存中创建好,此时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: {
+    confirmProcedure(){
+		let valid = this.tenant.taskNodeId!=''? true: false;
+	    if(!valid){
+          this.$message({
+	          message: "任务ID" + this.$t("rules.require"),
+	          type: "warning"
+	      })		  
+		  return false
+	    }
+      taskMgrApi.confirmProcedure({ "taskNodeId":this.tenant.taskNodeId}).then((res) => {
+          res = res.data;          
+          if (res.isSuccess) {          
+            this.count = res.data.count
+            this.unFeedingCount = res.data.unFeedingCount
+            this.confirmDisabled = false
+          }
+        });
+        
+      },
+    next(){      
+      if (this.active++ > 1) this.active = 0;
+    },   
+    submitForm(){
+      // 更新改任务的开始时间
+      // TODO 写入rfid内容,工件信息、原材料R
+	    this.confirmDisabled = true
+      let valid = this.uniqueCode!=''? true: false;
+	    if(!valid){
+          this.$message({
+	          message: "零件编码" + this.$t("rules.require"),
+	          type: "warning"
+	      })
+		  this.confirmDisabled = false
+		  return false
+	    }
+		//this.$confirm('确认?')		
+		let that = this
+		this.$confirm(
+        '确定上料已完成并且舱门已关闭?',
+        this.$t("common.tips"),
+        {
+          distinguishCancelAndClose: true,
+          confirmButtonText: this.$t("common.confirm"),
+          cancelButtonText: this.$t("common.cancel"),
+          type: "warning",
+        }).then(() => {
+			//上料处理
+			this.addMaterial(that)
+		}).catch(()=>{})
+  	},
+	addMaterial(that){		
+        taskMgrApi.updateTaskStatus({ "id" : that.tenant.id,"meterialId":that.tenant.meterialId, "uniqueCode":that.uniqueCode, "taskNodeId": that.tenant.taskNodeId, "updateType" : "end", "count": this.unFeedingCount,"processType" : "7", "updateUser" : that.$store.state.account.user.id, "positionIndex": that.currentIndex}).then((res) => {
+          res = res.data;
+          if (res.isSuccess) {
+			  //写入RFID
+			  that.RFIDParams.taskId = that.tenant.id
+			  that.RFIDParams.taskNodeId = that.tenant.taskNodeId
+			  that.RFIDParams.data.positionIndex = that.currentIndex
+			  //写入空值
+         machiningClientApi.write(that.RFIDParams).then(res2 => {				 
+				 if(res2.data.result){
+					console.log("空值写入成功")	
+				 }
+			  });
+			  that.RFIDParams.data.content = that.uniqueCode
+			  //写入新值
+			  machiningClientApi.write(that.RFIDParams).then(res2 => {
+				if(res2.data.result){
+				    console.log("rfid写入成功")		
+				}
+			  });
+              setTimeout(function(){
+                      //通知列表
+                 that.$emit("success");
+                    //通知列表-并关闭弹出框
+                 that.$emit("close");
+              }, 500);
+          }
+      }).finally(()=>{
+		  that.confirmDisabled = false
+	  });
+	},
+      // table的当前行值变化后
+      handleCurrentChange(val) {
+            // 设置当前行
+        this.currentRow = val;
+      },
+    callRobot(){
+      this.callRobotFlag = true
+      taskNodMgrApi.callRobot({ "taskNodeId" : this.tenant.taskNodeId}).then((res) => {
+        res = res.data;
+        if (res.isSuccess) {
+          // 通知列表
+          this.$emit("success");
+          // // 通知列表-并关闭弹出框
+          // this.$emit("close");
+        }
+      }).finally(()=>{
+        this.callRobotFlag = false
+      });
+    },
+    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(this.tenant)       
+      this.currentIndex = this.tenant.currentStationName.substr(-1)     
+      this.loading = false   
+      if(this.tenant.nodeName == '热处理上料'){
+          this.confirmDisabled = false
+      }else{
+          this.confirmDisabled = true
+      }
+      // 添加数据
+      this.tableData.records = []
+      // 添加数据
+      this.tableData.records.push({
+          no: this.tenant.clampNo,
+          name: this.tenant.clampName
+      })
+
+      this.tableData1.records = []
+      // 添加数据
+      this.tableData1.records.push({
+          meterialCode: this.tenant.meterialCode,
+          equipmentName: this.tenant.equipmentName,
+          tradeMark: this.tenant.tradeMark,
+          armorPic: this.tenant.armorPic,
+      })       
+
+      this.confirmProcedure()
+
+    },
+    close () {
+      this.$emit('close')
+    },
+    generate(){
+      taskMgrApi.generateMarkCode({ "id" : this.tenant.id}).then((res) => {
+        res = res.data;
+        if (res.isSuccess) {
+          this.uniqueCode = res.data.uniqueCode
+        }
+      });      
+    },
+    confirmCode(){
+      let valid = this.uniqueCode!=''? true: false;
+        if(!valid){
+          this.$message({
+              message: "零件编码" + this.$t("rules.require"),
+              type: "warning"
+          })
+          this.confirmDisabled2 = false
+          return false
+      }
+      taskMgrApi.confirmCode({ "uniqueCode" : this.uniqueCode, "orderId":this.tenant.orderId}).then((res) => {
+        res = res.data;
+        if (res.isSuccess) {
+          //this.uniqueCode = res.data.uniqueCode
+          this.confirmDisabled2 = false
+        }
+      });
+      // this.uniqueCode = this.uuid(32,16)
+      this.confirmDisabled2 = true
+    } 
+    
+  }
+}
+</script>
+<style lang="scss" scoped>
+    .dialog-footer{
+        text-align: center;
+        padding: 30px;
+    }
+    .titleP{
+        position: relative;
+        font-size: 16px;
+        padding-left: 15px;
+    }
+    .titleP:before{
+        content: '';
+        position: absolute;
+        left: 0;
+        top: 3px;
+        width: 5px;
+        height: 80%;
+        background: #0F79DC;
+    }
+    .comtable{
+        width: 100%;
+        border-left: 1px solid #CCCCCC;
+        border-top: 1px solid #CCCCCC;
+    }
+    .comtable td{
+        border-right: 1px solid #CCCCCC;
+        border-bottom: 1px solid #CCCCCC;
+    }
+    .blodTd{
+        background: #EEEEEE;
+        color: #333333;
+    }
+</style>