Просмотр исходного кода

Merge branch 'master' of http://git.dongkesoft.com:9001/DK-MES-3.0/mes-web

hongxudong 2 лет назад
Родитель
Сommit
283258227b

+ 0 - 10
src/api/apm/modelSeries.js

@@ -1,10 +0,0 @@
-/**
- * @desc   : 工种服务
- * @author : 姜宁
- * @date   : 2023/1/29 10:06
- */
-export default {
-  jobService:{
-    prefix:'/mdm-server-zzs/apm/modelSeries/',
-  }
-}

+ 1 - 0
src/api/pages/aps/overall-quality.js

@@ -17,5 +17,6 @@ export default {
  */
 export const routeUrl = {
   overallQuality: {
+    calcQuantity:{key:'calcQuantity',method:'calcQuantity'}
   },
 }

+ 1 - 0
src/api/pages/aps/production-demand-bill.js

@@ -19,5 +19,6 @@ export const routeUrl = {
   productionDemandBill: {
     import:{key:'import',method:'import'},
     downloadTemplate:{key:'downloadTemplate',method:'downloadTemplate'},
+    createMoldPlan:{key:'createMoldPlan',method:'createMoldPlan'}
   },
 }

+ 25 - 25
src/components/business/table-select/table-select.vue

@@ -289,7 +289,7 @@ export default {
       default: null
     },
     // 选择数据后关闭窗体
-    clickCloseFlag:{
+    clickCloseFlag: {
       type: Boolean,
       default: true,
     },
@@ -300,6 +300,7 @@ export default {
   },
   data() {
     const vm = Window.vm
+    let self = this
     return {
       vm: vm,
       colCount: 4,
@@ -380,12 +381,12 @@ export default {
       //页数信息
       pageInfo: {
         total: 0,
-        pageSize: 10,
+        pageSize: self.$config.pageSize,
         currentPage: 1
       },
       documentKeyDownContent: Object,
       children: [],//子级(已选列表),
-      clickClearFlag:false,// 是否点击清空按钮
+      clickClearFlag: false,// 是否点击清空按钮
     }
   },
   watch: {
@@ -644,7 +645,7 @@ export default {
       // this.inputModal = null;
       this.isChange = false;
       // 点击清空不进行blur
-      if(!this.clickClearFlag){
+      if (!this.clickClearFlag) {
         this.$emit('on-input-blur', e)
       }
       this.clickClearFlag = false;
@@ -667,7 +668,7 @@ export default {
      * @date   : 2022/4/8 10:38
      */
     cellClick({row}) {
-      this.inputModal = row[this.label?this.label:this.field]
+      this.inputModal = row[this.label ? this.label : this.field]
       this.$emit('change', row)
       this.$emit('onChoose', row)
       // 关闭弹出框
@@ -788,13 +789,14 @@ export default {
       this.selectedKeys = []
       this.tabIndex = 0
       if (this.methodsNameLeft) {
-        this.$refs['table-select'].clearBatchKeys();
+        this.$refs['table-select']?.clearBatchKeys();
       } else {
-        this.$refs['table-select-only'].clearBatchKeys();
+        this.$refs['table-select-only']?.clearBatchKeys();
       }
       this.batchKeysPage = []
       if (val) {
         this.addKeyBoardEvent() // 增加快捷键
+        this.countTableHeight();//计算表格高度
         // 查询数据 如果有左侧,那么就不用查询,在切换左侧列表行时查询
         if (this.methodsNameLeft) {
           if (!this.leftList || this.leftList.length === 0) {
@@ -1206,10 +1208,10 @@ export default {
         this.selectLabel = 'staffName'
         this.columns = [
           {field: 'jobName', width: '150'},
-          {field: 'staffCodeName', width: '120',title:this.$t('staff')},
+          {field: 'staffCodeName', width: '120', title: this.$t('staff')},
         ]
         this.columnsDetail = [
-          {field: 'staffCodeName', width: '120',title:this.$t('staff')},
+          {field: 'staffCodeName', width: '120', title: this.$t('staff')},
           {field: 'orgName', width: '150', title: this.$t('orgId')},
           {field: 'jobName', width: '150'},
           {field: 'remarks', width: 'auto'},
@@ -1262,8 +1264,8 @@ export default {
         this.columnsDetail = [
           // {field: 'modelCode', width: '150'},
           // {field: 'modelName', width: '150'},
-          {field: 'codeName', width: '150',title:this.$t('pdtModel')},
-          {field: 'levelName',  title: this.$t('productCategory')},
+          {field: 'codeName', width: '150', title: this.$t('pdtModel')},
+          {field: 'levelName', title: this.$t('productCategory')},
           {field: 'remarks', width: 'auto'},
         ]
       }
@@ -1316,7 +1318,7 @@ export default {
         this.columnsDetail = [
           // {field: 'modelCode', width: '150'},
           // {field: 'modelName', width: '150'},
-          {field: 'codeName', width: '150' ,title:this.$t('pdtModel')},
+          {field: 'codeName', width: '150', title: this.$t('pdtModel')},
           {field: 'remarks', width: 'auto'},
         ]
       }
@@ -1341,13 +1343,13 @@ export default {
         this.columns = [
           // {field: 'defectCode', width: '120'},
           // {field: 'defectName', width: '120'},
-          {field: 'codeName', width: '120',title: this.$t('productDefect')},
+          {field: 'codeName', width: '120', title: this.$t('productDefect')},
           {field: 'defectTypesName', width: 'auto'},
         ]
         this.columnsDetail = [
           // {field: 'defectCode', width: '120'},
           // {field: 'defectName', width: '120'},
-          {field: 'codeName', width: '120',title: this.$t('productDefect')},
+          {field: 'codeName', width: '120', title: this.$t('productDefect')},
           {field: 'defectTypesName', width: '120'},
           {field: 'remarks', width: 'auto'},
         ]
@@ -1373,14 +1375,14 @@ export default {
         this.columns = [
           {field: 'nodeName', width: 'auto'},
           {field: 'flowName', width: '120'},
-          {field: 'flowKindName', title:this.$t('flowKind') ,width: '120'},
-          {field: 'nodeKindName',title:this.$t('nodeKind'), width: '120'},
+          {field: 'flowKindName', title: this.$t('flowKind'), width: '120'},
+          {field: 'nodeKindName', title: this.$t('nodeKind'), width: '120'},
         ]
         this.columnsDetail = [
           {field: 'nodeName', width: 'auto'},
           {field: 'flowName', width: 'auto'},
-          {field: 'flowKindName', title:this.$t('flowKind') ,width: 'auto'},
-          {field: 'nodeKindName',title:this.$t('nodeKind'), width: 'auto'},
+          {field: 'flowKindName', title: this.$t('flowKind'), width: 'auto'},
+          {field: 'nodeKindName', title: this.$t('nodeKind'), width: 'auto'},
           {field: 'remarks', width: 'auto'},
         ]
       }
@@ -1659,9 +1661,11 @@ export default {
      * @date   : 2022/6/8 15:23
      */
     countTableHeight() {
-      if (!this.searchContent || this.searchContent.length === 0) {
-        this.tableHeight = this.tableHeight + 50;
-      }
+      this.$nextTick(()=>{
+        let modalHeight = this.$refs.modal_search?.$refs.modal?.$refs.content?.clientHeight;
+        let searchHeight = this.$refs.searchCond.$el.clientHeight;
+        this.tableHeight = modalHeight - searchHeight - 44 - 50 - 30 - 38 - 40
+      })
     },
   },
   beforeDestroy() {
@@ -1694,10 +1698,6 @@ export default {
     }
 
     this.inputModal = this.text
-    //计算表格高度
-    this.$nextTick(() => {
-      this.countTableHeight();
-    })
   }
 }
 </script>

+ 5 - 0
src/index.less

@@ -776,6 +776,11 @@
   background-color: #132D55 !important;
 }
 
+.vxe-header--row .vxe-cell{
+  padding-left: 0 !important;
+  padding-right: 0 !important;
+}
+
 .table-title {
   padding: 4px 0 4px 0;
   font-weight: bold;

+ 4 - 3
src/locale/lang/zh-CN.js

@@ -153,7 +153,8 @@ export const button = {
   addZiZhu: '新建自主报工(Z)',
   addTongYi: '新建统一报工(T)',
   prediction: '预测(Y)',
-  createMoldPlan:'生成布模计划(N)'
+  createMoldPlan:'生成布模计划(N)',
+  calcQuantity:'计算质量(M)'
 }
 
 /**
@@ -287,8 +288,8 @@ export const formTitle = {
   'advanced_attribute': '高级属性',
   'flow_control': '流程设置',
   'model-car-load-limit': '装载数量限制',
-  'labelPrint': '重打',
-  'labelRePrint': '补打',
+  'labelPrint': '标签打印',
+  'labelRePrint': '标签补打',
   workSop: '作业指导书',
   sopTitle: '标题',
   sopPath: '指导书',

+ 52 - 33
src/utils/printUtil.js

@@ -5,6 +5,7 @@ import TaskRunner from 'concurrent-tasks'
 /**
  * @desc   : 通用打印方法
  * @author : 张潇木
+ * @remark : 如果是多台打印机同时打印,需要先自行创建连接
  * @date   : 2023/7/17 16:21
  * @param {*} template    打印模板json  (应为打印模板的[layoutData])
  * @param {*} printData   打印数据      (调用存储过程后得到的返回值)
@@ -12,28 +13,50 @@ import TaskRunner from 'concurrent-tasks'
  * @param {*} copies      打印份数
  */
 let print = function (template, printData, printer, copies = 1) {
-
-  //1.获取[系统参数]-[标签打印服务地址]
-  getHost().then(host => {
-    //2.调用连接打印服务
-    return connectPrintServer(template, host)
-  }).then(hiprintTemplate => {
-    console.log('打印数据:', printData)
-    console.log('模板:', hiprintTemplate)
-    console.log('当前打印机', printer)
-    console.log('打印机列表', hiprintTemplate.getPrinterList())
-    console.log('打印份数', copies)
-    //3.调用打印机进行打印
-    if (copies > 1) {
-      //批量打印
-      tasksPrint(hiprintTemplate, printData, printer, copies)
-    } else {
-      hiprintTemplate.print2(printData, { printer: printer, title: 'DK打印' })
-    }
+  //创建模板
+  let hiprintTemplate = new hiprint.PrintTemplate({
+    template: template,
   })
+
+  //已连接直接调用打印
+  if(vueMain.$dkprint.hiwebSocket.opened){
+    console.log('opened')
+    //调用打印机打印
+    callPrint(hiprintTemplate,printData,printer,copies)
+  }else{
+      //1.获取[系统参数]-[标签打印服务地址]
+    getHost().then(host => {
+      //2.调用连接打印服务
+      return connectPrintServer(host)
+    }).then(res => {
+      //3.调用打印机打印
+      callPrint(hiprintTemplate,printData,printer,copies)
+    })
+  }
+
+
 }
 
 /**
+ * @desc   : 调用打印机打印
+ * @author : 张潇木
+ * @date   : 2023/8/10 14:18
+ */
+let callPrint=function (hiprintTemplate,printData,printer,copies){
+  console.log('打印数据:', printData)
+  console.log('模板:', hiprintTemplate)
+  console.log('当前打印机', printer)
+  console.log('打印机列表', hiprintTemplate.getPrinterList())
+  console.log('打印份数', copies)
+  //3.调用打印机进行打印
+  if (copies > 1) {
+    //批量打印
+    tasksPrint(hiprintTemplate, printData, printer, copies)
+  } else {
+    hiprintTemplate.print2(printData, { printer: printer, title: 'DK打印' })
+  }
+}
+/**
  * @desc   : 获取[系统参数]-[标签打印服务地址]
  * @author : 张潇木
  * @date   : 2023/7/18 8:57
@@ -64,18 +87,13 @@ let getHost = function () {
  * @author : 张潇木
  * @date   : 2023/7/18 8:58
  */
-let connectPrintServer = function (template, host) {
+let connectPrintServer = function (host) {
   return new Promise((resolve, reject) => {
-    //创建模板
-    let hiprintTemplate = new hiprint.PrintTemplate({
-      template: template,
-    })
-
     //调用打印服务
     vueMain.$dkprint.hiwebSocket.setHost(host, (connected, e) => {
       // vueMain.$dkprint.hiwebSocket.setHost('http://192.168.0.215:17522', (connected, e) => {
       if (connected) {
-        resolve(hiprintTemplate)
+        resolve()
       }
       //todo 没有回调能够获取打印机连接失败
     })
@@ -91,8 +109,9 @@ let getPrinterList = function () {
   //1.获取[系统参数]-[标签打印服务地址]
   return getHost().then(host => {
     //2.调用连接打印服务
-    return connectPrintServer(null, host)
-  }).then(hiprintTemplate => {
+    return connectPrintServer(host)
+  }).then(res => {
+    let hiprintTemplate = new hiprint.PrintTemplate()
     return hiprintTemplate.getPrinterList()
   }).catch(() => {
     vueMain.$Message.error('获取 [ 打印机列表 ] 失败')
@@ -100,7 +119,7 @@ let getPrinterList = function () {
 }
 
 /**
- * @desc   : 批量打印
+ * @desc   : 批量打印方法
  * @author : 张潇木
  * @date   : 2023/8/1 10:19
  */
@@ -112,18 +131,18 @@ let tasksPrint = function (hiprintTemplate, printData, printer, copies) {
     // done -> 任务完成回调
     let key = `task${i}`
     task.push(done => {
-      realPrint(hiprintTemplate, runner, key, done, printData, printer)
+      callPrintMultiple(hiprintTemplate, runner, key, done, printData, printer)
     })
   }
   runner.addMultiple(task)
 }
 
 /**
- * @desc   : desc
+ * @desc   : 调用打印机打印
  * @author : 张潇木
  * @date   : 2023/8/1 10:29
  */
-let realPrint = function (hiprintTemplate, runner, key, done, printData, printer) {
+let callPrintMultiple = function (hiprintTemplate, runner, key, done, printData, printer) {
   hiprintTemplate.print2(printData, { printer: printer, title: 'DK批量打印' })
   hiprintTemplate.on('printSuccess', function () {
     console.log(key + '成功')
@@ -132,9 +151,9 @@ let realPrint = function (hiprintTemplate, runner, key, done, printData, printer
   hiprintTemplate.on('printError', function () {
     console.log(key + '失败,尝试重新加入队列……')
     done()
-    runner.add(realPrint(hiprintTemplate, runner, key, done, printData, printer))
+    runner.add(callPrintMultiple(hiprintTemplate, runner, key, done, printData, printer))
   })
 }
 
 
-export default { print, getPrinterList }
+export default { print, getPrinterList,getHost,connectPrintServer}

+ 4 - 4
src/view/aps/finish-check-plan/index.vue

@@ -78,24 +78,24 @@ export default {
       tableData_test: [
         {
           计划单号: "PP0000000221", 计划日期: "2023-8-1", 计划数量: 4701, 生产数量: 1006, 完成率: "21.40"
-          , 创建者: "王敏", 创建时间: "2023-8-1", 计划名称: "1车间包装计划2023-08-07", 产品型号: "H105-A", 产品名称: "HC10050-045",
+          , 创建者: "王敏", 创建时间: "2023-8-1", 计划名称: "1车间成检计划2023-08-07", 产品型号: "H105-A", 产品名称: "HC10050-045",
           物料编码: "CL105100140B01", 预计出窑数量: 456, 烧成合格率: "97.96%", 更新时间: "2023-08-07 10:01:00",
         },
         //计划日期、产品型号、产品名称、物料编码、预计出窑数量、烧成合格率、计划数量、生产数量、完成率、更新时间
         // 计划单号、计划日期、计划名称、计划数量、生产数量、完成率、创建者、创建时间
         {
           计划单号: "PP0000000222", 计划日期: "2023-8-1", 计划数量: 4541, 生产数量: 4522, 完成率: "21.40%"
-          , 创建者: "王敏", 创建时间: "2023-8-1", 计划名称: "1车间包装计划2023-08-07", 产品型号: "H105-A", 产品名称: "HC10050-045",
+          , 创建者: "王敏", 创建时间: "2023-8-1", 计划名称: "1车间成检计划2023-08-07", 产品型号: "H105-A", 产品名称: "HC10050-045",
           物料编码: "CL105100140B01", 预计出窑数量: 123, 烧成合格率: "45.96%", 更新时间: "2023-08-07 10:01:00",
         },
         {
           计划单号: "PP0000000223", 计划日期: "2023-8-1", 计划数量: 4561, 生产数量: 122, 完成率: "21.40"
-          , 创建者: "王敏", 创建时间: "2023-8-1", 计划名称: "1车间包装计划2023-08-07", 产品型号: "H105-A", 产品名称: "HC10050-045",
+          , 创建者: "王敏", 创建时间: "2023-8-1", 计划名称: "1车间成检计划2023-08-07", 产品型号: "H105-A", 产品名称: "HC10050-045",
           物料编码: "CL105100140B01", 预计出窑数量: 796, 烧成合格率: "65.96%", 更新时间: "2023-08-07 10:01:00",
         },
         {
           计划单号: "PP0000000224", 计划日期: "2023-8-1", 计划数量: 3214, 生产数量: 1112, 完成率: "21.40"
-          , 创建者: "王敏", 创建时间: "2023-8-5", 计划名称: "1车间包装计划2023-08-07", 产品型号: "H105-A", 产品名称: "HC10050-045",
+          , 创建者: "王敏", 创建时间: "2023-8-5", 计划名称: "1车间成检计划2023-08-07", 产品型号: "H105-A", 产品名称: "HC10050-045",
           物料编码: "CL105100140B01", 预计出窑数量: 486, 烧成合格率: "23.96%", 更新时间: "2023-08-07 10:01:00",
         },
       ],

+ 44 - 20
src/view/aps/overall-quality/index.vue

@@ -12,6 +12,8 @@
         <BaseIndexButton right-button="overall-quality-clear" ref="clear" name="clear"></BaseIndexButton>
         <!--    编辑    -->
         <BaseIndexButton right-button="overall-quality-edit" ref="edit" name="edit"></BaseIndexButton>
+        <!--    计算质量    -->
+        <BaseIndexButton right-button="overall-quality-calcQuantity" ref="calcQuantity" name="calcQuantity"></BaseIndexButton>
       </template>
       <template #right>
         <!--   新建     -->
@@ -38,8 +40,10 @@
         <DkTableColumn field="GOODSCODE" title="产品型号"></DkTableColumn>
         <DkTableColumn field="GOODSNAME" title="产品名称"></DkTableColumn>
         <DkTableColumn field="半成品质量" title="半成品质量(%)" width="200px" :data-type="$config.dataType.number"></DkTableColumn>
-        <DkTableColumn field="成质量" title="成质量(%)" width="200px" :data-type="$config.dataType.number"></DkTableColumn>
+        <DkTableColumn field="成质量" title="成质量(%)" width="200px" :data-type="$config.dataType.number"></DkTableColumn>
         <DkTableColumn field="整体质量" title="整体质量(%)" width="200px" :data-type="$config.dataType.number"></DkTableColumn>
+        <DkTableColumn field="统计周期" title="统计周期(天)" width="200px" :data-type="$config.dataType.number"></DkTableColumn>
+        <DkTableColumn field="计算时间" :data-type="$config.dataType.dateTime"></DkTableColumn>
       </DkTable>
     </div>
     <!--新建编辑-->
@@ -70,22 +74,22 @@
                      valueKey="value">
           </SelectPop>
         </DkFormItem>
-        <!--    产品名称    -->
-        <DkFormItem prop="GOODSNAME" label="产品名称" required>
-          <InputPop v-model="formData.GOODSNAME"/>
-        </DkFormItem>
         <!--    半成品质量    -->
         <DkFormItem prop="半成品质量" label="半成品质量" required>
           <InputNumberPop v-model="formData.半成品质量" unit="%"/>
         </DkFormItem>
-        <!--    成质量    -->
-        <DkFormItem prop="成质量" label="成质量" required>
-          <InputNumberPop v-model="formData.成质量"  unit="%"/>
+        <!--    成质量    -->
+        <DkFormItem prop="成质量" label="成质量" required>
+          <InputNumberPop v-model="formData.成质量"  unit="%"/>
         </DkFormItem>
         <!--    整体质量    -->
         <DkFormItem prop="整体质量" required>
           <InputNumberPop v-model="formData.整体质量"  unit="%"/>
         </DkFormItem>
+        <!--    统计周期    -->
+        <DkFormItem prop="统计周期" required>
+          <InputNumberPop v-model="formData.统计周期"  unit="天"/>
+        </DkFormItem>
       </DkForm>
     </DkModal>
   </div>
@@ -107,7 +111,7 @@ export default {
         'GOODSNAME': null,
         'SAP_SKU': null,
         '半成品质量': null,
-        '成质量': null,
+        '成质量': null,
         '整体质量': null,
       },
       searchContent: [
@@ -167,8 +171,10 @@ export default {
           'GOODSCODE': 'H0301DTM',
           'GOODSNAME': 'HC0301DT-305',
           '半成品质量': '50',
-          '成质量': '80',
+          '成质量': '80',
           '整体质量': '75',
+          '统计周期': '10',
+          '计算时间': '2023-08-01 10:00:00',
           'DOUP_TIME': null
         }, {
           'ROWNO': 2.0,
@@ -187,8 +193,10 @@ export default {
           'GOODSCODE': 'H0301DTM',
           'GOODSNAME': 'HC0301DT-305',
           '半成品质量': '50',
-          '成质量': '80',
+          '成质量': '80',
           '整体质量': '75',
+          '统计周期': '10',
+          '计算时间': '2023-08-01 10:00:00',
           'DOUP_TIME': null
         }, {
           'ROWNO': 3.0,
@@ -207,8 +215,10 @@ export default {
           'GOODSCODE': 'H0301DTM',
           'GOODSNAME': 'HC0301DT-305',
           '半成品质量': '50',
-          '成质量': '80',
+          '成质量': '80',
           '整体质量': '75',
+          '统计周期': '10',
+          '计算时间': '2023-08-01 10:00:00',
           'DOUP_TIME': null
         }, {
           'ROWNO': 4.0,
@@ -227,8 +237,10 @@ export default {
           'GOODSCODE': 'H0301DTM',
           'GOODSNAME': 'HC0301DT-305',
           '半成品质量': '50',
-          '成质量': '80',
+          '成质量': '80',
           '整体质量': '75',
+          '统计周期': '10',
+          '计算时间': '2023-08-01 10:00:00',
           'DOUP_TIME': null
         }, {
           'ROWNO': 5.0,
@@ -247,8 +259,10 @@ export default {
           'GOODSCODE': 'H0301DTM',
           'GOODSNAME': 'HC0301DT-305',
           '半成品质量': '50',
-          '成质量': '80',
+          '成质量': '80',
           '整体质量': '75',
+          '统计周期': '10',
+          '计算时间': '2023-08-01 10:00:00',
           'DOUP_TIME': null
         }, {
           'ROWNO': 6.0,
@@ -267,8 +281,10 @@ export default {
           'GOODSCODE': 'H0301DTM',
           'GOODSNAME': 'HC0301DT-305',
           '半成品质量': '50',
-          '成质量': '80',
+          '成质量': '80',
           '整体质量': '75',
+          '统计周期': '10',
+          '计算时间': '2023-08-01 10:00:00',
           'DOUP_TIME': null
         }, {
           'ROWNO': 7.0,
@@ -287,8 +303,10 @@ export default {
           'GOODSCODE': 'H0301DTM',
           'GOODSNAME': 'HC0301DT-305',
           '半成品质量': '50',
-          '成质量': '80',
+          '成质量': '80',
           '整体质量': '75',
+          '统计周期': '10',
+          '计算时间': '2023-08-01 10:00:00',
           'DOUP_TIME': null
         }, {
           'ROWNO': 8.0,
@@ -307,8 +325,10 @@ export default {
           'GOODSCODE': 'H0301DTM',
           'GOODSNAME': 'HC0301DT-305',
           '半成品质量': '50',
-          '成质量': '80',
+          '成质量': '80',
           '整体质量': '75',
+          '统计周期': '10',
+          '计算时间': '2023-08-01 10:00:00',
           'DOUP_TIME': null
         }, {
           'ROWNO': 9.0,
@@ -327,8 +347,10 @@ export default {
           'GOODSCODE': 'H0301DTM',
           'GOODSNAME': 'HC0301DT-305',
           '半成品质量': '50',
-          '成质量': '80',
+          '成质量': '80',
           '整体质量': '75',
+          '统计周期': '10',
+          '计算时间': '2023-08-01 10:00:00',
           'DOUP_TIME': null
         }, {
           'ROWNO': 10.0,
@@ -347,8 +369,10 @@ export default {
           'GOODSCODE': 'H0301DTM',
           'GOODSNAME': 'HC0301DT-305',
           '半成品质量': '50',
-          '成质量': '80',
+          '成质量': '80',
           '整体质量': '75',
+          '统计周期': '10',
+          '计算时间': '2023-08-01 10:00:00',
           'DOUP_TIME': null
         }]
     },
@@ -366,7 +390,7 @@ export default {
         'GOODSNAME': null,
         'SAP_SKU': null,
         '半成品质量': null,
-        '成质量': null,
+        '成质量': null,
         '整体质量': null,
       }
     },

+ 16 - 73
src/view/aps/production-cycle/index.vue

@@ -39,7 +39,7 @@
                  :freeze="false"
                  :choose-flag="false"
                  @current-change="currentChangeEvent($event)">
-          <DkTableColumn :title="$t('categoryName')" field="categoryName"
+          <DkTableColumn :title="$t('产品分类')" field="categoryName"
                          width="auto" :filter=false :sortable="false"></DkTableColumn>
         </DkTable>
         <DkTable slot="right" :id="'table-'+$options.name" ref="table-select" :data="tableData"
@@ -52,20 +52,8 @@
           <!--产品分类-->
           <DkTableColumn field="产品分类" ></DkTableColumn>
           <DkTableColumn field="工艺大类"></DkTableColumn>
-          <DkTableColumn field="制模(天)"></DkTableColumn>
-          <DkTableColumn field="烤模(天)"></DkTableColumn>
-          <DkTableColumn field="上模(天)"></DkTableColumn>
-          <DkTableColumn field="修模试注(天)"></DkTableColumn>
-          <DkTableColumn field="注浆(天)"></DkTableColumn>
-          <DkTableColumn field="阴干(天)"></DkTableColumn>
-          <DkTableColumn field="烘干(天)"></DkTableColumn>
-          <DkTableColumn field="交坯(天)"></DkTableColumn>
-          <DkTableColumn field="登窑烧成(天)"></DkTableColumn>
-          <DkTableColumn field="卸窑(天)"></DkTableColumn>
-          <DkTableColumn field="包装(天)"></DkTableColumn>
-          <DkTableColumn field="制模周期(天)"></DkTableColumn>
           <DkTableColumn field="生产周期(天)"></DkTableColumn>
-          <DkTableColumn field="总周期(天)"></DkTableColumn>
+          <DkTableColumn field="质量统计周期(天)" width="200px"></DkTableColumn>
         </DkTable>
       </DkSplit>
     </div>
@@ -79,7 +67,7 @@
       :saveFlag="true"
       :title=modalTitle
     >
-      <DkForm ref="formInline" v-model="formData" :col-count="2">
+      <DkForm ref="formInline" v-model="formData" :col-count="1" :label-max-words="6">
         <!--产品分类-->
         <DkFormItem prop="产品分类" :required="true">
           <SelectPop v-model="formData.产品分类" :multiple="false"
@@ -96,49 +84,13 @@
                      valueKey="value">
           </SelectPop>
         </DkFormItem>
-        <!--制模(天)-->
-        <DkFormItem prop="制模" :data-type="$config.dataType.number">
-          <InputNumberPop v-model="formData.制模" :digits=0 :min="0" unit="天"/>
+        <!--生产周期(天)-->
+        <DkFormItem prop="生产周期" :data-type="$config.dataType.number">
+          <InputNumberPop v-model="formData.生产周期" :digits=0 :min="0" unit="天"/>
         </DkFormItem>
-        <!--烤模(天)-->
-        <DkFormItem prop="烤模" :data-type="$config.dataType.number">
-          <InputNumberPop v-model="formData.烤模" :digits=0 :min="0" unit="天"/>
-        </DkFormItem>
-        <!--上模(天)-->
-        <DkFormItem prop="上模" :data-type="$config.dataType.number">
-          <InputNumberPop v-model="formData.上模" :digits=0 :min="0" unit="天"/>
-        </DkFormItem>
-        <!--修模试注(天)-->
-        <DkFormItem prop="修模试注" :data-type="$config.dataType.number">
-          <InputNumberPop v-model="formData.修模试注" :digits=0 :min="0" unit="天"/>
-        </DkFormItem>
-        <!--注浆(天)-->
-        <DkFormItem prop="注浆" :data-type="$config.dataType.number">
-          <InputNumberPop v-model="formData.注浆" :digits=0 :min="0" unit="天"/>
-        </DkFormItem>
-        <!--阴干(天)-->
-        <DkFormItem prop="阴干" :data-type="$config.dataType.number">
-          <InputNumberPop v-model="formData.阴干" :digits=0 :min="0" unit="天"/>
-        </DkFormItem>
-        <!--烘干(天)-->
-        <DkFormItem prop="烘干" :data-type="$config.dataType.number">
-          <InputNumberPop v-model="formData.烘干" :digits=0 :min="0" unit="天"/>
-        </DkFormItem>
-        <!--交坯(天)-->
-        <DkFormItem prop="交坯" :data-type="$config.dataType.number">
-          <InputNumberPop v-model="formData.交坯" :digits=0 :min="0" unit="天"/>
-        </DkFormItem>
-        <!--登窑烧成(天)-->
-        <DkFormItem prop="登窑烧成" :data-type="$config.dataType.number">
-          <InputNumberPop v-model="formData.登窑烧成" :digits=0 :min="0" unit="天"/>
-        </DkFormItem>
-        <!--卸窑(天)-->
-        <DkFormItem prop="卸窑" :data-type="$config.dataType.number">
-          <InputNumberPop v-model="formData.卸窑" :digits=0 :min="0" unit="天"/>
-        </DkFormItem>
-        <!--包装(天)-->
-        <DkFormItem prop="包装" :data-type="$config.dataType.number">
-          <InputNumberPop v-model="formData.包装" :digits=0 :min="0" unit="天"/>
+        <!--质量统计周期(天)-->
+        <DkFormItem prop="质量统计周期" :data-type="$config.dataType.number">
+          <InputNumberPop v-model="formData.质量统计周期" :digits=0 :min="0" unit="天"/>
         </DkFormItem>
         <!--    备注    -->
         <DkFormItem prop="remarks" :span="24">
@@ -174,31 +126,22 @@ export default {
       modalTitle: '',//新建编辑弹窗名称
       submitType: '',//新建编辑提交类型
       tableData_test:[
-        {categoryId:1, 产品分类:'坐便器',工艺大类:'普压','制模(天)':3,'烤模(天)':8,'上模(天)':1,'修模试注(天)':2,'注浆(天)':1,'阴干(天)':8,'烘干(天)':1,'交坯(天)':1,'登窑烧成(天)':5,'卸窑(天)':1,'包装(天)':1,'制模周期(天)':14,'生产周期(天)':18,'总周期(天)':32},
-        {categoryId:1, 产品分类:'坐便器',工艺大类:'高压','制模(天)':10,'烤模(天)':0,'上模(天)':1,'修模试注(天)':2,'注浆(天)':1,'阴干(天)':2,'烘干(天)':2,'交坯(天)':1,'登窑烧成(天)':3,'卸窑(天)':2,'包装(天)':1,'制模周期(天)':13,'生产周期(天)':12,'总周期(天)':25},
-        {categoryId:2, 产品分类:'蹲便器',工艺大类:'普压','制模(天)':4,'烤模(天)':8,'上模(天)':1,'修模试注(天)':2,'注浆(天)':1,'阴干(天)':3,'烘干(天)':1,'交坯(天)':1,'登窑烧成(天)':4,'卸窑(天)':1,'包装(天)':1,'制模周期(天)':15,'生产周期(天)':12,'总周期(天)':27},
-        {categoryId:2, 产品分类:'蹲便器',工艺大类:'高压','制模(天)':4,'烤模(天)':8,'上模(天)':1,'修模试注(天)':2,'注浆(天)':1,'阴干(天)':3,'烘干(天)':1,'交坯(天)':1,'登窑烧成(天)':4,'卸窑(天)':1,'包装(天)':1,'制模周期(天)':15,'生产周期(天)':12,'总周期(天)':27}
+        {categoryId:1, 产品分类:'坐便器',工艺大类:'普压','生产周期(天)':18,'质量统计周期(天)':18},
+        {categoryId:1, 产品分类:'坐便器',工艺大类:'高压','生产周期(天)':18,'质量统计周期(天)':20},
+        {categoryId:2, 产品分类:'蹲便器',工艺大类:'普压','生产周期(天)':17,'质量统计周期(天)':18},
+        {categoryId:2, 产品分类:'蹲便器',工艺大类:'高压','生产周期(天)':17,'质量统计周期(天)':20}
       ], // 测试数据
       formData: {
         ftyId: 0,
-        制模: null,
-        烤模: null,
-        上模: null,
-        修模试注: null,
-        注浆: null,
-        阴干: null,
-        烘干: null,
-        交坯: null,
-        登窑烧成: null,
-        卸窑: null,
-        包装: null,
+        生产周期: null,
+        质量统计周期: null,
         remarks: '',
       },
       searchContent: [
         {
           //产品分类
           itemCode: 'categoryIds',
-          itemName: 'categoryName',
+          itemName: '产品分类',
           valueFormat: {
             code: 'categoryList', valueKey: 'categoryId', labelKey: 'categoryName', data: [
               {categoryId:1,categoryName:'坐便器'},

+ 68 - 5
src/view/aps/production-demand-bill/index.vue

@@ -15,6 +15,8 @@
         <BaseIndexButton right-button="post-import" ref="import" name="import"></BaseIndexButton>
         <!--    下载模板    -->
         <BaseIndexButton ref="downloadTemplate" name="downloadTemplate" :is-must-choose-flag="false"></BaseIndexButton>
+        <!--    生成布模计划    -->
+        <BaseIndexButton right-button="post-createMoldPlan" ref="createMoldPlan" name="createMoldPlan"></BaseIndexButton>
       </template>
       <template #right>
         <!--   新建     -->
@@ -38,10 +40,8 @@
                  :choose-flag="false"
                  :height="tableHeight"
                  @pageChange="pageSizeChange">
-          <!--产品分类-->
-          <DkTableColumn field="产品编码" ></DkTableColumn>
-          <DkTableColumn field="产品名称"></DkTableColumn>
           <DkTableColumn field="年份"></DkTableColumn>
+          <DkTableColumn field="物料编码" ></DkTableColumn>
           <DkTableColumn field="产品型号"></DkTableColumn>
           <DkTableColumn field="产品状态"></DkTableColumn>
           <DkTableColumn field="排产合计" :data-type="$config.dataType.number"></DkTableColumn>
@@ -92,6 +92,54 @@
         </DkFormItem>
       </DkForm>
     </DkModal>
+
+    <!--  布模计划  -->
+    <DkModal
+      :loading="loading"
+      v-model="moldingModal"
+      ref="modal_molding"
+      width="900px"
+      @on-visible-change="handleVisibleModal"
+      @modalOk="save"
+      :saveFlag="true"
+      title="生成布模计划"
+    >
+      <DkForm ref="formInline" v-model="formData" :col-count="2">
+        <!--    开始日期    -->
+        <DkFormItem prop="开始日期" required label="开始日期">
+          <DatePickerPop v-model="formData.MOLD_BEGINDATE"/>
+        </DkFormItem>
+        <!--    结束日期    -->
+        <DkFormItem prop="结束日期" required label="结束日期">
+          <DatePickerPop v-model="formData.MOLD_ENDDATE"/>
+        </DkFormItem>
+        <!--    备注    -->
+        <DkFormItem prop="remarks" :span="24">
+          <InputPop v-model="formData.remarks" textareaFlag/>
+        </DkFormItem>
+      </DkForm>
+      <!--成型线明细-->
+      <DkTable
+        ref="moldingTable"
+        :data="moldingData"
+        title="成型线明细"
+        :height="200"
+        :page-flag="false"
+        :show-setting-flag="false"
+        :freeze="false"
+        :multiple="true"
+        :clearCheckFlag="false"
+        :auto-width-flag="false"
+        primaryKey="itemId">
+        <DkTableColumn field="成型线" ></DkTableColumn>
+        <DkTableColumn field="模具序号" ></DkTableColumn>
+        <DkTableColumn field="模具条码" ></DkTableColumn>
+        <DkTableColumn field="产品型号" ></DkTableColumn>
+        <DkTableColumn field="物料编码" ></DkTableColumn>
+        <DkTableColumn field="标准成型次数" :data-type="$config.dataType.number"></DkTableColumn>
+        <DkTableColumn field="日成型次数" :data-type="$config.dataType.number"></DkTableColumn>
+      </DkTable>
+    </DkModal>
   </div>
 </template>
 
@@ -108,6 +156,7 @@ export default {
     return {
       split:0.2,
       editAddModal: false,
+      moldingModal:false,
       leftTable:[], // 左侧数据
       productList:[
         {value:'CL109301150B01',text:'台上盆HC10091-056\\单孔'},
@@ -116,9 +165,15 @@ export default {
       modalTitle: '',//新建编辑弹窗名称
       submitType: '',//新建编辑提交类型
       tableData_test:[
-        {产品编码:'CL109301150B01', 产品名称:'台上盆HC10091-056\\单孔',年份:'2023',产品型号:'HC10091-056',产品状态:'在售',排产合计:11158,'1月':537,'2月':0,'3月':928,'4月':1487,'5月':1448,'6月':758,'7月':1500,'8月':1500,'9月':1500,'10月':1500,'11月':0,'12月':0},
-        {产品编码:'CL133400160B01', 产品名称:'艺术盆HC10330-062',年份:'2023',产品型号:'HC10330-062',产品状态:'在售',排产合计:1152,'1月':108,'2月':0,'3月':0,'4月':72,'5月':0,'6月':72,'7月':150,'8月':150,'9月':150,'10月':150,'11月':150,'12月':150},
+        {年份:'2023',物料编码:'CL109301150B01', 产品型号:'HC10091-056',产品状态:'在售',排产合计:11158,'1月':537,'2月':0,'3月':928,'4月':1487,'5月':1448,'6月':758,'7月':1500,'8月':1500,'9月':1500,'10月':1500,'11月':0,'12月':0},
+        {年份:'2023',物料编码:'CL133400160B01', 产品型号:'HC10330-062',产品状态:'在售',排产合计:1152,'1月':108,'2月':0,'3月':0,'4月':72,'5月':0,'6月':72,'7月':150,'8月':150,'9月':150,'10月':150,'11月':150,'12月':150},
       ], // 测试数据
+      moldingData:[
+        {成型线:"成型线1",模具序号:"1",模具条码:"787878781",
+          产品型号:"a型号",产品名称:"陶瓷碗",物料编码:"4545451",物料描述:"wu",标准成型次数:4,日成型次数:4},
+        {成型线:"成型线2",模具序号:"2",模具条码:"787878782",
+          产品型号:"a型号",产品名称:"陶瓷碗",物料编码:"4545451",物料描述:"wu",标准成型次数:4,日成型次数:4}
+      ],
       formData: {
         ftyId: 0,
         产品编码: null,
@@ -162,6 +217,14 @@ export default {
   methods: {
     // region  一览界面操作
     /**
+     * @desc   : 生成布模计划
+     * @author : 周兴
+     * @date   : 2023/8/8 13:50
+     */
+    createMoldPlan(){
+      this.moldingModal = true;
+    },
+    /**
      * @desc   : 获取数据
      * @author : 周兴
      * @date   : 2022年12月13日15:04:17

+ 1 - 1
src/view/mst/work-sop/index.vue

@@ -23,7 +23,7 @@
       </BaseIndexButtonGroup>
 
       <!--  查询条件区域  -->
-      <div id="search-cond-div" ref="search-cond-div" style="margin-top: 1px;padding: 0">
+      <div id="search-cond-div" ref="search-cond-div" class="search-cond-class">
         <SearchCond ref="searchCond" v-model="searchCond" :type="$config.pageCode['position']"
                     @collapse-change="collapseChange" :set-flag="false"
                     :search-content="searchContent"></SearchCond>

+ 11 - 4
src/view/pdm/data-collection/register-add.vue

@@ -601,11 +601,18 @@
             //成功返回打印机数据
             if(res.data && res.data.length>0){
               let printList = res.data
-              for(let i of printList ){
-                for (let item of i.printLayout) {
-                  this.$printUtil.print(item.layoutData, i.printData, item.printerCode, item.printCopies)
+              //1.获取[系统参数]-[标签打印服务地址]
+              this.$printUtil.getHost().then(host => {
+                //2.调用连接打印服务
+                return this.$printUtil.connectPrintServer(host)
+              }).then(r => {
+                //3.调用打印机打印
+                for (let i  of  printList) {
+                  for (let item of i.printLayout) {
+                    this.$printUtil.print(item.layoutData, i.printData, item.printerCode, item.printCopies)
+                  }
                 }
-              }
+              })
             }
             //光标聚焦
             if (this.$refs.barCode) {

+ 12 - 5
src/view/pdm/label-print/index.vue

@@ -275,13 +275,20 @@
             if (res.data.printLayout.length > 0) {
               let printList = this.printList.filter(it => it.checkFlag)
               if (printList.length > 0) {
-                for (let i  of  printList) {
-                  for (let item of res.data.printLayout) {
-                    if (i.printerId == item.printerId) {
-                      this.$printUtil.print(item.layoutData, res.data.printData, i.printerCode, item.printCopies)
+                //1.获取[系统参数]-[标签打印服务地址]
+                this.$printUtil.getHost().then(host => {
+                  //2.调用连接打印服务
+                  return this.$printUtil.connectPrintServer(host)
+                }).then(r => {
+                  //3.调用打印机打印
+                  for (let i  of  printList) {
+                    for (let item of res.data.printLayout) {
+                      if (i.printerId == item.printerId) {
+                        this.$printUtil.print(item.layoutData, res.data.printData, i.printerCode, item.printCopies)
+                      }
                     }
                   }
-                }
+                })
               }
             }
           } else {

+ 13 - 6
src/view/pdm/label-reprint/index.vue

@@ -275,13 +275,20 @@
             if (res.data.printLayout.length > 0) {
               let printList = this.printList.filter(it => it.checkFlag)
               if(printList.length>0){
-                for (let i  of  printList) {
-                  for (let item of res.data.printLayout) {
-                    if (i.printerId == item.printerId) {
-                      this.$printUtil.print(item.layoutData, res.data.printData, i.printerCode, item.printCopies)
+                //1.获取[系统参数]-[标签打印服务地址]
+                this.$printUtil.getHost().then(host => {
+                  //2.调用连接打印服务
+                  return this.$printUtil.connectPrintServer(host)
+                }).then(r => {
+                  //3.调用打印机打印
+                  for (let i  of  printList) {
+                    for (let item of res.data.printLayout) {
+                      if (i.printerId == item.printerId) {
+                        this.$printUtil.print(item.layoutData, res.data.printData, i.printerCode, item.printCopies)
+                      }
                     }
                   }
-                }
+                })
               }
             }
           }else{
@@ -296,7 +303,7 @@
        *   @author : 寇珊珊
        */
       add() {
-        this.modalTitle = this.setTitle(this.$config.formMode.add, 'labelPrint')
+        this.modalTitle = this.setTitle(this.$config.formMode.add, 'labelRePrint')
         this.modalParams = {
           button: this.$config.formMode.add,
         }

+ 11 - 4
src/view/pdm/molding-record/bind-barcode-group.vue

@@ -614,11 +614,18 @@
             //成功返回打印机数据
             if(res.data && res.data.length>0){
               let printList = res.data
-              for(let i of printList ){
-                for(let item of i.printLayout){
-                  this.$printUtil.print(item.layoutData, i.printData, item.printerCode, item.printCopies)
+              //1.获取[系统参数]-[标签打印服务地址]
+              this.$printUtil.getHost().then(host => {
+                //2.调用连接打印服务
+                return this.$printUtil.connectPrintServer(host)
+              }).then(r => {
+                //3.调用打印机打印
+                for (let i  of  printList) {
+                  for (let item of i.printLayout) {
+                    this.$printUtil.print(item.layoutData, i.printData, item.printerCode, item.printCopies)
+                  }
                 }
-              }
+              })
             }
           } else {
             this.$Message.warning(res.message)

+ 11 - 4
src/view/pdm/molding-record/bind-barcode-grouping.vue

@@ -664,11 +664,18 @@
             //  成功返回打印机数据
             if(res.data && res.data.length>0){
               let printList = res.data
-              for(let i of printList ){
-                for(let item of i.printLayout){
-                  this.$printUtil.print(item.layoutData, i.printData, item.printerCode, item.printCopies)
+              //1.获取[系统参数]-[标签打印服务地址]
+              this.$printUtil.getHost().then(host => {
+                //2.调用连接打印服务
+                return this.$printUtil.connectPrintServer(host)
+              }).then(r => {
+                //3.调用打印机打印
+                for (let i  of  printList) {
+                  for (let item of i.printLayout) {
+                    this.$printUtil.print(item.layoutData, i.printData, item.printerCode, item.printCopies)
+                  }
                 }
-              }
+              })
             }
           } else {
             this.$Message.warning(res.message)

+ 12 - 5
src/view/pdm/molding-record/bind-barcode.vue

@@ -391,13 +391,20 @@
             this.$Message.success(res.message)
             this.detail(this.$route.params.id)
             //  成功返回打印机数据
-            if(res.data && res.data.length>0){
+            if (res.data && res.data.length > 0) {
               let printList = res.data
-              for(let i of printList ){
-                for(let item of i.printLayout){
-                  this.$printUtil.print(item.layoutData, i.printData, item.printerCode, item.printCopies)
+              //1.获取[系统参数]-[标签打印服务地址]
+              this.$printUtil.getHost().then(host => {
+                //2.调用连接打印服务
+                return this.$printUtil.connectPrintServer(host)
+              }).then(r => {
+                //3.调用打印机打印
+                for (let i  of  printList) {
+                  for (let item of i.printLayout) {
+                    this.$printUtil.print(item.layoutData, i.printData, item.printerCode, item.printCopies)
+                  }
                 }
-              }
+              })
             }
           } else {
             this.$Message.warning(res.message)