diff --git a/src/api/inout/ioDestinyProcess.js b/src/api/inout/ioDestinyProcess.js
index fd18b9c9..7b5a74fc 100644
--- a/src/api/inout/ioDestinyProcess.js
+++ b/src/api/inout/ioDestinyProcess.js
@@ -42,6 +42,14 @@ export function filterDestinyProcessCode(query) {
   });
 }
 
+export function filterDestinyProcessDelectFy(query) {
+  return axios({
+    url: "/udiwms/basic/destiny/model/filterDestinyProcessDelectFy",
+    method: "get",
+    params: query
+  });
+}
+
 
 export function delectDestinyProcess(query) {
   return axios({
diff --git a/src/views/basic/destiny/destiny.vue b/src/views/basic/destiny/destiny.vue
index 24b31cb7..291694bc 100644
--- a/src/views/basic/destiny/destiny.vue
+++ b/src/views/basic/destiny/destiny.vue
@@ -13,12 +13,12 @@
               <el-input v-model="filterQuery.code" placeholder="请输入模板编码"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
-            <el-form-item>
+          <el-col :span="11" offset="1">
+            <el-form-item style="">
               <el-button-group>
-                <el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
-                <el-button type="primary" icon="search" @click="onSubmit">查询</el-button>
-                <el-button type="primary" icon="search" @click="handleAddClick">新增</el-button>
+                <el-button type="primary" icon="el-icon-refresh" @click="onReset">重置</el-button>
+                <el-button type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
+                <el-button type="primary" icon="el-icon-plus" @click="handleAddClick">新增</el-button>
               </el-button-group>
             </el-form-item>
           </el-col>
@@ -30,14 +30,26 @@
         <el-table-column label="序号" type="index"></el-table-column>
         <el-table-column label="模板编码" prop="code" width="260"></el-table-column>
         <el-table-column label="模板名称" prop="name" width="260"></el-table-column>
-        <el-table-column label="备注" prop="remark" width="260"></el-table-column>
+        <el-table-column label="状态" prop="status" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <el-tag :type="statusFilterType(scope.row.status)">{{ statusMap[scope.row.status] }}</el-tag>
+          </template>
+        </el-table-column>
+<!--        <el-table-column label="备注" prop="remark" width="260"></el-table-column>-->
+        <el-table-column label="规格" prop="ggxh" width="260"></el-table-column>
+        <el-table-column label="价格" prop="price" width="260">
+          <template slot-scope="scope">
+           {{ scope.row.price == "null" ? "0.00":scope.row.price }}
+          </template>
+        </el-table-column>
+<!--        <el-table-column label="单位" prop="unit" width="260"></el-table-column>-->
         <el-table-column label="创建人" prop="createByName" width="260"></el-table-column>
         <el-table-column label="创建时间" prop="createTime" width="260"></el-table-column>
-        <el-table-column label="操作" width="220">
+        <el-table-column label="操作" width="220" fixed="right">
           <template slot-scope="scope">
-            <el-button type="text" size="small" @click.native.stop="handleModifyClick(scope.row)">编辑</el-button>
+            <el-button type="text" size="small" @click.native.stop="handleModifyClick(scope.row)" :disabled="scope.row.status != 1">编辑</el-button>
             <el-button type="text" size="small" @click.native.stop="deleteDialog(scope.row)">删除</el-button>
-            <el-button type="text" size="small" @click.native.stop="selectDialog(scope.row)">选入产品</el-button>
+            <el-button type="text" size="small" @click.native.stop="onSubmitSkSkProject(scope.row)" v-if="scope.row.status == 1">提交</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -52,16 +64,45 @@
     </el-card>
 
     <el-card>
+      <el-row>
+        <el-col :span="24">
+          <el-button type="primary" style="float: right;margin-bottom: 12px;margin-right: 20px" size="small"
+                     icon="search" @click="selectProduct"
+          v-if="this.delectQuery.id != null ">新增产品
+          </el-button>
+        </el-col>
+      </el-row>
+
       <el-table v-loading="loading" :data="delectList" border highlight-current-row style="width: 100%">
         <el-table-column label="序号" type="index"></el-table-column>
-        <el-table-column label="产品DI" prop="nameCode" width="260"></el-table-column>
-        <el-table-column label="产品编码" prop="thirdId" width="260"></el-table-column>
-        <el-table-column label="产品名称" prop="cpmctymc" width="260"></el-table-column>
+        <el-table-column label="产品DI" prop="nameCode" width="200"></el-table-column>
+        <el-table-column label="产品编码" prop="thirdId" width="200"></el-table-column>
+        <el-table-column label="产品名称" prop="cpmctymc" width="200"></el-table-column>
         <el-table-column label="规格型号" prop="ggxh"></el-table-column>
         <el-table-column label="计量单位" prop="measname"></el-table-column>
-        <el-table-column label="数量" prop="count"></el-table-column>
+        <el-table-column label="数量" prop="count">
+          <template slot-scope="scope">
+            <el-input size="small" v-model="scope.row.count"
+                      placeholder="请输入数量" style="width: 80%"
+                      type='number'
+                      :disabled="scope.row.index !== selectedIndex"
+                      oninput="value=value.replace(/[^\d]/g,'')"></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column label="价格" prop="price"></el-table-column>
         <el-table-column label="生产企业" prop="ylqxzcrbarmc"></el-table-column>
         <el-table-column label="注册/备案号" prop="zczbhhzbapzbh"></el-table-column>
+        <el-table-column label="操作" width="220" >
+          <template slot-scope="scope">
+            <el-button type="text" size="small" :disabled="scope.row.index === selectedIndex"
+                       @click.native.stop="rowChange(scope.row)">编辑
+            </el-button>
+            <el-button type="text" size="small" :disabled="scope.row.index !== selectedIndex" @click.stop="true"
+                       @click.native="tableCountChange(scope.row)">保存
+            </el-button>
+            <el-button type="text" size="small" @click.native.stop="delectModifyClick(scope.row)">移除</el-button>
+          </template>
+        </el-table-column>
       </el-table>
       <pagination
         v-show="delectTotal>0"
@@ -84,23 +125,40 @@
       <destinyModelEdit
         :editQuery="editQuery"
         :closeDialog="closeDialog"
+        :type="1"
       ></destinyModelEdit>
     </el-dialog>
 
+<!--    <el-dialog-->
+<!--      title="选入产品"-->
+<!--      :visible.sync="selectFormVisible"-->
+<!--      :close-on-click-modal="false"-->
+<!--      :close-on-press-escape="false"-->
+<!--      width="80%"-->
+<!--      :before-close="closeDialog"-->
+<!--      v-if="selectFormVisible"-->
+<!--    >-->
+<!--      <destinyModelSelectProduct-->
+<!--        :editQuery="editQuery"-->
+<!--        :codeArray="codeArray"-->
+<!--        :closeDialog="closeDialog"-->
+<!--      ></destinyModelSelectProduct>-->
+<!--    </el-dialog>-->
+
     <el-dialog
       title="选入产品"
       :visible.sync="selectFormVisible"
+      append-to-body
       :close-on-click-modal="false"
       :close-on-press-escape="false"
       width="80%"
-      :before-close="closeDialog"
+      :before-close="closeProudDialog"
       v-if="selectFormVisible"
     >
-      <destinyModelSelectProduct
-        :editQuery="editQuery"
-        :codeArray="codeArray"
-        :closeDialog="closeDialog"
-      ></destinyModelSelectProduct>
+      <destinySelectProduct
+        :editQuery="editLogin"
+        :closeDialog="closeProudDialog"
+      ></destinySelectProduct>
     </el-dialog>
 
 
@@ -112,22 +170,32 @@ import {
   addModeldestiny,
   delectModeldestiny,
   filterDestinyDelect,
-  getBasicDestinyfilter
+  getBasicDestinyfilter, delectModeldestinyProduct, downloadBasicProject, uploadModeldestinyProduct,submitSkSkProject
 } from "@/api/basic/basicDestinyRel";
 import destinyModelEdit from "@/views/basic/destiny/destinyModelEdit";
 import destinyModelSelectProduct from "@/views/basic/destiny/destinyModelSelectProduct";
+import destinySelectProduct from "@/views/basic/destiny/destinySelectProduct";
 
 
 export default {
   data() {
     return {
+      editLogin: {
+        id: null,
+        status: null,
+        cpmctymc: null,
+        ids: [],
+        page: 1,
+        limit: 10,
+      },
       filterQuery: {
         name: "",
         code: "",
-        type: 2,
+        type: 1,
         page: 1,
         limit: 20
       },
+      selectedIndex: '',
       editType: "",
       formVisible: false,
       selectFormVisible: false,
@@ -141,8 +209,14 @@ export default {
         "add": "新增定数包模板",
         "edit": "编辑定数包模板"
       },
+      statusMap: {
+        1: "草稿",
+        2: "未提交",
+        3: "已提交",
+      },
       delectQuery: {
         id: null,
+        status: null,
         page: 1,
         limit: 20
       },
@@ -151,6 +225,69 @@ export default {
     };
   },
   methods: {
+    statusFilterType(status) {
+      const statusMap = {
+        5: 'warning',
+        1: 'warning',
+        6: 'danger',
+        7: 'success'
+      }
+      return statusMap[status]
+    },
+    delectModifyClick(row) {
+      this.$confirm("是否确定移除该产品?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        this.loading = true;
+        let tquery = {
+          id: row.deId
+        };
+        delectModeldestinyProduct(tquery)
+          .then((response) => {
+            this.loading = false;
+            if (response.code === 20000) {
+              this.filterDestinyDelect();
+              this.getList();
+              this.selectedIndex = null
+              this.$message({
+                type: "success",
+                message: "删除成功!",
+              });
+            } else {
+              this.$message.error(response.message);
+            }
+          })
+          .catch(() => {
+            this.certLoading = false;
+          });
+      }).catch(() => {
+      });
+    },
+    tableCountChange(row) {
+      if (this.$isNotBlank(row)) {
+        var query = {
+          id: row.deId,
+          count: row.count
+        }
+        uploadModeldestinyProduct(query).then((response) => {
+          if (response.code === 20000) {
+            this.getList();
+            this.selectedIndex = null
+          }
+        }).catch(() => {
+          });
+      }
+    },
+    rowChange(val) {
+      this.selectedIndex = val.index
+    },
+    selectProduct() {
+      this.editLogin.id = this.delectQuery.id
+      this.editLogin.status = this.delectQuery.status
+      this.selectFormVisible = true;
+    },
     onReset() {
       this.$router.push({
         path: ""
@@ -158,7 +295,7 @@ export default {
       this.filterQuery = {
         name: "",
         code: "",
-        type: 2,
+        type: 1,
         page: 1,
         limit: 20
       };
@@ -201,6 +338,18 @@ export default {
       this.formVisible = true;
       this.editQuery = row;
     },
+    onSubmitSkSkProject(row){
+      submitSkSkProject(row).then(res => {
+        if (res.code == 20000) {
+          this.getList();
+          this.$message.success("提交成功!");
+        } else {
+          this.$message.error(res.message);
+        }
+      }).catch(() => {
+        this.$message.error("提交失败!");
+      });
+    },
     deleteDialog(row) {
       delectModeldestiny(row).then(res => {
         if (res.code == 20000) {
@@ -220,11 +369,17 @@ export default {
       this.formVisible = false;
       this.selectFormVisible = false;
       this.getList();
-      this.delectList = []
+      // this.delectList = []
       this.editQuery = {}
     },
+    closeProudDialog() {
+      this.selectFormVisible = false;
+      this.getList();
+      this.filterDestinyDelect();
+    },
     handleDetail(row) {
       this.delectQuery.id = row.id
+      this.delectQuery.status = row.status
       this.filterDestinyDelect()
     },
     filterDestinyDelect() {
@@ -252,10 +407,11 @@ export default {
   }
   ,
   components: {
-    destinyModelEdit, destinyModelSelectProduct
+    destinyModelEdit, destinyModelSelectProduct,destinySelectProduct
   }
   ,
   created() {
+    this.filterQuery.name = this.$route.query.cpmctymc;
     this.getList();
   }
 }
diff --git a/src/views/basic/destiny/destinyModelEdit.vue b/src/views/basic/destiny/destinyModelEdit.vue
index e57ecf93..12e6d155 100644
--- a/src/views/basic/destiny/destinyModelEdit.vue
+++ b/src/views/basic/destiny/destinyModelEdit.vue
@@ -22,7 +22,16 @@
             </div>
           </el-col>
         </el-row>
-
+        <el-row>
+          <el-col :span="22">
+            <div class="text item">
+              <el-form-item label="规格" prop="ggxh">
+                <el-input v-model="editLogin.ggxh" placeholder="请输入规格" style="width: 100%"
+                          size="small"></el-input>
+              </el-form-item>
+            </div>
+          </el-col>
+        </el-row>
 
         <el-row>
           <el-col :span="22">
@@ -59,6 +68,10 @@ export default {
       type: Object,
       required: true,
     },
+    type: {
+      type: Object,
+      required: true,
+    },
   },
   data() {
     return {
@@ -89,6 +102,7 @@ export default {
           this.$message.error("编辑失败!");
         });
       } else {
+        this.editLogin.type =  this.type
         addModeldestiny(this.editLogin).then(res => {
           if (res.code == 20000) {
             this.closeDialog();
diff --git a/src/views/basic/destiny/destinyProcess.vue b/src/views/basic/destiny/destinyProcess.vue
index 0cf05c49..936a97a8 100644
--- a/src/views/basic/destiny/destinyProcess.vue
+++ b/src/views/basic/destiny/destinyProcess.vue
@@ -19,7 +19,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item>
+            <el-form-item >
               <el-button-group>
                 <el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
                 <el-button type="primary" icon="search" @click="onSubmit">查询</el-button>
@@ -44,7 +44,7 @@
         </el-table-column>
         <el-table-column label="创建人" prop="createName" width="260"></el-table-column>
         <el-table-column label="创建时间" prop="createTime" width="260"></el-table-column>
-        <el-table-column label="操作" width="220">
+        <el-table-column label="操作" width="220" fixed="right">
           <template slot-scope="scope">
             <el-button type="text" size="small" :disabled="scope.row.status==2" @click.native.stop="handleModifyClick(scope.row)">编辑</el-button>
             <el-button type="text" size="small" @click.native.stop="deleteDialog(scope.row)">删除</el-button>
@@ -60,6 +60,57 @@
           @pagination="handleCurrentChange"
       ></pagination>
     </el-card>
+    <el-card>
+      <el-tabs type="border-card" style="margin-top: 50px">
+        <el-tab-pane label="定数包详情">
+          <div>
+            <el-table v-loading="loading" :data="delectList" border highlight-current-row style="width: 100%">
+              <el-table-column label="序号" type="index"></el-table-column>
+              <el-table-column label="产品DI" prop="nameCode" width="260"></el-table-column>
+              <el-table-column label="产品编码" prop="thirdId" width="260"></el-table-column>
+              <el-table-column label="产品名称" prop="cpmctymc" width="260"></el-table-column>
+              <el-table-column label="规格型号" prop="ggxh"></el-table-column>
+              <el-table-column label="计量单位" prop="measname"></el-table-column>
+              <el-table-column label="单据数量" prop="count"></el-table-column>
+              <el-table-column label="扫码数量" prop="reCount"></el-table-column>
+              <el-table-column label="生产企业" prop="ylqxzcrbarmc"></el-table-column>
+              <el-table-column label="注册/备案号" prop="zczbhhzbapzbh"></el-table-column>
+            </el-table>
+            <pagination
+              v-show="delectTotal>0"
+              :total="delectTotal"
+              :limit.sync="delectQuery.limit"
+              :page.sync="delectQuery.page"
+              @pagination="handleCurrentDelectChange"
+            ></pagination>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="扫码详情">
+          <div>
+            <el-table v-loading="loading" :data="codeList" border highlight-current-row style="width: 100%">
+              <el-table-column label="序号" type="index"></el-table-column>
+              <el-table-column label="UDI码" prop="code" width="200"></el-table-column>
+              <el-table-column label="产品DI" prop="nameCode" width="200"></el-table-column>
+              <el-table-column label="产品名称" prop="cpmctymc" width="200"></el-table-column>
+              <el-table-column label="规格型号" prop="ggxh"></el-table-column>
+              <el-table-column label="批次号" prop="batchNo"></el-table-column>
+              <el-table-column label="生产日期" prop="productDate" width="100"></el-table-column>
+              <el-table-column label="失效日期" prop="expireDate" width="100"></el-table-column>
+              <el-table-column label="序列号" prop="serialNo"></el-table-column>
+              <el-table-column label="扫码数量" prop="count"></el-table-column>
+              <el-table-column label="实际数量" prop="reCount"></el-table-column>
+            </el-table>
+            <pagination
+              v-show="codeTotal>0"
+              :total="codeTotal"
+              :limit.sync="codeQuery.limit"
+              :page.sync="codeQuery.page"
+              @pagination="handleCurrentCodeChange"
+            ></pagination>
+          </div>
+        </el-tab-pane>
+      </el-tabs>
+    </el-card>
 
 <!--    <el-card>-->
 <!--      <el-table v-loading="loading" :data="delectList" border highlight-current-row style="width: 100%">-->
@@ -109,7 +160,7 @@ import {
   getBasicDestinyfilter
 } from "@/api/basic/basicDestinyRel";
 import addDestinyProcess from "@/views/basic/destiny/addDestinyProcess";
-import {delectDestinyProcess, filterDestinyProcess} from "@/api/inout/ioDestinyProcess";
+import {delectDestinyProcess, filterDestinyProcess ,filterDestinyProcessCode,filterDestinyProcessDelectFy } from "@/api/inout/ioDestinyProcess";
 
 
 export default {
@@ -128,6 +179,8 @@ export default {
       formName: "",
       total: 0,
       list: [],
+      delectList: [],
+      codeList: [],
       codeArray: [],
       editQuery: {},
       formMap: {
@@ -140,12 +193,17 @@ export default {
         2: "已提交",
       },
       delectQuery: {
-        id: null,
+        billNo: null,
+        page: 1,
+        limit: 20
+      },
+      codeQuery: {
+        billNo: null,
         page: 1,
         limit: 20
       },
-      delectList: [],
       delectTotal: 0,
+      codeTotal: 0,
     };
   },
   methods: {
@@ -199,6 +257,10 @@ export default {
       this.delectQuery.page = val.page;
       this.filterDestinyDelect()
     },
+    handleCurrentCodeChange(val) {
+      this.codeQuery.page = val.page;
+      this.filterDestinyCode()
+    },
     handleAddClick() {
       this.formName = "add";
       this.formVisible = true;
@@ -226,11 +288,13 @@ export default {
       this.editQuery = {}
     },
     handleDetail(row) {
-      this.delectQuery.id = row.id
+      this.delectQuery.billNo = row.billNo
+      this.codeQuery.billNo = row.billNo
       this.filterDestinyDelect()
+      this.filterDestinyCode()
     },
     filterDestinyDelect() {
-      filterDestinyDelect(this.delectQuery)
+      filterDestinyProcessDelectFy(this.delectQuery)
           .then((response) => {
             this.loading = false;
             if (response.code === 20000) {
@@ -248,6 +312,25 @@ export default {
             this.delectTotal = 0;
           });
     },
+    filterDestinyCode() {
+      filterDestinyProcessCode(this.codeQuery)
+        .then((response) => {
+          this.loading = false;
+          if (response.code === 20000) {
+            this.codeList = response.data.list || [];
+            this.codeTotal = response.data.total || 0;
+          } else {
+            this.$message.error(response.message);
+            this.codeList = [];
+            this.codeTotal = 0;
+          }
+        })
+        .catch(() => {
+          this.loading = false;
+          this.codeList = [];
+          this.codeTotal = 0;
+        });
+    },
   }
   ,
   mounted() {
diff --git a/src/views/basic/destiny/skProject.vue b/src/views/basic/destiny/skProject.vue
index 41dd72ab..4d835e1d 100644
--- a/src/views/basic/destiny/skProject.vue
+++ b/src/views/basic/destiny/skProject.vue
@@ -13,7 +13,7 @@
               <el-input v-model="filterQuery.name" placeholder="请输入项目名称"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
+          <el-col :span="11" offset="1">
             <el-form-item>
               <el-button-group>
                 <el-button type="primary" icon="el-icon-refresh" @click="onReset">重置</el-button>
@@ -115,6 +115,7 @@
       <destinyModelEdit
         :editQuery="editQuery"
         :closeDialog="closeDialog"
+        :type="2"
       ></destinyModelEdit>
     </el-dialog>