提交 28cd138e authored 作者: 王鹏飞's avatar 王鹏飞

Merge branch 'pro' into gdrtvu

......@@ -52,6 +52,7 @@
"typescript": "~5.4.5",
"unplugin-auto-import": "^0.17.5",
"vite": "^5.2.10",
"vite-plugin-mkcert": "^1.17.6",
"vue-tsc": "^1.8.27"
}
},
......@@ -1397,6 +1398,173 @@
"unplugin": "^1.0.1"
}
},
"node_modules/@octokit/auth-token": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
"integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/core": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz",
"integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@octokit/auth-token": "^4.0.0",
"@octokit/graphql": "^7.1.0",
"@octokit/request": "^8.3.1",
"@octokit/request-error": "^5.1.0",
"@octokit/types": "^13.0.0",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/endpoint": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz",
"integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@octokit/types": "^13.1.0",
"universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/graphql": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz",
"integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@octokit/request": "^8.3.0",
"@octokit/types": "^13.0.0",
"universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/openapi-types": {
"version": "22.2.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz",
"integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==",
"dev": true,
"license": "MIT"
},
"node_modules/@octokit/plugin-paginate-rest": {
"version": "11.3.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz",
"integrity": "sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@octokit/types": "^13.5.0"
},
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"@octokit/core": "5"
}
},
"node_modules/@octokit/plugin-request-log": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz",
"integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"@octokit/core": "5"
}
},
"node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "13.2.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz",
"integrity": "sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@octokit/types": "^13.5.0"
},
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"@octokit/core": "^5"
}
},
"node_modules/@octokit/request": {
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz",
"integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@octokit/endpoint": "^9.0.1",
"@octokit/request-error": "^5.1.0",
"@octokit/types": "^13.1.0",
"universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/request-error": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz",
"integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@octokit/types": "^13.1.0",
"deprecation": "^2.0.0",
"once": "^1.4.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/rest": {
"version": "20.1.1",
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.1.tgz",
"integrity": "sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@octokit/core": "^5.0.2",
"@octokit/plugin-paginate-rest": "11.3.1",
"@octokit/plugin-request-log": "^4.0.0",
"@octokit/plugin-rest-endpoint-methods": "13.2.2"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/types": {
"version": "13.6.1",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.1.tgz",
"integrity": "sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@octokit/openapi-types": "^22.2.0"
}
},
"node_modules/@popperjs/core": {
"name": "@sxzz/popperjs-es",
"version": "2.11.7",
......@@ -2850,9 +3018,10 @@
}
},
"node_modules/axios": {
"version": "1.6.8",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
"integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
"version": "1.7.7",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz",
"integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
......@@ -2936,6 +3105,13 @@
],
"peer": true
},
"node_modules/before-after-hook": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
"integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==",
"dev": true,
"license": "Apache-2.0"
},
"node_modules/big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
......@@ -3843,12 +4019,13 @@
"dev": true
},
"node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"ms": "2.1.2"
"ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
......@@ -3947,6 +4124,13 @@
"node": ">=0.4.0"
}
},
"node_modules/deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
"dev": true,
"license": "ISC"
},
"node_modules/des.js": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz",
......@@ -6219,10 +6403,11 @@
}
},
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
"license": "MIT"
},
"node_modules/muggle-string": {
"version": "0.3.1",
......@@ -6789,9 +6974,10 @@
"optional": true
},
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
"license": "ISC"
},
"node_modules/picomatch": {
"version": "2.3.1",
......@@ -8532,6 +8718,13 @@
"imurmurhash": "^0.1.4"
}
},
"node_modules/universal-user-agent": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
"integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==",
"dev": true,
"license": "ISC"
},
"node_modules/unplugin": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.10.0.tgz",
......@@ -8900,6 +9093,25 @@
}
}
},
"node_modules/vite-plugin-mkcert": {
"version": "1.17.6",
"resolved": "https://registry.npmjs.org/vite-plugin-mkcert/-/vite-plugin-mkcert-1.17.6.tgz",
"integrity": "sha512-4JR1RN0HEg/w17eRQJ/Ve2pSa6KCVQcQO6yKtIaKQCFDyd63zGfXHWpygBkvvRSpqa0GcqNKf0fjUJ0HiJQXVQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@octokit/rest": "^20.1.1",
"axios": "^1.7.4",
"debug": "^4.3.6",
"picocolors": "^1.0.1"
},
"engines": {
"node": ">=v16.7.0"
},
"peerDependencies": {
"vite": ">=3"
}
},
"node_modules/vm-browserify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
......
......@@ -59,6 +59,7 @@
"typescript": "~5.4.5",
"unplugin-auto-import": "^0.17.5",
"vite": "^5.2.10",
"vite-plugin-mkcert": "^1.17.6",
"vue-tsc": "^1.8.27"
}
}
<script setup lang="ts">
interface Props {
data: any
}
defineProps<Props>()
</script>
<template>
<div class="material-preview">
<template v-if="data.type == 1">
<!-- 文本 -->
<el-input type="textarea" :model-value="data.content"></el-input>
</template>
<template v-if="['2', '6', '7', '8'].includes(data.type)">
<!-- 图片|二维码|小程序|卡券 -->
<img :src="data.content" />
</template>
<template v-if="data.type == 3">
<!-- 语音 -->
<div>
<audio :src="data.content" controls v-if="data.content"></audio>
</div>
</template>
<template v-if="data.type == 4">
<!-- 视频 -->
<video controls :src="data.content" style="width: 100%" v-if="data.content"></video>
</template>
<template v-if="data.type == 5">
<el-input :model-value="data.content" placeholder="请输入">
<template #prepend>https://</template>
<template #append v-if="data.content">
<a :href="data.content" target="_blank">查看</a>
</template>
</el-input>
</template>
</div>
</template>
<style lang="scss">
.material-preview {
width: 100%;
margin-top: 10px;
* {
max-width: 100%;
}
}
</style>
......@@ -112,7 +112,7 @@ function updateNode() {
</el-dialog>
</template>
<style lang="scss">
<style lang="scss" scoped>
.el-card {
.el-form-item:last-child {
margin-bottom: 0;
......
......@@ -2,6 +2,7 @@
import ConfigTemplate from '../../ConfigTemplate.vue'
import { useMaterial, useConnection } from '../../../composables/useAllData'
import { useMapStore } from '@/stores/map'
const MaterialPreview = defineAsyncComponent(() => import('@/components/MaterialPreview.vue'))
const props = defineProps<{ node: any }>()
......@@ -27,6 +28,7 @@ watchEffect(() => {
})
const { connectionList } = useConnection(2)
const material = computed(() => materialList.value.find(item => item.id === form.material_id))
</script>
<template>
......@@ -60,6 +62,7 @@ const { connectionList } = useConnection(2)
<el-select placeholder="请选择资料内容" v-model="form.material_id" style="width: 100%">
<el-option v-for="item in materialList" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
<MaterialPreview :data="material" v-if="material"></MaterialPreview>
</el-form-item>
</template>
</template>
......
......@@ -2,6 +2,7 @@
import ConfigTemplate from '../../ConfigTemplate.vue'
import { useMaterial, useConnection } from '../../../composables/useAllData'
import { useMapStore } from '@/stores/map'
const MaterialPreview = defineAsyncComponent(() => import('@/components/MaterialPreview.vue'))
const props = defineProps<{ node: any }>()
......@@ -31,6 +32,8 @@ watchEffect(() => {
})
const { connectionList } = useConnection(6)
const material = computed(() => materialList.value.find(item => item.id === form.material_id))
</script>
<template>
......@@ -64,6 +67,7 @@ const { connectionList } = useConnection(6)
<el-select placeholder="请选择资料内容" v-model="form.material_id" style="width: 100%">
<el-option v-for="item in materialList" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
<MaterialPreview :data="material" v-if="material"></MaterialPreview>
</el-form-item>
</template>
</template>
......
......@@ -3,6 +3,8 @@ import ConfigTemplate from '../../ConfigTemplate.vue'
import { useMaterial, useConnection } from '../../../composables/useAllData'
import { useMapStore } from '@/stores/map'
const MaterialPreview = defineAsyncComponent(() => import('@/components/MaterialPreview.vue'))
const props = defineProps<{ node: any }>()
const role = inject('role') as string
......@@ -26,6 +28,8 @@ watchEffect(() => {
materialType.value = form.material_type
})
const { connectionList } = useConnection(9)
const material = computed(() => materialList.value.find(item => item.id === form.material_id))
</script>
<template>
......@@ -59,6 +63,7 @@ const { connectionList } = useConnection(9)
<el-select placeholder="请选择资料内容" v-model="form.material_id" style="width: 100%">
<el-option v-for="item in materialList" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
<MaterialPreview :data="material" v-if="material"></MaterialPreview>
</el-form-item>
</template>
</template>
......
......@@ -3,6 +3,8 @@ import ConfigTemplate from '../../ConfigTemplate.vue'
import { useMaterial, useConnection } from '../../../composables/useAllData'
import { useMapStore } from '@/stores/map'
const MaterialPreview = defineAsyncComponent(() => import('@/components/MaterialPreview.vue'))
const props = defineProps<{ node: any }>()
const role = inject('role') as string
......@@ -24,6 +26,8 @@ watchEffect(() => {
})
const { connectionList } = useConnection(1)
const material = computed(() => materialList.value.find(item => item.id === form.material_id))
</script>
<template>
......@@ -41,6 +45,7 @@ const { connectionList } = useConnection(1)
<el-select placeholder="请选择资料内容" v-model="form.material_id" style="width: 100%">
<el-option v-for="item in materialList" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
<MaterialPreview :data="material" v-if="material"></MaterialPreview>
</el-form-item>
</template>
<template v-else-if="step === 1">
......
<script setup lang="ts">
import ConfigTemplate from '../../ConfigTemplate.vue'
import { useConnection } from '../../../composables/useAllData'
import { useConnection, useMaterial } from '../../../composables/useAllData'
const MaterialPreview = defineAsyncComponent(() => import('@/components/MaterialPreview.vue'))
const props = defineProps<{ node: any }>()
......@@ -9,7 +11,8 @@ const role = inject('role') as string
const form = reactive({
operate: '',
connection_id: '',
message: ''
message: '',
material_id: ''
})
watchEffect(() => {
Object.assign(form, props.node.data[role])
......@@ -17,7 +20,17 @@ watchEffect(() => {
const operateList = ref([{ label: '发送消息', value: '0' }])
const { materialList } = useMaterial('1')
const { connectionList } = useConnection(10)
const material = computed(() => materialList.value.find(item => item.id === form.material_id))
watch(material, () => {
if (material.value) {
form.message = material.value.content
}
})
</script>
<template>
......@@ -40,9 +53,15 @@ const { connectionList } = useConnection(10)
</el-form-item>
</template>
<template v-else-if="step === 2">
<el-form-item prop="message">
<el-input v-model="form.message" :rows="3" type="textarea" placeholder="请输入短信内容"></el-input>
<el-form-item>
<el-select placeholder="请选择资料内容" v-model="form.material_id" style="width: 100%">
<el-option v-for="item in materialList" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
<MaterialPreview :data="material" v-if="material"></MaterialPreview>
</el-form-item>
<!-- <el-form-item prop="message">
<el-input v-model="form.message" :rows="3" type="textarea" placeholder="请输入短信内容"></el-input>
</el-form-item> -->
</template>
</template>
</ConfigTemplate>
......
......@@ -3,6 +3,8 @@ import ConfigTemplate from '../../ConfigTemplate.vue'
import { useMaterial, useConnection } from '../../../composables/useAllData'
import { useMapStore } from '@/stores/map'
const MaterialPreview = defineAsyncComponent(() => import('@/components/MaterialPreview.vue'))
const props = defineProps<{ node: any }>()
const role = inject('role') as string
......@@ -30,6 +32,8 @@ watchEffect(() => {
materialType.value = form.material_type
})
const { connectionList } = useConnection(7)
const material = computed(() => materialList.value.find(item => item.id === form.material_id))
</script>
<template>
......@@ -63,6 +67,7 @@ const { connectionList } = useConnection(7)
<el-select placeholder="请选择资料内容" v-model="form.material_id" style="width: 100%">
<el-option v-for="item in materialList" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
<MaterialPreview :data="material" v-if="material"></MaterialPreview>
</el-form-item>
</template>
</template>
......
......@@ -3,6 +3,8 @@ import ConfigTemplate from '../../ConfigTemplate.vue'
import { useMaterial, useConnection } from '../../../composables/useAllData'
import { useMapStore } from '@/stores/map'
const MaterialPreview = defineAsyncComponent(() => import('@/components/MaterialPreview.vue'))
const props = defineProps<{ node: any }>()
const role = inject('role') as string
......@@ -31,6 +33,8 @@ watchEffect(() => {
})
const { connectionList } = useConnection(8)
const material = computed(() => materialList.value.find(item => item.id === form.material_id))
</script>
<template>
......@@ -64,6 +68,7 @@ const { connectionList } = useConnection(8)
<el-select placeholder="请选择资料内容" v-model="form.material_id" style="width: 100%">
<el-option v-for="item in materialList" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
<MaterialPreview :data="material" v-if="material"></MaterialPreview>
</el-form-item>
</template>
</template>
......
......@@ -2,7 +2,13 @@
import { useMapStore } from '@/stores/map'
import { useConnection } from '../composables/useConnection'
import { useIndustry } from '../composables/useIndustry'
import { getNameByValue, materialMethodList, materialUsageList, materialUsersList, materialPictureStyleList } from '@/utils/dictionary'
import {
getNameByValue,
materialMethodList,
materialUsageList,
materialUsersList,
materialPictureStyleList
} from '@/utils/dictionary'
import AppUpload from '@/components/base/AppUpload.vue'
const props = defineProps(['data'])
......@@ -29,7 +35,9 @@ const typeName = computed(() => {
<!-- 图片AI -->
<el-form-item label="图片风格" prop="extend_info.picture_style">
<el-radio-group :modelValue="data.extend_info.picture_style">
<el-radio v-for="item in materialPictureStyleList" :key="item.id" :value="item.value">{{ item.label }}</el-radio>
<el-radio v-for="item in materialPictureStyleList" :key="item.id" :value="item.value">{{
item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="人物描述" prop="extend_info.person_des">
......@@ -64,7 +72,11 @@ const typeName = computed(() => {
</el-radio-group>
</el-form-item>
<el-form-item label="关键点" prop="key_points">
<el-input type="textarea" :rows="4" :model-value="data.key_points" placeholder="请输入内容的核心内容或者关键点,多个请使用英文“,”号进行隔离。" />
<el-input
type="textarea"
:rows="4"
:model-value="data.key_points"
placeholder="请输入内容的核心内容或者关键点,多个请使用英文“,”号进行隔离。" />
</el-form-item>
</template>
<el-form-item :label="`${typeName}资源`" prop="content">
......@@ -95,8 +107,8 @@ const typeName = computed(() => {
<a :href="data.content" target="_blank">查看</a>
</template>
</el-input>
</template></el-form-item
>
</template>
</el-form-item>
</el-form>
<template #footer>
<el-button type="primary" @click="$emit('update:modelValue')">关闭</el-button>
......
import fs from 'node:fs'
import path from 'node:path'
// import fs from 'node:fs'
// import path from 'node:path'
import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
......@@ -7,10 +7,12 @@ import vue from '@vitejs/plugin-vue'
// import checker from 'vite-plugin-checker'
import AutoImport from 'unplugin-auto-import/vite'
import ReactivityTransform from '@vue-macros/reactivity-transform/vite'
import mkcert from 'vite-plugin-mkcert'
export default defineConfig(() => ({
// base: mode === 'prod' ? 'https://webapp-pub.ezijing.com/website/prod/saas-dml/' : '/',
plugins: [
mkcert(),
vue(),
AutoImport({
imports: ['vue', 'vue-router', '@vueuse/core'],
......@@ -23,10 +25,10 @@ export default defineConfig(() => ({
server: {
open: true,
host: 'dev.ezijing.com',
https: {
key: fs.readFileSync(path.join(__dirname, './https/ezijing.com.key')),
cert: fs.readFileSync(path.join(__dirname, './https/ezijing.com.pem'))
},
// https: {
// key: fs.readFileSync(path.join(__dirname, './https/ezijing.com.key')),
// cert: fs.readFileSync(path.join(__dirname, './https/ezijing.com.pem'))
// },
proxy: {
// '/api/resource': {
// target: 'http://com-resource-admin-test.ezijing.com/',
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论