From 34e9605033b51eed37a3c7e1df4e4a2f394c9ab0 Mon Sep 17 00:00:00 2001 From: 唐耀东 <18861537@qq.com> Date: 星期二, 13 九月 2022 10:42:16 +0800 Subject: [PATCH] 问题修改 --- src/views/device/peripheralUnit/index.vue | 309 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 186 insertions(+), 123 deletions(-) diff --git a/src/views/device/peripheralUnit/index.vue b/src/views/device/peripheralUnit/index.vue index 006987b..d1236cc 100644 --- a/src/views/device/peripheralUnit/index.vue +++ b/src/views/device/peripheralUnit/index.vue @@ -3,56 +3,57 @@ <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item label="澶栬浠g爜" prop="code"> <el-input - v-model="queryParams.code" - placeholder="璇疯緭鍏ュ璁句唬鐮�" - clearable - size="small" - @keyup.enter.native="handleQuery" + v-model="queryParams.code" + placeholder="璇疯緭鍏ュ璁句唬鐮�" + clearable + size="small" + @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="澶栬鍚嶇О" prop="name"> <el-input - v-model="queryParams.name" - placeholder="璇疯緭鍏ュ璁惧悕绉�" - clearable - size="small" - @keyup.enter.native="handleQuery" + v-model="queryParams.name" + placeholder="璇疯緭鍏ュ璁惧悕绉�" + clearable + size="small" + @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="瑙勬牸鍨嬪彿" prop="model"> <el-input - v-model="queryParams.model" - placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" - clearable - size="small" - @keyup.enter.native="handleQuery" + v-model="queryParams.model" + placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" + clearable + size="small" + @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="鐢熶骇鍘傚晢" prop="manufacturer"> - <el-input - v-model="queryParams.manufacturer" - placeholder="璇疯緭鍏ョ敓浜у巶鍟�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> + <el-select v-model="queryParams.manufacturer" placeholder="璇烽�夋嫨鐢熶骇鍘傚晢" clearable size="small"> + <el-option + v-for="item in manufacturerList" + :key="item.id" + :label="item.name" + :value="item.id" + /> + </el-select> </el-form-item> - <el-form-item label="鍘傚晢浠g爜" prop="vendorCode"> - <el-input - v-model="queryParams.vendorCode" - placeholder="璇疯緭鍏ュ巶鍟嗕唬鐮�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> + <!-- <el-form-item label="鍘傚晢浠g爜" prop="vendorCode">--> + <!-- <el-input--> + <!-- v-model="queryParams.vendorCode"--> + <!-- placeholder="璇疯緭鍏ュ巶鍟嗕唬鐮�"--> + <!-- clearable--> + <!-- size="small"--> + <!-- @keyup.enter.native="handleQuery"--> + <!-- />--> + <!-- </el-form-item>--> <el-form-item label="娉㈢壒鐜�" prop="baudRate"> <el-select v-model="queryParams.baudRate" placeholder="璇烽�夋嫨娉㈢壒鐜�" clearable size="small"> <el-option - v-for="dict in dict.type.DICT103" - :key="dict.value" - :label="dict.label" - :value="dict.value" + v-for="dict in dict.type.DICT103" + :key="dict.value" + :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> @@ -65,36 +66,36 @@ <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['oa:peripheralUnit:add']" + type="primary" + plain + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['oa:peripheralUnit:add']" >鏂板 </el-button> </el-col> <el-col :span="1.5"> <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['oa:peripheralUnit:edit']" + type="success" + plain + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['oa:peripheralUnit:edit']" >淇敼 </el-button> </el-col> <el-col :span="1.5"> <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['oa:peripheralUnit:remove']" + type="danger" + plain + icon="el-icon-delete" + size="mini" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['oa:peripheralUnit:remove']" >鍒犻櫎 </el-button> </el-col> @@ -118,66 +119,68 @@ <span>{{ scope.$index + (queryParams.pageNum - 1) * queryParams.pageSize + 1 }} </span> </template> </el-table-column> - <el-table-column label="澶栬浠g爜" align="center" prop="code"/> - <el-table-column label="澶栬鍚嶇О" align="center" prop="name"/> - <el-table-column label="瑙勬牸鍨嬪彿" align="center" prop="model"/> - <el-table-column label="鐢熶骇鍘傚晢" align="center" prop="manufacturer"/> - <el-table-column label="鍘傚晢浠g爜" align="center" prop="vendorCode"/> - <el-table-column label="娉㈢壒鐜�" align="center" prop="baudRate"> + <el-table-column label="澶栬浠g爜" width="80" align="center" prop="code" show-overflow-tooltip/> + <el-table-column label="澶栬鍚嶇О" align="center" min-width="180" prop="name" show-overflow-tooltip/> + <el-table-column label="瑙勬牸鍨嬪彿" align="center" prop="model" min-width="120" show-overflow-tooltip/> + <el-table-column label="鐢熶骇鍘傚晢" align="center" prop="manufacturer_dictText" min-width="200" show-overflow-tooltip/> + <el-table-column label="鍘傚晢浠g爜" width="100" align="center" prop="vendorCode_dictText" show-overflow-tooltip/> + <el-table-column label="娉㈢壒鐜�" width="100" align="center" prop="baudRate" show-overflow-tooltip> <template slot-scope="scope"> <dict-tag :options="dict.type.DICT103" :value="scope.row.baudRate"/> </template> </el-table-column> - <el-table-column label="璇绘暟鎸囦护" align="center" prop="readInstruction"/> - <el-table-column label="鍥炴暟闀垮害" align="center" prop="loopLength"/> - <el-table-column label="鍔熻兘鎻忚堪" align="center" prop="description"/> + <el-table-column label="闂鎸囦护" align="center" width="220" prop="readInstruction" show-overflow-tooltip/> + <el-table-column label="鎸囦护闀垮害" width="80" align="center" prop="orderLength" show-overflow-tooltip/> + <el-table-column label="杩斿洖闀垮害" width="80" align="center" prop="loopLength" show-overflow-tooltip/> + <!-- <el-table-column label="瑙f瀽璇存槑" align="center" min-width="300" show-overflow-tooltip prop="description"/>--> <el-table-column label="鎿嶄綔" align="center" fixed="right" width="240" class-name="small-padding fixed-width"> <template slot-scope="scope"> <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleInfo(scope.row)" - v-hasPermi="['oa:peripheralUnit:info']" + size="mini" + type="text" + icon="el-icon-view" + @click="handleInfo(scope.row)" + v-hasPermi="['oa:peripheralUnit:info']" >鏌ョ湅 </el-button> <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['oa:peripheralUnit:edit']" + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['oa:peripheralUnit:edit']" >淇敼 </el-button> <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['oa:peripheralUnit:remove']" - >鍒犻櫎 + size="mini" + type="text" + icon="el-icon-document" + @click="handleUpload(scope.row)" + >闄勪欢 </el-button> <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleUpload(scope.row)" - >闄勪欢 + size="mini" + type="text" + icon="el-icon-delete" + class="del-btn" + @click="handleDelete(scope.row)" + v-hasPermi="['oa:peripheralUnit:remove']" + >鍒犻櫎 </el-button> </template> </el-table-column> </el-table> <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" /> <!-- 娣诲姞鎴栦慨鏀瑰璁惧崟鍏冨璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> + <Dialog :title="title" :visible.sync="open" width="50%" :append-to-body="true" :close-on-click-modal="false"> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form-item label="澶栬浠g爜" prop="code"> <el-input v-model="form.code" placeholder="璇疯緭鍏ュ璁句唬鐮�" :disabled="disabled"/> @@ -189,52 +192,64 @@ <el-input v-model="form.model" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" :disabled="disabled"/> </el-form-item> <el-form-item label="鐢熶骇鍘傚晢" prop="manufacturer"> - <el-input v-model="form.manufacturer" placeholder="璇疯緭鍏ョ敓浜у巶鍟�" :disabled="disabled"/> - </el-form-item> - <el-form-item label="鍘傚晢浠g爜" prop="vendorCode"> - <el-input v-model="form.vendorCode" placeholder="璇疯緭鍏ュ巶鍟嗕唬鐮�" :disabled="disabled"/> - </el-form-item> - <el-form-item label="娉㈢壒鐜�" prop="baudRate"> - <el-select v-model="form.baudRate" placeholder="璇烽�夋嫨娉㈢壒鐜�" :disabled="disabled"> + <el-select v-model="form.manufacturer" placeholder="璇烽�夋嫨鐢熶骇鍘傚晢" clearable size="small" :disabled="disabled" + style="width: 100%;"> <el-option - v-for="dict in dict.type.DICT103" - :key="dict.value" - :label="dict.label" - :value="dict.value" + v-for="item in manufacturerList" + :key="item.id" + :label="item.name" + :value="item.id" + /> + </el-select> + </el-form-item> + <!-- <el-form-item label="鍘傚晢浠g爜" prop="vendorCode">--> + <!-- <el-input v-model="form.vendorCode" placeholder="璇疯緭鍏ュ巶鍟嗕唬鐮�" :disabled="disabled"/>--> + <!-- </el-form-item>--> + <el-form-item label="娉㈢壒鐜�" prop="baudRate"> + <el-select v-model="form.baudRate" placeholder="璇烽�夋嫨娉㈢壒鐜�" :disabled="disabled" style="width: 100%;"> + <el-option + v-for="dict in dict.type.DICT103" + :key="dict.value" + :label="dict.label" + :value="dict.value" ></el-option> </el-select> </el-form-item> - <el-form-item label="璇绘暟鎸囦护" prop="readInstruction"> - <el-input v-model="form.readInstruction" placeholder="璇疯緭鍏ヨ鏁版寚浠�" :disabled="disabled"/> + <el-form-item label="闂鎸囦护" prop="readInstruction"> + <el-input v-model="form.readInstruction" placeholder="璇疯緭鍏ラ棶璇㈡寚浠�" :disabled="disabled"/> </el-form-item> - <el-form-item label="鍥炴暟闀垮害" prop="loopLength"> - <el-input v-model="form.loopLength" placeholder="璇疯緭鍏ュ洖鏁伴暱搴�" :disabled="disabled"/> + <el-form-item label="鎸囦护闀垮害" prop="orderLength"> + <el-input v-model="form.orderLength" type="number" placeholder="璇疯緭鍏ユ寚浠ら暱搴�" :disabled="disabled"/> </el-form-item> - <el-form-item label="鍔熻兘鎻忚堪" prop="description"> - <el-input v-model="form.description" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" :disabled="disabled"/> + <el-form-item label="杩斿洖闀垮害" prop="loopLength"> + <el-input v-model="form.loopLength" type='number' placeholder="璇疯緭鍏ヨ繑鍥為暱搴�" :disabled="disabled"/> + </el-form-item> + <el-form-item label="瑙f瀽璇存槑" prop="description"> + <el-input v-model="form.description" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" maxlength="512" show-word-limit + :disabled="disabled"/> </el-form-item> <el-form-item label="闄勪欢"> <fileUpload v-model="form.filePath" :disabled="disabled"/> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> - <el-button :loading="buttonLoading" type="primary" @click="submitForm">纭� 瀹�</el-button> + <el-button :loading="buttonLoading" type="primary" @click="submitForm" :disabled="disabled">纭� 瀹�</el-button> <el-button @click="cancel">鍙� 娑�</el-button> </div> - </el-dialog> + </Dialog> <!-- 闄勪欢绐椾綋 --> - <el-dialog :title="title" :visible.sync="uploadFlag" width="500px" append-to-body> + <Dialog :title="title" :visible.sync="uploadFlag" width="500px" append-to-body> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form-item label="闄勪欢"> - <fileUpload v-model="form.filePath" limit="1"/> + <fileUpload v-model="form.filePath" :limit="1"/> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button :loading="buttonLoading" type="primary" @click="submitForm">纭� 瀹�</el-button> <el-button @click="cancel">鍙� 娑�</el-button> </div> - </el-dialog> + </Dialog> </div> </template> @@ -246,11 +261,28 @@ addPeripheralUnit, updatePeripheralUnit } from "@/api/oa/peripheralUnit"; +import {Base64} from 'js-base64'; +import {listManufacturer} from "@/api/common/common" export default { name: "PeripheralUnit", dicts: ['DICT103'], data() { + var validateModel = (rule, value, callback) => { + if (!value) { + callback(new Error('瑙勬牸鍨嬪彿涓嶈兘涓虹┖')); + return + } + if (value.length > 32) { + callback(new Error('鏈�澶氳緭鍏�32涓瓧绗�')); + return + } + // if (!(/^[A-Za-z]+$/.test(value))) { + // callback(new Error('鍙兘杈撳叆鑻辨枃瀛楃')); + // return + // } + callback(); + }; return { // 鎸夐挳loading buttonLoading: false, @@ -282,7 +314,7 @@ model: undefined, manufacturer: undefined, vendorCode: undefined, - baudRate: undefined, + baudRate: undefined }, // 琛ㄥ崟鍙傛暟 form: {}, @@ -295,37 +327,54 @@ {required: true, message: "澶栬浠g爜涓嶈兘涓虹┖", trigger: "blur"} ], name: [ - {required: true, message: "澶栬鍚嶇О涓嶈兘涓虹┖", trigger: "blur"} + {required: true, message: "澶栬鍚嶇О涓嶈兘涓虹┖", trigger: "blur"}, + {max: 32, message: '鏈�澶氳緭鍏�32涓瓧绗�', trigger: 'blur'} ], model: [ - {required: true, message: "瑙勬牸鍨嬪彿涓嶈兘涓虹┖", trigger: "blur"} + {required: true, validator: validateModel, trigger: "blur"} ], manufacturer: [ {required: true, message: "鐢熶骇鍘傚晢涓嶈兘涓虹┖", trigger: "blur"} ], vendorCode: [ - {required: true, message: "鍘傚晢浠g爜涓嶈兘涓虹┖", trigger: "blur"} + {required: true, message: "鍘傚晢浠g爜涓嶈兘涓虹┖", trigger: "blur"}, + {max: 32, message: '鏈�澶氳緭鍏�32涓瓧绗�', trigger: 'blur'} ], baudRate: [ {required: true, message: "娉㈢壒鐜囦笉鑳戒负绌�", trigger: "change"} ], readInstruction: [ - {required: true, message: "璇绘暟鎸囦护涓嶈兘涓虹┖", trigger: "blur"} + {required: true, message: "闂鎸囦护涓嶈兘涓虹┖", trigger: "blur"}, + {max: 128, message: '鏈�澶氳緭鍏�128涓瓧绗�', trigger: 'blur'} + ], + orderLength: [ + {required: true, message: "鎸囦护闀垮害涓嶈兘涓虹┖", trigger: "blur"} ], loopLength: [ - {required: true, message: "鍥炴暟闀垮害涓嶈兘涓虹┖", trigger: "blur"} + {required: true, message: "杩斿洖闀垮害涓嶈兘涓虹┖", trigger: "blur"} ], filePath: [ {required: true, message: "闄勪欢涓嶈兘涓虹┖", trigger: "blur"} ], + description: [ + {max: 512, message: '鏈�澶氳緭鍏�512涓瓧绗�', trigger: 'blur'} + ] }, - disabled: false + disabled: false, + // 鐢熶骇鍘傚晢 + manufacturerList: [] }; }, created() { this.getList(); + }, methods: { + getManufacturerList() { + listManufacturer().then(res => { + this.manufacturerList = res.data; + }) + }, /** 鏌ヨ澶栬鍗曞厓鍒楄〃 */ getList() { this.loading = true; @@ -333,6 +382,7 @@ this.peripheralUnitList = response.rows; this.total = response.total; this.loading = false; + this.getManufacturerList(); }); }, // 鍙栨秷鎸夐挳 @@ -367,11 +417,13 @@ /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { this.queryParams.pageNum = 1; + this.getManufacturerList(); this.getList(); }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { this.resetForm("queryForm"); + this.getManufacturerList(); this.handleQuery(); }, // 澶氶�夋閫変腑鏁版嵁 @@ -383,7 +435,9 @@ /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { this.reset(); - this.form.baudRate = '3' + this.getManufacturerList(); + this.form.baudRate = '04' + this.disabled = false this.open = true; this.title = "娣诲姞澶栬鍗曞厓"; }, @@ -396,17 +450,20 @@ this.loading = false; this.form = response.data; this.open = true; - this.title = "淇敼澶栬鍗曞厓"; + this.title = "鏌ョ湅澶栬鍗曞厓"; }); }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { this.loading = true; + this.disabled = false this.reset(); + this.getManufacturerList(); const id = row.id || this.ids getPeripheralUnit(id).then(response => { this.loading = false; this.form = response.data; + this.form.manufacturer = parseInt(this.form.manufacturer); this.open = true; this.title = "淇敼澶栬鍗曞厓"; }); @@ -415,6 +472,12 @@ submitForm() { this.$refs["form"].validate(valid => { if (valid) { + // if(this.uploadFlag){ + // if(!this.form.filePath){ + // this.$modal.msgWarning("璇烽�夋嫨涓婁紶闄勪欢"); + // return; + // } + // } this.buttonLoading = true; if (this.form.id != null) { updatePeripheralUnit(this.form).then(response => { @@ -440,7 +503,7 @@ /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { const ids = row.id || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎澶栬鍗曞厓缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(() => { + this.$modal.confirm(`鏄惁纭鍒犻櫎澶栬浠g爜涓�${row.code}鐨勫璁惧崟鍏冿紵`).then(() => { this.loading = true; return delPeripheralUnit(ids); }).then(() => { -- Gitblit v1.9.1