From 617bbcea64a2e81fc4543250648725debfc1db3c Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 24 一月 2024 09:15:01 +0800
Subject: [PATCH] Mr.Shi
---
company/src/components/business/dispatchUnitReviewDetails.vue | 296 ++++++++++++
company/src/components/common/Menu.vue | 3
company/src/components/business/dispatchReview.vue | 163 ++++++
company/src/components/business/OperaPolicyListWindow.vue | 449 ++++++++++++++++++
company/src/views/business/dispatchUnitReview.vue | 104 ++++
company/src/components/business/policyListDetails.vue | 242 ++++++++++
company/src/views/business/policyList.vue | 122 +++++
company/.env.development | 2
8 files changed, 1,379 insertions(+), 2 deletions(-)
diff --git a/company/.env.development b/company/.env.development
index 9cff474..622962f 100644
--- a/company/.env.development
+++ b/company/.env.development
@@ -1,6 +1,6 @@
# 寮�鍙戠幆澧冮厤缃�
NODE_ENV = 'development'
-VUE_APP_API = 'http://192.168.0.156:10023/'
+VUE_APP_API = 'http://192.168.0.104:10023/'
# VUE_APP_API = 'http://192.168.0.134:10023/'
diff --git a/company/src/components/business/OperaPolicyListWindow.vue b/company/src/components/business/OperaPolicyListWindow.vue
new file mode 100644
index 0000000..f6b1098
--- /dev/null
+++ b/company/src/components/business/OperaPolicyListWindow.vue
@@ -0,0 +1,449 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="80%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="desc">
+ <div class="desc_item">
+ <div class="desc_item_label">
+ <div class="desc_item_label_left">
+ <span>鎶曚繚浼佷笟锛氬畨寰藉钩瀹変汉鍔涜祫婧愭湁闄愬叕鍙�</span>
+ <span>淇濆崟鐘舵�侊細寰呭嚭鍗�</span>
+ <span>鎻愪氦鏃堕棿锛�2023-09-11 00:00:00</span>
+ </div>
+ <div class="desc_item_label_right">
+ <el-button type="primary" @click="$refs.policyListDetails.open('鎶曚繚璇︽儏鍗�')">瀵煎嚭璇﹀崟</el-button>
+ <el-button type="primary">鏌ョ湅鎶曚繚鍗�</el-button>
+ <el-button type="primary">鏌ョ湅淇濋櫓鍗�</el-button>
+ <el-button type="danger" @click="visible4 = true">淇敼淇濋櫓鍗�</el-button>
+ </div>
+ </div>
+ <div class="desc_item_from">
+ <el-table
+ :data="tableData"
+ border
+ style="width: 100%">
+ <el-table-column
+ prop="date"
+ label="淇濆崟鍙�">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="淇濋櫓鏂规"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="淇濋櫓鐢熸晥璧锋湡">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="淇濋櫓鐢熸晥姝㈡湡">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="鎶曚繚浜烘暟">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="褰撳墠璐圭敤">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="鎬昏垂鐢�">
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="desc_item_cate">
+ <el-tabs v-model="activeName" @tab-click="handleClick">
+ <el-tab-pane label="鍦ㄤ繚浜哄憳" name="first"></el-tab-pane>
+ <el-tab-pane label="鍔�/鍑忎繚璁板綍" name="second"></el-tab-pane>
+ <el-tab-pane label="鎹㈠巶璁板綍" name="third"></el-tab-pane>
+ </el-tabs>
+ </div>
+ <div class="desc_item_search">
+ <el-form :inline="true" :model="formInline" class="demo-form-inline">
+ <el-form-item label="鍦ㄤ繚鐘舵��" prop="region">
+ <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
+ <el-option label="淇濋殰涓�" value="1"></el-option>
+ <el-option label="涓嶅湪淇�" value="2"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="娲鹃仯鍗曚綅" prop="region">
+ <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
+ <el-option label="淇濋殰涓�" value="1"></el-option>
+ <el-option label="涓嶅湪淇�" value="2"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎵�灞炲伐绉�" prop="region">
+ <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
+ <el-option label="淇濋殰涓�" value="1"></el-option>
+ <el-option label="涓嶅湪淇�" value="2"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍛樺伐濮撳悕" prop="user">
+ <el-input v-model="formInline.user" placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ <el-form-item label="淇濋櫓鐢熸晥璧锋湡" prop="user">
+ <el-date-picker
+ v-model="formInline.user"
+ type="daterange"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="淇濋櫓鐢熸晥璧锋湡" prop="user">
+ <el-date-picker
+ v-model="formInline.user"
+ type="daterange"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <section>
+ <el-button type="primary" @click="onSubmit">鏌ヨ</el-button>
+ <el-button>閲嶇疆</el-button>
+ <el-button type="primary">瀵煎嚭鍚嶅崟</el-button>
+ </section>
+ </el-form>
+ </div>
+ <div class="desc_item_from">
+ <el-table
+ :data="tableData"
+ border
+ style="width: 100%">
+ <el-table-column label="搴忓彿">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="date"
+ label="鍛樺伐濮撳悕">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="鎬у埆"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="韬唤璇佸彿">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="娲鹃仯鍗曚綅">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="鎵�灞炲伐绉�">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="淇濋櫓鐢熸晥璧锋湡">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="淇濋櫓鐢熸晥姝㈡湡">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="浜х敓璐圭敤锛堝厓锛�">
+ </el-table-column>
+ </el-table>
+ <div class="desc_item_from_page">
+ <el-pagination
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ :current-page="currentPage"
+ :page-sizes="[100, 200, 300, 400]"
+ :page-size="100"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="400">
+ </el-pagination>
+ </div>
+ </div>
+ <div class="desc_item_review">
+ <div class="desc_item_review_label">瀹℃牳娴佺▼</div>
+ <el-timeline :reverse="reverse">
+ <el-timeline-item
+ v-for="(activity, index) in activities"
+ :key="index"
+ :timestamp="activity.timestamp">
+ {{activity.content}}
+ </el-timeline-item>
+ </el-timeline>
+ </div>
+ </div>
+ </div>
+ <policyListDetails ref="policyListDetails" @success="successEvent" />
+ <!-- 淇敼淇濋櫓鍗� -->
+ <el-dialog
+ title="淇敼淇濋櫓鍗�"
+ :visible.sync="visible4"
+ :show-close="false"
+ :close-on-click-modal="false"
+ width="30%"
+ center>
+ <div class="form">
+ <div class="form_item">
+ <div class="form_item_label"><span>*</span>淇濋櫓鐢熸晥璧锋湡锛�</div>
+ <div class="form_item_val">
+ <el-date-picker
+ v-model="value1"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </div>
+ </div>
+ <div class="form_item">
+ <div class="form_item_label"><span>*</span>淇濆崟鍙凤細</div>
+ <div class="form_item_val">
+ <el-input placeholder="璇疯緭鍏�"></el-input>
+ </div>
+ </div>
+ <div class="form_item">
+ <div class="form_item_label"><span>*</span>涓婁紶淇濋櫓鍗曪細</div>
+ <div class="form_item_val">
+ <el-upload
+ class="upload-demo"
+ action="https://jsonplaceholder.typicode.com/posts/"
+ :on-preview="handlePreview"
+ :on-remove="handleRemove"
+ :before-remove="beforeRemove"
+ multiple
+ :limit="1"
+ :on-exceed="handleExceed"
+ :file-list="fileList">
+ <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
+ <div slot="tip" class="el-upload__tip">鍙兘涓婁紶pdf鏂囦欢锛屼笖涓嶈秴杩�5mb</div>
+ </el-upload>
+ </div>
+ </div>
+ <div class="form_item">
+ <div class="form_item_label"><span>*</span>淇敼鍘熷洜锛�</div>
+ <div class="form_item_val">
+ <el-input placeholder="璇疯緭鍏�"></el-input>
+ </div>
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="visible4 = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="visible4 = false">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import policyListDetails from '@/components/business/policyListDetails'
+ export default {
+ name: 'OperaPolicyListWindow',
+ extends: BaseOpera,
+ components: { GlobalWindow, policyListDetails },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ editDate: ''
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ },
+ formInline: {
+ user: '',
+ region: ''
+ },
+ visible1: false,
+ visible2: false,
+ visible3: false,
+ visible4: false,
+ visible5: false,
+ reverse: true,
+ radio: 0,
+ fileList: [
+ {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
+ ],
+ activities: [{
+ content: '娲诲姩鎸夋湡寮�濮�',
+ timestamp: '2018-04-15'
+ }, {
+ content: '閫氳繃瀹℃牳',
+ timestamp: '2018-04-13'
+ }, {
+ content: '鍒涘缓鎴愬姛',
+ timestamp: '2018-04-11'
+ }],
+ tableData: [],
+ activeName: 'first',
+ currentPage: 1
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ handleRemove(file, fileList) {
+ console.log(file, fileList);
+ },
+ handlePreview(file) {
+ console.log(file);
+ },
+ handleExceed(files, fileList) {
+ this.$message.warning(`褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶);
+ },
+ beforeRemove(file, fileList) {
+ return this.$confirm(`纭畾绉婚櫎 ${ file.name }锛焋);
+ },
+ successEvent() {
+
+ },
+ handleSizeChange(val) {
+ console.log(`姣忛〉 ${val} 鏉);
+ },
+ handleCurrentChange(val) {
+ console.log(`褰撳墠椤�: ${val}`);
+ },
+ handleClick(tab, event) {
+ console.log(tab, event);
+ },
+ onSubmit() {
+
+ }
+ }
+ }
+</script>
+<style>
+ .v-modal {
+ z-index: 2000 !important;
+ }
+</style>
+<style lang="scss" scoped>
+ .form {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ .form_span {
+ width: 100%;
+ display: flex;
+ align-items: start;
+ flex-direction: column;
+ margin-bottom: 20px;
+ span {
+ font-size: 14px;
+ &:nth-child(1) {
+ color: black;
+ margin-bottom: 5px;
+ }
+ &:nth-child(2) {
+ color: #8c939d;
+ }
+ }
+ }
+ .form_item {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ margin-bottom: 20px;
+ &:last-child {
+ margin: 0 !important;
+ }
+ .form_item_label {
+ flex-shrink: 0;
+ width: 170px;
+ color: black;
+ font-size: 14px;
+ span {
+ color: red;
+ font-size: 14px;
+ }
+ }
+ .form_item_val {
+ flex: 1;
+ /*height: 40px;*/
+ margin-left: 20px;
+ textarea {
+ width: 100%;
+ height: 70px;
+ border: 1px solid #cbcbcb;
+ padding: 10px;
+ outline: none;
+ box-sizing: border-box;
+ }
+ input {
+ width: 100%;
+ height: 40px;
+ outline: none;
+ border-radius: 5px;
+ border: 1px solid #cbcbcb;
+ padding: 0 20px;
+ box-sizing: border-box;
+ }
+ }
+ }
+ }
+ .desc {
+ width: 100%;
+ .desc_item {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ .desc_item_label {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 10px;
+ span {
+ font-size: 14px;
+ color: black;
+ margin-right: 30px;
+ }
+ }
+ .desc_item_from {
+ width: 100%;
+ margin-bottom: 10px;
+ .desc_item_from_page {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: end;
+ margin-top: 10px;
+ }
+ }
+ .desc_item_cate {
+ width: 100%;
+ margin-bottom: 10px;
+ }
+ .desc_item_search {
+ width: 100%;
+ margin-bottom: 20px;
+ }
+ .desc_item_review {
+ width: 100%;
+ .desc_item_review_label {
+ font-size: 20px;
+ color: black;
+ font-weight: bold;
+ margin-bottom: 15px;
+ }
+ }
+ }
+ }
+</style>
diff --git a/company/src/components/business/dispatchReview.vue b/company/src/components/business/dispatchReview.vue
new file mode 100644
index 0000000..9d1ce17
--- /dev/null
+++ b/company/src/components/business/dispatchReview.vue
@@ -0,0 +1,163 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="50%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ >
+ <div class="box">
+ <div class="box_label">淇濋櫓鏂规锛氬钩瀹変繚闄╅泧涓昏矗浠婚櫓B鐗�</div>
+ <el-table
+ :data="tableData"
+ border
+ style="width: 100%">
+ <el-table-column
+ prop="date"
+ label="鏃ユ湡">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="濮撳悕">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="鍦板潃">
+ </el-table-column>
+ </el-table>
+ </div>
+ <!-- 椹冲洖閫�鍥炵敵璇� -->
+ <el-dialog
+ title="瀹℃牳纭"
+ :visible.sync="visible5"
+ :show-close="false"
+ :close-on-click-modal="false"
+ width="30%"
+ center>
+ <div class="form">
+ <div class="form_item">
+ <div class="form_item_label"><span>*</span>瀹℃牳璇存槑锛�</div>
+ <div class="form_item_val">
+ <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏�"></el-input>
+ </div>
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="visible5 = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="visible5 = false">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <template v-slot:footer>
+ <el-button type="primary" @click="visible5 = true">瀹℃牳閫氳繃</el-button>
+ <el-button @click="visible5 = true">瀹℃牳閫�鍥�</el-button>
+ </template>
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ export default {
+ name: 'dispatchReview',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ editDate: ''
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ },
+ tableData: [],
+ visible5: false
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .box {
+ width: 100%;
+ .box_label {
+ width: 100%;
+ color: black;
+ font-size: 14px;
+ margin-bottom: 15px;
+ }
+ }
+ .form {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ .form_span {
+ width: 100%;
+ display: flex;
+ align-items: start;
+ flex-direction: column;
+ margin-bottom: 20px;
+ span {
+ font-size: 14px;
+ &:nth-child(1) {
+ color: black;
+ margin-bottom: 5px;
+ }
+ &:nth-child(2) {
+ color: #8c939d;
+ }
+ }
+ }
+ .form_item {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ margin-bottom: 20px;
+ &:last-child {
+ margin: 0 !important;
+ }
+ .form_item_label {
+ flex-shrink: 0;
+ width: 170px;
+ color: black;
+ font-size: 14px;
+ span {
+ color: red;
+ font-size: 14px;
+ }
+ }
+ .form_item_val {
+ flex: 1;
+ /*height: 40px;*/
+ margin-left: 20px;
+ textarea {
+ width: 100%;
+ height: 70px;
+ border: 1px solid #cbcbcb;
+ padding: 10px;
+ outline: none;
+ box-sizing: border-box;
+ }
+ input {
+ width: 100%;
+ height: 40px;
+ outline: none;
+ border-radius: 5px;
+ border: 1px solid #cbcbcb;
+ padding: 0 20px;
+ box-sizing: border-box;
+ }
+ }
+ }
+ }
+</style>
diff --git a/company/src/components/business/dispatchUnitReviewDetails.vue b/company/src/components/business/dispatchUnitReviewDetails.vue
new file mode 100644
index 0000000..e628141
--- /dev/null
+++ b/company/src/components/business/dispatchUnitReviewDetails.vue
@@ -0,0 +1,296 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="80%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="info">
+ <div class="info_head">
+ <span>鎵�灞炰紒涓氾細鑺滄箹鏍煎姏绮惧瘑鍒堕�犳湁闄愬叕鍙�</span>
+ <el-button type="primary" @click="visible5 = true">瀹℃牳</el-button>
+ <el-button type="primary" @click="$refs.dispatchReview.open('瀹℃牳宸ョ')">瀹℃牳宸ョ</el-button>
+ </div>
+ <div class="info_list">
+ <div class="info_list_item">娲鹃仯鍗曚綅锛氳姕婀栨牸鍔涚簿瀵嗗埗閫犳湁闄愬叕鍙�</div>
+ <div class="info_list_item">娲鹃仯鍗曚綅淇$敤浠g爜锛�913401000900000001</div>
+ <div class="info_list_item">娲鹃仯鍗曚綅鐘舵�侊細寰呭鏍�</div>
+ <div class="info_list_item">娲鹃仯鍗曚綅璇﹁堪锛氭棤</div>
+ </div>
+ <div class="info_x"></div>
+ <div class="info_form">
+ <div class="info_form_label">淇濋櫓鏂规锛氬钩瀹変繚闄╅泧涓昏矗浠婚櫓B鐗�</div>
+ <el-table
+ :data="tableData"
+ border
+ style="width: 100%">
+ <el-table-column
+ prop="date"
+ label="鏃ユ湡">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="濮撳悕">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="鍦板潃">
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="info_form">
+ <div class="info_form_label">淇濋櫓鏂规锛氬钩瀹変繚闄╅泧涓昏矗浠婚櫓B鐗�</div>
+ <el-table
+ :data="tableData"
+ border
+ style="width: 100%">
+ <el-table-column
+ prop="date"
+ label="鏃ユ湡">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="濮撳悕">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="鍦板潃">
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="desc_label">
+ <div class="desc_label_left">
+ <span class="desc_label_left_title">
+ 妗堜欢杩涘害
+ </span>
+ </div>
+ </div>
+ <div class="desc_times">
+ <el-timeline :reverse="reverse">
+ <el-timeline-item
+ v-for="(activity, index) in activities"
+ :key="index"
+ :timestamp="activity.timestamp">
+ {{activity.content}}
+ </el-timeline-item>
+ </el-timeline>
+ </div>
+ <!-- 椹冲洖閫�鍥炵敵璇� -->
+ <el-dialog
+ title="瀹℃牳纭"
+ :visible.sync="visible5"
+ :show-close="false"
+ :close-on-click-modal="false"
+ width="30%"
+ center>
+ <div class="form">
+ <div class="form_item">
+ <div class="form_item_label"><span>*</span>瀹℃牳璇存槑锛�</div>
+ <div class="form_item_val">
+ <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏�"></el-input>
+ </div>
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="visible5 = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="visible5 = false">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <!-- 瀹℃牳 -->
+ <dispatchReview ref="dispatchReview" />
+ </div>
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ import dispatchReview from '@/components/business/dispatchReview'
+ export default {
+ name: 'dispatchUnitReviewDetails',
+ extends: BaseOpera,
+ components: { GlobalWindow, dispatchReview },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ editDate: ''
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ },
+ tableData: [],
+ visible5: false,
+ reverse: true,
+ activities: [{
+ content: '娲诲姩鎸夋湡寮�濮�',
+ timestamp: '2018-04-15'
+ }, {
+ content: '閫氳繃瀹℃牳',
+ timestamp: '2018-04-13'
+ }, {
+ content: '鍒涘缓鎴愬姛',
+ timestamp: '2018-04-11'
+ }],
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+
+ }
+ }
+</script>
+
+<style>
+ .v-modal {
+ z-index: 2000 !important;
+ }
+</style>
+
+<style lang="scss" scoped>
+ .info {
+ width: 100%;
+ .form {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ .form_span {
+ width: 100%;
+ display: flex;
+ align-items: start;
+ flex-direction: column;
+ margin-bottom: 20px;
+ span {
+ font-size: 14px;
+ &:nth-child(1) {
+ color: black;
+ margin-bottom: 5px;
+ }
+ &:nth-child(2) {
+ color: #8c939d;
+ }
+ }
+ }
+ .form_item {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ margin-bottom: 20px;
+ &:last-child {
+ margin: 0 !important;
+ }
+ .form_item_label {
+ flex-shrink: 0;
+ width: 170px;
+ color: black;
+ font-size: 14px;
+ span {
+ color: red;
+ font-size: 14px;
+ }
+ }
+ .form_item_val {
+ flex: 1;
+ /*height: 40px;*/
+ margin-left: 20px;
+ textarea {
+ width: 100%;
+ height: 70px;
+ border: 1px solid #cbcbcb;
+ padding: 10px;
+ outline: none;
+ box-sizing: border-box;
+ }
+ input {
+ width: 100%;
+ height: 40px;
+ outline: none;
+ border-radius: 5px;
+ border: 1px solid #cbcbcb;
+ padding: 0 20px;
+ box-sizing: border-box;
+ }
+ }
+ }
+ }
+ .info_head {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ span {
+ color: black;
+ font-size: 14px;
+ }
+ }
+ .info_list {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ margin-top: 15px;
+ .info_list_item {
+ width: 33.3%;
+ color: black;
+ font-size: 14px;
+ margin-bottom: 15px;
+ }
+ }
+ .info_x {
+ width: 100%;
+ height: 1px;
+ background: #eeeeee;
+ margin-bottom: 15px;
+ }
+ .info_form {
+ width: 100%;
+ margin-bottom: 15px;
+ .info_form_label {
+ color: black;
+ font-size: 14px;
+ margin-bottom: 15px;
+ }
+ }
+ .desc_label {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .desc_label_left {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ .desc_label_left_title {
+ font-size: 20px;
+ font-weight: bold;
+ color: black;
+ }
+ .desc_label_left_time {
+ font-size: 14px;
+ color: rgba(249, 86, 1, 0.996);
+ margin-left: 10px;
+ }
+ .desc_label_left_code {
+ font-size: 15px;
+ color: black;
+ margin-left: 30px;
+ }
+ }
+ .desc_label_right {
+ flex-shrink: 0;
+ }
+ }
+ .desc_times {
+ width: 100%;
+ margin-top: 20px;
+ }
+ }
+</style>
diff --git a/company/src/components/business/policyListDetails.vue b/company/src/components/business/policyListDetails.vue
new file mode 100644
index 0000000..a4a5ed8
--- /dev/null
+++ b/company/src/components/business/policyListDetails.vue
@@ -0,0 +1,242 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="50%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <div class="box">
+ <div class="box_header">
+ <div class="box_header_item">
+ <div class="box_header_item_label">鎶曚繚浼佷笟</div>
+ <div class="box_header_item_val">瀹夊窘鏍煎姏鏈烘鍒堕�犲巶</div>
+ </div>
+ <div class="box_header_item">
+ <div class="box_header_item_label">淇濋櫓鏂规</div>
+ <div class="box_header_item_val">骞冲畨淇濋櫓闆囦富璐d换闄〢鐗�</div>
+ </div>
+ <div class="box_header_item">
+ <div class="box_header_item_label">淇濋櫓鐢熸晥璧锋湡</div>
+ <div class="box_header_item_val">2023-09-11 00:00:00</div>
+ </div>
+ <div class="box_header_item">
+ <div class="box_header_item_label">淇濋櫓鐢熸晥姝㈡湡</div>
+ <div class="box_header_item_val">2023-10-11 23:59:59</div>
+ </div>
+ <div class="box_header_item">
+ <div class="box_header_item_label">鎶曚繚浜烘暟</div>
+ <div class="box_header_item_val">50</div>
+ </div>
+ <div class="box_header_item">
+ <div class="box_header_item_label">鎬昏垂鐢�</div>
+ <div class="box_header_item_val">15000</div>
+ </div>
+ </div>
+ <div class="box_table">
+ <div class="box_table_head">
+ <div class="box_table_head_item">搴忓彿</div>
+ <div class="box_table_head_item">鍛樺伐濮撳悕</div>
+ <div class="box_table_head_item">韬唤璇佸彿</div>
+ <div class="box_table_head_item">娲鹃仯鍗曚綅</div>
+ <div class="box_table_head_item">鎵�灞炲伐绉�</div>
+ </div>
+ <div class="box_table_content" v-for="(item, index) in 6" :key="index">
+ <div class="box_table_content_item">{{index + 1}}</div>
+ <div class="box_table_content_item">鐜嬫煇鏌�</div>
+ <div class="box_table_content_item">340411190001010011</div>
+ <div class="box_table_content_item">瀹夊窘鏍煎姏鏈烘鍒堕�犲巶</div>
+ <div class="box_table_content_item">4绫� 鏈烘鍔犲伐/鍒堕��</div>
+ </div>
+ </div>
+ <div class="box_footer">
+ <div class="box_footer_label">澶囨敞</div>
+ <div class="box_footer_val">
+ <el-input placeholder="璇疯緭鍏�"></el-input>
+ </div>
+ </div>
+ </div>
+ <template v-slot:footer>
+ <el-button type="primary">浼佷笟璇佷欢</el-button>
+ <el-button type="primary">瀵煎嚭璇﹀崟</el-button>
+ <el-button @click="visible = false">鍙栨秷</el-button>
+ </template>
+ </GlobalWindow>
+</template>
+
+<script>
+ import BaseOpera from '@/components/base/BaseOpera'
+ import GlobalWindow from '@/components/common/GlobalWindow'
+ export default {
+ name: 'policyListDetails',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ editDate: ''
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ },
+ formInline: {
+ user: '',
+ region: ''
+ },
+ reverse: true,
+ activities: [{
+ content: '娲诲姩鎸夋湡寮�濮�',
+ timestamp: '2018-04-15'
+ }, {
+ content: '閫氳繃瀹℃牳',
+ timestamp: '2018-04-13'
+ }, {
+ content: '鍒涘缓鎴愬姛',
+ timestamp: '2018-04-11'
+ }],
+ tableData: [],
+ activeName: 'first',
+ currentPage: 1
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/insuranceApply',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ handleSizeChange(val) {
+ console.log(`姣忛〉 ${val} 鏉);
+ },
+ handleCurrentChange(val) {
+ console.log(`褰撳墠椤�: ${val}`);
+ },
+ handleClick(tab, event) {
+ console.log(tab, event);
+ },
+ onSubmit() {
+
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .box {
+ width: 100%;
+ .box_header {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ border-top: 1px solid #b4bbc5;
+ border-left: 1px solid #b4bbc5;
+ .box_header_item {
+ width: 50%;
+ height: 50px;
+ display: flex;
+ align-items: center;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ .box_header_item_label {
+ flex: 1;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ background: #f2f2f2;
+ border-right: 1px solid #b4bbc5;
+ }
+ .box_header_item_val {
+ flex: 1;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ }
+ }
+ }
+ .box_table {
+ width: 100%;
+ border-left: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ .box_table_head {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ .box_table_head_item {
+ flex: 1;
+ height: 50px;
+ background: #f2f2f2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(1) {
+ flex: 0.5;
+ }
+ }
+ }
+ .box_table_content {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ .box_table_content_item {
+ flex: 1;
+ height: 50px;
+ background: #ffffff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ border-right: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ box-sizing: border-box;
+ &:nth-child(1) {
+ flex: 0.5;
+ }
+ }
+ }
+ }
+ .box_footer {
+ width: 100%;
+ height: 50px;
+ border-left: 1px solid #b4bbc5;
+ border-bottom: 1px solid #b4bbc5;
+ border-right: 1px solid #b4bbc5;
+ display: flex;
+ align-items: center;
+ .box_footer_label {
+ width: 200px;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ color: black;
+ background: #f2f2f2;
+ }
+ .box_footer_val /deep/ {
+ width: calc(100% - 200px);
+ height: 100%;
+ input {
+ width: 100%;
+ height: 50px;
+ }
+ }
+ }
+ }
+</style>
diff --git a/company/src/components/common/Menu.vue b/company/src/components/common/Menu.vue
index ebf7d33..98280b5 100644
--- a/company/src/components/common/Menu.vue
+++ b/company/src/components/common/Menu.vue
@@ -5,13 +5,14 @@
<h1 :class="{ hidden: menuData.collapse }">浜戞槗淇�</h1>
</div>
<scrollbar>
+<!-- :default-openeds="defaultOpeneds"-->
<el-menu
ref="menu"
+ :unique-opened="true"
:default-active="activeIndex"
text-color="#fff"
active-text-color="#fff"
:collapse="menuData.collapse"
- :default-openeds="defaultOpeneds"
:collapse-transition="false"
@select="handleSelect"
>
diff --git a/company/src/views/business/dispatchUnitReview.vue b/company/src/views/business/dispatchUnitReview.vue
new file mode 100644
index 0000000..081779a
--- /dev/null
+++ b/company/src/views/business/dispatchUnitReview.vue
@@ -0,0 +1,104 @@
+<template>
+ <TableLayout :permissions="['business:dispatchunit:query']">
+ <!-- 鎼滅储琛ㄥ崟 -->
+ <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+ <el-form-item label="鎵�灞炰紒涓�" prop="companyId">
+ <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @change="search">
+ <el-option
+ v-for="item in options"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="娲鹃仯鍗曚綅" prop="name">
+ <el-select v-model="searchForm.name" placeholder="璇烽�夋嫨" @change="search">
+ <el-option
+ v-for="item in options"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <section>
+ <el-button type="primary" @click="search">鎼滅储</el-button>
+ <el-button @click="reset">閲嶇疆</el-button>
+ <el-button @click="$refs.dispatchUnitReviewDetails.open('娲鹃仯鍗曚綅璇︽儏')">璇︽儏</el-button>
+ </section>
+ </el-form>
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <el-table
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ stripe
+ >
+ <el-table-column label="搴忓彿" width="80px">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="companyId" label="鎵�灞炰紒涓�" min-width="100px"></el-table-column>
+ <el-table-column prop="name" label="娲鹃仯鍗曚綅" min-width="100px"></el-table-column>
+ <el-table-column label="娲鹃仯鍗曚綅鐘舵��" min-width="100px">
+ <template slot-scope="{row}">
+ <span v-if="row.unitStatus === 0">寰呭鏍�</span>
+ <span v-if="row.unitStatus === 1">瀹℃牳閫氳繃</span>
+ <span v-if="row.unitStatus === 2">瀹℃牳涓嶉�氳繃</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="createDate" label="鎻愪氦鏃ユ湡" min-width="100px"></el-table-column>
+ <el-table-column
+ v-if="containPermissions(['business:dispatchunit:update', 'business:dispatchunit:delete'])"
+ label="鎿嶄綔"
+ min-width="120"
+ fixed="right"
+ >
+ <template slot-scope="{row}">
+ <el-button type="text" @click="$refs.operaDispatchUnitWindow.open('缂栬緫娲鹃仯鍗曚綅淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:dispatchunit:update']">鏌ョ湅璇︽儏</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
+ >
+ </pagination>
+ </template>
+ <!-- 鏂板缓/淇敼 -->
+ <dispatchUnitReviewDetails ref="dispatchUnitReviewDetails" @success="handlePageChange"/>
+ </TableLayout>
+</template>
+
+<script>
+ import BaseTable from '@/components/base/BaseTable'
+ import TableLayout from '@/layouts/TableLayout'
+ import Pagination from '@/components/common/Pagination'
+ import dispatchUnitReviewDetails from '@/components/business/dispatchUnitReviewDetails'
+ export default {
+ name: 'dispatchUnitReview',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, dispatchUnitReviewDetails },
+ data () {
+ return {
+ // 鎼滅储
+ searchForm: {
+ name: '',
+ companyId: ''
+ }
+ }
+ },
+ created () {
+ this.config({
+ module: '娲鹃仯鍗曚綅淇℃伅琛�',
+ api: '/business/dispatchUnit',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.search()
+ }
+ }
+</script>
diff --git a/company/src/views/business/policyList.vue b/company/src/views/business/policyList.vue
new file mode 100644
index 0000000..625b55f
--- /dev/null
+++ b/company/src/views/business/policyList.vue
@@ -0,0 +1,122 @@
+<template>
+ <TableLayout :permissions="['business:insuranceapply:query']">
+ <!-- 鎼滅储琛ㄥ崟 -->
+ <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+ <el-form-item label="淇濆崟鍙�" prop="status">
+ <el-input v-model="searchForm.status" placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ <el-form-item label="淇濋櫓鏂规" prop="solutionId">
+ <el-select v-model="searchForm.solutionId" placeholder="璇烽�夋嫨" @change="search">
+ <el-option
+ v-for="item in options"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鐘舵��" prop="status">
+ <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
+ <el-option label="淇濋殰涓�" value="5"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎶曚繚浼佷笟" prop="companyId">
+ <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @change="search">
+ <el-option
+ v-for="item in options"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <section>
+ <el-button type="primary" @click="search">鎼滅储</el-button>
+ <el-button @click="reset">閲嶇疆</el-button>
+ <el-button @click="$refs.OperaPolicyListWindow.open('鎶曚繚璇︽儏')">鎶曚繚璇︽儏</el-button>
+ </section>
+ </el-form>
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <el-table
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ stripe
+ >
+ <el-table-column label="搴忓彿" width="80px">
+ <template slot-scope="scope">
+ <span>{{scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="status" label="鎶曚繚鐘舵��" min-width="100px">
+ <template slot-scope="{row}">
+ <span v-if="row.status === 0">寰呭鏍�</span>
+ <span v-if="row.status === 3">寰呭嚭鍗�</span>
+ <span v-if="row.status === 5">淇濋殰涓�</span>
+ <span v-if="row.status === 8">宸茶繃鏈�</span>
+ <span v-if="row.status === 7">宸查��鍥�</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="companyId" label="鎶曚繚浼佷笟" min-width="100px"></el-table-column>
+ <el-table-column prop="solutionId" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
+ <el-table-column prop="solutionId" label="淇濆崟鍙�" min-width="100px"></el-table-column>
+ <el-table-column prop="createDate" label="鎶曚繚浜烘暟" min-width="100px"></el-table-column>
+ <el-table-column prop="createDate" label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�" min-width="100px"></el-table-column>
+ <el-table-column prop="createDate" label="浜х敓璐圭敤锛堝厓锛�" min-width="100px"></el-table-column>
+ <el-table-column prop="createDate" label="鎬昏垂鐢紙鍏冿級" min-width="100px"></el-table-column>
+ <el-table-column prop="createDate" label="淇濋櫓鐢熸晥璧锋湡" min-width="100px"></el-table-column>
+ <el-table-column prop="createDate" label="淇濋櫓鐢熸晥姝㈡湡" min-width="100px"></el-table-column>
+ <el-table-column
+ v-if="containPermissions(['business:insuranceapply:update', 'business:insuranceapply:delete'])"
+ label="鎿嶄綔"
+ min-width="120"
+ fixed="right"
+ >
+ <template slot-scope="{row}">
+ <el-button type="text" @click="$refs.operaInsuranceApplyWindow.open('缂栬緫鎶曚繚鐢宠淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
+ >
+ </pagination>
+ </template>
+ <!-- 鏂板缓/淇敼 -->
+ <OperaPolicyListWindow ref="OperaPolicyListWindow" @success="handlePageChange"/>
+ </TableLayout>
+</template>
+
+<script>
+ import BaseTable from '@/components/base/BaseTable'
+ import TableLayout from '@/layouts/TableLayout'
+ import Pagination from '@/components/common/Pagination'
+ import OperaPolicyListWindow from '@/components/business/OperaPolicyListWindow'
+ export default {
+ name: 'policyList',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, OperaPolicyListWindow },
+ data () {
+ return {
+ // 鎼滅储
+ searchForm: {
+ createDate: '',
+ solutionId: '',
+ companyId: '',
+ status: ''
+ }
+ }
+ },
+ created () {
+ this.config({
+ module: '鎶曚繚鐢宠淇℃伅琛�',
+ api: '/business/insuranceApply',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.search()
+ }
+ }
+</script>
--
Gitblit v1.9.3