|
@@ -110,7 +110,6 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { setTableFilters } from "@/utils/table";
|
|
|
import Dialog from "@/layout/components/Dialog/index.vue";
|
|
|
import NoData from "@/components/nodata";
|
|
|
import AdvanceQuery from './components/advanceQuery.vue';
|
|
@@ -122,10 +121,10 @@ import TableHeaderCell from '@/components/TableHeaderCell/index.vue';
|
|
|
export default {
|
|
|
name: "DataTable",
|
|
|
props: {
|
|
|
- dataContent: {
|
|
|
- type: Object,
|
|
|
- default: () => ({}),
|
|
|
- },
|
|
|
+ // dataContent: {
|
|
|
+ // type: Object,
|
|
|
+ // default: () => ({}),
|
|
|
+ // },
|
|
|
//弹框宽度
|
|
|
width: {
|
|
|
type: String,
|
|
@@ -221,6 +220,8 @@ export default {
|
|
|
urlParams: {},
|
|
|
authId: '',
|
|
|
tableDataSortRules: {},
|
|
|
+ tableKey: '',
|
|
|
+ dataContent: {}
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
@@ -348,8 +349,14 @@ export default {
|
|
|
if (code == 0) {
|
|
|
if (returnData && returnData.length) {
|
|
|
const titleColumn = returnData.find(
|
|
|
- (item) => item.needShow === 1
|
|
|
+ (item) => item.needShow == 1
|
|
|
+ );
|
|
|
+ const columnName = returnData.find(
|
|
|
+ (item) => item.columnKey == 1
|
|
|
);
|
|
|
+ if (Object.keys(columnName).length && columnName) {
|
|
|
+ this.tableKey = columnName['columnName']
|
|
|
+ }
|
|
|
if (titleColumn) {
|
|
|
this.rowTitle = titleColumn.columnName;
|
|
|
}
|
|
@@ -561,12 +568,79 @@ export default {
|
|
|
this.loading = false;
|
|
|
}
|
|
|
},
|
|
|
+ formatChange (data, event, key) {
|
|
|
+ const datas = []
|
|
|
+ const flag = Array.isArray(data)
|
|
|
+ if (flag) {
|
|
|
+ for (let i = 0; i < data.length; i++) {
|
|
|
+ let obj = {}
|
|
|
+ if (event == 1) {
|
|
|
+ obj.Value = data[i]
|
|
|
+ } else if (event == 2) {
|
|
|
+ obj.Value = data[i]
|
|
|
+ obj.filter = {}
|
|
|
+ if (Array.isArray(key)) {
|
|
|
+ const keys = []
|
|
|
+ const vals = []
|
|
|
+ obj.filter = []
|
|
|
+ for (let j = 0; j < key.length; j++) {
|
|
|
+ const dep = key[i]
|
|
|
+ keys.push(Object.keys(dep))
|
|
|
+ vals.push(Object.values(dep))
|
|
|
+ }
|
|
|
+ const nobj = {
|
|
|
+ "left": "(",
|
|
|
+ "column": `${keys[i]}`,
|
|
|
+ "comparator": "=",
|
|
|
+ "value": `${vals[i]}`,
|
|
|
+ "right": ")",
|
|
|
+ "connector": "and"
|
|
|
+ }
|
|
|
+ obj.filter.push(nobj)
|
|
|
+ if (obj.Value.hasOwnProperty(keys[i])) {
|
|
|
+ delete obj.Value[keys[i]]
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ obj.filter[key] = data[i][key]
|
|
|
+ if (obj.Value[key]) {
|
|
|
+ delete obj.Value[key]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ obj = data[i]
|
|
|
+ }
|
|
|
+ datas.push(obj)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ let obj = {}
|
|
|
+ if (event == 1) {
|
|
|
+ obj.Value = data
|
|
|
+ } else if (event == 2) {
|
|
|
+ obj.Value = data
|
|
|
+ obj.filter = [{
|
|
|
+ "left": "(",
|
|
|
+ "column": `${key}`,
|
|
|
+ "comparator": "=",
|
|
|
+ "value": `${data[key]}`,
|
|
|
+ "right": ")",
|
|
|
+ "connector": "and"
|
|
|
+ }]
|
|
|
+ if (obj.Value[key]) {
|
|
|
+ delete obj.Value[key]
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ obj = data
|
|
|
+ }
|
|
|
+ datas.push(obj)
|
|
|
+ }
|
|
|
+ return datas
|
|
|
+ },
|
|
|
//表格-增/删/改
|
|
|
- async generalDataReception (event, data) {
|
|
|
+ async generalDataReception (event, data, key) {
|
|
|
try {
|
|
|
const params = {
|
|
|
serviceId: this.serviceId,
|
|
|
- dataContent: data,
|
|
|
+ dataContent: this.formatChange(data, event, key),
|
|
|
event: `${event}`,
|
|
|
};
|
|
|
const { code } =
|
|
@@ -815,11 +889,10 @@ export default {
|
|
|
this.$refs["ruleForm"].validate((valid) => {
|
|
|
if (valid) {
|
|
|
if (this.tableType == "add") {
|
|
|
- this.tableForm.event = 1;
|
|
|
+ this.generalDataReception(1, this.tableForm);
|
|
|
} else {
|
|
|
- this.tableForm.event = 2;
|
|
|
+ this.generalDataReception(2, this.tableForm, this.tableKey);
|
|
|
}
|
|
|
- this.generalDataReception(this.tableForm.event, this.tableForm);
|
|
|
} else {
|
|
|
return false;
|
|
|
}
|