|
@@ -0,0 +1,163 @@
|
|
|
+<template>
|
|
|
+ <el-dialog
|
|
|
+ v-model="dialogFormVisible"
|
|
|
+ :title="title"
|
|
|
+ width="600px"
|
|
|
+ @close="close"
|
|
|
+ >
|
|
|
+ <el-form ref="formRef" label-width="80px" :model="form" :rules="rules">
|
|
|
+ <el-form-item label="发布日期" prop="releaseAtStr">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.releaseAtStr"
|
|
|
+ format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择发布日期"
|
|
|
+ style="width: 100%"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="版本号" prop="versionCode">
|
|
|
+ <el-input v-model="form.versionCode" placeholder="请输入版本号" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="版本内容" prop="versionContent">
|
|
|
+ <el-input
|
|
|
+ v-model="form.versionContent"
|
|
|
+ placeholder="请输入版本更新内容并用;隔开"
|
|
|
+ rows="5"
|
|
|
+ type="textarea"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="所用工时">
|
|
|
+ <el-input
|
|
|
+ v-model="form.workHour"
|
|
|
+ placeholder="请输入所用工时"
|
|
|
+ type="number"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="注意事项">
|
|
|
+ <el-input
|
|
|
+ v-model="form.versionNote"
|
|
|
+ placeholder="请输入注意事项"
|
|
|
+ rows="5"
|
|
|
+ type="textarea"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="更新人员" prop="updateAdmin">
|
|
|
+ <el-input v-model="form.updateAdmin" placeholder="请输入更新人员" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <template #footer>
|
|
|
+ <el-button @click="close">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="save">确 定</el-button>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import { doAdd, getList } from '../api/index'
|
|
|
+
|
|
|
+ export default defineComponent({
|
|
|
+ name: 'VersionEdit',
|
|
|
+ emits: ['fetch-data'],
|
|
|
+ setup(props, { emit }) {
|
|
|
+ const $baseMessage = inject('$baseMessage')
|
|
|
+ const state = reactive({
|
|
|
+ formRef: null,
|
|
|
+ form: {
|
|
|
+ versionCode: '',
|
|
|
+ versionContent: '',
|
|
|
+ workHour: '',
|
|
|
+ versionNote: '',
|
|
|
+ updateAdmin: '',
|
|
|
+ releaseAtStr: '',
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ versionCode: [
|
|
|
+ { required: true, trigger: 'blur', message: '请输入版本号' },
|
|
|
+ ],
|
|
|
+ versionContent: [
|
|
|
+ { required: true, trigger: 'blur', message: '请输入版本内容' },
|
|
|
+ ],
|
|
|
+ releaseAtStr: [
|
|
|
+ { required: true, trigger: 'change', message: '请选择发布日期' },
|
|
|
+ ],
|
|
|
+ updateAdmin: [
|
|
|
+ { required: true, trigger: 'blur', message: '请输入更新人员' },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ title: '',
|
|
|
+ dialogFormVisible: false,
|
|
|
+ list: [],
|
|
|
+ })
|
|
|
+ //添加编辑数据接受
|
|
|
+ const showEdit = () => {
|
|
|
+ state.title = '添加'
|
|
|
+ state.dialogFormVisible = true
|
|
|
+ fetchData()
|
|
|
+ }
|
|
|
+ //关闭
|
|
|
+ const close = () => {
|
|
|
+ state['formRef'].resetFields()
|
|
|
+ state.form = {
|
|
|
+ name: '',
|
|
|
+ description: '',
|
|
|
+ }
|
|
|
+ state.dialogFormVisible = false
|
|
|
+ }
|
|
|
+ //编辑保存
|
|
|
+ const save = () => {
|
|
|
+ state['formRef'].validate(async (valid) => {
|
|
|
+ if (valid) {
|
|
|
+ state.form.versionContent = state.form.versionContent.replace(
|
|
|
+ /;/g,
|
|
|
+ ';'
|
|
|
+ )
|
|
|
+ state.form.updateAdmin = state.form.updateAdmin.replace(/;/g, ';')
|
|
|
+ const { msg } = await doAdd(state.form)
|
|
|
+ $baseMessage(msg, 'success', 'vab-hey-message-success')
|
|
|
+ emit('fetch-data')
|
|
|
+ close()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ const fetchData = async () => {
|
|
|
+ state.listLoading = true
|
|
|
+ const { data } = await getList({})
|
|
|
+ const list = data.records
|
|
|
+ if (list.length) {
|
|
|
+ state.form.versionCode = list[0].versionCode
|
|
|
+ incrementVersion(state.form.versionCode)
|
|
|
+ } else {
|
|
|
+ state.form.versionCode = '1.0.0'
|
|
|
+ }
|
|
|
+ state.listLoading = false
|
|
|
+ }
|
|
|
+ const incrementVersion = (version) => {
|
|
|
+ const parts = version.split('.')
|
|
|
+ const lastPart = parseInt(parts[parts.length - 1], 10)
|
|
|
+ parts[parts.length - 1] = lastPart + 1
|
|
|
+ state.form.versionCode = parts.join('.')
|
|
|
+ }
|
|
|
+ onMounted(() => {})
|
|
|
+ return {
|
|
|
+ ...toRefs(state),
|
|
|
+ incrementVersion,
|
|
|
+ fetchData,
|
|
|
+ showEdit,
|
|
|
+ close,
|
|
|
+ save,
|
|
|
+ }
|
|
|
+ },
|
|
|
+ })
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+ .vab-tree-border {
|
|
|
+ width: 100%;
|
|
|
+ height: 250px;
|
|
|
+ padding: $base-padding;
|
|
|
+ overflow-y: auto;
|
|
|
+ border: 1px solid #dcdfe6;
|
|
|
+ border-radius: $base-border-radius;
|
|
|
+ }
|
|
|
+</style>
|