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/modification.vue |  240 +++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 140 insertions(+), 100 deletions(-)

diff --git a/company/src/components/business/modification.vue b/company/src/components/business/modification.vue
index ad5bf0a..53e9d17 100644
--- a/company/src/components/business/modification.vue
+++ b/company/src/components/business/modification.vue
@@ -7,7 +7,7 @@
         @confirm="confirm"
     >
         <el-button type="primary" style="margin-bottom: 15px;" @click="add">娣诲姞</el-button>
-        <el-table
+        <el-table v-if="form.solutionList && form.solutionList.length>0"
             :data="form.solutionList"
             border
             style="width: 100%">
@@ -22,23 +22,38 @@
             <el-table-column
                 align="center"
                 label="淇濋櫓鏂规">
-                <template slot-scope="{row}">
-                    <el-select v-model="row.solution" placeholder="璇烽�夋嫨">
+                <template slot-scope="scope">
+<!--                    :value="{ id:item.id, baseId: item.baseId }"-->
+                    <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="{id:item.id,baseId:item.baseId}">
+                            :value="item.id">
                         </el-option>
                     </el-select>
                 </template>
             </el-table-column>
+          <el-table-column
+              align="center"
+              label="濮旀墭鍟嗘埛">
+            <template slot-scope="scope">
+              <el-select :ref="'shopSelect'+scope.$index" :disabled="scope.row.solution.type ==1" v-model="scope.row.shopId" 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
@@ -54,100 +69,125 @@
 </template>
 
 <script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import { all } from '@/api/business/solutions'
-    import { listForCompany } from '@/api/business/solutions'
-    import { updateSolutions } from '@/api/business/company'
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { all, listForCompany } from '@/api/business/solutions'
 
-    export default {
-        name: 'modification',
-        extends: BaseOpera,
-        components: { GlobalWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    solutionList: [
-                        {
-                            solution: {id: null, baseId: null },
-                            canAdd: 0,
-                            canReduce: 0
-                        }
-                    ]
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                    solutionList: [
-                        { required: true, message: '璇疯緭鍏ュ叕鍙歌处鍙�' }
-                    ]
-                },
-                programme: []
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/company',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            confirm() {
-                this.isWorking = true
-                updateSolutions(this.form)
-                    .then(res => {
-                        this.visible = false
-                        this.$tip.apiSuccess('鏂板缓鎴愬姛')
-                        this.$emit('success')
-                    })
-                    .catch(e => {
-                        this.$tip.apiFailed(e)
-                    })
-                    .finally(() => {
-                        this.isWorking = false
-                    })
-            },
-            // 鑾峰彇鍏ㄩ儴鏂规
-            getAll() {
-                all({ dataType: 0 })
-                    .then(res => {
-                        this.programme = res
-                    })
-            },
-            open (title, target) {
-                var that = this;
-                this.title = title
-                for (const key in this.form) {
-                    this.form[key] = target[key]
-                }
-                this.getAll()
-                listForCompany({ companyId: target.id })
-                    .then(resa => {
-                        that.form.solutionList = resa.map(item => {
-                            return {
-                                solution: {id: item.baseSolutionId, baseId: item.solutionId },
-                                canAdd: item.canAdd,
-                                canReduce: item.canReduce
-                            }
-                        })
-                        that.visible = true
-                    })
-            },
-            add() {
-                this.form.solutionList.push({
-                    solution: {id: null, baseId: null },
-                    canAdd: '',
-                    canReduce: ''
-                })
-            },
-            dele(index) {
-                if (this.form.solutionList.length === 1) {
-                    this.$message.warning('鑷冲皯淇濈暀涓�椤�')
-                    return
-                }
-                this.form.solutionList.splice(index, 1)
-            }
-        }
+import {updateSolutions, pageAll as shopList, allForFp} from '@/api/business/company'
+
+export default {
+  name: 'modification',
+  extends: BaseOpera,
+  components: { GlobalWindow },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      form: {
+        id: null,
+        solutionList: [
+          {
+            solution: { id: null, baseId: null,type:0 },
+            canAdd: 0,
+            shopId:null,
+            canReduce: 0
+          }
+        ]
+      },
+      // 楠岃瘉瑙勫垯
+      rules: {
+        solutionList: [
+          { required: true, message: '璇疯緭鍏ュ叕鍙歌处鍙�' }
+        ]
+      },
+      programme: [],
+      shops: []
     }
+  },
+  created () {
+    this.config({
+      api: '/business/company',
+      'field.id': 'id'
+    })
+  },
+  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
+    },
+    confirm () {
+      this.isWorking = true
+      updateSolutions(this.form)
+        .then(res => {
+          this.visible = false
+          this.$tip.apiSuccess('鏂板缓鎴愬姛')
+          this.$emit('success')
+        })
+        .catch(e => {
+          this.$tip.apiFailed(e)
+        })
+        .finally(() => {
+          this.isWorking = false
+        })
+    },
+    // 鑾峰彇鍏ㄩ儴鏂规
+    getAll () {
+      all({ dataType: 2 })
+        .then(res => {
+          this.programme = res
+        })
+      allForFp({ type: 1, status: 0 })
+        .then(res => {
+          console.log(res)
+          this.shops = res
+        })
+    },
+    open (title, target) {
+      var that = this
+      this.title = title
+      for (const key in this.form) {
+        this.form[key] = target[key]
+      }
+      this.getAll()
+      this.form.solutionList=[]
+      listForCompany({ companyId: target.id })
+        .then(resa => {
+          resa.forEach(item => {
+            this.form.solutionList.push({
+              solution: { id: item.solutionId, baseId: item.solutionBaseId,type:item.solutionType },
+              shopId: item.shopId,
+              canAdd: 1,
+              canReduce: 1
+            })
+          })
+          console.log(this.form.solutionList)
+          that.visible = true
+        })
+    },
+    add () {
+      this.form.solutionList.push({
+        solution: { id: null, baseId: null },
+        shopId: null,
+        canAdd: 1,
+        canReduce: 1
+      })
+    },
+    dele (index) {
+      if (this.form.solutionList.length === 1) {
+        this.$message.warning('鑷冲皯淇濈暀涓�椤�')
+        return
+      }
+      this.form.solutionList.splice(index, 1)
+    }
+  }
+}
 </script>

--
Gitblit v1.9.3