From 50fb58286ed3b718c39a97e0987ee7561a295651 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 04 七月 2025 17:56:41 +0800
Subject: [PATCH] git ch

---
 company/src/views/business/solutions.vue |  181 +++++++++++++++++++++++++++------------------
 1 files changed, 109 insertions(+), 72 deletions(-)

diff --git a/company/src/views/business/solutions.vue b/company/src/views/business/solutions.vue
index 03873fc..fce885a 100644
--- a/company/src/views/business/solutions.vue
+++ b/company/src/views/business/solutions.vue
@@ -5,10 +5,10 @@
             <el-form-item label="淇濋櫓鏂规" prop="name">
                 <el-input v-model="searchForm.name" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
             </el-form-item>
-            <el-form-item label="鍚敤鐘舵��" prop="status" v-if="userInfo.type !== 1">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
-                    <el-option label="鍚敤" value="0"></el-option>
-                    <el-option label="绂佺敤" value="1"></el-option>
+            <el-form-item label="绛剧讲鐘舵��" prop="signStatus">
+                <el-select v-model="searchForm.signStatus" placeholder="璇烽�夋嫨">
+                    <el-option label="寰呯缃�" :value="0"></el-option>
+                    <el-option label="宸茬缃�" :value="1"></el-option>
                 </el-select>
             </el-form-item>
             <section>
@@ -20,7 +20,7 @@
         <template v-slot:table-wrap>
             <ul class="toolbar" v-permissions="['business:solutions:create']">
                 <template v-if="userInfo.type !== 1">
-                    <li><el-button type="primary" @click="$refs.operaSolutionsWindow.open('鏂板缓淇濋櫓鏂规')" v-permissions="['business:solutions:create']">娣诲姞鏂规</el-button></li>
+                    <li><el-button type="primary" @click="$refs.operaSolutionsWindow.open('鏂板瀛愭柟妗�')" v-permissions="['business:solutions:create']">娣诲姞鏂规</el-button></li>
                 </template>
             </ul>
             <el-table
@@ -28,33 +28,38 @@
                 :data="tableData.list"
                 stripe
             >
-                <el-table-column label="搴忓彿" width="80px">
+                <el-table-column label="搴忓彿" width="50px">
                     <template slot-scope="scope">
                         <span>{{scope.$index + 1}}</span>
                     </template>
                 </el-table-column>
-                <el-table-column prop="name" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
-                <el-table-column prop="insuranceName" label="淇濋櫓鍏徃" min-width="100px"></el-table-column>
-                <el-table-column label="鎶曚繚骞撮緞" min-width="100px">
+                <el-table-column prop="name" label="瀛愭柟妗堝悕绉�" min-width="150px" v-if="userInfo.type === 0"></el-table-column>
+                <el-table-column prop="name" label="鏂规鍚嶇О" min-width="150px" v-if="userInfo.type === 1"></el-table-column>
+                <el-table-column prop="solutionBaseName" label="涓绘柟妗�" min-width="100px" v-if="userInfo.type === 0"></el-table-column>
+                <el-table-column label="鎶曚繚绫诲瀷" min-width="120px" align="center">
                     <template slot-scope="{row}">
-                        <span>{{row.minAge}}鑷硔{row.maxAge}}宀�</span>
+                        <span v-if="row.type === 0">鐩翠繚<div style="color: blue;display:  block" >{{ row.shopName || '-' }}</div></span>
+                        <span v-if="row.type === 1">濮旀墭<div style="color: blue;display:  block" >{{ row.shopName || '-' }}</div></span>
                     </template>
                 </el-table-column>
-                <el-table-column label="鎶曚繚鐢熸晥鏃ユ湡" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.validType === 0">{{row.validTypeNum}}鏃ュ悗鐢熸晥</span>
-                        <span v-if="row.validType === 1">娆℃湀鐢熸晥</span>
-                    </template>
-                </el-table-column>
-                <el-table-column label="淇濋櫓璐圭敤" min-width="100px">
+                <el-table-column label="鏂规璐圭敤" min-width="100px">
                     <template slot-scope="{row}">
                         <span>{{row.price}}鍏�/浜�/</span>
                         <span v-if="row.timeUnit === 0">澶�</span>
-                        <span v-if="row.timeUnit === 1">鍗婃湀</span>
+                        <!--                        <span v-if="row.timeUnit === 1">鍗婃湀</span>-->
                         <span v-if="row.timeUnit === 2">鏈�</span>
-                        <span v-if="row.timeUnit === 3">骞�</span>
+                        <span v-if="row.timeUnit === 3">瀛e害</span>
+                        <span v-if="row.timeUnit === 4">鍗婂勾</span>
+                        <span v-if="row.timeUnit === 5">骞�</span>
                     </template>
                 </el-table-column>
+                <el-table-column prop="retrial" label="闇�瑕佸瀹�" v-if="userInfo.type === 0">
+                    <template slot-scope="{row}">
+                        <span v-if="row.retrial === 0">涓嶉渶瑕�</span>
+                        <span v-if="row.retrial === 1">闇�瑕�</span>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="createDate" label="鏂规鍒涘缓鏃ユ湡" min-width="100px"></el-table-column>
                 <el-table-column prop="status" label="鍚敤鐘舵��" min-width="100px" v-if="userInfo.type !== 1">
                     <template slot-scope="{row}">
                         <el-switch
@@ -67,18 +72,35 @@
                         </el-switch>
                     </template>
                 </el-table-column>
-                <el-table-column prop="createDate" label="鏂规鏃ユ湡" min-width="100px"></el-table-column>
+
+                <el-table-column prop="signDate" label="绛剧讲鏃堕棿" min-width="100px" v-if="userInfo.type === 1"></el-table-column>
+                <el-table-column prop="signUserName" label="绛剧讲浜�" min-width="100px" v-if="userInfo.type === 1"></el-table-column>
+                <el-table-column label="绛剧讲鐘舵��" min-width="100px" v-if="userInfo.type === 1">
+                    <template slot-scope="{row}">
+                        <span v-if="row.signStatus === 0">寰呯绔�</span>
+                        <span v-else-if="!row.signStatus">寰呯绔�</span>
+                        <span v-else-if="row.signStatus === 1">宸茬绔�</span>
+                    </template>
+                </el-table-column>
+
                 <el-table-column
                     v-if="containPermissions(['business:solutions:update', 'business:solutions:delete'])"
                     label="鎿嶄綔"
-                    min-width="120"
+                    min-width="230"
                     fixed="right"
                 >
                     <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.OperaSolutionsDescWindow.open('鏂规璇︽儏', { id: row.id })" icon="el-icon-edit" v-permissions="['business:solutions:update']">鏌ョ湅璇︽儏</el-button>
+                        <el-button type="text" @click="$refs.OperaSolutionsDescWindow.open(userInfo.type !== 1?'瀛愭柟妗堣鎯�':'鏂规璇︽儏 ', { id: row.id })" icon="el-icon-edit" v-permissions="['business:solutions:update']">鏌ョ湅璇︽儏</el-button>
                         <template v-if="userInfo.type !== 1">
-                            <el-button type="text" @click="$refs.operaSolutionsWindow.open('缂栬緫淇濋櫓鏂规', { id: row.id })" icon="el-icon-edit" v-permissions="['business:solutions:update']">淇敼</el-button>
+                            <el-button type="text" @click="$refs.operaSolutionsWindow.open('缂栬緫瀛愭柟妗�', { id: row.id })" icon="el-icon-edit" v-permissions="['business:solutions:update']">淇敼</el-button>
                         </template>
+                        <template v-if="userInfo.type === 1 && (!row.signStatus || row.signStatus === 0)">
+                            <el-button type="text" icon="el-icon-tickets" @click="sign(row.companySolutionId)">绛剧讲</el-button>
+                        </template>
+                        <template v-if="userInfo.type === 1 && row.signStatus === 1">
+                            <el-button type="text" icon="el-icon-tickets" @click="seeFleSignUrl(row.fileSignUrl)">鏌ョ湅鏂规纭涔�</el-button>
+                        </template>
+                        <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:solutions:delete']">鍒犻櫎</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -93,58 +115,73 @@
         <OperaSolutionsWindow ref="operaSolutionsWindow" @success="handlePageChange"/>
         <!-- 璇︽儏 -->
         <OperaSolutionsDescWindow ref="OperaSolutionsDescWindow" @success="handlePageChange"/>
+        <!-- 棰勮pdf -->
+        <OperaPdfViewerWindow ref="OperaPdfViewerWindow"  />
     </TableLayout>
 </template>
-
 <script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import OperaSolutionsWindow from '@/components/business/OperaSolutionsWindow'
-    import OperaSolutionsDescWindow from '@/components/business/OperaSolutionsDescWindow'
-    import { updateStatus } from '@/api/business/solutions'
-    import { mapState } from 'vuex'
-    export default {
-        name: 'Solutions',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, OperaSolutionsWindow, OperaSolutionsDescWindow },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    name: '',
-                    status: ''
-                }
-            }
-        },
-        computed: {
-            ...mapState(['userInfo'])
-        },
-        created () {
-            this.config({
-                module: '淇濋櫓鏂规淇℃伅琛�',
-                api: '/business/solutions',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            if (this.userInfo.type === 1) {
-                this.searchForm.status = '0'
-            } else {
-                this.searchForm.status = ''
-            }
-            this.search()
-        },
-        methods: {
-            // 淇敼鐘舵��
-            changeStatus(status, row) {
-                updateStatus({ id: row.id, status })
-                    .then(res => {
-                        this.search()
-                    })
-                    .catch(err => {
-                        row.status = row.status === 0 ? 1 : 0
-                    })
-            }
+  import BaseTable from '@/components/base/BaseTable'
+  import TableLayout from '@/layouts/TableLayout'
+  import Pagination from '@/components/common/Pagination'
+  import OperaSolutionsWindow from '@/components/business/OperaSolutionsWindow'
+  import OperaSolutionsDescWindow from '@/components/business/OperaSolutionsDescWindow'
+  import OperaPdfViewerWindow from '@/components/business/OperaPdfViewerWindow'
+  import { updateStatus } from '@/api/business/solutions'
+  import { getSignLink } from '@/api/business/company'
+  import { mapState } from 'vuex'
+  export default {
+    name: 'Solutions',
+    extends: BaseTable,
+    components: { TableLayout, Pagination, OperaSolutionsWindow, OperaSolutionsDescWindow, OperaPdfViewerWindow },
+    data () {
+      return {
+        // 鎼滅储
+        searchForm: {
+          name: '',
+          status: '',
+          type: '',
+          signStatus: '',
+          dataType: 0
         }
+      }
+    },
+    computed: {
+      ...mapState(['userInfo'])
+    },
+    created () {
+      this.config({
+        module: '淇濋櫓鏂规淇℃伅琛�',
+        api: '/business/solutions',
+        'field.id': 'id',
+        'field.main': 'id'
+      })
+      if (this.userInfo.type === 1) {
+        this.searchForm.status = '0'
+      } else {
+        this.searchForm.status = ''
+      }
+      this.search()
+    },
+    methods: {
+      seeFleSignUrl(url) {
+        this.$refs.OperaPdfViewerWindow.open('鏂规纭涔�', url)
+      },
+      sign(id) {
+        getSignLink(id)
+          .then(res => {
+            window.open(res)
+          })
+      },
+      // 淇敼鐘舵��
+      changeStatus (status, row) {
+        updateStatus({ id: row.id, status })
+          .then(res => {
+            this.search()
+          })
+          .catch(err => {
+            row.status = row.status === 0 ? 1 : 0
+          })
+      }
     }
+  }
 </script>

--
Gitblit v1.9.3