فهرست منبع

Merge branch 'lin_增值服务' of ssh://gogs.zfire.top:2222/zfire-front/zfire-newmall-admin into develop

linwenxin 1 سال پیش
والد
کامیت
0000f02951

+ 337 - 311
src/views/setting/dataDictionary/index.vue

@@ -1,43 +1,42 @@
 <template>
-  <!-- :exportList="exportList" -->
-	<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">
-		   <!-- <AddDataDictionary :visible="visible" :item="item" @setVisible="bool => {
-		     visible = bool
-		     if (!bool && item) {
-		       item = null
-		     }
-		   }
-		     " @success="() => {
-		   $refs.pageRef.refreshList()
-		 }
-		   " /> -->
-		   <el-dialog title="" width="500px" custom-class="diy-dialog" append-to-body :modal="true" :visible.sync="formDialog"
-		     :show-close="true" :close-on-click-modal="false" :modal-append-to-body="false" :before-close="formCancel">
-		     <zj-form-container ref="formRef" :form-data="formData" :styleSwitch="false">
-		       <zj-form-module :title="formDialogTitles[formDialogType]" 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="formCancel">取 消</el-button>
-		   			<el-button size="mini" type="primary" @click="formConfirm()">确定</el-button>
-		     </div>
-		   </el-dialog>
-		 </template-page>
-	</zj-page-container>
+	<zj-tab-page ref="tabPage" :defaultActives="[{ key: 'list', label: '列表页面', 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>
@@ -48,284 +47,311 @@ 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'
 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: ["新增","编辑", "详情"],
-	  formDialog: false,
-	  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)
-	  }
+	components: {
+		TemplatePage,
+		AddDataDictionary
 	},
-    // 列表导出函数
-    exportList: getDataDictionaryExport,
-	getType(){
-		getType().then(res => {
-			this.typeList = res.data
-		    this.$refs.pageRef.refreshList()
-		})
+	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: ''
+			}
+		}
 	},
-	handleNodeClick(e){
-		this.dictType = e.dictType
-		this.formData.dictType = e.dictType
-		this.formData.dictTypeName = e.remark
-		this.dictTypeName = e.remark
-		this.$refs.pageRef.refreshList()
+	created() {
+		this.getType()
 	},
-    // 表格列解析渲染数据更改
-    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: (...p) => {
-                      var [row] = p
-                      this.formData = row
-                      this.formDialogType = 1
-                      this.openForm()
-                    }
-                  }}
-                >
-                  编辑
-                </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.formDialogType = 0
-	  this.openForm()
+	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: []
+				}
+			}]
+		}
 	},
-	openForm() {
-	  this.formDialog = true;
-	},
-	formCancel() {
-	  this.$refs.formRef.$refs.inlineForm.clearValidate()
-	  this.$data.formData = this.$options.data().formData
-	  this.formData.dictType = this.dictType
-	  this.formData.dictTypeName = this.dictTypeName
-	  this.formDialog = false
-	},
-	formConfirm() {
-	  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.formCancel()
-	        this.$refs.pageRef.refreshList()
-	      })
-	    }
-	  })
-	},
-	// 下载导入模版
-	handleDownload() {
-		commonTemplateDownload({ name: '数据字典导入.xlsx' }, `${this.$route.meta.title}`).then(res => {
-		    this.$message({
-		        message: '下载成功',
-		        type: 'success'
-		    })
-		}).catch(err => {
-		    this.$message.error('下载失败')
-		})
-	},
-  }
+	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;
-	}
+.title {
+	width: 120px;
+	margin: 24px 0 20px 20px;
+	padding-bottom: 10px;
+	border-bottom: 1px solid #cccccc;
+	font-weight: bold;
+}
 </style>

+ 7 - 7
src/views/setting/departmentManage/index.vue

@@ -97,8 +97,8 @@
             </el-form-item>
           </el-form>
           <div slot="footer" class="dialog-footer">
-            <el-button @click="data.removeTab">取 消</el-button>
-            <el-button type="primary" @click="submitMainForm">确 定</el-button>
+            <el-button @click="data.removeTab()">取 消</el-button>
+            <el-button type="primary" @click="submitMainForm(data.removeTab)">确 定</el-button>
           </div>
         </div>
       </div>
@@ -254,7 +254,7 @@ export default {
         // 打开时事件
         triggerEvent: () => {
           this.cancelMainForm()
-          this.$nextTick(()=>{
+          this.$nextTick(() => {
             this.mainFormType = type
             this.mainFormVisible = true
             if (type == 'add') {
@@ -279,7 +279,7 @@ export default {
         },
         // 关闭时事件
         closeEvent: () => {
-          
+
         }
       })
     },
@@ -292,7 +292,7 @@ export default {
     },
 
     // 提交 网点表单
-    submitMainForm() {
+    submitMainForm(removeTab) {
       this.$refs.mainForm.validate(valid => {
         if (valid) {
           let parentId = null
@@ -315,15 +315,15 @@ export default {
           if (this.mainFormType == 'edit') {
             params.websitId = this.editId
             editDepartment(params).then(res => {
-              this.cancelMainForm()
               this.getList()
               this.$successMsg('编辑成功')
+              removeTab('list')
             })
           } else {
             addDepartment(params).then(res => {
-              this.cancelMainForm()
               this.getList()
               this.$successMsg('添加成功')
+              removeTab('list')
             })
           }
         }

+ 181 - 172
src/views/userManagement/masterManagement/index.vue

@@ -1,42 +1,52 @@
 <template>
-	<template-page ref="pageRef" :get-list="getList" :table-attributes="tableAttributes" :table-events="tableEvents" :operationColumnWidth="200"
-	  :options-evens-group="optionsEvensGroup" :moreParameters="moreParameters" :column-parsing="columnParsing"
-	  :operation="operation()">
-		<!-- :exportList="exportList" -->
-	  <div slot="moreSearch">
-	    <el-radio-group v-model="examineStatus" size="mini" @change="changeType">
-	    	<el-radio-button label="">全部</el-radio-button>
-	    	<el-radio-button label="WAIT">待审核</el-radio-button>
-	    	<el-radio-button label="OK">审核通过</el-radio-button>
-	    	<el-radio-button label="FAIL">驳回</el-radio-button>
-	    </el-radio-group>
-	    <br><br>
-	  </div>
-	  <el-dialog title="" width="800px" custom-class="diy-dialog" append-to-body :modal="true" :visible.sync="formDialog"
-	    :show-close="true" :close-on-click-modal="false" :modal-append-to-body="false" :before-close="formCancel">
-	    <zj-form-container ref="formRef" :form-data="formData" :styleSwitch="false">
-	      <zj-form-module :title="formDialogTitles[formDialogType]" label-width="100px" :showPackUp="false"
-	        :form-data="formData" :form-items="formItems">
-	      </zj-form-module>
-	    </zj-form-container>
-	    <div slot="footer" class="dialog-footer">
-			<el-button v-if="formData.examineStatus == 'WAIT'" size="mini" type="primary" @click="audit('OK')">审核通过</el-button>
-			<el-button v-if="formData.examineStatus == 'WAIT'" size="mini" type="danger" @click="audit('FAIL')">审核驳回</el-button>
-			<el-button size="mini" @click="formCancel">取 消</el-button>
-	    </div>
-	  </el-dialog>
-	</template-page>
+  <zj-tab-page ref="tabPage" :defaultActives="[{ key: 'list', label: '列表页面', essential: true }]">
+    <template slot-scope="{activeKey, data}">
+      <div :style="{
+        width: '100%',
+        height: activeKey == 'list' ? '100%' : '0px',
+        overflow: 'hidden'
+      }">
+        <template-page ref="pageRef" :get-list="getList" :table-attributes="tableAttributes" :table-events="tableEvents"
+          :operationColumnWidth="200" :options-evens-group="optionsEvensGroup" :moreParameters="moreParameters"
+          :column-parsing="columnParsing" :operation="operation()">
+          <div slot="moreSearch">
+            <el-radio-group v-model="examineStatus" size="mini" @change="changeType">
+              <el-radio-button label="">全部</el-radio-button>
+              <el-radio-button label="WAIT">待审核</el-radio-button>
+              <el-radio-button label="OK">审核通过</el-radio-button>
+              <el-radio-button label="FAIL">驳回</el-radio-button>
+            </el-radio-group>
+            <br><br>
+          </div>
+        </template-page>
+      </div>
+      <div v-if="~['examine', '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">
+          </zj-form-module>
+        </zj-form-container>
+        <div slot="footer" class="dialog-footer">
+          <el-button v-if="formData.examineStatus == 'WAIT'" size="mini" type="primary"
+            @click="audit('OK', data.removeTab)">审核通过</el-button>
+          <el-button v-if="formData.examineStatus == 'WAIT'" size="mini" type="danger"
+            @click="audit('FAIL', data.removeTab)">审核驳回</el-button>
+          <el-button size="mini" @click="data.removeTab()">取 消</el-button>
+        </div>
+      </div>
+    </template>
+  </zj-tab-page>
 </template>
 
 <script>
 import TemplatePage from '@/components/template/template-page-1.vue'
 import import_mixin from '@/components/template/import_mixin.js'
 import { required, mobileRequired, mobile } from '@/components/template/rules_verify.js'
-import { memberListPageV2,memberPageExport, getMemberDetail, memberAudit, memberInner } from "@/api/masterManagement";
+import { memberListPageV2, memberPageExport, getMemberDetail, memberAudit, memberInner } from "@/api/masterManagement";
 import operation_mixin from '@/components/template/operation_mixin.js'
 export default {
   components: { TemplatePage },
-  mixins: [import_mixin,operation_mixin],
+  mixins: [import_mixin, operation_mixin],
   data() {
     return {
       // 事件组合
@@ -53,14 +63,11 @@ export default {
       // 勾选选中行
       recordSelected: [],
       /** 表单变量 */
-      formDialogType: 0,
-      formDialogTitles: ["审核", "详情"],
-      formDialog: false,
       formData: {
-		type: '工程师',
-		examineRemark: ''
+        type: '工程师',
+        examineRemark: ''
       },
-	  examineStatus: ''
+      examineStatus: ''
     }
   },
   computed: {
@@ -73,7 +80,7 @@ export default {
         md: 12,
         isShow: true,
         name: 'el-select',
-		options: [{label: '待审核', value: 'WAIT'},{label: '驳回', value: 'FAIL'},{label: '通过', value: 'OK'}],
+        options: [{ label: '待审核', value: 'WAIT' }, { label: '驳回', value: 'FAIL' }, { label: '通过', value: 'OK' }],
         attributes: { placeholder: '请输入', disabled: true },
         formItemAttributes: {
           label: '审核状态',
@@ -124,18 +131,18 @@ export default {
         md: 12,
         isShow: true,
         name: 'slot-component',
-        attributes: { },
+        attributes: {},
         formItemAttributes: {
           label: '身份证',
           prop: 'idCardImg',
           rules: []
         },
-		render: (h, { props, onInput }) => {
-		  var { value } = props
-		  return (
-		    <el-image src={this.formData.idCardImg} style='width: 120px;height:120px' preview-src-list={[this.formData.idCardImg]} fit="fit"></el-image>
-		  )
-		}
+        render: (h, { props, onInput }) => {
+          var { value } = props
+          return (
+            <el-image src={this.formData.idCardImg} style='width: 120px;height:120px' preview-src-list={[this.formData.idCardImg]} fit="fit"></el-image>
+          )
+        }
       }, {
         md: 12,
         isShow: true,
@@ -160,7 +167,7 @@ export default {
         md: 24,
         isShow: true,
         name: 'el-input',
-        attributes: { placeholder: '请输入',type: "textarea", disabled: this.formData.examineStatus == 'WAIT' ? false:true },
+        attributes: { placeholder: '请输入', type: "textarea", disabled: this.formData.examineStatus == 'WAIT' ? false : true },
         formItemAttributes: {
           label: '备注',
           prop: 'examineRemark',
@@ -170,152 +177,154 @@ export default {
     }
   },
   methods: {
-	// 切换状态
-	changeType(val) {
-	  this.$refs.pageRef.refreshList()
-	},
+    // 切换状态
+    changeType(val) {
+      this.$refs.pageRef.refreshList()
+    },
     // 列表请求函数
-	getList(p) {
-	  try {
-	    var pam = JSON.parse(JSON.stringify(p))
-	    if (this.examineStatus) {
-	      pam.params.push({ "param": "b.examine_status", "compare": "=", "value": this.examineStatus })
-	    }
-	    return memberListPageV2(pam)
-	  } catch (error) {
-	    console.log(error)
-	  }
-	},
+    getList(p) {
+      try {
+        var pam = JSON.parse(JSON.stringify(p))
+        if (this.examineStatus) {
+          pam.params.push({ "param": "b.examine_status", "compare": "=", "value": this.examineStatus })
+        }
+        return memberListPageV2(pam)
+      } catch (error) {
+        console.log(error)
+      }
+    },
     // 列表导出函数
     exportList: memberPageExport,
     // 表格列解析渲染数据更改
     columnParsing(item, defaultData) {
-		if (item.jname === 'idCardImg') {
-		        defaultData.render = (h, { row, index, column }) => {
-		          return (
-		            <div style="padding:0 6px;cursor: pointer;">
-		              {row.idCardImg ? row.idCardImg.split(",").map(url => <el-image src={url} preview-src-list={[url]} fit="fit" style="width:80px;height:80px;" />) : null}
-		            </div>
-		          )
-		        }
-		      }
+      if (item.jname === 'idCardImg') {
+        defaultData.render = (h, { row, index, column }) => {
+          return (
+            <div style="padding:0 6px;cursor: pointer;">
+              {row.idCardImg ? row.idCardImg.split(",").map(url => <el-image src={url} preview-src-list={[url]} fit="fit" style="width:80px;height:80px;" />) : null}
+            </div>
+          )
+        }
+      }
       return defaultData
     },
     // 监听勾选变化
     selectionChange(data) {
       this.recordSelected = data
     },
-	// 表格操作列
-	operation() {
-		return this.operationBtn({
-			detail: {
-				btnType: 'text',
-				click: ({ row, index, column }) => {
-					getMemberDetail({ id: row.id }).then(res => {
-					  Object.assign(this.formData, res.data)
-					  this.formDialogType = 1
-					  this.openForm()
-					})
-				}
-			},
-			examine: {
-				btnType: 'text',
-				conditions: ({ row, index, column }) => {
-					return row.examineStatus == 'WAIT'
-				},
-				click: ({ row, index, column }) => {
-					getMemberDetail({ id: row.id }).then(res => {
-					  Object.assign(this.formData, res.data)
-					  this.formDialogType = 0
-					  this.openForm()
-					})
-				}
-			},
-			setService: {
-				btnType: 'text',
-				prompt: '请确认是否设为分销员?',
-				click: ({ row, index, column }) => {
-					memberInner({
-						type: 'SERVICE',
-						userIds: row.userId
-					}).then(res => {
-						if (res.code == 200) {
-							this.$message({ type: 'success', message: '设为分销员成功!' })
-							this.$refs.pageRef.refreshList()
-						} else {
-							this.$message.error(res.msg);
-						}
-					})
-				}
-			},
-			setCustomer: {
-				btnType: 'text',
-				prompt: '请确认是否设为客户?',
-				click: ({ row, index, column }) => {
-					memberInner({
-						type: 'GENERAL',
-						userIds: row.userId
-					}).then(res => {
-						if (res.code == 200) {
-							this.$message({ type: 'success', message: '设为客户成功!' })
-							this.$refs.pageRef.refreshList()
-						} else {
-							this.$message.error(res.msg);
-						}
-					})
-				}
-			},
-		})
-	},
-    addData() {
-      this.formDialogType = 0
-      this.openForm()
-    },
-    openForm() {
-      this.formDialog = true;
+    // 表格操作列
+    operation() {
+      return this.operationBtn({
+        detail: {
+          btnType: 'text',
+          click: ({ row, index, column }) => {
+            this.$refs.tabPage.addTab({
+              // 对应显示的模块
+              activeKey: "detail",
+              // 唯一标识
+              key: "detail",
+              // 页签名称
+              label: "编辑",
+              // 打开时事件
+              triggerEvent: () => {
+                this.guanbi()
+                this.$nextTick(() => {
+                  getMemberDetail({ id: row.id }).then(res => {
+                    Object.assign(this.formData, res.data)
+                  })
+                })
+              },
+              // 关闭时事件
+              closeEvent: () => {
+              }
+            })
+          }
+        },
+        examine: {
+          btnType: 'text',
+          conditions: ({ row, index, column }) => {
+            return row.examineStatus == 'WAIT'
+          },
+          click: ({ row, index, column }) => {
+            this.$refs.tabPage.addTab({
+              // 对应显示的模块
+              activeKey: "examine",
+              // 唯一标识
+              key: "examine",
+              // 页签名称
+              label: "审核",
+              // 打开时事件
+              triggerEvent: () => {
+                this.guanbi()
+                this.$nextTick(() => {
+                  getMemberDetail({ id: row.id }).then(res => {
+                    Object.assign(this.formData, res.data)
+                  })
+                })
+              },
+              // 关闭时事件
+              closeEvent: () => {
+              }
+            })
+          }
+        },
+        setService: {
+          btnType: 'text',
+          prompt: '请确认是否设为分销员?',
+          click: ({ row, index, column }) => {
+            memberInner({
+              type: 'SERVICE',
+              userIds: row.userId
+            }).then(res => {
+              if (res.code == 200) {
+                this.$message({ type: 'success', message: '设为分销员成功!' })
+                this.$refs.pageRef.refreshList()
+              } else {
+                this.$message.error(res.msg);
+              }
+            })
+          }
+        },
+        setCustomer: {
+          btnType: 'text',
+          prompt: '请确认是否设为客户?',
+          click: ({ row, index, column }) => {
+            memberInner({
+              type: 'GENERAL',
+              userIds: row.userId
+            }).then(res => {
+              if (res.code == 200) {
+                this.$message({ type: 'success', message: '设为客户成功!' })
+                this.$refs.pageRef.refreshList()
+              } else {
+                this.$message.error(res.msg);
+              }
+            })
+          }
+        },
+      })
     },
-    formCancel() {
-      this.$refs.formRef.$refs.inlineForm.clearValidate()
+    guanbi() {
+      this.$refs?.formRef?.$refs?.inlineForm?.clearValidate()
       this.$data.formData = this.$options.data().formData
-      this.formDialog = false
     },
-	audit(examineStatusEnum){
-		memberAudit({ 
-			examineStatusEnum,
-			examineRemark: this.formData.examineRemark,
-			id: this.formData.id
-		}).then(res => {
-			this.$message({ type: 'success', message: '审核成功!' })
-			this.formCancel()
-			this.$refs.pageRef.refreshList()
-		})
-	},
-	memberInner(type){
-		memberInner({
-			type,
-			userIds: this.formData.userId
-		}).then(res => {
-			this.$message({ type: 'success', message: '设置成功!' })
-			this.$refs.pageRef.refreshList()
-		})
-	},
-    formConfirm() {
-      this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
-        if (valid) {
-          ([memberAudit][this.formDialogType])(this.formData).then(res => {
-            this.$message({ type: 'success', message: `${this.formDialogTitles[this.formDialogType]}成功!` })
-            this.formCancel()
-            this.$refs.pageRef.refreshList()
-          })
-        }
+    audit(examineStatusEnum, removeTab) {
+      memberAudit({
+        examineStatusEnum,
+        examineRemark: this.formData.examineRemark,
+        id: this.formData.id
+      }).then(res => {
+        this.$message({ type: 'success', message: '审核成功!' })
+        removeTab('list')
+        this.$refs.pageRef.refreshList()
       })
-    }
+    },
   }
 }
 </script>
 
 <style lang="scss" scoped>
-	.tab{
-		padding: 20px 20px 0 20px;
-	}
+.tab {
+  padding: 20px 20px 0 20px;
+}
 </style>