|
@@ -1,42 +1,66 @@
|
|
|
<template>
|
|
|
- <zj-tab-page ref="tabPage" :defaultActives="[{ key: 'list', label: $route.meta.title+'-列表', essential: true }]">
|
|
|
- <template slot-scope="{activeKey, data}">
|
|
|
- <div :style="{
|
|
|
- width: '100%',
|
|
|
- height: activeKey == 'list' ? '100%' : '0px',
|
|
|
- overflow: 'hidden'
|
|
|
- }">
|
|
|
- <zj-page-container direction="row">
|
|
|
- <div class="catalogue">
|
|
|
- <div class="title">类型名称</div>
|
|
|
- <zj-page-container>
|
|
|
- <zj-page-fill>
|
|
|
- <el-tree :data="typeList" :props="defaultProps" default-expand-all :highlight-current="true"
|
|
|
- :expand-on-click-node="false" @node-click="handleNodeClick" current-node-key="ASSIST_UNIT"
|
|
|
- node-key="dictType" ref="listTree">
|
|
|
- </el-tree>
|
|
|
- </zj-page-fill>
|
|
|
- </zj-page-container>
|
|
|
- </div>
|
|
|
- <template-page ref="pageRef" :getList="getList" :columnParsing="columnParsing"
|
|
|
- :optionsEvensGroup="optionsEvensGroup" :tableAttributes="tableAttributes" :tableEvents="tableEvents"
|
|
|
- :operationColumnWidth="160" :operation="operation()" :exportList="exportList">
|
|
|
- </template-page>
|
|
|
- </zj-page-container>
|
|
|
- </div>
|
|
|
- <div v-if="~['add', 'detail'].indexOf(activeKey)" style="box-sizing: border-box;padding: 16px;">
|
|
|
- <zj-form-container ref="formRef" :form-data="formData" :styleSwitch="false">
|
|
|
- <zj-form-module :title="data.label" label-width="100px" :showPackUp="false" :form-data="formData"
|
|
|
- :form-items="formItems" :disabled="formDialogType == 2">
|
|
|
- </zj-form-module>
|
|
|
- </zj-form-container>
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
- <el-button size="mini" @click="data.removeTab()">取 消</el-button>
|
|
|
- <el-button size="mini" type="primary" @click="formConfirm(data.removeTab)">确定</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </zj-tab-page>
|
|
|
+ <zj-tab-page ref="tabPage" :defaultActives="[{ key: 'list', label: $route.meta.title + '-列表', essential: true }]">
|
|
|
+ <template slot-scope="{ activeKey, data }">
|
|
|
+ <div
|
|
|
+ :style="{
|
|
|
+ width: '100%',
|
|
|
+ height: activeKey == 'list' ? '100%' : '0px',
|
|
|
+ overflow: 'hidden'
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <zj-page-container direction="row">
|
|
|
+ <div class="catalogue">
|
|
|
+ <div class="title">类型名称</div>
|
|
|
+ <zj-page-container>
|
|
|
+ <zj-page-fill>
|
|
|
+ <el-tree
|
|
|
+ :data="typeList"
|
|
|
+ :props="defaultProps"
|
|
|
+ default-expand-all
|
|
|
+ :highlight-current="true"
|
|
|
+ :expand-on-click-node="false"
|
|
|
+ @node-click="handleNodeClick"
|
|
|
+ current-node-key="ASSIST_UNIT"
|
|
|
+ node-key="dictType"
|
|
|
+ ref="listTree"
|
|
|
+ >
|
|
|
+ </el-tree>
|
|
|
+ </zj-page-fill>
|
|
|
+ </zj-page-container>
|
|
|
+ </div>
|
|
|
+ <template-page
|
|
|
+ ref="pageRef"
|
|
|
+ :getList="getList"
|
|
|
+ :columnParsing="columnParsing"
|
|
|
+ :optionsEvensGroup="optionsEvensGroup"
|
|
|
+ :tableAttributes="tableAttributes"
|
|
|
+ :tableEvents="tableEvents"
|
|
|
+ :operationColumnWidth="160"
|
|
|
+ :operation="operation()"
|
|
|
+ :exportList="exportList"
|
|
|
+ >
|
|
|
+ </template-page>
|
|
|
+ </zj-page-container>
|
|
|
+ </div>
|
|
|
+ <div v-if="~['add', 'detail'].indexOf(activeKey)" style="box-sizing: border-box; padding: 16px">
|
|
|
+ <zj-form-container ref="formRef" :form-data="formData" :styleSwitch="false">
|
|
|
+ <zj-form-module
|
|
|
+ :title="data.label"
|
|
|
+ label-width="100px"
|
|
|
+ :showPackUp="false"
|
|
|
+ :form-data="formData"
|
|
|
+ :form-items="formItems"
|
|
|
+ :disabled="formDialogType == 2"
|
|
|
+ >
|
|
|
+ </zj-form-module>
|
|
|
+ </zj-form-container>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="mini" @click="data.removeTab()">取 消</el-button>
|
|
|
+ <el-button size="mini" type="primary" @click="formConfirm(data.removeTab)">确定</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </zj-tab-page>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
@@ -45,313 +69,333 @@ import AddDataDictionary from './addDataDictionary.vue'
|
|
|
import import_mixin from '@/components/template/import_mixin.js'
|
|
|
import { required } from '@/components/template/rules_verify.js'
|
|
|
import { commonTemplateDownload } from '@/api/common.js'
|
|
|
-import { getType, getDataDictionaryExport, getDataDictionary, add, edit, del, getDetail, listImport } from '@/api/dataDictionary.js'
|
|
|
+import {
|
|
|
+ getType,
|
|
|
+ getDataDictionaryExport,
|
|
|
+ getDataDictionary,
|
|
|
+ add,
|
|
|
+ edit,
|
|
|
+ del,
|
|
|
+ getDetail,
|
|
|
+ listImport
|
|
|
+} from '@/api/dataDictionary.js'
|
|
|
export default {
|
|
|
- components: {
|
|
|
- TemplatePage,
|
|
|
- AddDataDictionary
|
|
|
- },
|
|
|
- mixins: [import_mixin],
|
|
|
- data() {
|
|
|
- return {
|
|
|
- // 事件组合
|
|
|
- optionsEvensGroup: [
|
|
|
- [
|
|
|
- [
|
|
|
- {
|
|
|
- name: '新增',
|
|
|
- click: this.addData
|
|
|
- }
|
|
|
- ]
|
|
|
- ],
|
|
|
- [
|
|
|
- [
|
|
|
- {
|
|
|
- name: '下载导入模板',
|
|
|
- click: this.handleDownload
|
|
|
- }
|
|
|
- ],
|
|
|
- [
|
|
|
- {
|
|
|
- name: '导入模板',
|
|
|
- render: () => {
|
|
|
- return this.importButton(listImport, '导入模板')
|
|
|
- }
|
|
|
- }
|
|
|
- ],
|
|
|
- ]
|
|
|
- ],
|
|
|
- // 表格属性
|
|
|
- tableAttributes: {},
|
|
|
- // 表格事件
|
|
|
- tableEvents: {},
|
|
|
- visible: false,
|
|
|
- item: null,
|
|
|
- dictType: 'ASSIST_UNIT',
|
|
|
- dictTypeName: '辅材单位',
|
|
|
- typeList: [],
|
|
|
- defaultProps: {
|
|
|
- children: '',
|
|
|
- label: 'remark'
|
|
|
- },
|
|
|
- /** 表单变量 */
|
|
|
- formDialogType: 0,
|
|
|
- formDialogTitles: ["新增", "编辑", "详情"],
|
|
|
- formData: {
|
|
|
- companyName: JSON.parse(localStorage.getItem('greemall_user')).companyName,
|
|
|
- dictType: 'ASSIST_UNIT',
|
|
|
- dictTypeName: '辅材单位',
|
|
|
- dictValue: '',
|
|
|
- status: 'ON',
|
|
|
- sortNum: '',
|
|
|
- remark: ''
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- created() {
|
|
|
- this.getType()
|
|
|
- },
|
|
|
- computed: {
|
|
|
- formItems() {
|
|
|
- return [{
|
|
|
- md: 24,
|
|
|
- isShow: true,
|
|
|
- name: 'el-input',
|
|
|
- attributes: { placeholder: '请输入', disabled: true },
|
|
|
- formItemAttributes: {
|
|
|
- label: '所属商户',
|
|
|
- prop: 'companyName',
|
|
|
- rules: [...required]
|
|
|
- },
|
|
|
- }, {
|
|
|
- md: 24,
|
|
|
- isShow: true,
|
|
|
- name: 'el-input',
|
|
|
- attributes: { placeholder: '请输入', disabled: true },
|
|
|
- formItemAttributes: {
|
|
|
- label: '类型名称',
|
|
|
- prop: 'dictTypeName',
|
|
|
- rules: [...required]
|
|
|
- },
|
|
|
- }, {
|
|
|
- md: 24,
|
|
|
- isShow: true,
|
|
|
- name: 'el-input',
|
|
|
- attributes: { placeholder: '请输入' },
|
|
|
- formItemAttributes: {
|
|
|
- label: '字典值',
|
|
|
- prop: 'dictValue',
|
|
|
- rules: [...required]
|
|
|
- },
|
|
|
- }, {
|
|
|
- md: 24,
|
|
|
- isShow: true,
|
|
|
- name: 'slot-component',
|
|
|
- attributes: {},
|
|
|
- formItemAttributes: {
|
|
|
- label: '状态',
|
|
|
- prop: 'status',
|
|
|
- rules: [...required]
|
|
|
- },
|
|
|
- render: (h, { props, onInput }) => {
|
|
|
- var { value } = props
|
|
|
- return (
|
|
|
- <el-radio-group v-model={this.formData.status}>
|
|
|
- <el-radio disabled={this.formDialogType == 2} label="ON">启用</el-radio>
|
|
|
- <el-radio disabled={this.formDialogType == 2} label="OFF">禁用</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- )
|
|
|
- }
|
|
|
- }, {
|
|
|
- md: 24,
|
|
|
- isShow: true,
|
|
|
- name: 'el-input',
|
|
|
- attributes: { placeholder: '请输入' },
|
|
|
- formItemAttributes: {
|
|
|
- label: '排序',
|
|
|
- prop: 'sortNum',
|
|
|
- rules: []
|
|
|
- },
|
|
|
- }, {
|
|
|
- md: 24,
|
|
|
- isShow: true,
|
|
|
- name: 'el-input',
|
|
|
- attributes: { placeholder: '请输入备注内容', type: "textarea", rows: 3 },
|
|
|
- formItemAttributes: {
|
|
|
- label: '备注',
|
|
|
- prop: 'remark',
|
|
|
- rules: []
|
|
|
- }
|
|
|
- }]
|
|
|
- }
|
|
|
- },
|
|
|
- methods: {
|
|
|
- // 列表请求函数
|
|
|
- getList(p) {
|
|
|
- try {
|
|
|
- var pam = JSON.parse(JSON.stringify(p))
|
|
|
- if (this.dictType) {
|
|
|
- pam.params.push({ "param": "a.dict_type", "compare": "=", "value": this.dictType })
|
|
|
- }
|
|
|
- return getDataDictionary(pam)
|
|
|
- } catch (error) {
|
|
|
- console.log(error)
|
|
|
- }
|
|
|
- },
|
|
|
- // 列表导出函数
|
|
|
- exportList: getDataDictionaryExport,
|
|
|
- getType() {
|
|
|
- getType().then(res => {
|
|
|
- this.typeList = res.data
|
|
|
- this.$refs.pageRef.refreshList()
|
|
|
- })
|
|
|
- },
|
|
|
- handleNodeClick(e) {
|
|
|
- this.dictType = e.dictType
|
|
|
- this.formData.dictType = e.dictType
|
|
|
- this.formData.dictTypeName = e.remark
|
|
|
- this.dictTypeName = e.remark
|
|
|
- this.$refs.pageRef.refreshList()
|
|
|
- },
|
|
|
- // 表格列解析渲染数据更改
|
|
|
- columnParsing(item, defaultData) {
|
|
|
- return defaultData
|
|
|
- },
|
|
|
- operation() {
|
|
|
- if (true) {
|
|
|
- return (h, { row, index, column }) => {
|
|
|
- return (
|
|
|
- <div class="operation-btns">
|
|
|
- {true ? (
|
|
|
- <zj-button
|
|
|
- useLoading={false}
|
|
|
- parameter={[row]}
|
|
|
- buttonAttributes={{
|
|
|
- size: 'mini',
|
|
|
- type: 'primary'
|
|
|
- }}
|
|
|
- buttonEvents={{
|
|
|
- click: (row) => {
|
|
|
- this.$refs.tabPage.addTab({
|
|
|
- // 对应显示的模块
|
|
|
- activeKey: "detail",
|
|
|
- // 唯一标识
|
|
|
- key: "detail",
|
|
|
- // 页签名称
|
|
|
- label: "编辑",
|
|
|
- // 打开时事件
|
|
|
- triggerEvent: () => {
|
|
|
- this.formCancel()
|
|
|
- this.formDialogType = 1
|
|
|
- this.$nextTick(() => {
|
|
|
- this.formData = row
|
|
|
- })
|
|
|
- },
|
|
|
- // 关闭时事件
|
|
|
- closeEvent: () => {
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- }}
|
|
|
- >
|
|
|
- 编辑
|
|
|
- </zj-button>
|
|
|
- ) : null}
|
|
|
- {true ? (
|
|
|
- <el-popconfirm
|
|
|
- icon="el-icon-info"
|
|
|
- icon-color="red"
|
|
|
- title="这是一段内容确定删除吗?"
|
|
|
- onConfirm={() => {
|
|
|
- del({ id: row.sysDictId })
|
|
|
- .then(res => {
|
|
|
- this.$refs.pageRef.refreshList()
|
|
|
- this.$message({
|
|
|
- type: 'success',
|
|
|
- message: `删除成功!`
|
|
|
- })
|
|
|
- })
|
|
|
- .catch(err => {
|
|
|
- console.log(err)
|
|
|
- })
|
|
|
- }}
|
|
|
- >
|
|
|
- <zj-button
|
|
|
- slot="reference"
|
|
|
- buttonAttributes={{
|
|
|
- size: 'mini',
|
|
|
- type: 'danger'
|
|
|
- }}
|
|
|
- >
|
|
|
- 删除
|
|
|
- </zj-button>
|
|
|
- </el-popconfirm>
|
|
|
- ) : null}
|
|
|
- </div>
|
|
|
- )
|
|
|
- }
|
|
|
- }
|
|
|
- return undefined
|
|
|
- },
|
|
|
- addData() {
|
|
|
- this.$refs.tabPage.addTab({
|
|
|
- // 对应显示的模块
|
|
|
- activeKey: "add",
|
|
|
- // 唯一标识
|
|
|
- key: "add",
|
|
|
- // 页签名称
|
|
|
- label: "新增",
|
|
|
- // 打开时事件
|
|
|
- triggerEvent: () => {
|
|
|
- this.formCancel()
|
|
|
- this.formDialogType = 0
|
|
|
- },
|
|
|
- // 关闭时事件
|
|
|
- closeEvent: () => {
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- formCancel() {
|
|
|
- this.$refs?.formRef?.$refs?.inlineForm?.clearValidate();
|
|
|
- this.$data.formData = this.$options.data().formData;
|
|
|
- this.formData.dictType = this.dictType;
|
|
|
- this.formData.dictTypeName = this.dictTypeName;
|
|
|
- },
|
|
|
- formConfirm(removeTab) {
|
|
|
- this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
|
|
|
- if (valid) {
|
|
|
- ([add, edit][this.formDialogType])(this.formData).then(res => {
|
|
|
- this.$message({
|
|
|
- type: 'success',
|
|
|
- message: this.formDialogTitles[this.formDialogType] + `成功!`
|
|
|
- })
|
|
|
- this.$refs.pageRef.refreshList();
|
|
|
- removeTab('list')
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- // 下载导入模版
|
|
|
- handleDownload() {
|
|
|
- commonTemplateDownload({ name: '数据字典导入.xlsx' }, `${this.$route.meta.title}`).then(res => {
|
|
|
- this.$message({
|
|
|
- message: '下载成功',
|
|
|
- type: 'success'
|
|
|
- })
|
|
|
- }).catch(err => {
|
|
|
- this.$message.error('下载失败')
|
|
|
- })
|
|
|
- },
|
|
|
- }
|
|
|
+ components: {
|
|
|
+ TemplatePage,
|
|
|
+ AddDataDictionary
|
|
|
+ },
|
|
|
+ mixins: [import_mixin],
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ // 事件组合
|
|
|
+ optionsEvensGroup: [
|
|
|
+ [
|
|
|
+ [
|
|
|
+ {
|
|
|
+ name: '新增',
|
|
|
+ click: this.addData
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ [
|
|
|
+ {
|
|
|
+ name: '下载导入模板',
|
|
|
+ click: this.handleDownload
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ {
|
|
|
+ name: '导入模板',
|
|
|
+ render: () => {
|
|
|
+ return this.importButton(listImport, '导入模板')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ ]
|
|
|
+ ],
|
|
|
+ // 表格属性
|
|
|
+ tableAttributes: {},
|
|
|
+ // 表格事件
|
|
|
+ tableEvents: {},
|
|
|
+ visible: false,
|
|
|
+ item: null,
|
|
|
+ dictType: 'ASSIST_UNIT',
|
|
|
+ dictTypeName: '辅材单位',
|
|
|
+ typeList: [],
|
|
|
+ defaultProps: {
|
|
|
+ children: '',
|
|
|
+ label: 'remark'
|
|
|
+ },
|
|
|
+ /** 表单变量 */
|
|
|
+ formDialogType: 0,
|
|
|
+ formDialogTitles: ['新增', '编辑', '详情'],
|
|
|
+ formData: {
|
|
|
+ companyName: JSON.parse(localStorage.getItem('greemall_user')).companyName,
|
|
|
+ dictType: 'ASSIST_UNIT',
|
|
|
+ dictTypeName: '辅材单位',
|
|
|
+ dictValue: '',
|
|
|
+ status: 'ON',
|
|
|
+ sortNum: '',
|
|
|
+ remark: ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getType()
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ formItems() {
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ md: 24,
|
|
|
+ isShow: true,
|
|
|
+ name: 'el-input',
|
|
|
+ attributes: { placeholder: '请输入', disabled: true },
|
|
|
+ formItemAttributes: {
|
|
|
+ label: '所属商户',
|
|
|
+ prop: 'companyName',
|
|
|
+ rules: [...required]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ md: 24,
|
|
|
+ isShow: true,
|
|
|
+ name: 'el-input',
|
|
|
+ attributes: { placeholder: '请输入', disabled: true },
|
|
|
+ formItemAttributes: {
|
|
|
+ label: '类型名称',
|
|
|
+ prop: 'dictTypeName',
|
|
|
+ rules: [...required]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ md: 24,
|
|
|
+ isShow: true,
|
|
|
+ name: 'el-input',
|
|
|
+ attributes: { placeholder: '请输入' },
|
|
|
+ formItemAttributes: {
|
|
|
+ label: '字典值',
|
|
|
+ prop: 'dictValue',
|
|
|
+ rules: [...required]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ md: 24,
|
|
|
+ isShow: true,
|
|
|
+ name: 'slot-component',
|
|
|
+ attributes: {},
|
|
|
+ formItemAttributes: {
|
|
|
+ label: '状态',
|
|
|
+ prop: 'status',
|
|
|
+ rules: [...required]
|
|
|
+ },
|
|
|
+ render: (h, { props, onInput }) => {
|
|
|
+ var { value } = props
|
|
|
+ return (
|
|
|
+ <el-radio-group v-model={this.formData.status}>
|
|
|
+ <el-radio disabled={this.formDialogType == 2} label="ON">
|
|
|
+ 启用
|
|
|
+ </el-radio>
|
|
|
+ <el-radio disabled={this.formDialogType == 2} label="OFF">
|
|
|
+ 禁用
|
|
|
+ </el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ md: 24,
|
|
|
+ isShow: true,
|
|
|
+ name: 'el-input',
|
|
|
+ attributes: { placeholder: '请输入' },
|
|
|
+ formItemAttributes: {
|
|
|
+ label: '排序',
|
|
|
+ prop: 'sortNum',
|
|
|
+ rules: []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ md: 24,
|
|
|
+ isShow: true,
|
|
|
+ name: 'el-input',
|
|
|
+ attributes: { placeholder: '请输入备注内容', type: 'textarea', rows: 3 },
|
|
|
+ formItemAttributes: {
|
|
|
+ label: '备注',
|
|
|
+ prop: 'remark',
|
|
|
+ rules: []
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 列表请求函数
|
|
|
+ getList(p) {
|
|
|
+ try {
|
|
|
+ var pam = JSON.parse(JSON.stringify(p))
|
|
|
+ if (this.dictType) {
|
|
|
+ pam.params.push({ param: 'a.dict_type', compare: '=', value: this.dictType })
|
|
|
+ }
|
|
|
+ return getDataDictionary(pam)
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 列表导出函数
|
|
|
+ exportList: getDataDictionaryExport,
|
|
|
+ getType() {
|
|
|
+ getType().then(res => {
|
|
|
+ this.typeList = res.data
|
|
|
+ this.$refs.pageRef.refreshList()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleNodeClick(e) {
|
|
|
+ this.dictType = e.dictType
|
|
|
+ this.formData.dictType = e.dictType
|
|
|
+ this.formData.dictTypeName = e.remark
|
|
|
+ this.dictTypeName = e.remark
|
|
|
+ this.$refs.pageRef.refreshList()
|
|
|
+ },
|
|
|
+ // 表格列解析渲染数据更改
|
|
|
+ columnParsing(item, defaultData) {
|
|
|
+ return defaultData
|
|
|
+ },
|
|
|
+ operation() {
|
|
|
+ if (true) {
|
|
|
+ return (h, { row, index, column }) => {
|
|
|
+ return (
|
|
|
+ <div class="operation-btns">
|
|
|
+ {true ? (
|
|
|
+ <zj-button
|
|
|
+ useLoading={false}
|
|
|
+ parameter={[row]}
|
|
|
+ buttonAttributes={{
|
|
|
+ size: 'mini',
|
|
|
+ type: 'primary'
|
|
|
+ }}
|
|
|
+ buttonEvents={{
|
|
|
+ click: row => {
|
|
|
+ this.$refs.tabPage.addTab({
|
|
|
+ // 对应显示的模块
|
|
|
+ activeKey: 'detail',
|
|
|
+ // 唯一标识
|
|
|
+ key: 'detail',
|
|
|
+ // 页签名称
|
|
|
+ label: '编辑',
|
|
|
+ // 打开时事件
|
|
|
+ triggerEvent: () => {
|
|
|
+ this.formCancel()
|
|
|
+ this.formDialogType = 1
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.formData = row
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 关闭时事件
|
|
|
+ closeEvent: () => {}
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 编辑
|
|
|
+ </zj-button>
|
|
|
+ ) : null}
|
|
|
+ {true ? (
|
|
|
+ <el-popconfirm
|
|
|
+ icon="el-icon-info"
|
|
|
+ icon-color="red"
|
|
|
+ title="这是一段内容确定删除吗?"
|
|
|
+ onConfirm={() => {
|
|
|
+ del({ id: row.sysDictId })
|
|
|
+ .then(res => {
|
|
|
+ this.$refs.pageRef.refreshList()
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: `删除成功!`
|
|
|
+ })
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ console.log(err)
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <zj-button
|
|
|
+ slot="reference"
|
|
|
+ buttonAttributes={{
|
|
|
+ size: 'mini',
|
|
|
+ type: 'danger'
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 删除
|
|
|
+ </zj-button>
|
|
|
+ </el-popconfirm>
|
|
|
+ ) : null}
|
|
|
+ </div>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return undefined
|
|
|
+ },
|
|
|
+ addData() {
|
|
|
+ this.$refs.tabPage.addTab({
|
|
|
+ // 对应显示的模块
|
|
|
+ activeKey: 'add',
|
|
|
+ // 唯一标识
|
|
|
+ key: 'add',
|
|
|
+ // 页签名称
|
|
|
+ label: '新增',
|
|
|
+ // 打开时事件
|
|
|
+ triggerEvent: () => {
|
|
|
+ this.formCancel()
|
|
|
+ this.formDialogType = 0
|
|
|
+ },
|
|
|
+ // 关闭时事件
|
|
|
+ closeEvent: () => {}
|
|
|
+ })
|
|
|
+ },
|
|
|
+ formCancel() {
|
|
|
+ this.$refs?.formRef?.$refs?.inlineForm?.clearValidate()
|
|
|
+ this.$data.formData = this.$options.data().formData
|
|
|
+ this.formData.dictType = this.dictType
|
|
|
+ this.formData.dictTypeName = this.dictTypeName
|
|
|
+ },
|
|
|
+ formConfirm(removeTab) {
|
|
|
+ this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
|
|
|
+ if (valid) {
|
|
|
+ ;[add, edit][this.formDialogType](this.formData).then(res => {
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: this.formDialogTitles[this.formDialogType] + `成功!`
|
|
|
+ })
|
|
|
+ this.$refs.pageRef.refreshList()
|
|
|
+ removeTab('list')
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 下载导入模版
|
|
|
+ handleDownload() {
|
|
|
+ commonTemplateDownload({ name: '数据字典导入.xlsx' }, `${this.$route.meta.title}`)
|
|
|
+ .then(res => {
|
|
|
+ this.$message({
|
|
|
+ message: '下载成功',
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ this.$message.error('下载失败')
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
.title {
|
|
|
- width: 120px;
|
|
|
- margin: 24px 0 20px 20px;
|
|
|
- padding-bottom: 10px;
|
|
|
- border-bottom: 1px solid #cccccc;
|
|
|
- font-weight: bold;
|
|
|
+ width: 120px;
|
|
|
+ margin: 24px 0 20px 20px;
|
|
|
+ padding-bottom: 10px;
|
|
|
+ border-bottom: 1px solid #cccccc;
|
|
|
+ font-weight: bold;
|
|
|
}
|
|
|
</style>
|