From 1e9c7a02ec2b8caf7dda6000d7f0f79849df6b45 Mon Sep 17 00:00:00 2001 From: 朱佳吉 <1527963051@qq.com> Date: 星期四, 09 五月 2024 14:15:25 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/components/view/a6-device-management.vue | 841 +++++++++++++++++++++++++++++++++---------------------- 1 files changed, 502 insertions(+), 339 deletions(-) diff --git a/src/components/view/a6-device-management.vue b/src/components/view/a6-device-management.vue index 9793aaf..ad072e5 100644 --- a/src/components/view/a6-device-management.vue +++ b/src/components/view/a6-device-management.vue @@ -36,16 +36,17 @@ padding: 20px; } - .el-form-item{ - margin-bottom: 16px; - } - .picName{ - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - word-break: break-all; - width: 120px; - } + .el-form-item { + margin-bottom: 16px; + } + + .picName { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + word-break: break-all; + width: 120px; + } </style> <template> @@ -54,18 +55,15 @@ <el-row class="title"> <el-col :span="12" style="padding-left: 20px;">璁惧宸ュ叿鏄庣粏</el-col> <el-col :span="12" style="text-align: right;"> + <el-button size="medium" type="primary" @click="dialogVisible2 = true">鏂板</el-button> </el-col> </el-row> </div> <div class="search"> <div class="search_thing"> <div class="search_label">鐘舵�侊細</div> - <el-select v-model="componentData.entity.deviceStatus" placeholder="鍏ㄩ儴"> - <el-option - v-for="item in deviceStatusList" - :key="item.value" - :label="item.label" - :value="item.value"> + <el-select v-model="componentData.entity.deviceStatus" placeholder="鍏ㄩ儴" size="small"> + <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </div> @@ -74,246 +72,312 @@ <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable 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.specificationModel" @keyup.enter.native="refreshTable()"></el-input></div> </div> - <div class="search_thing"> - <div class="search_label">璁惧澶х被锛�</div> - <el-select v-model="componentData.entity.largeCategory" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in equipmentList" - :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" @click="refresh()">閲� 缃�</el-button> <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> </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"/> + <ValueTable @selectAllByOne="selectAllByOne" @isUpdate="isUpdate" ref="ValueTable" + :url="$api.deviceScope.selectDeviceParameter" :upUrl="$api.deviceScope.upDeviceParameter" + :delUrl="$api.deviceScope.delDeviceParameter" :componentData="componentData" :key="upIndex" /> </div> - <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); + <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.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 :disabled="isUp" v-model="formData.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="formData" label-width="116px"> - <el-form-item label="璁惧鍚嶇О:" > - <el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input> + <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="100px"> + <el-form-item label="浠櫒鍚嶇О:"> + <el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input> + </el-form-item> + <el-form-item label="浠櫒鍚嶇ОEN:"> + <el-input :disabled="isUp" v-model="formData.enDeviceName" size="small"></el-input> + </el-form-item> + <el-form-item label="瑙勬牸鍨嬪彿:"> + <el-input :disabled="isUp" v-model="formData.specificationModel" 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> + </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.calibrationServices" 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-input :disabled="isUp" v-model="formData.managementNumber" size="small"></el-input> + </el-form-item> + <el-form-item label="璐疆鏃ユ湡:"> + <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.acquisitionDate" type="date" + format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label="鍚敤鏃ユ湡:"> + <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.activationDate" type="date" + format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label="绠$悊浜�:"> + <el-select v-model="formData.equipmentManager" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <el-option :disabled="isUp" 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-input :disabled="isUp" v-model="formData.storagePoint" size="small"></el-input> + </el-form-item> + <el-form-item label="鎶�鏈寚鏍�:"> + <el-input :disabled="isUp" v-model="formData.technicalIndicators" :rows="7" type="textarea" size="small"></el-input> + </el-form-item> + </el-form> + </el-col> + <!-- 鍙宠竟甯冨眬 --> + <el-col :span="7"> + <el-form :label-position="labelPosition" :model="formData" label-width="120px" ref="ruleForm"> + <!-- 瀹為獙瀹ゅ垪琛� --> + <el-form-item label="鎵�灞為儴闂�:"> + <el-select :disabled="isUp" v-model="formData.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <el-option v-for="item in subordinateDepartmentsList" :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.internalCode" size="small"></el-input> + <el-form-item label="妫�娴嬮」鐩�:"> + <el-cascader + :disabled="isUp" + v-model="formData.insProductIds" + :options="options" + :show-all-levels="false" + :props="props" + placeholder="璇烽�夋嫨" size="small" + style="width:100%;" + :collapse-tags="!isUp" + separator="," + filterable + clearable></el-cascader> </el-form-item> - <el-form-item label="璧勪骇缂栫爜:" > - <el-input :disabled="isUp" v-model="formData.assetCode" size="small"></el-input> + <el-form-item label="鏈�杩戞牎鍑嗘棩鏈�:" v-if="isUp"> + <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability" format="yyyy-MM-dd" + value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label="涓嬫鏍″噯鏃ユ湡:" v-if="isUp"> + <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability" format="yyyy-MM-dd" + value-format="yyyy-MM-dd" type="date" size="small" placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + <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 - :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 label="鍗曚环(涓囧厓):"> + <el-input :disabled="isUp" v-model="formData.unitPrice" 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 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.calibrationDate" size="small"></el-input> </el-form-item> - <el-form-item label="瀛樻斁鐐�:" > - <el-input :disabled="isUp" v-model="formData.storagePoint" size="small"></el-input> + <el-form-item 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 :disabled="isUp" :action="action" :on-success="handleSuccessUpImg2" :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;padding-top: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-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;margin-bottom: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="100px"> + <el-form-item label="浠櫒鍚嶇О:"> + <el-input v-model="formData2.deviceName" size="small"></el-input> + </el-form-item> + <el-form-item label="浠櫒鍚嶇ОEN:"> + <el-input v-model="formData2.enDeviceName" size="small"></el-input> + </el-form-item> + <el-form-item label="瑙勬牸鍨嬪彿:"> + <el-input v-model="formData2.specificationModel" 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> + </el-col> + </el-col> + <!-- 涓棿甯冨眬 --> + <el-col :span="7"> + <el-form :label-position="labelPosition" :model="formData2" label-width="110px"> + <!-- <el-form-item label="鐢熶骇鍘傚EN:"> + <el-input v-model="formData2.factoryNo" size="small"></el-input> + </el-form-item> --> + <el-form-item label="鏍″噯鏈嶅姟鏈烘瀯:"> + <el-input v-model="formData2.calibrationServices" 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-form-item label="鍑哄巶缂栧彿:"> + <el-input v-model="formData2.factoryNo" size="small"></el-input> + </el-form-item> + <el-form-item label="绠$悊缂栧彿:"> + <el-input v-model="formData2.managementNumber" size="small"></el-input> + </el-form-item> + <el-form-item label="璐疆鏃ユ湡:"> + <el-date-picker style="width:100%" v-model="formData2.acquisitionDate" type="date" + format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label="鍚敤鏃ユ湡:"> + <el-date-picker style="width:100%" v-model="formData2.activationDate" type="date" + format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" size="small" 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-input v-model="formData2.storagePoint" size="small"></el-input> + </el-form-item> + <el-form-item label="鎶�鏈寚鏍�:"> + <el-input v-model="formData2.technicalIndicators" :rows="7" type="textarea" size="small"></el-input> + </el-form-item> + </el-form> + </el-col> + <!-- 鍙宠竟甯冨眬 --> + <el-col :span="7"> + <el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm"> + <!-- 瀹為獙瀹ゅ垪琛� --> + <el-form-item label="鎵�灞為儴闂�:"> + <el-select v-model="formData2.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%"> + <el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="妫�娴嬮」鐩�:"> + <el-cascader + v-model="formData2.insProductIds" + :options="options" + :show-all-levels="false" + :props="props" + placeholder="璇烽�夋嫨" size="small" + style="width:100%" + collapse-tags + separator="," + filterable + clearable></el-cascader> + </el-form-item> + <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-input v-model="formData2.unitPrice" 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.id" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鏍″噯鍛ㄦ湡锛堟湀锛�:"> + <el-input v-model="formData2.calibrationDate" size="small"></el-input> + </el-form-item> + <el-form-item 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="handleSuccessUpImg2" :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;padding-top: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="submitForm2" :loading="upLoad2">纭� 瀹�</el-button> + </el-row> + </span> + </el-dialog> </div> </template> @@ -327,11 +391,19 @@ return { //鏄惁鏄。妗堜慨璁� true涓嶆槸 false鏄� isUp: true, - formData: {}, + formData: { + }, + formData2: { + imageUpload: '', + imageName: '' + }, value: '', + props: { multiple: true,emitPath:false,value:'id',label:'name' }, options: [], labelPosition: 'right', dialogVisible: false, + dialogVisible2: false, + addPower: false, componentData: { entity: { deviceStatus: null, @@ -340,7 +412,7 @@ largeCategory: null, orderBy: { field: 'id', - order: 'asc' + order: 'desc' } }, isIndex: true, @@ -351,69 +423,97 @@ font: '鍒犻櫎', type: 'text', method: 'doDiy' - },{ + }, { id: 'archives', font: '妗f淇', type: 'text', method: 'isUpdate' }], tagField: { - deviceStatus: { - select: [{ - value: 0, - type: 'success', - label: '姝e父' - },{ - value: 1, - type: 'warning', - label: '鎶ュ簾' - },{ - value: 2, - type: 'danger', - label: '淇濅慨' - }] - } - }, - linkEvent:{ - deviceName:{ - method:'selectAllByOne' + deviceStatus: { + select: [] + }, + equipmentManager: { + select: [] + }, + authorizedPerson: { + select: [] + }, + insProductIds:{ + select:[] } - }, - selectField: {}, - requiredAdd:['largeCategory','subclass','deviceName','internalCode','specificationModel','manufacturer'], - requiredUp:['largeCategory','subclass','deviceName','internalCode','specificationModel','manufacturer'] + }, + linkEvent: { + deviceName: { + method: 'selectAllByOne' + } + }, + selectField: { + authorizedPerson: { + select: [], + choose: true + }, + equipmentManager: { + select: [] + }, + insProductIds:{ + select:[], + choose: true + } + }, + requiredAdd: [], + requiredUp: [] }, entityCopy: {}, upIndex: 0, addDia: true, addPower: true, - //璁惧绫诲瀷鍒楄〃 - equipmentList:[], - // 璐熻矗浜哄垪琛� - responsiblePersonList:[], - // 鎺堟潈浜哄垪琛� - authorizerList:[], - // 璁惧鐘舵�佸垪琛� - deviceStatusList:[], - upLoad:false, + //璁惧绫诲瀷鍒楄〃 + equipmentList: [], + // 璐熻矗浜哄垪琛� + responsiblePersonList: [], + // 鎺堟潈浜哄垪琛� + authorizerList: [], + // 褰撳墠鐘舵�佸垪琛� + deviceStatusList: [], + // 鎵�灞為儴闂� + subordinateDepartmentsList: [], + upLoad: false, + upLoad2: false, } }, - computed: { - headers() { - return { 'token': sessionStorage.getItem('token') } - }, - action(){ - return this.javaApi+this.$api.deviceScope.uploadFile - } - }, + 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() + // this.getAuthorizedPerson() + this.selectEnumByCategory() + this.selectDevicePrincipal() + this.obtainItemParameterList() + this.getInsProductIds() }, methods: { + obtainItemParameterList() { + this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => { + let data = [] + res.data.forEach(a=>{ + data.push({ + label: a.laboratoryName, + value: a.id + }) + }) + this.subordinateDepartmentsList = data + }) + }, refreshTable() { this.$refs['ValueTable'].selectList() }, @@ -428,115 +528,152 @@ let del = false let add = false for (var i = 0; i < power.length; i++) { - if(power[i].menuMethod=='upDeviceParameter'){ + if (power[i].menuMethod == 'upDeviceParameter') { up = true } - if(power[i].menuMethod=='delDeviceParameter'){ + if (power[i].menuMethod == 'delDeviceParameter') { del = true } - if(power[i].menuMethod=='addDeviceParameter'){ + if (power[i].menuMethod == 'addDeviceParameter') { add = true } } - if(!up){ + if (!up) { this.componentData.do.splice(1, 1) } - if(!del){ + if (!del) { this.componentData.do.splice(0, 1) } this.addPower = add }, - // 鑾峰彇鎺堟潈浜� - getAuthorizedPerson(){ - this.$axios.get(this.$api.deviceScope.authorizedPerson).then(res => { - let data = [] - res.data.forEach(a=>{ - data.push({ - label: a.authorizedPerson, - value: a.authorizedPerson - }) - }) - this.authorizerList = data - }) - }, - // 鑾峰彇瀛楀吀 - selectEnumByCategory() { + // 鑾峰彇瀛楀吀 + selectEnumByCategory() { this.$axios.post(this.$api.enums.selectEnumByCategory, { category: "璁惧鐘舵��" }).then(res => { this.deviceStatusList = res.data + this.deviceStatusList.forEach(a=>{ + if(!isNaN(a.value)){ + a.value = parseInt(a.value) + } + }) + this.componentData.tagField.deviceStatus.select = res.data }) - this.$axios.post(this.$api.enums.selectEnumByCategory, { + this.$axios.post(this.$api.enums.selectEnumByCategory, { category: "璁惧鍒嗙被" }).then(res => { this.equipmentList = res.data }) }, - // 鑾峰彇璐熻矗浜哄垪琛� - selectDevicePrincipal(){ - this.$axios.get(this.$api.deviceScope.selectDevicePrincipal).then(res => { + // 鑾峰彇璐熻矗浜哄垪琛� + selectDevicePrincipal() { + this.$axios.get(this.$api.deviceScope.selectDevicePrincipal).then(res => { let data = [] - res.data.forEach(a=>{ + res.data.forEach(a => { data.push({ - label: a.equipmentManager, - value: a.equipmentManager + label: a.name, + value: a.id }) }) this.responsiblePersonList = data + this.authorizerList = data + this.componentData.tagField.equipmentManager = data + this.componentData.tagField.authorizedPerson = data + }) + }, + getInsProductIds(){ + this.$axios.post(this.$api.capacityScope.getInsProduction).then(res => { + this.componentData.tagField.insProductIds.select = [] + this.componentData.selectField.insProductIds.select = [] + this.options = res.data.map((m,i)=>{ + m.id = m.name; + let children = m.children.map(n=>{ + n.label = n.name; + n.value = n.id; + return n + }) + this.componentData.tagField.insProductIds.select = [...this.componentData.tagField.insProductIds.select,...children] + this.componentData.selectField.insProductIds.select = [...this.componentData.selectField.insProductIds.select,...children] + return m + }) }) }, - handleClose(){ + handleClose() { + this.formData = {} + this.formData2 = { + imageUpload: '', + imageName: '' + } this.dialogVisible = false; - this.upLoad = false; + this.upLoad = false; }, - selectAllByOne(row){ + handleClose2() { + this.formData = {} + this.formData2 = { + imageUpload: '', + imageName: '' + } + this.dialogVisible2 = false; + this.upLoad = false; + }, + selectAllByOne(row) { this.isUp = true //鎵撳紑寮规 this.dialogVisible = true; //row = 鐐瑰嚮瀵瑰簲琛屽�� //澶嶅埗缁檉ormData - this.formData=this.HaveJson(row); - this.formData.authorizedPerson=row.authorizedPerson?row.authorizedPerson.split(','):[]; + this.formData = this.HaveJson(row); + this.formData.insProductIds = row.insProductIds ? row.insProductIds.split(',') : []; }, - isUpdate(row){ + isUpdate(row) { //淇敼 isUp 涓烘。妗堜慨鏀� this.isUp = false //鎵撳紑寮规 this.dialogVisible = true; //row = 鐐瑰嚮瀵瑰簲琛屽�间竴琛屽�� //澶嶅埗缁檉ormData - this.formData=this.HaveJson(row); - this.formData.authorizedPerson=row.authorizedPerson?row.authorizedPerson.split(','):[]; + this.formData = this.HaveJson(row); + if(typeof(row.insProductIds)==='number'){ + row.insProductIds = row.insProductIds+'' + } + this.formData.insProductIds = row.insProductIds ? row.insProductIds.split(',') : []; }, - beforeUpload(file){ - if (file.size > 1024*1024*10) { + 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) { + } 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(){ + // 涓婁紶鍥剧墖鎴愬姛 + handleSuccessUpImg(response, ) { + if (response.code == 200) { + this.formData.imageUpload = response.data.url; + this.formData.imageName = response.data.name; + } + }, + handleSuccessUpImg2(response, ) { + if (response.code == 200) { + this.$nextTick(() => { + this.formData2.imageUpload = response.data.url; + this.formData2.imageName = response.data.name; + }) + } + }, + submitForm() { + delete this.formData.createTime + delete this.formData.updateTime + delete this.formData.createUser + delete this.formData.updateUser + this.formData.insProductIds = this.formData.insProductIds.join() 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, { + this.$axios.post(this.$api.deviceScope.upDeviceParameter, this.formData, { headers: { 'Content-Type': 'application/json' } @@ -546,15 +683,41 @@ return } this.$message.success('淇敼鎴愬姛') - this.upLoad = false + this.upLoad = false this.refreshTable() - this.dialogVisible = false + this.dialogVisible = false }).catch(e => { this.$message.error('淇敼澶辫触') this.dialogVisible = false this.upLoad = false }) - } + }, + submitForm2() { + this.upLoad2 = true; + this.formData2.insProductIds = this.formData2.insProductIds.join() + 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.upLoad2 = false + this.refreshTable() + this.dialogVisible2 = false + this.formData2 = { + imageUpload: '', + imageName: '' + } + }).catch(e => { + this.$message.error('鎻愪氦澶辫触') + this.dialogVisible2 = false + this.upLoad2 = false + }) + } } } </script> -- Gitblit v1.9.3