|
|
@@ -21,14 +21,26 @@
|
|
|
<headerTitle title="基本信息"></headerTitle>
|
|
|
<el-row>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="编码" prop="code">
|
|
|
- <el-input v-model="form.code" disabled></el-input>
|
|
|
+ <el-form-item label="名称" prop="name">
|
|
|
+ <el-input v-model="form.name"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
-
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="名称" prop="name">
|
|
|
- <el-input v-model="form.name"></el-input>
|
|
|
+ <el-form-item label="业务类型" prop="type">
|
|
|
+ <el-select
|
|
|
+ @change="buissChange"
|
|
|
+ v-model="form.type"
|
|
|
+ placeholder="请选择"
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in businessTypeList"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
@@ -42,15 +54,19 @@
|
|
|
<el-option
|
|
|
v-for="item in options"
|
|
|
:key="item.value"
|
|
|
- :label="item.label"
|
|
|
+ :label="item.name"
|
|
|
:value="item.value"
|
|
|
>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
-
|
|
|
- <el-col :span="24">
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="编码" prop="code">
|
|
|
+ <el-input v-model="form.code" disabled></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="16">
|
|
|
<el-form-item label="描述" prop="describes">
|
|
|
<el-input v-model="form.describes" type="textarea"></el-input>
|
|
|
</el-form-item>
|
|
|
@@ -191,10 +207,14 @@
|
|
|
</template>
|
|
|
<script>
|
|
|
import { mapGetters } from 'vuex';
|
|
|
- import { targetDefinitionSave } from '@/api/regulationManagement/index.js';
|
|
|
+ import {
|
|
|
+ targetDefinitionSave,
|
|
|
+ getIndicatorRootNodeList
|
|
|
+ } from '@/api/regulationManagement/index.js';
|
|
|
import {
|
|
|
salesRegulationOption,
|
|
|
- assessmentIndicatorsOptions
|
|
|
+ // assessmentIndicatorsOptions,
|
|
|
+ businessTypeList
|
|
|
} from './util.js';
|
|
|
|
|
|
const defForm = {
|
|
|
@@ -231,33 +251,46 @@
|
|
|
value: '2'
|
|
|
}
|
|
|
],
|
|
|
- options: assessmentIndicatorsOptions,
|
|
|
+ businessTypeList: [],
|
|
|
+ // options: assessmentIndicatorsOptions,
|
|
|
+ options: [],
|
|
|
rules: {
|
|
|
name: { required: true, message: '请输入', trigger: 'change' },
|
|
|
assessmentIndicators: {
|
|
|
required: true,
|
|
|
message: '请选择',
|
|
|
trigger: 'change'
|
|
|
- }
|
|
|
+ },
|
|
|
+ type: { required: true, message: '请选择', trigger: 'change' }
|
|
|
}
|
|
|
};
|
|
|
},
|
|
|
- created() {},
|
|
|
+ created() {
|
|
|
+ this.init();
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ async init() {
|
|
|
+ getIndicatorRootNodeList().then((res) => {
|
|
|
+ this.businessTypeList = res;
|
|
|
+ });
|
|
|
+ },
|
|
|
//初始化
|
|
|
- async open(row = {}, type) {
|
|
|
+ async open(row = {}, type, treeType) {
|
|
|
this.addOrEditDialogFlag = true;
|
|
|
this.title = type == 'add' ? '新增' : '修改';
|
|
|
this.dialogType = type;
|
|
|
if (type !== 'add') {
|
|
|
+ row.assessmentIndicators = Number(row.assessmentIndicators);
|
|
|
this.form = JSON.parse(JSON.stringify(row));
|
|
|
this.tableList = this.form.assessmentCriteria;
|
|
|
- const { valueOption } = salesRegulationOption(
|
|
|
- this.form.assessmentIndicators
|
|
|
- );
|
|
|
- this.valueOptions = valueOption;
|
|
|
+ this.buissChange(row.type, 'init');
|
|
|
+ this.salesChange(row.assessmentIndicators, 'init');
|
|
|
} else {
|
|
|
this.add();
|
|
|
+ if (treeType != -1) {
|
|
|
+ this.form.type = treeType;
|
|
|
+ this.buissChange(treeType);
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
addItem(item) {
|
|
|
@@ -286,10 +319,33 @@
|
|
|
]);
|
|
|
},
|
|
|
|
|
|
- salesChange(val) {
|
|
|
- const { valueOption, statusOption } = salesRegulationOption(val);
|
|
|
- this.valueOptions = valueOption;
|
|
|
- this.statusOptions = statusOption;
|
|
|
+ salesChange(val, type) {
|
|
|
+ let data = this.options.find((el) => el.value == val);
|
|
|
+ this.valueOptions = data.nodes;
|
|
|
+ this.statusOptions = data.equles;
|
|
|
+ if (type == 'init') {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.form.indicatorName = data.name;
|
|
|
+ this.tableList.forEach((item) => {
|
|
|
+ item.forEach((_item) => {
|
|
|
+ _item.status = [];
|
|
|
+ _item.statusOptions = [];
|
|
|
+ _item.value = '';
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ buissChange(val, type) {
|
|
|
+ let data = this.businessTypeList.find((el) => el.value == val);
|
|
|
+ this.options = data.nodes || [];
|
|
|
+ if (type == 'init') {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.form.typeName = data.name;
|
|
|
+ this.form.assessmentIndicators = '';
|
|
|
+ this.valueOptions = [];
|
|
|
+ this.statusOptions = [];
|
|
|
this.tableList.forEach((item) => {
|
|
|
item.forEach((_item) => {
|
|
|
_item.status = [];
|
|
|
@@ -299,11 +355,11 @@
|
|
|
});
|
|
|
},
|
|
|
valChange(item, val) {
|
|
|
- const { statusOption } = salesRegulationOption(
|
|
|
- this.form.assessmentIndicators,
|
|
|
- item.value
|
|
|
- );
|
|
|
- val.statusOptions = statusOption;
|
|
|
+ // const { statusOption } = salesRegulationOption(
|
|
|
+ // this.form.assessmentIndicators,
|
|
|
+ // item.value
|
|
|
+ // );
|
|
|
+ val.statusOptions = item.equals;
|
|
|
val.status = [];
|
|
|
},
|
|
|
//获取详情
|
|
|
@@ -316,7 +372,7 @@
|
|
|
let isTrue = true;
|
|
|
this.tableList.forEach((item) => {
|
|
|
item.forEach((val) => {
|
|
|
- if (!val.value || val.status.length == 0) {
|
|
|
+ if ((!val.value && val.value != 0) || val.status.length == 0) {
|
|
|
isTrue = false;
|
|
|
}
|
|
|
});
|
|
|
@@ -344,7 +400,9 @@
|
|
|
this.form = {
|
|
|
...defForm
|
|
|
};
|
|
|
+ this.options = [];
|
|
|
this.tableList = [];
|
|
|
+ this.$refs['form'].resetFields();
|
|
|
this.addOrEditDialogFlag = false;
|
|
|
}
|
|
|
}
|