Skip to content

Commit 80c851d

Browse files
author
piexlmax
committed
系统功能板块setup改造完成
1 parent 5442b82 commit 80c851d

File tree

7 files changed

+550
-521
lines changed

7 files changed

+550
-521
lines changed

web/src/view/example/breakpoint/breakpoint.vue

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@
2222
</div>
2323
</transition>
2424
</div>
25-
<!-- <span
26-
v-if="this.file"
27-
>{{Math.floor(((this.formDataList.length-this.waitNum)/this.formDataList.length)*100)}}%</span> -->
2825
<div class="tips">此版本为先行体验功能测试版,样式美化和性能优化正在进行中,上传切片文件和合成的完整文件分别再QMPlusserver目录的breakpointDir文件夹和fileDir文件夹</div>
2926
</div>
3027
</div>

web/src/view/systemTools/autoCode/component/fieldDialog.vue

Lines changed: 95 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
style="width:100%"
3131
placeholder="请选择field数据类型"
3232
clearable
33-
@change="getDbfdOptions"
3433
>
3534
<el-option
3635
v-for="item in typeOptions"
@@ -79,103 +78,109 @@
7978
</div>
8079
</template>
8180

82-
<script>
81+
<script setup>
82+
8383
import { toLowerCase, toSQLLine } from '@/utils/stringFun'
8484
import { getSysDictionaryList } from '@/api/sysDictionary'
8585
import warningBar from '@/components/warningBar/warningBar.vue'
86+
import { ref, defineProps, defineExpose } from 'vue-demi'
8687
87-
export default {
88-
name: 'FieldDialog',
89-
components: { warningBar },
90-
props: {
91-
dialogMiddle: {
92-
type: Object,
93-
default: function() {
94-
return {}
95-
}
88+
const props = defineProps({
89+
dialogMiddle: {
90+
type: Object,
91+
default: function() {
92+
return {}
9693
}
94+
}
95+
})
96+
97+
const middleDate = ref({})
98+
const dictOptions = ref([])
99+
const typeSearchOptions = ref([
100+
{
101+
label: '=',
102+
value: '='
97103
},
98-
data() {
99-
return {
100-
middleDate: {},
101-
dictOptions: [],
102-
typeSearchOptions: [
103-
{
104-
label: '=',
105-
value: '='
106-
},
107-
{
108-
label: '<>',
109-
value: '<>'
110-
},
111-
{
112-
label: '>',
113-
value: '>'
114-
},
115-
{
116-
label: '<',
117-
value: '<'
118-
},
119-
{
120-
label: 'LIKE',
121-
value: 'LIKE'
122-
}
123-
],
124-
typeOptions: [
125-
{
126-
label: '字符串',
127-
value: 'string'
128-
},
129-
{
130-
label: '整型',
131-
value: 'int'
132-
},
133-
{
134-
label: '布尔值',
135-
value: 'bool'
136-
},
137-
{
138-
label: '浮点型',
139-
value: 'float64'
140-
},
141-
{
142-
label: '时间',
143-
value: 'time.Time'
144-
}
145-
],
146-
rules: {
147-
fieldName: [
148-
{ required: true, message: '请输入field英文名', trigger: 'blur' }
149-
],
150-
fieldDesc: [
151-
{ required: true, message: '请输入field中文名', trigger: 'blur' }
152-
],
153-
fieldJson: [
154-
{ required: true, message: '请输入field格式化json', trigger: 'blur' }
155-
],
156-
columnName: [
157-
{ required: true, message: '请输入数据库字段', trigger: 'blur' }
158-
],
159-
fieldType: [
160-
{ required: true, message: '请选择field数据类型', trigger: 'blur' }
161-
]
162-
}
163-
}
104+
{
105+
label: '<>',
106+
value: '<>'
164107
},
165-
async created() {
166-
this.middleDate = this.dialogMiddle
167-
const dictRes = await getSysDictionaryList({
168-
page: 1,
169-
pageSize: 999999
170-
})
171-
172-
this.dictOptions = dictRes.data.list
108+
{
109+
label: '>',
110+
value: '>'
111+
},
112+
{
113+
label: '<',
114+
value: '<'
115+
},
116+
{
117+
label: 'LIKE',
118+
value: 'LIKE'
119+
}
120+
])
121+
const typeOptions = ref([
122+
{
123+
label: '字符串',
124+
value: 'string'
125+
},
126+
{
127+
label: '整型',
128+
value: 'int'
129+
},
130+
{
131+
label: '布尔值',
132+
value: 'bool'
173133
},
174-
methods: {
175-
autoFill() {
176-
this.middleDate.fieldJson = toLowerCase(this.middleDate.fieldName)
177-
this.middleDate.columnName = toSQLLine(this.middleDate.fieldJson)
178-
},
134+
{
135+
label: '浮点型',
136+
value: 'float64'
137+
},
138+
{
139+
label: '时间',
140+
value: 'time.Time'
179141
}
142+
])
143+
const rules = ref({
144+
fieldName: [
145+
{ required: true, message: '请输入field英文名', trigger: 'blur' }
146+
],
147+
fieldDesc: [
148+
{ required: true, message: '请输入field中文名', trigger: 'blur' }
149+
],
150+
fieldJson: [
151+
{ required: true, message: '请输入field格式化json', trigger: 'blur' }
152+
],
153+
columnName: [
154+
{ required: true, message: '请输入数据库字段', trigger: 'blur' }
155+
],
156+
fieldType: [
157+
{ required: true, message: '请选择field数据类型', trigger: 'blur' }
158+
]
159+
})
160+
161+
const init = async() => {
162+
middleDate.value = props.dialogMiddle
163+
const dictRes = await getSysDictionaryList({
164+
page: 1,
165+
pageSize: 999999
166+
})
167+
168+
dictOptions.value = dictRes.data.list
169+
}
170+
init()
171+
172+
const autoFill = () => {
173+
middleDate.value.fieldJson = toLowerCase(middleDate.value.fieldName)
174+
middleDate.value.columnName = toSQLLine(middleDate.value.fieldJson)
175+
}
176+
177+
const fieldDialogFrom = ref(null)
178+
defineExpose({ fieldDialogFrom })
179+
</script>
180+
181+
<script>
182+
183+
export default {
184+
name: 'FieldDialog'
180185
}
181186
</script>

web/src/view/systemTools/autoCode/component/previewCodeDialg.vue

Lines changed: 65 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -8,70 +8,78 @@
88
</div>
99
</template>
1010

11-
<script>
11+
<script setup>
1212
import marked from 'marked'
1313
import hljs from 'highlight.js'
14-
// import 'highlight.js/styles/atelier-cave-light.css';
1514
import 'highlight.js/styles/atelier-plateau-light.css'
16-
export default {
17-
props: {
18-
previewCode: {
19-
type: Object,
20-
default() {
21-
return {}
22-
}
23-
}
24-
},
25-
data() {
26-
return {
27-
activeName: ''
28-
}
29-
},
30-
mounted() {
31-
marked.setOptions({
32-
renderer: new marked.Renderer(),
33-
highlight: function(code) {
34-
return hljs.highlightAuto(code).value
35-
},
36-
pedantic: false,
37-
gfm: true,
38-
tables: true,
39-
breaks: false,
40-
sanitize: false,
41-
smartLists: true,
42-
smartypants: false,
43-
xhtml: false
44-
})
45-
for (const key in this.previewCode) {
46-
if (this.activeName === '') {
47-
this.activeName = key
48-
}
49-
document.getElementById(key).innerHTML = marked(this.previewCode[key])
15+
import { onMounted, ref } from 'vue-demi'
16+
import { ElMessage } from 'element-plus'
17+
import { defineProps, defineExpose } from 'vue'
18+
19+
const props = defineProps({
20+
previewCode: {
21+
type: Object,
22+
default() {
23+
return {}
5024
}
51-
},
52-
methods: {
53-
selectText() {
54-
const element = document.getElementById(this.activeName)
55-
if (document.body.createTextRange) {
56-
const range = document.body.createTextRange()
57-
range.moveToElementText(element)
58-
range.select()
59-
} else if (window.getSelection) {
60-
const selection = window.getSelection()
61-
const range = document.createRange()
62-
range.selectNodeContents(element)
63-
selection.removeAllRanges()
64-
selection.addRange(range)
65-
} else {
66-
alert('none')
67-
}
25+
}
26+
})
27+
28+
onMounted(() => {
29+
marked.setOptions({
30+
renderer: new marked.Renderer(),
31+
highlight: function(code) {
32+
return hljs.highlightAuto(code).value
6833
},
69-
copy() {
70-
this.selectText()
71-
document.execCommand('copy')
72-
this.$message.success('复制成功')
34+
pedantic: false,
35+
gfm: true,
36+
tables: true,
37+
breaks: false,
38+
sanitize: false,
39+
smartLists: true,
40+
smartypants: false,
41+
xhtml: false
42+
})
43+
for (const key in props.previewCode) {
44+
if (this.activeName === '') {
45+
this.activeName = key
7346
}
47+
document.getElementById(key).innerHTML = marked(props.previewCode[key])
48+
}
49+
})
50+
51+
const activeName = ref('')
52+
53+
const selectText = () => {
54+
const element = document.getElementById(activeName.value)
55+
if (document.body.createTextRange) {
56+
const range = document.body.createTextRange()
57+
range.moveToElementText(element)
58+
range.select()
59+
} else if (window.getSelection) {
60+
const selection = window.getSelection()
61+
const range = document.createRange()
62+
range.selectNodeContents(element)
63+
selection.removeAllRanges()
64+
selection.addRange(range)
65+
} else {
66+
alert('none')
7467
}
68+
}
69+
const copy = () => {
70+
selectText()
71+
document.execCommand('copy')
72+
ElMessage.success('复制成功')
73+
}
74+
75+
defineExpose({ copy })
76+
77+
</script>
78+
79+
<script>
80+
81+
export default {
82+
7583
}
7684
</script>
7785

0 commit comments

Comments
 (0)