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/contract.vue |   61 ++++++++++++++++++++----------
 1 files changed, 41 insertions(+), 20 deletions(-)

diff --git a/company/src/views/business/contract.vue b/company/src/views/business/contract.vue
index 9cd8362..84b03d5 100644
--- a/company/src/views/business/contract.vue
+++ b/company/src/views/business/contract.vue
@@ -12,12 +12,12 @@
                     <el-option label="鍟嗘埛-浼佷笟" :value="2"></el-option>
                 </el-select>
             </el-form-item>
-            <el-form-item label="鐘舵��" prop="status">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search">
-                    <el-option label="寰呯绔�" :value="0"></el-option>
-                    <el-option label="鎴戞柟宸茬绔�" :value="1"></el-option>
-                    <el-option label="浼佷笟鍟嗘埛宸茬绔�" :value="2"></el-option>
-                    <el-option label="瀹屾垚" :value="3"></el-option>
+            <el-form-item label="鐘舵��" prop="queryStatus">
+                <el-select v-model="searchForm.queryStatus" placeholder="璇烽�夋嫨" @change="search">
+                    <el-option label="寰呭钩鍙扮缃�" :value="0"></el-option>
+                    <el-option label="寰呭晢鎴风缃�" :value="1"></el-option>
+                    <el-option label="寰呬紒涓氱缃�" :value="2"></el-option>
+                    <el-option label="宸插畬鎴�" :value="3"></el-option>
                     <el-option label="宸插彇娑�" :value="4"></el-option>
                     <el-option label="宸插叧闂�" :value="5"></el-option>
                 </el-select>
@@ -29,8 +29,8 @@
         </el-form>
         <!-- 琛ㄦ牸鍜屽垎椤� -->
         <template v-slot:table-wrap>
-            <ul class="toolbar" v-permissions="['business:contract:create']">
-                <li><el-button type="primary" @click="$refs.operaContractWindow.open('鏂板缓鍚堝悓淇℃伅琛�')" icon="el-icon-plus" v-permissions="['business:contract:create']">鏂板缓</el-button></li>
+            <ul class="toolbar" v-permissions="['business:contract:create']" v-if="[0,2].includes(userInfo.type)">
+                <li><el-button type="primary" @click="$refs.operaContractWindow.open('鏂板缓鍚堝悓淇℃伅琛�', null, userInfo.type)" icon="el-icon-plus" v-permissions="['business:contract:create']">鏂板缓</el-button></li>
             </ul>
             <el-table
                 v-loading="isWorking.search"
@@ -50,7 +50,11 @@
                         <template v-else-if="row.signType === 2">鍟嗘埛-浼佷笟</template>
                     </template>
                 </el-table-column>
-                <el-table-column prop="companyName" label="瀵规柟鍚嶇О" min-width="100px"></el-table-column>
+                <el-table-column prop="companyName" label="鐢蹭箼鏂瑰悕绉�" min-width="100px">
+                    <template slot-scope="{row}">
+                        {{ row.partyCompanyName }} / {{ row.companyName }}
+                    </template>
+                </el-table-column>
                 <el-table-column label="鍚堝悓寮�濮嬫椂闂�" min-width="100px">
                     <template slot-scope="{row}">
                         {{ row.startTime }} - {{ row.endTime }}
@@ -58,23 +62,36 @@
                 </el-table-column>
                 <el-table-column label="鐘舵��" min-width="100px">
                     <template slot-scope="{row}">
-                        <template v-if="row.status === 0">寰呯绔�</template>
-                        <template v-else-if="row.status === 1">鎴戞柟宸茬绔�</template>
-                        <template v-else-if="row.status === 2">浼佷笟鍟嗘埛宸茬绔�</template>
-                        <template v-else-if="row.status === 3">瀹屾垚</template>
-                        <template v-else-if="row.status === 4">宸插彇娑�</template>
-                        <template v-else-if="row.status === 5">宸插叧闂�</template>
+                        <template v-if="row.queryStatus === 0">寰呭钩鍙扮缃�</template>
+                        <template v-else-if="row.queryStatus === 1">寰呭晢鎴风缃�</template>
+                        <template v-else-if="row.queryStatus === 2">寰呬紒涓氱缃�</template>
+                        <template v-else-if="row.queryStatus === 3">宸插畬鎴�</template>
+                        <template v-else-if="row.queryStatus === 4">宸插彇娑�</template>
+                        <template v-else-if="row.queryStatus === 5">宸插叧闂�</template>
                     </template>
                 </el-table-column>
                 <el-table-column
-                    v-if="containPermissions(['business:contract:update', 'business:contract:delete'])"
                     label="鎿嶄綔"
-                    min-width="220"
+                    min-width="150"
                     fixed="right"
                 >
                     <template slot-scope="{row}">
                         <el-button type="text" @click="$refs.operaContractDescWindow.open('鍚堝悓璇︽儏', row.id)" icon="el-icon-view">鏌ョ湅璇︽儏</el-button>
-                        <el-button type="text" @click="sign(row)" icon="el-icon-document-checked" v-if="row.status !== 1 && row.status !== 4 && row.status !== 3">绛剧讲</el-button>
+                        <template v-if="userInfo.type === 0">
+                            <template v-if="(row.signType === 0 && row.status === 0) || (row.signType === 1 && row.status === 0)">
+                                <el-button type="text" @click="sign(row)" icon="el-icon-document-checked">绛剧讲</el-button>
+                            </template>
+                        </template>
+                        <template v-if="userInfo.type === 1">
+                            <template v-if="(row.signType === 1 && row.status === 1) || (row.signType === 2 && row.status === 1)">
+                                <el-button type="text" @click="sign(row)" icon="el-icon-document-checked">绛剧讲</el-button>
+                            </template>
+                        </template>
+                        <template v-if="userInfo.type === 2">
+                            <template v-if="(row.signType === 0 && row.status === 1) || (row.signType === 2 && row.status === 0)">
+                                <el-button type="text" @click="sign(row)" icon="el-icon-document-checked">绛剧讲</el-button>
+                            </template>
+                        </template>
                         <el-button type="text" icon="el-icon-document-remove" v-if="row.status === 0" @click="cancelHT(row.id)">鍙栨秷</el-button>
                         <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:contract:delete']" v-if="row.status === 4">鍒犻櫎</el-button>
                     </template>
@@ -101,17 +118,21 @@
   import OperaContractWindow from '@/components/business/OperaContractWindow'
   import OperaContractDescWindow from '@/components/business/OperaContractDescWindow'
   import { cancel, getSignLink } from '@/api/business/contract'
+  import { mapState } from 'vuex'
   export default {
     name: 'Contract',
     extends: BaseTable,
     components: { TableLayout, Pagination, OperaContractWindow, OperaContractDescWindow },
+    computed: {
+      ...mapState(['userInfo'])
+    },
     data () {
       return {
         // 鎼滅储
         searchForm: {
           name: '',
           signType: '',
-          status: ''
+          queryStatus: ''
         }
       }
     },
@@ -139,7 +160,7 @@
           cancelButtonText: '鍙栨秷',
           type: 'warning'
         }).then(() => {
-          cancel({ id }).then(res => {
+          cancel(id).then(res => {
             this.search()
           })
         }).catch(() => {

--
Gitblit v1.9.3