| | |
| | | /> |
| | | </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="厂商代码" prop="vendorCode"> |
| | | <el-input |
| | | v-model="queryParams.vendorCode" |
| | | placeholder="请输入厂商代码" |
| | | clearable |
| | | size="small" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="厂商代码" 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 |
| | |
| | | <span>{{ scope.$index + (queryParams.pageNum - 1) * queryParams.pageSize + 1 }} </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="外设代码" 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="厂商代码" align="center" prop="vendorCode"/> |
| | | <el-table-column label="波特率" align="center" prop="baudRate"> |
| | | <el-table-column label="外设代码" 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="厂商代码" 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="解析说明" 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" |
| | | icon="el-icon-view" |
| | | @click="handleInfo(scope.row)" |
| | | v-hasPermi="['oa:peripheralUnit:info']" |
| | | >查看 |
| | |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['oa:peripheralUnit:remove']" |
| | | >删除 |
| | | icon="el-icon-document" |
| | | @click="handleUpload(scope.row)" |
| | | >附件 |
| | | </el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleUpload(scope.row)" |
| | | >附件 |
| | | class="del-btn" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['oa:peripheralUnit:remove']" |
| | | >删除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | /> |
| | | |
| | | <!-- 添加或修改外设单元对话框 --> |
| | | <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="外设代码" prop="code"> |
| | | <el-input v-model="form.code" placeholder="请输入外设代码" :disabled="disabled"/> |
| | |
| | | <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-select v-model="form.manufacturer" placeholder="请选择生产厂商" clearable size="small" :disabled="disabled"> |
| | | <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="厂商代码" prop="vendorCode"> |
| | | <el-input v-model="form.vendorCode" placeholder="请输入厂商代码" :disabled="disabled"/> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="厂商代码" 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-option |
| | |
| | | ></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="解析说明" 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> |
| | | |
| | |
| | | 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, |
| | |
| | | model: undefined, |
| | | manufacturer: undefined, |
| | | vendorCode: undefined, |
| | | baudRate: undefined, |
| | | baudRate: undefined |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | |
| | | {required: true, message: "外设代码不能为空", 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: "厂商代码不能为空", trigger: "blur"} |
| | | {required: true, message: "厂商代码不能为空", 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; |
| | |
| | | this.peripheralUnitList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | this.getManufacturerList(); |
| | | }); |
| | | }, |
| | | // 取消按钮 |
| | |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getManufacturerList(); |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.getManufacturerList(); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | this.form.baudRate = '3' |
| | | this.getManufacturerList(); |
| | | this.form.baudRate = '04' |
| | | this.disabled = false |
| | | this.open = true; |
| | | this.title = "添加外设单元"; |
| | | }, |
| | |
| | | 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 = "修改外设单元"; |
| | | }); |
| | |
| | | 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 => { |
| | |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const ids = row.id || this.ids; |
| | | this.$modal.confirm('是否确认删除外设单元编号为"' + ids + '"的数据项?').then(() => { |
| | | this.$modal.confirm(`是否确认删除外设代码为${row.code}的外设单元?`).then(() => { |
| | | this.loading = true; |
| | | return delPeripheralUnit(ids); |
| | | }).then(() => { |