Browse Source

营销填报代码文件位置移动;

001295 1 year ago
parent
commit
7276c7b5c1

+ 341 - 418
src/views/business/spd/bo/authority/index.vue

@@ -1,300 +1,180 @@
-<template>
-  <div class="app-container">
-    <el-table v-loading="loading" :data="authorityList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center"/>
-      <el-table-column label="项目岗位" align="center" prop="postName" />
-      <el-table-column label="商机-下一步" align="center" prop="boNext">
-        <template slot-scope="scope">
-          {{scope.row.boNext ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="商机-修改" align="center" prop="boEdit">
-        <template slot-scope="scope">
-          {{scope.row.boEdit ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="商机-关闭" align="center" prop="boClose">
-        <template slot-scope="scope">
-          {{scope.row.boClose ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="商机-赢单" align="center" prop="boWin">
-        <template slot-scope="scope">
-          {{scope.row.boWin ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="商机-丢单" align="center" prop="boLose">
-        <template slot-scope="scope">
-          {{scope.row.boLose ? '√' : '×'}}
-        </template>
-      </el-table-column>
 
 
-      <el-table-column label="项目成员-新增" align="center" prop="pojpsnAdd" >
-        <template slot-scope="scope">
-          {{scope.row.pojpsnAdd ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="项目成员-删除" align="center" prop="pojpsnDel">
-        <template slot-scope="scope">
-          {{scope.row.pojpsnDel ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="项目成员-编辑" align="center" prop="pojpsnEdit">
-        <template slot-scope="scope">
-          {{scope.row.pojpsnEdit ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="项目成员-查看" align="center" prop="pojpsnView">
-        <template slot-scope="scope">
-          {{scope.row.pojpsnView ? '√' : '×'}}
-        </template>
-      </el-table-column>
+<template>
+  <div>
+    <div v-if="!openDetail">
+      <el-card>
+        <el-form size="mini" class="search_area" label-width="120px">
+          <el-row :gutter="10">
+            <el-col :span="1.5">
+              <el-form-item label="客户名称">
+                <el-input
+                  v-model="queryParams.customerName"
+                  clearable
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="1.5">
+              <el-form-item label="年度">
+                <el-date-picker
+                  v-model="queryParams.month"
+                  type="month"
+                  value-format="yyyy-MM"
+                  clearable
+                  >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="1.5">
+              <el-form-item label="创建人">
+                <el-input
+                  v-model="queryParams.createByName"
+                  clearable
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="1.5">
+              <el-form-item label="部门">
+                <el-input
+                  v-model="queryParams.deptName"
+                  clearable
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="1.5">
+              <el-form-item label="" label-width="20px">
+                <el-button type="primary" size="mini" icon="el-icon-search" plain @click="useSearch">搜索</el-button>
+                <el-button size="mini" icon="el-icon-refresh" plain @click="useReset">重置</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+        <el-divider></el-divider>
+        <div class="btn_grooup">
+          <el-button type="primary" size="mini" @click="useAdd">新增</el-button>
+        </div>
 
 
-      <el-table-column label="任务-新增" align="center" prop="taskAdd" >
-        <template slot-scope="scope">
-          {{scope.row.taskAdd ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="任务-删除" align="center" prop="taskDel">
-        <template slot-scope="scope">
-          {{scope.row.taskDel ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="任务-编辑" align="center" prop="taskEdit">
-        <template slot-scope="scope">
-          {{scope.row.taskEdit ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="任务-查看" align="center" prop="taskView">
-        <template slot-scope="scope">
-          {{scope.row.taskView ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="行动-新增" align="center" prop="behaviorAdd">
-        <template slot-scope="scope">
-          {{scope.row.behaviorAdd ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="行动-删除" align="center" prop="behaviorDel">
-        <template slot-scope="scope">
-          {{scope.row.behaviorDel ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="行动-编辑" align="center" prop="behaviorEdit">
-        <template slot-scope="scope">
-          {{scope.row.behaviorEdit ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="行动-查看" align="center" prop="behaviorView">
-        <template slot-scope="scope">
-          {{scope.row.behaviorView ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="联系人-新增" align="center" prop="contactAdd">
-        <template slot-scope="scope">
-          {{scope.row.contactAdd ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="联系人-删除" align="center" prop="contactDel">
-        <template slot-scope="scope">
-          {{scope.row.contactDel ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="联系人-编辑" align="center" prop="contactEdit">
-        <template slot-scope="scope">
-          {{scope.row.contactEdit ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="联系人-查看" align="center" prop="contactView">
-        <template slot-scope="scope">
-          {{scope.row.contactView ? '√' : '×'}}
-        </template>
-      </el-table-column>
-      <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['material:authority:edit']"
-          >修改</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
+        <el-table
+          :data="tableList"
+          @row-dblclick="useDoubleClick"
+          v-loading="loading"
+          height="600px"
+        >
+          <el-table-column label="序号" type="index" width="50" align="center" fixed/>
+          <el-table-column show-overflow-tooltip label="编码" align="center" width="200" prop="code"/>
+          <el-table-column show-overflow-tooltip label="客户名称" align="center" width="200" prop="customerName"/>
+          <el-table-column show-overflow-tooltip label="月度" align="center" width="200" prop="month"/>
+          <el-table-column show-overflow-tooltip label="部门" align="center" width="200" prop="deptName"/>
+          <el-table-column show-overflow-tooltip label="创建人" align="center" width="200" prop="createByName" />
+          <el-table-column show-overflow-tooltip label="创建时间" align="center" width="200" prop="createTime" />
+          <el-table-column show-overflow-tooltip label="修改人" align="center" width="200" prop="updateByName" />
+          <el-table-column show-overflow-tooltip label="修改时间" align="center" width="200" prop="updateTime" />
+          <el-table-column fixed="right" label="操作" align="center" width="150">
+            <template slot-scope="scope">
+              <el-button type="text" size="mini" @click="useEdit(scope.row)">填报</el-button>
+              <el-button type="text" size="mini" @click="useDel(scope.row)">删除</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
 
 
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
+        <el-pagination
+          background
+          @size-change="useChangePageSize"
+          @current-change="useCurrentChange"
+          :current-page="queryParams.pageNum"
+          :page-sizes="[10, 15, 20]"
+          :page-size="100"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total=total>
+        </el-pagination>
+      </el-card>
+    </div>
+    <Detail v-if="openDetail" :openMode="openMode" :row="row"/>
 
 
-    <!-- 添加或修改商机角色权限对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="项目岗位" prop="postName">
-          {{form.postName}}
-          <!-- <el-input v-model="form.postName"/> -->
-        </el-form-item>
-        <el-divider content-position="left">
-          <dev style="width: 50px; height: 40px; font-size: 18px">商机</dev>
-        </el-divider>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item prop="boNext">
-              <el-checkbox v-model="form.boNext">下一步</el-checkbox>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item prop="boEdit">
-              <el-checkbox v-model="form.boEdit">修改</el-checkbox>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item prop="boClose">
-              <el-checkbox v-model="form.boClose">关闭</el-checkbox>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item prop="boWin">
-              <el-checkbox v-model="form.boWin">赢单</el-checkbox>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item prop="boLose">
-              <el-checkbox v-model="form.boLose">丢单</el-checkbox>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-          </el-col>
-        </el-row>
-        <el-divider content-position="left">
-          <dev style="width: 50px; height: 40px; font-size: 18px">项目成员</dev>
-        </el-divider>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item prop="taskAdd">
-              <el-checkbox v-model="form.pojpsnAdd">新增</el-checkbox>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item prop="pojpsnDel">
-              <el-checkbox v-model="form.pojpsnDel">删除</el-checkbox>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item prop="pojpsnEdit">
-              <el-checkbox v-model="form.pojpsnEdit">编辑</el-checkbox>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item prop="pojpsnView">
-              <el-checkbox v-model="form.pojpsnView">查看</el-checkbox>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-          </el-col>
-          <el-col :span="8">
-          </el-col>
-        </el-row>
-        <el-divider content-position="left">
-          <dev style="width: 50px; height: 40px; font-size: 18px">任务</dev>
-        </el-divider>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item prop="taskAdd">
-              <el-checkbox v-model="form.taskAdd">新增</el-checkbox>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item prop="taskDel">
-              <el-checkbox v-model="form.taskDel">删除</el-checkbox>
+    <!-- 新增填报对话框 -->
+    <el-dialog
+      title="新增"
+      :visible.sync="open"
+      width="1000px"
+      append-to-body
+    >
+      <el-form
+        size="mini"
+        :model="form"
+        :rules="rules"
+        ref="form"
+        label-width="auto"
+      >
+        <el-row :gutter="10">
+          <el-col :span="1.5">
+            <el-form-item label="编码" prop="code">
+              <el-input
+                placeholder="自动生成"
+                readonly
+                v-model="form.code"
+                style="width: 200px"
+                clearable
+              />
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
-          <el-col :span="8">
-            <el-form-item prop="taskEdit">
-              <el-checkbox v-model="form.taskEdit">编辑</el-checkbox>
+          <el-col :span="1.5">
+            <el-form-item label="月份" prop="month">
+              <el-date-picker
+                :readonly="this.openMode == 'edit' || this.openMode == 'see'"
+                v-model="form.month"
+                value-format="yyyy-MM"
+                type="month"
+                clearable
+              >
+              </el-date-picker>
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item prop="taskView">
-              <el-checkbox v-model="form.taskView">查看</el-checkbox>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-          </el-col>
-          <el-col :span="8">
-          </el-col>
-        </el-row>
-        <el-divider content-position="left">
-          <dev style="width: 50px; height: 40px; font-size: 18px">行动</dev>
-        </el-divider>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item prop="behaviorAdd">
-              <el-checkbox v-model="form.behaviorAdd">新增</el-checkbox>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item prop="behaviorDel">
-              <el-checkbox v-model="form.behaviorDel">删除</el-checkbox>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item prop="behaviorEdit">
-              <el-checkbox v-model="form.behaviorEdit">编辑</el-checkbox>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item prop="behaviorView">
-              <el-checkbox v-model="form.behaviorView">查看</el-checkbox>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-          </el-col>
-          <el-col :span="8">
-          </el-col>
-        </el-row>
-        <el-divider content-position="left">
-          <dev style="width: 50px; height: 40px; font-size: 18px">联系人</dev>
-        </el-divider>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item prop="contactAdd">
-              <el-checkbox v-model="form.contactAdd">新增</el-checkbox>
+          <el-col :span="1.5">
+            <el-form-item label="客户" prop="customer">
+              <dr-popover-select
+                :readonly="this.openMode == 'edit' || this.openMode == 'see'"
+                size="mini"
+                v-model="form.customerName"
+                title="客户选择"
+                type="CUSTOMER_PARAM_ZT"
+                :dataMapping="{
+                  customer: 'id',
+                  customerName: 'name',
+                }"
+                :source.sync="form"
+              >
+              </dr-popover-select>
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
-          <el-col :span="8">
-            <el-form-item prop="contactDel">
-              <el-checkbox v-model="form.contactDel">删除</el-checkbox>
+          <el-col :span="1.5">
+            <el-form-item label="创建日期" prop="createTime">
+              <el-input
+                v-model="form.createTime"
+                style="width: 200px"
+                clearable
+                readonly
+              />
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
-          <el-col :span="8">
-            <el-form-item prop="contactEdit">
-              <el-checkbox v-model="form.contactEdit">编辑</el-checkbox>
+          <el-col :span="1.5">
+            <el-form-item label="创建人" prop="createByName">
+              <el-input
+                v-model="form.createByName"
+                style="width: 200px"
+                clearable
+                readonly
+              />
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="8">
-            <el-form-item prop="contactView">
-              <el-checkbox v-model="form.contactView">查看</el-checkbox>
+          <el-col :span="1.5">
+            <el-form-item label="部门" prop="deptName">
+              <el-input
+                v-model="form.deptName"
+                style="width: 200px"
+                clearable
+                readonly
+              />
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
-          <el-col :span="8">
-          </el-col>
-          <el-col :span="8">
-          </el-col>
         </el-row>
         </el-row>
       </el-form>
       </el-form>
       <div slot="footer">
       <div slot="footer">
@@ -306,171 +186,214 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { listAuthority, getAuthority, delAuthority, addAuthority, updateAuthority } from "@/api/business/spd/bo/authority";
+import Detail from './detail.vue'
+import { addAssess,listAssess,delAssess, } from "@/api/business/spd/fillin/dailysale_quantity_assess";
+
 export default {
 export default {
-  name: "Authority",
+  name: "dailysaleQuantityAssess",
+  components: {Detail},
   data() {
   data() {
     return {
     return {
-      // 遮罩层
-      loading: true,
-      // 选中数组
-      ids: [],
-      // 非单个禁用
-      single: true,
-      // 非多个禁用
-      multiple: true,
-      // 显示搜索条件
-      showSearch: true,
-      // 总条数
-      total: 0,
-      // 商机角色权限表格数据
-      authorityList: [],
-      // 弹出层标题
-      title: "",
+      loading: false,
       // 是否显示弹出层
       // 是否显示弹出层
       open: false,
       open: false,
-      // 查询参数
+      //新增表单
+      form: {
+        month: "",
+        customer: "",
+        customerName: "",
+      },
+      //表单校验
+      rules: {
+        month: [{ required: true, message: "月份不能为空", trigger: "blur" }],
+        customer: [
+          { required: true, message: "客户不能为空", trigger: "blur" },
+        ],
+      },
+      // 搜索框参数
       queryParams: {
       queryParams: {
+        customerName:null,
+        month:null,
+        deptName:null,
+        deptName:null,
         pageNum: 1,
         pageNum: 1,
         pageSize: 10,
         pageSize: 10,
-        post: null,
-        boNext: null,
-        boEdit: null,
-        boClose: null,
-        boWin: null,
-        boLose: null,
-        taskAdd: null,
-        taskDel: null,
-        taskEdit: null,
-        taskView: null,
-        behaviorAdd: null,
-        behaviorDel: null,
-        behaviorEdit: null,
-        behaviorView: null,
-        contactAdd: null,
-        contactDel: null,
-        contactEdit: null,
-        contactView: null
       },
       },
-      // 表单参数
-      form: {},
-      // 表单校验
-      rules: {
-      }
+      //总条数
+      total: 0,
+      //列表数据
+      tableList:[],
+      //是否打开详情页面
+      openDetail:false,
+      //编辑页面打开方式,add或edit或see
+      openMode:'',
+      //行数据
+      row:{},
     };
     };
   },
   },
   created() {
   created() {
-    this.getList();
+    this.getList(this.queryParams);
   },
   },
   methods: {
   methods: {
-    /** 查询商机角色权限列表 */
-    getList() {
-      this.loading = true;
-      listAuthority(this.queryParams).then(response => {
-        this.authorityList = response.rows;
-        console.log('this.authorityList',this.authorityList);
-        this.total = response.total;
-        this.loading = false;
-      });
+    //是否打开详情页面
+    useOpenDetail(){
+      this.openDetail = !this.openDetail;
     },
     },
-    // 取消按钮
-    cancel() {
-      this.open = false;
+    //新增
+    useAdd(){
       this.reset();
       this.reset();
+      this.form.createTime = this.getCurrentTime();
+      this.form.month = this.getCurrentMonth();
+      this.form.createByName = this.$store.state.user.nickName;
+      this.form.dept = this.$store.state.user.deptId;
+      this.form.deptName = this.$store.state.user.deptName;
+      this.open = true;
     },
     },
-    // 表单重置
-    reset() {
-      this.form = {
-        id: null,
-        post: null,
-        boNext: null,
-        boEdit: null,
-        boClose: null,
-        boWin: null,
-        boLose: null,
-        taskAdd: null,
-        taskDel: null,
-        taskEdit: null,
-        taskView: null,
-        behaviorAdd: null,
-        behaviorDel: null,
-        behaviorEdit: null,
-        behaviorView: null,
-        contactAdd: null,
-        contactDel: null,
-        contactEdit: null,
-        contactView: null
-      };
-      this.resetForm("form");
+    //编辑
+    async useEdit(row){
+      this.openMode = 'edit';
+      this.row = row;
+      this.openDetail = true;
+    },
+    //删除
+    async useDel(row){
+      this.$modal.confirm('确认删除选择数据').then(() => {
+        delAssess(row.id).then(res => {
+          if (res.code === 200) {
+            this.$modal.msgSuccess("删除成功");
+            this.getList(this.queryParams);
+          }
+        })
+      }).catch(() => {})
+    },
+    //查询列表
+    getList(params){
+      this.loading = true;
+      listAssess(params).then(res => {
+        if (res.code === 200) {
+          this.tableList = res.rows
+          this.total = res.total
+        }
+        this.loading = false;
+      })
     },
     },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
+    //双击
+    useDoubleClick(row){
+      this.openMode = 'see';
+      this.row = row;
+      this.openDetail = true;
     },
     },
-    /** 重置按钮操作 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
+    //改变一页显示条数
+    useChangePageSize(val){
+      this.queryParams.pageSize = val
+      this.getList(this.queryParams)
     },
     },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
+    //翻页
+    useCurrentChange(val){
+      this.queryParams.pageNum = val
+      this.getList(this.queryParams)
     },
     },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "添加商机角色权限";
+    //搜索
+    useSearch() {
+      console.log(this.queryParams);
+      this.getList(this.queryParams);
     },
     },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
-      const id = row.id || this.ids
-      getAuthority(id).then(response => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改商机角色权限";
-      });
+    //重置
+    useReset(){
+      this.queryParams = {
+        customerName:null,
+        month:null,
+        deptName:null,
+        deptName:null,
+        pageNum: 1,
+        pageSize: 10,
+      }
+      this.getList(this.queryParams);
     },
     },
-    /** 提交按钮 */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
+    //重置表单
+    reset(){
+      this.form = {
+        month: "",
+        customer: "",
+        customerName: "",
+      }
+    },
+    // 确认
+    async submitForm() {
+      this.$refs["form"].validate(async (valid) => {
         if (valid) {
         if (valid) {
-          if (this.form.id != null) {
-            updateAuthority(this.form).then(response => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addAuthority(this.form).then(response => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
+          this.loading = true;
+          try {
+            let res = await addAssess(this.form);
+            if (res.code === 200) {
+              this.$modal.msgSuccess("保存成功");
+              this.cancel();
+              this.getList(this.queryParams);
+            }
+          } catch (err) {
+            console.error(err);
+          } finally {
+            this.loading = false;
           }
           }
+        } else {
+          return false;
         }
         }
       });
       });
     },
     },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除商机角色权限编号为"' + ids + '"的数据项?').then(function() {
-        return delAuthority(ids);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    getCurrentTime() {
+      var date = new Date();//当前时间
+      var year = date.getFullYear() //年
+      var month = this.repair(date.getMonth() + 1);//月
+      var day = this.repair(date.getDate());//日
+      var hour = this.repair(date.getHours());//时
+      var minute = this.repair(date.getMinutes());//分
+      var second = this.repair(date.getSeconds());//秒
+      //当前时间 
+      var curTime = year + "-" + month + "-" + day
+              + " " + hour + ":" + minute + ":" + second;
+      return curTime;
     },
     },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download('material/authority/export', {
-        ...this.queryParams
-      }, `authority_${new Date().getTime()}.xlsx`)
-    }
-  }
+    repair(i){
+      if (i >= 0 && i <= 9) {
+          return "0" + i;
+      } else {
+          return i;
+      }
+    },
+     //获取当月
+    getCurrentMonth(){
+      const date = new Date()
+      let year = date.getFullYear()
+      let month = date.getMonth() + 1
+      month = month > 9 ? month : '0' + month
+      return `${year}-${month}`
+    },
+  },
 };
 };
 </script>
 </script>
+
+<style scoped lang="scss">
+.el-card {
+  width: calc(100% - 20px);
+  height: 100%;
+  margin: 10px;
+  padding: 20px;
+}
+.el-button-group + .el-button-group {
+  margin: 0 0 0 10px;
+}
+.btn_grooup {
+  margin-bottom: 10px;
+  display: flex;
+  justify-content: flex-end;
+}
+.el-pagination {
+  margin-top: 10px;
+  text-align: right;
+}
+</style>

+ 0 - 225
src/views/business/spd/fillin/dailysale_quantity_assess/addmaterial.vue

@@ -1,225 +0,0 @@
-
-<template>
-    <div>
-        <el-button type="primary" size="mini" @click="openDialog">增行</el-button>
-        <el-dialog title="物料信息查询" :visible.sync="open" :before-close="useClose">
-            <el-form size="mini" label-width="120px" >
-                <el-row :gutter="10">
-                    <el-col :span="1.5">
-                        <el-form-item label="物料编码">
-                        <el-input
-                            v-model="queryParams.code"
-                            clearable
-                            style="width: 200px"
-                        />
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="1.5">
-                        <el-form-item label="物料名称">
-                        <el-input
-                            v-model="queryParams.name"
-                            clearable
-                            style="width: 200px"
-                        />
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="1.5">
-                        <el-form-item>
-                        <el-button type="primary" icon="el-icon-search" plain @click="useSearch">搜索</el-button>
-                        <el-button icon="el-icon-refresh" plain @click="useReset">重置</el-button>
-                        </el-form-item>
-                    </el-col>
-                </el-row>
-            </el-form>
-            <el-table :data="tableData" size="mini" @row-dblclick="useDoubleClick" @selection-change="useSelectChange" v-loading="loading" height="450px">
-                <el-table-column type="selection" width="55"> </el-table-column>
-                <el-table-column show-overflow-tooltip label="编码" align="center" width="150" prop="code"/>
-                <el-table-column show-overflow-tooltip label="名称" align="center" width="200" prop="name"/>
-                <el-table-column show-overflow-tooltip label="物料分类" align="center" width="150" prop="fourClass" />
-                <el-table-column show-overflow-tooltip label="单位" align="center" width="100" prop="unitIdName"/>
-                <el-table-column show-overflow-tooltip label="规格" align="center" width="200" prop="specification" />
-            </el-table>
-            <el-pagination
-                background
-                @size-change="useChangePageSize"
-                @current-change="useCurrentChange"
-                :current-page="queryParams.pageNum"
-                :page-sizes="[10, 15, 20]"
-                :page-size="100"
-                layout="total, sizes, prev, pager, next, jumper"
-                :total=total>
-            </el-pagination>
-            <el-card>
-            <div class="btn_group">
-                <el-col :span="1.5" style="margin: 0 10px;">
-                    <el-button type="primary" size="mini" plain @click="useConfirm">确认</el-button>
-                </el-col>
-            </div>
-        </el-card>
-        </el-dialog>
-    </div>
-</template>
-
-<script>
-import materialApi from "@/api/material/basic";
-import { saveItems } from "@/api/business/spd/fillin/dailysale_quantity_assess_item";
-export default {
-  name: "dailysaleQuantityAssessDetailAddmaterial",
-  props: ["form"],
-  data() {
-    return {
-      loading: false,
-      //是否打开弹窗
-      open:false,
-      //搜索框参数
-      queryParams:{
-        code: null,
-        name: null,
-      },
-      page:{
-        pageNum:1,
-        pageSize:10,
-      },
-      //总条数
-      total: 0,
-      //列表数据
-      tableData:[],
-      //选择的数据
-      selectionData:[],
-    };
-  },
-  methods: {
-    //打开弹窗
-    openDialog(){
-      this.open = true;
-      this.getList();
-    },
-    //关闭弹窗
-    useClose(done){
-      this.selectionData = [];
-      this.queryParams = {
-          code: null,
-          name: null,
-      }
-      this.page = {
-          pageNum:1,
-          pageSize:10,
-      }
-      done();
-    },
-    //获取列表数据
-    async getList() {
-      try {
-        this.loading = true;
-        const { code, data } = await materialApi.materialList(this.queryParams, this.page);
-        if (code === 200) {
-          this.tableData = data.tableBody.rows;
-          this.total = data.tableBody.total;
-        }
-      } catch (err) {
-        // catch
-        console.error(err);
-      } finally {
-        // finally
-        this.loading = false;
-      }
-    },
-    //多选
-    useSelectChange(selection){
-        this.selectionData = selection;
-    },
-    //确认多选
-    async useConfirm(){
-      if(this.selectionData.length < 1){
-        this.$modal.msgError("未选择数据!");
-        return;
-      }
-      const arr = [];
-      for(let i in this.selectionData){
-          arr.push({
-              dailysaleQuantityAssessId:this.form.id,
-              oneClassName:this.selectionData[i].oneClass,
-              twoClassName:this.selectionData[i].twoClass,
-              material:this.selectionData[i].id,
-              materialCode:this.selectionData[i].code,
-              materialName:this.selectionData[i].name,
-              unitName:this.selectionData[i].unitIdName,
-              price:this.selectionData[i].price,
-          });
-      }
-      let res = await saveItems(arr);
-      if(res.code == '200'){
-        this.$modal.msgSuccess("添加成功");
-        this.$emit("useReset");
-        this.open = false;
-      }else{
-        this.$modal.msgError("保存失败,请联系管理员!");
-      }
-    },
-    //双击选择
-    async useDoubleClick(row){
-        const arr = [];
-        arr.push({
-            dailysaleQuantityAssessId:this.form.id,
-            oneClassName:row.oneClass,
-            twoClassName:row.twoClass,
-            material:row.id,
-            materialCode:row.code,
-            materialName:row.name,
-            unitName:row.unitIdName,
-            price:row.price,
-        });
-        let res = await saveItems(arr);
-        if(res.code == '200'){
-          this.$modal.msgSuccess("添加成功");
-          this.$emit("useReset");
-          this.open = false;
-        }else{
-          this.$modal.msgError("保存失败,请联系管理员!");
-        }
-    },
-    //搜索
-    useSearch(){
-      this.getList();
-    },
-    //重置
-    useReset(){
-      this.queryParams = {
-        code: null,
-        name: null,
-      }
-      this.page = {
-        pageNum:1,
-        pageSize:10,
-      }
-      this.getList();
-    },
-    //改变一页显示条数
-    useChangePageSize(val){
-      this.page.pageSize = val
-      this.getList()
-    },
-    //翻页
-    useCurrentChange(val){
-      this.page.pageNum = val
-      this.getList()
-    },
-  },
-  created() {},
-  mounted() {},
-  destroyed() {},
-};
-</script>
-
-<style scoped lang="scss">
-.btn_group {
-  width: 100%;
-  margin: 20px 0;
-  display: flex;
-  justify-content: right;
-}
-.el-pagination {
-  margin-top: 10px;
-  text-align: right;
-}
-</style>

+ 0 - 242
src/views/business/spd/fillin/dailysale_quantity_assess/choosematerial.vue

@@ -1,242 +0,0 @@
-
-<template>
-    <div>
-        <el-button type="primary" size="mini" @click="openDialog">筛选</el-button>
-        <el-dialog title="客户历史销售物料查询" :visible.sync="open" :before-close="useClose">
-            <el-form size="mini" label-width="120px" >
-                <el-row :gutter="10">
-                    <el-col :span="1.5">
-                        <el-form-item label="物料编码">
-                        <el-input
-                            v-model="queryParams.code"
-                            clearable
-                            style="width: 200px"
-                        />
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="1.5">
-                        <el-form-item label="物料名称">
-                        <el-input
-                            v-model="queryParams.name"
-                            clearable
-                            style="width: 200px"
-                        />
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="1.5">
-                        <el-form-item>
-                        <el-button type="primary" icon="el-icon-search" plain @click="useSearch">搜索</el-button>
-                        <el-button icon="el-icon-refresh" plain @click="useReset">重置</el-button>
-                        </el-form-item>
-                    </el-col>
-                </el-row>
-            </el-form>
-            <el-table :data="tableData" size="mini" @row-dblclick="useDoubleClick" @selection-change="useSelectChange" v-loading="loading" height="450px">
-                <el-table-column type="selection" width="55"> </el-table-column>
-                <el-table-column show-overflow-tooltip label="编码" align="center" width="150" prop="code"/>
-                <el-table-column show-overflow-tooltip label="名称" align="center" width="200" prop="name"/>
-                <el-table-column show-overflow-tooltip label="物料分类" align="center" width="150" prop="fourClass" />
-                <el-table-column show-overflow-tooltip label="单位" align="center" width="100" prop="unitIdName"/>
-                <el-table-column show-overflow-tooltip label="规格" align="center" width="200" prop="specification" />
-                <el-table-column show-overflow-tooltip label="生产厂家" align="center" width="200" prop="manufacturersMaterialName" />
-            </el-table>
-            <el-pagination
-                background
-                @size-change="useChangePageSize"
-                @current-change="useCurrentChange"
-                :current-page="queryParams.pageNum"
-                :page-sizes="[10, 15, 20]"
-                :page-size="100"
-                layout="total, sizes, prev, pager, next, jumper"
-                :total=total>
-            </el-pagination>
-            <el-card>
-              <div class="btn_group">
-                  <el-col :span="1.5" style="margin: 0 10px;">
-                      <el-button type="primary" size="mini" plain @click="selectAll">全选</el-button>
-                  </el-col>
-                  <el-col :span="1.5" style="margin: 0 10px;">
-                      <el-button type="primary" size="mini" plain @click="useConfirm">确认</el-button>
-                  </el-col>
-              </div>
-          </el-card>
-        </el-dialog>
-    </div>
-</template>
-
-<script>
-import {getSaleMaterialList} from "@/api/business/spd/fillin/dailysale_quantity_assess";
-import { saveItems,selectAllSaleMat } from "@/api/business/spd/fillin/dailysale_quantity_assess_item";
-export default {
-  name: "dailysaleQuantityAssessDetailChoosematerial",
-  props: ["form"],
-  data() {
-    return {
-      loading: false,
-      //是否打开弹窗
-      open:false,
-      //搜索框参数
-      queryParams:{
-        customer: null,
-        materialCode: null,
-        materialName: null,
-        pageNum:1,
-        pageSize:10,
-      },
-      //总条数
-      total: 0,
-      //列表数据
-      tableData:[],
-      //选择的数据
-      selectionData:[],
-    };
-  },
-  methods: {
-    //打开弹窗
-    openDialog(){
-      if(!this.form.customer){
-        this.$modal.msgError("请选择客户!");
-        return;
-      }
-      this.open = true;
-      this.getList();
-    },
-    //关闭弹窗
-    useClose(done){
-      this.selectionData = [];
-      this.queryParams = {
-        customer: null,
-        materialCode: null,
-        materialName: null,
-        pageNum:1,
-        pageSize:10,
-      }
-      done();
-    },
-    //获取列表数据
-    async getList() {
-      try {
-        this.loading = true;
-        this.queryParams.customer = this.form.customer;
-        const { code, rows, total } = await getSaleMaterialList(this.queryParams);
-        if (code === 200) {
-          this.tableData = rows;
-          this.total = total;
-        }
-      } catch (err) {
-        // catch
-        console.error(err);
-      } finally {
-        // finally
-        this.loading = false;
-      }
-    },
-    //多选
-    useSelectChange(selection){
-        this.selectionData = selection;
-    },
-    //全选
-    selectAll(){
-      this.$modal.confirm('您确定要全选销售给当前客户的所有物料吗').then(() => {
-        selectAllSaleMat(this.form.id).then(res => {
-          if(res.code == '200'){
-            this.$modal.msgSuccess("全选成功");
-            this.$emit("useReset");
-            this.open = false;
-          }else{
-            this.$modal.msgError("全选失败,请联系管理员!");
-          }
-        })
-      }).catch(() => {})
-    },
-    //确认多选
-    async useConfirm(){
-      if(this.selectionData.length < 1){
-        this.$modal.msgError("未选择数据!");
-        return;
-      }
-      const arr = [];
-      for(let i in this.selectionData){
-          arr.push({
-              dailysaleQuantityAssessId:this.form.id,
-              oneClassName:this.selectionData[i].oneClass,
-              twoClassName:this.selectionData[i].twoClass,
-              material:this.selectionData[i].id,
-              materialCode:this.selectionData[i].code,
-              materialName:this.selectionData[i].name,
-              unitName:this.selectionData[i].unitIdName,
-              price:this.selectionData[i].price,
-          });
-      }
-      let res = await saveItems(arr);
-      if(res.code == '200'){
-        this.$modal.msgSuccess("添加成功");
-        this.$emit("useReset");
-        this.open = false;
-      }else{
-        this.$modal.msgError("保存失败,请联系管理员!");
-      }
-    },
-    //双击选择
-    async useDoubleClick(row){
-        const arr = [];
-        arr.push({
-            dailysaleQuantityAssessId:this.form.id,
-            oneClassName:row.oneClass,
-            twoClassName:row.twoClass,
-            material:row.id,
-            materialCode:row.code,
-            materialName:row.name,
-            unitName:row.unitIdName,
-            price:row.price,
-        });
-        let res = await saveItems(arr);
-        if(res.code == '200'){
-          this.$modal.msgSuccess("添加成功");
-          this.$emit("useReset");
-          this.open = false;
-        }else{
-          this.$modal.msgError("保存失败,请联系管理员!");
-        }
-    },
-    //搜索
-    useSearch(){
-      this.getList();
-    },
-    //重置
-    useReset(){
-      this.queryParams = {
-        customer: null,
-        materialCode: null,
-        materialName: null,
-        pageNum:1,
-        pageSize:10,
-      }
-      this.getList();
-    },
-    //改变一页显示条数
-    useChangePageSize(val){
-      this.queryParams.pageSize = val
-      this.getList()
-    },
-    //翻页
-    useCurrentChange(val){
-      this.queryParams.pageNum = val
-      this.getList()
-    },
-  },
-};
-</script>
-
-<style scoped lang="scss">
-.btn_group {
-  width: 100%;
-  margin: 20px 0;
-  display: flex;
-  justify-content: right;
-}
-.el-pagination {
-  margin-top: 10px;
-  text-align: right;
-}
-</style>

+ 0 - 868
src/views/business/spd/fillin/dailysale_quantity_assess/detail.vue

@@ -1,868 +0,0 @@
-
-<template>
-  <div>
-    <el-card>
-      <el-button size="mini" plain @click="useBack">返回</el-button>
-      <el-divider></el-divider>
-      <el-form
-        size="mini"
-        :model="form"
-        label-width="auto"
-      >
-        <el-row :gutter="10">
-          <el-col :span="1.5">
-            <el-form-item label="编码" prop="code">
-              <el-input
-                placeholder="自动生成"
-                readonly
-                v-model="form.code"
-                style="width: 200px"
-                clearable
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="月份" prop="month">
-              <el-date-picker
-                :readonly="this.openMode == 'edit' || this.openMode == 'see'"
-                v-model="form.month"
-                value-format="yyyy-MM"
-                type="month"
-                clearable
-              >
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="客户" prop="customer">
-              <el-input
-                placeholder="自动生成"
-                readonly
-                v-model="form.customerName"
-                style="width: 200px"
-                clearable
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="创建日期" prop="createTime">
-              <el-input
-                v-model="form.createTime"
-                style="width: 200px"
-                clearable
-                readonly
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="创建人" prop="createByName">
-              <el-input
-                v-model="form.createByName"
-                style="width: 200px"
-                clearable
-                readonly
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="部门" prop="deptName">
-              <el-input
-                v-model="form.deptName"
-                style="width: 200px"
-                clearable
-                readonly
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-    </el-card>
-    <el-card style="height: 750px">
-      <div style="position: relative">
-        <el-tabs v-model="activeName" @tab-click="useSwitchTab">
-          <el-tab-pane label="明细" name="item">
-            <el-table :data="items" height="600px" size="size" v-loading="loading">
-              <el-table-column
-                label="序号"
-                type="index"
-                width="50"
-                align="center"
-                fixed
-              />
-              <el-table-column
-                show-overflow-tooltip
-                label="一级品类"
-                align="center"
-                width="150"
-                prop="oneClassName"
-              />
-              <el-table-column
-                show-overflow-tooltip
-                label="二级品类"
-                align="center"
-                width="150"
-                prop="twoClassName"
-              />
-              <el-table-column
-                show-overflow-tooltip
-                label="物料编号"
-                align="center"
-                width="150"
-                prop="materialCode"
-              />
-              <el-table-column
-                show-overflow-tooltip
-                label="物料名称"
-                align="center"
-                width="150"
-                prop="materialName"
-              />
-              <el-table-column
-                show-overflow-tooltip
-                label="单位"
-                align="center"
-                width="100"
-                prop="unitName"
-              />
-              <el-table-column
-                show-overflow-tooltip
-                label="价格(元)"
-                align="center"
-                width="100"
-                prop="price"
-              />
-              <el-table-column
-                show-overflow-tooltip
-                label="日 销 售 数 据 填 报"
-                align="center"
-              >
-                <el-table-column
-                  show-overflow-tooltip
-                  label="1"
-                  align="center"
-                  width="100"
-                  prop="first"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.first"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="2"
-                  align="center"
-                  width="100"
-                  prop="second"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.second"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="3"
-                  align="center"
-                  width="100"
-                  prop="third"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.third"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="4"
-                  align="center"
-                  width="100"
-                  prop="fourth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.fourth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="5"
-                  align="center"
-                  width="100"
-                  prop="fifth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.fifth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="6"
-                  align="center"
-                  width="100"
-                  prop="sixth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.sixth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="7"
-                  align="center"
-                  width="100"
-                  prop="seventh"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.seventh"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="8"
-                  align="center"
-                  width="100"
-                  prop="eighth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.eighth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="9"
-                  align="center"
-                  width="100"
-                  prop="ninth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.ninth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="10"
-                  align="center"
-                  width="100"
-                  prop="tenth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.tenth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="11"
-                  align="center"
-                  width="100"
-                  prop="eleventh"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.eleventh"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="12"
-                  align="center"
-                  width="100"
-                  prop="twelfth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.twelfth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="13"
-                  align="center"
-                  width="100"
-                  prop="thirteenth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.thirteenth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="14"
-                  align="center"
-                  width="100"
-                  prop="fourteenth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.fourteenth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="15"
-                  align="center"
-                  width="100"
-                  prop="fifteenth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.fifteenth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="16"
-                  align="center"
-                  width="100"
-                  prop="sixteenth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.sixteenth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="17"
-                  align="center"
-                  width="100"
-                  prop="seventeenth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.seventeenth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="18"
-                  align="center"
-                  width="100"
-                  prop="eighteenth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.eighteenth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="19"
-                  align="center"
-                  width="100"
-                  prop="nineteenth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.nineteenth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="20"
-                  align="center"
-                  width="100"
-                  prop="twentieth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.twentieth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="21"
-                  align="center"
-                  width="100"
-                  prop="twentyFirst"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.twentyFirst"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="22"
-                  align="center"
-                  width="100"
-                  prop="twentySecond"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.twentySecond"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="23"
-                  align="center"
-                  width="100"
-                  prop="twentyThird"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.twentyThird"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="24"
-                  align="center"
-                  width="100"
-                  prop="twentyFourth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.twentyFourth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="25"
-                  align="center"
-                  width="100"
-                  prop="twentyFifth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.twentyFifth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="26"
-                  align="center"
-                  width="100"
-                  prop="twentySixth"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.twentySixth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="27"
-                  align="center"
-                  width="100"
-                  prop="twentySeventh"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.twentySeventh"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="28"
-                  align="center"
-                  width="100"
-                  prop="twentyEighth"
-                  v-if="numDay > '27'"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.twentyEighth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="29"
-                  align="center"
-                  width="100"
-                  prop="twentyNinth"
-                  v-if="numDay > '28'"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.twentyNinth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="30"
-                  align="center"
-                  width="100"
-                  prop="thirtieth"
-                  v-if="numDay > '29'"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.thirtieth"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="31"
-                  align="center"
-                  width="100"
-                  prop="thirtyFirst"
-                  v-if="numDay > '30'"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      size="mini"
-                      v-model.number="scope.row.thirtyFirst"
-                      class="input-view"
-                      oninput="value=value.replace(/[^0-9]/g,'')"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  show-overflow-tooltip
-                  label="合计数量"
-                  align="center"
-                  width="100"
-                  prop="amount"
-                />
-                <el-table-column
-                  show-overflow-tooltip
-                  label="合计金额"
-                  align="center"
-                  width="100"
-                  prop="money"
-                />
-              </el-table-column>
-              <el-table-column
-                fixed="right"
-                label="操作"
-                align="center"
-                width="50"
-              >
-                <template slot-scope="scope">
-                  <el-button
-                    type="text"
-                    size="mini"
-                    @click="useRowRemove(scope.row)"
-                    >删行</el-button
-                  >
-                </template>
-              </el-table-column>
-            </el-table>
-          </el-tab-pane>
-        </el-tabs>
-        <el-pagination
-            background
-            @size-change="useChangePageSize"
-            @current-change="useCurrentChange"
-            :current-page="queryParams.pageNum"
-            :page-sizes="[10, 15, 20]"
-            :page-size="100"
-            layout="total, sizes, prev, pager, next, jumper"
-            :total=total>
-        </el-pagination>
-        <div style="position: absolute; right: 10px; top: 5px; display: flex">
-          <Choosematerial @useReset="useReset" :form="form"></Choosematerial>
-          <Addmaterial @useReset="useReset" :form="form"></Addmaterial>
-        </div>
-      </div>
-    </el-card>
-    <el-card>
-      <div class="btn_group">
-        <el-col :span="1.5">
-          <el-button size="mini" plain @click="useBack">取消</el-button>
-        </el-col>
-        <el-col :span="1.5" style="margin: 0 10px">
-          <el-button type="primary" size="mini" plain @click="useSave"
-            >保存</el-button
-          >
-        </el-col>
-      </div>
-    </el-card>
-  </div>
-</template>
-
-<script>
-import { getAssess } from "@/api/business/spd/fillin/dailysale_quantity_assess";
-import { listItem,saveItems,delItems } from "@/api/business/spd/fillin/dailysale_quantity_assess_item";
-import Addmaterial from "./addmaterial";
-import Choosematerial from "./choosematerial";
-export default {
-  name: "dailysaleQuantityAssessDetail",
-  components: { Addmaterial, Choosematerial },
-  props: ["openMode", "row"],
-  data() {
-    return {
-      loading: false,
-      //主表
-      form: {},
-      //所选月份天数
-      numDay:31,
-      //明细
-      items:[],
-      //明细查询条件
-      queryParams:{
-        dailysaleQuantityAssessId: null,
-        pageNum:1,
-        pageSize:10,
-      },
-      //总条数
-      total: 0,
-      activeName: "item",
-    };
-  },
-  async created() {
-    switch (this.openMode) {
-      case "edit":
-        await this.fetchAssess(this.row.id);
-        await this.fetchItem(this.row.id);
-        break;
-      case "see":
-        await this.fetchAssess(this.row.id);
-        await this.fetchItem(this.row.id);
-        break;
-    }
-    let arr = this.form.month.split('-');
-    this.numDay = this.getDays(arr[0],arr[1]);
-  },
-  methods: {
-    //保存
-    async useSave() {
-      this.loading = true;
-      try {
-        let res = null;
-        if (this.openMode === "edit") {
-          res = await saveItems(this.items);
-        }
-        if (res.code === 200) {
-          this.$modal.msgSuccess("保存成功");
-          this.useBack();
-        }
-      } catch (err) {
-        console.error(err);
-      } finally {
-        this.loading = false;
-      };
-    },
-    //查询详情
-    async fetchAssess(id) {
-      try {
-        // try
-        this.loading = true;
-        const { code, data } = await getAssess(id);
-        if (code === 200) {
-          this.form = data;
-          return true;
-        } else {
-          return false;
-        }
-      } catch (err) {
-        // catch
-        console.error(err);
-      } finally {
-        // finally
-        this.loading = false;
-      }
-    },
-    //查询明细
-    async fetchItem(pid){
-      this.loading = true;
-      this.queryParams.dailysaleQuantityAssessId = pid;
-      await listItem(this.queryParams).then(res => {
-        if (res.code === 200) {
-          this.items = res.rows
-          this.total = res.total
-          this.aggregate();
-        }
-        this.loading = false;
-      })
-    },
-    //删行
-    async useRowRemove(row) {
-      let arr = [row.id];
-      delItems(arr).then(res => {
-        if (res.code === 200) {
-           this.fetchItem(this.form.id);
-        }
-      })
-    },
-    //切换多页签
-    useSwitchTab() {},
-    //返回
-    useBack() {
-      this.$parent.useOpenDetail();
-      this.$parent.useSearch();
-    },
-    //获取当前月份天数
-    getDays(year, month){
-      return new Date(year, month, 0).getDate()
-    },
-    //计算合计
-    aggregate(){
-      let num = ["first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth"
-				,"twentyFirst","seventeenth","eighteenth","nineteenth","twentieth","twentyFirst","twentySecond","twentyThird","twentyFourth","twentyFifth","twentySixth","twentySeventh","twentyEighth","twentyNinth","thirtieth","thirtyFirst"];
-      for(let i in this.items){
-        let c = 0;
-        for(let j in num){
-          c = (this.items[i][num[j]] || 0) - 0 + c;
-        }
-        this.items[i].amount = c;
-        this.items[i].money = c * (this.items[i].price || 0);
-      }
-      console.log('this.items222',this.items);
-    },
-    //改变一页显示条数
-    async useChangePageSize(val){
-      this.queryParams.pageSize = val
-      await saveItems(this.items);
-      await this.fetchItem(this.form.id);
-    },
-    //翻页
-    async useCurrentChange(val){
-      this.queryParams.pageNum = val
-      await saveItems(this.items);
-      await this.fetchItem(this.form.id);
-    },
-    //重置
-    useReset(){
-      this.queryParams = {
-        pageNum: 1,
-        pageSize: 10,
-      }
-      this.fetchItem(this.form.id);
-      this.aggregate();
-    },
-  },
-};
-</script>
-
-<style scoped lang="scss">
-.btn_group {
-  width: 100%;
-  margin: 20px 0;
-  display: flex;
-  justify-content: right;
-}
-.el-pagination {
-  margin-top: 10px;
-  text-align: right;
-}
-</style>

+ 0 - 399
src/views/business/spd/fillin/dailysale_quantity_assess/index.vue

@@ -1,399 +0,0 @@
-
-<template>
-  <div>
-    <div v-if="!openDetail">
-      <el-card>
-        <el-form size="mini" class="search_area" label-width="120px">
-          <el-row :gutter="10">
-            <el-col :span="1.5">
-              <el-form-item label="客户名称">
-                <el-input
-                  v-model="queryParams.customerName"
-                  clearable
-                />
-              </el-form-item>
-            </el-col>
-            <el-col :span="1.5">
-              <el-form-item label="年度">
-                <el-date-picker
-                  v-model="queryParams.month"
-                  type="month"
-                  value-format="yyyy-MM"
-                  clearable
-                  >
-                </el-date-picker>
-              </el-form-item>
-            </el-col>
-            <el-col :span="1.5">
-              <el-form-item label="创建人">
-                <el-input
-                  v-model="queryParams.createByName"
-                  clearable
-                />
-              </el-form-item>
-            </el-col>
-            <el-col :span="1.5">
-              <el-form-item label="部门">
-                <el-input
-                  v-model="queryParams.deptName"
-                  clearable
-                />
-              </el-form-item>
-            </el-col>
-            <el-col :span="1.5">
-              <el-form-item label="" label-width="20px">
-                <el-button type="primary" size="mini" icon="el-icon-search" plain @click="useSearch">搜索</el-button>
-                <el-button size="mini" icon="el-icon-refresh" plain @click="useReset">重置</el-button>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
-        <el-divider></el-divider>
-        <div class="btn_grooup">
-          <el-button type="primary" size="mini" @click="useAdd">新增</el-button>
-        </div>
-
-        <el-table
-          :data="tableList"
-          @row-dblclick="useDoubleClick"
-          v-loading="loading"
-          height="600px"
-        >
-          <el-table-column label="序号" type="index" width="50" align="center" fixed/>
-          <el-table-column show-overflow-tooltip label="编码" align="center" width="200" prop="code"/>
-          <el-table-column show-overflow-tooltip label="客户名称" align="center" width="200" prop="customerName"/>
-          <el-table-column show-overflow-tooltip label="月度" align="center" width="200" prop="month"/>
-          <el-table-column show-overflow-tooltip label="部门" align="center" width="200" prop="deptName"/>
-          <el-table-column show-overflow-tooltip label="创建人" align="center" width="200" prop="createByName" />
-          <el-table-column show-overflow-tooltip label="创建时间" align="center" width="200" prop="createTime" />
-          <el-table-column show-overflow-tooltip label="修改人" align="center" width="200" prop="updateByName" />
-          <el-table-column show-overflow-tooltip label="修改时间" align="center" width="200" prop="updateTime" />
-          <el-table-column fixed="right" label="操作" align="center" width="150">
-            <template slot-scope="scope">
-              <el-button type="text" size="mini" @click="useEdit(scope.row)">填报</el-button>
-              <el-button type="text" size="mini" @click="useDel(scope.row)">删除</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-
-        <el-pagination
-          background
-          @size-change="useChangePageSize"
-          @current-change="useCurrentChange"
-          :current-page="queryParams.pageNum"
-          :page-sizes="[10, 15, 20]"
-          :page-size="100"
-          layout="total, sizes, prev, pager, next, jumper"
-          :total=total>
-        </el-pagination>
-      </el-card>
-    </div>
-    <Detail v-if="openDetail" :openMode="openMode" :row="row"/>
-
-    <!-- 新增填报对话框 -->
-    <el-dialog
-      title="新增"
-      :visible.sync="open"
-      width="1000px"
-      append-to-body
-    >
-      <el-form
-        size="mini"
-        :model="form"
-        :rules="rules"
-        ref="form"
-        label-width="auto"
-      >
-        <el-row :gutter="10">
-          <el-col :span="1.5">
-            <el-form-item label="编码" prop="code">
-              <el-input
-                placeholder="自动生成"
-                readonly
-                v-model="form.code"
-                style="width: 200px"
-                clearable
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="月份" prop="month">
-              <el-date-picker
-                :readonly="this.openMode == 'edit' || this.openMode == 'see'"
-                v-model="form.month"
-                value-format="yyyy-MM"
-                type="month"
-                clearable
-              >
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="客户" prop="customer">
-              <dr-popover-select
-                :readonly="this.openMode == 'edit' || this.openMode == 'see'"
-                size="mini"
-                v-model="form.customerName"
-                title="客户选择"
-                type="CUSTOMER_PARAM_ZT"
-                :dataMapping="{
-                  customer: 'id',
-                  customerName: 'name',
-                }"
-                :source.sync="form"
-              >
-              </dr-popover-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="创建日期" prop="createTime">
-              <el-input
-                v-model="form.createTime"
-                style="width: 200px"
-                clearable
-                readonly
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="创建人" prop="createByName">
-              <el-input
-                v-model="form.createByName"
-                style="width: 200px"
-                clearable
-                readonly
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="1.5">
-            <el-form-item label="部门" prop="deptName">
-              <el-input
-                v-model="form.deptName"
-                style="width: 200px"
-                clearable
-                readonly
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <div slot="footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import Detail from './detail.vue'
-import { addAssess,listAssess,delAssess, } from "@/api/business/spd/fillin/dailysale_quantity_assess";
-
-export default {
-  name: "dailysaleQuantityAssess",
-  components: {Detail},
-  data() {
-    return {
-      loading: false,
-      // 是否显示弹出层
-      open: false,
-      //新增表单
-      form: {
-        month: "",
-        customer: "",
-        customerName: "",
-      },
-      //表单校验
-      rules: {
-        month: [{ required: true, message: "月份不能为空", trigger: "blur" }],
-        customer: [
-          { required: true, message: "客户不能为空", trigger: "blur" },
-        ],
-      },
-      // 搜索框参数
-      queryParams: {
-        customerName:null,
-        month:null,
-        deptName:null,
-        deptName:null,
-        pageNum: 1,
-        pageSize: 10,
-      },
-      //总条数
-      total: 0,
-      //列表数据
-      tableList:[],
-      //是否打开详情页面
-      openDetail:false,
-      //编辑页面打开方式,add或edit或see
-      openMode:'',
-      //行数据
-      row:{},
-    };
-  },
-  created() {
-    this.getList(this.queryParams);
-  },
-  methods: {
-    //是否打开详情页面
-    useOpenDetail(){
-      this.openDetail = !this.openDetail;
-    },
-    //新增
-    useAdd(){
-      this.reset();
-      this.form.createTime = this.getCurrentTime();
-      this.form.month = this.getCurrentMonth();
-      this.form.createByName = this.$store.state.user.nickName;
-      this.form.dept = this.$store.state.user.deptId;
-      this.form.deptName = this.$store.state.user.deptName;
-      this.open = true;
-    },
-    //编辑
-    async useEdit(row){
-      this.openMode = 'edit';
-      this.row = row;
-      this.openDetail = true;
-    },
-    //删除
-    async useDel(row){
-      this.$modal.confirm('确认删除选择数据').then(() => {
-        delAssess(row.id).then(res => {
-          if (res.code === 200) {
-            this.$modal.msgSuccess("删除成功");
-            this.getList(this.queryParams);
-          }
-        })
-      }).catch(() => {})
-    },
-    //查询列表
-    getList(params){
-      this.loading = true;
-      listAssess(params).then(res => {
-        if (res.code === 200) {
-          this.tableList = res.rows
-          this.total = res.total
-        }
-        this.loading = false;
-      })
-    },
-    //双击
-    useDoubleClick(row){
-      this.openMode = 'see';
-      this.row = row;
-      this.openDetail = true;
-    },
-    //改变一页显示条数
-    useChangePageSize(val){
-      this.queryParams.pageSize = val
-      this.getList(this.queryParams)
-    },
-    //翻页
-    useCurrentChange(val){
-      this.queryParams.pageNum = val
-      this.getList(this.queryParams)
-    },
-    //搜索
-    useSearch() {
-      console.log(this.queryParams);
-      this.getList(this.queryParams);
-    },
-    //重置
-    useReset(){
-      this.queryParams = {
-        customerName:null,
-        month:null,
-        deptName:null,
-        deptName:null,
-        pageNum: 1,
-        pageSize: 10,
-      }
-      this.getList(this.queryParams);
-    },
-    //重置表单
-    reset(){
-      this.form = {
-        month: "",
-        customer: "",
-        customerName: "",
-      }
-    },
-    // 确认
-    async submitForm() {
-      this.$refs["form"].validate(async (valid) => {
-        if (valid) {
-          this.loading = true;
-          try {
-            let res = await addAssess(this.form);
-            if (res.code === 200) {
-              this.$modal.msgSuccess("保存成功");
-              this.cancel();
-              this.getList(this.queryParams);
-            }
-          } catch (err) {
-            console.error(err);
-          } finally {
-            this.loading = false;
-          }
-        } else {
-          return false;
-        }
-      });
-    },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
-    getCurrentTime() {
-      var date = new Date();//当前时间
-      var year = date.getFullYear() //年
-      var month = this.repair(date.getMonth() + 1);//月
-      var day = this.repair(date.getDate());//日
-      var hour = this.repair(date.getHours());//时
-      var minute = this.repair(date.getMinutes());//分
-      var second = this.repair(date.getSeconds());//秒
-      //当前时间 
-      var curTime = year + "-" + month + "-" + day
-              + " " + hour + ":" + minute + ":" + second;
-      return curTime;
-    },
-    repair(i){
-      if (i >= 0 && i <= 9) {
-          return "0" + i;
-      } else {
-          return i;
-      }
-    },
-     //获取当月
-    getCurrentMonth(){
-      const date = new Date()
-      let year = date.getFullYear()
-      let month = date.getMonth() + 1
-      month = month > 9 ? month : '0' + month
-      return `${year}-${month}`
-    },
-  },
-};
-</script>
-
-<style scoped lang="scss">
-.el-card {
-  width: calc(100% - 20px);
-  height: 100%;
-  margin: 10px;
-  padding: 20px;
-}
-.el-button-group + .el-button-group {
-  margin: 0 0 0 10px;
-}
-.btn_grooup {
-  margin-bottom: 10px;
-  display: flex;
-  justify-content: flex-end;
-}
-.el-pagination {
-  margin-top: 10px;
-  text-align: right;
-}
-</style>

+ 6 - 1
src/views/business/spd/target/targetTemplate/detail.vue

@@ -197,6 +197,12 @@ export default {
   data() {
   data() {
     return {
     return {
       form:{
       form:{
+        year:'',
+        name:'',
+        startTime:'',
+        deadlineTime:'',
+        cycle:'',
+        unfold:'',
         indexs:[],
         indexs:[],
         dimensionalitys:[],
         dimensionalitys:[],
         cycles:[],
         cycles:[],
@@ -254,7 +260,6 @@ export default {
   methods: {
   methods: {
     //保存
     //保存
     async useSave() {
     async useSave() {
-        console.log("form",this.form);
         this.$refs["form"].validate(async (valid) => {
         this.$refs["form"].validate(async (valid) => {
             if (valid) {
             if (valid) {
                 try {
                 try {

+ 99 - 45
src/views/purchase/transferOrder/add.vue

@@ -5,7 +5,7 @@
       <el-form :model="basicForm" :rules="basicRules" ref="basic" label-width="auto">
       <el-form :model="basicForm" :rules="basicRules" ref="basic" label-width="auto">
         <el-row :gutter="10">
         <el-row :gutter="10">
           <el-col :span="1.5">
           <el-col :span="1.5">
-            <el-form-item label="调出库存组织">
+            <el-form-item label="调出库存组织" prop="deliveryInventoryOrg">
               <el-select clearable :disabled="sonDisable" size="mini" v-model="basicForm.deliveryInventoryOrg" 
               <el-select clearable :disabled="sonDisable" size="mini" v-model="basicForm.deliveryInventoryOrg" 
                 @clear="clean('调出库存组织')"
                 @clear="clean('调出库存组织')"
                 @change="controlCk('调出库存组织')"
                 @change="controlCk('调出库存组织')"
@@ -18,7 +18,7 @@
           </el-col>
           </el-col>
 
 
           <el-col :span="1.5">
           <el-col :span="1.5">
-            <el-form-item label="调入库存组织">
+            <el-form-item label="调入库存组织" prop="storageInventoryOrg">
               <el-select clearable :disabled="sonDisable" size="mini" v-model="basicForm.storageInventoryOrg"
               <el-select clearable :disabled="sonDisable" size="mini" v-model="basicForm.storageInventoryOrg"
                 @clear="clean('调入库存组织')"
                 @clear="clean('调入库存组织')"
                 @change="controlCk('调入库存组织')"
                 @change="controlCk('调入库存组织')"
@@ -31,7 +31,7 @@
           </el-col>
           </el-col>
 
 
           <el-col :span="1.5">
           <el-col :span="1.5">
-            <el-form-item label="调出部门">
+            <el-form-item label="调出部门" prop="deliveryDept">
               <el-select clearable :disabled="sonDisable || isOrg"
               <el-select clearable :disabled="sonDisable || isOrg"
                 size="mini"
                 size="mini"
                 v-model="basicForm.deliveryDept"
                 v-model="basicForm.deliveryDept"
@@ -44,7 +44,7 @@
           </el-col>
           </el-col>
 
 
           <el-col :span="1.5">
           <el-col :span="1.5">
-            <el-form-item label="调出仓库">
+            <el-form-item label="调出仓库" prop="deliveryWarehouse">
               <el-select clearable :disabled="sonDisable || isOrg"
               <el-select clearable :disabled="sonDisable || isOrg"
                 size="mini"
                 size="mini"
                 v-model="basicForm.deliveryWarehouse"
                 v-model="basicForm.deliveryWarehouse"
@@ -73,7 +73,7 @@
           </el-col>
           </el-col>
 
 
           <el-col :span="1.5">
           <el-col :span="1.5">
-            <el-form-item label="调入仓库">
+            <el-form-item label="调入仓库" prop="storageWarehouse">
               <el-select clearable :disabled="sonDisable || isOrg"
               <el-select clearable :disabled="sonDisable || isOrg"
                 size="mini"
                 size="mini"
                 v-model="basicForm.storageWarehouse"
                 v-model="basicForm.storageWarehouse"
@@ -88,7 +88,7 @@
           </el-col>
           </el-col>
 
 
           <el-col :span="1.5">
           <el-col :span="1.5">
-            <el-form-item label="订单类型">
+            <el-form-item label="订单类型" prop="billType">
               <el-select clearable v-model="basicForm.billType" :disabled="sonDisable" size="mini" style="width: 200px">
               <el-select clearable v-model="basicForm.billType" :disabled="sonDisable" size="mini" style="width: 200px">
                 <el-option v-for="dict in dict.type.sys_allot_billtype" :key="dict.value" :label="dict.label" :value="dict.value">
                 <el-option v-for="dict in dict.type.sys_allot_billtype" :key="dict.value" :label="dict.label" :value="dict.value">
                 </el-option>
                 </el-option>
@@ -107,7 +107,7 @@
 
 
           <el-col :span="1.5">
           <el-col :span="1.5">
             <el-form-item label="单据号">
             <el-form-item label="单据号">
-              <el-input clearable :disabled="sonDisable" v-model="basicForm.code" size="mini" style="width: 200px"/>
+              <el-input clearable disabled v-model="basicForm.code" size="mini" style="width: 200px"/>
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
 
 
@@ -1512,7 +1512,44 @@ export default {
       ruHouseOptions: [],
       ruHouseOptions: [],
       chuHouseOptions: [],
       chuHouseOptions: [],
       liacenterOptions: [],
       liacenterOptions: [],
-      basicRules: {},
+      basicRules: {
+        // billType: [
+        //   { required: true, message: "订单类型不能为空", trigger: "blur" },
+        // ],
+        // deliveryWarehouse: [
+        //   { required: true, message: "调出仓库不能为空", trigger: "blur" },
+        // ],
+        // storageWarehouse:[
+        //   { required: true, message: "调入仓库不能为空", trigger: "blur" },
+        // ],
+        // deliveryInventoryOrg:[
+        //   { required: true, message: "调出库存组织不能为空", trigger: "blur" },
+        // ],
+        // storageInventoryOrg:[
+        //   { required: true, message: "调入库存组织不能为空", trigger: "blur" },
+        // ],
+        // deliveryDept:[
+        //   { required: true, message: "调出部门不能为空", trigger: "blur" },
+        // ],
+        billType: [
+          { required: true, message: "×",fieldName: "订单类型", trigger: "blur" },
+        ],
+        deliveryWarehouse: [
+          { required: true, message: "×",fieldName: "调出仓库", trigger: "blur" },
+        ],
+        storageWarehouse:[
+          { required: true, message: "×",fieldName: "调入仓库", trigger: "blur" },
+        ],
+        deliveryInventoryOrg:[
+          { required: true, message: "×",fieldName: "调出库存组织", trigger: "blur" },
+        ],
+        storageInventoryOrg:[
+          { required: true, message: "×",fieldName: "调入库存组织", trigger: "blur" },
+        ],
+        deliveryDept:[
+          { required: true, message: "×",fieldName: "调出部门", trigger: "blur" },
+        ],
+      },
       materialInfo: [],
       materialInfo: [],
       receiveInfo: [],
       receiveInfo: [],
       priceList: [],
       priceList: [],
@@ -1683,45 +1720,62 @@ export default {
         });
         });
     },
     },
     save() {
     save() {
-      if (this.materialInfo.length !== 0) {
-        if (this.sonPageStu == "add") {
-          this.basicForm.stAllotMaterialList = this.materialInfo;
-          this.basicForm.stAllotReceiveDeliverList = this.receiveInfo;
-          this.basicForm.stAllotReceiveExecuteList = this.priceList;
-          this.basicForm.stAllotReceiveExpenseList = this.resultList;
-          this.$modal.loading("保存中...");
-          addOrder(this.basicForm)
-            .then((res) => {
-              if (res.code === 200) {
-                this.$modal.notifySuccess("保存成功");
-                this.$modal.closeLoading();
-                this.back();
+      this.$refs["basic"].validate(async (valid, obj) => {
+          console.log(valid,obj);
+          if (valid) {
+              if (this.materialInfo.length !== 0) {
+                if (this.sonPageStu == "add") {
+                  this.basicForm.stAllotMaterialList = this.materialInfo;
+                  this.basicForm.stAllotReceiveDeliverList = this.receiveInfo;
+                  this.basicForm.stAllotReceiveExecuteList = this.priceList;
+                  this.basicForm.stAllotReceiveExpenseList = this.resultList;
+                  this.$modal.loading("保存中...");
+                  addOrder(this.basicForm)
+                    .then((res) => {
+                      if (res.code === 200) {
+                        this.$modal.notifySuccess("保存成功");
+                        this.$modal.closeLoading();
+                        this.back();
+                      }
+                    })
+                    .catch((err) => {
+                      this.$modal.closeLoading();
+                    });
+                } else if (this.sonPageStu == "edit") {
+                  this.basicForm.stAllotMaterialList = this.materialInfo;
+                  this.basicForm.stAllotReceiveDeliverList = this.receiveInfo;
+                  this.basicForm.stAllotReceiveExecuteList = this.priceList;
+                  this.basicForm.stAllotReceiveExpenseList = this.resultList;
+                  this.$modal.loading("保存中...");
+                  editOrder(this.basicForm)
+                    .then((res) => {
+                      if (res.code === 200) {
+                        this.$modal.notifySuccess("编辑成功");
+                        this.$modal.closeLoading();
+                        this.back();
+                      }
+                    })
+                    .catch((err) => {
+                      this.$modal.closeLoading();
+                    });
+                }
+              } else {
+                this.$modal.notifyWarning("明细行不能为空");
               }
               }
-            })
-            .catch((err) => {
-              this.$modal.closeLoading();
+          } else {
+            var a = [];
+            for (let key in obj) {
+              a.push(obj[key][0].fieldName);
+            }
+            console.log(a);
+            this.$message({
+              message: a + '不能为空!',
+              type: "warning",
             });
             });
-        } else if (this.sonPageStu == "edit") {
-          this.basicForm.stAllotMaterialList = this.materialInfo;
-          this.basicForm.stAllotReceiveDeliverList = this.receiveInfo;
-          this.basicForm.stAllotReceiveExecuteList = this.priceList;
-          this.basicForm.stAllotReceiveExpenseList = this.resultList;
-          this.$modal.loading("保存中...");
-          editOrder(this.basicForm)
-            .then((res) => {
-              if (res.code === 200) {
-                this.$modal.notifySuccess("编辑成功");
-                this.$modal.closeLoading();
-                this.back();
-              }
-            })
-            .catch((err) => {
-              this.$modal.closeLoading();
-            });
-        }
-      } else {
-        this.$modal.notifyWarning("明细行不能为空");
-      }
+            return false;
+          }
+      });
+      
     },
     },
     back() {
     back() {
       this.$emit("jugislist", true);
       this.$emit("jugislist", true);