| | |
| | | <el-form ref="ruleForm" :model="ruleForm" :inline="true"> |
| | | <el-form-item label="表名称" prop="name"> |
| | | <el-select |
| | | clearable |
| | | v-model="queryName" |
| | | @change="changeQueryName" |
| | | placeholder="请选择表名称" |
| | | > |
| | | <el-option |
| | | v-for="item in selectName" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | v-for="(item, i) in selectData" |
| | | :key="i" |
| | | :label="item.tabDesc" |
| | | :value="item.tab" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | |
| | | height="98%" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column width="50" type="index" label="编号" /> |
| | | <el-table-column |
| | | min-width="100" |
| | | prop="field_name" |
| | | label="字段名称" |
| | | /> |
| | | <el-table-column |
| | | min-width="90" |
| | | prop="field_alias" |
| | | label="字段显示名称" |
| | | /> |
| | | <el-table-column |
| | | min-width="100" |
| | | prop="field_type" |
| | | label="字段类型" |
| | | /> |
| | | <el-table-column min-width="60" prop="length" label="字段长度" /> |
| | | <el-table-column prop="orderNum" label="编号" /> |
| | | <el-table-column min-width="100" prop="field" label="字段名称" /> |
| | | <el-table-column min-width="90" prop="alias" label="字段显示名称" /> |
| | | <el-table-column min-width="100" prop="type" label="字段类型" /> |
| | | <el-table-column min-width="60" prop="len" label="字段长度" /> |
| | | <el-table-column min-width="60" prop="precision" label="字段精度" /> |
| | | <el-table-column min-width="100" prop="tab" label="值域关联表" /> |
| | | <el-table-column min-width="100" prop="bak" label="备注" /> |
| | | <el-table-column |
| | | min-width="100" |
| | | prop="domain_name" |
| | | label="值域关联表" |
| | | /> |
| | | <el-table-column min-width="100" prop="remarks" label="备注" /> |
| | | <el-table-column |
| | | min-width="100" |
| | | prop="create_time" |
| | | prop="createTime" |
| | | label="创建时间" |
| | | :formatter="formatData" |
| | | /> |
| | | <el-table-column |
| | | min-width="100" |
| | | prop="create_user" |
| | | prop="createUser" |
| | | label="创建人员" |
| | | /> |
| | | <el-table-column min-width="100" prop="up_time" label="更新时间" /> |
| | | <el-table-column min-width="100" prop="up_user" label="更新人员" /> |
| | | <el-table-column |
| | | min-width="100" |
| | | prop="updateTime" |
| | | label="更新时间" |
| | | :formatter="formatData" |
| | | /> |
| | | <el-table-column |
| | | min-width="100" |
| | | prop="updateUser" |
| | | label="更新人员" |
| | | /> |
| | | |
| | | <el-table-column min-width="70" label="操作"> |
| | | <template slot-scope="scope"> |
| | |
| | | </el-table> |
| | | </div> |
| | | <div |
| | | style="margin-top: 20px; margin-left: 400px" |
| | | style="margin-top: 20px; text-align: center" |
| | | class="pagination_box" |
| | | > |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | :current-page="listData.pageIndex" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :page-size="pageNum" |
| | | :page-size="listData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="count" |
| | | > |
| | |
| | | </div> |
| | | </div> |
| | | <div class="contentBox"> |
| | | <p>表名称:{{ itemdetail.table_name }}</p> |
| | | <p>表名称:{{ itemdetail.tab }}</p> |
| | | <el-divider></el-divider> |
| | | <p>表显示名称:{{ itemdetail.table_alias }}</p> |
| | | <p>表显示名称:{{ itemdetail.tabDesc }}</p> |
| | | <el-divider></el-divider> |
| | | <p>表类型:{{ itemdetail.table_type }}</p> |
| | | <!-- <p>表类型:{{ itemdetail.type }}</p> |
| | | <el-divider></el-divider> --> |
| | | <p>字段名称:{{ itemdetail.field }}</p> |
| | | <el-divider></el-divider> |
| | | <p>字段名称:{{ itemdetail.field_name }}</p> |
| | | <p>字段显示名称:{{ itemdetail.alias }}</p> |
| | | <el-divider></el-divider> |
| | | <p>字段显示名称:{{ itemdetail.field_alias }}</p> |
| | | <p>字段类型:{{ itemdetail.type }}</p> |
| | | <el-divider></el-divider> |
| | | <p>字段类型:{{ itemdetail.field_type }}</p> |
| | | <el-divider></el-divider> |
| | | <p>字段长度:{{ itemdetail.length }}</p> |
| | | <p>字段长度:{{ itemdetail.len }}</p> |
| | | <el-divider></el-divider> |
| | | <p>字段精度:{{ itemdetail.precision }}</p> |
| | | <el-divider></el-divider> |
| | | <p>值域关联表:{{ itemdetail.domain_name }}</p> |
| | | <!-- <p>值域关联表:{{ itemdetail.domain_name }}</p> |
| | | <el-divider></el-divider> --> |
| | | <p>备注:{{ itemdetail.bak }}</p> |
| | | <el-divider></el-divider> |
| | | <p>备注:{{ itemdetail.remarks }}</p> |
| | | <p>创建时间:{{ itemdetail.createTime }}</p> |
| | | <el-divider></el-divider> |
| | | <p>创建时间:{{ itemdetail.create_time }}</p> |
| | | <p>创建人员:{{ itemdetail.createUser }}</p> |
| | | <el-divider></el-divider> |
| | | <p>创建人员:{{ itemdetail.create_user }}</p> |
| | | <p>更新时间:{{ itemdetail.updateTime }}</p> |
| | | <el-divider></el-divider> |
| | | <p>更新时间:{{ itemdetail.up_time }}</p> |
| | | <el-divider></el-divider> |
| | | <p>更新人员:{{ itemdetail.up_user }}</p> |
| | | <p>更新人员:{{ itemdetail.updateUser }}</p> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | |
| | | :visible.sync="dialogFormVisible" |
| | | > |
| | | <el-form :model="upform"> |
| | | <el-form-item label="序号" :label-width="formLabelWidth"> |
| | | <el-input v-model="upform.oid" autocomplete="off"></el-input> |
| | | <el-form-item label="编号" :label-width="formLabelWidth"> |
| | | <el-input v-model="upform.orderNum" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="表名" :label-width="formLabelWidth"> |
| | | <el-input v-model="upform.table_name" autocomplete="off"></el-input> |
| | | <el-input v-model="upform.tab" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="表别名" :label-width="formLabelWidth"> |
| | | <el-input v-model="upform.table_alias" autocomplete="off"></el-input> |
| | | <el-input v-model="upform.tabDesc" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="类型" :label-width="formLabelWidth"> |
| | | <!-- <el-form-item label="类型" :label-width="formLabelWidth"> |
| | | <el-select |
| | | v-model="upform.table_type" |
| | | style="width: 800px" |
| | | style="width: 100%" |
| | | placeholder="请选择数据类型" |
| | | > |
| | | <el-option label="点几何" value="点几何"></el-option> |
| | | <el-option label="线几何" value="线几何"></el-option> |
| | | <el-option label="面几何" value="面几何"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item label="字段名称" :label-width="formLabelWidth"> |
| | | <el-input v-model="upform.field_name" autocomplete="off"></el-input> |
| | | <el-input v-model="upform.field" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="字段别名" :label-width="formLabelWidth"> |
| | | <el-input v-model="upform.field_alias" autocomplete="off"></el-input> |
| | | <el-input v-model="upform.alias" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="字段类型" :label-width="formLabelWidth"> |
| | | <el-input v-model="upform.field_type" autocomplete="off"></el-input> |
| | | <el-input v-model="upform.type" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="长度" :label-width="formLabelWidth"> |
| | | <el-input v-model="upform.length" autocomplete="off"></el-input> |
| | | <el-input v-model="upform.len" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="精度" :label-width="formLabelWidth"> |
| | | <el-input v-model="upform.precision" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="值域名称" :label-width="formLabelWidth"> |
| | | <!-- <el-form-item label="值域名称" :label-width="formLabelWidth"> |
| | | <el-input v-model="upform.domain_name" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item label="备注" :label-width="formLabelWidth"> |
| | | <el-input v-model="upform.remarks" autocomplete="off"></el-input> |
| | | <el-input v-model="upform.bak" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | |
| | | :visible.sync="InsertFormdialog" |
| | | > |
| | | <el-form :model="insertform"> |
| | | <el-form-item label="序号" :label-width="formLabelWidth"> |
| | | <el-form-item label="编号" :label-width="formLabelWidth"> |
| | | <el-input v-model="insertform.oid" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="表名" :label-width="formLabelWidth"> |
| | |
| | | <el-form-item label="类型" :label-width="formLabelWidth"> |
| | | <el-select |
| | | v-model="insertform.table_type" |
| | | style="width: 800px" |
| | | style="width: 100%" |
| | | placeholder="请选择数据类型" |
| | | > |
| | | <el-option label="点几何" value="点几何"></el-option> |
| | |
| | | |
| | | <script> |
| | | import { |
| | | |
| | | |
| | | |
| | | |
| | | selectByPageAndCount, |
| | | selectDictTab, |
| | | deleteDicts, |
| | | updateDict, |
| | | } from "../../api/api"; |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | export default { |
| | |
| | | tableData: [], |
| | | count: 0, |
| | | currentPage: 1, |
| | | pageNum: 10, |
| | | pageSize: 1, |
| | | searchName: "", |
| | | selectName: [], |
| | | queryName: "", |
| | | listData: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | }, |
| | | selectData: [], |
| | | }; |
| | | }, |
| | | created() { |
| | | // this.startFromData(); |
| | | this.startQueryNameData(); |
| | | this.getSelectDictTab(); |
| | | }, |
| | | methods: { |
| | | //下拉选项调用 |
| | | async getSelectDictTab() { |
| | | this.selectData = []; |
| | | const data = await selectDictTab(); |
| | | if (data.code != 200) { |
| | | this.$message.error("下拉调用失败"); |
| | | } |
| | | data.result.forEach((e) => { |
| | | if (e) { |
| | | this.selectData.push({ |
| | | tab: e.tab, |
| | | tabDesc: `${e.tabDesc}(${e.tab})`, |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | //列表请求 |
| | | async startQueryNameData() { |
| | | if (this.listData.tab == "") { |
| | | delete this.listData.tab; |
| | | } |
| | | const data = await selectByPageAndCount(this.listData); |
| | | if (data.code != 200) { |
| | | this.$message.error("列表调用失败"); |
| | | } |
| | | this.tableData = data.result; |
| | | this.count = data.count; |
| | | }, |
| | | //格式化时间 |
| | | add0(m) { |
| | | return m < 10 ? "0" + m : m; |
| | | }, |
| | | //格式化时间 |
| | | format(shijianchuo) { |
| | | //shijianchuo是整数,否则要parseInt转换 |
| | | var time = new Date(shijianchuo); |
| | | var y = time.getFullYear(); |
| | | var m = time.getMonth() + 1; |
| | | var d = time.getDate(); |
| | | var h = time.getHours(); |
| | | var mm = time.getMinutes(); |
| | | var s = time.getSeconds(); |
| | | return ( |
| | | y + "-" + this.add0(m) + "-" + this.add0(d) |
| | | // " " + |
| | | // this.add0(h) + |
| | | // ":" + |
| | | // this.add0(mm) + |
| | | // ":" + |
| | | // this.add0(s) |
| | | ); |
| | | }, |
| | | //格式化列表 |
| | | formatData(row, column) { |
| | | let data = row[column.property]; |
| | | if (data == null) { |
| | | return data; |
| | | } |
| | | return this.format(data); |
| | | }, |
| | | //修改详情 |
| | | updateForm() { |
| | | this.$confirm("是否确定保存修改内容?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | .then(async () => { |
| | | const data = await updateDict(this.upform); |
| | | if (data.code != 200) { |
| | | this.$message.error("修改失败"); |
| | | } |
| | | this.dialogFormVisible = false; |
| | | |
| | | this.startQueryNameData(); |
| | | this.$message({ |
| | | message: "修改成功", |
| | | type: "success", |
| | |
| | | this.showinfoBox = false; |
| | | this.itemdetail = {}; |
| | | }, |
| | | |
| | | //修改详情弹框 |
| | | handleEdit(index, row) { |
| | | this.dialogFormVisible = true; |
| | | this.upform = row; |
| | | console.log(this.upform); |
| | | }, |
| | | handleDelete(index, row) { |
| | | this.$confirm("确定是否删除所选内容?", "提示", { |
| | |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | |
| | | this.$message({ |
| | | type: "success", |
| | | message: "删除成功!", |
| | |
| | | .catch(() => {}); |
| | | }, |
| | | handleSizeChange(val) { |
| | | console.log(val); |
| | | // console.log(`每页 ${val} 条`); |
| | | this.pageNum = val; |
| | | this.selectFromData(this.pageNum, 1, this.searchName); |
| | | this.countFromData(this.searchName); |
| | | this.listData.pageSize = val; |
| | | this.startQueryNameData(); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | this.pageSize = val; |
| | | this.selectFromData(this.pageNum, this.pageSize, this.searchName); |
| | | this.listData.pageIndex = val; |
| | | this.startQueryNameData(); |
| | | }, |
| | | |
| | | insertFromData() { |
| | |
| | | }) |
| | | .then(() => { |
| | | this.InsertFormdialog = false; |
| | | |
| | | |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | countFromData(name) { |
| | | |
| | | }, |
| | | selectFromData(size, index, name) { |
| | | |
| | | }, |
| | | countFromData(name) {}, |
| | | selectFromData(size, index, name) {}, |
| | | //列表选择 |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val; |
| | | }, |
| | | //删除列表 |
| | | DelFormData() { |
| | | var std = []; |
| | | console.log(this.multipleSelection); |
| | | for (var i in this.multipleSelection) { |
| | | std.push(this.multipleSelection[i].id); |
| | | } |
| | |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | |
| | | .then(async () => { |
| | | const data = await deleteDicts({ ids: std.toString() }); |
| | | if (data.code != 200) { |
| | | this.$message.error("列表删除失败"); |
| | | } |
| | | this.$message({ |
| | | type: "success", |
| | | message: "删除成功!", |
| | |
| | | this.selectFromData(10, 1, this.searchName); |
| | | this.countFromData(this.searchName); |
| | | }, |
| | | startQueryNameData() { |
| | | |
| | | }, |
| | | //搜索框 |
| | | changeQueryName(val) { |
| | | this.searchName = val; |
| | | this.startFromData(); |
| | | this.listData.tab = val; |
| | | this.startQueryNameData(); |
| | | }, |
| | | }, |
| | | }; |