123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 |
- <template>
- <el-container>
- <el-main class="el-main-padding">
- <el-form
- ref="ruleForm"
- :model="ruleForm"
- :rules="rules"
- label-width="200px"
- class="demo-ruleForm"
- :inline-message="true"
- >
- <el-form-item v-if="isSuperAdmin" label="学校">
- <el-select
- v-model="ruleForm.orgId"
- placeholder="请选择"
- style="width: 180px"
- filterable
- >
- <el-option
- v-for="item in rootSchoolSelect"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- />
- </el-select>
- </el-form-item>
- <el-form-item label="服务接口默认考试">
- <el-select
- v-model="ruleForm.THIRD_PARTY_API_DEFAULT_EXAM_ID"
- class="input"
- :remote-method="queryExams4Select"
- remote
- :loading="queryExams4ThirdPartyApiDefaultExamId"
- filterable
- placeholder="请选择"
- >
- <el-option
- v-for="item in examList4ThirdPartyApiDefaultExamId"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item>
- <el-button
- :disabled="btnSaveDiabled"
- type="primary"
- @click="submitForm('ruleForm')"
- >保 存
- </el-button>
- </el-form-item>
- </el-form>
- </el-main>
- </el-container>
- </template>
- <script>
- import { mapState } from "vuex";
- import { CORE_API } from "@/constants/constants.js";
- import { EXAM_WORK_API } from "@/constants/constants.js";
- export default {
- data() {
- return {
- rootOrgList: [],
- propertyGroupId: "",
- formDataChanged: false,
- originalRuleForm: {},
- ruleForm: {
- relatedPropertyGroupIdList: [],
- orgId: null,
- THIRD_PARTY_API_DEFAULT_EXAM_ID: null,
- properties: {
- THIRD_PARTY_API_DEFAULT_EXAM_ID: null,
- },
- },
- queryExams4ThirdPartyApiDefaultExamId: false,
- examList4ThirdPartyApiDefaultExamId: [],
- rules: {},
- };
- },
- computed: {
- ...mapState({ user: (state) => state.user }),
- btnSaveDiabled() {
- console.log(this.formDataChanged);
- return !this.formDataChanged;
- },
- isSuperAdmin() {
- return this.user.roleList.some((role) => role.roleCode == "SUPER_ADMIN");
- },
- rootSchoolSelect() {
- let rootSchools = [];
- for (let i = 0; i < this.rootOrgList.length; i++) {
- let info = {
- name: this.rootOrgList[i].name + "(" + this.rootOrgList[i].id + ")",
- id: this.rootOrgList[i].id,
- };
- rootSchools.push(info);
- }
- return rootSchools;
- },
- },
- watch: {
- "ruleForm.orgId": {
- handler: function () {
- this.initForm();
- },
- },
- ruleForm: {
- deep: true,
- handler: function (newForm) {
- if (Object.keys(this.originalRuleForm).length > 0) {
- this.formDataChanged = !(
- newForm.THIRD_PARTY_API_DEFAULT_EXAM_ID ==
- this.originalRuleForm.THIRD_PARTY_API_DEFAULT_EXAM_ID
- );
- } else {
- this.formDataChanged = false;
- }
- },
- },
- },
- created() {
- this.ruleForm.orgId = this.user.rootOrgId;
- this.propertyGroupId = "config4Edit2";
- if (this.isSuperAdmin) {
- this.$httpWithMsg
- .get(CORE_API + "/org/getRootOrgList")
- .then((response) => {
- this.rootOrgList = response.data;
- });
- }
- this.initForm();
- },
- methods: {
- queryExams4Select(name) {
- console.log("queryExams; name: " + name);
- this.queryExams4ThirdPartyApiDefaultExamId = true;
- this.$httpWithMsg
- .get(
- EXAM_WORK_API +
- "/exam/queryByNameLike?enable=true&rootOrgId=" +
- this.ruleForm.orgId +
- "&name=" +
- name
- )
- .then((response) => {
- this.queryExams4ThirdPartyApiDefaultExamId = false;
- this.examList4ThirdPartyApiDefaultExamId = response.data;
- })
- .catch((response) => {
- console.log(response);
- this.queryExams4ThirdPartyApiDefaultExamId = false;
- });
- },
- submitForm(formName) {
- this.$refs[formName].validate((valid) => {
- if (valid) {
- this.ruleForm.properties.THIRD_PARTY_API_DEFAULT_EXAM_ID =
- this.ruleForm.THIRD_PARTY_API_DEFAULT_EXAM_ID;
- this.$httpWithMsg
- .put(CORE_API + "/org/saveOrgProperties", this.ruleForm)
- .then(
- () => {
- this.$notify({
- message: "保存成功",
- type: "success",
- });
- this.originalRuleForm = Object.assign({}, this.ruleForm);
- this.formDataChanged = false;
- },
- () => {}
- );
- } else {
- return false;
- }
- });
- },
- initForm() {
- this.ruleForm.relatedPropertyGroupIdList = ["studentClientConfig"];
- var url =
- CORE_API +
- "/org/getOrgPropertiesByGroupWithoutCache/" +
- this.ruleForm.orgId +
- "/" +
- this.propertyGroupId;
- this.$httpWithMsg.get(url).then((response) => {
- if (response) {
- let examId = response.data.THIRD_PARTY_API_DEFAULT_EXAM_ID;
- this.ruleForm.THIRD_PARTY_API_DEFAULT_EXAM_ID == examId;
- this.examList4ThirdPartyApiDefaultExamId = [];
- if (examId != null && examId != "") {
- this.ruleForm.THIRD_PARTY_API_DEFAULT_EXAM_ID = parseInt(examId);
- this.$httpWithMsg
- .get(EXAM_WORK_API + "/exam/" + examId)
- .then((response) => {
- this.examList4ThirdPartyApiDefaultExamId = [
- { id: response.data.id, name: response.data.name },
- ];
- });
- }
- this.originalRuleForm = Object.assign({}, this.ruleForm);
- } else {
- this.$notify({
- message: "学校设置信息暂未初始化,请立即初始化",
- type: "warning",
- });
- }
- });
- },
- },
- };
- </script>
- <style scoped>
- .input-width {
- width: 638px;
- }
- </style>
|