linwenxin 1 год назад
Родитель
Сommit
6fdd937175

+ 6 - 6
package-lock.json

@@ -4711,9 +4711,9 @@
       "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
     },
     "@zjlib/element-plugins": {
-      "version": "2.10.16",
-      "resolved": "http://121.41.110.30:4873/@zjlib%2felement-plugins/-/element-plugins-2.10.16.tgz",
-      "integrity": "sha512-K3tf3XeyNJ8fzJH3Lvs4PGSC7K/CUHgimxduPs3kPUcjQx9g6A6DzQhEMrvIZIkMb9SvT9Zl+1GhjhzIhu3DMw==",
+      "version": "2.10.17",
+      "resolved": "http://121.41.110.30:4873/@zjlib%2felement-plugins/-/element-plugins-2.10.17.tgz",
+      "integrity": "sha512-V6lzWlvGeKAYOvcH6FnNMybPCTKZ0aLHQX9h3NDtsA7RP//EY5cVM33JdmPmgHvlBIq2WX+mYd4EYV5/qo5XDw==",
       "requires": {
         "@turf/turf": "^6.5.0",
         "@vuemap/vue-amap": "^0.1.12",
@@ -8134,9 +8134,9 @@
       }
     },
     "csstype": {
-      "version": "3.1.2",
-      "resolved": "http://121.41.110.30:4873/csstype/-/csstype-3.1.2.tgz",
-      "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
+      "version": "3.1.3",
+      "resolved": "http://121.41.110.30:4873/csstype/-/csstype-3.1.3.tgz",
+      "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
     },
     "cyclist": {
       "version": "1.0.1",

+ 1 - 1
package.json

@@ -18,7 +18,7 @@
     "@turf/turf": "^6.5.0",
     "@vue-office/excel": "^1.3.0",
     "@vue/composition-api": "^1.7.1",
-    "@zjlib/element-plugins": "^2.10.16",
+    "@zjlib/element-plugins": "^2.10.17",
     "@zjlib/element-ui2": "^1.0.3",
     "axios": "0.18.1",
     "chatgpt": "^4.1.2",

BIN
public/favicon.ico


BIN
public/favicon.png


BIN
public/geLi_logo.png


+ 8 - 8
src/api/announcement.js

@@ -18,25 +18,25 @@ export function noticePageExport(data, name) {
 }
 
 export function noticeAdd(data) {
-  return postBlob({
+  return request({
     url: '/notice/add',
-	method: 'post',
+    method: 'post',
     data
   })
 }
 
 export function noticeDel(data) {
-  return postBlob({
+  return request({
     url: '/notice/mark/del',
-	method: 'post',
+    method: 'post',
     data
   })
 }
 
-export function getNoticeDetail(data) {
-  return postBlob({
+export function getNoticeDetail(params) {
+  return request({
     url: '/notice/detailNotice',
-	method: 'post',
-    data
+    method: 'get',
+    params
   })
 }

BIN
src/assets/login/geLi_logo2.png


BIN
src/assets/login/image.png


BIN
src/assets/logo.png


+ 11 - 4
src/layout/components/Sidebar/Logo.vue

@@ -2,12 +2,12 @@
   <div class="sidebar-logo-container" :class="{ collapse: collapse }">
     <transition name="sidebarLogoFade">
       <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
-        <img v-if="logo" src="@/assets/login/geLi_logo2.png" class="sidebar-logo" />
-        <h1 v-else class="sidebar-title">{{ title }}</h1>
+        <img v-if="logo" src="@/assets/login/geLi_logo2.png" class="sidebar-logo-2" />
+        <!-- <h1 v-else class="sidebar-title">{{ title }}</h1> -->
       </router-link>
       <router-link v-else key="expand" class="sidebar-logo-link" to="/">
         <img v-if="logo" src="@/assets/login/geLi_logo2.png" class="sidebar-logo" />
-        <h1 class="sidebar-title">{{ title }}</h1>
+        <!-- <h1 class="sidebar-title">{{ title }}</h1> -->
       </router-link>
     </transition>
   </div>
@@ -57,10 +57,17 @@ export default {
     width: 100%;
 
     & .sidebar-logo {
+      width: auto;
+      height: 32px;
+      vertical-align: middle;
+      // margin-right: 12px;
+    }
+
+    & .sidebar-logo-2{
       width: 32px;
       height: 32px;
       vertical-align: middle;
-      margin-right: 12px;
+      // margin-right: 12px;
     }
 
     & .sidebar-title {

+ 257 - 295
src/views/setting/notification/announcement/index.vue

@@ -10,329 +10,291 @@
 			</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">
+		<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 size="mini" type="primary" @click="save()">保存</el-button>
-				<el-button v-if="formData.status == 'NO'" size="mini" type="primary" @click="save(1)">发布</el-button>
 				<el-button size="mini" @click="formCancel">取 消</el-button>
+				<el-button v-if="formDialogType < 2" size="mini" type="primary" @click="formConfirm('NO')">保存</el-button>
+				<el-button v-if="formDialogType < 2" size="mini" type="primary" @click="formConfirm('YES')">发布</el-button>
 			</div>
 		</el-dialog>
 	</template-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 { noticeListPageV2, noticePageExport, getNoticeDetail, noticeAdd, noticeDel } from "@/api/announcement";
-	export default {
-		components: { TemplatePage },
-		mixins: [import_mixin],
-		data() {
-			return {
-				// 事件组合
-				optionsEvensGroup: [
-				  [
-				    [
-				      {
-				        name: '新建',
-				        isRole: true,
-				        click: ()=>{
-							this.formDialog = true
-							this.formDialogType = 0
+import TemplatePage from '@/components/template/template-page-1.vue'
+import import_mixin from '@/components/template/import_mixin.js'
+import ImageUpload from '@/components/file-upload'
+import { required, mobileRequired, mobile } from '@/components/template/rules_verify.js'
+import { noticeListPageV2, noticePageExport, getNoticeDetail, noticeAdd, noticeDel } from "@/api/announcement";
+import { memberListPageV2 } from "@/api/masterManagement";
+import { getList as getListaa } from "@/api/merchant";
+export default {
+	components: { TemplatePage, ImageUpload },
+	mixins: [import_mixin],
+	data() {
+		return {
+			// 事件组合
+			optionsEvensGroup: [
+				[
+					[
+						{
+							name: '新建',
+							click: this.addData
 						}
-				      }
-				    ],
-				  ],
+					],
 				],
-				// 表格属性
-				tableAttributes: {
-					// 启用勾选列
-					selectColumn: false
-				},
-				// 表格事件
-				tableEvents: {
-					'selection-change': this.selectionChange
-				},
-				// 勾选选中行
-				recordSelected: [],
-				/** 表单变量 */
-				formDialogType: 0,
-				formDialogTitles: ["新增", "详情"],
-				formDialog: false,
-				formData: {
-					type: '工程师',
-					examineRemark: ''
-				},
-				status: ''
-			}
-		},
-		computed: {
-			// 更多参数
-			moreParameters() {
-				return []
-			},
-			formItems() {
-				return [{
-					md: 12,
-					isShow: true,
-					name: 'el-select',
-					options: [{
-						label: '待审核',
-						value: 'WAIT'
-					}, {
-						label: '驳回',
-						value: 'FAIL'
-					}, {
-						label: '通过',
-						value: 'OK'
-					}],
-					attributes: {
-						placeholder: '请输入',
-						disabled: true
-					},
-					formItemAttributes: {
-						label: '审核状态',
-						prop: 'examineStatus',
-						rules: []
-					},
-				}, {
-					md: 12,
-					isShow: true,
-					name: 'el-input',
-					attributes: {
-						disabled: true
-					},
-					formItemAttributes: {
-						label: '用户类型',
-						prop: 'type',
-						rules: []
-					}
-				}, {
-					md: 12,
-					isShow: true,
-					name: 'el-input',
-					attributes: {
-						placeholder: '请输入',
-						disabled: true
-					},
-					formItemAttributes: {
-						label: '用户名称',
-						prop: 'nickName',
-						rules: []
-					}
-				}, {
-					md: 12,
-					isShow: true,
-					name: 'el-input',
-					attributes: {
-						placeholder: '请输入',
-						disabled: true
-					},
-					formItemAttributes: {
-						label: '联系电话',
-						prop: 'mobile',
-						rules: []
-					}
-				}, {
-					md: 12,
-					isShow: true,
-					name: 'el-input',
-					attributes: {
-						placeholder: '请输入',
-						disabled: true
-					},
-					formItemAttributes: {
-						label: '身份证号码',
-						prop: 'idCard',
-						rules: []
-					}
-				}, {
-					md: 12,
-					isShow: true,
-					name: 'el-image',
-					attributes: {
-						src: this.formData.idCardImg
-					},
-					formItemAttributes: {
-						label: '身份证',
-						prop: 'idCardImg',
-						rules: []
-					},
-				}, {
-					md: 12,
-					isShow: true,
-					name: 'el-input',
-					attributes: {
-						placeholder: '请输入',
-						disabled: true
-					},
-					formItemAttributes: {
-						label: '所属商户',
-						prop: 'companyName',
-						rules: []
-					}
-				}, {
-					md: 12,
-					isShow: true,
-					name: 'el-input',
-					attributes: {
-						placeholder: '请输入',
-						disabled: true
-					},
-					formItemAttributes: {
-						label: '入驻网点',
-						prop: 'websitName',
-						rules: []
-					}
-				}, {
-					md: 24,
-					isShow: true,
-					name: 'el-input',
-					attributes: {
-						placeholder: '请输入',
-						type: "textarea",
-						disabled: this.formData.examineStatus == 'WAIT' ? false : true
-					},
-					formItemAttributes: {
-						label: '备注',
-						prop: 'examineRemark',
-						rules: []
-					}
-				}]
-			}
-		},
-		methods: {
-			// 切换状态
-			changeType(val) {
-				this.$refs.pageRef.refreshList()
+			],
+			// 表格属性
+			tableAttributes: {
+				// 启用勾选列
+				selectColumn: false
 			},
-			// 列表请求函数
-			getList(p) {
-				try {
-					var pam = JSON.parse(JSON.stringify(p))
-					if (this.status) {
-						pam.params.push({
-							"param": "nr.status",
-							"compare": "=",
-							"value": this.status
-						})
-					}
-					return noticeListPageV2(pam)
-				} catch (error) {
-					console.log(error)
-				}
+			// 表格事件
+			tableEvents: {
+				'selection-change': this.selectionChange
 			},
-			// 列表导出函数
-			exportList: noticePageExport,
-			// 表格列解析渲染数据更改
-			columnParsing(item, defaultData) {
-				return defaultData
+			// 勾选选中行
+			recordSelected: [],
+			/** 表单变量 */
+			formDialogType: 0,
+			formDialogTitles: ["新增", "编辑", "详情"],
+			formDialog: false,
+			formData: {
+				type: "A",
+				title: "",
+				files: [],
+				adminWebsitIds: [],
+				workerIds: [],
+				content: "",
 			},
-			// 监听勾选变化
-			selectionChange(data) {
-				this.recordSelected = data
+			status: '',
+			websitList: [],
+			workerList: []
+		}
+	},
+	computed: {
+		// 更多参数
+		moreParameters() {
+			return []
+		},
+		formItems() {
+			console.log(this.$store.state.app)
+			return [{
+				md: 24,
+				isShow: true,
+				name: 'el-radio',
+				options: [
+					{
+						label: `活动`,
+						value: "A"
+					},
+					{
+						label: `公告`,
+						value: "B"
+					}],
+				attributes: { filterable: true, placeholder: '请选择', disabled: this.formDialogType == 2 },
+				formItemAttributes: {
+					label: '类型',
+					prop: 'type',
+					rules: [...required]
+				},
 			},
-			// 表格操作列
-			operation(h, { row, index, column }) {
-				return ( <div class='operation-btns'>
-					<el-button type="text" onClick = { () => {
-						getNoticeDetail({
-							id: row.id
-						}).then(res => {
-							Object.assign(this.formData, res.data)
-							this.formDialogType = 1
-							this.openForm()
-						})
-					}}>详情</el-button>
-					<el-button type="text" onClick = { () => {
-						this.$confirm('请确定是否删除这条公告, 是否继续?', '提示', {
-							confirmButtonText: '确定',
-							cancelButtonText: '取消',
-							type: 'warning'
-						}).then(() => {
-							noticeDel({
-								noticeIds: row.id
-							}).then(res => {
-								if (res.code == 200) {
-									this.$message({
-										type: 'success',
-										message: '删除成功!'
-									})
-									this.$refs.pageRef.refreshList()
-								} else {
-									this.$message.error(res.msg);
-								}
-							})
-						});
-					}}>删除</el-button>
-				</div>)
+			{
+				md: 24,
+				isShow: true,
+				name: 'el-input',
+				attributes: { placeholder: '请输入', disabled: this.formDialogType == 2 },
+				formItemAttributes: {
+					label: '标题',
+					prop: 'title',
+					rules: [...required]
+				}
 			},
-			addData() {
-				this.formDialogType = 0
-				this.openForm()
+			{
+				md: 24,
+				isShow: this.formDialogType < 2 && JSON.parse(localStorage.getItem("greemall_user")).type == 2,
+				name: 'zj-paging-pull-down',
+				options: this.websitList,
+				attributes: {
+					valueKey: "companyWechatId",
+					labelKey: "companyName",
+					size: 'mini',
+					placeholder: '请选择',
+					multiple: true
+				},
+				formItemAttributes: {
+					label: '选择商户',
+					prop: 'adminWebsitIds',
+					rules: [...required]
+				}
 			},
-			openForm() {
-				this.formDialog = true;
+			{
+				md: 24,
+				isShow: this.formDialogType < 2 && JSON.parse(localStorage.getItem("greemall_user")).type != 2,
+				name: 'zj-paging-pull-down',
+				options: this.workerList,
+				attributes: {
+					valueKey: "id",
+					labelKey: "nickName",
+					size: 'mini',
+					placeholder: '请选择',
+					multiple: true
+				},
+				formItemAttributes: {
+					label: '选择师傅',
+					prop: 'workerIds',
+					rules: [...required]
+				}
 			},
-			formCancel() {
-				this.$refs.formRef.$refs.inlineForm.clearValidate()
-				this.$data.formData = this.$options.data().formData
-				this.formDialog = false
+			{
+				md: 24,
+				isShow: true,
+				name: 'slot-component',
+				formItemAttributes: {
+					label: '附件',
+					prop: 'files',
+					rules: []
+				},
+				render: (h, { props, onInput }) => {
+					var { value } = props
+					return (
+						<ImageUpload fileList={this.formData.files} uid="idcardUpUrl_drawing_aiuh" limit={100} isEdit={this.formDialogType !== 2} />
+					)
+				}
 			},
-			audit(examineStatusEnum) {
-				memberAudit({
-					examineStatusEnum,
-					examineRemark: this.formData.examineRemark,
-					id: this.formData.id
-				}).then(res => {
-					this.$message({
-						type: 'success',
-						message: '审核成功!'
+			{
+				md: 24,
+				isShow: true,
+				name: 'slot-component',
+				formItemAttributes: {
+					label: '内容',
+					prop: 'content',
+					rules: [...required]
+				},
+				render: (h, { props, onInput }) => {
+					var { value } = props
+					return (
+						<v-quill-editor value={value} onInput={onInput} disabled={this.formDialogType == 2} />
+					)
+				}
+			}]
+		}
+	},
+	methods: {
+		// 切换状态
+		changeType(val) {
+			this.$refs.pageRef.refreshList()
+		},
+		// 列表请求函数
+		getList(p) {
+			try {
+				var pam = JSON.parse(JSON.stringify(p))
+				if (this.status) {
+					pam.params.push({ "param": "nr.status", "compare": "=", "value": this.status })
+				}
+				return noticeListPageV2(pam)
+			} catch (error) {
+				console.log(error)
+			}
+		},
+		// 列表导出函数
+		exportList: noticePageExport,
+		// 表格列解析渲染数据更改
+		columnParsing(item, defaultData) {
+			return defaultData
+		},
+		// 监听勾选变化
+		selectionChange(data) {
+			this.recordSelected = data
+		},
+		// 表格操作列
+		operation(h, { row, index, column }) {
+			return (<div class='operation-btns'>
+				{row.status == "NO" ? <el-button type="text" onClick={() => {
+					getNoticeDetail({
+						noticeId: row.noticeId
+					}).then(res => {
+						Object.assign(this.formData, res.data, {
+							files: res.data.files ? res.data.files.map(item => ({
+								...item,
+								size: item.fileSize,
+								type: item.fileType,
+							})) : []
+						})
+						this.formDialogType = 1
+						this.openForm()
 					})
-					this.formCancel()
-					this.$refs.pageRef.refreshList()
-				})
-			},
-			memberInner(type) {
-				memberInner({
-					type,
-					userIds: this.formData.userId
-				}).then(res => {
-					this.$message({
-						type: 'success',
-						message: '设置成功!'
+				}}>编辑</el-button> : null}
+				<el-button type="text" onClick={() => {
+					getNoticeDetail({
+						noticeId: row.noticeId
+					}).then(res => {
+						Object.assign(this.formData, res.data, {
+							files: res.data.files ? res.data.files.map(item => ({
+								...item,
+								size: item.fileSize,
+								type: item.fileType,
+							})) : []
+						})
+						this.formDialogType = 2
+						this.openForm()
 					})
-					this.$refs.pageRef.refreshList()
+				}}>查看</el-button>
+			</div>)
+		},
+		addData() {
+			this.formDialogType = 0
+			this.openForm()
+		},
+		openForm() {
+			if (JSON.parse(localStorage.getItem("greemall_user")).type == 2) {
+				getListaa({ pageNum: 1, pageSize: -1 }).then((res) => {
+					this.websitList = res.data.records
+					this.formDialog = true;
 				})
-			},
-			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()
-						})
-					}
+			} else {
+				memberListPageV2({ "pageNum": 1, "pageSize": -1, "params": [] }).then(res => {
+					this.workerList = res.data.records
+					this.formDialog = true;
 				})
 			}
-		}
+		},
+		formCancel() {
+			this.$refs.formRef.$refs.inlineForm.clearValidate()
+			this.$data.formData = this.$options.data().formData
+			this.formDialog = false
+			this.websitList = []
+		},
+		formConfirm(status) {
+			this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
+				if (valid) {
+					noticeAdd({
+						...this.formData,
+						files: this.formData.files.map(item => ({
+							...item,
+							fileSize: item.size,
+							fileType: item.type,
+						})),
+						status
+					}).then(res => {
+						this.$message({
+							type: 'success',
+							message: '保存成功!'
+						})
+						this.formCancel()
+						this.$refs.pageRef.refreshList()
+					})
+				}
+			})
+		},
 	}
+}
 </script>
 
-<style lang="scss" scoped>
-	.tab {
-		padding: 20px 20px 0 20px;
-	}
-</style>
+<style lang="scss" scoped></style>

+ 213 - 285
src/views/setting/notification/systemMessage/index.vue

@@ -1,301 +1,229 @@
 <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 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">
+		<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 size="mini" @click="formCancel">取 消</el-button>
+			</div>
+		</el-dialog>
 	</template-page>
 </template>
 
 <script>
 import TemplatePage from '@/components/template/template-page-1.vue'
 import import_mixin from '@/components/template/import_mixin.js'
+import ImageUpload from '@/components/file-upload'
 import { required, mobileRequired, mobile } from '@/components/template/rules_verify.js'
-import { noticeListPageV2,noticePageExport, getNoticeDetail, readNotice } from "@/api/systemMessage";
+import { noticeListPageV2, noticePageExport, getNoticeDetail, noticeAdd, noticeDel } from "@/api/announcement";
+import { memberListPageV2 } from "@/api/masterManagement";
+import { getList as getListaa } from "@/api/merchant";
 export default {
-  components: { TemplatePage },
-  mixins: [import_mixin],
-  data() {
-    return {
-      // 事件组合
-      optionsEvensGroup: [],
-      // 表格属性
-      tableAttributes: {
-        // 启用勾选列
-        selectColumn: false
-      },
-      // 表格事件
-      tableEvents: {
-        'selection-change': this.selectionChange
-      },
-      // 勾选选中行
-      recordSelected: [],
-      /** 表单变量 */
-      formDialogType: 0,
-      formDialogTitles: ["审核", "详情"],
-      formDialog: false,
-      formData: {
-		type: '工程师',
-		examineRemark: ''
-      },
-	  examineStatus: ''
-    }
-  },
-  computed: {
-    // 更多参数
-    moreParameters() {
-      return []
-    },
-    formItems() {
-      return [{
-        md: 12,
-        isShow: true,
-        name: 'el-select',
-		options: [{label: '待审核', value: 'WAIT'},{label: '驳回', value: 'FAIL'},{label: '通过', value: 'OK'}],
-        attributes: { placeholder: '请输入', disabled: true },
-        formItemAttributes: {
-          label: '审核状态',
-          prop: 'examineStatus',
-          rules: []
-        },
-      }, {
-        md: 12,
-        isShow: true,
-        name: 'el-input',
-        attributes: { disabled: true },
-        formItemAttributes: {
-          label: '用户类型',
-          prop: 'type',
-          rules: []
-        }
-      }, {
-        md: 12,
-        isShow: true,
-        name: 'el-input',
-        attributes: { placeholder: '请输入', disabled: true },
-        formItemAttributes: {
-          label: '用户名称',
-          prop: 'nickName',
-          rules: []
-        }
-      }, {
-        md: 12,
-        isShow: true,
-        name: 'el-input',
-        attributes: { placeholder: '请输入', disabled: true },
-        formItemAttributes: {
-          label: '联系电话',
-          prop: 'mobile',
-          rules: []
-        }
-      }, {
-        md: 12,
-        isShow: true,
-        name: 'el-input',
-        attributes: { placeholder: '请输入', disabled: true },
-        formItemAttributes: {
-          label: '身份证号码',
-          prop: 'idCard',
-          rules: []
-        }
-      }, {
-        md: 12,
-        isShow: true,
-        name: 'el-image',
-        attributes: { src: this.formData.idCardImg },
-        formItemAttributes: {
-          label: '身份证',
-          prop: 'idCardImg',
-          rules: []
-        },
-      }, {
-        md: 12,
-        isShow: true,
-        name: 'el-input',
-        attributes: { placeholder: '请输入', disabled: true },
-        formItemAttributes: {
-          label: '所属商户',
-          prop: 'companyName',
-          rules: []
-        }
-      }, {
-        md: 12,
-        isShow: true,
-        name: 'el-input',
-        attributes: { placeholder: '请输入', disabled: true },
-        formItemAttributes: {
-          label: '入驻网点',
-          prop: 'websitName',
-          rules: []
-        }
-      }, {
-        md: 24,
-        isShow: true,
-        name: 'el-input',
-        attributes: { placeholder: '请输入',type: "textarea", disabled: this.formData.examineStatus == 'WAIT' ? false:true },
-        formItemAttributes: {
-          label: '备注',
-          prop: 'examineRemark',
-          rules: []
-        }
-      }]
-    }
-  },
-  methods: {
-	// 切换状态
-	changeType(val) {
-	  this.$refs.pageRef.refreshList()
+	components: { TemplatePage, ImageUpload },
+	mixins: [import_mixin],
+	data() {
+		return {
+			// 事件组合
+			optionsEvensGroup: [],
+			// 表格属性
+			tableAttributes: {
+				// 启用勾选列
+				selectColumn: false
+			},
+			// 表格事件
+			tableEvents: {
+				'selection-change': this.selectionChange
+			},
+			// 勾选选中行
+			recordSelected: [],
+			/** 表单变量 */
+			formDialogType: 0,
+			formDialogTitles: ["新增", "编辑", "详情"],
+			formDialog: false,
+			formData: {
+				type: "A",
+				title: "",
+				files: [],
+				adminWebsitIds: [],
+				workerIds: [],
+				content: "",
+			},
+			status: '',
+			websitList: [],
+			workerList: []
+		}
 	},
-    // 列表请求函数
-	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 noticeListPageV2(pam)
-	  } catch (error) {
-	    console.log(error)
-	  }
+	computed: {
+		// 更多参数
+		moreParameters() {
+			return []
+		},
+		formItems() {
+			console.log(this.$store.state.app)
+			return [{
+				md: 24,
+				isShow: true,
+				name: 'el-radio',
+				options: [
+					{
+						label: `活动`,
+						value: "A"
+					},
+					{
+						label: `公告`,
+						value: "B"
+					}],
+				attributes: { filterable: true, placeholder: '请选择', disabled: this.formDialogType == 2 },
+				formItemAttributes: {
+					label: '类型',
+					prop: 'type',
+					rules: [{ required: true, message: '请选择', trigger: 'blur' }]
+				},
+			},
+			{
+				md: 24,
+				isShow: true,
+				name: 'el-input',
+				attributes: { placeholder: '请输入', disabled: this.formDialogType == 2 },
+				formItemAttributes: {
+					label: '标题',
+					prop: 'title',
+					rules: [{ required: true, message: '请选择', trigger: 'blur' }]
+				}
+			},
+			{
+				md: 24,
+				isShow: this.formDialogType < 2 && JSON.parse(localStorage.getItem("greemall_user")).type == 2,
+				name: 'zj-paging-pull-down',
+				options: this.websitList,
+				attributes: {
+					valueKey: "companyWechatId",
+					labelKey: "companyName",
+					size: 'mini',
+					placeholder: '请选择',
+					multiple: true
+				},
+				formItemAttributes: {
+					label: '选择商户',
+					prop: 'adminWebsitIds',
+					rules: [{ required: true, message: '请选择', trigger: 'blur' }]
+				}
+			},
+			{
+				md: 24,
+				isShow: this.formDialogType < 2 && JSON.parse(localStorage.getItem("greemall_user")).type != 2,
+				name: 'zj-paging-pull-down',
+				options: this.workerList,
+				attributes: {
+					valueKey: "id",
+					labelKey: "nickName",
+					size: 'mini',
+					placeholder: '请选择',
+					multiple: true
+				},
+				formItemAttributes: {
+					label: '选择师傅',
+					prop: 'workerIds',
+					rules: [{ required: true, message: '请选择', trigger: 'blur' }]
+				}
+			},
+			{
+				md: 24,
+				isShow: true,
+				name: 'slot-component',
+				formItemAttributes: {
+					label: '附件',
+					prop: 'files',
+					rules: []
+				},
+				render: (h, { props, onInput }) => {
+					var { value } = props
+					return (
+						<ImageUpload fileList={this.formData.files} uid="idcardUpUrl_drawing_aiuh" limit={100} isEdit={this.formDialogType !== 2} />
+					)
+				}
+			},
+			{
+				md: 24,
+				isShow: true,
+				name: 'slot-component',
+				formItemAttributes: {
+					label: '内容',
+					prop: 'content',
+					rules: [{ required: true, message: '请输入', trigger: 'blur' }]
+				},
+				render: (h, { props, onInput }) => {
+					var { value } = props
+					return (
+						<v-quill-editor value={value} onInput={onInput} disabled={this.formDialogType == 2} />
+					)
+				}
+			}]
+		}
 	},
-    // 列表导出函数
-    exportList: noticePageExport,
-    // 表格列解析渲染数据更改
-    columnParsing(item, defaultData) {
-      return defaultData
-    },
-    // 监听勾选变化
-    selectionChange(data) {
-      this.recordSelected = data
-    },
-    // 表格操作列
-    operation(h, { row, index, column }) {
-      return (
-        <div class='operation-btns'>
-          {row.examineStatus == 'WAIT' ? <el-button type="text" onClick={() => {
-            getMemberDetail({ id: row.id }).then(res => {
-              Object.assign(this.formData, res.data)
-              this.formDialogType = 0
-              this.openForm()
-            })
-          }}>审核</el-button> : null}
-          <el-button type="text" onClick={() => {
-            getMemberDetail({ id: row.id }).then(res => {
-              Object.assign(this.formData, res.data)
-              this.formDialogType = 1
-              this.openForm()
-            })
-          }}>详情</el-button>
-		  <el-button type="text" onClick={() => {
-			this.$confirm('请确认是否设为分销员, 是否继续?', '提示', {
-				confirmButtonText: '确定',
-				cancelButtonText: '取消',
-				type: 'warning'
-			}).then(() => {
-				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);
-					}
+	methods: {
+		// 列表请求函数
+		getList: noticeListPageV2,
+		// 列表导出函数
+		exportList: noticePageExport,
+		// 表格列解析渲染数据更改
+		columnParsing(item, defaultData) {
+			return defaultData
+		},
+		// 监听勾选变化
+		selectionChange(data) {
+			this.recordSelected = data
+		},
+		// 表格操作列
+		operation(h, { row, index, column }) {
+			return (<div class='operation-btns'>
+				<el-button type="text" onClick={() => {
+					getNoticeDetail({
+						noticeId: row.noticeId
+					}).then(res => {
+						Object.assign(this.formData, res.data, {
+							files: res.data.files ? res.data.files.map(item => ({
+								...item,
+								size: item.fileSize,
+								type: item.fileType,
+							})) : []
+						})
+						this.formDialogType = 2
+						this.openForm()
+					})
+				}}>查看</el-button>
+			</div>)
+		},
+		openForm() {
+			if (JSON.parse(localStorage.getItem("greemall_user")).type == 2) {
+				getListaa({
+					pageNum: 1,
+					pageSize: -1,
+				}).then((res) => {
+					this.websitList = res.data.records
+					this.formDialog = true;
 				})
-			});
-		  }}>设为分销员</el-button>
-		  <el-button type="text" onClick={() => {
-			this.$confirm('请确认是否设为客户, 是否继续?', '提示', {
-				confirmButtonText: '确定',
-				cancelButtonText: '取消',
-				type: 'warning'
-			}).then(() => {
-				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);
-					}
+			} else {
+				memberListPageV2({ "pageNum": 1, "pageSize": -1, "params": [] }).then(res => {
+					this.workerList = res.data.records
+					this.formDialog = true;
 				})
-			});
-		  }}>设为客户</el-button>
-        </div>
-      )
-    },
-    addData() {
-      this.formDialogType = 0
-      this.openForm()
-    },
-    openForm() {
-      this.formDialog = true;
-    },
-    formCancel() {
-      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()
-          })
-        }
-      })
-    }
-  }
+			}
+		},
+		formCancel() {
+			this.$refs.formRef.$refs.inlineForm.clearValidate()
+			this.$data.formData = this.$options.data().formData
+			this.formDialog = false
+			this.websitList = []
+		},
+	}
 }
 </script>
 
-<style lang="scss" scoped>
-	.tab{
-		padding: 20px 20px 0 20px;
-	}
-</style>
+<style lang="scss" scoped></style>