版本管理新增LILI版本
continuous-integration/drone/push Build is passing

This commit is contained in:
DESKTOP-6C3NK6N\WXS
2024-09-23 15:17:16 +08:00
parent f17f1d6a6b
commit 692fd7bc97
3 changed files with 224 additions and 183 deletions
+70 -42
View File
@@ -9,10 +9,16 @@
label-width="120px"
size="small"
>
<el-form-item label="发布版本" prop="Version">
<el-form-item :label="$t('system:log:form:version')" prop="Version">
<el-input v-model="form.Version" />
</el-form-item>
<el-form-item label="更新功能" prop="UpdateContent">
<el-form-item :label="$t('system:log:form:versionUS')" prop="Version">
<el-input v-model="form.Version_US" />
</el-form-item>
<el-form-item
:label="$t('system:log:form:updateContent')"
prop="UpdateContent"
>
<el-input
v-model="form.UpdateContent"
type="textarea"
@@ -20,8 +26,8 @@
:autosize="{ minRows: 4, maxRows: 5 }"
/>
</el-form-item>
<el-form-item label="发布状态" prop="State">
<el-select v-model="form.State" placeholder="请选择">
<el-form-item :label="$t('system:log:form:State')" prop="State">
<el-select v-model="form.State" placeholder="">
<el-option
v-for="item in $d.PublishStatus"
:key="item.id"
@@ -31,15 +37,18 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="发布日期">
<el-form-item :label="$t('system:log:form:PublishTime')">
<el-date-picker
v-model="form.PublishTime"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
/>
</el-form-item>
<el-form-item label="是否当前版本" prop="IsCurrentVersion">
<el-select v-model="form.IsCurrentVersion" placeholder="请选择">
<el-form-item
:label="$t('system:log:form:IsCurrentVersion')"
prop="IsCurrentVersion"
>
<el-select v-model="form.IsCurrentVersion" placeholder="">
<el-option
v-for="item in $d.YesOrNo"
:key="item.id"
@@ -52,30 +61,31 @@
</el-form>
</template>
<template slot="dialog-footer">
<el-button size="small" type="primary" @click="handleCancle"
>取消</el-button
>
<el-button size="small" type="primary" @click="handleSave"
>保存</el-button
>
<el-button size="small" type="primary" @click="handleCancle">
{{ $t('common:button:cancel') }}
</el-button>
<el-button size="small" type="primary" @click="handleSave">
{{ $t('common:button:save') }}
</el-button>
</template>
</base-model>
</template>
<script>
import { addOrUpdatePublishLog } from "@/api/admin";
import BaseModel from "@/components/BaseModel";
import { addOrUpdatePublishLog } from '@/api/admin'
import BaseModel from '@/components/BaseModel'
const formDataDefault = () => {
return {
Id: null,
Version: null,
Version_US: null,
PublishTime: null,
UpdateContent: null,
State: null,
IsCurrentVersion: null,
};
};
}
}
export default {
name: "LogForm",
name: 'LogForm',
components: { BaseModel },
data() {
return {
@@ -83,69 +93,87 @@ export default {
form: formDataDefault(),
rules: {
Version: [
{ required: true, message: "请注明", trigger: "blur" },
{ max: 50, message: `${this.$t("common:ruleMessage:maxLength")} 50` },
{
required: true,
message: this.$t('common:ruleMessage:specify'),
trigger: 'blur',
},
{ max: 50, message: `${this.$t('common:ruleMessage:maxLength')} 50` },
],
// PublishTime: [
// { required: true, message: '请注明', trigger: 'blur' }
// ],
IsCurrentVersion: [
{ required: true, message: "请选择", trigger: "blur" },
{
required: true,
message: this.$t('common:ruleMessage:select'),
trigger: 'blur',
},
],
State: [
{
required: true,
message: this.$t('common:ruleMessage:select'),
trigger: 'blur',
},
],
State: [{ required: true, message: "请选择", trigger: "blur" }],
UpdateContent: [
{ required: true, message: "请注明", trigger: "blur" },
{
required: true,
message: this.$t('common:ruleMessage:specify'),
trigger: 'blur',
},
{
max: 1000,
message: `${this.$t("common:ruleMessage:maxLength")} 500`,
message: `${this.$t('common:ruleMessage:maxLength')} 500`,
},
],
},
model_cfg: {
visible: false,
showClose: true,
width: "500px",
title: "",
width: '500px',
title: '',
appendToBody: true,
},
};
}
},
mounted() {},
methods: {
openDialog(title, data) {
this.model_cfg.visible = true;
this.model_cfg.title = title;
this.model_cfg.visible = true
this.model_cfg.title = title
if (Object.keys(data).length > 0) {
for (const k in this.form) {
if (data.hasOwnProperty(k)) {
this.form[k] = data[k];
this.form[k] = data[k]
}
}
} else {
this.form = formDataDefault();
this.form = formDataDefault()
}
},
handleSave() {
this.$refs.LogForm.validate((valid) => {
if (!valid) return;
this.loading = true;
if (!valid) return
this.loading = true
addOrUpdatePublishLog(this.form)
.then((res) => {
this.loading = false;
this.$message.success(this.$t("common:message:savedSuccessfully"));
this.model_cfg.visible = false;
this.$emit("getList");
this.loading = false
this.$message.success(this.$t('common:message:savedSuccessfully'))
this.model_cfg.visible = false
this.$emit('getList')
})
.catch(() => {
this.loading = false;
});
});
this.loading = false
})
})
},
handleCancle() {
this.model_cfg.visible = false;
this.model_cfg.visible = false
},
},
};
}
</script>
<style lang="scss" scoped>
::v-deep .el-select,
+62 -51
View File
@@ -2,9 +2,12 @@
<div class="log">
<div ref="leftContainer" class="left">
<el-form :inline="true">
<el-form-item label="发布版本" prop="Version">
<el-form-item :label="$t('system:log:table:version')" prop="Version">
<el-input v-model="searchData.Version" size="small" clearable />
</el-form-item>
<el-form-item :label="$t('system:log:table:versionUS')" prop="Version">
<el-input v-model="searchData.Version_US" size="small" clearable />
</el-form-item>
<el-form-item label="更新功能" prop="UpdateContent">
<el-input v-model="searchData.UpdateContent" size="small" clearable />
</el-form-item>
@@ -38,30 +41,37 @@
>
<el-table-column type="index" width="50" />
<el-table-column
label="发布版本"
:label="$t('system:log:table:version')"
prop="Version"
min-width="90"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
label="更新功能"
:label="$t('system:log:table:versionUS')"
prop="Version_US"
min-width="90"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
:label="$t('system:log:table:UpdateContent')"
prop="UpdateContent"
min-width="150"
show-overflow-tooltip
/>
<el-table-column
label="发布状态"
:label="$t('system:log:table:State')"
prop="State"
min-width="150"
show-overflow-tooltip
>
<template slot-scope="scope">
<span>{{ $fd("PublishStatus", scope.row.State) }}</span>
<span>{{ $fd('PublishStatus', scope.row.State) }}</span>
</template>
</el-table-column>
<el-table-column
label="发布日期"
:label="$t('system:log:table:PublishTime')"
prop="PublishTime"
min-width="90"
show-overflow-tooltip
@@ -70,23 +80,23 @@
<template slot-scope="scope">
{{
scope.row.PublishTime
? moment(scope.row.PublishTime).format("YYYY-MM-DD")
: ""
? moment(scope.row.PublishTime).format('YYYY-MM-DD')
: ''
}}
</template>
</el-table-column>
<el-table-column
label="是否当前版本"
:label="$t('system:log:table:IsCurrentVersion')"
prop="IsCurrentVersion"
min-width="150"
show-overflow-tooltip
>
<template slot-scope="scope">
<span>{{ $fd("YesOrNo", scope.row.IsCurrentVersion) }}</span>
<span>{{ $fd('YesOrNo', scope.row.IsCurrentVersion) }}</span>
</template>
</el-table-column>
<el-table-column
label="操作"
:label="$t('common:action:action')"
fixed="right"
prop=""
min-width="200"
@@ -99,7 +109,7 @@
icon="el-icon-edit-outline"
@click="handleEdit(scope.row)"
>
编辑
{{ $t('common:button:edit') }}
</el-button>
<el-button
size="mini"
@@ -107,7 +117,7 @@
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>
删除
{{ $t('common:button:delete') }}
</el-button>
</template>
</el-table-column>
@@ -125,20 +135,21 @@
</div>
</template>
<script>
import { getPublishLogList, deletePublishLog } from "@/api/admin";
import Pagination from "@/components/Pagination";
import LogForm from "./components/LogForm.vue";
import moment from "moment";
import { getPublishLogList, deletePublishLog } from '@/api/admin'
import Pagination from '@/components/Pagination'
import LogForm from './components/LogForm.vue'
import moment from 'moment'
const searchDataDefault = () => {
return {
Version: null,
Version_US: null,
UpdateContent: null,
Asc: false,
SortField: "PublishTime",
SortField: 'PublishTime',
PageIndex: 1,
PageSize: 20,
};
};
}
}
export default {
components: { Pagination, LogForm },
data() {
@@ -148,74 +159,74 @@ export default {
list: [],
total: 0,
loading: false,
};
}
},
mounted() {
this.getList();
this.getList()
},
methods: {
getList() {
this.loading = true;
this.loading = true
getPublishLogList(this.searchData)
.then((res) => {
this.loading = false;
this.list = res.Result.CurrentPageData;
this.total = res.Result.TotalCount;
this.loading = false
this.list = res.Result.CurrentPageData
this.total = res.Result.TotalCount
})
.catch(() => {
this.loading = false;
});
this.loading = false
})
},
handleAdd() {
this.$nextTick(() => {
this.$refs["LogForm"].openDialog("新增", {});
});
this.$refs['LogForm'].openDialog('新增', {})
})
},
handleEdit(row) {
this.$nextTick(() => {
this.$refs["LogForm"].openDialog("编辑", row);
});
this.$refs['LogForm'].openDialog('编辑', row)
})
},
// 重置列表查询
handleReset() {
this.searchData = searchDataDefault();
this.getList();
this.searchData = searchDataDefault()
this.getList()
},
// 删除
handleDelete(row) {
this.$confirm("是否确认删除?", {
type: "warning",
this.$confirm('是否确认删除?', {
type: 'warning',
distinguishCancelAndClose: true,
}).then(() => {
this.loading = true;
this.loading = true
deletePublishLog(row.Id)
.then((res) => {
this.loading = false;
this.loading = false
if (res.IsSuccess) {
this.getList();
this.getList()
this.$message.success(
this.$t("common:message:deletedSuccessfully")
);
this.$t('common:message:deletedSuccessfully')
)
}
})
.catch(() => {
this.loading = false;
});
});
this.loading = false
})
})
},
// 排序
handleSortByColumn(column) {
if (column.order === "ascending") {
this.searchData.Asc = true;
if (column.order === 'ascending') {
this.searchData.Asc = true
} else {
this.searchData.Asc = false;
this.searchData.Asc = false
}
this.searchData.SortField = column.prop;
this.searchData.PageIndex = 1;
this.getList();
this.searchData.SortField = column.prop
this.searchData.PageIndex = 1
this.getList()
},
},
};
}
</script>
<style lang="scss">
.log {