Browse Source

new pages

achao 2 years ago
parent
commit
3e0c852383

+ 113 - 107
src/router/index.js

@@ -12,133 +12,139 @@ import contractManagement from './contractManagement/index'
 import platformManagement from './platformManagement/index'
 import feedbackManagement from './feedbackManagement/index'
 import officialWebsiteManagement from './officialWebsiteManagement/index'
-
+import parkReportManagement from './parkReportManagement/index'
+import settlementManagement from './settlementManagement/index'
 
 
 export const constantRoutes = [{
-		path: '/login',
-		component: () => import('@/views/login/index'),
-		hidden: true
-	},
+        path: '/login',
+        component: () =>
+            import ('@/views/login/index'),
+        hidden: true
+    },
 
-	{
-		path: '/404',
-		component: () => import('@/views/404'),
-		hidden: true
-	},
+    {
+        path: '/404',
+        component: () =>
+            import ('@/views/404'),
+        hidden: true
+    },
 
-	{
-		path: '/',
-		component: Layout,
-		redirect: '/dashboard',
-		children: [{
-			path: 'dashboard',
-			name: 'Dashboard',
-			component: () => import('@/views/dashboard/index'),
-			meta: {
-				title: '首页',
-				icon: 'shouye'
-			}
-		}]
-	},
-	driverManagement,
-	cargoOwnerManagement,
-	enterpriseManagement,
-	orderManagement,
-	contractManagement,
-	platformManagement,
-	feedbackManagement,
-  officialWebsiteManagement,
+    {
+        path: '/',
+        component: Layout,
+        redirect: '/dashboard',
+        children: [{
+            path: 'dashboard',
+            name: 'Dashboard',
+            component: () =>
+                import ('@/views/dashboard/index'),
+            meta: {
+                title: '首页',
+                icon: 'shouye'
+            }
+        }]
+    },
+    driverManagement,
+    cargoOwnerManagement,
+    enterpriseManagement,
+    orderManagement,
+    contractManagement,
+    platformManagement,
+    feedbackManagement,
+    officialWebsiteManagement,
+    parkReportManagement,
+    settlementManagement,
 
-	// {
-	// 	path: '/example',
-	// 	component: Layout,
-	// 	redirect: '/example/table',
-	// 	name: 'Example',
-	// 	meta: {
-	// 		title: 'Example',
-	// 		icon: 'el-icon-s-help'
-	// 	},
-	// 	children: [{
-	// 			path: 'table',
-	// 			name: 'Table',
-	// 			component: () => import('@/views/table/index'),
-	// 			meta: {
-	// 				title: 'Table',
-	// 				icon: 'table'
-	// 			}
-	// 		},
-	// 		{
-	// 			path: 'tree',
-	// 			name: 'Tree',
-	// 			component: () => import('@/views/tree/index'),
-	// 			meta: {
-	// 				title: 'Tree',
-	// 				icon: 'tree'
-	// 			}
-	// 		}
-	// 	]
-	// },
+    // {
+    // 	path: '/example',
+    // 	component: Layout,
+    // 	redirect: '/example/table',
+    // 	name: 'Example',
+    // 	meta: {
+    // 		title: 'Example',
+    // 		icon: 'el-icon-s-help'
+    // 	},
+    // 	children: [{
+    // 			path: 'table',
+    // 			name: 'Table',
+    // 			component: () => import('@/views/table/index'),
+    // 			meta: {
+    // 				title: 'Table',
+    // 				icon: 'table'
+    // 			}
+    // 		},
+    // 		{
+    // 			path: 'tree',
+    // 			name: 'Tree',
+    // 			component: () => import('@/views/tree/index'),
+    // 			meta: {
+    // 				title: 'Tree',
+    // 				icon: 'tree'
+    // 			}
+    // 		}
+    // 	]
+    // },
 
-	// {
-	// 	path: '/form',
-	// 	component: Layout,
-	// 	children: [{
-	// 		path: 'index',
-	// 		name: 'Form',
-	// 		component: () => import('@/views/form/index'),
-	// 		meta: {
-	// 			title: 'Form',
-	// 			icon: 'form'
-	// 		}
-	// 	}]
-	// },
+    // {
+    // 	path: '/form',
+    // 	component: Layout,
+    // 	children: [{
+    // 		path: 'index',
+    // 		name: 'Form',
+    // 		component: () => import('@/views/form/index'),
+    // 		meta: {
+    // 			title: 'Form',
+    // 			icon: 'form'
+    // 		}
+    // 	}]
+    // },
 
-	// {
-	//   path: 'external-link',
-	//   component: Layout,
-	//   children: [{
-	//     path: 'https://panjiachen.github.io/vue-element-admin-site/#/',
-	//     meta: {
-	//       title: 'External Link',
-	//       icon: 'link'
-	//     }
-	//   }]
-	// },
+    // {
+    //   path: 'external-link',
+    //   component: Layout,
+    //   children: [{
+    //     path: 'https://panjiachen.github.io/vue-element-admin-site/#/',
+    //     meta: {
+    //       title: 'External Link',
+    //       icon: 'link'
+    //     }
+    //   }]
+    // },
 
-	// 404 page must be placed at the end !!!
-	{
-		path: '*',
-		redirect: '/404',
-		hidden: true
-	}
+    // 404 page must be placed at the end !!!
+    {
+        path: '*',
+        redirect: '/404',
+        hidden: true
+    }
 ]
 
 let cofigRouter = []
 const modulesFiles = require.context('../views', true, /.js$/)
 modulesFiles.keys().forEach((model_item, key) => {
-	if (model_item === 'index.js' || modulesFiles(model_item).default === undefined || modulesFiles(model_item)
-		.default.path === undefined) return
-	cofigRouter = cofigRouter.concat(modulesFiles(model_item).default)
-})
-// 需要根据用户角色动态加载的路由
+        if (model_item === 'index.js' || modulesFiles(model_item).default === undefined || modulesFiles(model_item)
+            .default.path === undefined) return
+        cofigRouter = cofigRouter.concat(modulesFiles(model_item).default)
+    })
+    // 需要根据用户角色动态加载的路由
 export const asyncRoutes = cofigRouter
 const createRouter = () =>
-	new Router({
-		// mode: 'history',
-		scrollBehavior: () => ({
-			y: 0
-		}),
-		linkActiveClass: 'active', // router-link  .active样式
-		routes: constantRoutes
-	})
+    new Router({
+        // mode: 'history',
+        scrollBehavior: () => ({
+            y: 0
+        }),
+        linkActiveClass: 'active', // router-link  .active样式
+        routes: constantRoutes
+    })
 
 const router = createRouter()
 
 // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
 export function resetRouter() {
-	const newRouter = createRouter()
-	router.matcher = newRouter.matcher // reset router
+    const newRouter = createRouter()
+    router.matcher = newRouter.matcher // reset router
 }
 
-export default router
+export default router

+ 58 - 0
src/router/parkReportManagement/index.js

@@ -0,0 +1,58 @@
+/** When your routing table is too long, you can split it into small modules**/
+
+import Layout from '@/layout'
+
+const parkReportManagement = {
+    path: '/parkReportManagement',
+    component: Layout,
+    redirect: 'noRedirect',
+    name: 'parkReportManagement',
+    meta: {
+        title: '园区上报',
+        icon: 'pingtaiguanli'
+    },
+    alwaysShow: true,
+    children: [{
+            path: 'waybillReporting',
+            name: 'waybillReporting',
+            component: () =>
+                import ('@/views/parkReportManagement/waybillReporting'),
+            meta: {
+                title: '运单上报',
+                icon: ''
+            }
+        },
+        {
+            path: 'dailyReport',
+            name: 'dailyReport',
+            component: () =>
+                import ('@/views/parkReportManagement/dailyReport'),
+            meta: {
+                title: '流水单上报',
+                icon: ''
+            }
+        },
+        {
+            path: 'driverInformationReporting',
+            name: 'driverInformationReporting',
+            component: () =>
+                import ('@/views/parkReportManagement/driverInformationReporting'),
+            meta: {
+                title: '司机信息上报',
+                icon: ''
+            }
+        },
+        {
+            path: 'vehicleInformationReporting',
+            name: 'vehicleInformationReporting',
+            component: () =>
+                import ('@/views/parkReportManagement/vehicleInformationReporting'),
+            meta: {
+                title: '车辆信息上报',
+                icon: ''
+            }
+        },
+    ]
+}
+
+export default parkReportManagement

+ 68 - 0
src/router/settlementManagement/index.js

@@ -0,0 +1,68 @@
+/** When your routing table is too long, you can split it into small modules**/
+
+import Layout from '@/layout'
+
+const settlementManagement = {
+    path: '/settlementManagement',
+    component: Layout,
+    redirect: 'noRedirect',
+    name: 'settlementManagement',
+    meta: {
+        title: '结算管理',
+        icon: 'fankuiguanli'
+    },
+    alwaysShow: true,
+    children: [{
+            path: '/driverFeeSettlement',
+            name: 'driverFeeSettlement',
+            component: () =>
+                import ('@/views/settlementManagement/driverFeeSettlement'),
+            meta: {
+                title: '司机费用结算',
+                icon: ''
+            }
+        },
+        {
+            path: '/advancePaymentAndRepaymentSettlement',
+            name: 'advancePaymentAndRepaymentSettlement',
+            component: () =>
+                import ('@/views/settlementManagement/advancePaymentAndRepaymentSettlement'),
+            meta: {
+                title: '垫付还款结算',
+                icon: ''
+            },
+        },
+        {
+            path: '/CashOwner',
+            name: 'CashOwner',
+            component: () =>
+                import ('@/views/settlementManagement/CashOwner'),
+            meta: {
+                title: '货主提现',
+                icon: ''
+            },
+        },
+        {
+            path: '/ownerFlow',
+            name: 'ownerFlow',
+            component: () =>
+                import ('@/views/settlementManagement/ownerFlow'),
+            meta: {
+                title: '货主银行流水',
+                icon: ''
+            },
+        },
+        {
+            path: '/statisticalReport',
+            name: 'statisticalReport',
+            component: () =>
+                import ('@/views/settlementManagement/statisticalReport'),
+            meta: {
+                title: '统计报表',
+                icon: ''
+            },
+        },
+    ]
+}
+
+export default settlementManagement

+ 158 - 0
src/views/parkReportManagement/dailyReport.vue

@@ -0,0 +1,158 @@
+<template>
+  <div class="center">
+    <div class="main_css">
+      <div class="formData">
+        <el-form ref="form" :model="form" label-width="80px">
+          <el-form-item label="编写单位">
+            <el-input v-model="form.compilationUnit" clearable placeholder="请输入编写单位"></el-input>
+          </el-form-item>
+          <el-form-item label="编撰人员">
+            <el-input v-model="form.editor" clearable placeholder="请输入编撰人员"></el-input>
+          </el-form-item>
+          <el-form-item label="版本号">
+            <el-input v-model="form.versionNumber" clearable placeholder="请输入版本号"></el-input>
+          </el-form-item>
+          <el-form-item label="提交人">
+            <el-input v-model="form.submitter" clearable placeholder="自动获取,不可编辑" disabled></el-input>
+          </el-form-item>
+          <el-form-item label="版本说明">
+            <el-input v-model="form.versionDescription" clearable placeholder="请输入版本说明" maxlength="100">
+            </el-input>
+          </el-form-item>
+          <div>
+            <quill-editor v-model="form.content" res="myQuillEditor" :options="editorOption" id="editor">
+              <!-- @blur="onEditorBlur($event)" @focus="onEditorFocus($event)" @change="onEditorChange($event)" -->
+            </quill-editor>
+          </div>
+        </el-form>
+      </div>
+      <div class="btn">
+        <el-button @click="submit">提交</el-button>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+  import {
+    addFormData
+  } from '@/api/platformManagement'
+  import quillEditor from 'vue-quill-editor';
+  export default {
+    data() {
+      return {
+        editorOption: {
+          // modules: {
+          //   // toolbar: [
+          //   //   ['bold', 'italic', 'underline', 'strike', 'background', 'color', 'font', 'size'],
+          //   //   ['blockquote', 'code-block']
+          //   // ]
+          // }
+        },
+        form: {},
+        regulations: {},
+        version: [],
+        count: ""
+      }
+    },
+    created() {
+      this.form.submitter = JSON.parse(localStorage.getItem('UserInfo')).deptName
+      this.regulations = JSON.parse(localStorage.getItem("regulations"))
+      if (this.regulations) {
+        this.$set(this.form, "compilationUnit", this.regulations.compilationUnit)
+        this.$set(this.form, "editor", this.regulations.editor)
+        // 默认当前生效规定版本版本号尾号 + 1
+        this.version = this.regulations.versionNumber.split(".")
+        this.count = Number(this.version[this.version.length - 1]) + 1
+        this.$set(this.form, "versionNumber", this.regulations.versionNumber.substr(0, this.version.length + 1) + this
+          .count)
+      }
+    },
+    methods: {
+      // Oneditorblur(e) {//失去焦点事件
+      //   console.log(e)
+      // },
+      // Oneditorfocus(e) {//获得焦点事件
+      //   console.log(e)
+      // },
+      // Oneditorchange(e) {//内容改变事件
+      //   console.log(this.content)
+      // },
+      // SaveHtml(event) {//富文本点击保存按钮
+      //   alert(this.content);
+      // },
+      submit() {
+        if (this.form.compilationUnit && (this.form.compilationUnit.length < 0 || this.form.compilationUnit.length >
+          25)) {
+          this.$message.error("编写单位字数应在 0 - 25 之间")
+          return
+        }
+        if (this.form.editor && (this.form.editor.length < 0 || this.form.editor.length > 10)) {
+          this.$message.error("编撰人员字数应在 0 - 10 之间")
+          return
+        }
+        if (!this.form.versionNumber) {
+          this.$message.error("请输入版本号")
+          return
+        }
+        if (this.form.versionNumber.indexOf(".") == -1) {
+          this.$message.error("版本号格式不正确,如 1.**")
+          return
+        }
+        if (this.form.versionDescription && (this.form.versionDescription.length < 0 || this.form.versionDescription
+            .length > 100)) {
+          this.$message.error("版本说明字数应在 0 - 100 之间")
+          return
+        }
+        this.listLoading = true
+        addFormData(this.form).then(response => {
+            this.$notify({
+              title: '成功',
+              message: '添加成功!',
+              type: 'success'
+            });
+            var _obj = {}
+            _obj.compilationUnit = this.form.compilationUnit
+            _obj.editor = this.form.editor
+            _obj.versionNumber = this.form.versionNumber
+            localStorage.setItem("regulations", JSON.stringify(_obj))
+            this.listLoading = false
+            this.$router.go(-1)
+          })
+          .catch(() => {
+            this.loading = false
+          })
+      }
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  .center {
+    background: #F5F6F7;
+    height: calc(100vh - 4.5vh);
+    padding-top: 20px;
+
+  }
+
+  .main_css {
+    width: 96%;
+    height: 90vh;
+    overflow-y: scroll;
+    background: #FFFFFF;
+    margin: 20px auto;
+    padding-top: 20px;
+  }
+
+  .formData {
+    width: 50%;
+    margin: 20px 0 0 140px;
+  }
+
+  .btn {
+    text-align: right;
+    position: absolute;
+    right: 200px;
+    bottom: 100px;
+  }
+</style>

+ 189 - 0
src/views/parkReportManagement/driverInformationReporting.vue

@@ -0,0 +1,189 @@
+<template>
+	<div class="center">
+		<div class="main_css">
+			<div class="formData">
+				<el-form ref="form" :model="form" label-width="80px">
+					<el-form-item label="编写单位">
+						<el-input v-model="form.compilationUnit" clearable placeholder="暂无" :disabled="type == 1"></el-input>
+					</el-form-item>
+					<el-form-item label="编撰人员">
+						<el-input v-model="form.editor" clearable placeholder="暂无" :disabled="type == 1"></el-input>
+					</el-form-item>
+					<el-form-item label="版本号">
+						<el-input v-model="form.versionNumber" clearable placeholder="暂无" :disabled="type == 1"></el-input>
+					</el-form-item>
+					<el-form-item label="提交人">
+						<el-input v-model="form.submitter" clearable placeholder="暂无" disabled></el-input>
+					</el-form-item>
+					<el-form-item label="版本说明">
+						<el-input v-model="form.versionDescription" clearable placeholder="暂无" :disabled="type == 1"></el-input>
+					</el-form-item>
+          <div>
+            <quill-editor v-model="form.content" res="myQuillEditor" :options="editorOption" id="editor">
+              <!-- @blur="onEditorBlur($event)" @focus="onEditorFocus($event)" @change="onEditorChange($event)" -->
+            </quill-editor>
+          </div>
+				</el-form>
+			</div>
+			<div class="btn">
+				<el-button @click="submit(1)" v-if="type == 3">通过</el-button>
+				<el-button @click="submit(2)" v-if="type == 3">驳回</el-button>
+				<el-button @click="revert">关闭</el-button>
+				<el-button @click="edit" v-if="type == 2">修改</el-button>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script>
+	import {
+		seeData,
+		editFormData,
+		auditFormData
+	} from '@/api/platformManagement'
+   import quillEditor from 'vue-quill-editor';
+	export default {
+		data() {
+			return {
+				form: {},
+        editorOption: {
+          // modules: {
+          //   // toolbar: [
+          //   //   ['bold', 'italic', 'underline', 'strike', 'background', 'color', 'font', 'size'],
+          //   //   ['blockquote', 'code-block']
+          //   // ]
+          // }
+        },
+				id:"",
+				type:"",
+			}
+		},
+		mounted() {
+			this.id = this.$route.query.id
+			this.type = this.$route.query.type
+			this.getList()
+		},
+		methods: {
+			getList(){
+				this.listLoading = true
+				var _obj = {}
+				_obj.id = this.id
+				seeData(_obj).then(response => {
+						this.form = response.data
+						this.listLoading = false
+					})
+					.catch(() => {
+						this.loading = false
+					})
+			},
+			revert(){
+				this.$router.go(-1)
+			},
+			submit(num){
+				var _audit = {}
+				_audit.id = this.form.id
+				let title_name = ""
+				if(num == 1){
+					_audit.flag = 1
+					title_name = "通过"
+				}else if(num == 2){
+					_audit.flag = 2
+					title_name = "驳回"
+				}
+				this.$confirm("确定要" + title_name + "该记录吗?", '提示', {
+						confirmButtonText: '确定',
+						cancelButtonText: '取消',
+						type: 'warning',
+					})
+					.then(() => {
+						auditFormData( _audit).then(response => {
+								this.$notify({
+									title: '成功',
+									message: title_name+'成功!',
+									type: 'success'
+								});
+								this.listLoading = false
+								this.$router.go(-1)
+							})
+							.catch(() => {
+								this.loading = false
+							})
+					})
+
+			},
+			edit() {
+				if (this.form.compilationUnit && (this.form.compilationUnit.length < 0 || this.form.compilationUnit.length > 25)) {
+					this.$message.error("编写单位字数应在 0 - 25 之间")
+					return
+				}
+				if (this.form.editor && (this.form.editor.length < 0 || this.form.editor.length > 10)) {
+					this.$message.error("编撰人员字数应在 0 - 10 之间")
+					return
+				}
+				if(!this.form.versionNumber){
+					this.$message.error("请输入版本号")
+					return
+				}
+				if (this.form.versionDescription && (this.form.versionDescription.length < 0 || this.form.versionDescription.length > 100)) {
+					this.$message.error("版本说明字数应在 0 - 100 之间")
+					return
+				}
+				var parameter = {}
+				parameter.id = this.id
+				parameter.compilationUnit = this.form.compilationUnit
+				parameter.editor = this.form.editor
+				parameter.versionNumber = this.form.versionNumber
+				parameter.submitter = this.form.submitter
+				parameter.versionDescription = this.form.versionDescription
+				parameter.content = this.form.content
+				this.listLoading = true
+				editFormData(parameter).then(response => {
+						this.$notify({
+							title: '成功',
+							message: '修改成功!',
+							type: 'success'
+						});
+						var _obj = {}
+						_obj.compilationUnit = this.form.compilationUnit
+						_obj.editor = this.form.editor
+						_obj.versionNumber = this.form.versionNumber
+						localStorage.setItem("regulations", JSON.stringify(_obj))
+						this.listLoading = false
+						this.$router.go(-1)
+					})
+					.catch(() => {
+						this.loading = false
+					})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.center {
+		background: #F5F6F7;
+		height: calc(100vh - 4.5vh);
+		padding-top: 20px;
+
+	}
+
+	.main_css {
+		width: 96%;
+		height: 90vh;
+		background: #FFFFFF;
+		margin: 20px auto;
+		padding-top: 20px;
+    overflow-y: scroll;
+	}
+
+	.formData {
+		width: 50%;
+		margin: 20px 0 0 140px;
+	}
+	.btn{
+		text-align: right;
+		position: absolute;
+		right: 200px;
+		bottom:100px;
+	}
+</style>

+ 577 - 0
src/views/parkReportManagement/vehicleInformationReporting.vue

@@ -0,0 +1,577 @@
+// 规定记录审核
+<template>
+  <div class="center">
+    <div class="center_css">
+      <div class="top_css">
+        <el-row>
+          <el-col :span="14">
+            <el-button type="primary" :disabled="disabled" @click="AddRecord">新增</el-button>
+          </el-col>
+          <el-col :span="10">
+            <div class="screen">
+              <el-input class='find' v-model="searchkeyWord" placeholder="可按版本号、编写单位、编撰人员查找" @keyup.enter.native="find" clearable @change="find" />
+              <el-button class="search" @click="find"><img
+                width="16"
+                height="16"
+                style="margin-left: -8px"
+                src="../../../public/img/sousuo.png"
+              ></el-button><span
+                class="count_css"
+              >共{{ deptBudgetTotal }}条</span>
+            </div>
+          </el-col>
+        </el-row>
+      </div>
+      <el-table :data="tableData" style="width: 98%; margin: 0 auto; border-radius: 10px" height="55.8vh" border highlight-current-row>
+        <el-table-column prop="versionNumber" label="版本号" />
+        <el-table-column prop="compilationUnit" label="编写单位" />
+        <el-table-column prop="editor" label="编撰人员" />
+        <el-table-column prop="updateDate" label="更新日期" />
+        <el-table-column label="上传" prop="submitter" />
+        <el-table-column prop="versionDescription" label="版本说明" />
+        <el-table-column prop="status" label="状态" />
+        <el-table-column label="操作" min-width="300">
+          <template slot-scope="scope">
+            <el-link target="_blank" type="primary" :underline="false" @click="look(scope.row)">查看</el-link>
+            <el-divider direction="vertical" />
+            <el-link target="_blank" type="primary" :underline="false" :disabled="scope.row.status != '待审核'" @click="audit(scope.row)">审核
+            </el-link>
+            <el-divider direction="vertical" />
+            <el-link target="_blank" type="primary" :underline="false" :disabled="scope.row.status != '待审核' && scope.row.status != '已驳回' " @click="del(scope.row)">删除</el-link>
+            <el-divider direction="vertical" />
+            <el-link target="_blank" type="primary" :underline="false" @click="edit(scope.row)">编辑</el-link>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <el-pagination
+      :current-page="currentPage"
+      style="text-align: center; margin-top: 10px"
+      :page-size="deptCircularPage.pageSize"
+      layout="total, sizes, prev, pager, next, jumper"
+      :total="deptBudgetTotal"
+      @size-change="handleSizeChange"
+      @current-change="handleCurrentChange"
+    />
+    <el-dialog :close-on-click-modal='false' title="驳回认证" :visible.sync="rejectInfo" width="400px" :before-close="rejectClose">
+      <div>
+        <div><span class="sign">*</span>选择驳回原因</div>
+        <div class="form_css">
+          <el-form ref="form" :model="form" label-width="80px">
+            <el-checkbox-group v-model="form.checkList">
+              <el-checkbox label="证件照片不清晰" value="1" />
+              <el-checkbox label="证件照片上传错误" value="2" />
+              <el-checkbox label="身份信息填写错误" value="3" />
+              <el-checkbox label="证件信息填写错误" value="4" />
+              <el-checkbox label="其他" value="5" />
+            </el-checkbox-group>
+            <div style="margin: 20px 0;">驳回原因描述(选填)</div>
+            <el-input
+              v-model="form.rejectReasonDescription"
+              type="textarea"
+              :rows="3"
+              resize="none"
+              placeholder="输入驳回原因,1-100个字"
+              minlength="100"
+            />
+            <div class="form_btn">
+              <el-button @click="rejectClose">取消</el-button>
+              <el-button type="primary" @click="submit">确定</el-button>
+            </div>
+          </el-form>
+        </div>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import {
+  getList,
+  toExamine,
+  postNews,
+  delFormData
+} from '@/api/platformManagement'
+export default {
+  data() {
+    return {
+      tableData: [],
+      // 分页
+      searchkeyWord: '',
+      currentPage: 1,
+      pageSize: 10,
+      deptBudgetTotal: 0,
+      deptCircularPage: {},
+      search: '',
+      addressUrl: [],
+      disabled: false,
+      rejectInfo: false,
+      form: {
+        id: '',
+        checkList: [],
+        rejectReasonDescription: ''
+      }
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods: {
+    AddRecord() {
+      this.$router.push({
+        path: 'specifiedRecordsAdd'
+      })
+    },
+    getList() {
+      this.loading = true
+      const _obj = {}
+      _obj.currentPage = this.currentPage
+      _obj.pageSize = this.pageSize
+      _obj.searchKeyWord = this.searchkeyWord
+      _obj.searchType = this.search
+      getList(_obj).then(response => {
+        this.tableData = response.data.records
+        this.deptBudgetTotal = response.data.total
+        if (this.tableData[0].status == '待审核' || this.tableData[0].status == '已驳回') {
+          // 最上面一条处于待审核和已驳回时新增按钮置灰不可用
+          this.disabled = true
+        }
+        this.listLoading = false
+      })
+        .catch(() => {
+          this.loading = false
+        })
+    },
+    del(row) {
+      this.$confirm('确定要删除该记录吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      })
+        .then(() => {
+          this.listLoading = true
+          var _del = {}
+          _del.id = row.id
+          delFormData(_del).then(response => {
+            this.$notify({
+              title: '成功',
+              message: '删除成功!',
+              type: 'success'
+            })
+            this.getList()
+            this.listLoading = false
+          })
+            .catch(() => {
+              this.loading = false
+            })
+        })
+    },
+    sendInfoClose() {
+      this.Info = {}
+      this.sendInfo = false
+    },
+    submitInfo() {
+      this.listLoading = true
+      postNews(this.Info).then(response => {
+        this.$notify({
+          title: '成功',
+          message: '发送成功!',
+          type: 'success'
+        })
+        this.sendInfoClose()
+        this.listLoading = false
+      })
+        .catch(() => {
+          this.loading = false
+        })
+    },
+    switchChange(row, num) {
+      var _examine = {}
+      _examine.id = row.id
+      let title
+      if (num == 1) {
+        _examine.flag = 3
+        title = '禁用后客户将无法使用所有功能,是否确定禁用?'
+      } else if (num == 2) {
+        title = '确定重新启用该用户?'
+        _examine.flag = 4
+      }
+      this.$confirm(title, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      })
+        .then(() => {
+          this.listLoading = true
+          toExamine(_examine).then(response => {
+            if (num == 1) {
+              this.$notify({
+                title: '成功',
+                message: '禁用成功!',
+                type: 'success'
+              })
+            } else if (num == 2) {
+              this.$notify({
+                title: '成功',
+                message: '启用成功!',
+                type: 'success'
+              })
+            }
+            this.getList()
+            this.listLoading = false
+          })
+            .catch(() => {
+              this.loading = false
+            })
+        })
+    },
+    find() {
+      this.getList()
+    },
+    look(row) {
+      this.$router.push({
+        path: 'specifiedRecordsLook',
+        query: {
+          id: row.id,
+          type: '1'
+        }
+      })
+    },
+    edit(row) {
+      this.$router.push({
+        path: 'specifiedRecordsLook',
+        query: {
+          id: row.id,
+          type: '2'
+        }
+      })
+    },
+    submit() {
+      if (this.form.checkList.length == 0) {
+        this.$message.error('请选择驳回原因')
+        return
+      }
+      this.listLoading = true
+      this.form.rejectReason = this.form.checkList.toString()
+      delete this.form.checkList
+      toExamine(this.form).then(response => {
+        this.$notify({
+          title: '成功',
+          message: '驳回成功!',
+          type: 'success'
+        })
+        this.form.checkList = []
+        this.form.rejectReasonDescription = ''
+        this.rejectInfo = false
+        this.getList()
+        this.listLoading = false
+      })
+        .catch(() => {
+          this.loading = false
+        })
+    },
+    audit(row) {
+      this.$router.push({
+        path: 'specifiedRecordsLook',
+        query: {
+          id: row.id,
+          type: '3'
+        }
+      })
+    },
+    rejectClose() {
+      this.form.checkList = []
+      this.form.rejectReasonDescription = ''
+      this.rejectInfo = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+	.center {
+		padding: 10px 20px;
+		background: #f5f6f7;
+		height: calc(100vh - 5vh);
+
+		.top_css {
+			padding: 10px;
+
+			.search_btn {
+				display: flex;
+				margin-top: 20px;
+
+				.search_item {
+					text-align: center;
+					font-size: 14px;
+					font-weight: 600;
+					line-height: 40px;
+					width: 112px;
+					height: 40px;
+					background: #f7f8f9;
+					cursor: pointer
+				}
+
+				.searchNo {
+					color: #323233;
+				}
+
+				.search {
+					color: #2f53eb;
+					background: #ffffff;
+				}
+			}
+		}
+
+		.ask_css {
+			position: absolute;
+			margin: 3px 0 0 10px;
+		}
+
+		.center_css {
+			background: #ffffff;
+			border-radius: 1px;
+			margin-top: 10px;
+			padding-bottom: 10px;
+		}
+
+		.screen {
+			display: flex;
+
+			.search {
+				width: 40px;
+				height: 40px;
+				background: #2f53eb;
+				border-radius: 0px 2px 2px 0px;
+				border: 1px solid #DCDFE6;
+        margin-left:-1px;
+			}
+
+			.count_css {
+				width: 80px;
+				text-align: center;
+				line-height: 40px;
+				color: #666666;
+			}
+		}
+
+		.el-button {
+			padding: 10px 20px !important;
+		}
+
+		.center_css {
+
+			::v-deep .el-table th,
+			::v-deep .el-table td {
+				text-align: center;
+			}
+
+			.fujian {
+				font-size: 24px;
+				color: #409eff;
+			}
+
+			.warning {
+				font-size: 14px;
+				color: #ed1d1d;
+			}
+		}
+	}
+.el-button--primary {
+    color: #FFF;
+    background-color: #2f53eb;
+    border-color: #2f53eb;
+}
+	.car_css {
+		width: 50%;
+		display: inline-block;
+		text-align: center;
+		margin-top: 30px;
+		position: relative;
+
+		.status_css {
+			background: #3AC602;
+			width: 50px;
+			height: 17px;
+			position: absolute;
+			top: 0px;
+			right: 15px;
+			border-radius: 3px;
+		}
+
+		.carno_css {
+			padding: 1px 5px;
+			background-color: #F5F6F7;
+			color: #666666;
+			border-radius: 12px;
+			text-align: center;
+			width: 100px;
+			margin: 10px auto 0;
+		}
+
+		.carborder_css {
+			border: 1px solid #F0F1F2;
+			margin: 15px auto 0;
+			width: 90%;
+		}
+	}
+
+	.tips {
+		color: #999999;
+		font-size: 14px;
+	}
+
+	.car_item {
+		width: 200px;
+		height: 160px;
+		border-radius: 5px;
+	}
+
+	.user {
+		margin-bottom: 20px;
+
+		.id_css {
+			font-size: 14px;
+		}
+
+		.id_css,
+		.name_css {
+			margin: 5px 0;
+			color: #0D0D0D;
+		}
+
+		.pay_name {
+			color: #9D9D9D;
+			font-size: 14px;
+		}
+
+		.name_css {
+			font-size: 16px;
+		}
+
+		.user_item {
+			margin: 25px 0;
+			width: 450px;
+			height: 300px;
+		}
+
+		.border_css {
+			width: 100%;
+			border: 1px solid #F0F1F2;
+		}
+	}
+
+	::v-deep .el-table--border .el-table__header th {
+		background: #f7f8f9;
+	}
+
+	.btn_css {
+		color: #409EFF;
+		cursor: pointer
+	}
+
+	.btn_css1 {
+		margin-left: -20px;
+	}
+
+	.sign {
+		font-size: 14px;
+		color: red;
+	}
+
+	.form_css {
+		width: 100%;
+		margin: 20px auto 20px;
+
+		::v-deep .el-checkbox {
+			width: 40%;
+			height: 30px;
+		}
+
+		// ::v-deep .el-dialog__body{
+		// 	padding: 10px 20px;
+		// }
+		::v-deep .el-dialog__title {
+			font-size: 16px;
+		}
+
+		::v-deep .el-textarea__inner {
+			background: #F0F1F2;
+		}
+
+		.form_btn {
+			text-align: right;
+			margin-top: 10px;
+		}
+	}
+
+	//发送信息
+	.Info_css {
+		.Info_title {
+			color: #323233;
+			font-size: 16px;
+		}
+
+		.Info_item {
+			margin: 20px 0;
+		}
+
+		.Info_btn {
+			text-align: right;
+			margin-top: 10px;
+		}
+	}
+
+	//附件
+	.file {
+		.fujian_css {
+			width: 631px;
+			display: flex;
+			margin: 0 auto;
+			text-align: center;
+			line-height: 32px;
+			border: 1px solid #F0F1F2;
+			border-right: 0px;
+			border-radius: 2px 0px 0px 2px;
+
+			.fujian_item {
+				cursor: pointer;
+				width: 90px;
+				height: 32px;
+				border-right: 1px solid #F0F1F2;
+			}
+
+			.file_btn {
+				color: #2F53EB;
+				background-color: #CFDBFE;
+			}
+		}
+
+		.file_img {
+			width: 525px;
+			height: 332px;
+			margin: 20px auto;
+		}
+
+		.img_css {
+			width: 525px;
+			height: 332px;
+		}
+
+		.btn {
+			width: 400px;
+			margin: 0 auto;
+		}
+	}
+  .find::v-deep input.el-input__inner{
+    border-radius:0;
+  }
+</style>

+ 577 - 0
src/views/parkReportManagement/waybillReporting.vue

@@ -0,0 +1,577 @@
+// 规定记录审核
+<template>
+  <div class="center">
+    <div class="center_css">
+      <div class="top_css">
+        <el-row>
+          <el-col :span="14">
+            <el-button type="primary" :disabled="disabled" @click="AddRecord">新增</el-button>
+          </el-col>
+          <el-col :span="10">
+            <div class="screen">
+              <el-input class='find' v-model="searchkeyWord" placeholder="可按版本号、编写单位、编撰人员查找" @keyup.enter.native="find" clearable @change="find" />
+              <el-button class="search" @click="find"><img
+                width="16"
+                height="16"
+                style="margin-left: -8px"
+                src="../../../public/img/sousuo.png"
+              ></el-button><span
+                class="count_css"
+              >共{{ deptBudgetTotal }}条</span>
+            </div>
+          </el-col>
+        </el-row>
+      </div>
+      <el-table :data="tableData" style="width: 98%; margin: 0 auto; border-radius: 10px" height="55.8vh" border highlight-current-row>
+        <el-table-column prop="versionNumber" label="版本号" />
+        <el-table-column prop="compilationUnit" label="编写单位" />
+        <el-table-column prop="editor" label="编撰人员" />
+        <el-table-column prop="updateDate" label="更新日期" />
+        <el-table-column label="上传" prop="submitter" />
+        <el-table-column prop="versionDescription" label="版本说明" />
+        <el-table-column prop="status" label="状态" />
+        <el-table-column label="操作" min-width="300">
+          <template slot-scope="scope">
+            <el-link target="_blank" type="primary" :underline="false" @click="look(scope.row)">查看</el-link>
+            <el-divider direction="vertical" />
+            <el-link target="_blank" type="primary" :underline="false" :disabled="scope.row.status != '待审核'" @click="audit(scope.row)">审核
+            </el-link>
+            <el-divider direction="vertical" />
+            <el-link target="_blank" type="primary" :underline="false" :disabled="scope.row.status != '待审核' && scope.row.status != '已驳回' " @click="del(scope.row)">删除</el-link>
+            <el-divider direction="vertical" />
+            <el-link target="_blank" type="primary" :underline="false" @click="edit(scope.row)">编辑</el-link>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <el-pagination
+      :current-page="currentPage"
+      style="text-align: center; margin-top: 10px"
+      :page-size="deptCircularPage.pageSize"
+      layout="total, sizes, prev, pager, next, jumper"
+      :total="deptBudgetTotal"
+      @size-change="handleSizeChange"
+      @current-change="handleCurrentChange"
+    />
+    <el-dialog :close-on-click-modal='false' title="驳回认证" :visible.sync="rejectInfo" width="400px" :before-close="rejectClose">
+      <div>
+        <div><span class="sign">*</span>选择驳回原因</div>
+        <div class="form_css">
+          <el-form ref="form" :model="form" label-width="80px">
+            <el-checkbox-group v-model="form.checkList">
+              <el-checkbox label="证件照片不清晰" value="1" />
+              <el-checkbox label="证件照片上传错误" value="2" />
+              <el-checkbox label="身份信息填写错误" value="3" />
+              <el-checkbox label="证件信息填写错误" value="4" />
+              <el-checkbox label="其他" value="5" />
+            </el-checkbox-group>
+            <div style="margin: 20px 0;">驳回原因描述(选填)</div>
+            <el-input
+              v-model="form.rejectReasonDescription"
+              type="textarea"
+              :rows="3"
+              resize="none"
+              placeholder="输入驳回原因,1-100个字"
+              minlength="100"
+            />
+            <div class="form_btn">
+              <el-button @click="rejectClose">取消</el-button>
+              <el-button type="primary" @click="submit">确定</el-button>
+            </div>
+          </el-form>
+        </div>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import {
+  getList,
+  toExamine,
+  postNews,
+  delFormData
+} from '@/api/platformManagement'
+export default {
+  data() {
+    return {
+      tableData: [],
+      // 分页
+      searchkeyWord: '',
+      currentPage: 1,
+      pageSize: 10,
+      deptBudgetTotal: 0,
+      deptCircularPage: {},
+      search: '',
+      addressUrl: [],
+      disabled: false,
+      rejectInfo: false,
+      form: {
+        id: '',
+        checkList: [],
+        rejectReasonDescription: ''
+      }
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods: {
+    AddRecord() {
+      this.$router.push({
+        path: 'specifiedRecordsAdd'
+      })
+    },
+    getList() {
+      this.loading = true
+      const _obj = {}
+      _obj.currentPage = this.currentPage
+      _obj.pageSize = this.pageSize
+      _obj.searchKeyWord = this.searchkeyWord
+      _obj.searchType = this.search
+      getList(_obj).then(response => {
+        this.tableData = response.data.records
+        this.deptBudgetTotal = response.data.total
+        if (this.tableData[0].status == '待审核' || this.tableData[0].status == '已驳回') {
+          // 最上面一条处于待审核和已驳回时新增按钮置灰不可用
+          this.disabled = true
+        }
+        this.listLoading = false
+      })
+        .catch(() => {
+          this.loading = false
+        })
+    },
+    del(row) {
+      this.$confirm('确定要删除该记录吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      })
+        .then(() => {
+          this.listLoading = true
+          var _del = {}
+          _del.id = row.id
+          delFormData(_del).then(response => {
+            this.$notify({
+              title: '成功',
+              message: '删除成功!',
+              type: 'success'
+            })
+            this.getList()
+            this.listLoading = false
+          })
+            .catch(() => {
+              this.loading = false
+            })
+        })
+    },
+    sendInfoClose() {
+      this.Info = {}
+      this.sendInfo = false
+    },
+    submitInfo() {
+      this.listLoading = true
+      postNews(this.Info).then(response => {
+        this.$notify({
+          title: '成功',
+          message: '发送成功!',
+          type: 'success'
+        })
+        this.sendInfoClose()
+        this.listLoading = false
+      })
+        .catch(() => {
+          this.loading = false
+        })
+    },
+    switchChange(row, num) {
+      var _examine = {}
+      _examine.id = row.id
+      let title
+      if (num == 1) {
+        _examine.flag = 3
+        title = '禁用后客户将无法使用所有功能,是否确定禁用?'
+      } else if (num == 2) {
+        title = '确定重新启用该用户?'
+        _examine.flag = 4
+      }
+      this.$confirm(title, '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      })
+        .then(() => {
+          this.listLoading = true
+          toExamine(_examine).then(response => {
+            if (num == 1) {
+              this.$notify({
+                title: '成功',
+                message: '禁用成功!',
+                type: 'success'
+              })
+            } else if (num == 2) {
+              this.$notify({
+                title: '成功',
+                message: '启用成功!',
+                type: 'success'
+              })
+            }
+            this.getList()
+            this.listLoading = false
+          })
+            .catch(() => {
+              this.loading = false
+            })
+        })
+    },
+    find() {
+      this.getList()
+    },
+    look(row) {
+      this.$router.push({
+        path: 'specifiedRecordsLook',
+        query: {
+          id: row.id,
+          type: '1'
+        }
+      })
+    },
+    edit(row) {
+      this.$router.push({
+        path: 'specifiedRecordsLook',
+        query: {
+          id: row.id,
+          type: '2'
+        }
+      })
+    },
+    submit() {
+      if (this.form.checkList.length == 0) {
+        this.$message.error('请选择驳回原因')
+        return
+      }
+      this.listLoading = true
+      this.form.rejectReason = this.form.checkList.toString()
+      delete this.form.checkList
+      toExamine(this.form).then(response => {
+        this.$notify({
+          title: '成功',
+          message: '驳回成功!',
+          type: 'success'
+        })
+        this.form.checkList = []
+        this.form.rejectReasonDescription = ''
+        this.rejectInfo = false
+        this.getList()
+        this.listLoading = false
+      })
+        .catch(() => {
+          this.loading = false
+        })
+    },
+    audit(row) {
+      this.$router.push({
+        path: 'specifiedRecordsLook',
+        query: {
+          id: row.id,
+          type: '3'
+        }
+      })
+    },
+    rejectClose() {
+      this.form.checkList = []
+      this.form.rejectReasonDescription = ''
+      this.rejectInfo = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+	.center {
+		padding: 10px 20px;
+		background: #f5f6f7;
+		height: calc(100vh - 5vh);
+
+		.top_css {
+			padding: 10px;
+
+			.search_btn {
+				display: flex;
+				margin-top: 20px;
+
+				.search_item {
+					text-align: center;
+					font-size: 14px;
+					font-weight: 600;
+					line-height: 40px;
+					width: 112px;
+					height: 40px;
+					background: #f7f8f9;
+					cursor: pointer
+				}
+
+				.searchNo {
+					color: #323233;
+				}
+
+				.search {
+					color: #2f53eb;
+					background: #ffffff;
+				}
+			}
+		}
+
+		.ask_css {
+			position: absolute;
+			margin: 3px 0 0 10px;
+		}
+
+		.center_css {
+			background: #ffffff;
+			border-radius: 1px;
+			margin-top: 10px;
+			padding-bottom: 10px;
+		}
+
+		.screen {
+			display: flex;
+
+			.search {
+				width: 40px;
+				height: 40px;
+				background: #2f53eb;
+				border-radius: 0px 2px 2px 0px;
+				border: 1px solid #DCDFE6;
+        margin-left:-1px;
+			}
+
+			.count_css {
+				width: 80px;
+				text-align: center;
+				line-height: 40px;
+				color: #666666;
+			}
+		}
+
+		.el-button {
+			padding: 10px 20px !important;
+		}
+
+		.center_css {
+
+			::v-deep .el-table th,
+			::v-deep .el-table td {
+				text-align: center;
+			}
+
+			.fujian {
+				font-size: 24px;
+				color: #409eff;
+			}
+
+			.warning {
+				font-size: 14px;
+				color: #ed1d1d;
+			}
+		}
+	}
+.el-button--primary {
+    color: #FFF;
+    background-color: #2f53eb;
+    border-color: #2f53eb;
+}
+	.car_css {
+		width: 50%;
+		display: inline-block;
+		text-align: center;
+		margin-top: 30px;
+		position: relative;
+
+		.status_css {
+			background: #3AC602;
+			width: 50px;
+			height: 17px;
+			position: absolute;
+			top: 0px;
+			right: 15px;
+			border-radius: 3px;
+		}
+
+		.carno_css {
+			padding: 1px 5px;
+			background-color: #F5F6F7;
+			color: #666666;
+			border-radius: 12px;
+			text-align: center;
+			width: 100px;
+			margin: 10px auto 0;
+		}
+
+		.carborder_css {
+			border: 1px solid #F0F1F2;
+			margin: 15px auto 0;
+			width: 90%;
+		}
+	}
+
+	.tips {
+		color: #999999;
+		font-size: 14px;
+	}
+
+	.car_item {
+		width: 200px;
+		height: 160px;
+		border-radius: 5px;
+	}
+
+	.user {
+		margin-bottom: 20px;
+
+		.id_css {
+			font-size: 14px;
+		}
+
+		.id_css,
+		.name_css {
+			margin: 5px 0;
+			color: #0D0D0D;
+		}
+
+		.pay_name {
+			color: #9D9D9D;
+			font-size: 14px;
+		}
+
+		.name_css {
+			font-size: 16px;
+		}
+
+		.user_item {
+			margin: 25px 0;
+			width: 450px;
+			height: 300px;
+		}
+
+		.border_css {
+			width: 100%;
+			border: 1px solid #F0F1F2;
+		}
+	}
+
+	::v-deep .el-table--border .el-table__header th {
+		background: #f7f8f9;
+	}
+
+	.btn_css {
+		color: #409EFF;
+		cursor: pointer
+	}
+
+	.btn_css1 {
+		margin-left: -20px;
+	}
+
+	.sign {
+		font-size: 14px;
+		color: red;
+	}
+
+	.form_css {
+		width: 100%;
+		margin: 20px auto 20px;
+
+		::v-deep .el-checkbox {
+			width: 40%;
+			height: 30px;
+		}
+
+		// ::v-deep .el-dialog__body{
+		// 	padding: 10px 20px;
+		// }
+		::v-deep .el-dialog__title {
+			font-size: 16px;
+		}
+
+		::v-deep .el-textarea__inner {
+			background: #F0F1F2;
+		}
+
+		.form_btn {
+			text-align: right;
+			margin-top: 10px;
+		}
+	}
+
+	//发送信息
+	.Info_css {
+		.Info_title {
+			color: #323233;
+			font-size: 16px;
+		}
+
+		.Info_item {
+			margin: 20px 0;
+		}
+
+		.Info_btn {
+			text-align: right;
+			margin-top: 10px;
+		}
+	}
+
+	//附件
+	.file {
+		.fujian_css {
+			width: 631px;
+			display: flex;
+			margin: 0 auto;
+			text-align: center;
+			line-height: 32px;
+			border: 1px solid #F0F1F2;
+			border-right: 0px;
+			border-radius: 2px 0px 0px 2px;
+
+			.fujian_item {
+				cursor: pointer;
+				width: 90px;
+				height: 32px;
+				border-right: 1px solid #F0F1F2;
+			}
+
+			.file_btn {
+				color: #2F53EB;
+				background-color: #CFDBFE;
+			}
+		}
+
+		.file_img {
+			width: 525px;
+			height: 332px;
+			margin: 20px auto;
+		}
+
+		.img_css {
+			width: 525px;
+			height: 332px;
+		}
+
+		.btn {
+			width: 400px;
+			margin: 0 auto;
+		}
+	}
+  .find::v-deep input.el-input__inner{
+    border-radius:0;
+  }
+</style>

+ 56 - 0
src/views/settlementManagement/CashOwner.vue

@@ -0,0 +1,56 @@
+<template>
+	<div class="center">
+    <div class="title">
+      {{form.title}}
+    </div>
+    <div class="">
+
+    </div>
+    <div class="">
+      发布时间:{{form.issuingDate}}
+    </div>
+    <div class="" v-html="form.releaseContent">
+    </div>
+    <div class="">
+      <div>{{form.issuingAgency}}</div>
+      <div>{{form.updateDate}}</div>
+    </div>
+	</div>
+</template>
+
+<script>
+	import {
+		seeData
+	} from '@/api/officialWebsiteManagement'
+   import quillEditor from 'vue-quill-editor';
+	export default {
+		data() {
+			return {
+      form:{}
+			}
+		},
+		mounted() {
+			this.id = this.$route.query.id
+			this.getList()
+		},
+		methods: {
+			getList(){
+				this.listLoading = true
+				var _obj = {}
+				_obj.id = this.id
+				seeData(_obj).then(response => {
+						this.form = response.data
+						this.listLoading = false
+					})
+					.catch(() => {
+						this.loading = false
+					})
+			},
+
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 241 - 0
src/views/settlementManagement/advancePaymentAndRepaymentSettlement.vue

@@ -0,0 +1,241 @@
+<template>
+  <div class="center">
+    <div class="main_css">
+      <div class="formData">
+        <el-form ref="form" :model="form" label-width="80px">
+          <el-form-item label="公告标题">
+            <el-input v-model="form.title" clearable placeholder="请输入标题"></el-input>
+          </el-form-item>
+          <el-form-item label="公告日期">
+            <el-date-picker v-model="form.issuingDate" type="date" value-format="yyyy-MM-dd" style='width: 100%;'
+              placeholder="选择日期时间">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="发布机构">
+            <el-input v-model="form.issuingAgency" clearable placeholder=""></el-input>
+          </el-form-item>
+          <div class="quill-editor">
+            <!-- 图片上传组件辅助,组件内添加v-show=“false”属性,把该组件隐藏起来。-->
+            <el-upload class="avatar-uploader" :action="uploadPath" :show-file-list="false" :on-success="uploadSuccess">
+            </el-upload>
+            <!--富文本编辑器组件-->
+            <quill-editor v-model="form.releaseContent" :content="form.releaseContent" :options="editorOption"
+              @blur="onEditorBlur($event)" @focus="onEditorFocus($event)" @ready="onEditorReady($event)"
+              ref="QuillEditor">
+            </quill-editor>
+            <div v-html="form.releaseContent" />
+          </div>
+          <!--            <quill-editor v-model="form.releaseContent" res="myQuillEditor" :options="editorOption" id="editor">
+            </quill-editor> -->
+        </el-form>
+      </div>
+      <div class="btn">
+        <el-button @click="submit">提交</el-button>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+  import {
+    seeData,
+    editFormData,
+    uploadPath
+  } from '@/api/officialWebsiteManagement'
+  import quillEditor from 'vue-quill-editor';
+  const toolbarOptions = [
+    ['bold', 'italic', 'underline', 'strike'], // 加粗,斜体,下划线,删除线
+    ['blockquote', 'code-block'], //引用,代码块
+    [{
+      'header': 1
+    }, {
+      'header': 2
+    }], // 几级标题
+    [{
+      'list': 'ordered'
+    }, {
+      'list': 'bullet'
+    }], // 有序列表,无序列表
+    [{
+      'script': 'sub'
+    }, {
+      'script': 'super'
+    }], // 下角标,上角标
+    [{
+      'indent': '-1'
+    }, {
+      'indent': '+1'
+    }], // 缩进
+    [{
+      'direction': 'rtl'
+    }], // 文字输入方向
+    [{
+      'size': ['small', false, 'large', 'huge']
+    }], // 字体大小
+    [{
+      'header': [1, 2, 3, 4, 5, 6, false]
+    }], // 标题
+    [{
+      'color': []
+    }, {
+      'background': []
+    }], // 颜色选择
+    [{
+      'font': ['SimSun', 'SimHei', 'Microsoft-YaHei', 'KaiTi', 'FangSong', 'Arial']
+    }], // 字体
+    [{
+      'align': []
+    }], // 居中
+    ['clean'], // 清除样式,
+    ['link', 'image'], // 上传图片、上传视频
+  ]
+  export default {
+    data() {
+      return {
+        uploadPath,
+        editorOption: {
+          modules: {
+            toolbar: {
+              container: toolbarOptions,
+              handlers: {
+                image: function(value) {
+                  if (value) {
+                    // 调用element的图片上传组件
+                    document.querySelector('.avatar-uploader input').click()
+                  } else {
+                    this.quill.format('image', false)
+                  }
+                }
+              }
+            }
+          }
+        },
+        form: {
+          issuingAgency: ''
+        },
+        regulations: {},
+        version: [],
+        count: ""
+      }
+    },
+    created() {
+      this.form.makeUser = JSON.parse(localStorage.getItem('UserInfo')).deptName
+    },
+    mounted() {
+      this.id = this.$route.query.id
+      this.getList()
+    },
+    methods: {
+      getList() {
+        this.listLoading = true
+        var _obj = {}
+        _obj.id = this.id
+        seeData(_obj).then(response => {
+            this.form = response.data
+            console.log(this.form)
+            this.listLoading = false
+          })
+          .catch(() => {
+            this.loading = false
+          })
+      },
+      // 失去焦点
+      onEditorBlur(editor) {},
+      // 获得焦点
+      onEditorFocus(editor) {},
+      // 开始
+      onEditorReady(editor) {},
+      // 值发生变化
+      onEditorChange(editor) {
+        this.form.releaseContent = editor.html;
+        console.log(editor);
+      },
+      beforeUpload(file) {
+        const isIMAGE = ''
+        file.type === 'image/jpeg' || 'image/gif' || 'image/png' || 'image/jpg'
+        const isLt1M = file.size / 1024 / 1024 < 1
+
+        if (!isIMAGE) {
+          this.$message.error('上传文件只能是图片格式!')
+        }
+        if (!isLt1M) {
+          this.$message.error('上传文件大小不能超过 1MB!')
+        }
+        return isIMAGE && isLt1M
+      },
+      uploadSuccess(res) {
+        // 获取富文本组件实例
+        let quill = this.$refs.QuillEditor.quill
+        // 如果上传成功
+        if (res.data.errno = 200 && res.data.url) {
+          // 获取光标所在位置
+          let length = quill.getSelection().index;
+          // 插入图片,res为服务器返回的图片链接地址
+          quill.insertEmbed(length, 'image', res.data.url)
+          // 调整光标到最后
+          quill.setSelection(length + 1)
+        } else {
+          // 提示信息,需引入Message
+          this.$message.error('图片插入失败!')
+        }
+      },
+
+      submit() {
+        this.listLoading = true
+        this.form.contentType = '公告'
+        this.form.id = this.id
+        delete this.form.createDate
+        delete this.form.createUserId
+        delete this.form.updateDate
+        delete this.form.deleteFlag
+        delete this.form.number
+        editFormData(this.form).then(response => {
+            this.$notify({
+              title: '成功',
+              message: '添加成功!',
+              type: 'success'
+            });
+            this.listLoading = false
+            this.$router.go(-1)
+          })
+          .catch(() => {
+            this.loading = false
+          })
+      }
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  .center {
+    background: #F5F6F7;
+    height: calc(100vh - 4.5vh);
+    padding-top: 20px;
+
+  }
+
+  .main_css {
+    width: 96%;
+    height: 90vh;
+    overflow-y: scroll;
+    background: #FFFFFF;
+    margin: 20px auto;
+    padding-top: 20px;
+  }
+
+  .formData {
+    width: 50%;
+    margin: 20px 0 0 140px;
+  }
+
+  .btn {
+    text-align: right;
+    position: absolute;
+    right: 200px;
+    bottom: 100px;
+  }
+
+  .ql-editor {
+    height: 400px !important;
+  }
+</style>

+ 425 - 0
src/views/settlementManagement/driverFeeSettlement.vue

@@ -0,0 +1,425 @@
+<template>
+  <div class="center">
+    <div class="center_css">
+      <div class="top_css">
+            <el-button type="primary" @click="AddRecord">新增</el-button>
+            <el-date-picker class='date' v-model="value1" value-format="yyyy-MM-dd" @change="dateChange" type="daterange"
+              range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
+            </el-date-picker>
+            <div class="screen">
+              <el-input class='find' v-model="searchkeyWord" @keyup.enter.native="find" placeholder="可按编号和标题内容查找" clearable />
+              <el-button class="search" @click="find"><img width="16" height="16" style="margin-left: -8px"
+                  src="../../../public/img/sousuo.png"></el-button>
+            </div>
+      </div>
+      <el-table :data="tableData" style="width: 98%; margin: 0 auto; border-radius: 10px" height="55.8vh" border highlight-current-row>
+        <el-table-column prop="number" label="编号" />
+        <el-table-column prop="title" label="标题" />
+         <el-table-column prop="issuingDate" label="公告日期" />
+        <el-table-column prop="issuingAgency" label="发布人" />
+        <el-table-column prop="updateDate" label="更新日期" />
+        <el-table-column label="操作" min-width="300">
+          <template slot-scope="scope">
+            <el-link target="_blank" type="primary" :underline="false" @click="look(scope.row)">查看</el-link>
+            <el-divider direction="vertical" />
+            <el-link target="_blank" type="primary" :underline="false" @click="del(scope.row)">删除</el-link>
+            <el-divider direction="vertical" />
+            <el-link target="_blank" type="primary" :underline="false" @click="edit(scope.row)">编辑</el-link>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <el-pagination :current-page="currentPage" style="text-align: center; margin-top: 10px"
+      :page-size="deptCircularPage.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal"
+      @size-change="handleSizeChange" @current-change="handleCurrentChange" />
+  </div>
+</template>
+<script>
+  import {
+    getList,delFormData
+
+  } from '@/api/officialWebsiteManagement'
+  export default {
+    data() {
+      return {
+        startDate: '',
+        endDate: '',
+         value1: '',
+        tableData: [],
+        // 分页
+        searchkeyWord: '',
+        currentPage: 1,
+        pageSize: 10,
+        deptBudgetTotal: 0,
+        deptCircularPage: {},
+        search: '',
+        disabled: false,
+      }
+    },
+    mounted() {
+      this.getList()
+    },
+    methods: {
+      dateChange(e) {
+        this.startDate = e[0]
+        this.endDate = e[1]
+        this.getList()
+      },
+      AddRecord() {
+        this.$router.push({
+          path: 'newsAdd'
+        })
+      },
+      getList() {
+        this.loading = true
+        const _obj = {}
+        _obj.currentPage = this.currentPage
+        _obj.pageSize = this.pageSize
+        _obj.searchKeyWord = this.searchkeyWord
+        _obj.startDate =  this.startDate
+        _obj.endDate= this.endDate
+        _obj.searchType = '公告'
+        getList(_obj).then(response => {
+            this.tableData = response.data.records
+            this.deptBudgetTotal = response.data.total
+            this.listLoading = false
+          })
+          .catch(() => {
+            this.loading = false
+          })
+      },
+      del(row) {
+        this.$confirm('确定要删除该记录吗?', '提示', {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning'
+          })
+          .then(() => {
+            this.listLoading = true
+            var _del = {}
+            _del.id = row.id
+            delFormData(_del).then(response => {
+                this.$notify({
+                  title: '成功',
+                  message: '删除成功!',
+                  type: 'success'
+                })
+                this.getList()
+                this.listLoading = false
+              })
+              .catch(() => {
+                this.loading = false
+              })
+          })
+      },
+      find() {
+        this.getList()
+      },
+      look(row) {
+        this.$router.push({
+          path: 'newsLook',
+          query: {
+            id: row.id,
+          }
+        })
+      },
+      edit(row) {
+        this.$router.push({
+          path: 'newsEdit',
+          query: {
+            id: row.id,
+          }
+        })
+      },
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`)
+        this.pageSize = val
+        this.getList()
+      },
+      handleCurrentChange(val) {
+        this.currentPage = val
+        console.log(`当前页: ${val}`)
+        this.getList()
+      }
+    }
+  }
+</script>
+<style lang="scss" scoped>
+  .center {
+    padding: 10px 20px;
+    background: #f5f6f7;
+    height: calc(100vh - 5vh);
+
+    .top_css {
+      padding: 10px;
+      display: flex;
+
+      .search_btn {
+        display: flex;
+        margin-top: 20px;
+
+        .search_item {
+          text-align: center;
+          font-size: 14px;
+          font-weight: 600;
+          line-height: 40px;
+          width: 112px;
+          height: 40px;
+          background: #f7f8f9;
+          cursor: pointer
+        }
+
+        .searchNo {
+          color: #323233;
+        }
+
+        .search {
+          color: #2f53eb;
+          background: #ffffff;
+        }
+      }
+    }
+
+    .ask_css {
+      position: absolute;
+      margin: 3px 0 0 10px;
+    }
+
+    .center_css {
+      background: #ffffff;
+      border-radius: 1px;
+      margin-top: 10px;
+      padding-bottom: 10px;
+    }
+
+    .screen {
+      display: flex;
+
+      .search {
+        width: 40px;
+        height: 40px;
+        background: #2f53eb;
+        border-radius: 0px 2px 2px 0px;
+        border: 1px solid #DCDFE6;
+        margin-left:-1px;
+      }
+
+      .count_css {
+        width: 80px;
+        text-align: center;
+        line-height: 40px;
+        color: #666666;
+      }
+    }
+
+    .el-button {
+      padding: 10px 20px !important;
+    }
+
+    .center_css {
+
+      ::v-deep .el-table th,
+      ::v-deep .el-table td {
+        text-align: center;
+      }
+
+      .fujian {
+        font-size: 24px;
+        color: #409eff;
+      }
+
+      .warning {
+        font-size: 14px;
+        color: #ed1d1d;
+      }
+    }
+  }
+
+  .car_css {
+    width: 50%;
+    display: inline-block;
+    text-align: center;
+    margin-top: 30px;
+    position: relative;
+
+    .status_css {
+      background: #3AC602;
+      width: 50px;
+      height: 17px;
+      position: absolute;
+      top: 0px;
+      right: 15px;
+      border-radius: 3px;
+    }
+
+    .carno_css {
+      padding: 1px 5px;
+      background-color: #F5F6F7;
+      color: #666666;
+      border-radius: 12px;
+      text-align: center;
+      width: 100px;
+      margin: 10px auto 0;
+    }
+
+    .carborder_css {
+      border: 1px solid #F0F1F2;
+      margin: 15px auto 0;
+      width: 90%;
+    }
+  }
+
+  .tips {
+    color: #999999;
+    font-size: 14px;
+  }
+
+  .car_item {
+    width: 200px;
+    height: 160px;
+    border-radius: 5px;
+  }
+
+  .user {
+    margin-bottom: 20px;
+
+    .id_css {
+      font-size: 14px;
+    }
+
+    .id_css,
+    .name_css {
+      margin: 5px 0;
+      color: #0D0D0D;
+    }
+
+    .pay_name {
+      color: #9D9D9D;
+      font-size: 14px;
+    }
+
+    .name_css {
+      font-size: 16px;
+    }
+
+    .user_item {
+      margin: 25px 0;
+      width: 450px;
+      height: 300px;
+    }
+
+    .border_css {
+      width: 100%;
+      border: 1px solid #F0F1F2;
+    }
+  }
+
+  ::v-deep .el-table--border .el-table__header th {
+    background: #f7f8f9;
+  }
+
+  .btn_css {
+    color: #409EFF;
+    cursor: pointer
+  }
+
+  .btn_css1 {
+    margin-left: -20px;
+  }
+
+  .sign {
+    font-size: 14px;
+    color: red;
+  }
+
+  .form_css {
+    width: 100%;
+    margin: 20px auto 20px;
+
+    ::v-deep .el-checkbox {
+      width: 40%;
+      height: 30px;
+    }
+
+    // ::v-deep .el-dialog__body{
+    // 	padding: 10px 20px;
+    // }
+    ::v-deep .el-dialog__title {
+      font-size: 16px;
+    }
+
+    ::v-deep .el-textarea__inner {
+      background: #F0F1F2;
+    }
+
+    .form_btn {
+      text-align: right;
+      margin-top: 10px;
+    }
+  }
+
+  //发送信息
+  .Info_css {
+    .Info_title {
+      color: #323233;
+      font-size: 16px;
+    }
+
+    .Info_item {
+      margin: 20px 0;
+    }
+
+    .Info_btn {
+      text-align: right;
+      margin-top: 10px;
+    }
+  }
+
+  //附件
+  .file {
+    .fujian_css {
+      width: 631px;
+      display: flex;
+      margin: 0 auto;
+      text-align: center;
+      line-height: 32px;
+      border: 1px solid #F0F1F2;
+      border-right: 0px;
+      border-radius: 2px 0px 0px 2px;
+
+      .fujian_item {
+        cursor: pointer;
+        width: 90px;
+        height: 32px;
+        border-right: 1px solid #F0F1F2;
+      }
+
+      .file_btn {
+        color: #2F53EB;
+        background-color: #CFDBFE;
+      }
+    }
+
+    .file_img {
+      width: 525px;
+      height: 332px;
+      margin: 20px auto;
+    }
+
+    .img_css {
+      width: 525px;
+      height: 332px;
+    }
+
+    .btn {
+      width: 400px;
+      margin: 0 auto;
+    }
+  }
+  .date{
+    margin:0 10px;
+  }
+  .find::v-deep input.el-input__inner{
+    border-radius:0;
+  }
+</style>

+ 218 - 0
src/views/settlementManagement/ownerFlow.vue

@@ -0,0 +1,218 @@
+<template>
+  <div class="center">
+    <div class="main_css">
+      <div class="formData">
+        <el-form ref="form" :model="form" label-width="80px">
+          <el-form-item label="公示标题">
+            <el-input v-model="form.title" clearable placeholder="请输入标题"></el-input>
+          </el-form-item>
+          <el-form-item label="公示日期">
+            <el-date-picker v-model="form.issuingDate" type="date" value-format="yyyy-MM-dd" style='width: 100%;'
+              placeholder="选择日期时间">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="发布机构">
+            <el-input v-model="form.issuingAgency" clearable placeholder=""></el-input>
+          </el-form-item>
+          <div class="quill-editor">
+            <!-- 图片上传组件辅助,组件内添加v-show=“false”属性,把该组件隐藏起来。-->
+            <el-upload class="avatar-uploader" :action="uploadPath" :show-file-list="false"
+              :on-success="uploadSuccess">
+            </el-upload>
+            <!--富文本编辑器组件-->
+            <quill-editor v-model="form.releaseContent" :content="form.releaseContent" :options="editorOption"
+              @blur="onEditorBlur($event)" @focus="onEditorFocus($event)" @ready="onEditorReady($event)"
+              ref="QuillEditor">
+            </quill-editor>
+            <div v-html="form.releaseContent" />
+          </div>
+          <!--            <quill-editor v-model="form.releaseContent" res="myQuillEditor" :options="editorOption" id="editor">
+            </quill-editor> -->
+        </el-form>
+      </div>
+      <div class="btn">
+        <el-button @click="submit">提交</el-button>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+  import {
+    addFormData,
+    uploadPath
+  } from '@/api/officialWebsiteManagement'
+  import quillEditor from 'vue-quill-editor';
+  const toolbarOptions = [
+    ['bold', 'italic', 'underline', 'strike'], // 加粗,斜体,下划线,删除线
+    ['blockquote', 'code-block'], //引用,代码块
+    [{
+      'header': 1
+    }, {
+      'header': 2
+    }], // 几级标题
+    [{
+      'list': 'ordered'
+    }, {
+      'list': 'bullet'
+    }], // 有序列表,无序列表
+    [{
+      'script': 'sub'
+    }, {
+      'script': 'super'
+    }], // 下角标,上角标
+    [{
+      'indent': '-1'
+    }, {
+      'indent': '+1'
+    }], // 缩进
+    [{
+      'direction': 'rtl'
+    }], // 文字输入方向
+    [{
+      'size': ['small', false, 'large', 'huge']
+    }], // 字体大小
+    [{
+      'header': [1, 2, 3, 4, 5, 6, false]
+    }], // 标题
+    [{
+      'color': []
+    }, {
+      'background': []
+    }], // 颜色选择
+    [{
+      'font': ['SimSun', 'SimHei', 'Microsoft-YaHei', 'KaiTi', 'FangSong', 'Arial']
+    }], // 字体
+    [{
+      'align': []
+    }], // 居中
+    ['clean'], // 清除样式,
+    ['link', 'image'], // 上传图片、上传视频
+  ]
+  export default {
+    data() {
+      return {
+        uploadPath,
+        editorOption: {
+          modules: {
+            toolbar: {
+              container: toolbarOptions,
+              handlers: {
+                image: function(value) {
+                  if (value) {
+                    // 调用element的图片上传组件
+                    document.querySelector('.avatar-uploader input').click()
+                  } else {
+                    this.quill.format('image', false)
+                  }
+                }
+              }
+            }
+          }
+        },
+        form: {
+          issuingAgency: '畅运通信息部'
+        },
+        regulations: {},
+        version: [],
+        count: ""
+      }
+    },
+    created() {
+      this.form.makeUser = JSON.parse(localStorage.getItem('UserInfo')).deptName
+    },
+    methods: {
+      // 失去焦点
+      onEditorBlur(editor) {},
+      // 获得焦点
+      onEditorFocus(editor) {},
+      // 开始
+      onEditorReady(editor) {},
+      // 值发生变化
+      onEditorChange(editor) {
+        this.form.releaseContent = editor.html;
+        console.log(editor);
+      },
+      beforeUpload(file) {
+        const isIMAGE =''
+          file.type === 'image/jpeg' || 'image/gif' || 'image/png' || 'image/jpg'
+        const isLt1M = file.size / 1024 / 1024 < 1
+
+        if (!isIMAGE) {
+          this.$message.error('上传文件只能是图片格式!')
+        }
+        if (!isLt1M) {
+          this.$message.error('上传文件大小不能超过 1MB!')
+        }
+        return isIMAGE && isLt1M
+      },
+      uploadSuccess(res) {
+        // 获取富文本组件实例
+        let quill = this.$refs.QuillEditor.quill
+        // 如果上传成功
+        if (res.data.errno = 200 && res.data.url) {
+          // 获取光标所在位置
+          let length = quill.getSelection().index;
+          // 插入图片,res为服务器返回的图片链接地址
+          quill.insertEmbed(length, 'image', res.data.url)
+          // 调整光标到最后
+          quill.setSelection(length + 1)
+        } else {
+          // 提示信息,需引入Message
+          this.$message.error('图片插入失败!')
+        }
+      },
+
+      submit() {
+        this.listLoading = true
+        this.form.contentType = '公示'
+        addFormData(this.form).then(response => {
+            this.$notify({
+              title: '成功',
+              message: '添加成功!',
+              type: 'success'
+            });
+            this.listLoading = false
+            this.$router.go(-1)
+          })
+          .catch(() => {
+            this.loading = false
+          })
+      }
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  .center {
+    background: #F5F6F7;
+    height: calc(100vh - 4.5vh);
+    padding-top: 20px;
+
+  }
+
+  .main_css {
+    width: 96%;
+    height: 90vh;
+    overflow-y: scroll;
+    background: #FFFFFF;
+    margin: 20px auto;
+    padding-top: 20px;
+  }
+
+  .formData {
+    width: 50%;
+    margin: 20px 0 0 140px;
+  }
+
+  .btn {
+    text-align: right;
+    position: absolute;
+    right: 200px;
+    bottom: 100px;
+  }
+
+  .ql-editor {
+    height: 400px !important;
+  }
+</style>

+ 218 - 0
src/views/settlementManagement/statisticalReport.vue

@@ -0,0 +1,218 @@
+<template>
+  <div class="center">
+    <div class="main_css">
+      <div class="formData">
+        <el-form ref="form" :model="form" label-width="80px">
+          <el-form-item label="公示标题">
+            <el-input v-model="form.title" clearable placeholder="请输入标题"></el-input>
+          </el-form-item>
+          <el-form-item label="公示日期">
+            <el-date-picker v-model="form.issuingDate" type="date" value-format="yyyy-MM-dd" style='width: 100%;'
+              placeholder="选择日期时间">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="发布机构">
+            <el-input v-model="form.issuingAgency" clearable placeholder=""></el-input>
+          </el-form-item>
+          <div class="quill-editor">
+            <!-- 图片上传组件辅助,组件内添加v-show=“false”属性,把该组件隐藏起来。-->
+            <el-upload class="avatar-uploader" :action="uploadPath" :show-file-list="false"
+              :on-success="uploadSuccess">
+            </el-upload>
+            <!--富文本编辑器组件-->
+            <quill-editor v-model="form.releaseContent" :content="form.releaseContent" :options="editorOption"
+              @blur="onEditorBlur($event)" @focus="onEditorFocus($event)" @ready="onEditorReady($event)"
+              ref="QuillEditor">
+            </quill-editor>
+            <div v-html="form.releaseContent" />
+          </div>
+          <!--            <quill-editor v-model="form.releaseContent" res="myQuillEditor" :options="editorOption" id="editor">
+            </quill-editor> -->
+        </el-form>
+      </div>
+      <div class="btn">
+        <el-button @click="submit">提交</el-button>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+  import {
+    addFormData,
+    uploadPath
+  } from '@/api/officialWebsiteManagement'
+  import quillEditor from 'vue-quill-editor';
+  const toolbarOptions = [
+    ['bold', 'italic', 'underline', 'strike'], // 加粗,斜体,下划线,删除线
+    ['blockquote', 'code-block'], //引用,代码块
+    [{
+      'header': 1
+    }, {
+      'header': 2
+    }], // 几级标题
+    [{
+      'list': 'ordered'
+    }, {
+      'list': 'bullet'
+    }], // 有序列表,无序列表
+    [{
+      'script': 'sub'
+    }, {
+      'script': 'super'
+    }], // 下角标,上角标
+    [{
+      'indent': '-1'
+    }, {
+      'indent': '+1'
+    }], // 缩进
+    [{
+      'direction': 'rtl'
+    }], // 文字输入方向
+    [{
+      'size': ['small', false, 'large', 'huge']
+    }], // 字体大小
+    [{
+      'header': [1, 2, 3, 4, 5, 6, false]
+    }], // 标题
+    [{
+      'color': []
+    }, {
+      'background': []
+    }], // 颜色选择
+    [{
+      'font': ['SimSun', 'SimHei', 'Microsoft-YaHei', 'KaiTi', 'FangSong', 'Arial']
+    }], // 字体
+    [{
+      'align': []
+    }], // 居中
+    ['clean'], // 清除样式,
+    ['link', 'image'], // 上传图片、上传视频
+  ]
+  export default {
+    data() {
+      return {
+        uploadPath,
+        editorOption: {
+          modules: {
+            toolbar: {
+              container: toolbarOptions,
+              handlers: {
+                image: function(value) {
+                  if (value) {
+                    // 调用element的图片上传组件
+                    document.querySelector('.avatar-uploader input').click()
+                  } else {
+                    this.quill.format('image', false)
+                  }
+                }
+              }
+            }
+          }
+        },
+        form: {
+          issuingAgency: '畅运通信息部'
+        },
+        regulations: {},
+        version: [],
+        count: ""
+      }
+    },
+    created() {
+      this.form.makeUser = JSON.parse(localStorage.getItem('UserInfo')).deptName
+    },
+    methods: {
+      // 失去焦点
+      onEditorBlur(editor) {},
+      // 获得焦点
+      onEditorFocus(editor) {},
+      // 开始
+      onEditorReady(editor) {},
+      // 值发生变化
+      onEditorChange(editor) {
+        this.form.releaseContent = editor.html;
+        console.log(editor);
+      },
+      beforeUpload(file) {
+        const isIMAGE =''
+          file.type === 'image/jpeg' || 'image/gif' || 'image/png' || 'image/jpg'
+        const isLt1M = file.size / 1024 / 1024 < 1
+
+        if (!isIMAGE) {
+          this.$message.error('上传文件只能是图片格式!')
+        }
+        if (!isLt1M) {
+          this.$message.error('上传文件大小不能超过 1MB!')
+        }
+        return isIMAGE && isLt1M
+      },
+      uploadSuccess(res) {
+        // 获取富文本组件实例
+        let quill = this.$refs.QuillEditor.quill
+        // 如果上传成功
+        if (res.data.errno = 200 && res.data.url) {
+          // 获取光标所在位置
+          let length = quill.getSelection().index;
+          // 插入图片,res为服务器返回的图片链接地址
+          quill.insertEmbed(length, 'image', res.data.url)
+          // 调整光标到最后
+          quill.setSelection(length + 1)
+        } else {
+          // 提示信息,需引入Message
+          this.$message.error('图片插入失败!')
+        }
+      },
+
+      submit() {
+        this.listLoading = true
+        this.form.contentType = '公示'
+        addFormData(this.form).then(response => {
+            this.$notify({
+              title: '成功',
+              message: '添加成功!',
+              type: 'success'
+            });
+            this.listLoading = false
+            this.$router.go(-1)
+          })
+          .catch(() => {
+            this.loading = false
+          })
+      }
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  .center {
+    background: #F5F6F7;
+    height: calc(100vh - 4.5vh);
+    padding-top: 20px;
+
+  }
+
+  .main_css {
+    width: 96%;
+    height: 90vh;
+    overflow-y: scroll;
+    background: #FFFFFF;
+    margin: 20px auto;
+    padding-top: 20px;
+  }
+
+  .formData {
+    width: 50%;
+    margin: 20px 0 0 140px;
+  }
+
+  .btn {
+    text-align: right;
+    position: absolute;
+    right: 200px;
+    bottom: 100px;
+  }
+
+  .ql-editor {
+    height: 400px !important;
+  }
+</style>