|
@@ -1,42 +1,84 @@
|
|
|
<template>
|
|
|
-
|
|
|
- <xc-combo-grid-v2
|
|
|
- v-model="obj.code"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- v-model:data="data"/>
|
|
|
-
|
|
|
- <el-button @click="测试('04.0412')">测试1</el-button>
|
|
|
- <el-button @click="测试('11')">测试2</el-button>
|
|
|
-
|
|
|
+ <el-form>
|
|
|
+ <el-row :gutter="2">
|
|
|
+ <el-col v-for="item in testJson.header" :span="item.col || 4">
|
|
|
+ <el-form-item :label="item.label">
|
|
|
+ <component
|
|
|
+ v-model="queryParam[item.key]"
|
|
|
+ v-bind="item.bind"
|
|
|
+ :is="el[item.name]">
|
|
|
+ <template v-if="item.selectData">
|
|
|
+ <el-option :label="select.name"
|
|
|
+ :value="select.code"
|
|
|
+ v-for="select in item.selectData"/>
|
|
|
+ </template>
|
|
|
+ {{ item.text }}
|
|
|
+ </component>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="3">
|
|
|
+ <el-button @click="执行查询">查询</el-button>
|
|
|
+ <el-button>重置</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
</template>
|
|
|
|
|
|
-<script setup>
|
|
|
-import XcComboGridV2 from "@/components/xiao-chan/combo-grid/XcComboGridV2.vue";
|
|
|
-import {obtainSurgicalItems} from "@/api/zhu-yuan-yi-sheng/shou-shu-shen-qing";
|
|
|
+<script setup lang="ts">
|
|
|
+import * as el from "element-plus";
|
|
|
+import {onMounted, ref} from 'vue'
|
|
|
+import XEUtils from 'xe-utils'
|
|
|
|
|
|
-const model = ref('')
|
|
|
+interface codeName {
|
|
|
+ code: string | number
|
|
|
+ name: string
|
|
|
+}
|
|
|
|
|
|
-const obj = ref({
|
|
|
- code: '',
|
|
|
- codeName: '',
|
|
|
-})
|
|
|
+interface header {
|
|
|
+ name: string
|
|
|
+ bind?: any,
|
|
|
+ text?: string
|
|
|
+ key?: string
|
|
|
+ label?: string
|
|
|
+ col?: number
|
|
|
+ selectData?: codeName[]
|
|
|
+}
|
|
|
|
|
|
-const data = ref([])
|
|
|
+interface componentType {
|
|
|
+ header: Array<header>,
|
|
|
+ querySql: string,
|
|
|
+}
|
|
|
|
|
|
-const queryOperation = (val) => {
|
|
|
- return obtainSurgicalItems(val, 0)
|
|
|
+let testJson: componentType = {
|
|
|
+ header: [
|
|
|
+ {name: 'ElInput', label: '人员编码', bind: {style: {width: "220px"}}, key: 'code'},
|
|
|
+ {
|
|
|
+ name: 'ElSelect', label: '停用', key: 'del_flag',
|
|
|
+ selectData: [
|
|
|
+ {code: 1, name: '删除'},
|
|
|
+ {code: 2, name: '启用'},
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ querySql: "select * from a_employee_mi where 1=1 <if> and code = '{{code}}' </if> <if> and isnull(del_flag, '0') = '{{del_flag}}' </if>",
|
|
|
}
|
|
|
|
|
|
-const 测试 = (val) => {
|
|
|
- obj.value.code = val
|
|
|
+const queryParam = ref({})
|
|
|
+
|
|
|
+const 执行查询 = () => {
|
|
|
+ let regex = /<if>([\s\S]*?)<\/if>/g;
|
|
|
+ let match = regex.exec(testJson.querySql);
|
|
|
+
|
|
|
+ console.log(match)
|
|
|
+ console.log(XEUtils.template(testJson.querySql, queryParam.value));
|
|
|
}
|
|
|
|
|
|
-onMounted(async () => {
|
|
|
- data.value = await obtainSurgicalItems('12', 0)
|
|
|
+onMounted(() => {
|
|
|
+ testJson.header.forEach(item => {
|
|
|
+ queryParam.value[item.key] = ''
|
|
|
+ })
|
|
|
+ console.log(queryParam.value)
|
|
|
+ console.log(el)
|
|
|
})
|
|
|
-</script>
|
|
|
-
|
|
|
-<style lang="scss">
|
|
|
|
|
|
-</style>
|
|
|
+</script>
|