Browse Source

修改采购模块

zhoudw 7 years ago
parent
commit
302b928fda
19 changed files with 943 additions and 4 deletions
  1. 2 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/po/BillCodeSeq.java
  2. 22 0
      applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/EmployeeDTO.java
  3. 23 0
      applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/EmployeeFormDTO.java
  4. 33 0
      applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/Employee.java
  5. 93 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/EmployeeController.java
  6. 24 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/EmployeeMapper.java
  7. 29 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/EmployeeService.java
  8. 120 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/EmployeeServiceImpl.java
  9. 204 0
      applications/document/document-server/src/main/resources/mapper/EmployeeMapper.xml
  10. 76 0
      frontend/saas-web/app/view/document/employee/BasePanel.js
  11. 10 0
      frontend/saas-web/app/view/document/employee/BasePanelController.js
  12. 4 0
      frontend/saas-web/app/view/document/employee/BasePanelModel.js
  13. 196 0
      frontend/saas-web/app/view/document/employee/FormController.js
  14. 17 0
      frontend/saas-web/app/view/document/employee/FormModel.js
  15. 73 0
      frontend/saas-web/app/view/document/employee/FormPanel.js
  16. 4 1
      frontend/saas-web/app/view/stock/make/FormPanel.js
  17. 6 1
      frontend/saas-web/app/view/stock/make/FormPanelController.js
  18. 3 0
      frontend/saas-web/app/view/stock/make/FormPanelModel.js
  19. 4 2
      frontend/saas-web/resources/json/navigation.json

+ 2 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/po/BillCodeSeq.java

@@ -6,6 +6,8 @@ package com.usoftchina.saas.commons.po;
  **/
 public enum  BillCodeSeq {
 
+    EMPLOYEE("人员资料", "Employee"),
+
     PRODUCT("物料资料", "Product"),
 
     CUSTOMER("客户资料", "Customer"),

+ 22 - 0
applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/EmployeeDTO.java

@@ -0,0 +1,22 @@
+package com.usoftchina.saas.document.dto;
+
+import com.usoftchina.saas.base.dto.CommonBaseDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * Created by zdw
+ * 2018-11-12 11:18.
+ */
+@Data
+public class EmployeeDTO extends CommonBaseDTO implements Serializable {
+
+
+
+
+
+
+
+
+}

+ 23 - 0
applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/EmployeeFormDTO.java

@@ -0,0 +1,23 @@
+package com.usoftchina.saas.document.dto;
+
+import com.usoftchina.saas.document.entities.Employee;
+
+import java.io.Serializable;
+
+/**
+ * Created by zdw
+ * 2018-11-12 15:49.
+ */
+public class EmployeeFormDTO implements Serializable {
+
+    private Employee main;
+
+    public Employee getMain() {
+        return main;
+    }
+
+    public void setMain(Employee main) {
+        this.main = main;
+    }
+
+}

+ 33 - 0
applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/Employee.java

@@ -0,0 +1,33 @@
+package com.usoftchina.saas.document.entities;
+
+import com.usoftchina.saas.base.entity.CommonBaseEntity;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class Employee extends CommonBaseEntity implements Serializable {
+
+    private String em_code;
+
+    private String em_name;
+
+    private String em_password;
+
+    private String em_class;
+
+    private String em_mobile;
+
+    private String em_email;
+
+    private String em_text1;
+
+    private String em_text2;
+
+    private String em_text3;
+
+    private String em_text4;
+
+    private String em_text5;
+
+}

+ 93 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/EmployeeController.java

@@ -0,0 +1,93 @@
+package com.usoftchina.saas.document.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
+import com.usoftchina.saas.commons.dto.DocBaseDTO;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.document.dto.CustomerFormDTO;
+import com.usoftchina.saas.document.dto.EmployeeDTO;
+import com.usoftchina.saas.document.dto.EmployeeFormDTO;
+import com.usoftchina.saas.document.service.EmployeeService;
+import com.usoftchina.saas.page.PageRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Created by zdw
+ * 2018-10-23 11:39.
+ */
+@RestController
+@RequestMapping("/employee")
+public class EmployeeController {
+
+    @Autowired
+    private EmployeeService employeeService;
+
+
+    /**
+     * 人员资料列表
+     *
+     * @param page
+     * @param req
+     * @return
+     */
+    @GetMapping("/list")
+    public Result<PageInfo<EmployeeDTO>> getListData(PageRequest page, ListReqDTO req) {
+        PageInfo<EmployeeDTO> listData = employeeService.getListData(page, req);
+        return Result.success(listData);
+    }
+
+    /**
+     * 获取人员资料表单
+     *
+     * @return
+     */
+    @GetMapping("/read/{id}")
+    public Result<CustomerFormDTO> getFormData(@PathVariable("id") Long id) {
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("main", employeeService.getFormData(id));
+        return Result.success(map);
+    }
+
+    /**
+     * 客户资料表单保存
+     *
+     * @param
+     * @return
+     */
+    @PostMapping("/save")
+    public Result<DocBaseDTO> saveFormData(@RequestBody EmployeeFormDTO data) {
+        DocBaseDTO save = employeeService.saveFormData(data.getMain());
+        return Result.success(save);
+    }
+
+    /**
+     * 人员资料删除
+     *
+     * @param id
+     * @return
+     */
+    @PostMapping("/delete/{id}")
+    public Result delete(@PathVariable("id") Long id) {
+        employeeService.delete(id);
+        return Result.success();
+    }
+
+
+    /**
+     * 人员资料批量删除
+     *
+     * @param baseDTOs
+     * @return
+     */
+    @PostMapping("/batchDelete")
+    public Result batchDelete(@RequestBody BatchDealBaseDTO baseDTOs) {
+        employeeService.batchDelete(baseDTOs);
+        return Result.success();
+    }
+
+}

+ 24 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/EmployeeMapper.java

@@ -0,0 +1,24 @@
+package com.usoftchina.saas.document.mapper;
+
+import com.usoftchina.saas.base.mapper.CommonBaseMapper;
+import com.usoftchina.saas.document.dto.EmployeeDTO;
+import com.usoftchina.saas.document.entities.Employee;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface EmployeeMapper extends CommonBaseMapper<Employee> {
+    int deleteByPrimaryKey(Long em_id);
+
+    int insertSelective(Employee record);
+
+    Employee selectByPrimaryKey(Long em_id);
+
+    int updateByPrimaryKeySelective(Employee record);
+
+    List<EmployeeDTO> selectEmployeeListByCondition(@Param("con") String con,@Param("companyId") Long companyId);
+
+    Integer validateCodeWhenInsert(@Param("code") String code, @Param("companyId") Long companyId);
+
+    Integer validateCodeWhenUpdate(@Param("code") String code, @Param("id") Long id, @Param("companyId") Long company);
+}

+ 29 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/EmployeeService.java

@@ -0,0 +1,29 @@
+package com.usoftchina.saas.document.service;
+
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.base.service.CommonBaseService;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
+import com.usoftchina.saas.commons.dto.DocBaseDTO;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.document.dto.EmployeeDTO;
+import com.usoftchina.saas.document.entities.Employee;
+import com.usoftchina.saas.document.mapper.EmployeeMapper;
+import com.usoftchina.saas.page.PageRequest;
+
+/**
+ * Created by zdw
+ * 2018-10-23 15:26.
+ */
+public interface EmployeeService extends CommonBaseService<EmployeeMapper, Employee> {
+
+    PageInfo<EmployeeDTO> getListData(PageRequest page, ListReqDTO req);
+
+    Employee getFormData(Long id);
+
+    DocBaseDTO saveFormData(Employee employee);
+
+    void delete(Long id);
+
+    void batchDelete(BatchDealBaseDTO baseDTOs);
+
+}

+ 120 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/EmployeeServiceImpl.java

@@ -0,0 +1,120 @@
+package com.usoftchina.saas.document.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.base.service.CommonBaseServiceImpl;
+import com.usoftchina.saas.commons.api.MaxnumberService;
+import com.usoftchina.saas.commons.api.MessageLogService;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
+import com.usoftchina.saas.commons.dto.DocBaseDTO;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.commons.exception.BizExceptionCode;
+import com.usoftchina.saas.commons.po.BillCodeSeq;
+import com.usoftchina.saas.context.BaseContextHolder;
+import com.usoftchina.saas.document.dto.EmployeeDTO;
+import com.usoftchina.saas.document.entities.Employee;
+import com.usoftchina.saas.document.mapper.EmployeeMapper;
+import com.usoftchina.saas.document.service.EmployeeService;
+import com.usoftchina.saas.exception.BizException;
+import com.usoftchina.saas.page.PageRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by zdw
+ * 2018-11-12 11:13.
+ */
+@Service
+public class EmployeeServiceImpl extends CommonBaseServiceImpl<EmployeeMapper, Employee> implements EmployeeService {
+
+    @Autowired
+    private MessageLogService messageLogService;
+    @Autowired
+    private MaxnumberService maxnumberService;
+
+
+    @Override
+    public PageInfo<EmployeeDTO> getListData(PageRequest page, ListReqDTO req) {
+        //设置分页
+        if (null == page || page.getSize() == 0 || page.getNumber() == 0) {
+            page = new PageRequest();
+            page.setNumber(1);
+            page.setSize(10);
+        }
+        PageHelper.startPage(page.getNumber(), page.getSize());
+        List<EmployeeDTO> employeeList = getList(req);
+        //取分页信息
+        PageInfo<EmployeeDTO> pageInfo = new PageInfo<EmployeeDTO>(employeeList);
+        return pageInfo;
+    }
+
+    @Override
+    public Employee getFormData(Long id) {
+        return getMapper().selectByPrimaryKey(id);
+    }
+
+    @Override
+    public DocBaseDTO saveFormData(Employee employee) {
+        DocBaseDTO docBaseDTO = null;
+        if(employee.getId() == 0){
+            String code = pushMaxnubmer(employee.getEm_code(), employee.getId());
+            employee.setCompanyId(BaseContextHolder.getCompanyId());
+            employee.setCreatorId(BaseContextHolder.getUserId());
+            employee.setCreateTime(new Date());
+            getMapper().insertSelective(employee);
+            docBaseDTO = generateMsgObj(employee.getId(), code);
+            //记录LOG
+            messageLogService.save(docBaseDTO);
+        }else{
+            employee.setUpdaterId(BaseContextHolder.getUserId());
+            employee.setUpdateTime(new Date());
+            getMapper().updateByPrimaryKeySelective(employee);
+            docBaseDTO = generateMsgObj(employee.getId(), employee.getEm_code());
+            //记录LOG
+            messageLogService.update(docBaseDTO);
+        }
+        return docBaseDTO;
+    }
+
+    @Override
+    public void delete(Long id) {
+        getMapper().deleteByPrimaryKey(id);
+    }
+
+    @Override
+    public void batchDelete(BatchDealBaseDTO baseDTOs) {
+        for(DocBaseDTO docBaseDTO : baseDTOs.getBaseDTOs()){
+            getMapper().deleteByPrimaryKey(docBaseDTO.getId());
+        }
+    }
+
+    private List<EmployeeDTO> getList(ListReqDTO listReqDTO){
+        Long companyId = BaseContextHolder.getCompanyId();
+        String condition = listReqDTO.getFinalCondition();
+        if(condition == null){
+            condition = "1=1";
+        }
+        List<EmployeeDTO> employeeDTOList = getMapper().selectEmployeeListByCondition(condition, companyId);
+        return employeeDTOList;
+    }
+
+    private DocBaseDTO generateMsgObj(Long id, String code){
+        return new DocBaseDTO(id, code, "Employee");
+    }
+
+    private String pushMaxnubmer(String code, Long id) {
+        if (null == code) {
+            throw new BizException(BizExceptionCode.NULL_CODE);
+        }
+        Long companyId = BaseContextHolder.getCompanyId();
+        Integer count = "0".equals(String.valueOf(id)) ? getMapper().validateCodeWhenInsert(code, companyId) :
+                getMapper().validateCodeWhenUpdate(code, id, companyId);
+        return maxnumberService.pushMaxnubmer(count, code, BillCodeSeq.EMPLOYEE.getCaller()).getData();
+    }
+
+}
+
+

+ 204 - 0
applications/document/document-server/src/main/resources/mapper/EmployeeMapper.xml

@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usoftchina.saas.document.mapper.EmployeeMapper">
+  <resultMap id="BaseResultMap" type="com.usoftchina.saas.document.entities.Employee">
+    <id column="em_id" jdbcType="INTEGER" property="id" />
+    <result column="em_code" jdbcType="VARCHAR" property="em_code" />
+    <result column="em_name" jdbcType="VARCHAR" property="em_name" />
+    <result column="em_password" jdbcType="VARCHAR" property="em_password" />
+    <result column="em_class" jdbcType="VARCHAR" property="em_class" />
+    <result column="em_mobile" jdbcType="VARCHAR" property="em_mobile" />
+    <result column="em_email" jdbcType="VARCHAR" property="em_email" />
+    <result column="companyId" jdbcType="INTEGER" property="companyId" />
+    <result column="updaterId" jdbcType="INTEGER" property="updaterId" />
+    <result column="updateTime" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="em_text1" jdbcType="VARCHAR" property="em_text1" />
+    <result column="em_text2" jdbcType="VARCHAR" property="em_text2" />
+    <result column="em_text3" jdbcType="VARCHAR" property="em_text3" />
+    <result column="em_text4" jdbcType="VARCHAR" property="em_text4" />
+    <result column="em_text5" jdbcType="VARCHAR" property="em_text5" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    em_id, em_code, em_name, em_password, em_class, em_mobile, em_email, companyId, updaterId, 
+    updateTime, em_text1, em_text2, em_text3, em_text4, em_text5
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="long" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from employee
+    where em_id = #{em_id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="long">
+    delete from employee
+    where em_id = #{em_id,jdbcType=INTEGER}
+  </delete>
+
+  <insert id="insertSelective" parameterType="com.usoftchina.saas.document.entities.Employee">
+    <selectKey resultType="java.lang.Long" keyProperty="id">
+      SELECT LAST_INSERT_ID() AS ID
+    </selectKey>
+    insert into employee
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+
+      <if test="em_code != null">
+        em_code,
+      </if>
+      <if test="em_name != null">
+        em_name,
+      </if>
+      <if test="em_password != null">
+        em_password,
+      </if>
+      <if test="em_class != null">
+        em_class,
+      </if>
+      <if test="em_mobile != null">
+        em_mobile,
+      </if>
+      <if test="em_email != null">
+        em_email,
+      </if>
+      <if test="companyId != null">
+        companyId,
+      </if>
+      <if test="updaterId != null">
+        updaterId,
+      </if>
+      <if test="updateTime != null">
+        updateTime,
+      </if>
+      <if test="em_text1 != null">
+        em_text1,
+      </if>
+      <if test="em_text2 != null">
+        em_text2,
+      </if>
+      <if test="em_text3 != null">
+        em_text3,
+      </if>
+      <if test="em_text4 != null">
+        em_text4,
+      </if>
+      <if test="em_text5 != null">
+        em_text5,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+
+      <if test="em_code != null">
+        #{em_code,jdbcType=VARCHAR},
+      </if>
+      <if test="em_name != null">
+        #{em_name,jdbcType=VARCHAR},
+      </if>
+      <if test="em_password != null">
+        #{em_password,jdbcType=VARCHAR},
+      </if>
+      <if test="em_class != null">
+        #{em_class,jdbcType=VARCHAR},
+      </if>
+      <if test="em_mobile != null">
+        #{em_mobile,jdbcType=VARCHAR},
+      </if>
+      <if test="em_email != null">
+        #{em_email,jdbcType=VARCHAR},
+      </if>
+      <if test="companyId != null">
+        #{companyId,jdbcType=INTEGER},
+      </if>
+      <if test="updaterId != null">
+        #{updaterId,jdbcType=INTEGER},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="em_text1 != null">
+        #{em_text1,jdbcType=VARCHAR},
+      </if>
+      <if test="em_text2 != null">
+        #{em_text2,jdbcType=VARCHAR},
+      </if>
+      <if test="em_text3 != null">
+        #{em_text3,jdbcType=VARCHAR},
+      </if>
+      <if test="em_text4 != null">
+        #{em_text4,jdbcType=VARCHAR},
+      </if>
+      <if test="em_text5 != null">
+        #{em_text5,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.usoftchina.saas.document.entities.Employee">
+    update employee
+    <set>
+      <if test="em_code != null">
+        em_code = #{em_code,jdbcType=VARCHAR},
+      </if>
+      <if test="em_name != null">
+        em_name = #{em_name,jdbcType=VARCHAR},
+      </if>
+      <if test="em_password != null">
+        em_password = #{em_password,jdbcType=VARCHAR},
+      </if>
+      <if test="em_class != null">
+        em_class = #{em_class,jdbcType=VARCHAR},
+      </if>
+      <if test="em_mobile != null">
+        em_mobile = #{em_mobile,jdbcType=VARCHAR},
+      </if>
+      <if test="em_email != null">
+        em_email = #{em_email,jdbcType=VARCHAR},
+      </if>
+      <if test="companyId != null">
+        companyId = #{companyId,jdbcType=INTEGER},
+      </if>
+      <if test="updaterId != null">
+        updaterId = #{updaterId,jdbcType=INTEGER},
+      </if>
+      <if test="updateTime != null">
+        updateTime = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="em_text1 != null">
+        em_text1 = #{em_text1,jdbcType=VARCHAR},
+      </if>
+      <if test="em_text2 != null">
+        em_text2 = #{em_text2,jdbcType=VARCHAR},
+      </if>
+      <if test="em_text3 != null">
+        em_text3 = #{em_text3,jdbcType=VARCHAR},
+      </if>
+      <if test="em_text4 != null">
+        em_text4 = #{em_text4,jdbcType=VARCHAR},
+      </if>
+      <if test="em_text5 != null">
+        em_text5 = #{em_text5,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where em_id = #{id,jdbcType=INTEGER}
+  </update>
+
+  <!--查询所有物料信息-->
+  <select id="selectEmployeeListByCondition" resultMap="BaseResultMap" parameterType="com.usoftchina.saas.commons.dto.DocReqDTO">
+    SELECT * FROM Employee
+    <where>
+      <if test="con != null">
+        ${con}
+      </if>
+      <if test="companyId != null">
+        and  companyid = #{companyId}
+      </if>
+    </where>
+    ORDER BY em_ID DESC
+  </select>
+
+
+  <select id="validateCodeWhenInsert" resultType="int">
+    select count(*) from Employee where em_code = #{code} and companyId =#{companyId}
+  </select>
+  <select id="validateCodeWhenUpdate" resultType="int" >
+    select count(*) from Employee where em_code = #{code} and em_id != #{id} and companyId =#{companyId}
+  </select>
+
+
+</mapper>

+ 76 - 0
frontend/saas-web/app/view/document/employee/BasePanel.js

@@ -0,0 +1,76 @@
+Ext.define('saas.view.document.employee.BasePanel', {
+    extend: 'saas.view.core.base.BasePanel',
+    xtype: 'document-employee-basepanel',
+
+    controller: 'document-employee-basepanel',
+    viewModel: 'document-employee-basepanel',
+
+    searchField:[{ 
+        xtype : "textfield", 
+        name : "em_code", 
+        emptyText : "账号", 
+        width:120
+    },{
+        xtype : "textfield", 
+        name : "em_name", 
+        emptyText : "姓名", 
+        width:120
+    },{
+        xtype : "textfield", 
+        name : "em_class", 
+        emptyText : "类型",    
+        width:100
+    }],
+
+    //字段属性
+    _formXtype:'document-employee-formpanel',
+    _title:'人员资料',
+    _deleteUrl:'/api/document/employee/delete/',
+
+    gridConfig: {
+        idField: 'id',
+        codeField: 'pr_code',
+        statusCodeField:'pr_statuscode',
+        dataUrl: '/api/document/employee/list',
+        columns : [{
+            text : "id", 
+            width : 0, 
+            dataIndex : "id", 
+            xtype : "numbercolumn", 
+        },{
+            text : "账号", 
+            width : 200.0, 
+            dataIndex : "em_code", 
+            xtype : "", 
+        }, 
+        {
+            text : "姓名", 
+            dataIndex : "em_name", 
+            width : 120.0, 
+            xtype : "", 
+        },
+        {
+            text : "密码", 
+            dataIndex : "em_password", 
+            width : 120.0, 
+            xtype : ""
+        }, 
+        {
+            text : "类型", 
+            dataIndex : "em_class", 
+            width : 0, 
+            xtype : ""
+        }, 
+        {
+            text : "电话", 
+            dataIndex : "em_mobile", 
+            width : 120.0, 
+            xtype : "",
+        }]
+    },
+
+    refresh:function(){
+        this.items.items[0].store.load()
+    }
+
+});

+ 10 - 0
frontend/saas-web/app/view/document/employee/BasePanelController.js

@@ -0,0 +1,10 @@
+Ext.define('saas.view.document.employee.BasePanelController', {
+    extend: 'saas.view.core.base.BasePanelController',
+    alias: 'controller.document-employee-basepanel',
+
+    init: function (form) {
+        var me = this;
+        this.control({
+        });
+    }
+});

+ 4 - 0
frontend/saas-web/app/view/document/employee/BasePanelModel.js

@@ -0,0 +1,4 @@
+Ext.define('saas.view.document.employee.BasePanelModel', {
+    extend: 'saas.view.core.base.BasePanelModel',
+    alias: 'viewmodel.document-employee-basepanel'
+});

+ 196 - 0
frontend/saas-web/app/view/document/employee/FormController.js

@@ -0,0 +1,196 @@
+Ext.define('saas.view.document.employee.FormController', {
+    extend: 'saas.view.core.form.FormPanelController',
+    alias: 'controller.document-employee-formpanel',
+    init: function (form) {
+        var me = this;
+        this.control({
+            //主表单选放大镜模板
+            'dbfindtrigger[name=pr_vendcode]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        //数据接口
+                        dataUrl:'/api/document/vendor/getVendorsByCondition',
+                        //赋值 
+                        dbfinds:[{
+                            from:'id',to:'pr_vendid',ignore:true
+                        },{
+                            from:'ve_code',to:'pr_vendcode'
+                        },{
+                            from:'ve_name',to:'pr_vendname'
+                        }],
+                        //新增地址
+                        addXtype:'document-vendor-formpanel',
+                        //新增标题
+                        addTitle:'供应商资料', 
+                        //联想设置
+                        dbtpls:[{
+                            field:'ve_code',width:100
+                        },{
+                            field:'ve_name',width:100
+                        }],
+                        defaultCondition: 've_statuscode="OPEN"',
+                        //放大镜窗口字段
+                        dbSearchFields:[{
+                            xtype : "textfield",
+                            name: 'name',
+                            getCondition: function(v) {
+                                return "((ve_code) like '%"+v.toUpperCase()+"%' or (ve_name) like '%"+v.toUpperCase()+"%')";
+                            },
+                            emptyText : "请输入供应商编号或名称", 
+                            columnWidth : 0.25
+                        }],
+                        //放大镜窗口列表
+                        dbColumns:[{
+                            "text": "供应商ID",
+                            "flex": 0,
+                            "dataIndex": "id",
+                            "width": 0,
+                            "xtype": "",
+                        },{
+                            "text": "供应商编号",
+                            "flex": 1,
+                            "dataIndex": "ve_code",
+                            "width": 100,
+                            "xtype": "",
+                        }, {
+                            "text": "供应商名称",
+                            "flex": 1,
+                            "dataIndex": "ve_name",
+                            "xtype": "",
+                        }, {
+                            "text": "供应商类型",
+                            "flex": 0,
+                            "dataIndex": "ve_type",
+                            "width": 200,
+                            "xtype": "",
+                        }]
+                    }) ;   
+
+                }
+            },
+            // 仓库编号
+            'dbfindtrigger[name=pr_whcode]':{
+                beforerender:function(f){
+                    Ext.apply(f,{
+                        //数据接口
+                        dataUrl:'/api/document/warehouse/list',
+                        //放大镜赋值设置
+                        dbfinds:[{
+                            from:'id',to:'pr_whid',ignore:true
+                        },{
+                            from:'wh_code',to:'pr_whcode'
+                        },{
+                            from:'wh_description',to:'pr_whname'
+                        }],
+                        //新增地址
+                        addXtype:'other-warehouse',
+                        //新增标题
+                        addTitle:'仓库资料', 
+                        //联想查询条件
+                        defaultCondition:"wh_statuscode='OPEN'",
+                        //联想设置
+                        dbtpls:[{
+                            field:'wh_code',width:180
+                        },{
+                            field:'wh_description',width:100
+                        }],
+                        //窗口字段设置
+                        dbSearchFields:[{
+                            emptyText:'输入仓库编号或仓库名称或仓库类型',
+                            xtype : "textfield", 
+                            name : "name", 
+                            allowBlank : true, 
+                            width:260,
+                            getCondition:function(v){
+                                return "((wh_code) like '%"+v.toUpperCase()+"%' or (wh_description) like '%"+v.toUpperCase()+"%'"+
+                                " or (wh_type) like '%"+v.toUpperCase()+"%')";
+                            }
+                        }],
+                        //窗口列设置
+                        dbColumns:[{
+                            "text": "ID",
+                            "flex": 0,
+                            "dataIndex": "id",
+                            "width": 0,
+                            "xtype": "",
+                        },{
+                            "text": "仓库编号",
+                            "flex": 1,
+                            "dataIndex": "wh_code",
+                            "width": 100,
+                            "xtype": "",
+                        },{
+                            "text": "仓库名称",
+                            "flex": 1,
+                            "dataIndex": "wh_description",
+                            "xtype": "",
+                        },{
+                            "text": "仓库类型",
+                            "flex": 1,
+                            "dataIndex": "wh_type",
+                            "xtype": "",
+                        }]
+                    }) ;   
+
+                }
+            }
+        });
+
+    },
+
+    auditBtnClick: function() {
+        var me = this,
+        form = me.getView(),
+        statusCodeField = form._statusCodeField,
+        viewModel = me.getViewModel(),
+        status = viewModel.data[statusCodeField];
+        status == 'OPEN' ? me.unAudit() : me.audit();
+    },
+
+    audit: function(){
+        var me = this,
+        form = this.getView(),
+        viewModel = me.getViewModel();
+        
+        me.BaseUtil.request({
+            url: form._openUrl+'/'+viewModel.data.id,
+            params: '',
+            method: 'POST',
+        })
+        .then(function(localJson) {
+            if(localJson.success){
+                form.initId = localJson.data.id;
+                form.FormUtil.loadData(form);
+                viewModel.set('base.editable', false);
+                showToast('启用成功');
+            }
+        })
+        .catch(function(res) {
+            console.error(res);
+            showToast('启用失败: ' + res.message);
+        });
+    },
+    unAudit: function() {
+        var me = this,
+        form = this.getView(),
+        viewModel = me.getViewModel();
+        
+        me.BaseUtil.request({
+            url: form._closeUrl+'/'+viewModel.data.id,
+            params: '',
+            method: 'POST',
+        })
+        .then(function(localJson) {
+            if(localJson.success){
+                form.initId = localJson.data.id;
+                form.FormUtil.loadData(form);
+                viewModel.set('base.editable', false);
+                showToast('禁用成功');
+            }
+        })
+        .catch(function(res) {
+            console.error(res);
+            showToast('禁用失败: ' + res.message);
+        });
+    }
+});

+ 17 - 0
frontend/saas-web/app/view/document/employee/FormModel.js

@@ -0,0 +1,17 @@
+Ext.define('saas.view.document.employee.FormModel', {
+    extend: 'saas.view.core.form.FormPanelModel',
+    alias: 'viewmodel.document-employee-formpanel',
+
+    data: {
+        id: 0
+    },
+
+    formulas:{
+        showAuditBtn:{
+            bind:'{id}',
+            get:function(value){
+                return value;
+            }
+        }
+    }
+});

+ 73 - 0
frontend/saas-web/app/view/document/employee/FormPanel.js

@@ -0,0 +1,73 @@
+Ext.define('saas.view.document.employee.FormPanel', {
+    extend: 'saas.view.core.form.FormPanel',
+    xtype: 'document-employee-formpanel',
+    controller: 'document-employee-formpanel',
+    viewModel: 'document-employee-formpanel',
+    caller:'Employee',
+    //字段属性
+    _title:'物料资料',
+    _idField: 'id',
+    _codeField: 'em_code',
+    _readUrl:'/api/document/employee/read/',
+    _saveUrl:'/api/document/employee/save',
+    _deleteUrl:'/api/document/employee/delete/',
+    _deleteMsg:'删除的人员资料将不能恢复,请确认是否删除?',
+    initId:0,
+    codeInHeader: false,
+    defaultItems: [{
+        xtype: 'hidden',
+        name: 'id',
+        fieldLabel: 'id',
+        allowBlank: true,
+        columnWidth: 0.25
+    },{
+        xtype: 'textfield',
+        name: 'em_code',
+        fieldLabel: '账号',
+        allowBlank: false,
+        columnWidth: 0.25
+    },{
+        xtype: 'textfield',
+        name: 'em_name',
+        fieldLabel: '姓名',
+        allowBlank: false,
+        columnWidth: 0.25
+    },{
+        xtype: 'textfield',
+        name: 'em_password',
+        fieldLabel: '密码',
+        allowBlank: false,
+        columnWidth: 0.25
+    },{
+        xtype: 'combobox',
+        name: 'em_class',
+        columnWidth: 0.25,
+        fieldLabel: '类型',
+        queryMode: 'local',
+        displayField: 'name',
+        valueField: 'value',
+        editable:false,
+        store: Ext.create('Ext.data.ArrayStore', {
+            fields: ['name', 'value'],
+            data: [
+                ["正式", "正式"],
+                ["离职", "离职"],
+            ]
+        })
+    },{
+        xtype: 'textfield',
+        name: 'em_mobile',
+        fieldLabel: '电话',
+        allowBlank: false,
+        columnWidth: 0.25
+    },{
+        xtype: 'textfield',
+        name: 'em_email',
+        fieldLabel: '邮箱',
+        // allowBlank: false,
+        columnWidth: 0.25
+    }],
+    auditTexts: {
+
+    }
+});

+ 4 - 1
frontend/saas-web/app/view/stock/make/FormPanel.js

@@ -104,11 +104,13 @@ Ext.define('saas.view.stock.make.FormPanel', {
         xtype : "numberfield", 
         name : "ma_price", 
         fieldLabel : "单位成本",
+        readOnly:true,
         decimals:8,
         columnWidth: 0.25
     },{
         xtype : "numberfield", 
-        name : "ma_total", 
+        name : "ma_total",
+        readOnly:true, 
         fieldLabel : "总成本",
         decimals:2,
         columnWidth: 0.25
@@ -217,6 +219,7 @@ Ext.define('saas.view.stock.make.FormPanel', {
                 text : "单位用量", 
                 dataIndex : "mm_oneuseqty", 
                 width : 120.0,
+                // hidden:true,
                 editor : {
                     xtype : "numberfield",
                     decimalPrecision: 8,

+ 6 - 1
frontend/saas-web/app/view/stock/make/FormPanelController.js

@@ -501,7 +501,12 @@ Ext.define('saas.view.stock.make.FormPanelController', {
                         mm_oneuseqty:item.bd_baseqty,
                         pr_detail:item.productDTO.pr_detail,
                         pr_spec:item.productDTO.pr_spec,
-                        pr_unit:item.productDTO.pr_unit
+                        pr_unit:item.productDTO.pr_unit,
+                        mm_repprodcode:item.bd_replace,
+                        mm_remark:item.bd_remark,                        
+                        mm_whid:item.productDTO.pr_whid,                        
+                        mm_whcode:item.productDTO.pr_whcode,
+                        mm_whname:item.productDTO.pr_whname
                     })                
                 });
                 store.loadData(loadData);

+ 3 - 0
frontend/saas-web/app/view/stock/make/FormPanelModel.js

@@ -14,6 +14,9 @@ Ext.define('saas.view.stock.make.FormPanelModel', {
                     oneuseqty = item.get('mm_oneuseqty');
                     item.set('mm_qty', oneuseqty*v);               
                 });
+
+                debugger;
+
                 return v;
             }
         }

+ 4 - 2
frontend/saas-web/resources/json/navigation.json

@@ -224,9 +224,11 @@
             "text": "资金账户",
             "viewType": "other-bankinformation",
             "leaf": true
-        }, {
+        },{
+            "id":"employee-list-formpanel",
             "text": "人员资料",
-            "viewType": "mainlist",
+            "viewType": "document-employee-basepanel",
+            "addType":"document-employee-formpanel",
             "leaf": true
         }]
     }, {