From 464c4f614e1d3f80209cf7f99bacdce41fc8cef4 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期一, 18 三月 2024 10:36:12 +0800 Subject: [PATCH] 完成检验下单-查看详情,审批功能 --- src/components/view/a6-device-management.vue | 726 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 619 insertions(+), 107 deletions(-) diff --git a/src/components/view/a6-device-management.vue b/src/components/view/a6-device-management.vue index 8c9e4a2..150759a 100644 --- a/src/components/view/a6-device-management.vue +++ b/src/components/view/a6-device-management.vue @@ -19,7 +19,7 @@ .search_label { width: 110px; - + font-size: 14px; text-align: right; } @@ -35,6 +35,17 @@ height: calc(100% - 60px - 80px - 10px - 40px); padding: 20px; } + + .el-form-item{ + margin-bottom: 16px; + } + .picName{ + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + word-break: break-all; + width: 120px; + } </style> <template> @@ -49,30 +60,30 @@ <div class="search"> <div class="search_thing"> <div class="search_label">鐘舵�侊細</div> - <el-select v-model="value" placeholder="鍏ㄩ儴"> + <el-select v-model="componentData.entity.deviceStatus" placeholder="鍏ㄩ儴"> <el-option - v-for="item in options" + v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value"> </el-option> - </el-select> + </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> + v-model="componentData.entity.deviceName" @keyup.enter.native="refreshTable()"></el-input></div> </div> - <div class="search_thing"> + <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> + v-model="componentData.entity.specificationModel" @keyup.enter.native="refreshTable()"></el-input></div> </div> <div class="search_thing"> <div class="search_label">璁惧澶х被锛�</div> - <el-select v-model="value" placeholder="璇烽�夋嫨"> + <el-select v-model="componentData.entity.largeCategory" placeholder="璇烽�夋嫨"> <el-option - v-for="item in options" + v-for="item in equipmentList" :key="item.value" :label="item.label" :value="item.value"> @@ -82,92 +93,443 @@ <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> + <el-col :span="12" style="text-align: right;"> + <el-button size="medium" type="primary" @click="dialogVisible2 = true">鏂板</el-button> + </el-col> </div> </div> <div class="table"> <!-- 璇硶 瀛愮粍浠堕�氳繃 this.$emit +浼犲叆鏂规硶鍚� 璋冪敤鐖剁粍浠舵柟娉� 渚嬪 this.$emit锛坰electAllByOne锛� 灏遍渶鍦ㄧ埗缁勪欢澹版槑骞朵紶鍏� @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-dialog + :title="isUp?'璁惧璇︽儏':'妗f淇'" + :visible.sync="dialogVisible" + width="70%" + :before-close="handleClose"> + <el-row style="display:flex;justify-content: space-around;"> + <!-- 宸﹁竟甯冨眬 --> + <el-col :span="7" > + <el-col> + <!-- 鍥剧墖 --> + <el-image class="img" style="width:100%;height: 320px;marginBottom:16px" :src="javaApi+'/img/'+formData.imageUpload"> + <div slot="error" class="image-error" style="width: calc(100% -2px); + height: 318px; + border-radius: 16px; + display: flex; + align-items: center; + justify-content: center; + border: 1px solid #EEEEEE;"> + <i class="el-icon-picture-outline" style="font-size:60px;color:#666666;"></i> + </div> + </el-image> + <!-- 琛ㄥ崟 --> + <el-form :label-position="labelPosition" :model="formData" label-width="90px"> + <el-form-item label="璁惧鍒嗙被:" > + <el-select :disabled="isUp" v-model="formData.largeCategory" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <el-option + v-for="item in equipmentList" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鍑哄巶鏃ユ湡:"> + <el-date-picker + style="width:100%" + :disabled="isUp" + v-model="formData.dateProduction" + type="datetime" + size="small" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label="璁惧璐熻矗浜�:" > + <el-select :disabled="isUp" v-model="formData.getDeviceManager" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <el-option + v-for="item in responsiblePersonList" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="琚巿鏉冧汉:" > + <el-select :disabled="isUp" v-model="formData.getDeviceManager" size="small" multiple placeholder="璇烽�夋嫨" style="width:100%"> + <el-option + v-for="item in authorizerList" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </el-form> + </el-col> + </el-col> + <!-- 涓棿甯冨眬 --> + <el-col :span="7"> + <el-form :label-position="labelPosition" :model="formData" label-width="116px"> + <el-form-item label="璁惧鍚嶇О:" > + <el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input> + </el-form-item> + <el-form-item label="鍐呴儴缂栫爜:"> + <el-input :disabled="isUp" v-model="formData.internalCode" size="small"></el-input> + </el-form-item> + <el-form-item label="璧勪骇缂栫爜:" > + <el-input :disabled="isUp" v-model="formData.assetCode" size="small"></el-input> + </el-form-item> + <el-form-item label="鏍″噯鏃ユ湡锛堟湀锛�:" > + <el-date-picker + :disabled="isUp" + v-model="formData.calibrationDate" + type="month" + size="small" + format="yyyy-MM" + value-format="yyyy-MM" + style="width:100%" + placeholder="閫夋嫨鏈�"> + </el-date-picker> + </el-form-item> + <el-form-item label="鎶ュ簾鏃堕棿:" > + <el-date-picker + style="width:100%" + :disabled="isUp" + v-model="formData.scrapTime" + type="datetime" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + size="small" + placeholder="閫夋嫨鏃堕棿"> + </el-date-picker> + </el-form-item> + <el-form-item label="楠屾敹璁板綍:" > + <el-input :disabled="isUp" v-model="formData.acceptanceRecords" size="small"></el-input> + </el-form-item> + <el-form-item label="鍑哄巶缂栧彿:" > + <el-input :disabled="isUp" v-model="formData.factoryNo" size="small"></el-input> + </el-form-item> + <el-form-item label="璐疆鏃ユ湡:" > + <el-date-picker + style="width:100%" + :disabled="isUp" + v-model="formData.acquisitionDate" + type="datetime" + size="small" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label="鍑嗙‘搴﹂噺鍊�:" > + <el-input :disabled="isUp" v-model="formData.accurateMeasurement" size="small"></el-input> + </el-form-item> + <el-form-item label="澶囨敞:" > + <el-input :disabled="isUp" v-model="formData.notes" size="small"></el-input> + </el-form-item> + </el-form> + </el-col> + <!-- 鍙宠竟甯冨眬 --> + <el-col :span="7"> + <el-form :label-position="labelPosition" :model="formData" label-width="110px" ref="ruleForm"> + <el-form-item label="瑙勬牸鍨嬪彿:" > + <el-input :disabled="isUp" v-model="formData.specificationModel" size="small"></el-input> + </el-form-item> + <el-form-item label="璁惧鐘舵��:"> + <el-select :disabled="isUp" v-model="formData.deviceStatus" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <el-option + v-for="item in deviceStatusList" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="瀛樻斁鐐�:" > + <el-input :disabled="isUp" v-model="formData.storagePoint" size="small"></el-input> + </el-form-item> + <el-form-item label="鏈�杩戣拷婧棩鏈�:" > + <el-date-picker + style="width:100%" + :disabled="isUp" + v-model="formData.latestTraceability" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + size="small" + placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label="鍋滅敤鏃堕棿:" > + <el-date-picker + style="width:100%" + :disabled="isUp" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + v-model="formData.downTime" + type="datetime" + size="small" + placeholder="閫夋嫨鏃堕棿"> + </el-date-picker> + </el-form-item> + <el-form-item label="缁翠慨璁板綍:" > + <el-input :disabled="isUp" v-model="formData.maintenanceRecords" size="small"></el-input> + </el-form-item> + <el-form-item label="鐢熶骇鍘傚:" > + <el-input :disabled="isUp" v-model="formData.manufacturer" size="small" ></el-input> + </el-form-item> + <el-form-item label="閲囪喘璐圭敤:" > + <el-input :disabled="isUp" v-model="formData.procurementCosts" size="small"></el-input> + </el-form-item> + <el-form-item label="鏍″噯璇佷功:" > + <el-input :disabled="isUp" v-model="formData.calibrationCerticate" size="small"></el-input> + </el-form-item> + <el-form-item v-if="!isUp" label="鍥剧墖:" > + <div style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;lineHeight:32px;display:flex;justify-content: space-around;font-size: 13px;"> + <div v-show="formData.imageName" class="picName">{{formData.imageName}}</div> + <el-upload + :action="action" + :on-success="handleSuccessUpImg" + :show-file-list="false" + accept='image/jpg,image/jpeg,image/png' + :headers="headers" + :on-change="beforeUpload" + :on-error="onError" + ref='upload' + > + <el-button type="text" style="height:30px;paddingTop:8px">涓婁紶</el-button> + </el-upload> + </div> + </el-form-item> + </el-form> + </el-col> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-row v-if="!isUp"> + <el-button @click="handleClose">鍙� 娑�</el-button> + <el-button type="primary" @click="submitForm" :loading="upLoad">纭� 瀹�</el-button> + </el-row> + </span> + </el-dialog> - <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> + + +<!-- 鏂板--> + <el-dialog + title="鏂板璁惧" + :visible.sync="dialogVisible2" + width="70%" + :before-close="handleClose2"> + <el-row style="display:flex;justify-content: space-around;"> + <!-- 宸﹁竟甯冨眬 --> + <el-col :span="7" > + <el-col> + <!-- 鍥剧墖 --> + <el-image class="img" style="width:100%;height: 320px;marginBottom:16px" :src="javaApi+'/img/'+formData2.imageUpload"> + <div slot="error" class="image-error" style="width: calc(100% -2px); + height: 318px; + border-radius: 16px; + display: flex; + align-items: center; + justify-content: center; + border: 1px solid #EEEEEE;"> + <i class="el-icon-picture-outline" style="font-size:60px;color:#666666;"></i> + </div> + </el-image> + <!-- 琛ㄥ崟 --> + <el-form :label-position="labelPosition" :model="formData2" label-width="90px"> + <el-form-item label="璁惧鍒嗙被:" > + <el-select v-model="formData2.largeCategory" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <el-option + v-for="item in equipmentList" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鍑哄巶鏃ユ湡:"> + <el-date-picker + style="width:100%" + v-model="formData2.dateProduction" + type="datetime" + size="small" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label="璁惧璐熻矗浜�:" > + <el-select v-model="formData2.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <el-option + v-for="item in responsiblePersonList" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="琚巿鏉冧汉:" > + <el-select v-model="formData2.authorizedPerson" size="small" multiple placeholder="璇烽�夋嫨" style="width:100%"> + <el-option + v-for="item in authorizerList" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </el-form> + </el-col> + </el-col> + <!-- 涓棿甯冨眬 --> + <el-col :span="7"> + <el-form :label-position="labelPosition" :model="formData2" label-width="116px"> + <el-form-item label="璁惧鍚嶇О:" > + <el-input v-model="formData2.deviceName" size="small"></el-input> + </el-form-item> + <el-form-item label="鍐呴儴缂栫爜:"> + <el-input v-model="formData2.internalCode" size="small"></el-input> + </el-form-item> + <el-form-item label="璧勪骇缂栫爜:" > + <el-input v-model="formData2.assetCode" size="small"></el-input> + </el-form-item> + <el-form-item label="鏍″噯鏃ユ湡锛堟湀锛�:" > + <el-date-picker + v-model="formData2.calibrationDate" + type="month" + size="small" + format="yyyy-MM" + value-format="yyyy-MM" + style="width:100%" + placeholder="閫夋嫨鏈�"> + </el-date-picker> + </el-form-item> + <el-form-item label="鎶ュ簾鏃堕棿:" > + <el-date-picker + style="width:100%" + v-model="formData2.scrapTime" + type="datetime" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + size="small" + placeholder="閫夋嫨鏃堕棿"> + </el-date-picker> + </el-form-item> + <el-form-item label="楠屾敹璁板綍:" > + <el-input v-model="formData2.acceptanceRecords" size="small"></el-input> + </el-form-item> + <el-form-item label="鍑哄巶缂栧彿:" > + <el-input v-model="formData2.factoryNo" size="small"></el-input> + </el-form-item> + <el-form-item label="璐疆鏃ユ湡:" > + <el-date-picker + style="width:100%" + v-model="formData2.acquisitionDate" + type="datetime" + size="small" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label="鍑嗙‘搴﹂噺鍊�:" > + <el-input v-model="formData2.accurateMeasurement" size="small"></el-input> + </el-form-item> + <el-form-item label="澶囨敞:" > + <el-input v-model="formData2.notes" size="small"></el-input> + </el-form-item> + </el-form> + </el-col> + <!-- 鍙宠竟甯冨眬 --> + <el-col :span="7"> + <el-form :label-position="labelPosition" :model="formData2" label-width="110px" ref="ruleForm"> + <el-form-item label="瑙勬牸鍨嬪彿:" > + <el-input v-model="formData2.specificationModel" size="small"></el-input> + </el-form-item> + <el-form-item label="璁惧鐘舵��:"> + <el-select v-model="formData2.deviceStatus" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <el-option + v-for="item in deviceStatusList" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="瀛樻斁鐐�:" > + <el-input v-model="formData2.storagePoint" size="small"></el-input> + </el-form-item> + <el-form-item label="鏈�杩戣拷婧棩鏈�:" > + <el-date-picker + style="width:100%" + v-model="formData2.latestTraceability" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + size="small" + placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label="鍋滅敤鏃堕棿:" > + <el-date-picker + style="width:100%" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + v-model="formData2.downTime" + type="datetime" + size="small" + placeholder="閫夋嫨鏃堕棿"> + </el-date-picker> + </el-form-item> + <el-form-item label="缁翠慨璁板綍:" > + <el-input v-model="formData2.maintenanceRecords" size="small"></el-input> + </el-form-item> + <el-form-item label="鐢熶骇鍘傚:" > + <el-input v-model="formData2.manufacturer" size="small" ></el-input> + </el-form-item> + <el-form-item label="閲囪喘璐圭敤:" > + <el-input v-model="formData2.procurementCosts" size="small"></el-input> + </el-form-item> + <el-form-item label="鏍″噯璇佷功:" > + <el-input v-model="formData2.calibrationCerticate" size="small"></el-input> + </el-form-item> + <el-form-item v-if="!isUp" label="鍥剧墖:" > + <div style="border: 1px solid #DCDFE6;border-radius:4px;height:32px;lineHeight:32px;display:flex;justify-content: space-around;font-size: 13px;"> + <div v-show="formData2.imageName" class="picName">{{formData2.imageName}}</div> + <el-upload + :action="action" + :on-success="handleSuccessUpImg" + :show-file-list="false" + accept='image/jpg,image/jpeg,image/png' + :headers="headers" + :on-change="beforeUpload" + :on-error="onError" + ref='upload' + > + <el-button type="text" style="height:30px;paddingTop:8px">涓婁紶</el-button> + </el-upload> + </div> + </el-form-item> + </el-form> + </el-col> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-row > + <el-button @click="handleClose2">鍙� 娑�</el-button> + <el-button type="primary" @click="submitForm" :loading="upLoad">纭� 瀹�</el-button> + </el-row> + </span> + </el-dialog> </div> </template> @@ -182,18 +544,19 @@ //鏄惁鏄。妗堜慨璁� true涓嶆槸 false鏄� isUp: true, formData: {}, + formData2: {}, value: '', options: [], labelPosition: 'right', dialogVisible: false, + dialogVisible2: false, + addPower: false, componentData: { entity: { - largeCategory: null, - subclass: null, + deviceStatus: null, deviceName: null, - internalCode: null, specificationModel: null, - manufacturer: null, + largeCategory: null, orderBy: { field: 'id', order: 'asc' @@ -203,11 +566,6 @@ showSelect: false, select: false, do: [{ - id: 'details', - font: '璇︽儏', - type: 'text', - method: 'selectAllByOne' - }, { id: 'delete', font: '鍒犻櫎', type: 'text', @@ -218,7 +576,28 @@ type: 'text', method: 'isUpdate' }], - tagField: {}, + tagField: { + deviceStatus: { + select: [{ + value: 0, + type: 'success', + label: '姝e父' + },{ + value: 1, + type: 'warning', + label: '鎶ュ簾' + },{ + value: 2, + type: 'danger', + label: '淇濅慨' + }] + } + }, + linkEvent:{ + deviceName:{ + method:'selectAllByOne' + } + }, selectField: {}, requiredAdd:['largeCategory','subclass','deviceName','internalCode','specificationModel','manufacturer'], requiredUp:['largeCategory','subclass','deviceName','internalCode','specificationModel','manufacturer'] @@ -226,12 +605,32 @@ entityCopy: {}, upIndex: 0, addDia: true, - addPower: true + addPower: true, + //璁惧绫诲瀷鍒楄〃 + equipmentList:[], + // 璐熻矗浜哄垪琛� + responsiblePersonList:[], + // 鎺堟潈浜哄垪琛� + authorizerList:[], + // 璁惧鐘舵�佸垪琛� + deviceStatusList:[], + upLoad:false, } }, + computed: { + headers() { + return { 'token': sessionStorage.getItem('token') } + }, + action(){ + return this.javaApi+this.$api.deviceScope.uploadFile + } + }, mounted() { this.entityCopy = this.HaveJson(this.componentData.entity) this.getPower() + this.getAuthorizedPerson() + this.selectEnumByCategory() + this.selectDevicePrincipal() }, methods: { refreshTable() { @@ -241,7 +640,6 @@ this.componentData.entity = this.HaveJson(this.entityCopy) this.upIndex++ }, - // 鏉冮檺鍒嗛厤 getPower(radio) { let power = JSON.parse(sessionStorage.getItem('power')) @@ -259,16 +657,60 @@ add = true } } - if(!del){ + if(!up){ this.componentData.do.splice(1, 1) } - if(!up){ + if(!del){ this.componentData.do.splice(0, 1) } this.addPower = add }, + // 鑾峰彇鎺堟潈浜� + getAuthorizedPerson(){ + this.$axios.get(this.$api.deviceScope.selectDevicePrincipal).then(res => { + let data = [] + res.data.forEach(a=>{ + data.push({ + label: a.name, + value: a.id + }) + }) + this.authorizerList = data + }) + }, + // 鑾峰彇瀛楀吀 + selectEnumByCategory() { + this.$axios.post(this.$api.enums.selectEnumByCategory, { + category: "璁惧鐘舵��" + }).then(res => { + this.deviceStatusList = res.data + }) + this.$axios.post(this.$api.enums.selectEnumByCategory, { + category: "璁惧鍒嗙被" + }).then(res => { + this.equipmentList = res.data + }) + }, + // 鑾峰彇璐熻矗浜哄垪琛� + selectDevicePrincipal(){ + this.$axios.get(this.$api.deviceScope.selectDevicePrincipal).then(res => { + let data = [] + res.data.forEach(a=>{ + data.push({ + label: a.name, + value: a.id + }) + }) + this.responsiblePersonList = data + }) + }, handleClose(){ this.dialogVisible = false; + this.upLoad = false; + }, + handleClose2(){ + this.dialogVisible2 = false; + this.upLoad = false; }, selectAllByOne(row){ this.isUp = true @@ -276,7 +718,8 @@ this.dialogVisible = true; //row = 鐐瑰嚮瀵瑰簲琛屽�� //澶嶅埗缁檉ormData - this.formData=row; + this.formData=this.HaveJson(row); + this.formData.authorizedPerson=row.authorizedPerson?row.authorizedPerson.split(','):[]; }, isUpdate(row){ //淇敼 isUp 涓烘。妗堜慨鏀� @@ -285,8 +728,77 @@ this.dialogVisible = true; //row = 鐐瑰嚮瀵瑰簲琛屽�间竴琛屽�� //澶嶅埗缁檉ormData - this.formData=row; - } - } + this.formData=this.HaveJson(row); + this.formData.authorizedPerson=row.authorizedPerson?row.authorizedPerson.split(','):[]; + }, + beforeUpload(file){ + if (file.size > 1024*1024*10) { + this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M'); + this.$refs.upload.clearFiles() + return false; + }else{ + return true; + } + }, + onError(err, file, fileList) { + this.$message.error('涓婁紶澶辫触') + this.$refs.upload.clearFiles() + }, + // 涓婁紶鍥剧墖鎴愬姛 + handleSuccessUpImg(response,){ + if(response.code==200){ + this.formData.imageUpload = response.data.url; + this.formData.imageName = response.data.name; + } + }, + submitForm(){ + this.upLoad = true; + let authorizedPerson = this.formData.authorizedPerson.length>0?this.formData.authorizedPerson.join(','):'' + delete this.formData.createTime + delete this.formData.updateTime + delete this.formData.createUser + delete this.formData.updateUser + this.formData.authorizedPerson = authorizedPerson + this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, { + headers: { + 'Content-Type': 'application/json' + } + }).then(res => { + if (res.code === 201) { + this.upLoad = false + return + } + this.$message.success('淇敼鎴愬姛') + this.upLoad = false + this.refreshTable() + this.dialogVisible = false + }).catch(e => { + this.$message.error('淇敼澶辫触') + this.dialogVisible = false + this.upLoad = false + }) + }, + submitForm2(){ + this.upLoad2 = true; + this.$axios.post(this.$api.deviceScope.addDeviceParameter, this.formData2, { + headers: { + 'Content-Type': 'application/json' + } + }).then(res => { + if (res.code === 201) { + this.upLoad2 = false + return + } + this.$message.success('淇敼鎴愬姛') + this.upLoad = false + this.refreshTable() + this.dialogVisible2 = false + }).catch(e => { + this.$message.error('淇敼澶辫触') + this.dialogVisible2 = false + this.upLoad2 = false + }) + } } -</script> \ No newline at end of file + } +</script> -- Gitblit v1.9.3