|
@@ -0,0 +1,273 @@
|
|
|
+<template>
|
|
|
+ <div id="beforePage">
|
|
|
+ <el-dialog
|
|
|
+ @closed="loadingClose"
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ width="610px"
|
|
|
+ :show-close="false"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ >
|
|
|
+ <div slot="title" class="hearders">
|
|
|
+ <div class="leftTitle">前培设置</div>
|
|
|
+ <div class="rightBoxs">
|
|
|
+ <img src="@/assets/images/Close@2x.png" alt="" @click="close" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-form
|
|
|
+ label-position="right"
|
|
|
+ label-width="150px"
|
|
|
+ :model="listData"
|
|
|
+ :rules="rules"
|
|
|
+ ref="listData"
|
|
|
+ >
|
|
|
+ <el-form-item label="前培标题" prop="beforeName">
|
|
|
+ <el-input v-model="listData.beforeName"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="关联题卷" required prop="beforeStatus">
|
|
|
+ <el-select v-model="listData.beforeStatus" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in optionsApis"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="" prop="beforeUrl" v-if="listData.beforeStatus">
|
|
|
+ <el-radio-group v-model="listData.beforeUrl">
|
|
|
+ <el-radio
|
|
|
+ style="margin-bottom: 10px"
|
|
|
+ v-for="(item, index) in radioApi"
|
|
|
+ :key="index"
|
|
|
+ :label="item.beforeUrlId"
|
|
|
+ >{{ item.urlName }} - {{ item.url }}</el-radio
|
|
|
+ >
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="学习开放时间" required>
|
|
|
+ <el-col :span="11">
|
|
|
+ <el-form-item prop="beforeStartTime">
|
|
|
+ <el-date-picker
|
|
|
+ type="datetime"
|
|
|
+ placeholder="开始日期"
|
|
|
+ @change="changeEndTime(1)"
|
|
|
+ v-model="listData.beforeStartTime"
|
|
|
+ style="width: 100%"
|
|
|
+ value-format="timestamp"
|
|
|
+ ></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col class="line" style="text-align: center" :span="2">-</el-col>
|
|
|
+ <el-col :span="11">
|
|
|
+ <el-form-item prop="beforeEndTime">
|
|
|
+ <el-date-picker
|
|
|
+ type="datetime"
|
|
|
+ placeholder="结束日期"
|
|
|
+ @change="changeEndTime(2)"
|
|
|
+ v-model="listData.beforeEndTime"
|
|
|
+ style="width: 100%"
|
|
|
+ value-format="timestamp"
|
|
|
+ ></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="close">取 消</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ :loading="disabledBtn"
|
|
|
+ @click="submit('listData')"
|
|
|
+ >确 定</el-button
|
|
|
+ >
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ listData: {
|
|
|
+ beforeName: "",
|
|
|
+ beforeStatus: "",
|
|
|
+ beforeUrl: "",
|
|
|
+ beforeStartTime: "",
|
|
|
+ beforeEndTime: "",
|
|
|
+ },
|
|
|
+ radioApi: [],
|
|
|
+ dialogVisible: false,
|
|
|
+ disabledBtn: false,
|
|
|
+ optionsApis: [
|
|
|
+ // {
|
|
|
+ // label: "内部接口",
|
|
|
+ // value: 1,
|
|
|
+ // },
|
|
|
+ {
|
|
|
+ label: "外部接口",
|
|
|
+ value: 2,
|
|
|
+ },
|
|
|
+ // {
|
|
|
+ // label: "关联题库资源",
|
|
|
+ // value: 3,
|
|
|
+ // },
|
|
|
+ ],
|
|
|
+ //表单验证
|
|
|
+ rules: {
|
|
|
+ beforeName: [
|
|
|
+ { required: true, message: "请输入前培标题", trigger: "blur" },
|
|
|
+ ],
|
|
|
+ beforeStatus: [
|
|
|
+ { required: true, message: "请选中关联题卷", trigger: "change" },
|
|
|
+ ],
|
|
|
+ beforeUrl: [
|
|
|
+ { required: true, message: "请选择接口地址", trigger: "change" },
|
|
|
+ ],
|
|
|
+ beforeStartTime: [
|
|
|
+ {
|
|
|
+ type: "date",
|
|
|
+ required: true,
|
|
|
+ message: "请选择学习开放开始时间",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ beforeEndTime: [
|
|
|
+ {
|
|
|
+ type: "date",
|
|
|
+ required: true,
|
|
|
+ message: "请选择学习开放结束时间",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ applyId: null, //考试ID
|
|
|
+ };
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ "listData.beforeStatus"(value) {
|
|
|
+ this.$api.inquiresystembeforelistUrl({ urlStatus: value }).then((res) => {
|
|
|
+ this.radioApi = res.rows;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ openBox(row) {
|
|
|
+ this.$api
|
|
|
+ .obtainsystemapplygetBefore(row.applyId)
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data.beforeId) {
|
|
|
+ res.data.beforeStartTime = res.data.beforeStartTime * 1000;
|
|
|
+ res.data.beforeEndTime = res.data.beforeEndTime * 1000;
|
|
|
+ this.listData = res.data;
|
|
|
+ } else {
|
|
|
+ this.listData = {
|
|
|
+ beforeName: "",
|
|
|
+ beforeStatus: "",
|
|
|
+ beforeUrl: "",
|
|
|
+ beforeStartTime: "",
|
|
|
+ beforeEndTime: "",
|
|
|
+ };
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.dialogVisible = true;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs["listData"].clearValidate();
|
|
|
+ });
|
|
|
+ });
|
|
|
+ this.applyId = row.applyId;
|
|
|
+ },
|
|
|
+ // 判断选择时间逻辑
|
|
|
+ changeEndTime(int) {
|
|
|
+ if (this.listData.beforeStartTime === this.listData.beforeEndTime) {
|
|
|
+ this.$message.warning("开始时间与结束时间不允许相同");
|
|
|
+ if (int === 1) {
|
|
|
+ this.listData.beforeStartTime = "";
|
|
|
+ }
|
|
|
+ if (int === 2) {
|
|
|
+ this.listData.beforeEndTime = "";
|
|
|
+ }
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (
|
|
|
+ int === 1 &&
|
|
|
+ this.listData.beforeEndTime &&
|
|
|
+ this.listData.beforeStartTime > this.listData.beforeEndTime
|
|
|
+ ) {
|
|
|
+ this.$message.warning(
|
|
|
+ "当前选择的开始时间大于结束时间,请重新选择开始时间!"
|
|
|
+ );
|
|
|
+ this.listData.beforeStartTime = "";
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (
|
|
|
+ int === 2 &&
|
|
|
+ this.listData.beforeStartTime &&
|
|
|
+ this.listData.beforeEndTime < this.listData.beforeStartTime
|
|
|
+ ) {
|
|
|
+ this.$message.warning(
|
|
|
+ "当前选择的结束时间小于开始时间,请重新选择结束时间!"
|
|
|
+ );
|
|
|
+ this.listData.beforeEndTime = "";
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ loadingClose() {
|
|
|
+ this.disabledBtn = false;
|
|
|
+ },
|
|
|
+ submit(formName) {
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.rulesTableSumbit();
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ rulesTableSumbit() {
|
|
|
+ this.disabledBtn = true;
|
|
|
+ var data = JSON.parse(JSON.stringify(this.listData));
|
|
|
+ data.beforeStartTime = this.$methodsTools.time10to13(
|
|
|
+ data.beforeStartTime,
|
|
|
+ 1
|
|
|
+ );
|
|
|
+ data.beforeEndTime = this.$methodsTools.time10to13(data.beforeEndTime, 1);
|
|
|
+ data.status = 0;
|
|
|
+ data.applyId = this.applyId;
|
|
|
+ if (data.beforeId) {
|
|
|
+ this.$api
|
|
|
+ .editsystembefore(data)
|
|
|
+ .then((res) => {
|
|
|
+ this.$message.success("修改成功");
|
|
|
+ this.dialogVisible = false;
|
|
|
+ this.$store.commit("BEFORELIST");
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.disabledBtn = false;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$api
|
|
|
+ .appsystembefore(data)
|
|
|
+ .then((res) => {
|
|
|
+ this.$message.success("设置成功");
|
|
|
+ this.dialogVisible = false;
|
|
|
+ this.$store.commit("BEFORELIST");
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.disabledBtn = false;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ close() {
|
|
|
+ this.dialogVisible = false;
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+</style>
|