| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="construction-view"> |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form-item label="安装位置" prop="buildingId"> |
| | | <building v-model="queryParams.buildingId" :schoolId="schoolId"></building> |
| | |
| | | <el-form-item label="施工批次" prop="constructionBatchId"> |
| | | <construction-batch v-model="queryParams.constructionBatchId" :schoolId="schoolId"></construction-batch> |
| | | </el-form-item> |
| | | <el-form-item label="型号" prop="model"> |
| | | <el-input |
| | | <template v-if="showMoreCondition"> |
| | | <el-form-item label="型号" prop="model"> |
| | | <el-input |
| | | v-model="queryParams.model" |
| | | placeholder="请输入型号" |
| | | clearable |
| | | size="small" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="生产厂商" prop="manufacturerId"> |
| | | <manufacturer v-model="queryParams.manufacturerId"></manufacturer> |
| | | </el-form-item> |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="生产厂商" prop="manufacturerId"> |
| | | <manufacturer v-model="queryParams.manufacturerId"></manufacturer> |
| | | </el-form-item> |
| | | </template> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | <div class="show-more-search"> |
| | | <ShowMore :showMoreCondition.sync="showMoreCondition"></ShowMore> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['oa:ai:add']" |
| | | >新增 |
| | | </el-button> |
| | | </el-col> |
| | |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleUpdate" |
| | | v-hasPermi="['oa:ai:edit']" |
| | | >修改 |
| | | </el-button> |
| | | </el-col> |
| | |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['oa:ai:remove']" |
| | | >删除 |
| | | </el-button> |
| | | </el-col> |
| | |
| | | |
| | | <el-table v-loading="loading" :data="aiList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center"/> |
| | | <el-table-column label="" align="center" prop="id" v-if="true"/> |
| | | <el-table-column label="部署名称" align="center" prop="deploymentName"/> |
| | | <el-table-column label="支持通道" align="center" prop="passageway"> |
| | | <el-table-column label="序号" type="index" align="center" show-overflow-tooltip> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.DICT112" :value="scope.row.passageway"/> |
| | | <span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="LAN1" align="center" prop="lanOne"/> |
| | | <el-table-column label="IP" align="center" prop="ipOne"/> |
| | | <el-table-column label="LAN2" align="center" prop="lanTwo"/> |
| | | <el-table-column label="IP" align="center" prop="ipTwo"/> |
| | | <el-table-column label="登录账户" align="center" prop="loginAccount"/> |
| | | <el-table-column label="安装位置" align="center" prop="buildingId_dictText"/> |
| | | <el-table-column label="所属单位" align="center" prop="organizationId_dictText"/> |
| | | <el-table-column label="施工批次" align="center" prop="constructionBatchId_dictText"/> |
| | | <el-table-column label="序列号" align="center" prop="serialNumber"/> |
| | | <el-table-column label="型号" align="center" prop="model"/> |
| | | <el-table-column label="生产厂商" align="center" prop="manufacturerId"/> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <el-table-column label="部署名称" min-width="300" align="center" prop="deploymentName" show-overflow-tooltip/> |
| | | <!-- <el-table-column label="支持通道" align="center" prop="passageway">--> |
| | | <!-- <template slot-scope="scope">--> |
| | | <!-- <dict-tag :options="dict.type.DICT112" :value="scope.row.passageway"/>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column label="IP(LAN1)" width="130" align="center" prop="ipOne" show-overflow-tooltip/> |
| | | <!-- <el-table-column label="LAN1" min-width="150" align="center" prop="lanOne"/>--> |
| | | |
| | | <!-- <el-table-column label="LAN2" min-width="150" align="center" prop="lanTwo"/>--> |
| | | <!-- <el-table-column label="IP" width="130" align="center" prop="ipTwo"/>--> |
| | | <el-table-column label="账户/密码" min-width="220" align="center" prop="loginAccount" show-overflow-tooltip/> |
| | | <!-- <el-table-column label="所属单位" min-width="180" align="center" prop="organizationId_dictText"/>--> |
| | | <!-- <el-table-column label="施工批次" min-width="180" align="center" prop="constructionBatchId_dictText"/>--> |
| | | <el-table-column label="序列号" min-width="150" align="center" prop="serialNumber" show-overflow-tooltip/> |
| | | <!-- <el-table-column label="型号" min-width="120" align="center" prop="model"/>--> |
| | | <el-table-column label="生产厂商" min-width="220" align="center" prop="manufacturerId_dictText" show-overflow-tooltip/> |
| | | <el-table-column label="安装位置" min-width="240" align="center" prop="buildingId_dictText" show-overflow-tooltip/> |
| | | <el-table-column label="操作" align="center" fixed="right" width="180" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['oa:ai:edit']" |
| | | >修改 |
| | | </el-button> |
| | | <el-button |
| | |
| | | class="del-btn" |
| | | icon="el-icon-delete" |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['oa:ai:remove']" |
| | | >删除 |
| | | </el-button> |
| | | </template> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="通道" prop="passageway"> |
| | | <el-select v-model="form.passageway" placeholder="请选择通道"> |
| | | <el-select v-model="form.passageway" placeholder="请选择通道" style="width: 100%;"> |
| | | <el-option |
| | | v-for="dict in dict.type.DICT112" |
| | | :key="dict.value" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="LAN1" prop="lanOne"> |
| | | <el-input v-model="form.lanOne" placeholder="请输入LAN1"/> |
| | | <el-input v-model="form.lanOne" maxlength="17" show-word-limit placeholder="请输入校园网端口"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="IP" prop="ipOne"> |
| | | <el-input v-model="form.ipOne" placeholder="请输入IP"/> |
| | | <el-input v-model="form.ipOne" maxlength="15" show-word-limit placeholder="请输入IP"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="LAN2" prop="lanTwo"> |
| | | <el-input v-model="form.lanTwo" placeholder="请输入LAN2"/> |
| | | <el-input v-model="form.lanTwo" maxlength="17" show-word-limit placeholder="请输入局域网端口"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="IP" prop="ipTwo"> |
| | | <el-input v-model="form.ipTwo" placeholder="请输入IP"/> |
| | | <el-input v-model="form.ipTwo" maxlength="15" show-word-limit placeholder="请输入IP"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="登录账户" prop="loginAccount"> |
| | | <el-input v-model="form.loginAccount" maxlength="64" show-word-limit placeholder="请输入登录账户"/> |
| | | <el-form-item label="账户/密码" prop="loginAccount"> |
| | | <el-input v-model="form.loginAccount" maxlength="64" show-word-limit placeholder="请输入账户/密码"/> |
| | | </el-form-item> |
| | | <el-form-item label="安装位置" prop="buildingId"> |
| | | <building v-if="open" v-model="form.buildingId" :schoolId="schoolId"></building> |
| | |
| | | import constructionBatch from "../../components/constructionBatch"; |
| | | import manufacturer from "../../components/manufacturer"; |
| | | import nvr from "../../components/nvr"; |
| | | import ShowMore from "@/views/components/showMore"; |
| | | |
| | | export default { |
| | | name: "Ai", |
| | |
| | | organization, |
| | | constructionBatch, |
| | | manufacturer, |
| | | nvr |
| | | nvr, |
| | | ShowMore |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | {required: true, message: "通道不能为空", trigger: "change"} |
| | | ], |
| | | lanOne: [ |
| | | {required: true, message: "LAN1不能为空", trigger: "blur"}, |
| | | {required: true, message: "校园网端口不能为空", trigger: "blur"}, |
| | | { |
| | | pattern: /^[A-F0-9]{2}(-[A-F0-9]{2}){5}$|^[A-F0-9]{2}(:[A-F0-9]{2}){5}$|^[A-F0-9]{12}$|^[A-F0-9]{4}(\.[A-F0-9]{4}){2}$/, |
| | | message: "请输入正确的LAN1", |
| | | pattern: /^[0-9a-fA-F:]*$/, |
| | | message: "请输入正确的校园网端口", |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | ipOne: [ |
| | | {required: true, message: "IP不能为空", trigger: "blur"}, |
| | | { |
| | | pattern: /^(\d|[1-9]\d|1\d{2}|2[0-5][0-5])\.(\d|[1-9]\d|1\d{2}|2[0-5][0-5])\.(\d|[1-9]\d|1\d{2}|2[0-5][0-5])\.(\d|[1-9]\d|1\d{2}|2[0-5][0-5])$/, |
| | | message: "请输入正确的ip地址", |
| | | pattern: /^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$/, |
| | | message: "请输入正确的ip地址,文本范围 0~9、.", |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | lanTwo: [ |
| | | { |
| | | pattern: /^[A-F0-9]{2}(-[A-F0-9]{2}){5}$|^[A-F0-9]{2}(:[A-F0-9]{2}){5}$|^[A-F0-9]{12}$|^[A-F0-9]{4}(\.[A-F0-9]{4}){2}$/, |
| | | message: "请输入正确的LAN2", |
| | | pattern: /^[0-9a-fA-F:]*$/, |
| | | message: "请输入正确的局域网端口", |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | ipTwo: [ |
| | | { |
| | | pattern: /^(\d|[1-9]\d|1\d{2}|2[0-5][0-5])\.(\d|[1-9]\d|1\d{2}|2[0-5][0-5])\.(\d|[1-9]\d|1\d{2}|2[0-5][0-5])\.(\d|[1-9]\d|1\d{2}|2[0-5][0-5])$/, |
| | | message: "请输入正确的ip地址", |
| | | pattern: /^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$/, |
| | | message: "请输入正确的ip地址,文本范围 0~9、.", |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | |
| | | {required: true, message: "施工批次不能为空", trigger: "blur"} |
| | | ], |
| | | }, |
| | | disabled: false |
| | | disabled: false, |
| | | showMoreCondition: false |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | /** 删除按钮操作 */ |
| | | handleDelete(row) { |
| | | const ids = row.id || this.ids; |
| | | this.$modal.confirm('是否确认删除AI设备编号为"' + ids + '"的数据项?').then(() => { |
| | | this.$modal.confirm('是否确认删除?').then(() => { |
| | | this.loading = true; |
| | | return delAi(ids); |
| | | }).then(() => { |