| | |
| | | .handleBtn.is-disabled { |
| | | color: #c0c4cc; |
| | | } |
| | | |
| | | .red { |
| | | color: red !important; |
| | | } |
| | | >>> .el-loading-parent--relative { |
| | | |
| | | >>>.el-loading-parent--relative { |
| | | z-index: 1 !important; |
| | | } |
| | | >>> .el-table__body-wrapper::-webkit-scrollbar { |
| | | height: 14px; /* 设置滚动条宽度 */ |
| | | |
| | | >>>.el-table__body-wrapper::-webkit-scrollbar { |
| | | height: 14px; |
| | | /* 设置滚动条宽度 */ |
| | | } |
| | | </style> |
| | | <style> |
| | |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .el-table__empty-text { |
| | | text-align: left; |
| | | width: 100%; |
| | |
| | | |
| | | <template> |
| | | <div class="value-table"> |
| | | <div |
| | | :style=" |
| | | data.isPage != undefined && data.isPage != true ? 'height:100%' : '' |
| | | " |
| | | class="table" |
| | | > |
| | | <el-table |
| | | :key="specialKey" |
| | | ref="eltable" |
| | | v-loading="loading" |
| | | :current-row-key="data.currentId" |
| | | :data="tableData" |
| | | :highlight-current-row="data.highlight === undefined || data.highlight" |
| | | :row-class-name="tableRowClassName" |
| | | :row-key="(record) => record[rowKey]" |
| | | :show-summary=" |
| | | data.countFleid != undefined && data.countFleid.length > 0 |
| | | " |
| | | :span-method="spanMethod" |
| | | :summary-method="getSummaries" |
| | | height="100%" |
| | | style="width: 100%" |
| | | tooltip-effect="dark" |
| | | @select="select" |
| | | @selection-change="selectChange" |
| | | @sort-change="sortChange" |
| | | @row-click="rowClick" |
| | | > |
| | | <el-table-column |
| | | v-if="data.showSelect" |
| | | :key="Math.random()" |
| | | :width="selectionWidth" |
| | | type="selection" |
| | | > |
| | | <div :style="data.isPage != undefined && data.isPage != true ? 'height:100%' : '' |
| | | " class="table"> |
| | | <el-table :key="specialKey" ref="eltable" v-loading="loading" :current-row-key="data.currentId" :data="tableData" |
| | | :highlight-current-row="data.highlight === undefined || data.highlight" :row-class-name="tableRowClassName" |
| | | :row-key="(record) => record[rowKey]" :show-summary="data.countFleid != undefined && data.countFleid.length > 0 |
| | | " :span-method="spanMethod" :summary-method="getSummaries" height="100%" style="width: 100%" |
| | | tooltip-effect="dark" @select="select" @selection-change="selectChange" @sort-change="sortChange" |
| | | @row-click="rowClick"> |
| | | <el-table-column v-if="data.showSelect" :key="Math.random()" :width="selectionWidth" type="selection"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="data.isIndex" |
| | | :key="Math.random()" |
| | | :width="selectionWidth" |
| | | align="center" |
| | | label="序号" |
| | | type="index" |
| | | > |
| | | <el-table-column v-if="data.isIndex" :key="Math.random()" :width="selectionWidth" align="center" label="序号" |
| | | type="index"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-for="(a, ai) in tableHead" |
| | | v-if=" |
| | | !data.headNoShow || |
| | | (data.headNoShow && data.headNoShow.length == 0) || |
| | | (data.headNoShow && |
| | | data.headNoShow.length > 0 && |
| | | !data.headNoShow.find((d) => d == a.label)) |
| | | " |
| | | :key="ai + 'bbbbb'" |
| | | :isColumnWidth="isColumnWidth" |
| | | :isShowZero="isShowZero" |
| | | :label="a.value" |
| | | :min-width="columnMinWidth" |
| | | :prop="a.label" |
| | | :sortable="a.sort === 'custom' ? 'custom' : false" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column v-for="(a, ai) in tableHead" v-if=" |
| | | !data.headNoShow || |
| | | (data.headNoShow && data.headNoShow.length == 0) || |
| | | (data.headNoShow && |
| | | data.headNoShow.length > 0 && |
| | | !data.headNoShow.find((d) => d == a.label)) |
| | | " :key="ai + 'bbbbb'" :isColumnWidth="isColumnWidth" :isShowZero="isShowZero" :label="a.value" |
| | | :min-width="columnMinWidth" :prop="a.label" :sortable="a.sort === 'custom' ? 'custom' : false" |
| | | show-overflow-tooltip> |
| | | <template slot-scope="scope"> |
| | | <div v-if="showType(a.label, data.tagField) != null"> |
| | | <template v-if="typeof scope.row[a.label] == 'object'"> |
| | | <template v-for="(param, i) in scope.row[a.label]"> |
| | | <el-tag |
| | | v-for="(b, bi) in data.tagField[a.label].select" |
| | | v-if="b.value == param" |
| | | :key="bi + 'cccc'" |
| | | :type="b.type" |
| | | size="medium" |
| | | style="margin-right: 5px" |
| | | >{{ b.label }}</el-tag |
| | | > |
| | | <el-tag v-for="(b, bi) in data.tagField[a.label].select" v-if="b.value == param" :key="bi + 'cccc'" |
| | | :type="b.type" size="medium" style="margin-right: 5px">{{ b.label }}</el-tag> |
| | | </template> |
| | | </template> |
| | | <template v-else> |
| | | <el-tag |
| | | v-for="(b, bi) in data.tagField[a.label].select" |
| | | v-show="b.value == scope.row[a.label]" |
| | | :key="bi + 'ddddd'" |
| | | :type="b.type" |
| | | size="medium" |
| | | >{{ b.label }}</el-tag |
| | | > |
| | | <el-tag v-for="(b, bi) in data.tagField[a.label].select" v-show="b.value == scope.row[a.label]" |
| | | :key="bi + 'ddddd'" :type="b.type" size="medium">{{ b.label }}</el-tag> |
| | | </template> |
| | | </div> |
| | | <!-- 可操作行进行点击事件 --> |
| | | <span |
| | | v-else-if="data.linkEvent && showLink(a.label, data.linkEvent)" |
| | | style="color: #409eff; cursor: pointer" |
| | | @click="handleLinkEvent(scope.row, data.linkEvent[a.label])" |
| | | >{{ scope.row[a.label] }}</span |
| | | > |
| | | <img |
| | | v-else-if="showUpload(a.label) && scope.row[a.label]" |
| | | :src="javaApi + '/img/' + scope.row[a.label]" |
| | | alt="" |
| | | style="width: 40px; height: 40px; margin-top: 10px" |
| | | /> |
| | | <span v-else-if="data.linkEvent && showLink(a.label, data.linkEvent)" |
| | | style="color: #409eff; cursor: pointer" @click="handleLinkEvent(scope.row, data.linkEvent[a.label])">{{ |
| | | scope.row[a.label] }}</span> |
| | | <img v-else-if="showUpload(a.label) && scope.row[a.label]" :src="javaApi + '/img/' + scope.row[a.label]" |
| | | alt="" style="width: 40px; height: 40px; margin-top: 10px" /> |
| | | <span v-else :class="{ red: getRedColor(a.label, scope.row) }">{{ |
| | | scope.row[a.label] |
| | | }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="data.do.length > 0" |
| | | :width="getWidth()" |
| | | align="center" |
| | | fixed="right" |
| | | label="操作" |
| | | > |
| | | <el-table-column v-if="data.do.length > 0" :width="getWidth()" align="center" fixed="right" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | v-for="(a, ai) in data.do" |
| | | :key="ai + 'qqqq'" |
| | | :disabled=" |
| | | a.disabFun ? a.disabFun(scope.row, scope.$index) : false |
| | | " |
| | | :type="a.type" |
| | | class="handleBtn" |
| | | @click="main(scope.row, a)" |
| | | > |
| | | <el-button v-for="(a, ai) in data.do" :key="ai + 'qqqq'" :disabled="a.disabFun ? a.disabFun(scope.row, scope.$index) : false |
| | | " :type="a.type" class="handleBtn" @click="main(scope.row, a)"> |
| | | <span v-if="a.type != 'upload'">{{ a.font }}</span> |
| | | <el-upload |
| | | v-else |
| | | ref="upload" |
| | | :accept="a.uploadConfig.accept" |
| | | :action=" |
| | | javaApi + |
| | | a.uploadConfig.url + |
| | | '?id=' + |
| | | (a.uploadConfig.uploadIdFun |
| | | ? a.uploadConfig.uploadIdFun(scope.row) |
| | | : scope.row.id) |
| | | " |
| | | :disabled=" |
| | | a.disabFun ? a.disabFun(scope.row, scope.$index) : false |
| | | " |
| | | :headers="token" |
| | | :on-error="onError" |
| | | :on-success="handleSuccessUp" |
| | | :show-file-list="false" |
| | | name="file" |
| | | style="background: transparent" |
| | | > |
| | | <el-upload v-else ref="upload" :accept="a.uploadConfig.accept" |
| | | :action="javaApi + a.uploadConfig.url + '?id=' + (a.uploadConfig.uploadIdFun ? a.uploadConfig.uploadIdFun(scope.row) : scope.row.id)" |
| | | :disabled="a.disabFun ? a.disabFun(scope.row, scope.$index) : false |
| | | " :headers="token" :on-error="onError" :on-success="handleSuccessUp" :show-file-list="false" |
| | | name="file" style="background: transparent"> |
| | | <span>{{ a.font }}</span> |
| | | </el-upload> |
| | | </el-button> |
| | |
| | | </el-table> |
| | | </div> |
| | | <div v-if="data.isPage == undefined || data.isPage" class="page"> |
| | | <el-pagination |
| | | :current-page="page.current" |
| | | :page-size="page.size" |
| | | :page-sizes="[10, 20, 30, 50, 100]" |
| | | :total="total" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | @size-change="sizeChange" |
| | | @current-change="currentChange" |
| | | > |
| | | <el-pagination :current-page="page.current" :page-size="page.size" :page-sizes="[10, 20, 30, 50, 100]" |
| | | :total="total" layout="total, sizes, prev, pager, next, jumper" @size-change="sizeChange" |
| | | @current-change="currentChange"> |
| | | </el-pagination> |
| | | </div> |
| | | <el-dialog |
| | | :close-on-click-modal="false" |
| | | :visible.sync="upDia" |
| | | :width="data.row == 1 ? '500px' : 540 + data.row * 200 + 'px'" |
| | | append-to-body |
| | | title="编辑" |
| | | > |
| | | <div |
| | | class="body" |
| | | style="max-height: 600px; overflow-y: auto; padding: 5px 10px 5px 0" |
| | | > |
| | | <el-dialog :close-on-click-modal="false" :visible.sync="upDia" |
| | | :width="data.row == 1 ? '500px' : 540 + data.row * 200 + 'px'" append-to-body title="编辑"> |
| | | <div class="body" style="max-height: 600px; overflow-y: auto; padding: 5px 10px 5px 0"> |
| | | <div v-if="data.row > 1"> |
| | | <div |
| | | v-for="(a, ai) in upHead" |
| | | :key="ai + 'ffff'" |
| | | style="line-height: 50px" |
| | | > |
| | | <div v-for="(a, ai) in upHead" :key="ai + 'ffff'" style="line-height: 50px"> |
| | | <el-col :offset="1" :span="6 / data.row" style="text-align: right"> |
| | | <span v-if="showUpReq(a.label)" class="required-span">* </span |
| | | >{{ a.value }}: |
| | | <span v-if="showUpReq(a.label)" class="required-span">* </span>{{ a.value }}: |
| | | </el-col> |
| | | <el-col :span="16 / data.row"> |
| | | <el-input |
| | | v-if=" |
| | | showType(a.label, data.selectField) == null && |
| | | !showUpload(a.label) && |
| | | !showCascader(a.label) |
| | | " |
| | | v-model="upData[a.label]" |
| | | :disabled="isDisabled(a.label)" |
| | | :placeholder="`请输入${a.value}`" |
| | | clearable |
| | | size="small" |
| | | ></el-input> |
| | | <el-select |
| | | v-if="showType(a.label, data.selectField) != null" |
| | | v-model="upData[a.label]" |
| | | :allow-create="data.selectField[a.label].allowCreate" |
| | | :default-first-option=" |
| | | data.selectField[a.label].defaultFirstOption |
| | | " |
| | | :disabled="isDisabled(a.label)" |
| | | :multiple="data.selectField[a.label].choose" |
| | | clearable |
| | | filterable |
| | | size="small" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="(b, bi) in data.selectField[a.label].select" |
| | | :key="bi + 'eeeee'" |
| | | :label="b.label" |
| | | :value="b.value" |
| | | > |
| | | <el-input v-if=" |
| | | showType(a.label, data.selectField) == null && |
| | | !showUpload(a.label) && |
| | | !showCascader(a.label) |
| | | " v-model="upData[a.label]" :disabled="isDisabled(a.label)" :placeholder="`请输入${a.value}`" clearable |
| | | size="small"></el-input> |
| | | <el-select v-if="showType(a.label, data.selectField) != null" v-model="upData[a.label]" |
| | | :allow-create="data.selectField[a.label].allowCreate" :default-first-option="data.selectField[a.label].defaultFirstOption |
| | | " :disabled="isDisabled(a.label)" :multiple="data.selectField[a.label].choose" clearable filterable |
| | | size="small" style="width: 100%"> |
| | | <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi + 'eeeee'" :label="b.label" |
| | | :value="b.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-upload |
| | | v-if="showUpload(a.label)" |
| | | ref="upload" |
| | | :accept="data.addUploadConfig.accept" |
| | | :action="javaApi + data.addUploadConfig.url" |
| | | :headers="token" |
| | | :multiple="false" |
| | | :on-error="onError" |
| | | :on-success="(m) => handleSuccessUp(m, a.label)" |
| | | :show-file-list="false" |
| | | class="avatar-uploader" |
| | | name="file" |
| | | style=" |
| | | <el-upload v-if="showUpload(a.label)" ref="upload" :accept="data.addUploadConfig.accept" |
| | | :action="javaApi + data.addUploadConfig.url" :headers="token" :multiple="false" :on-error="onError" |
| | | :on-success="(m) => handleSuccessUp(m, a.label)" :show-file-list="false" class="avatar-uploader" |
| | | name="file" style=" |
| | | background: transparent; |
| | | width: 80px; |
| | | height: 80px; |
| | | border: 1px solid #dcdfe6; |
| | | border-radius: 6px; |
| | | margin: 10px 0; |
| | | " |
| | | > |
| | | <img |
| | | v-if="upData[a.label]" |
| | | :src="javaApi + '/img/' + upData[a.label]" |
| | | class="avatar" |
| | | style="width: 80px; height: 80px; border-radius: 6px" |
| | | /> |
| | | "> |
| | | <img v-if="upData[a.label]" :src="javaApi + '/img/' + upData[a.label]" class="avatar" |
| | | style="width: 80px; height: 80px; border-radius: 6px" /> |
| | | <i v-else class="el-icon-plus avatar-uploader-icon"></i> |
| | | </el-upload> |
| | | <el-cascader |
| | | v-if="showCascader(a.label)" |
| | | :options="data.cascaderField[a.label].tree" |
| | | :placeholder="`请选择${a.value}`" |
| | | :props="data.cascaderField.props" |
| | | :show-all-levels="false" |
| | | :value="upData[a.label]" |
| | | clearable |
| | | filterable |
| | | size="small" |
| | | style="width: 100%" |
| | | @change="(m) => handleCascader(m, a.label)" |
| | | ></el-cascader> |
| | | <el-cascader v-if="showCascader(a.label)" :options="data.cascaderField[a.label].tree" |
| | | :placeholder="`请选择${a.value}`" :props="data.cascaderField.props" :show-all-levels="false" |
| | | :value="upData[a.label]" clearable filterable size="small" style="width: 100%" |
| | | @change="(m) => handleCascader(m, a.label)"></el-cascader> |
| | | </el-col> |
| | | </div> |
| | | </div> |
| | | <div v-else> |
| | | <el-row |
| | | v-for="(a, ai) in upHead" |
| | | :key="ai + 'ggggg'" |
| | | style="line-height: 50px" |
| | | > |
| | | <el-row v-for="(a, ai) in upHead" :key="ai + 'ggggg'" style="line-height: 50px"> |
| | | <el-col :span="6" style="text-align: right"> |
| | | <span v-if="showUpReq(a.label)" class="required-span">* </span |
| | | >{{ a.value }}: |
| | | <span v-if="showUpReq(a.label)" class="required-span">* </span>{{ a.value }}: |
| | | </el-col> |
| | | <el-col :offset="1" :span="16"> |
| | | <el-input |
| | | v-if=" |
| | | showType(a.label, data.selectField) == null && |
| | | !showUpload(a.label) && |
| | | !showCascader(a.label) |
| | | " |
| | | v-model="upData[a.label]" |
| | | :disabled="isDisabled(a.label)" |
| | | :placeholder="`请输入${a.value}`" |
| | | clearable |
| | | size="small" |
| | | ></el-input> |
| | | <el-select |
| | | v-if="showType(a.label, data.selectField) != null" |
| | | v-model="upData[a.label]" |
| | | :disabled="isDisabled(a.label)" |
| | | :multiple="data.selectField[a.label].choose" |
| | | clearable |
| | | filterable |
| | | size="small" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="(b, bi) in data.selectField[a.label].select" |
| | | :key="bi + 'fffff'" |
| | | :label="b.label" |
| | | :value="b.value" |
| | | ></el-option> |
| | | <el-input v-if=" |
| | | showType(a.label, data.selectField) == null && |
| | | !showUpload(a.label) && |
| | | !showCascader(a.label) |
| | | " v-model="upData[a.label]" :disabled="isDisabled(a.label)" :placeholder="`请输入${a.value}`" clearable |
| | | size="small"></el-input> |
| | | <el-select v-if="showType(a.label, data.selectField) != null" v-model="upData[a.label]" |
| | | :disabled="isDisabled(a.label)" :multiple="data.selectField[a.label].choose" clearable filterable |
| | | size="small" style="width: 100%"> |
| | | <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi + 'fffff'" :label="b.label" |
| | | :value="b.value"></el-option> |
| | | </el-select> |
| | | <el-upload |
| | | v-if="showUpload(a.label)" |
| | | ref="upload" |
| | | :accept="data.addUploadConfig.accept" |
| | | :action="javaApi + data.addUploadConfig.url" |
| | | :headers="token" |
| | | :multiple="false" |
| | | :on-error="onError" |
| | | :on-success="(m) => handleSuccessUp(m, a.label)" |
| | | :show-file-list="false" |
| | | class="avatar-uploader" |
| | | name="file" |
| | | style=" |
| | | <el-upload v-if="showUpload(a.label)" ref="upload" :accept="data.addUploadConfig.accept" |
| | | :action="javaApi + data.addUploadConfig.url" :headers="token" :multiple="false" :on-error="onError" |
| | | :on-success="(m) => handleSuccessUp(m, a.label)" :show-file-list="false" class="avatar-uploader" |
| | | name="file" style=" |
| | | background: transparent; |
| | | width: 80px; |
| | | height: 80px; |
| | | border: 1px solid #dcdfe6; |
| | | border-radius: 6px; |
| | | margin: 10px 0; |
| | | " |
| | | > |
| | | <img |
| | | v-if="upData[a.label]" |
| | | :src="javaApi + '/img/' + upData[a.label]" |
| | | class="avatar" |
| | | style="width: 80px; height: 80px; border-radius: 6px" |
| | | /> |
| | | "> |
| | | <img v-if="upData[a.label]" :src="javaApi + '/img/' + upData[a.label]" class="avatar" |
| | | style="width: 80px; height: 80px; border-radius: 6px" /> |
| | | <i v-else class="el-icon-plus avatar-uploader-icon"></i> |
| | | </el-upload> |
| | | <el-cascader |
| | | v-if="showCascader(a.label)" |
| | | :options="data.cascaderField[a.label].tree" |
| | | :placeholder="`请选择${a.value}`" |
| | | :props="data.cascaderField.props" |
| | | :show-all-levels="false" |
| | | :value="upData[a.label]" |
| | | clearable |
| | | filterable |
| | | size="small" |
| | | style="width: 100%" |
| | | @change="(m) => handleCascader(m, a.label)" |
| | | ></el-cascader> |
| | | <el-cascader v-if="showCascader(a.label)" :options="data.cascaderField[a.label].tree" |
| | | :placeholder="`请选择${a.value}`" :props="data.cascaderField.props" :show-all-levels="false" |
| | | :value="upData[a.label]" clearable filterable size="small" style="width: 100%" |
| | | @change="(m) => handleCascader(m, a.label)"></el-cascader> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="upDia = false">取 消</el-button> |
| | | <el-button :loading="upLoad" type="primary" @click="saveUpData" |
| | | >确 定</el-button |
| | | > |
| | | <el-button :loading="upLoad" type="primary" @click="saveUpData">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog |
| | | :close-on-click-modal="false" |
| | | :visible.sync="addDia" |
| | | :width="data.row == 1 ? '500px' : 540 + data.row * 200 + 'px'" |
| | | append-to-body |
| | | title="新增" |
| | | > |
| | | <div |
| | | v-if="addDia" |
| | | class="body" |
| | | style="max-height: 550px; overflow-y: auto; padding: 5px 10px 5px 0" |
| | | > |
| | | <el-dialog :close-on-click-modal="false" :visible.sync="addDia" |
| | | :width="data.row == 1 ? '500px' : 540 + data.row * 200 + 'px'" append-to-body title="新增"> |
| | | <div v-if="addDia" class="body" style="max-height: 550px; overflow-y: auto; padding: 5px 10px 5px 0"> |
| | | <div v-if="data.row > 1"> |
| | | <div |
| | | v-for="(a, ai) in upHead" |
| | | :key="ai + 'yyyyy'" |
| | | style="line-height: 50px" |
| | | > |
| | | <el-col :offset="1" :span="6 / data.row" style="text-align: right" |
| | | ><span v-if="showAddReq(a.label)" class="required-span">* </span |
| | | >{{ a.value }}:</el-col |
| | | > |
| | | <div v-for="(a, ai) in upHead" :key="ai + 'yyyyy'" style="line-height: 50px"> |
| | | <el-col :offset="1" :span="6 / data.row" style="text-align: right"><span v-if="showAddReq(a.label)" |
| | | class="required-span">* </span>{{ a.value }}:</el-col> |
| | | <el-col :span="16 / data.row"> |
| | | <el-input |
| | | v-if=" |
| | | showType(a.label, data.selectField) == null && |
| | | !showUpload(a.label) && |
| | | !showCascader(a.label) |
| | | " |
| | | v-model="upData[a.label]" |
| | | :placeholder="`请输入${a.value}`" |
| | | clearable |
| | | size="small" |
| | | ></el-input> |
| | | <el-select |
| | | v-if="showType(a.label, data.selectField) != null" |
| | | v-model="upData[a.label]" |
| | | :multiple="data.selectField[a.label].choose" |
| | | :placeholder="`请选择${a.value}`" |
| | | clearable |
| | | filterable |
| | | size="small" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="(b, bi) in data.selectField[a.label].select" |
| | | :key="bi + 'hhhh'" |
| | | :label="b.label" |
| | | :value="b.value" |
| | | ></el-option> |
| | | <el-input v-if=" |
| | | showType(a.label, data.selectField) == null && |
| | | !showUpload(a.label) && |
| | | !showCascader(a.label) |
| | | " v-model="upData[a.label]" :placeholder="`请输入${a.value}`" clearable size="small"></el-input> |
| | | <el-select v-if="showType(a.label, data.selectField) != null" v-model="upData[a.label]" |
| | | :multiple="data.selectField[a.label].choose" :placeholder="`请选择${a.value}`" clearable filterable |
| | | size="small" style="width: 100%"> |
| | | <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi + 'hhhh'" :label="b.label" |
| | | :value="b.value"></el-option> |
| | | </el-select> |
| | | <el-upload |
| | | v-if="showUpload(a.label)" |
| | | ref="upload" |
| | | :accept="data.addUploadConfig.accept" |
| | | :action="javaApi + data.addUploadConfig.url" |
| | | :headers="token" |
| | | :multiple="false" |
| | | :on-error="onError" |
| | | :on-success="(m) => handleSuccessUp(m, a.label)" |
| | | :show-file-list="false" |
| | | class="avatar-uploader" |
| | | name="file" |
| | | style=" |
| | | <el-upload v-if="showUpload(a.label)" ref="upload" :accept="data.addUploadConfig.accept" |
| | | :action="javaApi + data.addUploadConfig.url" :headers="token" :multiple="false" :on-error="onError" |
| | | :on-success="(m) => handleSuccessUp(m, a.label)" :show-file-list="false" class="avatar-uploader" |
| | | name="file" style=" |
| | | background: transparent; |
| | | width: 80px; |
| | | height: 80px; |
| | | border: 1px solid #dcdfe6; |
| | | border-radius: 6px; |
| | | margin: 10px 0; |
| | | " |
| | | > |
| | | <img |
| | | v-if="upData[a.label]" |
| | | :src="javaApi + '/img/' + upData[a.label]" |
| | | class="avatar" |
| | | style="width: 80px; height: 80px; border-radius: 6px" |
| | | /> |
| | | "> |
| | | <img v-if="upData[a.label]" :src="javaApi + '/img/' + upData[a.label]" class="avatar" |
| | | style="width: 80px; height: 80px; border-radius: 6px" /> |
| | | <i v-else class="el-icon-plus avatar-uploader-icon"></i> |
| | | </el-upload> |
| | | <el-cascader |
| | | v-if="showCascader(a.label)" |
| | | :options="data.cascaderField[a.label].tree" |
| | | :placeholder="`请选择${a.value}`" |
| | | :props="data.cascaderField.props" |
| | | :show-all-levels="false" |
| | | clearable |
| | | filterable |
| | | size="small" |
| | | style="width: 100%" |
| | | @change="(m) => handleCascader(m, a.label)" |
| | | ></el-cascader> |
| | | <el-cascader v-if="showCascader(a.label)" :options="data.cascaderField[a.label].tree" |
| | | :placeholder="`请选择${a.value}`" :props="data.cascaderField.props" :show-all-levels="false" clearable |
| | | filterable size="small" style="width: 100%" @change="(m) => handleCascader(m, a.label)"></el-cascader> |
| | | </el-col> |
| | | </div> |
| | | </div> |
| | | <div v-else> |
| | | <el-row |
| | | v-for="(a, ai) in upHead" |
| | | :key="ai + 'jjjjj'" |
| | | style="line-height: 50px" |
| | | > |
| | | <el-col :span="6" style="text-align: right" |
| | | ><span v-if="showAddReq(a.label)" class="required-span">* </span |
| | | >{{ a.value }}:</el-col |
| | | > |
| | | <el-row v-for="(a, ai) in upHead" :key="ai + 'jjjjj'" style="line-height: 50px"> |
| | | <el-col :span="6" style="text-align: right"><span v-if="showAddReq(a.label)" class="required-span">* |
| | | </span>{{ |
| | | a.value }}:</el-col> |
| | | <el-col :offset="1" :span="16"> |
| | | <el-input |
| | | v-if=" |
| | | showType(a.label, data.selectField) == null && |
| | | !showUpload(a.label) && |
| | | !showCascader(a.label) |
| | | " |
| | | v-model="upData[a.label]" |
| | | :placeholder="`请输入${a.value}`" |
| | | clearable |
| | | size="small" |
| | | ></el-input> |
| | | <el-select |
| | | v-if="showType(a.label, data.selectField) != null" |
| | | v-model="upData[a.label]" |
| | | :multiple="data.selectField[a.label].choose" |
| | | :placeholder="`请选择${a.value}`" |
| | | clearable |
| | | size="small" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="(b, bi) in data.selectField[a.label].select" |
| | | :key="bi + 'mmmmmm'" |
| | | :label="b.label" |
| | | :value="b.value" |
| | | ></el-option> |
| | | <el-input v-if=" |
| | | showType(a.label, data.selectField) == null && |
| | | !showUpload(a.label) && |
| | | !showCascader(a.label) |
| | | " v-model="upData[a.label]" :placeholder="`请输入${a.value}`" clearable size="small"></el-input> |
| | | <el-select v-if="showType(a.label, data.selectField) != null" v-model="upData[a.label]" |
| | | :multiple="data.selectField[a.label].choose" :placeholder="`请选择${a.value}`" clearable size="small" |
| | | style="width: 100%"> |
| | | <el-option v-for="(b, bi) in data.selectField[a.label].select" :key="bi + 'mmmmmm'" :label="b.label" |
| | | :value="b.value"></el-option> |
| | | </el-select> |
| | | <el-upload |
| | | v-if="showUpload(a.label)" |
| | | ref="upload" |
| | | :accept="data.addUploadConfig.accept" |
| | | :action="javaApi + data.addUploadConfig.url" |
| | | :headers="token" |
| | | :multiple="false" |
| | | :on-error="onError" |
| | | :on-success="(m) => handleSuccessUp(m, a.label)" |
| | | :show-file-list="false" |
| | | class="avatar-uploader" |
| | | name="file" |
| | | style=" |
| | | <el-upload v-if="showUpload(a.label)" ref="upload" :accept="data.addUploadConfig.accept" |
| | | :action="javaApi + data.addUploadConfig.url" :headers="token" :multiple="false" :on-error="onError" |
| | | :on-success="(m) => handleSuccessUp(m, a.label)" :show-file-list="false" class="avatar-uploader" |
| | | name="file" style=" |
| | | background: transparent; |
| | | width: 80px; |
| | | height: 80px; |
| | | border: 1px solid #dcdfe6; |
| | | border-radius: 6px; |
| | | margin: 10px 0; |
| | | " |
| | | > |
| | | <img |
| | | v-if="upData[a.label]" |
| | | :src="javaApi + '/img/' + upData[a.label]" |
| | | class="avatar" |
| | | style="width: 80px; height: 80px; border-radius: 6px" |
| | | /> |
| | | "> |
| | | <img v-if="upData[a.label]" :src="javaApi + '/img/' + upData[a.label]" class="avatar" |
| | | style="width: 80px; height: 80px; border-radius: 6px" /> |
| | | <i v-else class="el-icon-plus avatar-uploader-icon"></i> |
| | | </el-upload> |
| | | <el-cascader |
| | | v-if="showCascader(a.label)" |
| | | :options="data.cascaderField[a.label].tree" |
| | | :placeholder="`请选择${a.value}`" |
| | | :props="data.cascaderField.props" |
| | | :show-all-levels="false" |
| | | clearable |
| | | filterable |
| | | size="small" |
| | | style="width: 100%" |
| | | @change="(m) => handleCascader(m, a.label)" |
| | | ></el-cascader> |
| | | <el-cascader v-if="showCascader(a.label)" :options="data.cascaderField[a.label].tree" |
| | | :placeholder="`请选择${a.value}`" :props="data.cascaderField.props" :show-all-levels="false" clearable |
| | | filterable size="small" style="width: 100%" @change="(m) => handleCascader(m, a.label)"></el-cascader> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addDia = false">取 消</el-button> |
| | | <el-button :loading="addLoad" type="primary" @click="saveAddData" |
| | | >确 定</el-button |
| | | > |
| | | <el-button :loading="addLoad" type="primary" @click="saveAddData">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog :visible.sync="downDia" title="导出" width="400px"> |
| | |
| | | </el-dialog> |
| | | <el-dialog :visible.sync="uploadDia" title="数据导入" width="500px"> |
| | | <div style="margin: 0 auto"> |
| | | <el-upload |
| | | ref="upload" |
| | | :accept="data.accept === undefined ? '.csv' : data.accept" |
| | | :action="javaApi + inputUrl" |
| | | :auto-upload="false" |
| | | :data="{ param: data.uploadStr }" |
| | | :file-list="fileList" |
| | | :headers="token" |
| | | :limit="1" |
| | | :on-change="beforeUpload" |
| | | :on-error="onError" |
| | | :on-success="onSuccess" |
| | | drag |
| | | name="file" |
| | | > |
| | | <el-upload ref="upload" :accept="data.accept === undefined ? '.csv' : data.accept" :action="javaApi + inputUrl" |
| | | :auto-upload="false" :data="{ param: data.uploadStr }" :file-list="fileList" :headers="token" :limit="1" |
| | | :on-change="beforeUpload" :on-error="onError" :on-success="onSuccess" drag name="file"> |
| | | <i class="el-icon-upload"></i> |
| | | <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> |
| | | </el-upload> |
| | |
| | | } |
| | | ) |
| | | .then((res) => { |
| | | if (res.code === 201) { |
| | | this.loading = false; |
| | | return; |
| | | } |
| | | this.total = res.data.body.total; |
| | | this.tableHead = res.data.head; |
| | | this.tableData = res.data.body.records; |
| | | this.tableData = res.data.records; |
| | | if (this.data.needSort !== undefined) { |
| | | // 根据父组件传回来的needSort数组,判断哪些字段需要排序功能 |
| | | for (var i = 0; i < this.data.needSort.length; i++) { |
| | |
| | | this.tableData.map((b) => { |
| | | try { |
| | | b[a] = JSON.parse(b[a]); |
| | | } catch (e) {} |
| | | } catch (e) { } |
| | | }); |
| | | } |
| | | } |
| | |
| | | id: row.id, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 201) { |
| | | return; |
| | | } |
| | | this.$message.success("删除成功"); |
| | | this.selectList("page"); |
| | | this.$emit("delete"); |
| | |
| | | this.$message.error("删除失败"); |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | .catch(() => { }); |
| | | } |
| | | } else if (val.id === "parent") { |
| | | delete row.orderBy; |
| | |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 201) { |
| | | this.upLoad = false; |
| | | return; |
| | | } |
| | | this.$message.success("修改成功"); |
| | | this.upDia = false; |
| | | this.selectList("page"); |
| | |
| | | this.$message.error("删除失败"); |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | .catch(() => { }); |
| | | } else { |
| | | this.$message.error("请选择要删除的数据"); |
| | | } |