Browse Source

Merge branch 'dev' of http://git.izouma.com/licailing/wenlvju into dev

licailing 5 years ago
parent
commit
571d7b5dac
1 changed files with 113 additions and 3 deletions
  1. 113 3
      src/main/vue/src/views/organization/RateEdit.vue

+ 113 - 3
src/main/vue/src/views/organization/RateEdit.vue

@@ -118,7 +118,58 @@
                     <div class="val">
                         <el-form-item prop="privacyPolicy" label="合作协议">
                             <file-upload v-model="formData.privacyPolicy" :readonly="readonly"></file-upload>
-                            <!-- <single-upload v-model="formData.privacyPolicy"></single-upload> -->
+                        </el-form-item>
+                    </div>
+                </div>
+                <el-form-item>
+                    <el-button type="primary" size="small" @click="addParamater()">新增</el-button>
+                </el-form-item>
+                <div class="add-con" v-for="(item, index) in productParameters" :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>
+                        </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>
+                            <el-button
+                                class="del"
+                                type="danger"
+                                v-if="!hasChild(item)"
+                                size="small"
+                                icon="el-icon-delete"
+                                @click="del(item, index)"
+                            ></el-button>
                         </el-form-item>
                     </div>
                 </div>
@@ -422,10 +473,62 @@ export default {
                     }
                 ]
             },
+            productParameters: [],
             collaborates: []
         };
     },
     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;
+        },
+        del(info, index, list, listIndex) {
+            this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'warning' })
+                .then(() => {
+                    const productParameters = [...this.productParameters];
+                    if (info.id) {
+                        info.del = true;
+                        if (list) {
+                            list[index] = info;
+                        } else {
+                            productParameters[index] = info;
+                        }
+                    } else if (list) {
+                        list.splice(index, 1);
+                    } else {
+                        productParameters.splice(index, 1);
+                    }
+                    if (list) {
+                        productParameters.children[listIndex] = list;
+                    }
+                    this.productParameters = productParameters;
+                    this.$message.success('删除成功');
+                })
+                .catch(e => {});
+        },
+        hasChild(info) {
+            info.children = info.children || [];
+            const childNum = [...info.children].filter(item => {
+                return !item.del;
+            }).length;
+            return !!childNum;
+        },
         handleClose(tag) {
             this.formData.examination.splice(this.formData.examination.indexOf(tag), 1);
         },
@@ -501,6 +604,9 @@ export default {
 <style lang="less" scoped>
 .edit-view {
     padding-left: 25%;
+    .add-con {
+        background: #eeeeee;
+    }
 }
 /deep/ .el-divider {
     margin-top: 30px;
@@ -513,6 +619,11 @@ export default {
     font-size: 20px;
     font-weight: 500;
 }
+
+.parameters1 {
+    display: flex;
+    align-items: center;
+}
 .info-content {
     // background: #f5f7fa;
     padding: 20px 10px 25px;
@@ -525,7 +636,6 @@ export default {
         display: flex;
         align-items: center;
         // margin-bottom: 10px;
-
         &.address {
             width: 100%;
             align-items: flex-start;
@@ -547,7 +657,7 @@ export default {
 
         .val {
             // width: 190px;
-            width: 300px;
+            // width: 300px;
         }
 
         .input {