Browse Source

2023-3--25

codeMan 2 years ago
parent
commit
27a7c7d833

+ 9 - 0
src/HDrpManagement/ProductMag/detail/index.vue

@@ -80,6 +80,15 @@
           <template v-slot:addClass="scope">
             <addClass v-if="tool.checkAuth($route.name,'salerClass') && mainData.status === '新建'" :data="scope.data" @onSuccess="$refs.saleClass.listData();queryMainData($route.query.id)"/>
           </template>
+          <template v-slot:delProduct="scope">
+            <delete-btn 
+              v-if="tool.checkAuth($route.name,'salerClass')" 
+              :nameId="20230214111502" 
+              nameKey="sa_itemsaleclassids" 
+              message="确定删除当前分类吗?"
+              :id="scope.data.sa_itemsaleclassid" 
+              @deleteSuccess="$refs.saleClass.listData()"></delete-btn>
+          </template>
         </saleClass>
       </div>
       <div slot="slot2">

+ 74 - 59
src/HDrpManagement/ProductMag/modules/addClass.vue

@@ -3,27 +3,39 @@
     <el-button type="primary" size="small" @click="dialogFormVisible=true" >设置分类</el-button>
     <el-dialog append-to-body title="设置分类" :visible.sync="dialogFormVisible" width="900px">
       <div class="drawer__panel" >
-        <el-tree
+        <el-table
+          :data="classList"
+          stripe
+          row-key="itemclassid"
+          size="small"
+          :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
+          <el-table-column>
+          </el-table-column>
+          <el-table-column
+            prop="itemclassname"
+            label="分类名称">
+          </el-table-column>
+          <el-table-column
+            label="操作"
+            width="50">
+            <template slot-scope="scope">
+              <el-button type="text" size="mini" v-if="scope.row.disabled" @click="onSubmit(scope.row)">添 加</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <!-- <el-tree
           ref="tree"
           :data="classList"
           show-checkbox
           node-key="itemclassid"
           :default-expand-all="true"
           :default-checked-keys="data.checkArr">
-        </el-tree>
-        <!-- <selectTable v-if="dialogFormVisible" idName="itemclassid" ref="table" v-model="result" :layout="tablecols" :data="tableList" :custom="true">
-          <template v-slot:customcol="scope">
-            <div v-if="scope.column.columnname == 'amount'">
-              <el-input :disabled="!isEdit(scope.column.data)" v-model="scope.column.data.amount" size="small"></el-input>
-            </div>
-            <div v-else>{{scope.column.data[scope.column.columnname]}}</div>
-          </template>
-        </selectTable> -->
+        </el-tree> -->
       </div>
-      <div slot="footer" class="dialog-footer">
+      <!-- <div slot="footer" class="dialog-footer">
         <el-button size="small" @click="dialogFormVisible=false" class="normal-btn-width">取 消</el-button>
         <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
-      </div>
+      </div> -->
     </el-dialog>
   </div>
 </template>
@@ -44,33 +56,42 @@ export default {
     }
   },
   methods:{
-    async onSubmit () {
-      // let arr = this.$refs.table.allArr.map(item => item.itemclassid)
-      // if (!arr) return this.$message({
-      //   title:'提示',
-      //   message:'请选择分类',
-      //   type:'warning'
-      // })
-      let arr = this.$refs.tree.getCheckedNodes().map(item => item.itemclassid)
+    // async onSubmit () {
+    //   let arr = this.$refs.tree.getCheckedNodes().map(item => item.itemclassid)
+    //   let res = await this.$api.requested({
+    //     "id": 20220927090102,
+    //     "content": {
+    //         "itemclassids":arr,
+    //         "itemid": this.data.data.itemid,
+    //         "itemno":this.data.data.itemno
+    //     },
+    //   })
+    //   this.tool.showMessage(res,() => {
+    //     this.$emit('onSuccess')
+    //     this.dialogFormVisible = false
+    //   })
+    // },
+    async onSubmit (data) {
       let res = await this.$api.requested({
         "id": 20220927090102,
         "content": {
-            "itemclassids":arr,
+            "itemclassids":[data.itemclassid],
             "itemid": this.data.data.itemid,
             "itemno":this.data.data.itemno
         },
       })
       this.tool.showMessage(res,() => {
         this.$emit('onSuccess')
-        this.dialogFormVisible = false
+        this.getClassList()
       })
     },
     async getClassList () {
       let res = await this.$api.requested({
-          "id": "20220922110403",
+          "id": "20230325141103",
           "version":1,
           "content": {
             "sa_brandid":0,
+            "itemid": this.$route.query.id,
             "where": {
               istool: this.data.istool ? 1 : 0
             }
@@ -81,49 +102,43 @@ export default {
         return {
           itemclassname:item.brandname,
           itemclassid:index + 1,
-          disabled:true,
-          subdep: item.ttemclass
+          subdep: item.ttemclass,
         }
       })
       this.classList = this.createDeep(res.data)
-      // this.tableList = this.compileTable(res.data)
-    },
-    compileTable (data) {
-      let arr = []
-      function deep (brand,ttemclass) {
-        console.log(brand);
-        let arr2 = []
-        for (let index = 0; index < ttemclass.subdep.length; index++) {
-          let obj = {
-            brandname:brand.itemclassname,
-            sa_brandid:brand.itemclassid,
-            itemclassname2:ttemclass.itemclassname,
-            itemclassid2:ttemclass.itemclassid,
-            itemclassname:ttemclass.subdep[index].itemclassname,
-            itemclassfullname:ttemclass.subdep[index].itemclassfullname,
-            itemclassid:ttemclass.subdep[index].itemclassid,
-            itemclassnum:ttemclass.subdep[index].itemclassnum,
-          }
-          arr2.push(obj)
-        }
-        return arr2
-      }
-      for (let i = 0; i< data.length; i++) {
-        console.log(data[i]);
-        for (let j = 0; j < data[i].subdep.length; j++) {
-          arr.push(...deep(data[i],data[i].subdep[j]))
-        }
-      }
-      return arr
+      console.log(this.classList);
     },
+    // createDeep (data) {
+    //   let arr = []
+    //   function createNodes (node) {
+    //     let elNode = {
+    //       label:node.itemclassname,
+    //       itemclassid:node.itemclassid,
+    //       disabled:node.disabled ? true : false,
+    //       children:[]
+    //     }
+    //     if (node.subdep && node.subdep.length > 0) {
+    //       for (let index = 0; index < node.subdep.length; index++) {
+    //         elNode.children.push(createNodes(node.subdep[index]))            
+    //       }
+    //     }
+    //     return elNode
+    //   }
+
+    //   data.forEach(item => {
+    //     this.disabledId.push(item.itemclassid)
+    //     arr.push(createNodes(item))
+    //   })
+    //   return arr
+    // },
     createDeep (data) {
       let arr = []
-      function createNodes (node) {
+      function createNodes (node,first) {
         let elNode = {
-          label:node.itemclassname,
+          itemclassname:node.itemclassfullname ? node.itemclassfullname : node.itemclassname,
           itemclassid:node.itemclassid,
-          disabled:node.disabled ? true : false,
-          children:[]
+          children:[],
+          disabled:first ? false : true
         }
         if (node.subdep && node.subdep.length > 0) {
           for (let index = 0; index < node.subdep.length; index++) {
@@ -135,7 +150,7 @@ export default {
 
       data.forEach(item => {
         this.disabledId.push(item.itemclassid)
-        arr.push(createNodes(item))
+        arr.push(createNodes(item,true))
       })
       return arr
     },

+ 31 - 22
src/HDrpManagement/dispatch/modules/productlist.vue

@@ -5,7 +5,31 @@
         <div class="flex-align-center">
           <el-button style="margin:0 0 10px 10px" size="small" type="primary" :disabled="data.STATUS !== '新建'" v-if="type !== 'confirmdate'" @click="drawer = true">{{setcol === 24?'添 加':'取 消'}}</el-button>
         </div>
-    <el-table
+        <Table 
+          height="calc(100vh - 500px)"
+          ref="multipleTable" 
+          :layout="tablecols" 
+          :data="tableData" 
+          :custom="true" :checkbox="true" fixedName="rowno orderRowno itemname itemno erpitemno model" redirect="left">
+          <template v-slot:customcol="scope">
+            <div v-if="scope.column.columnname === 'qty'">
+              <el-input-number :controls="true" controls-position='right' :step-strictly="true" v-if="data.STATUS === '新建'" size="mini" v-model="scope.column.data.qty" :min="1" :max="scope.column.data.undeliqty" label="输入数量" @change="rowChange(scope.column.data,scope.$index)"></el-input-number>
+              <span v-else>{{scope.column.data.qty}}</span>
+            </div>
+            <div v-else-if="scope.column.columnname === 'price'">
+              {{tool.formatAmount(scope.column.data.price,2)}}
+            </div>
+            <div v-else-if="scope.column.columnname === 'remarks'">
+              <el-input v-if="data.STATUS === '新建'" v-model="scope.column.data.remarks" placeholder="输入订单备注" size="mini" @change="rowChange(scope.column.data,scope.$index)"></el-input>
+              <p v-else>{{scope.column.data.remarks}}</p>
+            </div>
+            <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
+          </template>
+          <template v-slot:opreation="scope">
+            <el-button type="text" size="mini" @click="deleteOrderProduct(scope.row)">删 除</el-button>
+          </template>
+        </Table>
+    <!-- <el-table
       ref="multipleTable"
       :data="tableData"
       height="500px"
@@ -13,11 +37,6 @@
       size="small"
       stripe
       border>
-      <!-- <el-table-column
-        type="selection"
-        width="55"
-        align="center">
-      </el-table-column> -->
       <el-table-column
         prop="rowno"
         width="100px"
@@ -49,10 +68,6 @@
           prop="model"
           label="型号"
           fixed>
-      </el-table-column>
-       <el-table-column
-        prop="erpitemno"
-        label="erp编码">
       </el-table-column>
       <el-table-column
           prop="spec"
@@ -69,10 +84,6 @@
           {{tool.formatAmount(scope.row.price,2)}}
         </template>
       </el-table-column>
-<!--      <el-table-column
-        prop="qty"
-        label="发货数量">
-      </el-table-column>-->
       <el-table-column
           prop="qty"
           label="数量"
@@ -105,17 +116,12 @@
         width="120px"
         label="erp即时库存">
       </el-table-column>
-      <!-- <el-table-column
-        prop="deliedqty"
-        width="120px"
-        label="drp可发货数量">
-      </el-table-column> -->
       <el-table-column label="操作"  width="90" fixed="right">
         <template slot-scope="scope">
           <el-button type="text" size="mini" @click="deleteOrderProduct(scope.row)">删 除</el-button>
         </template>
       </el-table-column>
-    </el-table>
+    </el-table> -->
     <div style="margin-top:16px;text-align:right">
       <el-pagination
         background
@@ -147,9 +153,10 @@
 
 <script>
 import addProduct from '@/template/invoiceCanUseProduct/index.vue'
+import Table from '@/HDrpManagement/orderManage/details/tabs/table'
 export default {
   props:['type','data'],
-  components:{addProduct},
+  components:{addProduct,Table},
   data () {
     return {
       tableData:[],
@@ -168,7 +175,8 @@ export default {
       },
       total:0,
       currentPage:0,
-      time: null
+      time: null,
+      tablecols:[]
     }
   },
   methods:{
@@ -292,6 +300,7 @@ export default {
   },
   mounted () {
     this.listData()
+    this.tablecols = this.tool.tabelCol(this.$route.name).OrderListTable.tablecols
   }
 }
 

+ 1 - 1
src/HDrpManagement/logistics/details/index.vue

@@ -103,7 +103,7 @@
           },
           {
             label:'项目名称',
-            value:this.mainData.projectname
+            value:this.mainData.projectName
           },
           {
             label:'运费',

+ 14 - 12
src/HDrpManagement/orderManage/details/tabs/productlist.vue

@@ -22,6 +22,7 @@
       </div>
       <p class="normal-margin" style="font-size: 13px !important;color:red;font-weight: normal" v-if="data.status === '新建'">{{checkFreefreightamount}}</p>
       <Table 
+        v-if="tablecols.length"
         height="calc(100vh - 500px)"
         ref="multipleTable" 
         :layout="tablecols" 
@@ -140,7 +141,7 @@
             <el-input size="mini" readonly v-model="scope.column.data.batchno" @input="rowChange(scope.column.data,scope.$index)" placeholder="输入批号"></el-input>
           </div>
           <div v-else-if="scope.column.columnname === 'remarks'">
-            <el-input  type="textarea" v-model="scope.column.data.remarks" placeholder="输入订单备注" size="mini" @change="rowChange(scope.column.data,scope.$index)"></el-input>
+            <el-input v-model="scope.column.data.remarks" placeholder="输入订单备注" size="mini" @change="rowChange(scope.column.data,scope.$index)"></el-input>
           </div>
           <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
         </template>
@@ -842,23 +843,24 @@ export default {
     // this.queryStock()
     this.columnTitle  = []
     setTimeout(() => {
+      /* 处理宁波站点 */
+      let siteid = JSON.parse(sessionStorage.getItem('active_account')).siteid
+      if (siteid === 'NB' && this.data.type === '特殊订单' && this.data.typemx === '样品') {
+        this.tablecols = this.tool.tabelCol(this.$route.name).OrderListTable.tablecols
+      } else {
+        this.tablecols = this.tool.tabelCol(this.$route.name).OrderListTable.tablecols.filter(item => {
+          if (item.columnname != 'stockname' && item.columnname != 'position' && item.columnname != 'batchno') return item
+        })
+      }
+      
       this.$refs.multipleTable.$refs.table.$children.forEach(obj => {
       let columnChild = {'columnname':obj.prop,'filter':0,'rowindex':'','sequence':'','title':obj.label,'width':obj.width}
       // 存到columnTitle数组中
       this.columnTitle.push(columnChild)
+
+      
     })
     },1000)
-    /* 处理宁波站点 */
-    let siteid = JSON.parse(sessionStorage.getItem('active_account')).siteid
-    if (siteid === 'NB' && this.data.type === '特殊订单' && this.data.typemx === '样品') {
-      console.log('宁波');
-      this.tablecols = this.tool.tabelCol(this.$route.name).OrderListTable.tablecols
-    } else {
-      console.log('不宁波');
-      this.tablecols = this.tool.tabelCol(this.$route.name).OrderListTable.tablecols.filter(item => {
-        if (item.columnname != 'stockname' && item.columnname != 'position' && item.columnname != 'batchno') return item
-      })
-    }
   },
   created() {
     this.tablecolsAdd = this.tool.tabelCol(this.$route.name).addProductTable.tablecols

+ 1 - 0
src/HDrpManagement/recvoucher/details/index.vue

@@ -43,6 +43,7 @@
           :id="$route.query.id"
           @onSuccess="duichong"
           class="inline-16"
+          :checkContent="true"
           v-if="mainData.status == '审核' && tool.checkAuth($route.name,'duichong')"
         />
         <!-- 此区域提供了自定义操作按钮 -->

+ 1 - 1
src/HManagement/department/staff/list/modules/add.vue

@@ -93,7 +93,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item>
+            <el-form-item label="状态:">
               <el-radio-group v-model="form.status">
                 <el-radio :label="0">在职</el-radio>
                 <el-radio :label="1">离职</el-radio>

+ 1 - 1
src/HManagement/department/staff/list/modules/edit.vue

@@ -94,7 +94,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item>
+            <el-form-item label="状态:">
               <el-radio-group v-model="form.status">
                 <el-radio :label="0">在职</el-radio>
                 <el-radio :label="1">离职</el-radio>

+ 1 - 1
src/SDrpManagement/agentOrder/modules/productlist.vue

@@ -89,7 +89,7 @@
           <p style="color:red;font-weight:500">¥&nbsp;{{tool.formatAmount(scope.column.data.amount,2)}}</p>
         </div>
         <div v-else-if="scope.column.columnname === 'remarks'">
-          <el-input type="textarea" v-model="scope.column.data.remarks" placeholder="输入订单备注" size="mini" @blur="onConfirm([scope.column.data],true,true)"></el-input>
+          <el-input v-model="scope.column.data.remarks" placeholder="输入订单备注" size="mini" @blur="onConfirm([scope.column.data],true,true)"></el-input>
         </div>
         <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
       </template>

+ 1 - 1
src/SDrpManagement/salerOrder/modules/productlist.vue

@@ -89,7 +89,7 @@
           <p style="color:red;font-weight:500">¥&nbsp;{{tool.formatAmount(scope.column.data.amount,2)}}</p>
         </div>
         <div v-else-if="scope.column.columnname === 'remarks'">
-          <el-input type="textarea" v-model="scope.column.data.remarks" placeholder="输入订单备注" size="mini" @blur="onConfirm([scope.column.data],true,true)"></el-input>
+          <el-input v-model="scope.column.data.remarks" placeholder="输入订单备注" size="mini" @blur="onConfirm([scope.column.data],true,true)"></el-input>
         </div>
         <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
       </template>

+ 3 - 1
src/components/customBtn/index.vue

@@ -24,7 +24,8 @@ export default {
     },
     dialog: Boolean,
     dialogTitle:String,
-    dialogKey:String
+    dialogKey:String,
+    checkContent: Boolean
   },
   data() {
     return {
@@ -40,6 +41,7 @@ export default {
         this.$prompt(this.dialogTitle, '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
+          inputPattern: this.checkContent ? /^[\d.]+$/ : ''
         }).then(async ({ value }) => {
           let param = {
             content:{}