|
@@ -0,0 +1,789 @@
|
|
|
+<!--
|
|
|
+ * @Date: 2021-11-19 11:34:20
|
|
|
+ * @LastEditTime: 2022-03-02 09:41:02
|
|
|
+ * @LastEditors: Please set LastEditors
|
|
|
+ * @Description: 目标数据-基本信息
|
|
|
+-->
|
|
|
+<template>
|
|
|
+ <div class="dataStoreInfo">
|
|
|
+ <!--基本信息-->
|
|
|
+ <div class="airportInfoDetails-head">
|
|
|
+ <Search title="编辑目标数据信息" :isSearch="false">
|
|
|
+ <button class="childBtnAn" @click="storagemod">保存</button>
|
|
|
+ </Search>
|
|
|
+ <div class="airportInfoDetails-head-content dialog-public-background">
|
|
|
+ <el-form
|
|
|
+ :inline="true"
|
|
|
+ :rules="rules"
|
|
|
+ :model="ruleForm"
|
|
|
+ ref="ruleForm"
|
|
|
+ class="demo-ruleForm"
|
|
|
+ label-width="140px"
|
|
|
+ >
|
|
|
+ <el-form-item label="目标数据名" prop="name">
|
|
|
+ <el-input
|
|
|
+ size="medium"
|
|
|
+ maxlength="128"
|
|
|
+ placeholder="请输入目标数据名"
|
|
|
+ v-model="ruleForm.name"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="数据类型" prop="tag">
|
|
|
+ <el-select
|
|
|
+ size="medium"
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="ruleForm.tag"
|
|
|
+ placeholder="请选择数据类型"
|
|
|
+ >
|
|
|
+ <el-option label="Mysql_local" value="1"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="目标数据事件标识" prop="fullName">
|
|
|
+ <el-input
|
|
|
+ size="medium"
|
|
|
+ maxlength="128"
|
|
|
+ placeholder="请输入目标数据事件标识"
|
|
|
+ v-model="ruleForm.fullName"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-row>
|
|
|
+ <el-form-item label="目标数据描述" prop="code">
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-input
|
|
|
+ maxlength="128"
|
|
|
+ placeholder="请输入描述"
|
|
|
+ v-model="ruleForm.code"
|
|
|
+ ></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!--数据项信息-->
|
|
|
+ <div class="airportInfoDetails-content">
|
|
|
+ <Search
|
|
|
+ style="padding-left: 24px"
|
|
|
+ :isChild="true"
|
|
|
+ title="数据项信息"
|
|
|
+ @clearSearchData="clearSearchData"
|
|
|
+ @getSearchData="getSearchData"
|
|
|
+ >
|
|
|
+ <button @click="addStore" class="childBtnAdd">新增</button>
|
|
|
+ </Search>
|
|
|
+ <div class="table-info">
|
|
|
+ <el-table
|
|
|
+ :data="posArr"
|
|
|
+ row-key="id"
|
|
|
+ :row-class-name="tabRowClassName"
|
|
|
+ height="56vh"
|
|
|
+ :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
|
|
|
+ class="table"
|
|
|
+ style="width: 100%"
|
|
|
+ :header-cell-style="{ 'text-align': 'center' }"
|
|
|
+ :cell-style="{ 'text-align': 'center' }"
|
|
|
+ >
|
|
|
+ <el-table-column prop="itemName" label="数据项名称"></el-table-column>
|
|
|
+ <el-table-column prop="itemCode" label="数据项标识"></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="dataTypeName"
|
|
|
+ label="数据类型"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="canNullName"
|
|
|
+ label="数据项描述"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="isOnlyMarkName"
|
|
|
+ label="数据来源表达式"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="analysisDataItemName"
|
|
|
+ label="是否必填"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="analysisDataItemName"
|
|
|
+ label="是否唯一"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column label="操作">
|
|
|
+ <div
|
|
|
+ slot-scope="scope"
|
|
|
+ style="
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ class="fut"
|
|
|
+ size="small"
|
|
|
+ @click="handleEdit(scope.$index, scope.row)"
|
|
|
+ >新增</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ class="fut"
|
|
|
+ size="small"
|
|
|
+ @click="handleEdit(scope.$index, scope.row)"
|
|
|
+ >编辑</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ class="futdel"
|
|
|
+ size="small"
|
|
|
+ type="danger"
|
|
|
+ @click="handleDelete(scope.$index, scope.row)"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!--删除弹框-->
|
|
|
+ <Dialog :flag="flag">
|
|
|
+ <div class="airportInfoDialog">
|
|
|
+ <div class="del-title">删除存储数据项</div>
|
|
|
+ <div class="content er">
|
|
|
+ <div class="log"></div>
|
|
|
+ 是否确认删除{{ rmObj.name }}?
|
|
|
+ </div>
|
|
|
+ <div class="foot right t30" style="background: #ffffff">
|
|
|
+ <el-button size="medium" @click="remove" class="r25 r26" type="danger"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ <el-button size="medium" class="r26" @click="flag = false"
|
|
|
+ >取消</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </Dialog>
|
|
|
+ <!--新增/编辑存储数据项弹框-->
|
|
|
+ <Dialog width="657px" customClass="dataStoreInfoDialog" :flag="addFlag">
|
|
|
+ <div class="dialog-public-background">
|
|
|
+ <div class="flx">{{ msgType === 1 ? "新增" : "编辑" }}存储数据项</div>
|
|
|
+ <div class="contenter">
|
|
|
+ <el-form
|
|
|
+ :model="dataForm"
|
|
|
+ :rules="dataRules"
|
|
|
+ ref="dataForm"
|
|
|
+ label-width="100px"
|
|
|
+ class="demo-dataForm"
|
|
|
+ >
|
|
|
+ <el-row :gutter="24">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item class="flex1" label="名称" prop="name">
|
|
|
+ <el-input
|
|
|
+ maxlength="128"
|
|
|
+ size="medium"
|
|
|
+ placeholder="请输入名称"
|
|
|
+ v-model="dataForm.name"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="24">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item class="flex1" label="标识" prop="code">
|
|
|
+ <el-input
|
|
|
+ maxlength="128"
|
|
|
+ size="medium"
|
|
|
+ placeholder="请输入标识"
|
|
|
+ v-model="dataForm.code"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item class="flex1" label="数据类型" prop="tag">
|
|
|
+ <el-select
|
|
|
+ size="medium"
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="dataForm.tag"
|
|
|
+ placeholder="请选择数据类型"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in optiondata"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="24">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item class="flexer" label="允许空值">
|
|
|
+ <el-radio v-model="dataForm.isnull" label="1">是</el-radio>
|
|
|
+ <el-radio v-model="dataForm.isnull" label="0">否</el-radio>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item class="flexer" label="唯一项标志">
|
|
|
+ <el-radio v-model="dataForm.uninq" label="1">是</el-radio>
|
|
|
+ <el-radio v-model="dataForm.uninq" label="0">否</el-radio>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="24">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="取值来源">
|
|
|
+ <el-select
|
|
|
+ size="medium"
|
|
|
+ v-model="sourceider"
|
|
|
+ placeholder="请选择取值来源"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in sourceList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.sourceName"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item class="noleft">
|
|
|
+ <el-select
|
|
|
+ size="medium"
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="dataForm.datas"
|
|
|
+ placeholder="请选择数据项"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in tableData"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.itemName"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="24">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item class="flex1" label="取值优先级" prop="priority">
|
|
|
+ <el-input
|
|
|
+ maxlength="128"
|
|
|
+ size="medium"
|
|
|
+ type="number"
|
|
|
+ placeholder="请输入优先级"
|
|
|
+ v-model="dataForm.priority"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <div class="foot center" style="padding-right: 35px">
|
|
|
+ <el-button
|
|
|
+ v-is="['ds_dsp_cardEdit_store_edit_submit']"
|
|
|
+ size="medium"
|
|
|
+ type="primary"
|
|
|
+ @click="addSubmit('dataForm')"
|
|
|
+ class="r25 r26"
|
|
|
+ >提交</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ v-is="['ds_dsp_cardEdit_store_edit_cancel']"
|
|
|
+ size="medium"
|
|
|
+ class="r26"
|
|
|
+ @click="resetForm('dataForm')"
|
|
|
+ >取消</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </Dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import Search from "@/layout/components/Search/index.vue";
|
|
|
+import Dialog from "@/layout/components/Dialog/index.vue";
|
|
|
+import {
|
|
|
+ Datastorage,
|
|
|
+ Datastoragemod,
|
|
|
+ storageList,
|
|
|
+ analysisList,
|
|
|
+ anaListmod,
|
|
|
+ storageListadd,
|
|
|
+ storageListdel,
|
|
|
+} from "@/api/acquisition";
|
|
|
+import { translateDataToTreeAll, findarrays } from "@/utils/validate";
|
|
|
+export default {
|
|
|
+ name: "dataStoreInfo",
|
|
|
+ components: { Search, Dialog },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ ruleForm: {
|
|
|
+ //基本信息表单
|
|
|
+ name: "",
|
|
|
+ fullName: "",
|
|
|
+ code: "",
|
|
|
+ tag: "",
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ //基本信息验证
|
|
|
+ name: [{ required: true, message: "请输入存储名称", trigger: "blur" }],
|
|
|
+ fullName: [
|
|
|
+ { required: true, message: "请输入存储标识", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ tag: [{ required: true, message: "请选择存储方式", trigger: "change" }],
|
|
|
+ },
|
|
|
+ posArr: [], //存储数据项数据
|
|
|
+ posArrCopy: [], //临时存放数据
|
|
|
+ rmObj: {}, //选中的表格信息
|
|
|
+ rmIndex: null, //选中的表格序号
|
|
|
+ flag: false, //删除弹框
|
|
|
+ msgType: 1, //新增or编辑
|
|
|
+ dataForm: {
|
|
|
+ //数据项表单
|
|
|
+ id: "",
|
|
|
+ name: "",
|
|
|
+ demo: "",
|
|
|
+ code: "",
|
|
|
+ tag: "",
|
|
|
+ uninq: "1",
|
|
|
+ isnull: "1",
|
|
|
+ form: "",
|
|
|
+ datas: "",
|
|
|
+ priority: "",
|
|
|
+ analysisDataItemSourceId: "",
|
|
|
+ },
|
|
|
+ dataRules: {
|
|
|
+ //数据项表单验证
|
|
|
+ name: [{ required: true, message: "请输入存储名称", trigger: "blur" }],
|
|
|
+ code: [{ required: true, message: "请输入存储标识", trigger: "blur" }],
|
|
|
+ tag: [{ required: true, message: "请选择存储方式", trigger: "change" }],
|
|
|
+ priority: [
|
|
|
+ { required: true, message: "请选取值优先级", trigger: "change" },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ addFlag: false, //数据项弹框,
|
|
|
+ dataStoreid: "", //修改id,
|
|
|
+ analyList: [], //遍历后的确定数据
|
|
|
+ dataitem: [], //所属数据项
|
|
|
+ optiondata: [
|
|
|
+ //数据类型
|
|
|
+ {
|
|
|
+ name: "字符",
|
|
|
+ id: 1,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "数字",
|
|
|
+ id: 2,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "日期",
|
|
|
+ id: 3,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "时间",
|
|
|
+ id: 4,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ sourceList: [], //取值来源
|
|
|
+ sourceider: "", //取值来源id
|
|
|
+ tableData: [],
|
|
|
+ deleID: "", //删除id
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ const { id } = this.$route.query;
|
|
|
+ this.dataStoreid = id;
|
|
|
+ this.AcquisitionList();
|
|
|
+ this.DatastorageList();
|
|
|
+ this.storagedetails();
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ sourceider() {
|
|
|
+ this.Dataitem();
|
|
|
+ },
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ tabRowClassName({ row, rowIndex }) {
|
|
|
+ if (row.index) {
|
|
|
+ let index = row.index + 1;
|
|
|
+ if (index % 2 == 0) {
|
|
|
+ return "warning-row";
|
|
|
+ } else {
|
|
|
+ return "warning-rows";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //数据采集列表-取值来源
|
|
|
+ async AcquisitionList() {
|
|
|
+ const result = await analysisList();
|
|
|
+ if (result.code == 0) {
|
|
|
+ this.sourceList = result.returnData;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //数据项信息
|
|
|
+ async Dataitem() {
|
|
|
+ let params = {
|
|
|
+ sourceId: this.sourceider,
|
|
|
+ };
|
|
|
+ const result = await anaListmod(params);
|
|
|
+ if (result.code == 0) {
|
|
|
+ this.tableData = result.returnData;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //详情查询
|
|
|
+ async storagedetails() {
|
|
|
+ let params = {
|
|
|
+ targetId: this.dataStoreid,
|
|
|
+ };
|
|
|
+ const result = await storageList(params);
|
|
|
+ if (result.code == 0) {
|
|
|
+ result.returnData.forEach((element) => {
|
|
|
+ if (element.dataType == "1") {
|
|
|
+ element.dataTypeName = "字符";
|
|
|
+ } else if (element.dataType == "2") {
|
|
|
+ element.dataTypeName = "数字";
|
|
|
+ } else if (element.dataType == "3") {
|
|
|
+ element.dataTypeName = "日期";
|
|
|
+ } else {
|
|
|
+ element.dataTypeName = "时间";
|
|
|
+ }
|
|
|
+ if (element.canNull == true) {
|
|
|
+ element.canNullName = "是";
|
|
|
+ } else {
|
|
|
+ element.canNullName = "否";
|
|
|
+ }
|
|
|
+ if (element.isOnlyMark == true) {
|
|
|
+ element.isOnlyMarkName = "是";
|
|
|
+ } else {
|
|
|
+ element.isOnlyMarkName = "否";
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.posArr = translateDataToTreeAll(
|
|
|
+ result.returnData,
|
|
|
+ "parentItemID",
|
|
|
+ "id"
|
|
|
+ );
|
|
|
+ this.posArr.forEach((res, index) => {
|
|
|
+ res.index = index + 1;
|
|
|
+ });
|
|
|
+ this.dataitem = result.returnData;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //保存
|
|
|
+ async storagemod() {
|
|
|
+ let params = {
|
|
|
+ id: this.dataStoreid,
|
|
|
+ targetName: this.ruleForm.name, //储存名称
|
|
|
+ targetCode: this.ruleForm.fullName, //储存标识
|
|
|
+ saveType: this.ruleForm.tag, //储存类型
|
|
|
+ saveInfo: this.ruleForm.code, //储存目标
|
|
|
+ status: this.analyList[0].status,
|
|
|
+ };
|
|
|
+ const result = await Datastoragemod(params);
|
|
|
+ if (result.code == 0) {
|
|
|
+ this.$message.success("成功");
|
|
|
+ this.$router.push("/dataStore");
|
|
|
+ } else {
|
|
|
+ this.$message.error(result.message);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //数据存储列
|
|
|
+ async DatastorageList() {
|
|
|
+ const result = await Datastorage();
|
|
|
+ if (result.code == 0) {
|
|
|
+ this.analyList = result.returnData.filter(
|
|
|
+ (i) => i.id == this.dataStoreid
|
|
|
+ );
|
|
|
+ this.ruleForm.name = this.analyList[0].targetName; //储存名称
|
|
|
+ this.ruleForm.fullName = this.analyList[0].targetCode; //储存标识
|
|
|
+ this.ruleForm.tag = this.analyList[0].saveType; //储存类型
|
|
|
+ this.ruleForm.code = this.analyList[0].saveInfo; //储存目标
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //搜索
|
|
|
+ getSearchData(val) {
|
|
|
+ let that = this;
|
|
|
+ that.storagedetails().then(function (data) {
|
|
|
+ if (val) {
|
|
|
+ that.posArr = findarrays(that.posArr, "itemName", val);
|
|
|
+ } else {
|
|
|
+ that.storagedetails();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //清空搜索
|
|
|
+ clearSearchData() {
|
|
|
+ this.posArr = this.posArrCopy;
|
|
|
+ },
|
|
|
+ //编辑信息
|
|
|
+ handleEdit(index, row) {
|
|
|
+ this.rmObj = row;
|
|
|
+ this.rmIndex = index;
|
|
|
+ this.msgType = 2;
|
|
|
+ this.addFlag = true;
|
|
|
+ const {
|
|
|
+ id,
|
|
|
+ itemName,
|
|
|
+ itemCode,
|
|
|
+ dataType,
|
|
|
+ isOnlyMark,
|
|
|
+ canNull,
|
|
|
+ sourceDataAnalysisId,
|
|
|
+ dataLevel,
|
|
|
+ parentItemID,
|
|
|
+ analysisDataItemSourceId,
|
|
|
+ } = row;
|
|
|
+ this.dataForm.id = id;
|
|
|
+ this.dataForm.name = itemName;
|
|
|
+ this.dataForm.code = itemCode;
|
|
|
+ this.dataForm.tag = Number(dataType);
|
|
|
+ this.dataForm.uninq = isOnlyMark === true ? "1" : "0";
|
|
|
+ this.dataForm.isnull = canNull === true ? "1" : "0";
|
|
|
+ this.dataForm.datas = sourceDataAnalysisId;
|
|
|
+ this.dataForm.priority = dataLevel;
|
|
|
+ this.dataForm.demo = parentItemID == 0 ? null : parentItemID;
|
|
|
+ this.sourceider = analysisDataItemSourceId;
|
|
|
+ },
|
|
|
+ //删除信息
|
|
|
+ handleDelete(index, row) {
|
|
|
+ this.rmObj = row;
|
|
|
+ this.rmIndex = index;
|
|
|
+ this.flag = true;
|
|
|
+ this.deleID = row.id;
|
|
|
+ },
|
|
|
+ //删除
|
|
|
+ async remove() {
|
|
|
+ let params = {
|
|
|
+ id: this.deleID,
|
|
|
+ };
|
|
|
+ const result = await storageListdel(params);
|
|
|
+ if (result.code == 0) {
|
|
|
+ this.$message.success("成功");
|
|
|
+ } else {
|
|
|
+ this.$message.error(result.message);
|
|
|
+ }
|
|
|
+ this.storagedetails();
|
|
|
+ this.flag = false;
|
|
|
+ },
|
|
|
+ //新增数据项
|
|
|
+ addStore() {
|
|
|
+ this.msgType = 1;
|
|
|
+ this.addFlag = true;
|
|
|
+ },
|
|
|
+ //存储数据项-提交
|
|
|
+ async addSubmit(formName) {
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ // this.$message.success("提交成功");
|
|
|
+ // this.resetForm(formName);
|
|
|
+ } else {
|
|
|
+ console.log("error submit!!");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (this.msgType === 1) {
|
|
|
+ let params = {
|
|
|
+ id: "",
|
|
|
+ targetDataID: this.dataStoreid,
|
|
|
+ parentItemID: this.dataForm.demo ? this.dataForm.demo : 0, //所属数据项
|
|
|
+ itemName: this.dataForm.name, //名称
|
|
|
+ itemCode: this.dataForm.code, //标识
|
|
|
+ dataType: this.dataForm.tag, //数据类型
|
|
|
+ isOnlyMark: this.dataForm.uninq == 1 ? true : false, //唯一项标志
|
|
|
+ canNull: this.dataForm.isnull == 1 ? true : false, //允许空值
|
|
|
+ sourceDataAnalysisId: this.dataForm.datas, //取值来源
|
|
|
+ dataLevel: this.dataForm.priority, //取值优先级
|
|
|
+ };
|
|
|
+ const result = await storageListadd(params);
|
|
|
+ if (result.code == 0) {
|
|
|
+ this.storagedetails();
|
|
|
+ this.$message.success("成功");
|
|
|
+ this.resetForm(formName);
|
|
|
+ this.dataForm = this.$options.data().dataForm;
|
|
|
+ this.sourceider = null;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ let params = {
|
|
|
+ id: this.dataForm.id,
|
|
|
+ targetDataID: this.dataStoreid,
|
|
|
+ parentItemID: this.dataForm.demo ? this.dataForm.demo : 0, //所属数据项
|
|
|
+ itemName: this.dataForm.name, //名称
|
|
|
+ itemCode: this.dataForm.code, //标识
|
|
|
+ dataType: this.dataForm.tag, //数据类型
|
|
|
+ isOnlyMark: this.dataForm.uninq == 1 ? true : false, //唯一项标志
|
|
|
+ canNull: this.dataForm.isnull == 1 ? true : false, //允许空值
|
|
|
+ sourceDataAnalysisId: this.dataForm.datas, //取值来源
|
|
|
+ dataLevel: this.dataForm.priority, //取值优先级
|
|
|
+ };
|
|
|
+ const result = await storageListadd(params);
|
|
|
+ if (result.code == 0) {
|
|
|
+ this.storagedetails();
|
|
|
+ this.$message.success("成功");
|
|
|
+ this.resetForm(formName);
|
|
|
+ this.dataForm = this.$options.data().dataForm;
|
|
|
+ this.sourceider = null;
|
|
|
+ }
|
|
|
+ this.resetForm(formName);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //存储数据项-取消
|
|
|
+ resetForm(formName) {
|
|
|
+ this.addFlag = false;
|
|
|
+ this.dataForm = this.$options.data().dataForm;
|
|
|
+ this.sourceider = null;
|
|
|
+ this.$refs[formName].resetFields();
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.dataStoreInfo {
|
|
|
+ ::v-deep .warning-row {
|
|
|
+ background: #f0f3f7;
|
|
|
+ }
|
|
|
+ ::v-deep .warning-rows {
|
|
|
+ background: #ffffff;
|
|
|
+ }
|
|
|
+ .log {
|
|
|
+ width: 26px;
|
|
|
+ height: 26px;
|
|
|
+ background: #eb2f3b;
|
|
|
+ border-radius: 50%;
|
|
|
+ margin-right: 15px;
|
|
|
+ background: url("../../../../assets/index/ic_close_hint.png") no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ }
|
|
|
+ .fut {
|
|
|
+ width: 48px;
|
|
|
+ height: 24px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ background: #ffffff;
|
|
|
+ border: 1px solid #9ebbf7;
|
|
|
+ box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06);
|
|
|
+ border-radius: 4px;
|
|
|
+ font-size: 12px;
|
|
|
+ font-family: Microsoft YaHei;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #2d67e3;
|
|
|
+ }
|
|
|
+ .futdel {
|
|
|
+ width: 48px;
|
|
|
+ height: 24px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ background: #eb2f3b;
|
|
|
+ box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.06);
|
|
|
+ border-radius: 4px;
|
|
|
+ font-size: 12px;
|
|
|
+ font-family: Microsoft YaHei;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #ffffff;
|
|
|
+ }
|
|
|
+ .contenter {
|
|
|
+ padding: 0 24px 0 24px;
|
|
|
+ }
|
|
|
+ .flexer {
|
|
|
+ margin-left: 0;
|
|
|
+ }
|
|
|
+ // ::v-deep .cell {
|
|
|
+ // display: flex;
|
|
|
+ // }
|
|
|
+ .er {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+ .airportInfoDetails-head {
|
|
|
+ padding: 32px 40px 44px 24px;
|
|
|
+ background: #ffffff;
|
|
|
+ box-shadow: 8px 6px 7px 0px rgba(0, 0, 0, 0.06);
|
|
|
+ border-radius: 4px;
|
|
|
+ .airportInfoDetails-head-content {
|
|
|
+ margin-top: 48px;
|
|
|
+ .el-input {
|
|
|
+ min-width: 188px;
|
|
|
+ }
|
|
|
+ .el-form--inline .el-form-item {
|
|
|
+ margin-bottom: 0;
|
|
|
+ margin-right: 48px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .airportInfoDetails-content {
|
|
|
+ // height: 56vh;
|
|
|
+ overflow-x: hidden;
|
|
|
+ overflow-y: hidden;
|
|
|
+ padding: 0 0 0 0;
|
|
|
+ background: #dfe3ea;
|
|
|
+ // box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.06);
|
|
|
+ border-radius: 4px;
|
|
|
+ margin-top: 10px;
|
|
|
+ .table-info {
|
|
|
+ margin-top: 8px;
|
|
|
+ ::v-deep .table {
|
|
|
+ .el-table__header {
|
|
|
+ .has-gutter {
|
|
|
+ color: #101116;
|
|
|
+ .is-leaf {
|
|
|
+ height: 40px;
|
|
|
+ background: #ffffff;
|
|
|
+ &:first-child {
|
|
|
+ border-top-left-radius: 4px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .gutter {
|
|
|
+ background: #ffffff;
|
|
|
+ border-top-right-radius: 4px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ td.el-table__cell,
|
|
|
+ th.el-table__cell.is-leaf {
|
|
|
+ border-bottom: none;
|
|
|
+ }
|
|
|
+ .el-table__cell {
|
|
|
+ padding: 16px 0;
|
|
|
+ // background: #f5f7fa;
|
|
|
+ }
|
|
|
+ .el-table__row--level-1 {
|
|
|
+ td {
|
|
|
+ background: #dfe4ec;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tr {
|
|
|
+ transition: all 0.3s;
|
|
|
+ &:hover {
|
|
|
+ td {
|
|
|
+ background-color: #cbd7ee;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ &::before {
|
|
|
+ width: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ::v-deep .dataStoreInfoDialog {
|
|
|
+ .demo-dataForm {
|
|
|
+ .noleft {
|
|
|
+ .el-form-item__content {
|
|
|
+ margin-left: 0 !important;
|
|
|
+ margin-right: 0 !important;
|
|
|
+ width: 300px;
|
|
|
+ .el-input__suffix {
|
|
|
+ right: 23px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ::v-deep .el-input__suffix {
|
|
|
+ right: 15px;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|