Helius
2022-05-24 1eedb8a57c2eb5c9953dcf058184ebdc6987fbf5
zq-erp/src/main/resources/templates/views/admin/shop/parameterSetting-form.html
@@ -14,6 +14,11 @@
    <link rel="stylesheet" th:href="@{/plugin/bootstrap-3.3.5/css/bootstrap.min.css}">
    <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/>
</head>
<style>
    .el-upload__input {
        display: none !important;
    }
</style>
<body>
<div class="ibox-content" id="app" v-cloak>
@@ -34,43 +39,86 @@
                <template v-for="paramSetting in paramSettings">
                    <div v-if="paramSetting.type==4" class="form-group">
                        <label class="col-md-2 control-label">{{paramSetting.name}}</label>
                    </div>
                    <div class="form-group" v-if="paramSetting.type==1">
                        <label class="col-md-2 control-label">{{paramSetting.name}}</label>
                        <div class="col-md-8">
                        <label class="col-md-4 control-label">{{paramSetting.name}}</label>
                        <div class="col-md-6">
                            <el-input v-model="paramSetting.userValue"></el-input>
                        </div>
                    </div>
                    <div class="form-group" v-if="paramSetting.type==2">
                        <label class="col-md-2 control-label">{{paramSetting.name}}</label>
                        <div class="col-md-8">
                            <el-select v-model="paramSetting.userValue" placeholder="请选择">
                        <label class="col-md-4 control-label">{{paramSetting.name}}</label>
                        <div class="col-md-6" style="float:left;margin-top: 8px;">
                            <el-radio-group v-model="paramSetting.userValue">
                                <el-radio v-for="item in buttonTypeTwo"
                                          :key="item.value"
                                          :label="item.displayName"
                                          :value="item.displayName"></el-radio>
                            </el-radio-group>
                        </div>
                    </div>
                    <div class="form-group" v-if="paramSetting.type==3">
                        <label class="col-md-4 control-label">{{paramSetting.name}}</label>
                        <div class="col-md-6">
                            <el-select v-model="paramSetting.userValue" placeholder="">
                                <el-option
                                        v-for="item in paramSetting.value"
                                        :key="item"
                                        :label="item"
                                        :value="item">
                                        v-for="item in buttonTypeThree"
                                        :key="item.value"
                                        :label="item.displayName"
                                        :value="item.displayName">
                                </el-option>
                            </el-select>
                        </div>
                    </div>
                    <div class="form-group" v-if="paramSetting.type==3">
                        <label class="col-md-2 control-label">{{paramSetting.name}}</label>
                        <div class="col-md-8">
                            <el-checkbox-group v-model="paramSetting.userValue">
                                <template v-for="item in paramSetting.value">
                                    <el-checkbox v-bind:label="item" v-bind:value="item"></el-checkbox>
                                </template>
                            </el-checkbox-group>
                    <div class="form-group" v-if="paramSetting.type==4">
                        <label class="col-md-4 control-label">{{paramSetting.name}}</label>
                        <div class="col-md-6">
                            <el-select v-model="paramSetting.userValue" multiple placeholder="请选择">
                                <el-option
                                        v-for="item in buttonTypeFour"
                                        :key="item.value"
                                        :label="item.displayName"
                                        :value="item.displayName">
                                </el-option>
                            </el-select>
                        </div>
                    </div>
                    <div class="form-group" v-if="paramSetting.type==5">
                        <label class="col-md-4 control-label">{{paramSetting.name}}</label>
                        <div class="col-md-6">
                            <el-upload
                                    class="upload-demo"
                                    action="/admin/multipleUploadFile/doUpload"
                                    :on-preview="handlePreview"
                                    :on-success="uploadSuccess"
                                    :on-remove="handleRemove"
                                    :before-remove="beforeRemove"
                                    multiple
                                    :limit="1"
                                    :on-exceed="handleExceed"
                                    :file-list="fileList">
                                <el-button size="small" type="primary">点击上传</el-button>
                                <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
                            </el-upload>
                        </div>
                    </div>
                    <div class="form-group" v-if="paramSetting.type==6">
                        <label class="col-md-4 control-label">{{paramSetting.name}}</label>
                        <div class="col-md-6">
                            <el-upload
                                    action="/admin/multipleUploadFile/doUpload"
                                    :show-file-list="false"
                                    :on-success="imageLineSuccess">
                                <img v-if="imageLine" :src="imageLine" style="max-width: 300px;">
                                <el-button size="small" type="primary">点击上传</el-button>
                            </el-upload>
                        </div>
                    </div>
                </template>
@@ -108,6 +156,13 @@
            warehouses: [],
            shops: [],
            categoryList: [],
            buttonTypeThree:[],
            buttonTypeFour:[],
            buttonTypeTwo:[],
            fileList:[],
            codeName:'',
            imageLine:'',
            type:2,
        },
        created: function () {
            this.loadInfo();
@@ -129,15 +184,7 @@
                    data: {},
                    url: basePath + '/admin/busParameterSettings/getAllCategoryList',
                    callback: function (data) {
                        let categoryList = data.rows;
                        for (let i = 0; i < categoryList.length; i++) {
                            if (categoryList[i].type == 3) {
                                if (categoryList[i].value) {
                                    categoryList[i].value = categoryList[i].value.split(",");
                                }
                            }
                        }
                        console.log(categoryList);
                        _this.categoryList = categoryList;
                        _this.currentCategory = categoryList[0];
@@ -146,6 +193,25 @@
                });
            },
            //获取枚举列表
            loadEnum(codeName,type){
                let _this = this;
                //获取枚举列表
                AjaxProxy.requst({
                    app: _this,
                    url: basePath + '/common/data/getEnums',
                    data:{"enumCodes":[_this.codeName]},
                    callback: function (data) {
                        if(_this.type === 3){
                            _this.buttonTypeThree = data.data[''+_this.codeName+''];
                        }else if(_this.type === 4){
                            _this.buttonTypeFour = data.data[''+_this.codeName+''];
                        }else if(_this.type === 2){
                            _this.buttonTypeTwo = data.data[''+_this.codeName+''];
                        }
                    }
                });
            },
            //改变编辑页面,切换页面元素
            changeCategory(index) {
@@ -163,15 +229,40 @@
                    callback: function (data) {
                        let paramSettings = data.rows;
                        for (let i = 0; i < paramSettings.length; i++) {
                           if (paramSettings[i].type == 3) {
                                paramSettings[i].value = paramSettings[i].value.split(",");
                                if (paramSettings[i].userValue) {
                                    paramSettings[i].userValue = paramSettings[i].userValue.split(",");
                           if (paramSettings[i].type === 2) {
                                if(paramSettings[i].value != null && paramSettings[i].value != ''){
                                    if(paramSettings[i].userValue === '1'){
                                        paramSettings[i].userValue = '是';
                                    }else if(paramSettings[i].userValue === '2'){
                                        paramSettings[i].userValue = '否';
                                    }
                                    _this.codeName = paramSettings[i].value;
                                    _this.type = paramSettings[i].type;
                                    _this.loadEnum(_this.codeName,_this.type);
                                }
                            } else if (paramSettings[i].type == 2) {
                                paramSettings[i].value = paramSettings[i].value.split(",");
                            }
                           }else if(paramSettings[i].type === 3){
                               if(paramSettings[i].value != null && paramSettings[i].value != ''){
                                   _this.codeName = paramSettings[i].value;
                                   _this.type = paramSettings[i].type;
                                   _this.loadEnum(_this.codeName,_this.type);
                               }
                           }else if(paramSettings[i].type === 4){
                               if(paramSettings[i].value != null && paramSettings[i].value != ''){
                                   //下拉框回显
                                   if (paramSettings[i].userValue != null && paramSettings[i].userValue != '') {
                                        paramSettings[i].userValue = paramSettings[i].userValue.split(',');
                                   }
                                   _this.codeName = paramSettings[i].value;
                                   _this.type = paramSettings[i].type;
                                   _this.loadEnum(_this.codeName,_this.type);
                               }
                           }else if(paramSettings[i].type === 5){
                               if(paramSettings[i].value != null && paramSettings[i].value != ''){
                                   _this.fileList.push(paramSettings[i].userValue);
                               }
                           }else if(paramSettings[i].type === 6){
                                   _this.imageLine = paramSettings[i].userValue;
                           }
                        }
                        _this.paramSettings = paramSettings;
                        console.log("over");
@@ -179,24 +270,44 @@
                });
            },
            submit() {
            handleRemove(file, fileList) {
                console.log(file, fileList);
            },
            handlePreview(file) {
                console.log(file);
            },
            handleExceed(files, fileList) {
                this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
            },
            beforeRemove(file, fileList) {
                return this.$confirm(`确定移除 ${ file.name }?`);
            },
            uploadSuccess(res, file) {
                this.imageLine = res.path;
            },
            imageLineSuccess(res, file) {
                this.imageLine = res.path;
            },
            submit() {
                console.log("提交");
                let _this = this;
                let submitDate = [];
                for (let i = 0; i < _this.paramSettings.length; i++) {
                    let paramSetting = _this.paramSettings[i];
                    let userValue = paramSetting.userValue;
                    if (paramSetting.type == 3) {
                    if (paramSetting.type == 4) {
                        userValue = paramSetting.userValue.join(",");
                    }
                    if (paramSetting.type == 6) {
                        userValue = _this.imageLine;
                    }
                    let obj = {
                        code: paramSetting.code,
                        userValue: userValue
                    }
                    submitDate.push(obj);
                }