chris %!s(int64=3) %!d(string=hai) anos
pai
achega
cdf7e747a9

+ 93 - 70
src/views/modules/cus/communicate-add-or-update.vue

@@ -34,6 +34,7 @@
               v-model="dataForm.coType"
               :disabled="display"
               remote
+              @change="typeChanged"
               placeholder="请选择">
               <el-option
                 v-for="item in options"
@@ -53,81 +54,83 @@
       <el-row class="my-row">
         <upload-component :display="display" :title="'沟通扫描件'" :accept="'*'" :file-obj-list="fileList" @uploadSuccess="uploadSuccess"/>
       </el-row>
-      <div class="title"><span style="color: red">*</span> 订单产品明细</div>
-      <el-row>
-        <el-table
-          :data="cusRCommProductVOS"
-          border
-          style="width: 100%;">
-          <el-table-column
-            label="序号"
-            type="index"
-            width="50"
-            align="center">
-          </el-table-column>
-          <el-table-column
-            prop="productName"
-            header-align="center"
-            align="center"
-            label="产品名称">
-          </el-table-column>
-          <el-table-column
-            prop="cnt"
-            header-align="center"
-            align="center"
-            label="数量"
-            width="170">
-            <template slot-scope="scope">
-               <el-input-number v-model="scope.row.cnt" :disabled="display" :min="1" style="width: 140px;"/>
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="price"
-            header-align="center"
-            align="center"
-            label="含税单价">
-            <template slot-scope="scope">
-              <el-input-number v-model="scope.row.price" :disabled="display" :precision="2" :step="0.1" :min="0" style="width: 140px;"/>
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="amount"
-            header-align="center"
-            align="center"
-            label="含税总价">
-            <template slot-scope="scope">
-              <span>{{ (scope.row.cnt*scope.row.price).toFixed(2) }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="rate"
-            header-align="center"
-            align="center"
-            label="税率">
-            <template slot-scope="scope">
-              <el-input type="number" v-model="scope.row.rate" :disabled="display">
-                <template slot="append">%</template>
-              </el-input>
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="notes"
-            header-align="center"
-            align="center"
-            label="备注">
-          </el-table-column>
-        </el-table>
-      </el-row>
-      <el-row v-if="!display" style="text-align: center; margin-top: 10px;">
-        <el-button type="primary" icon="el-icon-plus" @click="inBound"></el-button>
-      </el-row>
+      <div v-show="detailVisible">
+        <div class="title"><span style="color: red">*</span> 订单产品明细</div>
+        <el-row>
+          <el-table
+            :data="cusRCommProductVOS"
+            border
+            style="width: 100%;">
+            <el-table-column
+              label="序号"
+              type="index"
+              width="50"
+              align="center">
+            </el-table-column>
+            <el-table-column
+              prop="productName"
+              header-align="center"
+              align="center"
+              label="产品名称">
+            </el-table-column>
+            <el-table-column
+              prop="cnt"
+              header-align="center"
+              align="center"
+              label="数量"
+              width="170">
+              <template slot-scope="scope">
+                 <el-input-number v-model="scope.row.cnt" :disabled="display" :min="1" style="width: 140px;"/>
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="price"
+              header-align="center"
+              align="center"
+              label="含税单价">
+              <template slot-scope="scope">
+                <el-input-number v-model="scope.row.price" :disabled="display" :precision="1" :step="0.1" :min="0" style="width: 140px;"/>
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="amount"
+              header-align="center"
+              align="center"
+              label="含税总价">
+              <template slot-scope="scope">
+                <span>{{ (scope.row.cnt*scope.row.price).toFixed(1) }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="rate"
+              header-align="center"
+              align="center"
+              label="税率">
+              <template slot-scope="scope">
+                <el-input type="number" v-model="scope.row.rate" :disabled="display">
+                  <template slot="append">%</template>
+                </el-input>
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="notes"
+              header-align="center"
+              align="center"
+              label="备注">
+            </el-table-column>
+          </el-table>
+        </el-row>
+        <el-row v-if="!display" style="text-align: center; margin-top: 10px;">
+          <el-button type="primary" icon="el-icon-plus" @click="inBound"></el-button>
+        </el-row>
+      </div>
     </el-form>
     <span slot="footer" class="dialog-footer">
       <el-button @click="visible = false">取消</el-button>
       <el-button v-if="!display" type="primary" @click="dataFormSubmit()">确定</el-button>
     </span>
   </el-dialog>
-   <template-chose v-if="inboundVisible" ref="inbound" @addItem="addItem" />
+   <template-chose v-if="inboundVisible" ref="inbound" @addItems="addItems" />
 </div>
 </template>
 
@@ -147,6 +150,7 @@
     data () {
       return {
         inboundVisible: false,
+        detailVisible: false,
         visible: false,
         display: false,
         dictType: 'material_type',
@@ -192,9 +196,13 @@
           }
         })
         if (!id) return
+        this.detailVisible = true
         await getCoDetail(this.id).then(({data}) => {
           if (data && data.code === '200') {
             this.dataForm = data.data
+            if (this.dataForm.coType !== '1') {
+              this.detailVisible = false
+            }
             // 附件显示
             this.fileList = []
             data.data.attachList.forEach((item) => {
@@ -235,7 +243,13 @@
                 })
               }
             }
-            this.dataForm.cusRCommProductVOS = this.cusRCommProductVOS
+            if (this.dataForm.coType === '1') {
+              if (this.cusRCommProductVOS.length === 0) {
+                this.$message.warning('请选择订单产品明细')
+                return
+              }
+              this.dataForm.cusRCommProductVOS = this.cusRCommProductVOS
+            }
             this.$http({
               url: this.$http.adornUrl(`/biz-service/cusCommunication/save`),
               method: 'post',
@@ -277,8 +291,17 @@
           notes: item.notes
         })
       },
+      addItems (items) {
+        this.cusRCommProductVOS = []
+        items.forEach((item) => {
+          this.addItem(item)
+        })
+      },
       uploadSuccess (fileList) {
         this.fileList = fileList
+      },
+      typeChanged (item) {
+        this.detailVisible = item === '1'
       }
     }
   }

+ 2 - 2
src/views/modules/msg-center/approve.vue

@@ -95,8 +95,8 @@
         width="80"
         label="操作">
         <template slot-scope="scope">
-          <el-button v-if="Number(scope.row.state) + 1 !== 1" type="text" size="small" @click="addOrUpdateHandle1(scope.row.businessId)">处理</el-button>
-          <el-button v-if="Number(scope.row.state) + 1 === 1" type="text" size="small" @click="addOrUpdateHandle(scope.row.businessId)">查看</el-button>
+          <el-button v-if="Number(scope.row.state) !== 3" type="text" size="small" @click="addOrUpdateHandle1(scope.row.businessId)">处理</el-button>
+          <el-button v-if="Number(scope.row.state) === 3" type="text" size="small" @click="addOrUpdateHandle(scope.row.businessId)">查看</el-button>
         </template>
       </el-table-column>
     </el-table>

+ 2 - 1
src/views/modules/warehouse/inventory-detail.vue

@@ -137,7 +137,8 @@
           header-align="center"
           align="center"
           width="150"
-          label="操作">
+          label="操作"
+          v-if="!display">
           <template slot-scope="scope">
             <el-button v-if="isAuth('wh:inventory:complete')" type="text" size="small" @click="finish(scope.row)">完成</el-button>
             <el-button v-if="isAuth('wh:inventory:start')" type="text" size="small" @click="begin(scope.row)">开始盘点</el-button>

+ 6 - 2
src/views/modules/warehouse/inventory.vue

@@ -33,6 +33,8 @@
         prop="inventoryCode"
         header-align="center"
         align="center"
+        min-width="140"
+        :show-tooltip-when-overflow="true"
         label="编码">
       </el-table-column>
       <el-table-column
@@ -72,6 +74,8 @@
         prop="notes"
         header-align="center"
         align="center"
+        width="120"
+        :show-tooltip-when-overflow="true"
         label="备注">
       </el-table-column>
       <el-table-column
@@ -81,8 +85,8 @@
         width="150"
         label="操作">
         <template slot-scope="scope">
-          <el-button v-if="isAuth('wh:inventory:info')" type="text" size="small" @click="addOrUpdateHandle(scope.row.inventoryId, true)">查看</el-button>
-          <el-button v-if="isAuth('wh:inventory:start')" type="text" size="small" @click="addOrUpdateHandle(scope.row.inventoryId, false)">开始盘点</el-button>
+          <el-button v-if="isAuth('wh:inventory:info') && scope.row.state === '1'" type="text" size="small" @click="addOrUpdateHandle(scope.row.inventoryId, true)">查看</el-button>
+          <el-button v-if="isAuth('wh:inventory:start') && scope.row.state === '0'" type="text" size="small" @click="addOrUpdateHandle(scope.row.inventoryId, false)">开始盘点</el-button>
         </template>
       </el-table-column>
     </el-table>

+ 9 - 7
src/views/modules/warehouse/stock-add-or-update.vue

@@ -10,36 +10,36 @@
       <el-row class="my-row">
         <el-col :span="12">
           <el-form-item label="名称" prop="materialName">
-            <el-input v-model="dataForm.materialName" placeholder="物品(零件)名称"></el-input>
+            <el-input v-model="dataForm.materialName" placeholder="物品(零件)名称" :disabled="isEdit"></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="类别" prop="materialTypeId">
-            <dict-select v-model:dict-id="dataForm.cateId" v-bind:dict-type="dictType"/>
+            <dict-select v-model:dict-id="dataForm.cateId" v-bind:dict-type="dictType" :disabled="isEdit"/>
           </el-form-item>
         </el-col>
       </el-row>
       <el-row class="my-row">
         <el-col :span="12">
           <el-form-item label="规格" prop="specifications">
-            <el-input v-model="dataForm.specifications" placeholder="物品(零件)规格"></el-input>
+            <el-input v-model="dataForm.specifications" placeholder="物品(零件)规格" :disabled="isEdit"></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="单位" prop="unitName">
-            <el-input v-model="dataForm.unitName" placeholder="单位"></el-input>
+            <el-input v-model="dataForm.unitName" placeholder="单位" :disabled="isEdit"></el-input>
           </el-form-item>
         </el-col>
       </el-row>
       <el-row class="my-row">
         <el-col :span="12">
           <el-form-item label="数量" prop="cnt">
-            <el-input-number v-model="dataForm.cnt" :min="0" placeholder="物品(零件)数量"></el-input-number>
+            <el-input-number v-model="dataForm.cnt" :min="0" placeholder="物品(零件)数量" :disabled="isEdit"></el-input-number>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="单价" prop="price">
-            <el-input-number v-model="dataForm.price" :precision="2" :step="0.1" :min="0.0" placeholder="物品(零件)单价"></el-input-number>
+            <el-input-number v-model="dataForm.price" :precision="2" :step="0.1" :min="0.0" placeholder="物品(零件)单价" :disabled="isEdit"></el-input-number>
           </el-form-item>
         </el-col>
       </el-row>
@@ -65,7 +65,7 @@
       <el-row class="my-row">
         <el-col :span="24">
           <el-form-item label="备注" prop="notes">
-            <el-input type="textarea" v-model="dataForm.notes" placeholder="备注"></el-input>
+            <el-input type="textarea" v-model="dataForm.notes" placeholder="备注" :disabled="isEdit"></el-input>
           </el-form-item>
         </el-col>
       </el-row>
@@ -87,6 +87,7 @@
     data () {
       return {
         visible: false,
+        isEdit: false,
         dictType: 'material_type',
         dataForm: {
           materialId: 0,
@@ -110,6 +111,7 @@
     },
     methods: {
       init (id) {
+        this.isEdit = !!id
         this.dataForm.materialId = id || 0
         if (this.dataForm.materialId) {
           this.$http({