|
@@ -0,0 +1,139 @@
|
|
|
+<template>
|
|
|
+ <el-dialog
|
|
|
+ :visible.sync="modalIsShow"
|
|
|
+ :title="title"
|
|
|
+ top="10vh"
|
|
|
+ width="540px"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ append-to-body
|
|
|
+ @opened="visibleChange"
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ :model="modalForm"
|
|
|
+ :rules="rules"
|
|
|
+ ref="modalFormComp"
|
|
|
+ label-width="100px"
|
|
|
+ >
|
|
|
+ <el-form-item label="客户端版本:" prop="clientVersion">
|
|
|
+ <el-input
|
|
|
+ v-model="modalForm.clientVersion"
|
|
|
+ placeholder="请输入版本号"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="服务端版本:" prop="serverVersion">
|
|
|
+ <el-input
|
|
|
+ v-model="modalForm.serverVersion"
|
|
|
+ placeholder="请输入版本号"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ <br />
|
|
|
+ <p class="tips-info mt-1">需要录入多个版本用英文逗号隔开</p>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <div slot="footer">
|
|
|
+ <el-button type="danger" @click="cancel" plain>取消</el-button>
|
|
|
+ <el-button type="primary" :disabled="isSubmit" @click="submit"
|
|
|
+ >确认</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { versionSave } from "@/modules/admin/api";
|
|
|
+
|
|
|
+const initModalForm = {
|
|
|
+ clientVersion: "",
|
|
|
+ serverVersion: "",
|
|
|
+};
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: "ModifyVersion",
|
|
|
+ props: {
|
|
|
+ instance: {
|
|
|
+ type: Object,
|
|
|
+ default() {
|
|
|
+ return {};
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+
|
|
|
+ data() {
|
|
|
+ const versionReg = /^v?[0-9]+(\.[0-9]+)*$/;
|
|
|
+ const serverVersionValidator = (rule, value, callback) => {
|
|
|
+ if (!value) return callback();
|
|
|
+ const versions = value.split(",");
|
|
|
+ if (versions.some((v) => !versionReg.test(v))) {
|
|
|
+ callback(new Error("请输入正确的版本号"));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ return {
|
|
|
+ modalIsShow: false,
|
|
|
+ isSubmit: false,
|
|
|
+ modalForm: { ...initModalForm },
|
|
|
+ rules: {
|
|
|
+ clientVersion: [
|
|
|
+ { required: true, message: "请输入客户端版本号" },
|
|
|
+ {
|
|
|
+ pattern: versionReg,
|
|
|
+ message: "请输入正确的版本号",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ serverVersion: [
|
|
|
+ { required: true, message: "请输入服务端版本号" },
|
|
|
+ {
|
|
|
+ validator: serverVersionValidator,
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ isEdit() {
|
|
|
+ return !!this.instance.id;
|
|
|
+ },
|
|
|
+ title() {
|
|
|
+ return (this.isEdit ? "管理" : "新增") + "版本";
|
|
|
+ },
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ visibleChange() {
|
|
|
+ if (this.instance.id) {
|
|
|
+ this.modalForm = this.$objAssign(initModalForm, this.instance);
|
|
|
+ } else {
|
|
|
+ this.modalForm = { ...initModalForm };
|
|
|
+ }
|
|
|
+ this.$refs.modalFormComp.clearValidate();
|
|
|
+ },
|
|
|
+ open() {
|
|
|
+ this.modalIsShow = true;
|
|
|
+ },
|
|
|
+ cancel() {
|
|
|
+ this.modalIsShow = false;
|
|
|
+ },
|
|
|
+ async submit() {
|
|
|
+ const valid = await this.$refs.modalFormComp.validate();
|
|
|
+ if (!valid) return;
|
|
|
+
|
|
|
+ if (this.isSubmit) return;
|
|
|
+ this.isSubmit = true;
|
|
|
+ const datas = { ...this.modalForm };
|
|
|
+ const res = await versionSave(datas).catch(() => {});
|
|
|
+ this.isSubmit = false;
|
|
|
+
|
|
|
+ if (!res) return;
|
|
|
+ this.$message.success("保存成功");
|
|
|
+ this.$emit("modified");
|
|
|
+ this.cancel();
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|