|  |  | 
 |  |  |     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> | 
 |  |  |       <el-form-item label="外设代码" 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-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" | 
 |  |  |               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 | 
 |  |  |             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> | 
 |  |  | 
 |  |  |     <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> | 
 |  |  | 
 |  |  |           <span>{{ scope.$index + (queryParams.pageNum - 1) * queryParams.pageSize + 1 }} </span> | 
 |  |  |         </template> | 
 |  |  |       </el-table-column> | 
 |  |  |       <el-table-column label="外设代码" width="80" align="center" prop="code"/> | 
 |  |  |       <el-table-column label="外设名称" align="center" prop="name" show-overflow-tooltip/> | 
 |  |  |       <el-table-column label="规格型号" align="center" prop="model" min-width="80"/> | 
 |  |  |       <el-table-column label="生产厂商" align="center" prop="manufacturer_dictText"/> | 
 |  |  |       <el-table-column label="厂商代码" width="100" align="center" prop="vendorCode_dictText"/> | 
 |  |  |       <el-table-column label="波特率" width="100" 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" width="180" prop="readInstruction"/> | 
 |  |  |       <el-table-column label="指令长度" width="80" align="center" prop="orderLength"/> | 
 |  |  |       <el-table-column label="返回长度" width="80" align="center" prop="loopLength"/> | 
 |  |  | <!--      <el-table-column label="解析说明" align="center" min-width="300" show-overflow-tooltip 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-view" | 
 |  |  |             @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-document" | 
 |  |  |             @click="handleUpload(scope.row)" | 
 |  |  |               size="mini" | 
 |  |  |               type="text" | 
 |  |  |               icon="el-icon-document" | 
 |  |  |               @click="handleUpload(scope.row)" | 
 |  |  |           >附件 | 
 |  |  |           </el-button> | 
 |  |  |           <el-button | 
 |  |  |             size="mini" | 
 |  |  |             type="text" | 
 |  |  |             icon="el-icon-delete" | 
 |  |  |             class="del-btn" | 
 |  |  |             @click="handleDelete(scope.row)" | 
 |  |  |             v-hasPermi="['oa:peripheralUnit:remove']" | 
 |  |  |               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> | 
 |  |  |  | 
 |  |  |     <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" | 
 |  |  |     /> | 
 |  |  |  | 
 |  |  |     <!-- 添加或修改外设单元对话框 --> | 
 |  |  |     <Dialog :title="title" :visible.sync="open" width="50%" 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-select v-model="form.manufacturer" placeholder="请选择生产厂商" clearable size="small" :disabled="disabled"> | 
 |  |  |           <el-select v-model="form.manufacturer" placeholder="请选择生产厂商" clearable size="small" :disabled="disabled" | 
 |  |  |                      style="width: 100%;"> | 
 |  |  |             <el-option | 
 |  |  |               v-for="item in manufacturerList" | 
 |  |  |               :key="item.id" | 
 |  |  |               :label="item.name" | 
 |  |  |               :value="item.id" | 
 |  |  |                 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-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" | 
 |  |  |                 v-for="dict in dict.type.DICT103" | 
 |  |  |                 :key="dict.value" | 
 |  |  |                 :label="dict.label" | 
 |  |  |                 :value="dict.value" | 
 |  |  |             ></el-option> | 
 |  |  |           </el-select> | 
 |  |  |         </el-form-item> | 
 |  |  | 
 |  |  |           <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="请输入内容" :disabled="disabled"/> | 
 |  |  |           <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"/> | 
 |  |  | 
 |  |  |   updatePeripheralUnit | 
 |  |  | } from "@/api/oa/peripheralUnit"; | 
 |  |  | import {Base64} from 'js-base64'; | 
 |  |  | import { listManufacturer } from "@/api/common/common" | 
 |  |  | import {listManufacturer} from "@/api/common/common" | 
 |  |  |  | 
 |  |  | export default { | 
 |  |  |   name: "PeripheralUnit", | 
 |  |  | 
 |  |  |         ], | 
 |  |  |         name: [ | 
 |  |  |           {required: true, message: "外设名称不能为空", trigger: "blur"}, | 
 |  |  |           {max: 32, message: '最多输入32个字符', trigger: 'blur' } | 
 |  |  |           {max: 32, message: '最多输入32个字符', trigger: 'blur'} | 
 |  |  |         ], | 
 |  |  |         model: [ | 
 |  |  |           {required: true, validator: validateModel, trigger: "blur"} | 
 |  |  | 
 |  |  |         ], | 
 |  |  |         vendorCode: [ | 
 |  |  |           {required: true, message: "厂商代码不能为空", trigger: "blur"}, | 
 |  |  |           {max: 32, message: '最多输入32个字符', trigger: 'blur' } | 
 |  |  |           {max: 32, message: '最多输入32个字符', trigger: 'blur'} | 
 |  |  |         ], | 
 |  |  |         baudRate: [ | 
 |  |  |           {required: true, message: "波特率不能为空", trigger: "change"} | 
 |  |  |         ], | 
 |  |  |         readInstruction: [ | 
 |  |  |           {required: true, message: "问询指令不能为空", trigger: "blur"}, | 
 |  |  |           {max: 128, message: '最多输入128个字符', trigger: 'blur' } | 
 |  |  |           {max: 128, message: '最多输入128个字符', trigger: 'blur'} | 
 |  |  |         ], | 
 |  |  |         orderLength: [ | 
 |  |  |           {required: true, message: "指令长度不能为空", trigger: "blur"} | 
 |  |  | 
 |  |  |           {required: true, message: "附件不能为空", trigger: "blur"} | 
 |  |  |         ], | 
 |  |  |         description: [ | 
 |  |  |           {max: 128, message: '最多输入256个字符', trigger: 'blur' } | 
 |  |  |           {max: 512, message: '最多输入512个字符', trigger: 'blur'} | 
 |  |  |         ] | 
 |  |  |       }, | 
 |  |  |       disabled: false, | 
 |  |  | 
 |  |  |       this.loading = true; | 
 |  |  |       this.disabled = false | 
 |  |  |       this.reset(); | 
 |  |  |       //this.getManufacturerList(); | 
 |  |  |       this.getManufacturerList(); | 
 |  |  |       const id = row.id || this.ids | 
 |  |  |       getPeripheralUnit(id).then(response => { | 
 |  |  |         this.loading = false; |