¶Ô±ÈÐÂÎļþ |
| | |
| | | <style scoped> |
| | | .title { |
| | | height: 60px; |
| | | line-height: 60px; |
| | | } |
| | | |
| | | .search { |
| | | background-color: #fff; |
| | | height: 80px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .search_thing { |
| | | width: 350px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .search_label { |
| | | width: 110px; |
| | | |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .search_input { |
| | | width: calc(100% - 110px); |
| | | } |
| | | |
| | | .table { |
| | | margin-top: 10px; |
| | | background-color: #fff; |
| | | width: calc(100% - 40px); |
| | | height: calc(100% - 60px - 80px - 10px - 40px); |
| | | padding: 20px; |
| | | } |
| | | </style> |
| | | |
| | | <template> |
| | | <div class="role_manage"> |
| | | <div> |
| | | <el-row class="title"> |
| | | <el-col :span="12" style="padding-left: 20px;">设å¤å·¥å
·æç»</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">ç¶æï¼</div> |
| | | <el-select v-model="value" placeholder="å
¨é¨"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">设å¤åç§°ï¼</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请è¾å
¥" clearable |
| | | v-model="componentData.entity.laboratoryNumber" @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">è§æ ¼åå·ï¼</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请è¾å
¥" clearable |
| | | v-model="componentData.entity.head" @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">设å¤å¤§ç±»ï¼</div> |
| | | <el-select v-model="value" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;"> |
| | | <el-button size="small" @click="refresh()">é ç½®</el-button> |
| | | <el-button size="small" type="primary" @click="refreshTable()">æ¥ è¯¢</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <!-- è¯æ³ åç»ä»¶éè¿ this.$emit +ä¼ å
¥æ¹æ³å è°ç¨ç¶ç»ä»¶æ¹æ³ ä¾å¦ this.$emitï¼selectAllByOneï¼ å°±éå¨ç¶ç»ä»¶å£°æå¹¶ä¼ å
¥ @selectAllByOne="selectAllByOne"--> |
| | | <ValueTable @selectAllByOne="selectAllByOne" @isUpdate="isUpdate" ref="ValueTable" :url="$api.deviceScope.selectDeviceParameter" :upUrl="$api.deviceScope.upDeviceParameter" :delUrl="$api.deviceScope.delDeviceParameter" :componentData="componentData" :key="upIndex"/> |
| | | </div> |
| | | <div> |
| | | <el-dialog |
| | | title="设å¤è¯¦æ
" |
| | | :visible.sync="dialogVisible" |
| | | width="70%" |
| | | :before-close="handleClose"> |
| | | <el-row style="display:flex;justify-content: space-around;"> |
| | | <!-- 左边å¸å± --> |
| | | <el-col :span="7" > |
| | | <el-col> |
| | | <!-- å¾ç --> |
| | | <img src="https://www.baidu.com/img/bd_logo1.png" alt="" style="width:100%;height: 30vh;"> |
| | | <!-- 表å --> |
| | | <el-form :label-position="labelPosition" :model="formData"> |
| | | <el-form-item label="大类ï¼" > |
| | | <el-input style="width:75%" :disabled="isUp" v-model="formData.largeCategory"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åºåæ¥æ"> |
| | | |
| | | <el-input style="width:75%" :disabled="isUp" v-model="formData.dateProduction"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="设å¤è´è´£äºº" > |
| | | <el-input style="width:75%" :disabled="isUp" v-model="formData.equipmentManager"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="被ææäºº" > |
| | | <el-input style="width:75%" :disabled="isUp" v-model="formData.authorizedPerson"></el-input> |
| | | </el-form-item> |
| | | <el-form-item v-if="!isUp" label="å¾ç" > |
| | | <div style="width:75%;border: 1px solid #DCDFE6;border-radius:4px;margin-left: 22%;display:flex;justify-content: space-around;"> |
| | | <div>{{formData.largeCategory}}</div> |
| | | <div style="width: 40%;"></div> |
| | | <div><el-button type="text">é¢è§</el-button></div> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | </el-col> |
| | | <!-- ä¸é´å¸å± --> |
| | | <el-col :span="7"> |
| | | <el-form :label-position="labelPosition" :model="formData"> |
| | | <el-form-item label="设å¤åç§°" > |
| | | <el-input style="width:75%" :disabled="isUp" v-model="formData.deviceName"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å
é¨ç¼ç "> |
| | | <el-input style="width:75%" :disabled="isUp" v-model="formData.internalCode"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="èµäº§ç¼ç " > |
| | | <el-input style="width:75%" :disabled="isUp" v-model="formData.assetCode"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ ¡åæ¥æï¼æï¼" > |
| | | <el-input style="width:75%" :disabled="isUp" v-model="formData.calibrationDate"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | <!-- å³è¾¹å¸å± --> |
| | | <el-col :span="7"> |
| | | <el-form :label-position="labelPosition" :model="formData"> |
| | | <el-form-item label="æ´»å¨åºå" > |
| | | <el-input style="width:75%" :disabled="isUp" v-model="formData.largeCategory"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ´»å¨åºå"> |
| | | <el-input style="width:75%" :disabled="isUp" v-model="formData.latestTraceability"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ´»å¨å½¢å¼" > |
| | | <el-input style="width:75%" :disabled="isUp" v-model="formData.largeCategory"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ´»å¨å½¢å¼" > |
| | | <el-input style="width:75%" :disabled="isUp" v-model="formData.largeCategory"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | </el-row> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row v-if="!isUp"> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="dialogVisible = false">ç¡® å®</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ValueTable from '../tool/value-table.vue' |
| | | export default { |
| | | components: { |
| | | ValueTable |
| | | }, |
| | | data() { |
| | | return { |
| | | //æ¯å¦æ¯æ¡£æ¡ä¿®è®¢ true䏿¯ falseæ¯ |
| | | isUp: true, |
| | | formData: {}, |
| | | value: '', |
| | | options: [], |
| | | labelPosition: 'right', |
| | | dialogVisible: false, |
| | | componentData: { |
| | | entity: { |
| | | largeCategory: null, |
| | | subclass: null, |
| | | deviceName: null, |
| | | internalCode: null, |
| | | specificationModel: null, |
| | | manufacturer: null, |
| | | orderBy: { |
| | | field: 'id', |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | | do: [{ |
| | | id: 'details', |
| | | font: '详æ
', |
| | | type: 'text', |
| | | method: 'selectAllByOne' |
| | | }, { |
| | | id: 'delete', |
| | | font: 'å é¤', |
| | | type: 'text', |
| | | method: 'doDiy' |
| | | },{ |
| | | id: 'archives', |
| | | font: 'æ¡£æ¡ä¿®è®¢', |
| | | type: 'text', |
| | | method: 'isUpdate' |
| | | }], |
| | | tagField: {}, |
| | | selectField: {}, |
| | | requiredAdd:['largeCategory','subclass','deviceName','internalCode','specificationModel','manufacturer'], |
| | | requiredUp:['largeCategory','subclass','deviceName','internalCode','specificationModel','manufacturer'] |
| | | }, |
| | | entityCopy: {}, |
| | | upIndex: 0, |
| | | addDia: true, |
| | | addPower: true |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.entityCopy = this.HaveJson(this.componentData.entity) |
| | | this.getPower() |
| | | }, |
| | | methods: { |
| | | refreshTable() { |
| | | this.$refs['ValueTable'].selectList() |
| | | }, |
| | | refresh() { |
| | | this.componentData.entity = this.HaveJson(this.entityCopy) |
| | | this.upIndex++ |
| | | }, |
| | | |
| | | // æéåé
|
| | | getPower(radio) { |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let up = false |
| | | let del = false |
| | | let add = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if(power[i].menuMethod=='upDeviceParameter'){ |
| | | up = true |
| | | } |
| | | if(power[i].menuMethod=='delDeviceParameter'){ |
| | | del = true |
| | | } |
| | | if(power[i].menuMethod=='addDeviceParameter'){ |
| | | add = true |
| | | } |
| | | } |
| | | if(!del){ |
| | | this.componentData.do.splice(1, 1) |
| | | } |
| | | if(!up){ |
| | | this.componentData.do.splice(0, 1) |
| | | } |
| | | this.addPower = add |
| | | }, |
| | | handleClose(){ |
| | | this.dialogVisible = false; |
| | | }, |
| | | selectAllByOne(row){ |
| | | this.isUp = true |
| | | //æå¼å¼¹æ¡ |
| | | this.dialogVisible = true; |
| | | //row = ç¹å»å¯¹åºè¡å¼ |
| | | //å¤å¶ç»formData |
| | | this.formData=row; |
| | | }, |
| | | isUpdate(row){ |
| | | //ä¿®æ¹ isUp 为档æ¡ä¿®æ¹ |
| | | this.isUp = false |
| | | //æå¼å¼¹æ¡ |
| | | this.dialogVisible = true; |
| | | //row = ç¹å»å¯¹åºè¡å¼ä¸è¡å¼ |
| | | //å¤å¶ç»formData |
| | | this.formData=row; |
| | | } |
| | | } |
| | | } |
| | | </script> |