liqianyi 1 rok temu
rodzic
commit
7d0889e4cc

+ 108 - 0
src/views/modules/production/components/print-label.vue

@@ -0,0 +1,108 @@
+<template>
+  <div>
+    <el-dialog
+      title="标签打印"
+      width="70%"
+      :close-on-click-modal="false"
+      :visible.sync="visible">
+      <el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="auto">
+        <el-row class="my-row">
+          <el-col :span="8">
+            <el-form-item label="物料名称" prop="productName">
+              <el-input v-model="dataForm.productName" placeholder="物料名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8" style="padding-left: 10px">
+            <el-form-item label="税率" prop="rate">
+              <el-input-number style="width: 160px" v-model="dataForm.rate" :step="1" :precision="1"/>&nbsp;%
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row class="my-row">
+          <el-col :span="8">
+            <el-form-item label="含税单价" prop="price">
+              <el-input-number v-model="dataForm.price" :precision="1" :step="1" :min="1"></el-input-number>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8" style="padding-left: 10px">
+            <el-form-item label="数量" prop="cnt">
+              <el-input-number v-model="dataForm.cnt" :min="1" :step="1"></el-input-number>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8" style="padding-left: 10px">
+            <el-form-item label="含税总价" prop="amount">
+              <span>{{ (dataForm.cnt * dataForm.price).toFixed(1) }}</span>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-form-item label="备注" prop="notes">
+            <el-input type="textarea" v-model="dataForm.notes"></el-input>
+          </el-form-item>
+        </el-row>
+      </el-form>
+      <span slot="footer">
+        <el-button @click="onChose">取消</el-button>
+        <el-button type="primary" @click="dataFormSubmit()" v-reClick>确定</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'print-label',
+  data () {
+    return {
+      visible: false,
+      isAdd: false,
+      dataForm: {
+        cnt: 1,
+        price: 1,
+        rate: 1
+      },
+      dataRule: {
+        productName: [{ required: true, message: '物料名称不能为空', trigger: 'blur' }],
+        cnt: [{ required: true, message: '数量不能为空', trigger: 'blur' }],
+        price: [{ required: true, message: '含税单价不能为空', trigger: 'blur' }],
+        rate: [{ required: true, message: '税率不能为空', trigger: 'blur' }]
+      }
+    }
+  },
+  methods: {
+    async init (row) {
+      this.visible = true
+      if (!row) {
+        this.isAdd = true
+        return
+      }
+      this.dataForm = row
+    },
+    validateField (type) {
+      this.$refs.dataForm.validateField(type)
+    },
+    onChose () {
+      this.visible = false
+    },
+    // 表单提交
+    dataFormSubmit () {
+      this.$refs['dataForm'].validate((valid) => {
+        if (valid) {
+          if (this.isAdd === true) {
+            // console.log('1')
+            this.dataForm.productId = Math.round(Math.random() * 1000000)
+          }
+          // 计算含税总价
+          this.dataForm.amount = (this.dataForm.cnt * this.dataForm.price).toFixed(1)
+          this.onChose()
+          this.$emit('changeItem', this.dataForm)
+        }
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 22 - 3
src/views/modules/production/monitoring.vue

@@ -9,6 +9,19 @@
         <el-form-item label="物料名称">
           <el-input v-model="dataForm.productName" placeholder="物料名称" clearable/>
         </el-form-item>
+        <el-form-item label="状态">
+          <el-select
+            v-model="dataForm.state"
+            remote
+            placeholder="请选择">
+            <el-option
+              v-for="item in optionsState"
+              :key="item.code"
+              :label="item.value"
+              :value="item.code">
+            </el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item>
           <el-button @click="queryPage()">查询</el-button>
           <el-button v-if="false" type="primary" disabled @click="createNewProduct()">创建新物料</el-button>
@@ -33,6 +46,14 @@
           :show-tooltip-when-overflow="true"
           label="物料编号">
         </el-table-column>
+        <el-table-column
+          prop="mapNumber"
+          header-align="center"
+          align="center"
+          width="120"
+          :show-tooltip-when-overflow="true"
+          label="图号">
+        </el-table-column>
         <el-table-column
           prop="productName"
           header-align="center"
@@ -144,9 +165,6 @@ export default {
         dataListLoading: false,
         dataListSelections: [],
         optionsState: [
-          {
-            code: '2', value: '待处理'
-          },
           {
             code: '3', value: '采购'
           },
@@ -179,6 +197,7 @@ export default {
         let params = {
           'current': this.pageIndex,
           'size': this.pageSize,
+          'state': this.dataForm.state ? this.dataForm.state : null,
           'productName': this.dataForm.productName ? this.dataForm.productName : null,
           'orderCode': this.dataForm.orderCode ? this.dataForm.orderCode : null
         }

+ 8 - 0
src/views/modules/production/recording.vue

@@ -32,6 +32,14 @@
           :show-tooltip-when-overflow="true"
           label="物料编号">
         </el-table-column>
+        <el-table-column
+          prop="mapNumber"
+          header-align="center"
+          align="center"
+          min-width="120"
+          :show-tooltip-when-overflow="true"
+          label="图号">
+        </el-table-column>
         <el-table-column
           prop="productName"
           header-align="center"

+ 9 - 9
src/views/modules/production/scheduling.vue

@@ -26,6 +26,14 @@
           :show-tooltip-when-overflow="true"
           label="任务单编码">
         </el-table-column>
+        <el-table-column
+          prop="mapNumber"
+          header-align="center"
+          align="center"
+          min-width="120"
+          :show-tooltip-when-overflow="true"
+          label="图号">
+        </el-table-column>
         <el-table-column
           prop="productName"
           header-align="center"
@@ -58,14 +66,6 @@
           :show-tooltip-when-overflow="true"
           label="生产编号">
         </el-table-column>
-        <el-table-column
-          prop="mapNumber"
-          header-align="center"
-          align="center"
-          min-width="120"
-          :show-tooltip-when-overflow="true"
-          label="图号">
-        </el-table-column>
         <el-table-column
           header-align="center"
           align="center"
@@ -162,7 +162,7 @@
           fixed="right"
           header-align="center"
           align="center"
-          width="150"
+          width="160"
           label="操作">
           <template slot-scope="scope">
             <el-button v-if="isAuth('prod:production:updateCheck') && Number(scope.row.prodState) === 0" type="text" size="small" @click="check(scope.row)">核料</el-button>

+ 1 - 1
src/views/modules/tech/product-management.vue

@@ -285,7 +285,7 @@
           width="170"
           label="操作">
           <template slot-scope="scope">
-            <el-button v-if="isAuth('pro:product:synchronization')" type="text" size="small" @click="syncHandle(scope.row.productId)">同步仓库</el-button>
+            <el-button v-if="isAuth('pro:product:synchronization') && (!scope.row.materialId || false)" type="text" size="small" @click="syncHandle(scope.row.productId)">同步仓库</el-button>
             <el-button v-if="isAuth('pro:product:info')" type="text" size="small" @click="detailHandle(scope.row.productId)">查看</el-button>
             <el-button v-if="isAuth('pro:product:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.productId, false)">编辑</el-button>
             <el-button v-if="isAuth('pro:product:change')" type="text" size="small" @click="changeHandle(scope.row.productId)">变更</el-button>