|
|
@@ -198,12 +198,40 @@
|
|
|
</el-tab-pane>
|
|
|
|
|
|
<el-tab-pane label="资质证明" name="his.certs">
|
|
|
- <el-form ref="form4" :model="form4" label-width="150px">
|
|
|
- <el-form-item label="资质证明" prop="certs">
|
|
|
- <Material v-model="photoArr" type="image" :num="10" :width="150" :height="150"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="资质证书编号" prop="certificateNumber">
|
|
|
- <el-input v-model="form4.certificateNumber" label="请输入资质证书编号"></el-input>
|
|
|
+ <el-form ref="form4" :model="form4" label-width="300px">
|
|
|
+ <!-- 动态生成图片和输入框的组合 -->
|
|
|
+ <div v-for="(item, index) in form4.certList" :key="index" class="cert-item">
|
|
|
+ <el-form-item :label="`资质证明 ${index + 1}`">
|
|
|
+ <Material
|
|
|
+ v-model="item.certs"
|
|
|
+ type="image"
|
|
|
+ :num="1"
|
|
|
+ :width="200"
|
|
|
+ :height="200"
|
|
|
+ />
|
|
|
+ <!-- 对应的输入框 -->
|
|
|
+ <el-input
|
|
|
+ v-model="item.certNumber"
|
|
|
+ placeholder="请输入证书编号"
|
|
|
+ style="width: 200px; margin-left: 10px;"
|
|
|
+ ></el-input>
|
|
|
+ <!-- 删除按钮 - 修正事件绑定 -->
|
|
|
+ <el-button
|
|
|
+ v-if="form4.certList.length > 1"
|
|
|
+ type="danger"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ size="mini"
|
|
|
+ style="margin-left: 10px;"
|
|
|
+ @click="removeCert(index)"
|
|
|
+ ></el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 添加按钮 -->
|
|
|
+ <el-form-item>
|
|
|
+ <el-button @click="addCert" type="primary" icon="el-icon-plus">
|
|
|
+ 添加资质证明
|
|
|
+ </el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div class="footer">
|
|
|
@@ -2332,7 +2360,14 @@ export default {
|
|
|
form1: {},
|
|
|
form2: {},
|
|
|
form3: {},
|
|
|
- form4: {},
|
|
|
+ form4: {
|
|
|
+ certList: [ // 确保这里正确定义
|
|
|
+ {
|
|
|
+ certs: [],
|
|
|
+ certNumber: ''
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
form5: [],
|
|
|
form6: {},
|
|
|
form7: {},
|
|
|
@@ -2732,9 +2767,26 @@ export default {
|
|
|
this.form3 = JSON.parse(response.data.configValue)
|
|
|
}
|
|
|
if (key == 'his.certs') {
|
|
|
- this.form4 = JSON.parse(response.data.configValue)
|
|
|
- if (this.form4.certs != null) {
|
|
|
- this.photoArr = this.form4.certs.split(',')
|
|
|
+ const configData = JSON.parse(response.data.configValue);
|
|
|
+ this.form4.certList = configData.map(item => {
|
|
|
+ let certsArray = [];
|
|
|
+ if (item.certs) {
|
|
|
+ if (Array.isArray(item.certs)) {
|
|
|
+ certsArray = item.certs;
|
|
|
+ } else {
|
|
|
+ certsArray = [item.certs];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ certs: certsArray,
|
|
|
+ certNumber: item.certNumber || ''
|
|
|
+ };
|
|
|
+ });
|
|
|
+ if (this.form4.certList.length === 0) {
|
|
|
+ this.form4.certList = [{
|
|
|
+ certs: [],
|
|
|
+ certNumber: ''
|
|
|
+ }];
|
|
|
}
|
|
|
}
|
|
|
if (key == 'his.brokerage') {
|
|
|
@@ -2890,7 +2942,11 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
submitForm4() {
|
|
|
- var param = { configId: this.configId, configValue: JSON.stringify(this.form4) }
|
|
|
+ const submitData = this.form4.certList.map(item => ({
|
|
|
+ certs: item.certs.length > 0 ? item.certs[0] : [], // 只取第一张
|
|
|
+ certNumber: item.certNumber
|
|
|
+ }));
|
|
|
+ var param = { configId: this.configId, configValue: JSON.stringify(submitData) }
|
|
|
updateConfigByKey(param).then(response => {
|
|
|
if (response.code === 200) {
|
|
|
this.msgSuccess('修改成功')
|
|
|
@@ -3214,7 +3270,23 @@ export default {
|
|
|
},
|
|
|
removeDisabledTime(index) {
|
|
|
this.form18.disabledTimeList.splice(index, 1)
|
|
|
- }
|
|
|
+ },
|
|
|
+ addCert() {
|
|
|
+ // 确保 certList 存在
|
|
|
+ if (!this.form4.certList) {
|
|
|
+ this.$set(this.form4, 'certList', []);
|
|
|
+ }
|
|
|
+ this.form4.certList.push({
|
|
|
+ certs: [],
|
|
|
+ certNumber: ''
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ removeCert(index) {
|
|
|
+ if (this.form4.certList && this.form4.certList.length > 1) {
|
|
|
+ this.form4.certList.splice(index, 1);
|
|
|
+ }
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
</script>
|