|
|
@@ -7,62 +7,45 @@
|
|
|
label-width="110px"
|
|
|
label-position="right"
|
|
|
size="small"
|
|
|
- style="max-width: 640px;"
|
|
|
+ style="max-width: 680px;"
|
|
|
>
|
|
|
<el-divider direction="horizontal" content-position="left">基本信息</el-divider>
|
|
|
<div class="info-content">
|
|
|
- <!-- <div class="tag" v-if="grade">{{ grade }}</div> -->
|
|
|
<div class="info-item">
|
|
|
- <!-- <div class="name">机构名称</div> -->
|
|
|
- <div class="val">
|
|
|
- <el-form-item prop="name" label="承办单位名称">
|
|
|
- <el-input v-model="formData.name" placeholder="请输入承办单位名称" readonly></el-input>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
+ <el-form-item prop="name" label="承办单位名称">
|
|
|
+ <el-input v-model="formData.name" placeholder="请输入承办单位名称" readonly></el-input>
|
|
|
+ </el-form-item>
|
|
|
</div>
|
|
|
<div class="info-item">
|
|
|
- <!-- <div class="name">负责人邮箱</div> -->
|
|
|
- <div class="val">
|
|
|
- <el-form-item prop="name" label="负责人邮箱">
|
|
|
- <el-input v-model="formData.ownerEmail" placeholder="请输入负责人邮箱" readonly></el-input>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
+ <el-form-item prop="name" label="负责人邮箱">
|
|
|
+ <el-input v-model="formData.ownerEmail" placeholder="请输入负责人邮箱" readonly></el-input>
|
|
|
+ </el-form-item>
|
|
|
</div>
|
|
|
<div class="info-item">
|
|
|
- <!-- <div class="name">负责人</div> -->
|
|
|
- <div class="val">
|
|
|
- <el-form-item prop="owner" label="负责人">
|
|
|
- <el-input v-model="formData.owner" placeholder="请输入负责人" readonly></el-input>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
+ <el-form-item prop="owner" label="负责人">
|
|
|
+ <el-input v-model="formData.owner" placeholder="请输入负责人" readonly></el-input>
|
|
|
+ </el-form-item>
|
|
|
</div>
|
|
|
<div class="info-item">
|
|
|
- <!-- <div class="name">负责人电话</div> -->
|
|
|
- <div class="val">
|
|
|
- <el-form-item prop="ownerPhone" label="负责人电话">
|
|
|
- <el-input v-model="formData.ownerPhone" placeholder="请输入负责人电话" readonly></el-input>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
+ <el-form-item prop="ownerPhone" label="负责人电话">
|
|
|
+ <el-input v-model="formData.ownerPhone" placeholder="请输入负责人电话" readonly></el-input>
|
|
|
+ </el-form-item>
|
|
|
</div>
|
|
|
<div class="info-item">
|
|
|
- <!-- <div class="name">地址</div> -->
|
|
|
- <div class="val">
|
|
|
- <el-form-item prop="district" label="地址">
|
|
|
- <el-select v-model="formData.district" style="width:100%">
|
|
|
- <el-option
|
|
|
- v-for="item in districts"
|
|
|
- :key="item.id"
|
|
|
- :value="item.name"
|
|
|
- :label="item.name"
|
|
|
- :disabled="readonly"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
+ <el-form-item prop="district" label="地址">
|
|
|
+ <el-select v-model="formData.district" style="width:100%">
|
|
|
+ <el-option
|
|
|
+ v-for="item in districts"
|
|
|
+ :key="item.id"
|
|
|
+ :value="item.name"
|
|
|
+ :label="item.name"
|
|
|
+ :disabled="readonly"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
</div>
|
|
|
|
|
|
<div class="info-item address">
|
|
|
- <!-- <div class="name">单位概况</div> -->
|
|
|
<div class="val">
|
|
|
<el-form-item prop="introduction" label="单位概况">
|
|
|
<el-input
|
|
|
@@ -76,99 +59,86 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="info-item address">
|
|
|
- <!-- <div class="name">考级活动</div> -->
|
|
|
- <div class="val">
|
|
|
- <el-form-item prop="undertakeExamination" label="考级活动">
|
|
|
- <el-radio-group v-model="formData.undertakeExamination" size="small" :disabled="readonly">
|
|
|
- <el-radio class="name" :label="true">承办过</el-radio>
|
|
|
- <el-radio class="name" :label="false">未承办过</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
+ <el-form-item prop="undertakeExamination" label="考级活动">
|
|
|
+ <el-radio-group v-model="formData.undertakeExamination" size="small" :disabled="readonly">
|
|
|
+ <el-radio class="name" :label="true">承办过</el-radio>
|
|
|
+ <el-radio class="name" :label="false">未承办过</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
</div>
|
|
|
- <div class="info-item">
|
|
|
- <div class="val">
|
|
|
- <el-form-item prop="district" label="考级机构">
|
|
|
- <el-select v-model="formData.district" style="width:190px">
|
|
|
- <el-option
|
|
|
- v-for="item in districts"
|
|
|
- :key="item.id"
|
|
|
- :value="item.name"
|
|
|
- :label="item.name"
|
|
|
- :disabled="readonly"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
- <div class="val">
|
|
|
- <el-form-item prop="district" label="代理专业">
|
|
|
- <el-select v-model="formData.district" style="width:190px">
|
|
|
- <el-option
|
|
|
- v-for="item in districts"
|
|
|
- :key="item.id"
|
|
|
- :value="item.name"
|
|
|
- :label="item.name"
|
|
|
- :disabled="readonly"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
+ <!-- <div class="info-item">
|
|
|
+ <el-form-item prop="district" label="考级机构">
|
|
|
+ <el-select v-model="formData.district" style="width:190px">
|
|
|
+ <el-option
|
|
|
+ v-for="item in grading"
|
|
|
+ :key="item.value"
|
|
|
+ :value="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :disabled="readonly"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="district" label="代理专业">
|
|
|
+ <el-select v-model="formData.district" style="width:190px">
|
|
|
+ <el-option
|
|
|
+ v-for="item in districts"
|
|
|
+ :key="item.id"
|
|
|
+ :value="item.name"
|
|
|
+ :label="item.name"
|
|
|
+ :disabled="readonly"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
</div>
|
|
|
<div class="info-item address">
|
|
|
- <div class="val">
|
|
|
- <el-form-item prop="privacyPolicy" label="合作协议">
|
|
|
- <file-upload v-model="formData.privacyPolicy" :readonly="readonly"></file-upload>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <el-form-item prop="privacyPolicy" label="合作协议">
|
|
|
+ <file-upload v-model="formData.privacyPolicy" :readonly="readonly"></file-upload>
|
|
|
+ </el-form-item>
|
|
|
+ </div> -->
|
|
|
<el-form-item>
|
|
|
- <el-button type="primary" size="small" @click="addParamater()">新增</el-button>
|
|
|
+ <el-button type="primary" size="small" @click="onAddOtherForm()"
|
|
|
+ >新增承办过的艺术考级活动</el-button
|
|
|
+ >
|
|
|
</el-form-item>
|
|
|
- <div class="add-con" v-for="(item, index) in productParameters" :key="index">
|
|
|
+ <div class="add-con" v-for="(item, index) in collaborates" :key="index">
|
|
|
<div v-if="!item.del">
|
|
|
<div class="parameters1">
|
|
|
- <div class="val">
|
|
|
- <el-form-item prop="district" label="考级机构">
|
|
|
- <el-select v-model="formData.district" style="width:190px">
|
|
|
- <el-option
|
|
|
- v-for="item in districts"
|
|
|
- :key="item.id"
|
|
|
- :value="item.name"
|
|
|
- :label="item.name"
|
|
|
- :disabled="readonly"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
- <div class="val">
|
|
|
- <el-form-item prop="district" label="代理专业">
|
|
|
- <el-select v-model="formData.district" style="width:190px">
|
|
|
- <el-option
|
|
|
- v-for="item in districts"
|
|
|
- :key="item.id"
|
|
|
- :value="item.name"
|
|
|
- :label="item.name"
|
|
|
- :disabled="readonly"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
+ <el-form-item prop="gradingOrganizationId" label="考级机构">
|
|
|
+ <el-select v-model="item.gradingOrganizationId" placeholder="所属考级机构">
|
|
|
+ <el-option
|
|
|
+ v-for="item in grading"
|
|
|
+ :key="item.value"
|
|
|
+ :value="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :disabled="readonly"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="artTypeId" label="代理专业">
|
|
|
+ <el-cascader
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="item.artTypeId"
|
|
|
+ :props="optionProps"
|
|
|
+ :options="artTypes"
|
|
|
+ :show-all-levels="false"
|
|
|
+ placeholder="请选择专业"
|
|
|
+ >
|
|
|
+ </el-cascader>
|
|
|
+ </el-form-item>
|
|
|
</div>
|
|
|
<div class="info-item address">
|
|
|
- <div class="val">
|
|
|
- <el-form-item prop="privacyPolicy" label="合作协议">
|
|
|
- <file-upload v-model="formData.privacyPolicy" :readonly="readonly"></file-upload>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
+ <el-form-item prop="consent" label="合作协议">
|
|
|
+ <file-upload v-model="item.consent" :readonly="readonly"></file-upload>
|
|
|
+ </el-form-item>
|
|
|
</div>
|
|
|
- <el-form-item>
|
|
|
+ <el-form-item v-if="!readonly">
|
|
|
<el-button
|
|
|
class="del"
|
|
|
type="danger"
|
|
|
v-if="!hasChild(item)"
|
|
|
size="small"
|
|
|
icon="el-icon-delete"
|
|
|
- @click="del(item, index)"
|
|
|
+ @click="onDeleteOtherForm(item, index)"
|
|
|
></el-button>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
@@ -212,7 +182,6 @@
|
|
|
<el-divider direction="horizontal" content-position="left">企业资质</el-divider>
|
|
|
<div class="info-content">
|
|
|
<div class="info-item address">
|
|
|
- <!-- <div class="name">法人资格</div> -->
|
|
|
<div class="val">
|
|
|
<el-form-item prop="privacyPolicy" label="法人资格">
|
|
|
<file-upload v-model="formData.privacyPolicy" :readonly="readonly"></file-upload>
|
|
|
@@ -221,7 +190,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="info-item address">
|
|
|
- <!-- <div class="name">业务内容</div> -->
|
|
|
<div class="val">
|
|
|
<el-form-item prop="business" label="业务内容">
|
|
|
<file-upload v-model="formData.business" :readonly="readonly"></file-upload>
|
|
|
@@ -229,7 +197,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="info-item address">
|
|
|
- <!-- <div class="name">社会信誉</div> -->
|
|
|
<div class="val">
|
|
|
<el-form-item prop="credits" label="社会信誉">
|
|
|
<file-upload v-model="formData.credits" :readonly="readonly"></file-upload>
|
|
|
@@ -240,7 +207,6 @@
|
|
|
<el-divider direction="horizontal" content-position="left">物质条件</el-divider>
|
|
|
<div class="info-content">
|
|
|
<div class="info-item address">
|
|
|
- <!-- <div class="name">消防卫生</div> -->
|
|
|
<div class="val">
|
|
|
<el-form-item prop="fire" label="消防安全">
|
|
|
<file-upload v-model="formData.fire" :readonly="readonly"></file-upload>
|
|
|
@@ -248,7 +214,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="info-item address">
|
|
|
- <!-- <div class="name">消防卫生</div> -->
|
|
|
<div class="val">
|
|
|
<el-form-item prop="hygiene" label="卫生防疫">
|
|
|
<file-upload v-model="formData.hygiene" :readonly="readonly"></file-upload>
|
|
|
@@ -256,7 +221,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="info-item address">
|
|
|
- <!-- <div class="name">财务报表</div> -->
|
|
|
<div class="val">
|
|
|
<el-form-item prop="finance" label="财务报表">
|
|
|
<file-upload v-model="formData.finance" :readonly="readonly"></file-upload>
|
|
|
@@ -264,7 +228,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="info-item address">
|
|
|
- <!-- <div class="name">房产证明</div> -->
|
|
|
<div class="val">
|
|
|
<el-form-item prop="property" label="房产证明">
|
|
|
<file-upload v-model="formData.property" :readonly="readonly"></file-upload>
|
|
|
@@ -331,10 +294,24 @@ import { mapState } from 'vuex';
|
|
|
export default {
|
|
|
name: 'RateEdit',
|
|
|
computed: {
|
|
|
- ...mapState(['organization'])
|
|
|
+ ...mapState(['organization']),
|
|
|
+ saveOtherJson() {
|
|
|
+ const collaborates = [...this.collaborates]
|
|
|
+ .filter(item => {
|
|
|
+ return !!item.gradingOrganizationId || !!item.consent || !!item.artTypeId;
|
|
|
+ })
|
|
|
+ .map(item => {
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ rateId: this.rateId
|
|
|
+ };
|
|
|
+ });
|
|
|
+ return JSON.stringify(collaborates);
|
|
|
+ }
|
|
|
},
|
|
|
created() {
|
|
|
if (this.$route.query.rateId) {
|
|
|
+ this.rateId = this.$route.query.rateId;
|
|
|
this.$http
|
|
|
.get('rate/get/' + this.$route.query.rateId)
|
|
|
.then(res => {
|
|
|
@@ -342,20 +319,23 @@ export default {
|
|
|
if (res.status != 'FIRST_REVIEW_PENDING' || res.submit) {
|
|
|
this.readonly = true;
|
|
|
}
|
|
|
- if (res.grade == 'EXCELLENT') {
|
|
|
- this.grade = '优秀';
|
|
|
- } else if (res.grade == 'ELIGIBLE') {
|
|
|
- this.grade = '合格';
|
|
|
- } else if (res.grade == 'NOT_ELIGIBLE') {
|
|
|
- this.grade = '不合格';
|
|
|
- } else {
|
|
|
- this.grade = '';
|
|
|
+ if (res.status == 'CANCEL') {
|
|
|
+ this.readonly = false;
|
|
|
}
|
|
|
let data = res.rateAudits;
|
|
|
if (typeof data != 'undefined') {
|
|
|
this.showAudit = true;
|
|
|
this.rateAudits = data;
|
|
|
}
|
|
|
+ this.$http
|
|
|
+ .post(
|
|
|
+ '/collaborate/all',
|
|
|
+ { size: 100, query: { rateId: this.$route.query.rateId } },
|
|
|
+ { body: 'json' }
|
|
|
+ )
|
|
|
+ .then(res => {
|
|
|
+ this.collaborates = res.content;
|
|
|
+ });
|
|
|
})
|
|
|
.catch(e => {
|
|
|
console.log(e);
|
|
|
@@ -381,6 +361,30 @@ export default {
|
|
|
console.log(e);
|
|
|
this.$message.error(e.error);
|
|
|
});
|
|
|
+ this.$http
|
|
|
+ .post('/gradingOrganization/all', { size: 1000 }, { body: 'json' })
|
|
|
+ .then(res => {
|
|
|
+ if (res.content.length > 0) {
|
|
|
+ res.content.forEach(item => {
|
|
|
+ this.grading.push({
|
|
|
+ label: item.name,
|
|
|
+ value: item.id
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(e => {
|
|
|
+ console.log(e);
|
|
|
+ this.$message.error(e.error);
|
|
|
+ });
|
|
|
+ this.$http
|
|
|
+ .post('/artType/allList')
|
|
|
+ .then(res => {
|
|
|
+ this.artTypes = this.delChild(res);
|
|
|
+ })
|
|
|
+ .catch(e => {
|
|
|
+ console.log(e);
|
|
|
+ });
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
@@ -391,8 +395,8 @@ export default {
|
|
|
ownerEmail: '',
|
|
|
ownerPhone: '',
|
|
|
district: ''
|
|
|
- // district1: []
|
|
|
},
|
|
|
+ rateId: '',
|
|
|
rateAudits: {},
|
|
|
showAudit: false,
|
|
|
inputVisible: false,
|
|
|
@@ -401,6 +405,7 @@ export default {
|
|
|
districts: [],
|
|
|
readonly: false,
|
|
|
grade: '',
|
|
|
+ grading: [],
|
|
|
rules: {
|
|
|
name: [{ required: true, message: '请输入机构名称', trigger: 'blur' }],
|
|
|
owner: [{ required: true, message: '请输入负责人', trigger: 'blur' }],
|
|
|
@@ -473,51 +478,38 @@ export default {
|
|
|
}
|
|
|
]
|
|
|
},
|
|
|
- productParameters: [],
|
|
|
- collaborates: []
|
|
|
+ collaborates: [],
|
|
|
+ artTypes: [],
|
|
|
+ optionProps: {
|
|
|
+ value: 'id',
|
|
|
+ label: 'name',
|
|
|
+ children: 'children',
|
|
|
+ multiple: true,
|
|
|
+ emitPath: false,
|
|
|
+ checkStrictly: true,
|
|
|
+ expandTrigger: 'hover'
|
|
|
+ }
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
|
- addParamater(info, index) {
|
|
|
- const productParameters = [...this.productParameters];
|
|
|
- if (info) {
|
|
|
- info.value = '';
|
|
|
- info.children.push({
|
|
|
- chName: '',
|
|
|
- enName: '',
|
|
|
- value: ''
|
|
|
- });
|
|
|
- productParameters[index] = info;
|
|
|
- } else {
|
|
|
- productParameters.push({
|
|
|
- chName: '',
|
|
|
- enName: '',
|
|
|
- value: '',
|
|
|
- children: []
|
|
|
- });
|
|
|
- }
|
|
|
- this.productParameters = productParameters;
|
|
|
+ onAddOtherForm() {
|
|
|
+ this.collaborates.push({
|
|
|
+ gradingOrganizationId: '',
|
|
|
+ consent: '',
|
|
|
+ artTypeId: ''
|
|
|
+ });
|
|
|
},
|
|
|
- del(info, index, list, listIndex) {
|
|
|
+ onDeleteOtherForm(info, index) {
|
|
|
this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'warning' })
|
|
|
.then(() => {
|
|
|
- const productParameters = [...this.productParameters];
|
|
|
+ const collaborates = [...this.collaborates];
|
|
|
if (info.id) {
|
|
|
info.del = true;
|
|
|
- if (list) {
|
|
|
- list[index] = info;
|
|
|
- } else {
|
|
|
- productParameters[index] = info;
|
|
|
- }
|
|
|
- } else if (list) {
|
|
|
- list.splice(index, 1);
|
|
|
+ collaborates[index] = info;
|
|
|
} else {
|
|
|
- productParameters.splice(index, 1);
|
|
|
- }
|
|
|
- if (list) {
|
|
|
- productParameters.children[listIndex] = list;
|
|
|
+ collaborates.splice(index, 1);
|
|
|
}
|
|
|
- this.productParameters = productParameters;
|
|
|
+ this.collaborates = collaborates;
|
|
|
this.$message.success('删除成功');
|
|
|
})
|
|
|
.catch(e => {});
|
|
|
@@ -569,7 +561,13 @@ export default {
|
|
|
this.$http
|
|
|
.post('/rate/save', data, { body: 'json' })
|
|
|
.then(res => {
|
|
|
+ this.rateId = res.id;
|
|
|
this.saving = false;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$http.post('/collaborate/batchSave', {
|
|
|
+ collaborates: this.saveOtherJson
|
|
|
+ });
|
|
|
+ });
|
|
|
this.$message.success('成功');
|
|
|
this.$router.go(-1);
|
|
|
})
|
|
|
@@ -597,13 +595,23 @@ export default {
|
|
|
this.$message.error((e || {}).error || '取消失败');
|
|
|
}
|
|
|
});
|
|
|
+ },
|
|
|
+ delChild(list) {
|
|
|
+ return list.map(item => {
|
|
|
+ const info = {
|
|
|
+ ...item,
|
|
|
+ ['children']:
|
|
|
+ item['children'] && item['children'].length > 0 ? this.delChild(item['children']) : null
|
|
|
+ };
|
|
|
+ return info;
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="less" scoped>
|
|
|
.edit-view {
|
|
|
- padding-left: 25%;
|
|
|
+ padding-left: 20%;
|
|
|
.add-con {
|
|
|
background-color: #f7f7f7;
|
|
|
width: 100%;
|
|
|
@@ -646,26 +654,6 @@ export default {
|
|
|
width: 600px;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- .name {
|
|
|
- font-size: 13px;
|
|
|
- font-family: PingFangSC-Regular, PingFang SC;
|
|
|
- font-weight: 400;
|
|
|
- color: #565b66;
|
|
|
- line-height: 22px;
|
|
|
- min-width: 65px;
|
|
|
- margin-right: 10px;
|
|
|
- text-align: right;
|
|
|
- }
|
|
|
-
|
|
|
- .val {
|
|
|
- // width: 190px;
|
|
|
- // width: 300px;
|
|
|
- }
|
|
|
-
|
|
|
- .input {
|
|
|
- margin-top: 10px;
|
|
|
- }
|
|
|
}
|
|
|
.tag {
|
|
|
margin: 98px 240px;
|