From 3a45da15c947c2d478a44a51bd0f926647b1b841 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 11 四月 2025 16:33:17 +0800
Subject: [PATCH] 提交

---
 company/src/components/business/OperaCompanyWindow.vue |  130 +++++++++++++++++++++++++++++++------------
 1 files changed, 93 insertions(+), 37 deletions(-)

diff --git a/company/src/components/business/OperaCompanyWindow.vue b/company/src/components/business/OperaCompanyWindow.vue
index 6bf7e17..d01fc90 100644
--- a/company/src/components/business/OperaCompanyWindow.vue
+++ b/company/src/components/business/OperaCompanyWindow.vue
@@ -16,17 +16,17 @@
             <el-form-item label="娉曚汉濮撳悕" prop="legalName">
                 <el-input v-model="form.legalName" placeholder="璇疯緭鍏�" v-trim/>
             </el-form-item>
-            <el-form-item label="缁戝畾鎵嬫満鍙�" prop="phone" v-if="form.type !== 1">
+            <el-form-item label="缁戝畾鎵嬫満鍙�" prop="phone" v-if="!form.id">
                 <div style="width: 100%; display: flex; align-items: center;">
                     <el-input v-model="form.phone" maxlength="11" type="number" style="flex: 1;" placeholder="璇疯緭鍏�" v-trim/>
                     <el-button type="primary" style="flex-shrink: 0; margin-left: 15px;" @click="send" v-if="num === 0">鍙戦�侀獙璇佺爜</el-button>
                     <el-button type="primary" style="flex-shrink: 0; margin-left: 15px;" v-else>{{num}}s</el-button>
                 </div>
             </el-form-item>
-            <el-form-item label="楠岃瘉鐮�" prop="captche" v-if="form.type !== 1">
+            <el-form-item label="楠岃瘉鐮�" prop="captche" v-if="!form.id">
                 <el-input v-model="form.captche" placeholder="璇疯緭鍏�" v-trim/>
             </el-form-item>
-            <el-form-item label="鍏徃璐﹀彿" prop="username" v-if="form.type !== 1">
+            <el-form-item label="鍏徃璐﹀彿" prop="username" v-if="!form.id">
                 <el-input v-model="form.username" placeholder="璇疯緭鍏�" v-trim/>
             </el-form-item>
             <el-form-item label="璁よ瘉閭" prop="email" >
@@ -51,22 +51,26 @@
                 <el-input v-model="form.invoiceAddr" placeholder="璇疯緭鍏�" v-trim/>
             </el-form-item>
             <el-form-item label="钀ヤ笟鎵х収" prop="businessImg">
-                <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file" @uploadSuccess="result" />
+                <div style="width: 100%; height: 100px; display: flex; align-items: center;">
+                    <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file" @uploadSuccess="result" />
+                </div>
             </el-form-item>
-            <el-form-item label="娉曚汉韬唤璇�" prop="idcardImgList">
+            <el-form-item label="娉曚汉韬唤璇�" prop="idcardImgList"  style="height: 120px">
                 <div style="width: 100%; display: flex; align-items: center;">
                     <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file1" @uploadSuccess="result1" />
                     <div style="width: 15px;height: 100%;"></div>
                     <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file2" @uploadSuccess="result2" />
                 </div>
             </el-form-item>
-            <el-form-item label="鐢靛瓙绛剧珷" prop="signImg">
-                <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file3" @uploadSuccess="result3" />
-            </el-form-item>
+<!--            <el-form-item label="鐢靛瓙绛剧珷" prop="signImg">-->
+<!--                <div style="width: 100%; height: 100px; display: flex; align-items: center;">-->
+<!--                    <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file3" @uploadSuccess="result3" />-->
+<!--                </div>-->
+<!--            </el-form-item>-->
         </el-form>
-        <el-button type="primary" style="margin-bottom: 15px;" @click="add" v-if="form.type !== 1">娣诲姞</el-button>
+        <el-button type="primary" style="margin-bottom: 15px;" @click="add" v-if="!form.id">娣诲姞</el-button>
         <el-table
-            v-if="form.type !== 1"
+            v-if="!form.id"
             :data="form.solutionList"
             border
             style="width: 100%">
@@ -81,23 +85,37 @@
             <el-table-column
                 align="center"
                 label="淇濋櫓鏂规">
-                <template slot-scope="{row}">
-                    <el-select v-model="row.solutionBaseId" placeholder="璇烽�夋嫨">
-                        <el-option
-                            v-for="item in programme"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id">
-                        </el-option>
-                    </el-select>
+                <template slot-scope="scope">
+                  <el-select v-model="scope.row.solution.id" @change="changeSolution($event, scope.$index)" placeholder="璇烽�夋嫨">
+                    <el-option
+                        v-for="item in programme"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.id">
+                    </el-option>
+                  </el-select>
+                </template>
+            </el-table-column>
+            <el-table-column
+                align="center"
+                label="濮旀墭鍟嗘埛">
+                <template slot-scope="scope">
+                  <el-select  v-model="scope.row.shopId"  :disabled="scope.row.solution.type ==1" clearable value-key="id" placeholder="璇烽�夋嫨" >
+                    <el-option
+                        v-for="item in shops"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.id">
+                    </el-option>
+                  </el-select>
                 </template>
             </el-table-column>
             <el-table-column
                 align="center"
                 label="鍔犲噺淇濆姛鑳�">
                 <template slot-scope="{row}">
-                    <el-checkbox :true-label="1" :false-label="0" v-model="row.canAdd">鍔犱繚</el-checkbox>
-                    <el-checkbox :true-label="1" :false-label="0" v-model="row.canReduce">鍑忎繚</el-checkbox>
+                    <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canAdd">鍔犱繚</el-checkbox>
+                    <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canReduce">鍑忎繚</el-checkbox>
                 </template>
             </el-table-column>
             <el-table-column
@@ -118,14 +136,22 @@
 import UploadAvatarImage from '@/components/common/UploadAvatarImage'
 import { all } from '@/api/business/solutions'
 import { sendSms } from '@/api/business/smsEmail'
+import { pageAll as shopList } from '@/api/business/company'
 export default {
   name: 'OperaCompanyWindow',
   extends: BaseOpera,
   components: { GlobalWindow, UploadAvatarImage },
   data () {
+      var idcardImgList = (rule, value, callback) => {
+          if (value.length === 0) {
+              callback(new Error('璇蜂笂浼犳硶浜鸿韩浠借瘉'));
+          } else {
+              callback();
+          }
+      };
     return {
       // 琛ㄥ崟鏁版嵁
-      form: {
+      initParam:{
         id: null,
         name: '',
         code: '',
@@ -151,12 +177,14 @@
         },
         solutionList: [
           {
-            solutionBaseId: '',
-            canAdd: 0,
-            canReduce: 0
+            solution: { id: null, baseId: null,type:0 },
+            canAdd: 1,
+            shopId:null,
+            canReduce: 1
           }
         ],
-        type: '',
+        type: '0',
+        actionType: '0',
         file: {
           imgurl: '',
           imgurlfull: ''
@@ -172,8 +200,9 @@
         file3: {
           imgurl: '',
           imgurlfull: ''
-        }
+        },
       },
+      form: {},
       timer: null,
       num: 0,
       // 楠岃瘉瑙勫垯
@@ -193,9 +222,9 @@
         phone: [
           { required: true, message: '璇疯緭鍏ユ墜鏈哄彿' }
         ],
-        taxAccount: [
-          { required: true, message: '璇疯緭鍏ユ墜鏈哄彿' }
-        ],
+        // taxAccount: [
+        //   { required: true, message: '璇疯緭鍏ラ摱琛屽崱' }
+        // ],
         email: [
           { required: true, message: '璇疯緭鍏ヨ璇侀偖绠�' }
         ],
@@ -203,7 +232,7 @@
           { required: true, message: '璇蜂笂浼犺惀涓氭墽鐓�' }
         ],
         idcardImgList: [
-          { required: true, message: '璇蜂笂浼犳硶浜鸿韩浠借瘉' }
+          { required: true, validator: idcardImgList }
         ],
         signImg: [
           { required: true, message: '璇蜂笂浼犵數瀛愮绔�' }
@@ -212,8 +241,8 @@
           { required: true, message: '璇疯緭鍏ュ叕鍙歌处鍙�' }
         ]
       },
-
-      programme: []
+      programme: [],
+      shops:[]
     }
   },
   created () {
@@ -233,6 +262,22 @@
     }
   },
   methods: {
+    changeSolution(e,index){
+      let baseId = ''
+      this.programme.forEach(item => {
+        if (item.id === e) {
+          baseId = item.baseId
+          this.form.solutionList[index].solution.type = item.type
+          if(item.type == 1){
+            this.form.solutionList[index].shopId =item.shopId
+          }
+        }
+      })
+
+      this.form.solutionList[index].solution.baseId = baseId
+
+     // this.form.solutionList[index].solution=row
+    },
     send () {
       if (!this.form.phone) {
         this.$message.warning('璇疯緭鍏ユ墜鏈哄彿')
@@ -253,9 +298,10 @@
         }
       }, 1000)
     },
-    open (title, target) {
+    open (title, target,type) {
       this.title = title
       this.visible = true
+      this.form = this.initParam
       this.getAll()
       // 鏂板缓
       if (target == null) {
@@ -269,6 +315,7 @@
       this.$nextTick(() => {
         for (const key in this.form) {
           this.form[key] = target[key]
+          this.form.username=null
         }
       })
     },
@@ -278,6 +325,11 @@
         .then(res => {
           this.programme = res
         })
+      shopList({ type: 1, status: 0 })
+          .then(res => {
+            console.log(res)
+            this.shops = res
+          })
     },
     dele (index) {
       if (this.form.solutionList.length === 1) {
@@ -288,9 +340,11 @@
     },
     add () {
       this.form.solutionList.push({
-        solutionName: '',
-        canAdd: '',
-        canReduce: ''
+        solutionId: null,
+        solution: {},
+        shopId: null,
+        canAdd: 1,
+        canReduce: 1
       })
     },
     handleRemove (file, fileList) {
@@ -312,6 +366,7 @@
         name: ''
       }
       this.form.idcardImgList[0] = { fileurl: data.imgurl, name: data.name }
+        this.$forceUpdate()
     },
     // 韬唤璇佺収鐗�2
     result2 (data) {
@@ -320,6 +375,7 @@
         name: ''
       }
       this.form.idcardImgList[1] = { fileurl: data.imgurl, name: data.name }
+        this.$forceUpdate()
     },
     // 鐢靛瓙绛剧珷
     result3 (data) {

--
Gitblit v1.9.3